In an effort to give some love to the apparently forgotten MT6795 SoC,
I am upstreaming more components that are necessary to support platforms
powered by this one apart from a simple boot to serial console.
This (very big) series introduces system clock, multimedia clock drivers
(including resets) for this SoC.
Tested on a MT6795 Sony Xperia M5 (codename "Holly") smartphone.
This series depends on, and can be merged on top of:
[1]: https://patchwork.kernel.org/project/linux-mediatek/list/?series=640122
[2]: https://patchwork.kernel.org/project/linux-mediatek/list/?series=637849
Changes in v6:
- Added helper function to cleanly unregister ref2usb_tx clocks
- Added missing error handling and remove function to clk-mt6795-mm
Changes in v5:
- Renamed clock/reset header filenames to add vendor prefix
- Removed quotes for $id, $schema in commit [4/7]
Changes in v4:
- Removed unnecessary examples for clock controllers in commit [4/7]
- Fixed one instance of 88 columns line wrap in commit [4/7]
Changes in v3:
- Fixed typo in commit [4/7]
Changes in v2:
- Fixed yaml clock bindings as per Rob's review
- Added ability to compile all MT6795 clock drivers as modules
- Added commits to export some symbols, required to compile as module
AngeloGioacchino Del Regno (8):
dt-bindings: mediatek: Document MT6795 system controllers bindings
dt-bindings: clock: Add MediaTek Helio X10 MT6795 clock bindings
dt-bindings: reset: Add bindings for MT6795 Helio X10 reset
controllers
dt-bindings: clock: mediatek: Add clock driver bindings for MT6795
clk: mediatek: clk-apmixed: Remove unneeded __init annotation
clk: mediatek: Export required symbols to compile clk drivers as
module
clk: mediatek: clk-apmixed: Add helper function to unregister
ref2usb_tx
clk: mediatek: Add MediaTek Helio X10 MT6795 clock drivers
.../arm/mediatek/mediatek,infracfg.yaml | 2 +
.../bindings/arm/mediatek/mediatek,mmsys.yaml | 1 +
.../arm/mediatek/mediatek,pericfg.yaml | 1 +
.../bindings/clock/mediatek,apmixedsys.yaml | 1 +
.../bindings/clock/mediatek,mt6795-clock.yaml | 66 ++
.../clock/mediatek,mt6795-sys-clock.yaml | 54 ++
.../bindings/clock/mediatek,topckgen.yaml | 1 +
drivers/clk/mediatek/Kconfig | 37 ++
drivers/clk/mediatek/Makefile | 6 +
drivers/clk/mediatek/clk-apmixed.c | 12 +-
drivers/clk/mediatek/clk-cpumux.c | 2 +
drivers/clk/mediatek/clk-mt6795-apmixedsys.c | 157 +++++
drivers/clk/mediatek/clk-mt6795-infracfg.c | 151 +++++
drivers/clk/mediatek/clk-mt6795-mfg.c | 50 ++
drivers/clk/mediatek/clk-mt6795-mm.c | 132 ++++
drivers/clk/mediatek/clk-mt6795-pericfg.c | 160 +++++
drivers/clk/mediatek/clk-mt6795-topckgen.c | 610 ++++++++++++++++++
drivers/clk/mediatek/clk-mt6795-vdecsys.c | 55 ++
drivers/clk/mediatek/clk-mt6795-vencsys.c | 50 ++
drivers/clk/mediatek/clk-mtk.c | 2 +
drivers/clk/mediatek/clk-mtk.h | 1 +
drivers/clk/mediatek/reset.c | 1 +
.../dt-bindings/clock/mediatek,mt6795-clk.h | 275 ++++++++
.../reset/mediatek,mt6795-resets.h | 53 ++
24 files changed, 1879 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt6795-clock.yaml
create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt6795-sys-clock.yaml
create mode 100644 drivers/clk/mediatek/clk-mt6795-apmixedsys.c
create mode 100644 drivers/clk/mediatek/clk-mt6795-infracfg.c
create mode 100644 drivers/clk/mediatek/clk-mt6795-mfg.c
create mode 100644 drivers/clk/mediatek/clk-mt6795-mm.c
create mode 100644 drivers/clk/mediatek/clk-mt6795-pericfg.c
create mode 100644 drivers/clk/mediatek/clk-mt6795-topckgen.c
create mode 100644 drivers/clk/mediatek/clk-mt6795-vdecsys.c
create mode 100644 drivers/clk/mediatek/clk-mt6795-vencsys.c
create mode 100644 include/dt-bindings/clock/mediatek,mt6795-clk.h
create mode 100644 include/dt-bindings/reset/mediatek,mt6795-resets.h