Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'v5.12-next-soc.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/drivers

MT8167:
- add support for mmsys subsystem

* tag 'v5.12-next-soc.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
soc: mediatek: mmsys: Add support for MT8167 SoC
dt-bindings: mediatek: mmsys: add mt8167 binding

Link: https://lore.kernel.org/r/14104322-3a6c-e8eb-cd21-a5343a81aa0f@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+47
+1
Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt
··· 13 13 - "mediatek,mt6779-mmsys", "syscon" 14 14 - "mediatek,mt6797-mmsys", "syscon" 15 15 - "mediatek,mt7623-mmsys", "mediatek,mt2701-mmsys", "syscon" 16 + - "mediatek,mt8167-mmsys", "syscon" 16 17 - "mediatek,mt8173-mmsys", "syscon" 17 18 - "mediatek,mt8183-mmsys", "syscon" 18 19 - #clock-cells: Must be 1
+35
drivers/soc/mediatek/mt8167-mmsys.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0-only */ 2 + 3 + #ifndef __SOC_MEDIATEK_MT8167_MMSYS_H 4 + #define __SOC_MEDIATEK_MT8167_MMSYS_H 5 + 6 + #define MT8167_DISP_REG_CONFIG_DISP_OVL0_MOUT_EN 0x030 7 + #define MT8167_DISP_REG_CONFIG_DISP_DITHER_MOUT_EN 0x038 8 + #define MT8167_DISP_REG_CONFIG_DISP_COLOR0_SEL_IN 0x058 9 + #define MT8167_DISP_REG_CONFIG_DISP_DSI0_SEL_IN 0x064 10 + #define MT8167_DISP_REG_CONFIG_DISP_RDMA0_SOUT_SEL_IN 0x06c 11 + 12 + #define MT8167_DITHER_MOUT_EN_RDMA0 0x1 13 + #define MT8167_RDMA0_SOUT_DSI0 0x2 14 + #define MT8167_DSI0_SEL_IN_RDMA0 0x1 15 + 16 + static const struct mtk_mmsys_routes mt8167_mmsys_routing_table[] = { 17 + { 18 + DDP_COMPONENT_OVL0, DDP_COMPONENT_COLOR0, 19 + MT8167_DISP_REG_CONFIG_DISP_OVL0_MOUT_EN, OVL0_MOUT_EN_COLOR0, 20 + }, { 21 + DDP_COMPONENT_DITHER, DDP_COMPONENT_RDMA0, 22 + MT8167_DISP_REG_CONFIG_DISP_DITHER_MOUT_EN, MT8167_DITHER_MOUT_EN_RDMA0 23 + }, { 24 + DDP_COMPONENT_OVL0, DDP_COMPONENT_COLOR0, 25 + MT8167_DISP_REG_CONFIG_DISP_COLOR0_SEL_IN, COLOR0_SEL_IN_OVL0 26 + }, { 27 + DDP_COMPONENT_RDMA0, DDP_COMPONENT_DSI0, 28 + MT8167_DISP_REG_CONFIG_DISP_DSI0_SEL_IN, MT8167_DSI0_SEL_IN_RDMA0 29 + }, { 30 + DDP_COMPONENT_RDMA0, DDP_COMPONENT_DSI0, 31 + MT8167_DISP_REG_CONFIG_DISP_RDMA0_SOUT_SEL_IN, MT8167_RDMA0_SOUT_DSI0 32 + }, 33 + }; 34 + 35 + #endif /* __SOC_MEDIATEK_MT8167_MMSYS_H */
+11
drivers/soc/mediatek/mtk-mmsys.c
··· 11 11 #include <linux/soc/mediatek/mtk-mmsys.h> 12 12 13 13 #include "mtk-mmsys.h" 14 + #include "mt8167-mmsys.h" 14 15 #include "mt8183-mmsys.h" 15 16 16 17 static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = { ··· 32 31 33 32 static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = { 34 33 .clk_driver = "clk-mt6797-mm", 34 + }; 35 + 36 + static const struct mtk_mmsys_driver_data mt8167_mmsys_driver_data = { 37 + .clk_driver = "clk-mt8167-mm", 38 + .routes = mt8167_mmsys_routing_table, 39 + .num_routes = ARRAY_SIZE(mt8167_mmsys_routing_table), 35 40 }; 36 41 37 42 static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { ··· 144 137 { 145 138 .compatible = "mediatek,mt6797-mmsys", 146 139 .data = &mt6797_mmsys_driver_data, 140 + }, 141 + { 142 + .compatible = "mediatek,mt8167-mmsys", 143 + .data = &mt8167_mmsys_driver_data, 147 144 }, 148 145 { 149 146 .compatible = "mediatek,mt8173-mmsys",