PageRenderTime 68ms CodeModel.GetById 42ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/arm/boot/dts/stm32mp157c-dhcom-pdk2.dts

http://github.com/torvalds/linux
Device Tree | 265 lines | 222 code | 37 blank | 6 comment | 0 complexity | b80dc8eb56580f5acf716d19d2ff3bee MD5 | raw file
Possible License(s): LGPL-2.0, AGPL-1.0, GPL-2.0
  1. // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
  2. /*
  3. * Copyright (C) 2019 Marek Vasut <marex@denx.de>
  4. */
  5. #include "stm32mp157c-dhcom-som.dtsi"
  6. #include <dt-bindings/pwm/pwm.h>
  7. / {
  8. model = "STMicroelectronics STM32MP157C DHCOM Premium Developer Kit (2)";
  9. compatible = "dh,stm32mp157c-dhcom-pdk2", "st,stm32mp157";
  10. aliases {
  11. serial0 = &uart4;
  12. serial1 = &usart3;
  13. serial2 = &uart8;
  14. ethernet0 = &ethernet0;
  15. };
  16. chosen {
  17. stdout-path = "serial0:115200n8";
  18. };
  19. clk_ext_audio_codec: clock-codec {
  20. compatible = "fixed-clock";
  21. #clock-cells = <0>;
  22. clock-frequency = <24000000>;
  23. };
  24. display_bl: display-bl {
  25. compatible = "pwm-backlight";
  26. pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
  27. brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>;
  28. default-brightness-level = <8>;
  29. enable-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>;
  30. status = "okay";
  31. };
  32. ethernet_vio: vioregulator {
  33. compatible = "regulator-fixed";
  34. regulator-name = "vio";
  35. regulator-min-microvolt = <3300000>;
  36. regulator-max-microvolt = <3300000>;
  37. gpio = <&gpiog 3 GPIO_ACTIVE_LOW>;
  38. regulator-always-on;
  39. regulator-boot-on;
  40. };
  41. panel {
  42. compatible = "edt,etm0700g0edh6";
  43. backlight = <&display_bl>;
  44. port {
  45. lcd_panel_in: endpoint {
  46. remote-endpoint = <&lcd_display_out>;
  47. };
  48. };
  49. };
  50. sound {
  51. compatible = "audio-graph-card";
  52. routing =
  53. "MIC_IN", "Capture",
  54. "Capture", "Mic Bias",
  55. "Playback", "HP_OUT";
  56. dais = <&sai2a_port &sai2b_port>;
  57. status = "okay";
  58. };
  59. };
  60. &cec {
  61. pinctrl-names = "default";
  62. pinctrl-0 = <&cec_pins_a>;
  63. status = "okay";
  64. };
  65. &ethernet0 {
  66. status = "okay";
  67. pinctrl-0 = <&ethernet0_rmii_pins_a>;
  68. pinctrl-1 = <&ethernet0_rmii_pins_sleep_a>;
  69. pinctrl-names = "default", "sleep";
  70. phy-mode = "rmii";
  71. max-speed = <100>;
  72. phy-handle = <&phy0>;
  73. st,eth-ref-clk-sel;
  74. phy-reset-gpios = <&gpioh 15 GPIO_ACTIVE_LOW>;
  75. mdio0 {
  76. #address-cells = <1>;
  77. #size-cells = <0>;
  78. compatible = "snps,dwmac-mdio";
  79. phy0: ethernet-phy@1 {
  80. reg = <1>;
  81. };
  82. };
  83. };
  84. &i2c5 {
  85. pinctrl-names = "default";
  86. pinctrl-0 = <&i2c5_pins_a>;
  87. i2c-scl-rising-time-ns = <185>;
  88. i2c-scl-falling-time-ns = <20>;
  89. status = "okay";
  90. /* spare dmas for other usage */
  91. /delete-property/dmas;
  92. /delete-property/dma-names;
  93. sgtl5000: codec@a {
  94. compatible = "fsl,sgtl5000";
  95. reg = <0x0a>;
  96. #sound-dai-cells = <0>;
  97. clocks = <&clk_ext_audio_codec>;
  98. VDDA-supply = <&v3v3>;
  99. VDDIO-supply = <&vdd>;
  100. sgtl5000_port: port {
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. sgtl5000_tx_endpoint: endpoint@0 {
  104. reg = <0>;
  105. remote-endpoint = <&sai2a_endpoint>;
  106. frame-master;
  107. bitclock-master;
  108. };
  109. sgtl5000_rx_endpoint: endpoint@1 {
  110. reg = <1>;
  111. remote-endpoint = <&sai2b_endpoint>;
  112. frame-master;
  113. bitclock-master;
  114. };
  115. };
  116. };
  117. polytouch@38 {
  118. compatible = "edt,edt-ft5x06";
  119. reg = <0x38>;
  120. interrupt-parent = <&gpiog>;
  121. interrupts = <2 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */
  122. linux,wakeup;
  123. };
  124. };
  125. &ltdc {
  126. pinctrl-names = "default", "sleep";
  127. pinctrl-0 = <&ltdc_pins_b>;
  128. pinctrl-1 = <&ltdc_pins_sleep_b>;
  129. status = "okay";
  130. port {
  131. lcd_display_out: endpoint {
  132. remote-endpoint = <&lcd_panel_in>;
  133. };
  134. };
  135. };
  136. &m_can1 {
  137. pinctrl-names = "default", "sleep";
  138. pinctrl-0 = <&m_can1_pins_a>;
  139. pinctrl-1 = <&m_can1_sleep_pins_a>;
  140. status = "okay";
  141. };
  142. &sai2 {
  143. clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
  144. clock-names = "pclk", "x8k", "x11k";
  145. pinctrl-names = "default", "sleep";
  146. pinctrl-0 = <&sai2a_pins_b &sai2b_pins_b>;
  147. pinctrl-1 = <&sai2a_sleep_pins_b &sai2b_sleep_pins_b>;
  148. status = "okay";
  149. sai2a: audio-controller@4400b004 {
  150. #clock-cells = <0>;
  151. dma-names = "tx";
  152. clocks = <&rcc SAI2_K>;
  153. clock-names = "sai_ck";
  154. status = "okay";
  155. sai2a_port: port {
  156. sai2a_endpoint: endpoint {
  157. remote-endpoint = <&sgtl5000_tx_endpoint>;
  158. format = "i2s";
  159. mclk-fs = <512>;
  160. dai-tdm-slot-num = <2>;
  161. dai-tdm-slot-width = <16>;
  162. };
  163. };
  164. };
  165. sai2b: audio-controller@4400b024 {
  166. dma-names = "rx";
  167. st,sync = <&sai2a 2>;
  168. clocks = <&rcc SAI2_K>, <&sai2a>;
  169. clock-names = "sai_ck", "MCLK";
  170. status = "okay";
  171. sai2b_port: port {
  172. sai2b_endpoint: endpoint {
  173. remote-endpoint = <&sgtl5000_rx_endpoint>;
  174. format = "i2s";
  175. mclk-fs = <512>;
  176. dai-tdm-slot-num = <2>;
  177. dai-tdm-slot-width = <16>;
  178. };
  179. };
  180. };
  181. };
  182. &timers2 {
  183. /* spare dmas for other usage (un-delete to enable pwm capture) */
  184. /delete-property/dmas;
  185. /delete-property/dma-names;
  186. status = "okay";
  187. pwm2: pwm {
  188. pinctrl-0 = <&pwm2_pins_a>;
  189. pinctrl-names = "default";
  190. status = "okay";
  191. };
  192. timer@1 {
  193. status = "okay";
  194. };
  195. };
  196. &usart3 {
  197. pinctrl-names = "default";
  198. pinctrl-0 = <&usart3_pins_a>;
  199. status = "okay";
  200. };
  201. &uart8 {
  202. pinctrl-names = "default";
  203. pinctrl-0 = <&uart8_pins_a>;
  204. status = "okay";
  205. };
  206. &usbh_ehci {
  207. phys = <&usbphyc_port0>;
  208. status = "okay";
  209. };
  210. &usbotg_hs {
  211. dr_mode = "peripheral";
  212. phys = <&usbphyc_port1 0>;
  213. phy-names = "usb2-phy";
  214. status = "okay";
  215. };
  216. &usbphyc {
  217. status = "okay";
  218. };
  219. &usbphyc_port0 {
  220. phy-supply = <&vdd_usb>;
  221. vdda1v1-supply = <&reg11>;
  222. vdda1v8-supply = <&reg18>;
  223. };
  224. &usbphyc_port1 {
  225. phy-supply = <&vdd_usb>;
  226. vdda1v1-supply = <&reg11>;
  227. vdda1v8-supply = <&reg18>;
  228. };