mt7623n.dtsi 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright © 2017-2020 MediaTek Inc.
  4. * Author: Sean Wang <[email protected]>
  5. * Ryder Lee <[email protected]>
  6. *
  7. */
  8. #include "mt7623.dtsi"
  9. #include <dt-bindings/memory/mt2701-larb-port.h>
  10. / {
  11. aliases {
  12. rdma0 = &rdma0;
  13. rdma1 = &rdma1;
  14. };
  15. g3dsys: syscon@13000000 {
  16. compatible = "mediatek,mt7623-g3dsys",
  17. "mediatek,mt2701-g3dsys",
  18. "syscon";
  19. reg = <0 0x13000000 0 0x200>;
  20. #clock-cells = <1>;
  21. #reset-cells = <1>;
  22. };
  23. mali: gpu@13040000 {
  24. compatible = "mediatek,mt7623-mali", "arm,mali-450";
  25. reg = <0 0x13040000 0 0x30000>;
  26. interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_LOW>,
  27. <GIC_SPI 171 IRQ_TYPE_LEVEL_LOW>,
  28. <GIC_SPI 172 IRQ_TYPE_LEVEL_LOW>,
  29. <GIC_SPI 173 IRQ_TYPE_LEVEL_LOW>,
  30. <GIC_SPI 174 IRQ_TYPE_LEVEL_LOW>,
  31. <GIC_SPI 175 IRQ_TYPE_LEVEL_LOW>,
  32. <GIC_SPI 176 IRQ_TYPE_LEVEL_LOW>,
  33. <GIC_SPI 177 IRQ_TYPE_LEVEL_LOW>,
  34. <GIC_SPI 178 IRQ_TYPE_LEVEL_LOW>,
  35. <GIC_SPI 179 IRQ_TYPE_LEVEL_LOW>,
  36. <GIC_SPI 180 IRQ_TYPE_LEVEL_LOW>;
  37. interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1",
  38. "ppmmu1", "pp2", "ppmmu2", "pp3", "ppmmu3",
  39. "pp";
  40. clocks = <&topckgen CLK_TOP_MMPLL>,
  41. <&g3dsys CLK_G3DSYS_CORE>;
  42. clock-names = "bus", "core";
  43. power-domains = <&scpsys MT2701_POWER_DOMAIN_MFG>;
  44. resets = <&g3dsys MT2701_G3DSYS_CORE_RST>;
  45. };
  46. mmsys: syscon@14000000 {
  47. compatible = "mediatek,mt7623-mmsys",
  48. "mediatek,mt2701-mmsys",
  49. "syscon";
  50. reg = <0 0x14000000 0 0x1000>;
  51. #clock-cells = <1>;
  52. };
  53. larb0: larb@14010000 {
  54. compatible = "mediatek,mt7623-smi-larb",
  55. "mediatek,mt2701-smi-larb";
  56. reg = <0 0x14010000 0 0x1000>;
  57. mediatek,smi = <&smi_common>;
  58. mediatek,larb-id = <0>;
  59. clocks = <&mmsys CLK_MM_SMI_LARB0>,
  60. <&mmsys CLK_MM_SMI_LARB0>;
  61. clock-names = "apb", "smi";
  62. power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>;
  63. };
  64. larb1: larb@16010000 {
  65. compatible = "mediatek,mt7623-smi-larb",
  66. "mediatek,mt2701-smi-larb";
  67. reg = <0 0x16010000 0 0x1000>;
  68. mediatek,smi = <&smi_common>;
  69. mediatek,larb-id = <1>;
  70. clocks = <&vdecsys CLK_VDEC_CKGEN>,
  71. <&vdecsys CLK_VDEC_LARB>;
  72. clock-names = "apb", "smi";
  73. power-domains = <&scpsys MT2701_POWER_DOMAIN_VDEC>;
  74. };
  75. larb2: larb@15001000 {
  76. compatible = "mediatek,mt7623-smi-larb",
  77. "mediatek,mt2701-smi-larb";
  78. reg = <0 0x15001000 0 0x1000>;
  79. mediatek,smi = <&smi_common>;
  80. mediatek,larb-id = <2>;
  81. clocks = <&imgsys CLK_IMG_SMI_COMM>,
  82. <&imgsys CLK_IMG_SMI_COMM>;
  83. clock-names = "apb", "smi";
  84. power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
  85. };
  86. imgsys: syscon@15000000 {
  87. compatible = "mediatek,mt7623-imgsys",
  88. "mediatek,mt2701-imgsys",
  89. "syscon";
  90. reg = <0 0x15000000 0 0x1000>;
  91. #clock-cells = <1>;
  92. };
  93. iommu: mmsys_iommu@10205000 {
  94. compatible = "mediatek,mt7623-m4u",
  95. "mediatek,mt2701-m4u";
  96. reg = <0 0x10205000 0 0x1000>;
  97. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>;
  98. clocks = <&infracfg CLK_INFRA_M4U>;
  99. clock-names = "bclk";
  100. mediatek,larbs = <&larb0 &larb1 &larb2>;
  101. #iommu-cells = <1>;
  102. };
  103. jpegdec: jpegdec@15004000 {
  104. compatible = "mediatek,mt7623-jpgdec",
  105. "mediatek,mt2701-jpgdec";
  106. reg = <0 0x15004000 0 0x1000>;
  107. interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_LOW>;
  108. clocks = <&imgsys CLK_IMG_JPGDEC_SMI>,
  109. <&imgsys CLK_IMG_JPGDEC>;
  110. clock-names = "jpgdec-smi",
  111. "jpgdec";
  112. power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
  113. iommus = <&iommu MT2701_M4U_PORT_JPGDEC_WDMA>,
  114. <&iommu MT2701_M4U_PORT_JPGDEC_BSDMA>;
  115. };
  116. smi_common: smi@1000c000 {
  117. compatible = "mediatek,mt7623-smi-common",
  118. "mediatek,mt2701-smi-common";
  119. reg = <0 0x1000c000 0 0x1000>;
  120. clocks = <&infracfg CLK_INFRA_SMI>,
  121. <&mmsys CLK_MM_SMI_COMMON>,
  122. <&infracfg CLK_INFRA_SMI>;
  123. clock-names = "apb", "smi", "async";
  124. power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>;
  125. };
  126. ovl: ovl@14007000 {
  127. compatible = "mediatek,mt7623-disp-ovl",
  128. "mediatek,mt2701-disp-ovl";
  129. reg = <0 0x14007000 0 0x1000>;
  130. interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_LOW>;
  131. clocks = <&mmsys CLK_MM_DISP_OVL>;
  132. iommus = <&iommu MT2701_M4U_PORT_DISP_OVL_0>;
  133. };
  134. rdma0: rdma@14008000 {
  135. compatible = "mediatek,mt7623-disp-rdma",
  136. "mediatek,mt2701-disp-rdma";
  137. reg = <0 0x14008000 0 0x1000>;
  138. interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_LOW>;
  139. clocks = <&mmsys CLK_MM_DISP_RDMA>;
  140. iommus = <&iommu MT2701_M4U_PORT_DISP_RDMA>;
  141. };
  142. wdma@14009000 {
  143. compatible = "mediatek,mt7623-disp-wdma",
  144. "mediatek,mt2701-disp-wdma";
  145. reg = <0 0x14009000 0 0x1000>;
  146. interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_LOW>;
  147. clocks = <&mmsys CLK_MM_DISP_WDMA>;
  148. iommus = <&iommu MT2701_M4U_PORT_DISP_WDMA>;
  149. };
  150. bls: pwm@1400a000 {
  151. compatible = "mediatek,mt7623-disp-pwm",
  152. "mediatek,mt2701-disp-pwm";
  153. reg = <0 0x1400a000 0 0x1000>;
  154. #pwm-cells = <2>;
  155. clocks = <&mmsys CLK_MM_MDP_BLS_26M>,
  156. <&mmsys CLK_MM_DISP_BLS>;
  157. clock-names = "main", "mm";
  158. status = "disabled";
  159. };
  160. color: color@1400b000 {
  161. compatible = "mediatek,mt7623-disp-color",
  162. "mediatek,mt2701-disp-color";
  163. reg = <0 0x1400b000 0 0x1000>;
  164. interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_LOW>;
  165. clocks = <&mmsys CLK_MM_DISP_COLOR>;
  166. };
  167. dsi: dsi@1400c000 {
  168. compatible = "mediatek,mt7623-dsi",
  169. "mediatek,mt2701-dsi";
  170. reg = <0 0x1400c000 0 0x1000>;
  171. interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_LOW>;
  172. clocks = <&mmsys CLK_MM_DSI_ENGINE>,
  173. <&mmsys CLK_MM_DSI_DIG>,
  174. <&mipi_tx0>;
  175. clock-names = "engine", "digital", "hs";
  176. phys = <&mipi_tx0>;
  177. phy-names = "dphy";
  178. status = "disabled";
  179. };
  180. mutex: mutex@1400e000 {
  181. compatible = "mediatek,mt7623-disp-mutex",
  182. "mediatek,mt2701-disp-mutex";
  183. reg = <0 0x1400e000 0 0x1000>;
  184. interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
  185. clocks = <&mmsys CLK_MM_MUTEX_32K>;
  186. };
  187. rdma1: rdma@14012000 {
  188. compatible = "mediatek,mt7623-disp-rdma",
  189. "mediatek,mt2701-disp-rdma";
  190. reg = <0 0x14012000 0 0x1000>;
  191. interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_LOW>;
  192. clocks = <&mmsys CLK_MM_DISP_RDMA1>;
  193. iommus = <&iommu MT2701_M4U_PORT_DISP_RDMA1>;
  194. };
  195. dpi0: dpi@14014000 {
  196. compatible = "mediatek,mt7623-dpi",
  197. "mediatek,mt2701-dpi";
  198. reg = <0 0x14014000 0 0x1000>;
  199. interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
  200. clocks = <&mmsys CLK_MM_DPI1_DIGL>,
  201. <&mmsys CLK_MM_DPI1_ENGINE>,
  202. <&apmixedsys CLK_APMIXED_TVDPLL>;
  203. clock-names = "pixel", "engine", "pll";
  204. status = "disabled";
  205. };
  206. hdmi0: hdmi@14015000 {
  207. compatible = "mediatek,mt7623-hdmi",
  208. "mediatek,mt2701-hdmi";
  209. reg = <0 0x14015000 0 0x400>;
  210. clocks = <&mmsys CLK_MM_HDMI_PIXEL>,
  211. <&mmsys CLK_MM_HDMI_PLL>,
  212. <&mmsys CLK_MM_HDMI_AUDIO>,
  213. <&mmsys CLK_MM_HDMI_SPDIF>;
  214. clock-names = "pixel", "pll", "bclk", "spdif";
  215. phys = <&hdmi_phy>;
  216. phy-names = "hdmi";
  217. mediatek,syscon-hdmi = <&mmsys 0x900>;
  218. cec = <&cec>;
  219. status = "disabled";
  220. };
  221. mipi_tx0: dsi-phy@10010000 {
  222. compatible = "mediatek,mt7623-mipi-tx",
  223. "mediatek,mt2701-mipi-tx";
  224. reg = <0 0x10010000 0 0x90>;
  225. clocks = <&clk26m>;
  226. clock-output-names = "mipi_tx0_pll";
  227. #clock-cells = <0>;
  228. #phy-cells = <0>;
  229. };
  230. cec: cec@10012000 {
  231. compatible = "mediatek,mt7623-cec",
  232. "mediatek,mt8173-cec";
  233. reg = <0 0x10012000 0 0xbc>;
  234. interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_LOW>;
  235. clocks = <&infracfg CLK_INFRA_CEC>;
  236. status = "disabled";
  237. };
  238. hdmi_phy: hdmi-phy@10209100 {
  239. compatible = "mediatek,mt7623-hdmi-phy",
  240. "mediatek,mt2701-hdmi-phy";
  241. reg = <0 0x10209100 0 0x24>;
  242. clocks = <&apmixedsys CLK_APMIXED_HDMI_REF>;
  243. clock-names = "pll_ref";
  244. clock-output-names = "hdmitx_dig_cts";
  245. #clock-cells = <0>;
  246. #phy-cells = <0>;
  247. status = "disabled";
  248. };
  249. hdmiddc0: i2c@11013000 {
  250. compatible = "mediatek,mt7623-hdmi-ddc",
  251. "mediatek,mt8173-hdmi-ddc";
  252. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
  253. reg = <0 0x11013000 0 0x1C>;
  254. clocks = <&pericfg CLK_PERI_I2C3>;
  255. clock-names = "ddc-i2c";
  256. status = "disabled";
  257. };
  258. };
  259. &pio {
  260. hdmi_pins_a: hdmi-default {
  261. pins-hdmi {
  262. pinmux = <MT7623_PIN_123_HTPLG_FUNC_HTPLG>;
  263. input-enable;
  264. bias-pull-down;
  265. };
  266. };
  267. hdmi_ddc_pins_a: hdmi_ddc-default {
  268. pins-hdmi-ddc {
  269. pinmux = <MT7623_PIN_124_GPIO124_FUNC_HDMISCK>,
  270. <MT7623_PIN_125_GPIO125_FUNC_HDMISD>;
  271. };
  272. };
  273. };