Thread (39 messages) 39 messages, 4 authors, 2025-06-24

Re: [PATCH 00/30] Add support for MT8196 clock controllers

From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Date: 2025-06-23 11:34:58
Also in: linux-arm-kernel, linux-clk, linux-devicetree, linux-mediatek, lkml

Il 23/06/25 12:29, Laura Nao ha scritto:
This patch series introduces support for the clock controllers on the
MediaTek MT8196 platform, following up on an earlier submission[1].

MT8196 uses a hardware voting mechanism to control some of the clock muxes
and gates, along with a fence register responsible for tracking PLL and mux
gate readiness. The series introduces support for these voting and fence
mechanisms, and includes drivers for all clock controllers on the platform.
Whole series is

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

(as I reviewed this entire thing internally and before submission anyway :-D)

Cheers,
Angelo

[1] https://lore.kernel.org/all/20250307032942.10447-1-guangjie.song@mediatek.com/ (local)

AngeloGioacchino Del Regno (2):
   dt-bindings: reset: Add MediaTek MT8196 Reset Controller binding
   clk: mediatek: mt8196: Add UFS and PEXTP0/1 reset controllers

Laura Nao (28):
   clk: mediatek: clk-pll: Add set/clr regs for shared PLL enable control
   clk: mediatek: clk-pll: Add ops for PLLs using set/clr regs and FENC
   clk: mediatek: clk-mux: Add ops for mux gates with set/clr/upd and
     FENC
   clk: mediatek: clk-mtk: Introduce mtk_clk_get_hwv_regmap()
   clk: mediatek: clk-mux: Add ops for mux gates with HW voter and FENC
   clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use
     mtk_gate struct
   clk: mediatek: clk-gate: Add ops for gates with HW voter
   clk: mediatek: clk-mtk: Add MUX_DIV_GATE macro
   dt-bindings: clock: mediatek: Describe MT8196 peripheral clock
     controllers
   clk: mediatek: Add MT8196 apmixedsys clock support
   clk: mediatek: Add MT8196 topckgen clock support
   clk: mediatek: Add MT8196 topckgen2 clock support
   clk: mediatek: Add MT8196 vlpckgen clock support
   clk: mediatek: Add MT8196 peripheral clock support
   clk: mediatek: Add MT8196 ufssys clock support
   clk: mediatek: Add MT8196 pextpsys clock support
   clk: mediatek: Add MT8196 adsp clock support
   clk: mediatek: Add MT8196 I2C clock support
   clk: mediatek: Add MT8196 mcu clock support
   clk: mediatek: Add MT8196 mdpsys clock support
   clk: mediatek: Add MT8196 mfg clock support
   clk: mediatek: Add MT8196 disp0 clock support
   clk: mediatek: Add MT8196 disp1 clock support
   clk: mediatek: Add MT8196 disp-ao clock support
   clk: mediatek: Add MT8196 ovl0 clock support
   clk: mediatek: Add MT8196 ovl1 clock support
   clk: mediatek: Add MT8196 vdecsys clock support
   clk: mediatek: Add MT8196 vencsys clock support

  .../bindings/clock/mediatek,mt8196-clock.yaml |   79 ++
  .../clock/mediatek,mt8196-sys-clock.yaml      |   76 +
  drivers/clk/mediatek/Kconfig                  |   78 +
  drivers/clk/mediatek/Makefile                 |   14 +
  drivers/clk/mediatek/clk-gate.c               |  106 +-
  drivers/clk/mediatek/clk-gate.h               |    3 +
  drivers/clk/mediatek/clk-mt8196-adsp.c        |  193 +++
  drivers/clk/mediatek/clk-mt8196-apmixedsys.c  |  203 +++
  drivers/clk/mediatek/clk-mt8196-disp0.c       |  169 +++
  drivers/clk/mediatek/clk-mt8196-disp1.c       |  170 +++
  .../clk/mediatek/clk-mt8196-imp_iic_wrap.c    |  117 ++
  drivers/clk/mediatek/clk-mt8196-mcu.c         |  166 +++
  drivers/clk/mediatek/clk-mt8196-mdpsys.c      |  187 +++
  drivers/clk/mediatek/clk-mt8196-mfg.c         |  150 ++
  drivers/clk/mediatek/clk-mt8196-ovl0.c        |  154 ++
  drivers/clk/mediatek/clk-mt8196-ovl1.c        |  153 ++
  drivers/clk/mediatek/clk-mt8196-peri_ao.c     |  144 ++
  drivers/clk/mediatek/clk-mt8196-pextp.c       |  131 ++
  drivers/clk/mediatek/clk-mt8196-topckgen.c    | 1257 +++++++++++++++++
  drivers/clk/mediatek/clk-mt8196-topckgen2.c   |  662 +++++++++
  drivers/clk/mediatek/clk-mt8196-ufs_ao.c      |  109 ++
  drivers/clk/mediatek/clk-mt8196-vdec.c        |  253 ++++
  drivers/clk/mediatek/clk-mt8196-vdisp_ao.c    |   78 +
  drivers/clk/mediatek/clk-mt8196-venc.c        |  235 +++
  drivers/clk/mediatek/clk-mt8196-vlpckgen.c    |  769 ++++++++++
  drivers/clk/mediatek/clk-mtk.c                |   16 +
  drivers/clk/mediatek/clk-mtk.h                |   23 +
  drivers/clk/mediatek/clk-mux.c                |  119 +-
  drivers/clk/mediatek/clk-mux.h                |   76 +
  drivers/clk/mediatek/clk-pll.c                |   46 +-
  drivers/clk/mediatek/clk-pll.h                |    9 +
  .../dt-bindings/clock/mediatek,mt8196-clock.h |  867 ++++++++++++
  .../reset/mediatek,mt8196-resets.h            |   26 +
  33 files changed, 6814 insertions(+), 24 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt8196-clock.yaml
  create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt8196-sys-clock.yaml
  create mode 100644 drivers/clk/mediatek/clk-mt8196-adsp.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-apmixedsys.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-disp0.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-disp1.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-imp_iic_wrap.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-mcu.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-mdpsys.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-mfg.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-ovl0.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-ovl1.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-peri_ao.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-pextp.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-topckgen.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-topckgen2.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-ufs_ao.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-vdec.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-vdisp_ao.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-venc.c
  create mode 100644 drivers/clk/mediatek/clk-mt8196-vlpckgen.c
  create mode 100644 include/dt-bindings/clock/mediatek,mt8196-clock.h
  create mode 100644 include/dt-bindings/reset/mediatek,mt8196-resets.h
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help