mbox series

[v6,00/22] Mediatek MT8192 clock support

Message ID 1608642587-15634-1-git-send-email-weiyi.lu@mediatek.com (mailing list archive)
Headers show
Series Mediatek MT8192 clock support | expand

Message

Weiyi Lu Dec. 22, 2020, 1:09 p.m. UTC
This series is based on v5.10-rc1.

change since v5:
- remove unused clocks by rolling Tinghan's patches[1][2] into series
[1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=398781
[2] https://patchwork.kernel.org/project/linux-mediatek/list/?series=405143
- remove dts related patches from series

change since v4:
- merge some subsystem into same driver
- add a generic probe function to reduce duplicated code

changes since v3:
- add critical clocks
- split large patches into small ones

changes since v2:
- update and split dt-binding documents by functionalities
- add error checking in probe() function
- fix incorrect clock relation and add critical clocks
- update license identifier and minor fix of coding style

changes since v1:
- fix asymmetrical control of PLL
- have en_mask used as divider enable mask on all MediaTek SoC

Weiyi Lu (22):
  dt-bindings: ARM: Mediatek: Add new document bindings of imp i2c
    wrapper controller
  dt-bindings: ARM: Mediatek: Add new document bindings of mdpsys
    controller
  dt-bindings: ARM: Mediatek: Add new document bindings of msdc
    controller
  dt-bindings: ARM: Mediatek: Add new document bindings of scp adsp
    controller
  dt-bindings: ARM: Mediatek: Document bindings of MT8192 clock
    controllers
  clk: mediatek: Add dt-bindings of MT8192 clocks
  clk: mediatek: Fix asymmetrical PLL enable and disable control
  clk: mediatek: Add configurable enable control to mtk_pll_data
  clk: mediatek: Add mtk_clk_simple_probe() to simplify clock providers
  clk: mediatek: Add MT8192 basic clocks support
  clk: mediatek: Add MT8192 audio clock support
  clk: mediatek: Add MT8192 camsys clock support
  clk: mediatek: Add MT8192 imgsys clock support
  clk: mediatek: Add MT8192 imp i2c wrapper clock support
  clk: mediatek: Add MT8192 ipesys clock support
  clk: mediatek: Add MT8192 mdpsys clock support
  clk: mediatek: Add MT8192 mfgcfg clock support
  clk: mediatek: Add MT8192 mmsys clock support
  clk: mediatek: Add MT8192 msdc clock support
  clk: mediatek: Add MT8192 scp adsp clock support
  clk: mediatek: Add MT8192 vdecsys clock support
  clk: mediatek: Add MT8192 vencsys clock support

 .../arm/mediatek/mediatek,apmixedsys.txt      |    1 +
 .../bindings/arm/mediatek/mediatek,audsys.txt |    1 +
 .../bindings/arm/mediatek/mediatek,camsys.txt |   22 +
 .../bindings/arm/mediatek/mediatek,imgsys.txt |    2 +
 .../arm/mediatek/mediatek,imp_iic_wrap.yaml   |   78 +
 .../arm/mediatek/mediatek,infracfg.txt        |    1 +
 .../bindings/arm/mediatek/mediatek,ipesys.txt |    1 +
 .../arm/mediatek/mediatek,mdpsys.yaml         |   38 +
 .../bindings/arm/mediatek/mediatek,mfgcfg.txt |    1 +
 .../bindings/arm/mediatek/mediatek,mmsys.txt  |    1 +
 .../bindings/arm/mediatek/mediatek,msdc.yaml  |   46 +
 .../arm/mediatek/mediatek,pericfg.yaml        |    1 +
 .../arm/mediatek/mediatek,scp-adsp.yaml       |   38 +
 .../arm/mediatek/mediatek,topckgen.txt        |    1 +
 .../arm/mediatek/mediatek,vdecsys.txt         |    8 +
 .../arm/mediatek/mediatek,vencsys.txt         |    1 +
 drivers/clk/mediatek/Kconfig                  |   80 +
 drivers/clk/mediatek/Makefile                 |   13 +
 drivers/clk/mediatek/clk-mt8192-aud.c         |  118 ++
 drivers/clk/mediatek/clk-mt8192-cam.c         |  107 ++
 drivers/clk/mediatek/clk-mt8192-img.c         |   70 +
 .../clk/mediatek/clk-mt8192-imp_iic_wrap.c    |  119 ++
 drivers/clk/mediatek/clk-mt8192-ipe.c         |   57 +
 drivers/clk/mediatek/clk-mt8192-mdp.c         |   82 +
 drivers/clk/mediatek/clk-mt8192-mfg.c         |   50 +
 drivers/clk/mediatek/clk-mt8192-mm.c          |  108 ++
 drivers/clk/mediatek/clk-mt8192-msdc.c        |   85 ++
 drivers/clk/mediatek/clk-mt8192-scp_adsp.c    |   50 +
 drivers/clk/mediatek/clk-mt8192-vdec.c        |   94 ++
 drivers/clk/mediatek/clk-mt8192-venc.c        |   53 +
 drivers/clk/mediatek/clk-mt8192.c             | 1326 +++++++++++++++++
 drivers/clk/mediatek/clk-mtk.c                |   23 +
 drivers/clk/mediatek/clk-mtk.h                |   10 +
 drivers/clk/mediatek/clk-mux.h                |   15 +
 drivers/clk/mediatek/clk-pll.c                |   31 +-
 include/dt-bindings/clock/mt8192-clk.h        |  585 ++++++++
 36 files changed, 3310 insertions(+), 7 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml
 create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml
 create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml
 create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml
 create mode 100644 drivers/clk/mediatek/clk-mt8192-aud.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-cam.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-img.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-imp_iic_wrap.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-ipe.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-mdp.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-mfg.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-mm.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-msdc.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-scp_adsp.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-vdec.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192-venc.c
 create mode 100644 drivers/clk/mediatek/clk-mt8192.c
 create mode 100644 include/dt-bindings/clock/mt8192-clk.h

Comments

James Liao Jan. 13, 2021, 7:18 a.m. UTC | #1
On Tue, 2020-12-22 at 21:09 +0800, Weiyi Lu wrote:
> This series is based on v5.10-rc1.
> 
> change since v5:
> - remove unused clocks by rolling Tinghan's patches[1][2] into series
> [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=398781
> [2] https://patchwork.kernel.org/project/linux-mediatek/list/?series=405143
> - remove dts related patches from series
> 
> change since v4:
> - merge some subsystem into same driver
> - add a generic probe function to reduce duplicated code
> 
> changes since v3:
> - add critical clocks
> - split large patches into small ones
> 
> changes since v2:
> - update and split dt-binding documents by functionalities
> - add error checking in probe() function
> - fix incorrect clock relation and add critical clocks
> - update license identifier and minor fix of coding style
> 
> changes since v1:
> - fix asymmetrical control of PLL
> - have en_mask used as divider enable mask on all MediaTek SoC
> 
> Weiyi Lu (22):
>   dt-bindings: ARM: Mediatek: Add new document bindings of imp i2c
>     wrapper controller
>   dt-bindings: ARM: Mediatek: Add new document bindings of mdpsys
>     controller
>   dt-bindings: ARM: Mediatek: Add new document bindings of msdc
>     controller
>   dt-bindings: ARM: Mediatek: Add new document bindings of scp adsp
>     controller
>   dt-bindings: ARM: Mediatek: Document bindings of MT8192 clock
>     controllers
>   clk: mediatek: Add dt-bindings of MT8192 clocks
>   clk: mediatek: Fix asymmetrical PLL enable and disable control
>   clk: mediatek: Add configurable enable control to mtk_pll_data
>   clk: mediatek: Add mtk_clk_simple_probe() to simplify clock providers
>   clk: mediatek: Add MT8192 basic clocks support
>   clk: mediatek: Add MT8192 audio clock support
>   clk: mediatek: Add MT8192 camsys clock support
>   clk: mediatek: Add MT8192 imgsys clock support
>   clk: mediatek: Add MT8192 imp i2c wrapper clock support
>   clk: mediatek: Add MT8192 ipesys clock support
>   clk: mediatek: Add MT8192 mdpsys clock support
>   clk: mediatek: Add MT8192 mfgcfg clock support
>   clk: mediatek: Add MT8192 mmsys clock support
>   clk: mediatek: Add MT8192 msdc clock support
>   clk: mediatek: Add MT8192 scp adsp clock support
>   clk: mediatek: Add MT8192 vdecsys clock support
>   clk: mediatek: Add MT8192 vencsys clock support
> 
>  .../arm/mediatek/mediatek,apmixedsys.txt      |    1 +
>  .../bindings/arm/mediatek/mediatek,audsys.txt |    1 +
>  .../bindings/arm/mediatek/mediatek,camsys.txt |   22 +
>  .../bindings/arm/mediatek/mediatek,imgsys.txt |    2 +
>  .../arm/mediatek/mediatek,imp_iic_wrap.yaml   |   78 +
>  .../arm/mediatek/mediatek,infracfg.txt        |    1 +
>  .../bindings/arm/mediatek/mediatek,ipesys.txt |    1 +
>  .../arm/mediatek/mediatek,mdpsys.yaml         |   38 +
>  .../bindings/arm/mediatek/mediatek,mfgcfg.txt |    1 +
>  .../bindings/arm/mediatek/mediatek,mmsys.txt  |    1 +
>  .../bindings/arm/mediatek/mediatek,msdc.yaml  |   46 +
>  .../arm/mediatek/mediatek,pericfg.yaml        |    1 +
>  .../arm/mediatek/mediatek,scp-adsp.yaml       |   38 +
>  .../arm/mediatek/mediatek,topckgen.txt        |    1 +
>  .../arm/mediatek/mediatek,vdecsys.txt         |    8 +
>  .../arm/mediatek/mediatek,vencsys.txt         |    1 +
>  drivers/clk/mediatek/Kconfig                  |   80 +
>  drivers/clk/mediatek/Makefile                 |   13 +
>  drivers/clk/mediatek/clk-mt8192-aud.c         |  118 ++
>  drivers/clk/mediatek/clk-mt8192-cam.c         |  107 ++
>  drivers/clk/mediatek/clk-mt8192-img.c         |   70 +
>  .../clk/mediatek/clk-mt8192-imp_iic_wrap.c    |  119 ++
>  drivers/clk/mediatek/clk-mt8192-ipe.c         |   57 +
>  drivers/clk/mediatek/clk-mt8192-mdp.c         |   82 +
>  drivers/clk/mediatek/clk-mt8192-mfg.c         |   50 +
>  drivers/clk/mediatek/clk-mt8192-mm.c          |  108 ++
>  drivers/clk/mediatek/clk-mt8192-msdc.c        |   85 ++
>  drivers/clk/mediatek/clk-mt8192-scp_adsp.c    |   50 +
>  drivers/clk/mediatek/clk-mt8192-vdec.c        |   94 ++
>  drivers/clk/mediatek/clk-mt8192-venc.c        |   53 +
>  drivers/clk/mediatek/clk-mt8192.c             | 1326 +++++++++++++++++
>  drivers/clk/mediatek/clk-mtk.c                |   23 +
>  drivers/clk/mediatek/clk-mtk.h                |   10 +
>  drivers/clk/mediatek/clk-mux.h                |   15 +
>  drivers/clk/mediatek/clk-pll.c                |   31 +-
>  include/dt-bindings/clock/mt8192-clk.h        |  585 ++++++++
>  36 files changed, 3310 insertions(+), 7 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml
>  create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml
>  create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml
>  create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-aud.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-cam.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-img.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-imp_iic_wrap.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-ipe.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-mdp.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-mfg.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-mm.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-msdc.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-scp_adsp.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-vdec.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192-venc.c
>  create mode 100644 drivers/clk/mediatek/clk-mt8192.c
>  create mode 100644 include/dt-bindings/clock/mt8192-clk.h
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

All patches in this series:

Reviewed-by: James Liao <jamesjj.liao@mediatek.com>
Stephen Boyd Feb. 9, 2021, 1 a.m. UTC | #2
Quoting Weiyi Lu (2020-12-22 05:09:25)
> This series is based on v5.10-rc1.
> 

The DT bindings fail, can you fix and resend?

Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml: 'additionalProperties' is a required property
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml: 'additionalProperties' is a required property
Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml: 'additionalProperties' is a required property
Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml: 'additionalProperties' is a required property
Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml: ignoring, error in schema:
warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml: ignoring, error in schema:
warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml: ignoring, error in schema:
warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml: ignoring, error in schema:
warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.example.dt.yaml: example-0: syscon@11f60000:reg:0: [0, 301334528, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.example.dt.yaml: example-1: syscon@11f10000:reg:0: [0, 301006848, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.example.dt.yaml: example-0: syscon@1f000000:reg:0: [0, 520093696, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-0: syscon@11007000:reg:0: [0, 285241344, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-1: syscon@11cb1000:reg:0: [0, 298520576, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-2: syscon@11d03000:reg:0: [0, 298856448, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-3: syscon@11d23000:reg:0: [0, 298987520, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-4: syscon@11e01000:reg:0: [0, 299896832, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-5: syscon@11f02000:reg:0: [0, 300949504, 0, 4096] is too long
        From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
Weiyi Lu Feb. 18, 2021, 1:25 a.m. UTC | #3
On Mon, 2021-02-08 at 17:00 -0800, Stephen Boyd wrote:
> Quoting Weiyi Lu (2020-12-22 05:09:25)
> > This series is based on v5.10-rc1.
> > 
> 
> The DT bindings fail, can you fix and resend?
> 

OK, I'll fix and resend. Thank you for reviewing.

> Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml: 'additionalProperties' is a required property
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml: 'additionalProperties' is a required property
> Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml: 'additionalProperties' is a required property
> Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml: 'additionalProperties' is a required property
> Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml: ignoring, error in schema:
> warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml: ignoring, error in schema:
> warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml: ignoring, error in schema:
> warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml: ignoring, error in schema:
> warning: no schema found in file: Documentation/devicetree/bindings/arm/mediatek/mediatek,scp-adsp.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.example.dt.yaml: example-0: syscon@11f60000:reg:0: [0, 301334528, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,msdc.example.dt.yaml: example-1: syscon@11f10000:reg:0: [0, 301006848, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,mdpsys.example.dt.yaml: example-0: syscon@1f000000:reg:0: [0, 520093696, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-0: syscon@11007000:reg:0: [0, 285241344, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-1: syscon@11cb1000:reg:0: [0, 298520576, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-2: syscon@11d03000:reg:0: [0, 298856448, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-3: syscon@11d23000:reg:0: [0, 298987520, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-4: syscon@11e01000:reg:0: [0, 299896832, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> Documentation/devicetree/bindings/arm/mediatek/mediatek,imp_iic_wrap.example.dt.yaml: example-5: syscon@11f02000:reg:0: [0, 300949504, 0, 4096] is too long
>         From schema: ~/.local/lib/python3.8/site-packages/dtschema/schemas/reg.yaml
> 
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek