summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-07-27 13:39:32 +0100
committerMark Brown <broonie@kernel.org>2026-07-27 13:39:32 +0100
commit89e4de00da76bc36b4aef8a6ef3a0eee75ecfa58 (patch)
tree29e8c74fc1d4055bc340322bfafcef62936d111e
parenta31bfc7d609c59d9221acedd1539c476df359fd9 (diff)
parent1ab5f38992f66cadf6a227a5b6551e52d616b730 (diff)
downloadlinux-next-89e4de00da76bc36b4aef8a6ef3a0eee75ecfa58.tar.gz
linux-next-89e4de00da76bc36b4aef8a6ef3a0eee75ecfa58.zip
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux.git
-rw-r--r--Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml17
-rw-r--r--arch/arm/boot/dts/mediatek/mt8127.dtsi2
-rw-r--r--arch/arm64/boot/dts/mediatek/mt6359.dtsi2
-rw-r--r--arch/arm64/boot/dts/mediatek/mt6795.dtsi4
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi6
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts4
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi2
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8183.dtsi22
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8186.dtsi112
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi1
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8188.dtsi33
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts4
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8192.dtsi17
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8195.dtsi37
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi19
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi4
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi17
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts17
-rw-r--r--drivers/soc/mediatek/mt8167-mmsys.h21
-rw-r--r--drivers/soc/mediatek/mt8173-mmsys.h28
-rw-r--r--drivers/soc/mediatek/mt8183-mmsys.h14
-rw-r--r--drivers/soc/mediatek/mt8186-mmsys.h22
-rw-r--r--drivers/soc/mediatek/mt8188-mmsys.h78
-rw-r--r--drivers/soc/mediatek/mt8192-mmsys.h20
-rw-r--r--drivers/soc/mediatek/mt8195-mmsys.h181
-rw-r--r--drivers/soc/mediatek/mt8365-mmsys.h20
-rw-r--r--drivers/soc/mediatek/mtk-dvfsrc.c1
-rw-r--r--drivers/soc/mediatek/mtk-mmsys.h300
-rw-r--r--drivers/soc/mediatek/mtk-socinfo.c7
29 files changed, 577 insertions, 435 deletions
diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
index 5267cfe92572..1ba086ad749d 100644
--- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
+++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
@@ -4,18 +4,21 @@
$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mutex.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: Mediatek mutex
+title: MediaTek Mute-X
maintainers:
+ - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
- Chun-Kuang Hu <chunkuang.hu@kernel.org>
- Philipp Zabel <p.zabel@pengutronix.de>
-description: |
- Mediatek mutex, namely MUTEX, is used to send the triggers signals called
- Start Of Frame (SOF) / End Of Frame (EOF) to each sub-modules on the display
- data path or MDP data path.
- In some SoC, such as mt2701, MUTEX could be a hardware mutex which protects
- the shadow register.
+description:
+ MediaTek Mute-X, namely MUTEX, is used to "mute" or "unmute" trigger signals
+ like Start Of Frame (SOF), End Of Frame (EOF), Tearing Effect (TE / VSYNC)
+ and others to each hardware sub-modules in the Display Controller IP or in
+ the Media Data Path (MDP) IP.
+ In some SoCs like MT2701, this hardware module may feature functionality
+ to, for example, protect shadow registers by blocking auto write triggers
+ upon operation (usually frame push) completion.
MUTEX device node must be siblings to the central MMSYS_CONFIG node.
For a description of the MMSYS_CONFIG binding, see
Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
diff --git a/arch/arm/boot/dts/mediatek/mt8127.dtsi b/arch/arm/boot/dts/mediatek/mt8127.dtsi
index aced173c2a52..bd61ec7e70c0 100644
--- a/arch/arm/boot/dts/mediatek/mt8127.dtsi
+++ b/arch/arm/boot/dts/mediatek/mt8127.dtsi
@@ -75,7 +75,7 @@
compatible = "fixed-clock";
clock-frequency = <26000000>;
#clock-cells = <0>;
- };
+ };
};
timer {
diff --git a/arch/arm64/boot/dts/mediatek/mt6359.dtsi b/arch/arm64/boot/dts/mediatek/mt6359.dtsi
index a953fb527b69..52fb0f832260 100644
--- a/arch/arm64/boot/dts/mediatek/mt6359.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt6359.dtsi
@@ -287,7 +287,7 @@
};
mt6359rtc: rtc {
- compatible = "mediatek,mt6358-rtc";
+ compatible = "mediatek,mt6359-rtc", "mediatek,mt6358-rtc";
};
};
};
diff --git a/arch/arm64/boot/dts/mediatek/mt6795.dtsi b/arch/arm64/boot/dts/mediatek/mt6795.dtsi
index 134cfa77e3b1..6dd706b27830 100644
--- a/arch/arm64/boot/dts/mediatek/mt6795.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt6795.dtsi
@@ -547,8 +547,7 @@
};
apdma: dma-controller@11000380 {
- compatible = "mediatek,mt6795-uart-dma",
- "mediatek,mt6577-uart-dma";
+ compatible = "mediatek,mt6795-uart-dma";
reg = <0 0x11000380 0 0x60>,
<0 0x11000400 0 0x60>,
<0 0x11000480 0 0x60>,
@@ -568,7 +567,6 @@
dma-requests = <8>;
clocks = <&pericfg CLK_PERI_AP_DMA>;
clock-names = "apdma";
- mediatek,dma-33bits;
#dma-cells = <1>;
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
index b702ff066636..b210845277e1 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
@@ -86,7 +86,7 @@
};
&i2c2 {
- pinctrl-names = "default";
+ pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;
status = "okay";
clock-frequency = <400000>;
@@ -101,7 +101,7 @@
};
&i2c4 {
- pinctrl-names = "default";
+ pinctrl-names = "default";
pinctrl-0 = <&i2c4_pins>;
status = "okay";
clock-frequency = <400000>;
@@ -381,5 +381,5 @@
};
&i2c_tunnel {
- google,remote-bus = <2>;
+ google,remote-bus = <2>;
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts
index 095279e55d50..cc8c913d2763 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts
@@ -19,6 +19,6 @@
};
&panel {
- status = "okay";
- compatible = "boe,tv101wum-nl6";
+ status = "okay";
+ compatible = "boe,tv101wum-nl6";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
index a8e257b21a88..5ea499f349f6 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
@@ -849,6 +849,8 @@
compatible = "winbond,w25q64dw", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
+ /* Power actually controlled by security chip */
+ vcc-supply = <&pp1800_alw>;
};
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index 95cc06799533..8b0992548431 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -1071,6 +1071,22 @@
clock-names = "gce";
};
+ apdma: dma-controller@11000780 {
+ compatible = "mediatek,mt8183-uart-dma", "mediatek,mt6577-uart-dma";
+ reg = <0 0x11000780 0 0x80>, <0 0x11000800 0 0x80>,
+ <0 0x11000880 0 0x80>, <0 0x11000900 0 0x80>,
+ <0 0x11000980 0 0x80>, <0 0x11000a00 0 0x80>;
+ interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
+ clocks = <&infracfg CLK_INFRA_AP_DMA>;
+ #dma-cells = <1>;
+ dma-requests = <6>;
+ };
+
auxadc: auxadc@11001000 {
compatible = "mediatek,mt8183-auxadc",
"mediatek,mt8173-auxadc";
@@ -1088,6 +1104,8 @@
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
clock-names = "baud", "bus";
+ dmas = <&apdma 0>, <&apdma 1>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1098,6 +1116,8 @@
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
clock-names = "baud", "bus";
+ dmas = <&apdma 2>, <&apdma 3>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1108,6 +1128,8 @@
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>;
clock-names = "baud", "bus";
+ dmas = <&apdma 4>, <&apdma 5>;
+ dma-names = "tx", "rx";
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8186.dtsi b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
index b91f88ffae0e..621408439ffa 100644
--- a/arch/arm64/boot/dts/mediatek/mt8186.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
@@ -48,79 +48,79 @@
compatible = "operating-points-v2";
opp-shared;
- cci_opp_0: opp-500000000 {
- opp-hz = /bits/ 64 <500000000>;
- opp-microvolt = <600000>;
+ cci_opp_0: opp-800000000 {
+ opp-hz = /bits/ 64 <800000000>;
+ opp-microvolt = <800000>;
};
- cci_opp_1: opp-560000000 {
- opp-hz = /bits/ 64 <560000000>;
- opp-microvolt = <675000>;
+ cci_opp_1: opp-840000000 {
+ opp-hz = /bits/ 64 <840000000>;
+ opp-microvolt = <806250>;
};
- cci_opp_2: opp-612000000 {
- opp-hz = /bits/ 64 <612000000>;
- opp-microvolt = <693750>;
+ cci_opp_2: opp-880000000 {
+ opp-hz = /bits/ 64 <880000000>;
+ opp-microvolt = <812500>;
};
- cci_opp_3: opp-682000000 {
- opp-hz = /bits/ 64 <682000000>;
- opp-microvolt = <718750>;
+ cci_opp_3: opp-920000000 {
+ opp-hz = /bits/ 64 <920000000>;
+ opp-microvolt = <825000>;
};
- cci_opp_4: opp-752000000 {
- opp-hz = /bits/ 64 <752000000>;
- opp-microvolt = <743750>;
+ cci_opp_4: opp-960000000 {
+ opp-hz = /bits/ 64 <960000000>;
+ opp-microvolt = <831250>;
};
- cci_opp_5: opp-822000000 {
- opp-hz = /bits/ 64 <822000000>;
- opp-microvolt = <768750>;
+ cci_opp_5: opp-1000000000 {
+ opp-hz = /bits/ 64 <1000000000>;
+ opp-microvolt = <837500>;
};
- cci_opp_6: opp-875000000 {
- opp-hz = /bits/ 64 <875000000>;
- opp-microvolt = <781250>;
+ cci_opp_6: opp-1040000000 {
+ opp-hz = /bits/ 64 <1040000000>;
+ opp-microvolt = <850000>;
};
- cci_opp_7: opp-927000000 {
- opp-hz = /bits/ 64 <927000000>;
- opp-microvolt = <800000>;
+ cci_opp_7: opp-1080000000 {
+ opp-hz = /bits/ 64 <1080000000>;
+ opp-microvolt = <856250>;
};
- cci_opp_8: opp-980000000 {
- opp-hz = /bits/ 64 <980000000>;
- opp-microvolt = <818750>;
+ cci_opp_8: opp-1120000000 {
+ opp-hz = /bits/ 64 <1120000000>;
+ opp-microvolt = <862500>;
};
- cci_opp_9: opp-1050000000 {
- opp-hz = /bits/ 64 <1050000000>;
- opp-microvolt = <843750>;
+ cci_opp_9: opp-1160000000 {
+ opp-hz = /bits/ 64 <1160000000>;
+ opp-microvolt = <887500>;
};
- cci_opp_10: opp-1120000000 {
- opp-hz = /bits/ 64 <1120000000>;
- opp-microvolt = <862500>;
+ cci_opp_10: opp-1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-microvolt = <912500>;
};
- cci_opp_11: opp-1155000000 {
- opp-hz = /bits/ 64 <1155000000>;
- opp-microvolt = <887500>;
+ cci_opp_11: opp-1240000000 {
+ opp-hz = /bits/ 64 <1240000000>;
+ opp-microvolt = <937500>;
};
- cci_opp_12: opp-1190000000 {
- opp-hz = /bits/ 64 <1190000000>;
- opp-microvolt = <906250>;
+ cci_opp_12: opp-1280000000 {
+ opp-hz = /bits/ 64 <1280000000>;
+ opp-microvolt = <962500>;
};
- cci_opp_13: opp-1260000000 {
- opp-hz = /bits/ 64 <1260000000>;
- opp-microvolt = <950000>;
+ cci_opp_13: opp-1320000000 {
+ opp-hz = /bits/ 64 <1320000000>;
+ opp-microvolt = <987500>;
};
- cci_opp_14: opp-1330000000 {
- opp-hz = /bits/ 64 <1330000000>;
- opp-microvolt = <993750>;
+ cci_opp_14: opp-1360000000 {
+ opp-hz = /bits/ 64 <1360000000>;
+ opp-microvolt = <1012500>;
};
cci_opp_15: opp-1400000000 {
@@ -1142,6 +1142,22 @@
clocks = <&clk13m>;
};
+ apdma: dma-controller@10200d80 {
+ compatible = "mediatek,mt8186-uart-dma", "mediatek,mt6835-uart-dma";
+ reg = <0 0x10200d80 0 0x80>, <0 0x10200e00 0 0x80>,
+ <0 0x10200e80 0 0x80>, <0 0x10200f00 0 0x80>,
+ <0 0x10200f80 0 0x80>, <0 0x10201000 0 0x80>;
+ interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&infracfg_ao CLK_INFRA_AO_AP_DMA>;
+ #dma-cells = <1>;
+ dma-requests = <6>;
+ };
+
gce: mailbox@1022c000 {
compatible = "mediatek,mt8186-gce";
reg = <0 0X1022c000 0 0x4000>;
@@ -1218,6 +1234,8 @@
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>;
clock-names = "baud", "bus";
+ dmas = <&apdma 0>, <&apdma 1>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1228,6 +1246,8 @@
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>;
clock-names = "baud", "bus";
+ dmas = <&apdma 2>, <&apdma 3>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1482,6 +1502,8 @@
interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>;
clock-names = "baud", "bus";
+ dmas = <&apdma 4>, <&apdma 5>;
+ dma-names = "tx", "rx";
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
index 4cb23595d17b..f382f90c48f5 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
@@ -645,6 +645,7 @@
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <52000000>;
+ vcc-supply = <&pp1800_ldo_z1>;
};
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
index 75133794cec3..14a320f0c70c 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
@@ -1360,6 +1360,31 @@
clock-names = "pmif_sys_ck", "pmif_tmr_ck", "spmimst_clk_mux";
};
+ apdma: dma-controller@10220880 {
+ compatible = "mediatek,mt8188-uart-dma", "mediatek,mt6835-uart-dma";
+ reg = <0 0x10220880 0 0x80>, <0 0x10220900 0 0x80>,
+ <0 0x10220980 0 0x80>, <0 0x10220a00 0 0x80>,
+ <0 0x10220a80 0 0x80>, <0 0x10220b00 0 0x80>,
+ <0 0x10220b80 0 0x80>, <0 0x10220c00 0 0x80>,
+ <0 0x10220c80 0 0x80>, <0 0x10220d00 0 0x80>,
+ <0 0x10220d80 0 0x80>, <0 0x10220e00 0 0x80>;
+ interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&infracfg_ao CLK_INFRA_AO_APDMA_BCLK>;
+ #dma-cells = <1>;
+ dma-requests = <12>;
+ };
+
infra_iommu: iommu@10315000 {
compatible = "mediatek,mt8188-iommu-infra";
reg = <0 0x10315000 0 0x1000>;
@@ -1512,6 +1537,8 @@
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>;
clock-names = "baud", "bus";
+ dmas = <&apdma 0>, <&apdma 1>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1521,6 +1548,8 @@
interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>;
clock-names = "baud", "bus";
+ dmas = <&apdma 2>, <&apdma 3>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1530,6 +1559,8 @@
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>;
clock-names = "baud", "bus";
+ dmas = <&apdma 4>, <&apdma 5>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1539,6 +1570,8 @@
interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>;
clock-names = "baud", "bus";
+ dmas = <&apdma 6>, <&apdma 7>;
+ dma-names = "tx", "rx";
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts b/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
index 163960f58db5..68caf4c58cfe 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dts
@@ -64,6 +64,10 @@
VBAT-supply = <&pp3300_ldo_z>;
};
+&mmc1 {
+ status = "disabled";
+};
+
&sound {
compatible = "mediatek,mt8192_mt6359_rt1015p_rt5682";
diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
index 9f8f115edd4c..898953acdb61 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
@@ -741,6 +741,19 @@
assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
};
+ apdma: dma-controller@10217a80 {
+ compatible = "mediatek,mt8192-uart-dma", "mediatek,mt6835-uart-dma";
+ reg = <0 0x10217a80 0 0x80>, <0 0x10217b00 0 0x80>,
+ <0 0x10217b80 0 0x80>, <0 0x10217c00 0 0x80>;
+ interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&infracfg CLK_INFRA_AP_DMA>;
+ #dma-cells = <1>;
+ dma-requests = <4>;
+ };
+
gce: mailbox@10228000 {
compatible = "mediatek,mt8192-gce";
reg = <0 0x10228000 0 0x4000>;
@@ -765,6 +778,8 @@
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
clock-names = "baud", "bus";
+ dmas = <&apdma 0>, <&apdma 1>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -775,6 +790,8 @@
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
clock-names = "baud", "bus";
+ dmas = <&apdma 2>, <&apdma 3>;
+ dma-names = "tx", "rx";
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8195.dtsi b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
index c72e34c57629..9aaf8b6edcb5 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
@@ -904,6 +904,31 @@
assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>;
};
+ apdma: dma-controller@10220880 {
+ compatible = "mediatek,mt8195-uart-dma", "mediatek,mt6835-uart-dma";
+ reg = <0 0x10220880 0 0x80>, <0 0x10220900 0 0x80>,
+ <0 0x10220980 0 0x80>, <0 0x10220a00 0 0x80>,
+ <0 0x10220a80 0 0x80>, <0 0x10220b00 0 0x80>,
+ <0 0x10220b80 0 0x80>, <0 0x10220c00 0 0x80>,
+ <0 0x10220c80 0 0x80>, <0 0x10220d00 0 0x80>,
+ <0 0x10220d80 0 0x80>, <0 0x10220e00 0 0x80>;
+ interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
+ #dma-cells = <1>;
+ dma-requests = <12>;
+ };
+
iommu_infra: infra-iommu@10315000 {
compatible = "mediatek,mt8195-iommu-infra";
reg = <0 0x10315000 0 0x5000>;
@@ -1040,6 +1065,8 @@
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>;
clock-names = "baud", "bus";
+ dmas = <&apdma 0>, <&apdma 1>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1050,6 +1077,8 @@
interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>;
clock-names = "baud", "bus";
+ dmas = <&apdma 2>, <&apdma 3>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1060,6 +1089,8 @@
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>;
clock-names = "baud", "bus";
+ dmas = <&apdma 4>, <&apdma 5>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1070,6 +1101,8 @@
interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>;
clock-names = "baud", "bus";
+ dmas = <&apdma 6>, <&apdma 7>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1080,6 +1113,8 @@
interrupts = <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART4>;
clock-names = "baud", "bus";
+ dmas = <&apdma 8>, <&apdma 9>;
+ dma-names = "tx", "rx";
status = "disabled";
};
@@ -1090,6 +1125,8 @@
interrupts = <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART5>;
clock-names = "baud", "bus";
+ dmas = <&apdma 10>, <&apdma 11>;
+ dma-names = "tx", "rx";
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
index b0c97930a0e6..0dfd0c7de41d 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
@@ -7,7 +7,7 @@
*
* Copyright (C) 2025 Collabora Ltd.
* Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
- * AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+ * AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
*/
#include "mt6365.dtsi"
@@ -1304,6 +1304,23 @@
&pmic {
interrupt-parent = <&pio>;
interrupts = <222 IRQ_TYPE_LEVEL_HIGH>;
+ vsys-smps-supply = <&reg_vsys>;
+ vsys-vcore-supply = <&reg_vsys>;
+ vsys-vgpu11-supply = <&reg_vsys>;
+ vsys-vgpu12-supply = <&reg_vsys>;
+ vsys-vpa-supply = <&reg_vsys>;
+ vsys-vproc1-supply = <&reg_vsys>;
+ vsys-vproc2-supply = <&reg_vsys>;
+ vsys-vpu-supply = <&reg_vsys>;
+ vsys-vs1-supply = <&reg_vsys>;
+ vsys-vs2-supply = <&reg_vsys>;
+ vsys-vmodem-supply = <&reg_vsys>;
+ vsys-ldo1-supply = <&reg_vsys>;
+ vsys-ldo2-supply = <&reg_vsys>;
+ vs1-ldo1-supply = <&mt6359_vs1_buck_reg>;
+ vs1-ldo2-supply = <&mt6359_vs1_buck_reg>;
+ vs2-ldo1-supply = <&mt6359_vs2_buck_reg>;
+ vs2-ldo2-supply = <&mt6359_vs2_buck_reg>;
mt6365keys: keys {
compatible = "mediatek,mt6365-keys", "mediatek,mt6359-keys";
diff --git a/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi
index 9f5a0ec563e8..8256279c5629 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-tungsten-smarc.dtsi
@@ -265,8 +265,6 @@
};
&disp_dsi0 {
- #address-cells = <1>;
- #size-cells = <0>;
status = "okay";
ports {
@@ -1049,8 +1047,6 @@
ethernet@1 {
compatible = "usb424,7850";
reg = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
mdio {
#address-cells = <1>;
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
index edc5539bebde..7ea45b6bc663 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
@@ -1170,6 +1170,23 @@
&pmic {
interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
+ vsys-smps-supply = <&reg_vsys>;
+ vsys-vcore-supply = <&reg_vsys>;
+ vsys-vgpu11-supply = <&reg_vsys>;
+ vsys-vgpu12-supply = <&reg_vsys>;
+ vsys-vpa-supply = <&reg_vsys>;
+ vsys-vproc1-supply = <&reg_vsys>;
+ vsys-vproc2-supply = <&reg_vsys>;
+ vsys-vpu-supply = <&reg_vsys>;
+ vsys-vs1-supply = <&reg_vsys>;
+ vsys-vs2-supply = <&reg_vsys>;
+ vsys-vmodem-supply = <&reg_vsys>;
+ vsys-ldo1-supply = <&reg_vsys_buck>;
+ vsys-ldo2-supply = <&reg_vsys_buck>;
+ vs1-ldo1-supply = <&mt6359_vs1_buck_reg>;
+ vs1-ldo2-supply = <&mt6359_vs1_buck_reg>;
+ vs2-ldo1-supply = <&mt6359_vs2_buck_reg>;
+ vs2-ldo2-supply = <&mt6359_vs2_buck_reg>;
mt6365keys: keys {
compatible = "mediatek,mt6365-keys", "mediatek,mt6359-keys";
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
index b279eed1bfc3..9cf0315da035 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
@@ -1033,6 +1033,23 @@
&pmic {
interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
+ vsys-smps-supply = <&vsys>;
+ vsys-vcore-supply = <&vsys>;
+ vsys-vgpu11-supply = <&vsys>;
+ vsys-vgpu12-supply = <&vsys>;
+ vsys-vpa-supply = <&vsys>;
+ vsys-vproc1-supply = <&vsys>;
+ vsys-vproc2-supply = <&vsys>;
+ vsys-vpu-supply = <&vsys>;
+ vsys-vs1-supply = <&vsys>;
+ vsys-vs2-supply = <&vsys>;
+ vsys-vmodem-supply = <&vsys>;
+ vsys-ldo1-supply = <&vsys_buck>;
+ vsys-ldo2-supply = <&vsys_buck>;
+ vs1-ldo1-supply = <&mt6359_vs1_buck_reg>;
+ vs1-ldo2-supply = <&mt6359_vs1_buck_reg>;
+ vs2-ldo1-supply = <&mt6359_vs2_buck_reg>;
+ vs2-ldo2-supply = <&mt6359_vs2_buck_reg>;
mt6365keys: keys {
compatible = "mediatek,mt6365-keys", "mediatek,mt6359-keys";
diff --git a/drivers/soc/mediatek/mt8167-mmsys.h b/drivers/soc/mediatek/mt8167-mmsys.h
index eef14083c47b..d579feee4212 100644
--- a/drivers/soc/mediatek/mt8167-mmsys.h
+++ b/drivers/soc/mediatek/mt8167-mmsys.h
@@ -10,29 +10,24 @@
#define MT8167_DISP_REG_CONFIG_DISP_RDMA0_SOUT_SEL_IN 0x06c
#define MT8167_DITHER_MOUT_EN_RDMA0 0x1
-#define MT8167_DITHER_MOUT_EN_MASK 0x7
-
#define MT8167_RDMA0_SOUT_DSI0 0x2
-#define MT8167_RDMA0_SOUT_MASK 0x3
-
#define MT8167_DSI0_SEL_IN_RDMA0 0x1
-#define MT8167_DSI0_SEL_IN_MASK 0x3
static const struct mtk_mmsys_routes mt8167_mmsys_routing_table[] = {
- MMSYS_ROUTE(OVL0, COLOR0,
+ MMSYS_ROUTE(OVL, 0, COLOR, 0,
MT8167_DISP_REG_CONFIG_DISP_OVL0_MOUT_EN, OVL0_MOUT_EN_COLOR0,
OVL0_MOUT_EN_COLOR0),
- MMSYS_ROUTE(DITHER0, RDMA0,
- MT8167_DISP_REG_CONFIG_DISP_DITHER_MOUT_EN, MT8167_DITHER_MOUT_EN_MASK,
+ MMSYS_ROUTE(DITHER, 0, RDMA, 0,
+ MT8167_DISP_REG_CONFIG_DISP_DITHER_MOUT_EN, MT8167_DITHER_MOUT_EN_RDMA0,
MT8167_DITHER_MOUT_EN_RDMA0),
- MMSYS_ROUTE(OVL0, COLOR0,
+ MMSYS_ROUTE(OVL, 0, COLOR, 0,
MT8167_DISP_REG_CONFIG_DISP_COLOR0_SEL_IN, COLOR0_SEL_IN_OVL0,
COLOR0_SEL_IN_OVL0),
- MMSYS_ROUTE(RDMA0, DSI0,
- MT8167_DISP_REG_CONFIG_DISP_DSI0_SEL_IN, MT8167_DSI0_SEL_IN_MASK,
+ MMSYS_ROUTE(RDMA, 0, DSI, 0,
+ MT8167_DISP_REG_CONFIG_DISP_DSI0_SEL_IN, MT8167_DSI0_SEL_IN_RDMA0,
MT8167_DSI0_SEL_IN_RDMA0),
- MMSYS_ROUTE(RDMA0, DSI0,
- MT8167_DISP_REG_CONFIG_DISP_RDMA0_SOUT_SEL_IN, MT8167_RDMA0_SOUT_MASK,
+ MMSYS_ROUTE(RDMA, 0, DSI, 0,
+ MT8167_DISP_REG_CONFIG_DISP_RDMA0_SOUT_SEL_IN, MT8167_RDMA0_SOUT_DSI0,
MT8167_RDMA0_SOUT_DSI0),
};
diff --git a/drivers/soc/mediatek/mt8173-mmsys.h b/drivers/soc/mediatek/mt8173-mmsys.h
index 957876d7c166..af67879ff8b4 100644
--- a/drivers/soc/mediatek/mt8173-mmsys.h
+++ b/drivers/soc/mediatek/mt8173-mmsys.h
@@ -33,46 +33,46 @@
#define MT8173_RDMA0_SOUT_COLOR0 BIT(0)
static const struct mtk_mmsys_routes mt8173_mmsys_routing_table[] = {
- MMSYS_ROUTE(OVL0, COLOR0,
+ MMSYS_ROUTE(OVL, 0, COLOR, 0,
MT8173_DISP_REG_CONFIG_DISP_OVL0_MOUT_EN, MT8173_OVL0_MOUT_EN_COLOR0,
MT8173_OVL0_MOUT_EN_COLOR0),
- MMSYS_ROUTE(OD0, RDMA0,
+ MMSYS_ROUTE(OD, 0, RDMA, 0,
MT8173_DISP_REG_CONFIG_DISP_OD_MOUT_EN, MT8173_OD0_MOUT_EN_RDMA0,
MT8173_OD0_MOUT_EN_RDMA0),
- MMSYS_ROUTE(UFOE, DSI0,
+ MMSYS_ROUTE(UFOE, 0, DSI, 0,
MT8173_DISP_REG_CONFIG_DISP_UFOE_MOUT_EN, MT8173_UFOE_MOUT_EN_DSI0,
MT8173_UFOE_MOUT_EN_DSI0),
- MMSYS_ROUTE(COLOR0, AAL0,
+ MMSYS_ROUTE(COLOR, 0, AAL, 0,
MT8173_DISP_REG_CONFIG_DISP_COLOR0_SOUT_SEL_IN, MT8173_COLOR0_SOUT_MERGE,
0 /* SOUT to AAL */),
- MMSYS_ROUTE(RDMA0, UFOE,
+ MMSYS_ROUTE(RDMA, 0, UFOE, 0,
MT8173_DISP_REG_CONFIG_DISP_RDMA0_SOUT_SEL_IN, MT8173_RDMA0_SOUT_COLOR0,
0 /* SOUT to UFOE */),
- MMSYS_ROUTE(OVL0, COLOR0,
+ MMSYS_ROUTE(OVL, 0, COLOR, 0,
MT8173_DISP_REG_CONFIG_DISP_COLOR0_SEL_IN, MT8173_COLOR0_SEL_IN_OVL0,
MT8173_COLOR0_SEL_IN_OVL0),
- MMSYS_ROUTE(AAL0, COLOR0,
+ MMSYS_ROUTE(AAL, 0, COLOR, 0,
MT8173_DISP_REG_CONFIG_DISP_AAL_SEL_IN, MT8173_AAL_SEL_IN_MERGE,
0 /* SEL_IN from COLOR0 */),
- MMSYS_ROUTE(RDMA0, UFOE,
+ MMSYS_ROUTE(RDMA, 0, UFOE, 0,
MT8173_DISP_REG_CONFIG_DISP_UFOE_SEL_IN, MT8173_UFOE_SEL_IN_RDMA0,
0 /* SEL_IN from RDMA0 */),
- MMSYS_ROUTE(UFOE, DSI0,
+ MMSYS_ROUTE(UFOE, 0, DSI, 0,
MT8173_DISP_REG_CONFIG_DSI0_SEL_IN, MT8173_DSI0_SEL_IN_UFOE,
0 /* SEL_IN from UFOE */),
- MMSYS_ROUTE(OVL1, COLOR1,
+ MMSYS_ROUTE(OVL, 1, COLOR, 1,
MT8173_DISP_REG_CONFIG_DISP_OVL1_MOUT_EN, MT8173_OVL1_MOUT_EN_COLOR1,
MT8173_OVL1_MOUT_EN_COLOR1),
- MMSYS_ROUTE(GAMMA, RDMA1,
+ MMSYS_ROUTE(GAMMA, 0, RDMA, 1,
MT8173_DISP_REG_CONFIG_DISP_GAMMA_MOUT_EN, MT8173_GAMMA_MOUT_EN_RDMA1,
MT8173_GAMMA_MOUT_EN_RDMA1),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8173_DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
RDMA1_SOUT_DPI0),
- MMSYS_ROUTE(OVL1, COLOR1,
+ MMSYS_ROUTE(OVL, 1, COLOR, 1,
MT8173_DISP_REG_CONFIG_DISP_COLOR1_SEL_IN, COLOR1_SEL_IN_OVL1,
COLOR1_SEL_IN_OVL1),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8173_DISP_REG_CONFIG_DPI_SEL_IN, MT8173_DPI0_SEL_IN_MASK,
MT8173_DPI0_SEL_IN_RDMA1),
};
diff --git a/drivers/soc/mediatek/mt8183-mmsys.h b/drivers/soc/mediatek/mt8183-mmsys.h
index 123384958c4b..cf221ef203d2 100644
--- a/drivers/soc/mediatek/mt8183-mmsys.h
+++ b/drivers/soc/mediatek/mt8183-mmsys.h
@@ -28,25 +28,25 @@
#define MT8183_MMSYS_SW0_RST_B 0x140
static const struct mtk_mmsys_routes mmsys_mt8183_routing_table[] = {
- MMSYS_ROUTE(OVL0, OVL_2L0,
+ MMSYS_ROUTE(OVL, 0, OVL_2L, 0,
MT8183_DISP_OVL0_MOUT_EN, MT8183_OVL0_MOUT_EN_OVL0_2L,
MT8183_OVL0_MOUT_EN_OVL0_2L),
- MMSYS_ROUTE(OVL_2L0, RDMA0,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 0,
MT8183_DISP_OVL0_2L_MOUT_EN, MT8183_OVL0_2L_MOUT_EN_DISP_PATH0,
MT8183_OVL0_2L_MOUT_EN_DISP_PATH0),
- MMSYS_ROUTE(OVL_2L1, RDMA1,
+ MMSYS_ROUTE(OVL_2L, 1, RDMA, 1,
MT8183_DISP_OVL1_2L_MOUT_EN, MT8183_OVL1_2L_MOUT_EN_RDMA1,
MT8183_OVL1_2L_MOUT_EN_RDMA1),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8183_DISP_DITHER0_MOUT_EN, MT8183_DITHER0_MOUT_IN_DSI0,
MT8183_DITHER0_MOUT_IN_DSI0),
- MMSYS_ROUTE(OVL_2L0, RDMA0,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 0,
MT8183_DISP_PATH0_SEL_IN, MT8183_DISP_PATH0_SEL_IN_OVL0_2L,
MT8183_DISP_PATH0_SEL_IN_OVL0_2L),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8183_DISP_DPI0_SEL_IN, MT8183_DPI0_SEL_IN_RDMA1,
MT8183_DPI0_SEL_IN_RDMA1),
- MMSYS_ROUTE(RDMA0, COLOR0,
+ MMSYS_ROUTE(RDMA, 0, COLOR, 0,
MT8183_DISP_RDMA0_SOUT_SEL_IN, MT8183_RDMA0_SOUT_COLOR0,
MT8183_RDMA0_SOUT_COLOR0),
};
diff --git a/drivers/soc/mediatek/mt8186-mmsys.h b/drivers/soc/mediatek/mt8186-mmsys.h
index 354664be72bd..0c6941be6fa5 100644
--- a/drivers/soc/mediatek/mt8186-mmsys.h
+++ b/drivers/soc/mediatek/mt8186-mmsys.h
@@ -63,37 +63,37 @@
#define MT8186_MMSYS_SW0_RST_B 0x160
static const struct mtk_mmsys_routes mmsys_mt8186_routing_table[] = {
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8186_DISP_OVL0_MOUT_EN, MT8186_OVL0_MOUT_EN_MASK,
MT8186_OVL0_MOUT_TO_RDMA0),
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8186_DISP_RDMA0_SEL_IN, MT8186_RDMA0_SEL_IN_MASK,
MT8186_RDMA0_FROM_OVL0),
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8186_MMSYS_OVL_CON, MT8186_MMSYS_OVL0_CON_MASK,
MT8186_OVL0_GO_BLEND),
- MMSYS_ROUTE(RDMA0, COLOR0,
+ MMSYS_ROUTE(RDMA, 0, COLOR, 0,
MT8186_DISP_RDMA0_SOUT_SEL, MT8186_RDMA0_SOUT_SEL_MASK,
MT8186_RDMA0_SOUT_TO_COLOR0),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8186_DISP_DITHER0_MOUT_EN, MT8186_DITHER0_MOUT_EN_MASK,
MT8186_DITHER0_MOUT_TO_DSI0),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8186_DISP_DSI0_SEL_IN, MT8186_DSI0_SEL_IN_MASK,
MT8186_DSI0_FROM_DITHER0),
- MMSYS_ROUTE(OVL_2L0, RDMA1,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 1,
MT8186_DISP_OVL0_2L_MOUT_EN, MT8186_OVL0_2L_MOUT_EN_MASK,
MT8186_OVL0_2L_MOUT_TO_RDMA1),
- MMSYS_ROUTE(OVL_2L0, RDMA1,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 1,
MT8186_DISP_RDMA1_SEL_IN, MT8186_RDMA1_SEL_IN_MASK,
MT8186_RDMA1_FROM_OVL0_2L),
- MMSYS_ROUTE(OVL_2L0, RDMA1,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 1,
MT8186_MMSYS_OVL_CON, MT8186_MMSYS_OVL0_2L_CON_MASK,
MT8186_OVL0_2L_GO_BLEND),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8186_DISP_RDMA1_MOUT_EN, MT8186_RDMA1_MOUT_EN_MASK,
MT8186_RDMA1_MOUT_TO_DPI0_SEL),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8186_DISP_DPI0_SEL_IN, MT8186_DPI0_SEL_IN_MASK,
MT8186_DPI0_FROM_RDMA1),
};
diff --git a/drivers/soc/mediatek/mt8188-mmsys.h b/drivers/soc/mediatek/mt8188-mmsys.h
index 99080afead7e..c70c4b462381 100644
--- a/drivers/soc/mediatek/mt8188-mmsys.h
+++ b/drivers/soc/mediatek/mt8188-mmsys.h
@@ -202,124 +202,124 @@ static const u8 mmsys_mt8188_vdo1_rst_tb[] = {
};
static const struct mtk_mmsys_routes mmsys_mt8188_routing_table[] = {
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8188_VDO0_OVL_MOUT_EN, MT8188_MOUT_DISP_OVL0_TO_DISP_RDMA0,
MT8188_MOUT_DISP_OVL0_TO_DISP_RDMA0),
- MMSYS_ROUTE(OVL0, WDMA0,
+ MMSYS_ROUTE(OVL, 0, WDMA, 0,
MT8188_VDO0_OVL_MOUT_EN, MT8188_MOUT_DISP_OVL0_TO_DISP_WDMA0,
MT8188_MOUT_DISP_OVL0_TO_DISP_WDMA0),
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8188_VDO0_DISP_RDMA_SEL, MT8188_SEL_IN_DISP_RDMA0_FROM_MASK,
MT8188_SEL_IN_DISP_RDMA0_FROM_DISP_OVL0),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8188_VDO0_DSI0_SEL_IN, MT8188_SEL_IN_DSI0_FROM_MASK,
MT8188_SEL_IN_DSI0_FROM_DISP_DITHER0),
- MMSYS_ROUTE(DITHER0, MERGE0,
+ MMSYS_ROUTE(DITHER, 0, MERGE, 0,
MT8188_VDO0_VPP_MERGE_SEL, MT8188_SEL_IN_VPP_MERGE_FROM_MASK,
MT8188_SEL_IN_DP_INTF0_FROM_DISP_DITHER0),
- MMSYS_ROUTE(DITHER0, DSC0,
+ MMSYS_ROUTE(DITHER, 0, DSC, 0,
MT8188_VDO0_DSC_WARP_SEL, MT8188_SEL_IN_DSC_WRAP0C0_IN_FROM_MASK,
MT8188_SEL_IN_DSC_WRAP0C0_IN_FROM_DISP_DITHER0),
- MMSYS_ROUTE(DITHER0, DP_INTF0,
+ MMSYS_ROUTE(DITHER, 0, DP_INTF, 0,
MT8188_VDO0_DP_INTF0_SEL_IN, MT8188_SEL_IN_DP_INTF0_FROM_MASK,
MT8188_SEL_IN_DP_INTF0_FROM_DISP_DITHER0),
- MMSYS_ROUTE(DSC0, MERGE0,
+ MMSYS_ROUTE(DSC, 0, MERGE, 0,
MT8188_VDO0_VPP_MERGE_SEL, MT8188_SEL_IN_VPP_MERGE_FROM_MASK,
MT8188_SEL_IN_VPP_MERGE_FROM_DSC_WRAP0_OUT),
- MMSYS_ROUTE(MERGE0, DP_INTF0,
+ MMSYS_ROUTE(MERGE, 0, DP_INTF, 0,
MT8188_VDO0_DP_INTF0_SEL_IN, MT8188_SEL_IN_DP_INTF0_FROM_MASK,
MT8188_SEL_IN_DP_INTF0_FROM_VPP_MERGE),
- MMSYS_ROUTE(DSC0, DSI0,
+ MMSYS_ROUTE(DSC, 0, DSI, 0,
MT8188_VDO0_DSI0_SEL_IN, MT8188_SEL_IN_DSI0_FROM_MASK,
MT8188_SEL_IN_DSI0_FROM_DSC_WRAP0_OUT),
- MMSYS_ROUTE(RDMA0, COLOR0,
+ MMSYS_ROUTE(RDMA, 0, COLOR, 0,
MT8188_VDO0_DISP_RDMA_SEL, GENMASK(1, 0),
MT8188_SOUT_DISP_RDMA0_TO_DISP_COLOR0),
- MMSYS_ROUTE(DITHER0, DSC0,
+ MMSYS_ROUTE(DITHER, 0, DSC, 0,
MT8188_VDO0_DISP_DITHER0_SEL_OUT, MT8188_SOUT_DISP_DITHER0_TO_MASK,
MT8188_SOUT_DISP_DITHER0_TO_DSC_WRAP0_IN),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8188_VDO0_DISP_DITHER0_SEL_OUT, MT8188_SOUT_DISP_DITHER0_TO_MASK,
MT8188_SOUT_DISP_DITHER0_TO_DSI0),
- MMSYS_ROUTE(DITHER0, MERGE0,
+ MMSYS_ROUTE(DITHER, 0, MERGE, 0,
MT8188_VDO0_DISP_DITHER0_SEL_OUT, MT8188_SOUT_DISP_DITHER0_TO_MASK,
MT8188_SOUT_DISP_DITHER0_TO_VPP_MERGE0),
- MMSYS_ROUTE(DITHER0, DP_INTF0,
+ MMSYS_ROUTE(DITHER, 0, DP_INTF, 0,
MT8188_VDO0_DISP_DITHER0_SEL_OUT, MT8188_SOUT_DISP_DITHER0_TO_MASK,
MT8188_SOUT_DISP_DITHER0_TO_DP_INTF0),
- MMSYS_ROUTE(MERGE0, DP_INTF0,
+ MMSYS_ROUTE(MERGE, 0, DP_INTF, 0,
MT8188_VDO0_VPP_MERGE_SEL, MT8188_SOUT_VPP_MERGE_TO_MASK,
MT8188_SOUT_VPP_MERGE_TO_DP_INTF0),
- MMSYS_ROUTE(MERGE0, DPI0,
+ MMSYS_ROUTE(MERGE, 0, DPI, 0,
MT8188_VDO0_VPP_MERGE_SEL, MT8188_SOUT_VPP_MERGE_TO_MASK,
MT8188_SOUT_VPP_MERGE_TO_SINA_VIRTUAL0),
- MMSYS_ROUTE(MERGE0, WDMA0,
+ MMSYS_ROUTE(MERGE, 0, WDMA, 0,
MT8188_VDO0_VPP_MERGE_SEL, MT8188_SOUT_VPP_MERGE_TO_MASK,
MT8188_SOUT_VPP_MERGE_TO_DISP_WDMA0),
- MMSYS_ROUTE(MERGE0, DSC0,
+ MMSYS_ROUTE(MERGE, 0, DSC, 0,
MT8188_VDO0_VPP_MERGE_SEL, MT8188_SOUT_VPP_MERGE_TO_MASK,
MT8188_SOUT_VPP_MERGE_TO_DSC_WRAP0_IN),
- MMSYS_ROUTE(DSC0, DSI0,
+ MMSYS_ROUTE(DSC, 0, DSI, 0,
MT8188_VDO0_DSC_WARP_SEL, MT8188_SOUT_DSC_WRAP0_OUT_TO_MASK,
MT8188_SOUT_DSC_WRAP0_OUT_TO_DSI0),
- MMSYS_ROUTE(DSC0, MERGE0,
+ MMSYS_ROUTE(DSC, 0, MERGE, 0,
MT8188_VDO0_DSC_WARP_SEL, MT8188_SOUT_DSC_WRAP0_OUT_TO_MASK,
MT8188_SOUT_DSC_WRAP0_OUT_TO_VPP_MERGE),
};
static const struct mtk_mmsys_routes mmsys_mt8188_vdo1_routing_table[] = {
- MMSYS_ROUTE(MDP_RDMA0, MERGE1,
+ MMSYS_ROUTE(MDP_RDMA, 0, MERGE, 1,
MT8188_VDO1_VPP_MERGE0_P0_SEL_IN, GENMASK(0, 0),
MT8188_VPP_MERGE0_P0_SEL_IN_FROM_MDP_RDMA0),
- MMSYS_ROUTE(MDP_RDMA1, MERGE1,
+ MMSYS_ROUTE(MDP_RDMA, 1, MERGE, 1,
MT8188_VDO1_VPP_MERGE0_P1_SEL_IN, GENMASK(0, 0),
MT8188_VPP_MERGE0_P1_SEL_IN_FROM_MDP_RDMA1),
- MMSYS_ROUTE(MDP_RDMA2, MERGE2,
+ MMSYS_ROUTE(MDP_RDMA, 2, MERGE, 2,
MT8188_VDO1_VPP_MERGE1_P0_SEL_IN, GENMASK(0, 0),
MT8188_VPP_MERGE1_P0_SEL_IN_FROM_MDP_RDMA2),
- MMSYS_ROUTE(MERGE1, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 1, ETHDR_MIXER, 0,
MT8188_VDO1_MERGE0_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8188_SOUT_TO_MIXER_IN1_SEL),
- MMSYS_ROUTE(MERGE2, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 2, ETHDR_MIXER, 0,
MT8188_VDO1_MERGE1_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8188_SOUT_TO_MIXER_IN2_SEL),
- MMSYS_ROUTE(MERGE3, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 3, ETHDR_MIXER, 0,
MT8188_VDO1_MERGE2_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8188_SOUT_TO_MIXER_IN3_SEL),
- MMSYS_ROUTE(MERGE4, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 4, ETHDR_MIXER, 0,
MT8188_VDO1_MERGE3_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8188_SOUT_TO_MIXER_IN4_SEL),
- MMSYS_ROUTE(ETHDR_MIXER, MERGE5,
+ MMSYS_ROUTE(ETHDR_MIXER, 0, MERGE, 5,
MT8188_VDO1_MIXER_OUT_SOUT_SEL, GENMASK(0, 0),
MT8188_MIXER_SOUT_TO_MERGE4_ASYNC_SEL),
- MMSYS_ROUTE(MERGE1, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 1, ETHDR_MIXER, 0,
MT8188_VDO1_MIXER_IN1_SEL_IN, GENMASK(0, 0),
MT8188_MIXER_IN1_SEL_IN_FROM_MERGE0_ASYNC_SOUT),
- MMSYS_ROUTE(MERGE2, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 2, ETHDR_MIXER, 0,
MT8188_VDO1_MIXER_IN2_SEL_IN, GENMASK(0, 0),
MT8188_MIXER_IN2_SEL_IN_FROM_MERGE1_ASYNC_SOUT),
- MMSYS_ROUTE(MERGE3, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 3, ETHDR_MIXER, 0,
MT8188_VDO1_MIXER_IN3_SEL_IN, GENMASK(0, 0),
MT8188_MIXER_IN3_SEL_IN_FROM_MERGE2_ASYNC_SOUT),
- MMSYS_ROUTE(MERGE4, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 4, ETHDR_MIXER, 0,
MT8188_VDO1_MIXER_IN4_SEL_IN, GENMASK(0, 0),
MT8188_MIXER_IN4_SEL_IN_FROM_MERGE3_ASYNC_SOUT),
- MMSYS_ROUTE(ETHDR_MIXER, MERGE5,
+ MMSYS_ROUTE(ETHDR_MIXER, 0, MERGE, 5,
MT8188_VDO1_MIXER_SOUT_SEL_IN, GENMASK(2, 0),
MT8188_MIXER_SOUT_SEL_IN_FROM_DISP_MIXER),
- MMSYS_ROUTE(ETHDR_MIXER, MERGE5,
+ MMSYS_ROUTE(ETHDR_MIXER, 0, MERGE, 5,
MT8188_VDO1_MERGE4_ASYNC_SEL_IN, GENMASK(2, 0),
MT8188_MERGE4_ASYNC_SEL_IN_FROM_MIXER_OUT_SOUT),
- MMSYS_ROUTE(MERGE5, DPI1,
+ MMSYS_ROUTE(MERGE, 5, DPI, 1,
MT8188_VDO1_DISP_DPI1_SEL_IN, GENMASK(1, 0),
MT8188_DISP_DPI1_SEL_IN_FROM_VPP_MERGE4_MOUT),
- MMSYS_ROUTE(MERGE5, DPI1,
+ MMSYS_ROUTE(MERGE, 5, DPI, 1,
MT8188_VDO1_MERGE4_SOUT_SEL, GENMASK(3, 0),
MT8188_MERGE4_SOUT_TO_DPI1_SEL),
- MMSYS_ROUTE(MERGE5, DP_INTF1,
+ MMSYS_ROUTE(MERGE, 5, DP_INTF, 1,
MT8188_VDO1_DISP_DP_INTF0_SEL_IN, GENMASK(1, 0),
MT8188_DISP_DP_INTF0_SEL_IN_FROM_VPP_MERGE4_MOUT),
- MMSYS_ROUTE(MERGE5, DP_INTF1,
+ MMSYS_ROUTE(MERGE, 5, DP_INTF, 1,
MT8188_VDO1_MERGE4_SOUT_SEL, GENMASK(3, 0),
MT8188_MERGE4_SOUT_TO_DP_INTF0_SEL),
};
diff --git a/drivers/soc/mediatek/mt8192-mmsys.h b/drivers/soc/mediatek/mt8192-mmsys.h
index 7cafa2455fd0..37ced5152ba7 100644
--- a/drivers/soc/mediatek/mt8192-mmsys.h
+++ b/drivers/soc/mediatek/mt8192-mmsys.h
@@ -31,34 +31,34 @@
#define MT8192_DSI0_SEL_IN_DITHER0 0x1
static const struct mtk_mmsys_routes mmsys_mt8192_routing_table[] = {
- MMSYS_ROUTE(OVL_2L0, RDMA0,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 0,
MT8192_DISP_OVL0_2L_MOUT_EN, MT8192_OVL0_MOUT_EN_DISP_RDMA0,
MT8192_OVL0_MOUT_EN_DISP_RDMA0),
- MMSYS_ROUTE(OVL_2L2, RDMA4,
+ MMSYS_ROUTE(OVL_2L, 2, RDMA, 4,
MT8192_DISP_OVL2_2L_MOUT_EN, MT8192_OVL2_2L_MOUT_EN_RDMA4,
MT8192_OVL2_2L_MOUT_EN_RDMA4),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8192_DISP_DITHER0_MOUT_EN, MT8192_DITHER0_MOUT_IN_DSI0,
MT8192_DITHER0_MOUT_IN_DSI0),
- MMSYS_ROUTE(OVL_2L0, RDMA0,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 0,
MT8192_DISP_RDMA0_SEL_IN, MT8192_RDMA0_SEL_IN_OVL0_2L,
MT8192_RDMA0_SEL_IN_OVL0_2L),
- MMSYS_ROUTE(CCORR, AAL0,
+ MMSYS_ROUTE(CCORR, 0, AAL, 0,
MT8192_DISP_AAL0_SEL_IN, MT8192_AAL0_SEL_IN_CCORR0,
MT8192_AAL0_SEL_IN_CCORR0),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8192_DISP_DSI0_SEL_IN, MT8192_DSI0_SEL_IN_DITHER0,
MT8192_DSI0_SEL_IN_DITHER0),
- MMSYS_ROUTE(RDMA0, COLOR0,
+ MMSYS_ROUTE(RDMA, 0, COLOR, 0,
MT8192_DISP_RDMA0_SOUT_SEL, MT8192_RDMA0_SOUT_COLOR0,
MT8192_RDMA0_SOUT_COLOR0),
- MMSYS_ROUTE(CCORR, AAL0,
+ MMSYS_ROUTE(CCORR, 0, AAL, 0,
MT8192_DISP_CCORR0_SOUT_SEL, MT8192_CCORR0_SOUT_AAL0,
MT8192_CCORR0_SOUT_AAL0),
- MMSYS_ROUTE(OVL0, OVL_2L0,
+ MMSYS_ROUTE(OVL, 0, OVL_2L, 0,
MT8192_MMSYS_OVL_MOUT_EN, MT8192_DISP_OVL0_GO_BG,
MT8192_DISP_OVL0_GO_BG),
- MMSYS_ROUTE(OVL_2L0, RDMA0,
+ MMSYS_ROUTE(OVL_2L, 0, RDMA, 0,
MT8192_MMSYS_OVL_MOUT_EN, MT8192_DISP_OVL0_2L_GO_BLEND,
MT8192_DISP_OVL0_2L_GO_BLEND),
};
diff --git a/drivers/soc/mediatek/mt8195-mmsys.h b/drivers/soc/mediatek/mt8195-mmsys.h
index f69929a2a4d4..3a58b9b74282 100644
--- a/drivers/soc/mediatek/mt8195-mmsys.h
+++ b/drivers/soc/mediatek/mt8195-mmsys.h
@@ -160,278 +160,279 @@
#define MT8195_SVPP3_MDP_RSZ BIT(5)
static const struct mtk_mmsys_routes mmsys_mt8195_routing_table[] = {
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8195_VDO0_OVL_MOUT_EN, MT8195_MOUT_DISP_OVL0_TO_DISP_RDMA0,
MT8195_MOUT_DISP_OVL0_TO_DISP_RDMA0),
- MMSYS_ROUTE(OVL0, WDMA0,
+ MMSYS_ROUTE(OVL, 0, WDMA, 0,
MT8195_VDO0_OVL_MOUT_EN, MT8195_MOUT_DISP_OVL0_TO_DISP_WDMA0,
MT8195_MOUT_DISP_OVL0_TO_DISP_WDMA0),
- MMSYS_ROUTE(OVL0, OVL1,
+ MMSYS_ROUTE(OVL, 0, OVL, 1,
MT8195_VDO0_OVL_MOUT_EN, MT8195_MOUT_DISP_OVL0_TO_DISP_OVL1,
MT8195_MOUT_DISP_OVL0_TO_DISP_OVL1),
- MMSYS_ROUTE(OVL1, RDMA1,
+ MMSYS_ROUTE(OVL, 1, RDMA, 1,
MT8195_VDO0_OVL_MOUT_EN, MT8195_MOUT_DISP_OVL1_TO_DISP_RDMA1,
MT8195_MOUT_DISP_OVL1_TO_DISP_RDMA1),
- MMSYS_ROUTE(OVL1, WDMA1,
+ MMSYS_ROUTE(OVL, 1, WDMA, 1,
MT8195_VDO0_OVL_MOUT_EN, MT8195_MOUT_DISP_OVL1_TO_DISP_WDMA1,
MT8195_MOUT_DISP_OVL1_TO_DISP_WDMA1),
- MMSYS_ROUTE(OVL1, OVL0,
+ MMSYS_ROUTE(OVL, 1, OVL, 0,
MT8195_VDO0_OVL_MOUT_EN, MT8195_MOUT_DISP_OVL1_TO_DISP_OVL0,
MT8195_MOUT_DISP_OVL1_TO_DISP_OVL0),
- MMSYS_ROUTE(DSC0, MERGE0,
+ MMSYS_ROUTE(DSC, 0, MERGE, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_VPP_MERGE_FROM_MASK,
MT8195_SEL_IN_VPP_MERGE_FROM_DSC_WRAP0_OUT),
- MMSYS_ROUTE(DITHER1, MERGE0,
+ MMSYS_ROUTE(DITHER, 1, MERGE, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_VPP_MERGE_FROM_MASK,
MT8195_SEL_IN_VPP_MERGE_FROM_DISP_DITHER1),
- MMSYS_ROUTE(MERGE5, MERGE0,
+ MMSYS_ROUTE(MERGE, 5, MERGE, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_VPP_MERGE_FROM_MASK,
MT8195_SEL_IN_VPP_MERGE_FROM_VDO1_VIRTUAL0),
- MMSYS_ROUTE(DITHER0, DSC0,
+ MMSYS_ROUTE(DITHER, 0, DSC, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP0_IN_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP0_IN_FROM_DISP_DITHER0),
- MMSYS_ROUTE(MERGE0, DSC0,
+ MMSYS_ROUTE(MERGE, 0, DSC, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP0_IN_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP0_IN_FROM_VPP_MERGE),
- MMSYS_ROUTE(DITHER1, DSC1,
+ MMSYS_ROUTE(DITHER, 1, DSC, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_IN_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_IN_FROM_DISP_DITHER1),
- MMSYS_ROUTE(MERGE0, DSC1,
+ MMSYS_ROUTE(MERGE, 0, DSC, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_IN_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_IN_FROM_VPP_MERGE),
- MMSYS_ROUTE(MERGE0, DP_INTF1,
+ MMSYS_ROUTE(MERGE, 0, DP_INTF, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINA_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINA_VIRTUAL0_FROM_VPP_MERGE),
- MMSYS_ROUTE(MERGE0, DPI0,
+ MMSYS_ROUTE(MERGE, 0, DPI, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINA_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINA_VIRTUAL0_FROM_VPP_MERGE),
- MMSYS_ROUTE(MERGE0, DPI1,
+ MMSYS_ROUTE(MERGE, 0, DPI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINA_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINA_VIRTUAL0_FROM_VPP_MERGE),
- MMSYS_ROUTE(DSC1, DP_INTF1,
+ MMSYS_ROUTE(DSC, 1, DP_INTF, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINA_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINA_VIRTUAL0_FROM_DSC_WRAP1_OUT),
- MMSYS_ROUTE(DSC1, DPI0,
+ MMSYS_ROUTE(DSC, 1, DPI, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINA_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINA_VIRTUAL0_FROM_DSC_WRAP1_OUT),
- MMSYS_ROUTE(DSC1, DPI1,
+ MMSYS_ROUTE(DSC, 1, DPI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINA_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINA_VIRTUAL0_FROM_DSC_WRAP1_OUT),
- MMSYS_ROUTE(DSC0, DP_INTF1,
+ MMSYS_ROUTE(DSC, 0, DP_INTF, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINB_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINB_VIRTUAL0_FROM_DSC_WRAP0_OUT),
- MMSYS_ROUTE(DSC0, DPI0,
+ MMSYS_ROUTE(DSC, 0, DPI, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINB_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINB_VIRTUAL0_FROM_DSC_WRAP0_OUT),
- MMSYS_ROUTE(DSC0, DPI1,
+ MMSYS_ROUTE(DSC, 0, DPI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_SINB_VIRTUAL0_FROM_MASK,
MT8195_SEL_IN_SINB_VIRTUAL0_FROM_DSC_WRAP0_OUT),
- MMSYS_ROUTE(DSC1, DP_INTF0,
+ MMSYS_ROUTE(DSC, 1, DP_INTF, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DP_INTF0_FROM_MASK,
MT8195_SEL_IN_DP_INTF0_FROM_DSC_WRAP1_OUT),
- MMSYS_ROUTE(MERGE0, DP_INTF0,
+ MMSYS_ROUTE(MERGE, 0, DP_INTF, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DP_INTF0_FROM_MASK,
MT8195_SEL_IN_DP_INTF0_FROM_VPP_MERGE),
- MMSYS_ROUTE(MERGE5, DP_INTF0,
+ MMSYS_ROUTE(MERGE, 5, DP_INTF, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DP_INTF0_FROM_MASK,
MT8195_SEL_IN_DP_INTF0_FROM_VDO1_VIRTUAL0),
- MMSYS_ROUTE(DSC0, DSI0,
+ MMSYS_ROUTE(DSC, 0, DSI, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSI0_FROM_MASK,
MT8195_SEL_IN_DSI0_FROM_DSC_WRAP0_OUT),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSI0_FROM_MASK,
MT8195_SEL_IN_DSI0_FROM_DISP_DITHER0),
- MMSYS_ROUTE(DSC1, DSI1,
+ MMSYS_ROUTE(DSC, 1, DSI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSI1_FROM_MASK,
MT8195_SEL_IN_DSI1_FROM_DSC_WRAP1_OUT),
- MMSYS_ROUTE(MERGE0, DSI1,
+ MMSYS_ROUTE(MERGE, 0, DSI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSI1_FROM_MASK,
MT8195_SEL_IN_DSI1_FROM_VPP_MERGE),
- MMSYS_ROUTE(OVL1, WDMA1,
+ MMSYS_ROUTE(OVL, 1, WDMA, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DISP_WDMA1_FROM_MASK,
MT8195_SEL_IN_DISP_WDMA1_FROM_DISP_OVL1),
- MMSYS_ROUTE(MERGE0, WDMA1,
+ MMSYS_ROUTE(MERGE, 0, WDMA, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DISP_WDMA1_FROM_MASK,
MT8195_SEL_IN_DISP_WDMA1_FROM_VPP_MERGE),
- MMSYS_ROUTE(DSC1, DSI1,
+ MMSYS_ROUTE(DSC, 1, DSI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DSC_WRAP1_IN),
- MMSYS_ROUTE(DSC1, DP_INTF0,
+ MMSYS_ROUTE(DSC, 1, DP_INTF, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DSC_WRAP1_IN),
- MMSYS_ROUTE(DSC1, DP_INTF1,
+ MMSYS_ROUTE(DSC, 1, DP_INTF, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DSC_WRAP1_IN),
- MMSYS_ROUTE(DSC1, DPI0,
+ MMSYS_ROUTE(DSC, 1, DPI, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DSC_WRAP1_IN),
- MMSYS_ROUTE(DSC1, DPI1,
+ MMSYS_ROUTE(DSC, 1, DPI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DSC_WRAP1_IN),
- MMSYS_ROUTE(DSC1, MERGE0,
+ MMSYS_ROUTE(DSC, 1, MERGE, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DSC_WRAP1_IN),
- MMSYS_ROUTE(DITHER1, DSI1,
+ MMSYS_ROUTE(DITHER, 1, DSI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DISP_DITHER1),
- MMSYS_ROUTE(DITHER1, DP_INTF0,
+ MMSYS_ROUTE(DITHER, 1, DP_INTF, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DISP_DITHER1),
- MMSYS_ROUTE(DITHER1, DPI0,
+ MMSYS_ROUTE(DITHER, 1, DPI, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DISP_DITHER1),
- MMSYS_ROUTE(DITHER1, DPI1,
+ MMSYS_ROUTE(DITHER, 1, DPI, 1,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DSC_WRAP1_FROM_MASK,
MT8195_SEL_IN_DSC_WRAP1_OUT_FROM_DISP_DITHER1),
- MMSYS_ROUTE(OVL0, WDMA0,
+ MMSYS_ROUTE(OVL, 0, WDMA, 0,
MT8195_VDO0_SEL_IN, MT8195_SEL_IN_DISP_WDMA0_FROM_MASK,
MT8195_SEL_IN_DISP_WDMA0_FROM_DISP_OVL0),
- MMSYS_ROUTE(DITHER0, DSC0,
+ MMSYS_ROUTE(DITHER, 0, DSC, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER0_TO_MASK,
MT8195_SOUT_DISP_DITHER0_TO_DSC_WRAP0_IN),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER0_TO_MASK,
MT8195_SOUT_DISP_DITHER0_TO_DSI0),
- MMSYS_ROUTE(DITHER1, DSC1,
+ MMSYS_ROUTE(DITHER, 1, DSC, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER1_TO_MASK,
MT8195_SOUT_DISP_DITHER1_TO_DSC_WRAP1_IN),
- MMSYS_ROUTE(DITHER1, MERGE0,
+ MMSYS_ROUTE(DITHER, 1, MERGE, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER1_TO_MASK,
MT8195_SOUT_DISP_DITHER1_TO_VPP_MERGE),
- MMSYS_ROUTE(DITHER1, DSI1,
+ MMSYS_ROUTE(DITHER, 1, DSI, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER1_TO_MASK,
MT8195_SOUT_DISP_DITHER1_TO_DSC_WRAP1_OUT),
- MMSYS_ROUTE(DITHER1, DP_INTF0,
+ MMSYS_ROUTE(DITHER, 1, DP_INTF, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER1_TO_MASK,
MT8195_SOUT_DISP_DITHER1_TO_DSC_WRAP1_OUT),
- MMSYS_ROUTE(DITHER1, DP_INTF1,
+ MMSYS_ROUTE(DITHER, 1, DP_INTF, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER1_TO_MASK,
MT8195_SOUT_DISP_DITHER1_TO_DSC_WRAP1_OUT),
- MMSYS_ROUTE(DITHER1, DPI0,
+ MMSYS_ROUTE(DITHER, 1, DPI, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER1_TO_MASK,
MT8195_SOUT_DISP_DITHER1_TO_DSC_WRAP1_OUT),
- MMSYS_ROUTE(DITHER1, DPI1,
+ MMSYS_ROUTE(DITHER, 1, DPI, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DISP_DITHER1_TO_MASK,
MT8195_SOUT_DISP_DITHER1_TO_DSC_WRAP1_OUT),
- MMSYS_ROUTE(MERGE5, MERGE0,
+ MMSYS_ROUTE(MERGE, 5, MERGE, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VDO1_VIRTUAL0_TO_MASK,
MT8195_SOUT_VDO1_VIRTUAL0_TO_VPP_MERGE),
- MMSYS_ROUTE(MERGE5, DP_INTF0,
+ MMSYS_ROUTE(MERGE, 5, DP_INTF, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VDO1_VIRTUAL0_TO_MASK,
MT8195_SOUT_VDO1_VIRTUAL0_TO_DP_INTF0),
- MMSYS_ROUTE(MERGE0, DSI1,
+ MMSYS_ROUTE(MERGE, 0, DSI, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_MASK,
MT8195_SOUT_VPP_MERGE_TO_DSI1),
- MMSYS_ROUTE(MERGE0, DP_INTF0,
+ MMSYS_ROUTE(MERGE, 0, DP_INTF, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_MASK,
MT8195_SOUT_VPP_MERGE_TO_DP_INTF0),
- MMSYS_ROUTE(MERGE0, DP_INTF1,
+ MMSYS_ROUTE(MERGE, 0, DP_INTF, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_MASK,
MT8195_SOUT_VPP_MERGE_TO_SINA_VIRTUAL0),
- MMSYS_ROUTE(MERGE0, DPI0,
+ MMSYS_ROUTE(MERGE, 0, DPI, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_MASK,
MT8195_SOUT_VPP_MERGE_TO_SINA_VIRTUAL0),
- MMSYS_ROUTE(MERGE0, DPI1,
+ MMSYS_ROUTE(MERGE, 0, DPI, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_MASK,
MT8195_SOUT_VPP_MERGE_TO_SINA_VIRTUAL0),
- MMSYS_ROUTE(MERGE0, WDMA1,
+ MMSYS_ROUTE(MERGE, 0, WDMA, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_MASK,
MT8195_SOUT_VPP_MERGE_TO_DISP_WDMA1),
- MMSYS_ROUTE(MERGE0, DSC0,
+ MMSYS_ROUTE(MERGE, 0, DSC, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_MASK,
MT8195_SOUT_VPP_MERGE_TO_DSC_WRAP0_IN),
- MMSYS_ROUTE(MERGE0, DSC1,
+ MMSYS_ROUTE(MERGE, 0, DSC, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_VPP_MERGE_TO_DSC_WRAP1_IN_MASK,
MT8195_SOUT_VPP_MERGE_TO_DSC_WRAP1_IN),
- MMSYS_ROUTE(DSC0, DSI0,
+ MMSYS_ROUTE(DSC, 0, DSI, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP0_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP0_OUT_TO_DSI0),
- MMSYS_ROUTE(DSC0, DP_INTF1,
+ MMSYS_ROUTE(DSC, 0, DP_INTF, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP0_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP0_OUT_TO_SINB_VIRTUAL0),
- MMSYS_ROUTE(DSC0, DPI0,
+ MMSYS_ROUTE(DSC, 0, DPI, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP0_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP0_OUT_TO_SINB_VIRTUAL0),
- MMSYS_ROUTE(DSC0, DPI1,
+ MMSYS_ROUTE(DSC, 0, DPI, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP0_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP0_OUT_TO_SINB_VIRTUAL0),
- MMSYS_ROUTE(DSC0, MERGE0,
+ MMSYS_ROUTE(DSC, 0, MERGE, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP0_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP0_OUT_TO_VPP_MERGE),
- MMSYS_ROUTE(DSC1, DSI1,
+ MMSYS_ROUTE(DSC, 1, DSI, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP1_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP1_OUT_TO_DSI1),
- MMSYS_ROUTE(DSC1, DP_INTF0,
+ MMSYS_ROUTE(DSC, 1, DP_INTF, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP1_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP1_OUT_TO_DP_INTF0),
- MMSYS_ROUTE(DSC1, DP_INTF1,
+ MMSYS_ROUTE(DSC, 1, DP_INTF, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP1_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP1_OUT_TO_SINA_VIRTUAL0),
- MMSYS_ROUTE(DSC1, DPI0,
+ MMSYS_ROUTE(DSC, 1, DPI, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP1_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP1_OUT_TO_SINA_VIRTUAL0),
- MMSYS_ROUTE(DSC1, DPI1,
+ MMSYS_ROUTE(DSC, 1, DPI, 1,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP1_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP1_OUT_TO_SINA_VIRTUAL0),
- MMSYS_ROUTE(DSC1, MERGE0,
+ MMSYS_ROUTE(DSC, 1, MERGE, 0,
MT8195_VDO0_SEL_OUT, MT8195_SOUT_DSC_WRAP1_OUT_TO_MASK,
MT8195_SOUT_DSC_WRAP1_OUT_TO_VPP_MERGE),
};
static const struct mtk_mmsys_routes mmsys_mt8195_vdo1_routing_table[] = {
- MMSYS_ROUTE(MDP_RDMA0, MERGE1,
+ MMSYS_ROUTE(MDP_RDMA, 0, MERGE, 1,
MT8195_VDO1_VPP_MERGE0_P0_SEL_IN, GENMASK(0, 0),
MT8195_VPP_MERGE0_P0_SEL_IN_FROM_MDP_RDMA0),
- MMSYS_ROUTE(MDP_RDMA1, MERGE1,
+ MMSYS_ROUTE(MDP_RDMA, 1, MERGE, 1,
MT8195_VDO1_VPP_MERGE0_P1_SEL_IN, GENMASK(0, 0),
MT8195_VPP_MERGE0_P1_SEL_IN_FROM_MDP_RDMA1),
- MMSYS_ROUTE(MDP_RDMA2, MERGE2,
+ MMSYS_ROUTE(MDP_RDMA, 2, MERGE, 2,
MT8195_VDO1_VPP_MERGE1_P0_SEL_IN, GENMASK(0, 0),
MT8195_VPP_MERGE1_P0_SEL_IN_FROM_MDP_RDMA2),
- MMSYS_ROUTE(MERGE1, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 1, ETHDR_MIXER, 0,
MT8195_VDO1_MERGE0_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8195_SOUT_TO_MIXER_IN1_SEL),
- MMSYS_ROUTE(MERGE2, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 2, ETHDR_MIXER, 0,
MT8195_VDO1_MERGE1_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8195_SOUT_TO_MIXER_IN2_SEL),
- MMSYS_ROUTE(MERGE3, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 3, ETHDR_MIXER, 0,
MT8195_VDO1_MERGE2_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8195_SOUT_TO_MIXER_IN3_SEL),
- MMSYS_ROUTE(MERGE4, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 4, ETHDR_MIXER, 0,
MT8195_VDO1_MERGE3_ASYNC_SOUT_SEL, GENMASK(1, 0),
MT8195_SOUT_TO_MIXER_IN4_SEL),
- MMSYS_ROUTE(ETHDR_MIXER, MERGE5,
+ MMSYS_ROUTE(ETHDR_MIXER, 0, MERGE, 5,
MT8195_VDO1_MIXER_OUT_SOUT_SEL, GENMASK(0, 0),
MT8195_MIXER_SOUT_TO_MERGE4_ASYNC_SEL),
- MMSYS_ROUTE(MERGE1, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 1, ETHDR_MIXER, 0,
MT8195_VDO1_MIXER_IN1_SEL_IN, GENMASK(0, 0),
MT8195_MIXER_IN1_SEL_IN_FROM_MERGE0_ASYNC_SOUT),
- MMSYS_ROUTE(MERGE2, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 2, ETHDR_MIXER, 0,
MT8195_VDO1_MIXER_IN2_SEL_IN, GENMASK(0, 0),
MT8195_MIXER_IN2_SEL_IN_FROM_MERGE1_ASYNC_SOUT),
- MMSYS_ROUTE(MERGE3, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 3, ETHDR_MIXER, 0,
MT8195_VDO1_MIXER_IN3_SEL_IN, GENMASK(0, 0),
MT8195_MIXER_IN3_SEL_IN_FROM_MERGE2_ASYNC_SOUT),
- MMSYS_ROUTE(MERGE4, ETHDR_MIXER,
+ MMSYS_ROUTE(MERGE, 4, ETHDR_MIXER, 0,
MT8195_VDO1_MIXER_IN4_SEL_IN, GENMASK(0, 0),
MT8195_MIXER_IN4_SEL_IN_FROM_MERGE3_ASYNC_SOUT),
- MMSYS_ROUTE(ETHDR_MIXER, MERGE5,
+ MMSYS_ROUTE(ETHDR_MIXER, 0, MERGE, 5,
MT8195_VDO1_MIXER_SOUT_SEL_IN, GENMASK(2, 0),
MT8195_MIXER_SOUT_SEL_IN_FROM_DISP_MIXER),
- MMSYS_ROUTE(ETHDR_MIXER, MERGE5,
+ MMSYS_ROUTE(ETHDR_MIXER, 0, MERGE, 5,
MT8195_VDO1_MERGE4_ASYNC_SEL_IN, GENMASK(2, 0),
MT8195_MERGE4_ASYNC_SEL_IN_FROM_MIXER_OUT_SOUT),
- MMSYS_ROUTE(MERGE5, DPI1,
+ MMSYS_ROUTE(MERGE, 5, DPI, 1,
MT8195_VDO1_DISP_DPI1_SEL_IN, GENMASK(1, 0),
MT8195_DISP_DPI1_SEL_IN_FROM_VPP_MERGE4_MOUT),
- MMSYS_ROUTE(MERGE5, DPI1,
+ MMSYS_ROUTE(MERGE, 5, DPI, 1,
MT8195_VDO1_MERGE4_SOUT_SEL, GENMASK(1, 0),
MT8195_MERGE4_SOUT_TO_DPI1_SEL),
- MMSYS_ROUTE(MERGE5, DP_INTF1,
+ MMSYS_ROUTE(MERGE, 5, DP_INTF, 1,
MT8195_VDO1_DISP_DP_INTF0_SEL_IN, GENMASK(1, 0),
MT8195_DISP_DP_INTF0_SEL_IN_FROM_VPP_MERGE4_MOUT),
- MMSYS_ROUTE(MERGE5, DP_INTF1,
+ MMSYS_ROUTE(MERGE, 5, DP_INTF, 1,
MT8195_VDO1_MERGE4_SOUT_SEL, GENMASK(1, 0),
MT8195_MERGE4_SOUT_TO_DP_INTF0_SEL),
};
+
#endif /* __SOC_MEDIATEK_MT8195_MMSYS_H */
diff --git a/drivers/soc/mediatek/mt8365-mmsys.h b/drivers/soc/mediatek/mt8365-mmsys.h
index 533a3fd0923b..b438ab7ae00b 100644
--- a/drivers/soc/mediatek/mt8365-mmsys.h
+++ b/drivers/soc/mediatek/mt8365-mmsys.h
@@ -28,35 +28,35 @@
#define MT8365_DPI0_SEL_IN_RDMA1 0x0
static const struct mtk_mmsys_routes mt8365_mmsys_routing_table[] = {
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8365_DISP_REG_CONFIG_DISP_OVL0_MOUT_EN,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_OVL0_MOUT_PATH0_SEL),
- MMSYS_ROUTE(OVL0, RDMA0,
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
MT8365_DISP_REG_CONFIG_DISP_RDMA0_SEL_IN,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_RDMA0_SEL_IN_OVL0),
- MMSYS_ROUTE(RDMA0, COLOR0,
+ MMSYS_ROUTE(RDMA, 0, COLOR, 0,
MT8365_DISP_REG_CONFIG_DISP_RDMA0_SOUT_SEL,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_RDMA0_SOUT_COLOR0),
- MMSYS_ROUTE(COLOR0, CCORR,
+ MMSYS_ROUTE(COLOR, 0, CCORR, 0,
MT8365_DISP_REG_CONFIG_DISP_COLOR0_SEL_IN,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_DISP_COLOR_SEL_IN_COLOR0),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8365_DISP_REG_CONFIG_DISP_DITHER0_MOUT_EN,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_DITHER_MOUT_EN_DSI0),
- MMSYS_ROUTE(DITHER0, DSI0,
+ MMSYS_ROUTE(DITHER, 0, DSI, 0,
MT8365_DISP_REG_CONFIG_DISP_DSI0_SEL_IN,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_DSI0_SEL_IN_DITHER),
- MMSYS_ROUTE(RDMA0, COLOR0,
+ MMSYS_ROUTE(RDMA, 0, COLOR, 0,
MT8365_DISP_REG_CONFIG_DISP_RDMA0_RSZ0_SEL_IN,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_RDMA0_RSZ0_SEL_IN_RDMA0),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8365_DISP_REG_CONFIG_DISP_LVDS_SYS_CFG_00,
MT8365_LVDS_SYS_CFG_00_SEL_LVDS_PXL_CLK,
MT8365_LVDS_SYS_CFG_00_SEL_LVDS_PXL_CLK),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8365_DISP_REG_CONFIG_DISP_DPI0_SEL_IN,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_DPI0_SEL_IN_RDMA1),
- MMSYS_ROUTE(RDMA1, DPI0,
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
MT8365_DISP_REG_CONFIG_DISP_RDMA1_SOUT_SEL,
MT8365_DISP_MS_IN_OUT_MASK, MT8365_RDMA1_SOUT_DPI0),
};
diff --git a/drivers/soc/mediatek/mtk-dvfsrc.c b/drivers/soc/mediatek/mtk-dvfsrc.c
index 548a28f50242..e8cdee8aed35 100644
--- a/drivers/soc/mediatek/mtk-dvfsrc.c
+++ b/drivers/soc/mediatek/mtk-dvfsrc.c
@@ -862,6 +862,7 @@ static const struct of_device_id mtk_dvfsrc_of_match[] = {
{ .compatible = "mediatek,mt8196-dvfsrc", .data = &mt8196_data },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, mtk_dvfsrc_of_match);
static struct platform_driver mtk_dvfsrc_driver = {
.probe = mtk_dvfsrc_probe,
diff --git a/drivers/soc/mediatek/mtk-mmsys.h b/drivers/soc/mediatek/mtk-mmsys.h
index fe628d5f5198..c51a5e334e29 100644
--- a/drivers/soc/mediatek/mtk-mmsys.h
+++ b/drivers/soc/mediatek/mtk-mmsys.h
@@ -80,18 +80,25 @@
#define MMSYS_RST_NR(bank, bit) (((bank) * 32) + (bit))
+/* Temporary compatibility definitions */
+#define DDP_COMPONENT_BLS0 DDP_COMPONENT_BLS
+#define DDP_COMPONENT_CCORR0 DDP_COMPONENT_CCORR
+#define DDP_COMPONENT_UFOE0 DDP_COMPONENT_UFOE
+#define DDP_COMPONENT_GAMMA0 DDP_COMPONENT_GAMMA
+#define DDP_COMPONENT_ETHDR_MIXER0 DDP_COMPONENT_ETHDR_MIXER
+
/*
* This macro adds a compile time check to make sure that the in/out
* selection bit(s) fit in the register mask, similar to bitfield
* macros, but this does not transform the value.
*/
-#define MMSYS_ROUTE(from, to, reg_addr, reg_mask, selection) \
- { DDP_COMPONENT_##from, DDP_COMPONENT_##to, reg_addr, reg_mask, \
- (__BUILD_BUG_ON_ZERO_MSG((reg_mask) == 0, "Invalid mask") + \
- __BUILD_BUG_ON_ZERO_MSG(~(reg_mask) & (selection), \
- #selection " does not fit in " \
- #reg_mask) + \
- (selection)) \
+#define MMSYS_ROUTE(from, fsid, to, tsid, reg_addr, reg_mask, selection) \
+ { DDP_COMPONENT_##from##fsid, DDP_COMPONENT_##to##tsid, reg_addr, reg_mask, \
+ (__BUILD_BUG_ON_ZERO_MSG((reg_mask) == 0, "Invalid mask") + \
+ __BUILD_BUG_ON_ZERO_MSG(~(reg_mask) & (selection), \
+ #selection " does not fit in " \
+ #reg_mask) + \
+ (selection)) \
}
struct mtk_mmsys_routes {
@@ -151,171 +158,120 @@ struct mtk_mmsys_driver_data {
* to an independent table.
*/
static const struct mtk_mmsys_routes mmsys_default_routing_table[] = {
- {
- DDP_COMPONENT_BLS, DDP_COMPONENT_DSI0,
- DISP_REG_CONFIG_OUT_SEL, BLS_RDMA1_DSI_DPI_MASK,
- BLS_TO_DSI_RDMA1_TO_DPI1
- }, {
- DDP_COMPONENT_BLS, DDP_COMPONENT_DSI0,
- DISP_REG_CONFIG_DSI_SEL, DSI_SEL_IN_MASK,
- DSI_SEL_IN_BLS
- }, {
- DDP_COMPONENT_BLS, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_OUT_SEL, BLS_RDMA1_DSI_DPI_MASK,
- BLS_TO_DPI_RDMA1_TO_DSI
- }, {
- DDP_COMPONENT_BLS, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_DSI_SEL, DSI_SEL_IN_MASK,
- DSI_SEL_IN_RDMA
- }, {
- DDP_COMPONENT_BLS, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_DPI_SEL, DPI_SEL_IN_MASK,
- DPI_SEL_IN_BLS
- }, {
- DDP_COMPONENT_GAMMA, DDP_COMPONENT_RDMA1,
- DISP_REG_CONFIG_DISP_GAMMA_MOUT_EN, GAMMA_MOUT_EN_RDMA1,
- GAMMA_MOUT_EN_RDMA1
- }, {
- DDP_COMPONENT_OD0, DDP_COMPONENT_RDMA0,
- DISP_REG_CONFIG_DISP_OD_MOUT_EN, OD_MOUT_EN_RDMA0,
- OD_MOUT_EN_RDMA0
- }, {
- DDP_COMPONENT_OD1, DDP_COMPONENT_RDMA1,
- DISP_REG_CONFIG_DISP_OD_MOUT_EN, OD1_MOUT_EN_RDMA1,
- OD1_MOUT_EN_RDMA1
- }, {
- DDP_COMPONENT_OVL0, DDP_COMPONENT_COLOR0,
- DISP_REG_CONFIG_DISP_OVL0_MOUT_EN, OVL0_MOUT_EN_COLOR0,
- OVL0_MOUT_EN_COLOR0
- }, {
- DDP_COMPONENT_OVL0, DDP_COMPONENT_COLOR0,
- DISP_REG_CONFIG_DISP_COLOR0_SEL_IN, COLOR0_SEL_IN_OVL0,
- COLOR0_SEL_IN_OVL0
- }, {
- DDP_COMPONENT_OVL0, DDP_COMPONENT_RDMA0,
- DISP_REG_CONFIG_DISP_OVL_MOUT_EN, OVL_MOUT_EN_RDMA,
- OVL_MOUT_EN_RDMA
- }, {
- DDP_COMPONENT_OVL1, DDP_COMPONENT_COLOR1,
- DISP_REG_CONFIG_DISP_OVL1_MOUT_EN, OVL1_MOUT_EN_COLOR1,
- OVL1_MOUT_EN_COLOR1
- }, {
- DDP_COMPONENT_OVL1, DDP_COMPONENT_COLOR1,
- DISP_REG_CONFIG_DISP_COLOR1_SEL_IN, COLOR1_SEL_IN_OVL1,
- COLOR1_SEL_IN_OVL1
- }, {
- DDP_COMPONENT_RDMA0, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
- RDMA0_SOUT_DPI0
- }, {
- DDP_COMPONENT_RDMA0, DDP_COMPONENT_DPI1,
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
- RDMA0_SOUT_DPI1
- }, {
- DDP_COMPONENT_RDMA0, DDP_COMPONENT_DSI1,
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
- RDMA0_SOUT_DSI1
- }, {
- DDP_COMPONENT_RDMA0, DDP_COMPONENT_DSI2,
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
- RDMA0_SOUT_DSI2
- }, {
- DDP_COMPONENT_RDMA0, DDP_COMPONENT_DSI3,
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
- RDMA0_SOUT_DSI3
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
- RDMA1_SOUT_DPI0
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_DPI_SEL_IN, DPI0_SEL_IN_MASK,
- DPI0_SEL_IN_RDMA1
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DPI1,
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
- RDMA1_SOUT_DPI1
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DPI1,
- DISP_REG_CONFIG_DPI_SEL_IN, DPI1_SEL_IN_MASK,
- DPI1_SEL_IN_RDMA1
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DSI0,
- DISP_REG_CONFIG_DSIE_SEL_IN, DSI0_SEL_IN_MASK,
- DSI0_SEL_IN_RDMA1
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DSI1,
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
- RDMA1_SOUT_DSI1
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DSI1,
- DISP_REG_CONFIG_DSIO_SEL_IN, DSI1_SEL_IN_MASK,
- DSI1_SEL_IN_RDMA1
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DSI2,
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
- RDMA1_SOUT_DSI2
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DSI2,
- DISP_REG_CONFIG_DSIE_SEL_IN, DSI2_SEL_IN_MASK,
- DSI2_SEL_IN_RDMA1
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DSI3,
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
- RDMA1_SOUT_DSI3
- }, {
- DDP_COMPONENT_RDMA1, DDP_COMPONENT_DSI3,
- DISP_REG_CONFIG_DSIO_SEL_IN, DSI3_SEL_IN_MASK,
- DSI3_SEL_IN_RDMA1
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
- RDMA2_SOUT_DPI0
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DPI0,
- DISP_REG_CONFIG_DPI_SEL_IN, DPI0_SEL_IN_MASK,
- DPI0_SEL_IN_RDMA2
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DPI1,
- DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
- RDMA2_SOUT_DPI1
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DPI1,
- DISP_REG_CONFIG_DPI_SEL_IN, DPI1_SEL_IN_MASK,
- DPI1_SEL_IN_RDMA2
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DSI0,
- DISP_REG_CONFIG_DSIE_SEL_IN, DSI0_SEL_IN_MASK,
- DSI0_SEL_IN_RDMA2
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DSI1,
- DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
- RDMA2_SOUT_DSI1
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DSI1,
- DISP_REG_CONFIG_DSIO_SEL_IN, DSI1_SEL_IN_MASK,
- DSI1_SEL_IN_RDMA2
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DSI2,
- DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
- RDMA2_SOUT_DSI2
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DSI2,
- DISP_REG_CONFIG_DSIE_SEL_IN, DSI2_SEL_IN_MASK,
- DSI2_SEL_IN_RDMA2
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DSI3,
- DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
- RDMA2_SOUT_DSI3
- }, {
- DDP_COMPONENT_RDMA2, DDP_COMPONENT_DSI3,
- DISP_REG_CONFIG_DSIO_SEL_IN, DSI3_SEL_IN_MASK,
- DSI3_SEL_IN_RDMA2
- }, {
- DDP_COMPONENT_UFOE, DDP_COMPONENT_DSI0,
- DISP_REG_CONFIG_DISP_UFOE_MOUT_EN, UFOE_MOUT_EN_DSI0,
- UFOE_MOUT_EN_DSI0
- }
+ MMSYS_ROUTE(BLS, 0, DSI, 0,
+ DISP_REG_CONFIG_OUT_SEL, BLS_RDMA1_DSI_DPI_MASK,
+ BLS_TO_DSI_RDMA1_TO_DPI1),
+ MMSYS_ROUTE(BLS, 0, DSI, 0,
+ DISP_REG_CONFIG_DSI_SEL, DSI_SEL_IN_MASK,
+ DSI_SEL_IN_BLS),
+ MMSYS_ROUTE(BLS, 0, DPI, 0,
+ DISP_REG_CONFIG_OUT_SEL, BLS_RDMA1_DSI_DPI_MASK,
+ BLS_TO_DPI_RDMA1_TO_DSI),
+ MMSYS_ROUTE(BLS, 0, DPI, 0,
+ DISP_REG_CONFIG_DSI_SEL, DSI_SEL_IN_MASK,
+ DSI_SEL_IN_RDMA),
+ MMSYS_ROUTE(BLS, 0, DPI, 0,
+ DISP_REG_CONFIG_DPI_SEL, DPI_SEL_IN_MASK,
+ DPI_SEL_IN_BLS),
+ MMSYS_ROUTE(GAMMA, 0, RDMA, 1,
+ DISP_REG_CONFIG_DISP_GAMMA_MOUT_EN, GAMMA_MOUT_EN_RDMA1,
+ GAMMA_MOUT_EN_RDMA1),
+ MMSYS_ROUTE(OD, 0, RDMA, 0,
+ DISP_REG_CONFIG_DISP_OD_MOUT_EN, OD_MOUT_EN_RDMA0,
+ OD_MOUT_EN_RDMA0),
+ MMSYS_ROUTE(OD, 1, RDMA, 1,
+ DISP_REG_CONFIG_DISP_OD_MOUT_EN, OD1_MOUT_EN_RDMA1,
+ OD1_MOUT_EN_RDMA1),
+ MMSYS_ROUTE(OVL, 0, COLOR, 0,
+ DISP_REG_CONFIG_DISP_OVL0_MOUT_EN, OVL0_MOUT_EN_COLOR0,
+ OVL0_MOUT_EN_COLOR0),
+ MMSYS_ROUTE(OVL, 0, COLOR, 0,
+ DISP_REG_CONFIG_DISP_COLOR0_SEL_IN, COLOR0_SEL_IN_OVL0,
+ COLOR0_SEL_IN_OVL0),
+ MMSYS_ROUTE(OVL, 0, RDMA, 0,
+ DISP_REG_CONFIG_DISP_OVL_MOUT_EN, OVL_MOUT_EN_RDMA,
+ OVL_MOUT_EN_RDMA),
+ MMSYS_ROUTE(OVL, 1, COLOR, 1,
+ DISP_REG_CONFIG_DISP_OVL1_MOUT_EN, OVL1_MOUT_EN_COLOR1,
+ OVL1_MOUT_EN_COLOR1),
+ MMSYS_ROUTE(OVL, 1, COLOR, 1,
+ DISP_REG_CONFIG_DISP_COLOR1_SEL_IN, COLOR1_SEL_IN_OVL1,
+ COLOR1_SEL_IN_OVL1),
+ MMSYS_ROUTE(RDMA, 0, DPI, 0,
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
+ RDMA0_SOUT_DPI0),
+ MMSYS_ROUTE(RDMA, 0, DPI, 1,
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
+ RDMA0_SOUT_DPI1),
+ MMSYS_ROUTE(RDMA, 0, DSI, 1,
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
+ RDMA0_SOUT_DSI1),
+ MMSYS_ROUTE(RDMA, 0, DSI, 2,
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
+ RDMA0_SOUT_DSI2),
+ MMSYS_ROUTE(RDMA, 0, DSI, 3,
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN, RDMA0_SOUT_MASK,
+ RDMA0_SOUT_DSI3),
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
+ RDMA1_SOUT_DPI0),
+ MMSYS_ROUTE(RDMA, 1, DPI, 0,
+ DISP_REG_CONFIG_DPI_SEL_IN, DPI0_SEL_IN_MASK,
+ DPI0_SEL_IN_RDMA1),
+ MMSYS_ROUTE(RDMA, 1, DPI, 1,
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
+ RDMA1_SOUT_DPI1),
+ MMSYS_ROUTE(RDMA, 1, DPI, 1,
+ DISP_REG_CONFIG_DPI_SEL_IN, DPI1_SEL_IN_MASK,
+ DPI1_SEL_IN_RDMA1),
+ MMSYS_ROUTE(RDMA, 1, DSI, 0,
+ DISP_REG_CONFIG_DSIE_SEL_IN, DSI0_SEL_IN_MASK,
+ DSI0_SEL_IN_RDMA1),
+ MMSYS_ROUTE(RDMA, 1, DSI, 1,
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
+ RDMA1_SOUT_DSI1),
+ MMSYS_ROUTE(RDMA, 1, DSI, 1,
+ DISP_REG_CONFIG_DSIO_SEL_IN, DSI1_SEL_IN_MASK,
+ DSI1_SEL_IN_RDMA1),
+ MMSYS_ROUTE(RDMA, 1, DSI, 2,
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
+ RDMA1_SOUT_DSI2),
+ MMSYS_ROUTE(RDMA, 1, DSI, 2,
+ DISP_REG_CONFIG_DSIE_SEL_IN, DSI2_SEL_IN_MASK,
+ DSI2_SEL_IN_RDMA1),
+ MMSYS_ROUTE(RDMA, 1, DSI, 3,
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN, RDMA1_SOUT_MASK,
+ RDMA1_SOUT_DSI3),
+ MMSYS_ROUTE(RDMA, 1, DSI, 3,
+ DISP_REG_CONFIG_DSIO_SEL_IN, DSI3_SEL_IN_MASK,
+ DSI3_SEL_IN_RDMA1),
+ MMSYS_ROUTE(RDMA, 2, DPI, 0,
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
+ RDMA2_SOUT_DPI0),
+ MMSYS_ROUTE(RDMA, 2, DPI, 0,
+ DISP_REG_CONFIG_DPI_SEL_IN, DPI0_SEL_IN_MASK,
+ DPI0_SEL_IN_RDMA2),
+ MMSYS_ROUTE(RDMA, 2, DPI, 1,
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
+ RDMA2_SOUT_DPI1),
+ MMSYS_ROUTE(RDMA, 2, DPI, 1,
+ DISP_REG_CONFIG_DPI_SEL_IN, DPI1_SEL_IN_MASK,
+ DPI1_SEL_IN_RDMA2),
+ MMSYS_ROUTE(RDMA, 2, DSI, 0,
+ DISP_REG_CONFIG_DSIE_SEL_IN, DSI0_SEL_IN_MASK,
+ DSI0_SEL_IN_RDMA2),
+ MMSYS_ROUTE(RDMA, 2, DSI, 1,
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
+ RDMA2_SOUT_DSI1),
+ MMSYS_ROUTE(RDMA, 2, DSI, 1,
+ DISP_REG_CONFIG_DSIO_SEL_IN, DSI1_SEL_IN_MASK,
+ DSI1_SEL_IN_RDMA2),
+ MMSYS_ROUTE(RDMA, 2, DSI, 2,
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT, RDMA2_SOUT_MASK,
+ RDMA2_SOUT_DSI2),
+ MMSYS_ROUTE(RDMA, 2, DSI, 2,
+ DISP_REG_CONFIG_DSIE_SEL_IN, DSI2_SEL_IN_MASK,
+ DSI2_SEL_IN_RDMA2),
};
#endif /* __SOC_MEDIATEK_MTK_MMSYS_H */
diff --git a/drivers/soc/mediatek/mtk-socinfo.c b/drivers/soc/mediatek/mtk-socinfo.c
index 424a1eb82c20..e294730ba709 100644
--- a/drivers/soc/mediatek/mtk-socinfo.c
+++ b/drivers/soc/mediatek/mtk-socinfo.c
@@ -76,11 +76,14 @@ static int mtk_socinfo_create_socinfo_node(struct mtk_socinfo *mtk_socinfop)
if (!attrs)
return -ENOMEM;
- if (data->marketing_name != NULL && data->marketing_name[0] != '\0')
+ if (data->marketing_name != NULL && data->marketing_name[0] != '\0') {
attrs->family = devm_kasprintf(mtk_socinfop->dev, GFP_KERNEL, "MediaTek %s",
data->marketing_name);
- else
+ if (!attrs->family)
+ return -ENOMEM;
+ } else {
attrs->family = soc_manufacturer;
+ }
attrs->soc_id = data->soc_name;
/*