mba8mx.dtsi 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
  2. /*
  3. * Copyright 2020-2021 TQ-Systems GmbH
  4. */
  5. #include <dt-bindings/net/ti-dp83867.h>
  6. /* TQ-Systems GmbH MBa8Mx baseboard */
  7. / {
  8. beeper {
  9. compatible = "pwm-beeper";
  10. pwms = <&pwm4 0 250000 0>;
  11. beeper-hz = <4000>;
  12. amp-supply = <&reg_vcc_3v3>;
  13. };
  14. chosen {
  15. stdout-path = &uart3;
  16. };
  17. gpio-keys {
  18. compatible = "gpio-keys";
  19. pinctrl-names = "default";
  20. pinctrl-0 = <&pinctrl_gpiobutton>;
  21. autorepeat;
  22. switch-1 {
  23. label = "switch1";
  24. linux,code = <BTN_0>;
  25. gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
  26. wakeup-source;
  27. };
  28. btn2: switch-2 {
  29. label = "switch2";
  30. linux,code = <BTN_1>;
  31. gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
  32. wakeup-source;
  33. };
  34. switch-3 {
  35. label = "switch3";
  36. linux,code = <BTN_2>;
  37. gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
  38. wakeup-source;
  39. };
  40. };
  41. gpio_leds: gpio-leds {
  42. compatible = "gpio-leds";
  43. pinctrl-names = "default";
  44. pinctrl-0 = <&pinctrl_gpioled>;
  45. led1 {
  46. label = "led1";
  47. gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
  48. linux,default-trigger = "default-on";
  49. };
  50. led2: led2 {
  51. label = "led2";
  52. gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
  53. linux,default-trigger = "heartbeat";
  54. };
  55. };
  56. pcie0_refclk: pcie0-refclk {
  57. compatible = "fixed-clock";
  58. #clock-cells = <0>;
  59. clock-frequency = <100000000>;
  60. };
  61. reg_hub_vbus: regulator-hub-vbus {
  62. compatible = "regulator-fixed";
  63. regulator-name = "MBA8MX_HUB_VBUS";
  64. regulator-min-microvolt = <5000000>;
  65. regulator-max-microvolt = <5000000>;
  66. };
  67. reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 {
  68. compatible = "regulator-fixed";
  69. regulator-name = "SN65DSI83_1V8";
  70. regulator-min-microvolt = <1800000>;
  71. regulator-max-microvolt = <1800000>;
  72. gpio = <&expander0 5 GPIO_ACTIVE_HIGH>;
  73. enable-active-high;
  74. };
  75. reg_vcc_3v3: regulator-3v3 {
  76. compatible = "regulator-fixed";
  77. regulator-name = "MBA8MX_3V3";
  78. regulator-min-microvolt = <3300000>;
  79. regulator-max-microvolt = <3300000>;
  80. };
  81. sound {
  82. compatible = "fsl,imx-audio-tlv320aic32x4";
  83. model = "imx-audio-tlv320aic32x4";
  84. ssi-controller = <&sai3>;
  85. audio-codec = <&tlv320aic3x04>;
  86. };
  87. };
  88. &ecspi1 {
  89. pinctrl-names = "default";
  90. pinctrl-0 = <&pinctrl_ecspi1>;
  91. cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
  92. status = "okay";
  93. };
  94. &ecspi2 {
  95. pinctrl-names = "default";
  96. pinctrl-0 = <&pinctrl_ecspi2>;
  97. cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
  98. status = "okay";
  99. };
  100. &fec1 {
  101. pinctrl-names = "default";
  102. pinctrl-0 = <&pinctrl_fec1>;
  103. phy-mode = "rgmii-id";
  104. phy-handle = <&ethphy0>;
  105. phy-supply = <&reg_vcc_3v3>;
  106. fsl,magic-packet;
  107. mac-address = [ 00 00 00 00 00 00 ];
  108. status = "okay";
  109. mdio {
  110. #address-cells = <1>;
  111. #size-cells = <0>;
  112. ethphy0: ethernet-phy@e {
  113. compatible = "ethernet-phy-ieee802.3-c22";
  114. reg = <0xe>;
  115. ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
  116. ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
  117. ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
  118. ti,dp83867-rxctrl-strap-quirk;
  119. ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
  120. enet-phy-lane-no-swap;
  121. reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>;
  122. reset-assert-us = <500000>;
  123. reset-deassert-us = <500>;
  124. };
  125. };
  126. };
  127. &i2c1 {
  128. expander0: gpio@23 {
  129. compatible = "nxp,pca9555";
  130. reg = <0x23>;
  131. gpio-controller;
  132. #gpio-cells = <2>;
  133. vcc-supply = <&reg_vcc_3v3>;
  134. interrupt-parent = <&gpio1>;
  135. interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
  136. interrupt-controller;
  137. #interrupt-cells = <2>;
  138. sd-mux-oe-hog {
  139. gpio-hog;
  140. gpios = <8 0>;
  141. output-low;
  142. line-name = "SD_MUX_EN#";
  143. };
  144. boot-cfg-oe-hog {
  145. gpio-hog;
  146. gpios = <12 0>;
  147. output-high;
  148. line-name = "BOOT_CFG_OE#";
  149. };
  150. rst-usb-hub-hog {
  151. gpio-hog;
  152. gpios = <13 0>;
  153. output-high;
  154. line-name = "RST_USB_HUB#";
  155. };
  156. };
  157. expander1: gpio@24 {
  158. compatible = "nxp,pca9555";
  159. reg = <0x24>;
  160. gpio-controller;
  161. #gpio-cells = <2>;
  162. vcc-supply = <&reg_vcc_3v3>;
  163. };
  164. };
  165. &i2c2 {
  166. clock-frequency = <100000>;
  167. pinctrl-names = "default", "gpio";
  168. pinctrl-0 = <&pinctrl_i2c2>;
  169. pinctrl-1 = <&pinctrl_i2c2_gpio>;
  170. scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  171. sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  172. status = "okay";
  173. tlv320aic3x04: audio-codec@18 {
  174. compatible = "ti,tlv320aic32x4";
  175. reg = <0x18>;
  176. reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>;
  177. iov-supply = <&reg_vcc_3v3>;
  178. ldoin-supply = <&reg_vcc_3v3>;
  179. };
  180. sensor1: sensor@1f {
  181. compatible = "nxp,se97", "jedec,jc-42.4-temp";
  182. reg = <0x1f>;
  183. };
  184. eeprom3: eeprom@57 {
  185. compatible = "nxp,se97b", "atmel,24c02";
  186. reg = <0x57>;
  187. pagesize = <16>;
  188. };
  189. };
  190. &i2c3 {
  191. clock-frequency = <100000>;
  192. pinctrl-names = "default", "gpio";
  193. pinctrl-0 = <&pinctrl_i2c3>;
  194. pinctrl-1 = <&pinctrl_i2c3_gpio>;
  195. scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  196. sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  197. status = "okay";
  198. };
  199. &pwm3 {
  200. pinctrl-names = "default";
  201. pinctrl-0 = <&pinctrl_pwm3>;
  202. status = "okay";
  203. };
  204. &pwm4 {
  205. pinctrl-names = "default";
  206. pinctrl-0 = <&pinctrl_pwm4>;
  207. status = "okay";
  208. };
  209. &sai3 {
  210. pinctrl-names = "default";
  211. pinctrl-0 = <&pinctrl_sai3>;
  212. #sound-dai-cells = <0>;
  213. assigned-clock-rates = <49152000>;
  214. status = "okay";
  215. };
  216. &snvs_pwrkey {
  217. status = "okay";
  218. };
  219. &uart1 {
  220. pinctrl-names = "default";
  221. pinctrl-0 = <&pinctrl_uart1>;
  222. status = "okay";
  223. };
  224. &uart2 {
  225. pinctrl-names = "default";
  226. pinctrl-0 = <&pinctrl_uart2>;
  227. status = "okay";
  228. };
  229. /* console */
  230. &uart3 {
  231. pinctrl-names = "default";
  232. pinctrl-0 = <&pinctrl_uart3>;
  233. status = "okay";
  234. };
  235. &usdhc2 {
  236. pinctrl-names = "default", "state_100mhz", "state_200mhz";
  237. pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
  238. pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
  239. pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
  240. bus-width = <4>;
  241. cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
  242. disable-wp;
  243. no-mmc;
  244. no-sdio;
  245. vmmc-supply = <&reg_usdhc2_vmmc>;
  246. status = "okay";
  247. };