stih410.dtsi 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2014 STMicroelectronics Limited.
  4. * Author: Peter Griffin <[email protected]>
  5. */
  6. #include "stih410-clock.dtsi"
  7. #include "stih407-family.dtsi"
  8. #include "stih410-pinctrl.dtsi"
  9. #include <dt-bindings/gpio/gpio.h>
  10. / {
  11. aliases {
  12. bdisp0 = &bdisp0;
  13. };
  14. usb2_picophy1: phy2 {
  15. compatible = "st,stih407-usb2-phy";
  16. #phy-cells = <0>;
  17. st,syscfg = <&syscfg_core 0xf8 0xf4>;
  18. resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
  19. <&picophyreset STIH407_PICOPHY0_RESET>;
  20. reset-names = "global", "port";
  21. status = "disabled";
  22. };
  23. usb2_picophy2: phy3 {
  24. compatible = "st,stih407-usb2-phy";
  25. #phy-cells = <0>;
  26. st,syscfg = <&syscfg_core 0xfc 0xf4>;
  27. resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
  28. <&picophyreset STIH407_PICOPHY1_RESET>;
  29. reset-names = "global", "port";
  30. status = "disabled";
  31. };
  32. soc {
  33. ohci0: usb@9a03c00 {
  34. compatible = "st,st-ohci-300x";
  35. reg = <0x9a03c00 0x100>;
  36. interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
  37. clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
  38. <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
  39. resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
  40. <&softreset STIH407_USB2_PORT0_SOFTRESET>;
  41. reset-names = "power", "softreset";
  42. phys = <&usb2_picophy1>;
  43. phy-names = "usb";
  44. status = "disabled";
  45. };
  46. ehci0: usb@9a03e00 {
  47. compatible = "st,st-ehci-300x";
  48. reg = <0x9a03e00 0x100>;
  49. interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
  50. pinctrl-names = "default";
  51. pinctrl-0 = <&pinctrl_usb0>;
  52. clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
  53. <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
  54. resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
  55. <&softreset STIH407_USB2_PORT0_SOFTRESET>;
  56. reset-names = "power", "softreset";
  57. phys = <&usb2_picophy1>;
  58. phy-names = "usb";
  59. status = "disabled";
  60. };
  61. ohci1: usb@9a83c00 {
  62. compatible = "st,st-ohci-300x";
  63. reg = <0x9a83c00 0x100>;
  64. interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
  65. clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
  66. <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
  67. resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
  68. <&softreset STIH407_USB2_PORT1_SOFTRESET>;
  69. reset-names = "power", "softreset";
  70. phys = <&usb2_picophy2>;
  71. phy-names = "usb";
  72. status = "disabled";
  73. };
  74. ehci1: usb@9a83e00 {
  75. compatible = "st,st-ehci-300x";
  76. reg = <0x9a83e00 0x100>;
  77. interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
  78. pinctrl-names = "default";
  79. pinctrl-0 = <&pinctrl_usb1>;
  80. clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
  81. <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
  82. resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
  83. <&softreset STIH407_USB2_PORT1_SOFTRESET>;
  84. reset-names = "power", "softreset";
  85. phys = <&usb2_picophy2>;
  86. phy-names = "usb";
  87. status = "disabled";
  88. };
  89. sti-display-subsystem@0 {
  90. compatible = "st,sti-display-subsystem";
  91. #address-cells = <1>;
  92. #size-cells = <1>;
  93. reg = <0 0>;
  94. assigned-clocks = <&clk_s_d2_quadfs 0>,
  95. <&clk_s_d2_quadfs 1>,
  96. <&clk_s_c0_pll1 0>,
  97. <&clk_s_c0_flexgen CLK_COMPO_DVP>,
  98. <&clk_s_c0_flexgen CLK_MAIN_DISP>,
  99. <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
  100. <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
  101. <&clk_s_d2_flexgen CLK_PIX_GDP1>,
  102. <&clk_s_d2_flexgen CLK_PIX_GDP2>,
  103. <&clk_s_d2_flexgen CLK_PIX_GDP3>,
  104. <&clk_s_d2_flexgen CLK_PIX_GDP4>;
  105. assigned-clock-parents = <0>,
  106. <0>,
  107. <0>,
  108. <&clk_s_c0_pll1 0>,
  109. <&clk_s_c0_pll1 0>,
  110. <&clk_s_d2_quadfs 0>,
  111. <&clk_s_d2_quadfs 1>,
  112. <&clk_s_d2_quadfs 0>,
  113. <&clk_s_d2_quadfs 0>,
  114. <&clk_s_d2_quadfs 0>,
  115. <&clk_s_d2_quadfs 0>;
  116. assigned-clock-rates = <297000000>,
  117. <297000000>,
  118. <0>,
  119. <400000000>,
  120. <400000000>;
  121. ranges;
  122. sti-compositor@9d11000 {
  123. compatible = "st,stih407-compositor";
  124. reg = <0x9d11000 0x1000>;
  125. clock-names = "compo_main",
  126. "compo_aux",
  127. "pix_main",
  128. "pix_aux",
  129. "pix_gdp1",
  130. "pix_gdp2",
  131. "pix_gdp3",
  132. "pix_gdp4",
  133. "main_parent",
  134. "aux_parent";
  135. clocks = <&clk_s_c0_flexgen CLK_COMPO_DVP>,
  136. <&clk_s_c0_flexgen CLK_COMPO_DVP>,
  137. <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
  138. <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
  139. <&clk_s_d2_flexgen CLK_PIX_GDP1>,
  140. <&clk_s_d2_flexgen CLK_PIX_GDP2>,
  141. <&clk_s_d2_flexgen CLK_PIX_GDP3>,
  142. <&clk_s_d2_flexgen CLK_PIX_GDP4>,
  143. <&clk_s_d2_quadfs 0>,
  144. <&clk_s_d2_quadfs 1>;
  145. reset-names = "compo-main", "compo-aux";
  146. resets = <&softreset STIH407_COMPO_SOFTRESET>,
  147. <&softreset STIH407_COMPO_SOFTRESET>;
  148. st,vtg = <&vtg_main>, <&vtg_aux>;
  149. };
  150. sti-tvout@8d08000 {
  151. compatible = "st,stih407-tvout";
  152. reg = <0x8d08000 0x1000>;
  153. reg-names = "tvout-reg";
  154. reset-names = "tvout";
  155. resets = <&softreset STIH407_HDTVOUT_SOFTRESET>;
  156. #address-cells = <1>;
  157. #size-cells = <1>;
  158. assigned-clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
  159. <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
  160. <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
  161. <&clk_s_d0_flexgen CLK_PCM_0>,
  162. <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
  163. <&clk_s_d2_flexgen CLK_HDDAC>;
  164. assigned-clock-parents = <&clk_s_d2_quadfs 0>,
  165. <&clk_tmdsout_hdmi>,
  166. <&clk_s_d2_quadfs 0>,
  167. <&clk_s_d0_quadfs 0>,
  168. <&clk_s_d2_quadfs 0>,
  169. <&clk_s_d2_quadfs 0>;
  170. };
  171. sti_hdmi: sti-hdmi@8d04000 {
  172. compatible = "st,stih407-hdmi";
  173. reg = <0x8d04000 0x1000>;
  174. reg-names = "hdmi-reg";
  175. #sound-dai-cells = <0>;
  176. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  177. interrupt-names = "irq";
  178. clock-names = "pix",
  179. "tmds",
  180. "phy",
  181. "audio",
  182. "main_parent",
  183. "aux_parent";
  184. clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
  185. <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
  186. <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
  187. <&clk_s_d0_flexgen CLK_PCM_0>,
  188. <&clk_s_d2_quadfs 0>,
  189. <&clk_s_d2_quadfs 1>;
  190. hdmi,hpd-gpio = <&pio5 3 GPIO_ACTIVE_LOW>;
  191. reset-names = "hdmi";
  192. resets = <&softreset STIH407_HDMI_TX_PHY_SOFTRESET>;
  193. ddc = <&hdmiddc>;
  194. };
  195. sti-hda@8d02000 {
  196. compatible = "st,stih407-hda";
  197. status = "disabled";
  198. reg = <0x8d02000 0x400>, <0x92b0120 0x4>;
  199. reg-names = "hda-reg", "video-dacs-ctrl";
  200. clock-names = "pix",
  201. "hddac",
  202. "main_parent",
  203. "aux_parent";
  204. clocks = <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
  205. <&clk_s_d2_flexgen CLK_HDDAC>,
  206. <&clk_s_d2_quadfs 0>,
  207. <&clk_s_d2_quadfs 1>;
  208. };
  209. sti-hqvdp@9c00000 {
  210. compatible = "st,stih407-hqvdp";
  211. reg = <0x9C00000 0x100000>;
  212. clock-names = "hqvdp", "pix_main";
  213. clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>,
  214. <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>;
  215. reset-names = "hqvdp";
  216. resets = <&softreset STIH407_HDQVDP_SOFTRESET>;
  217. st,vtg = <&vtg_main>;
  218. };
  219. };
  220. bdisp0:bdisp@9f10000 {
  221. compatible = "st,stih407-bdisp";
  222. reg = <0x9f10000 0x1000>;
  223. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  224. clock-names = "bdisp";
  225. clocks = <&clk_s_c0_flexgen CLK_IC_BDISP_0>;
  226. };
  227. hva@8c85000 {
  228. compatible = "st,st-hva";
  229. reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
  230. reg-names = "hva_registers", "hva_esram";
  231. interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
  232. <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  233. clock-names = "clk_hva";
  234. clocks = <&clk_s_c0_flexgen CLK_HVA>;
  235. };
  236. thermal@91a0000 {
  237. compatible = "st,stih407-thermal";
  238. reg = <0x91a0000 0x28>;
  239. clock-names = "thermal";
  240. clocks = <&clk_sysin>;
  241. interrupts = <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>;
  242. };
  243. sti-cec@94a087c {
  244. compatible = "st,stih-cec";
  245. reg = <0x94a087c 0x64>;
  246. clocks = <&clk_sysin>;
  247. clock-names = "cec-clk";
  248. interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
  249. interrupt-names = "cec-irq";
  250. pinctrl-names = "default";
  251. pinctrl-0 = <&pinctrl_cec0_default>;
  252. resets = <&softreset STIH407_LPM_SOFTRESET>;
  253. hdmi-phandle = <&sti_hdmi>;
  254. };
  255. };
  256. };