am437x-sbc-t43.dts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. /*
  2. * Copyright (C) 2015 CompuLab, Ltd. - http://www.compulab.co.il/
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. #include "am437x-cm-t43.dts"
  9. #include "compulab-sb-som.dtsi"
  10. / {
  11. model = "CompuLab CM-T43 on SB-SOM-T43";
  12. compatible = "compulab,am437x-sbc-t43", "compulab,am437x-cm-t43", "ti,am4372", "ti,am43";
  13. aliases {
  14. display0 = &lcd0;
  15. };
  16. };
  17. &am43xx_pinmux {
  18. mmc1_pins: pinmux_mmc1_pins {
  19. pinctrl-single,pins = <
  20. AM4372_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
  21. AM4372_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
  22. AM4372_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
  23. AM4372_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
  24. AM4372_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
  25. AM4372_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
  26. AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
  27. AM4372_IOPAD(0x964, PIN_INPUT | MUX_MODE7) /* ecap0_in_pwm0_out.gpio0_7 */
  28. >;
  29. };
  30. dss_pinctrl_default: dss_pinctrl_default {
  31. pinctrl-single,pins = <
  32. AM4372_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam0 hd -> DSS DATA 23 */
  33. AM4372_IOPAD(0x9b4, PIN_OUTPUT_PULLUP | MUX_MODE2)
  34. AM4372_IOPAD(0x9b8, PIN_OUTPUT_PULLUP | MUX_MODE2)
  35. AM4372_IOPAD(0x9bc, PIN_OUTPUT_PULLUP | MUX_MODE2)
  36. AM4372_IOPAD(0x9c0, PIN_OUTPUT_PULLUP | MUX_MODE2)
  37. AM4372_IOPAD(0x9c4, PIN_OUTPUT_PULLUP | MUX_MODE2)
  38. AM4372_IOPAD(0x9c8, PIN_OUTPUT_PULLUP | MUX_MODE2)
  39. AM4372_IOPAD(0x9cc, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam1 data 9 -> DSS DATA 16 */
  40. AM4372_IOPAD(0x8a0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
  41. AM4372_IOPAD(0x8a4, PIN_OUTPUT_PULLUP | MUX_MODE0)
  42. AM4372_IOPAD(0x8a8, PIN_OUTPUT_PULLUP | MUX_MODE0)
  43. AM4372_IOPAD(0x8ac, PIN_OUTPUT_PULLUP | MUX_MODE0)
  44. AM4372_IOPAD(0x8b0, PIN_OUTPUT_PULLUP | MUX_MODE0)
  45. AM4372_IOPAD(0x8b4, PIN_OUTPUT_PULLUP | MUX_MODE0)
  46. AM4372_IOPAD(0x8b8, PIN_OUTPUT_PULLUP | MUX_MODE0)
  47. AM4372_IOPAD(0x8bc, PIN_OUTPUT_PULLUP | MUX_MODE0)
  48. AM4372_IOPAD(0x8c0, PIN_OUTPUT_PULLUP | MUX_MODE0)
  49. AM4372_IOPAD(0x8c4, PIN_OUTPUT_PULLUP | MUX_MODE0)
  50. AM4372_IOPAD(0x8c8, PIN_OUTPUT_PULLUP | MUX_MODE0)
  51. AM4372_IOPAD(0x8cc, PIN_OUTPUT_PULLUP | MUX_MODE0)
  52. AM4372_IOPAD(0x8d0, PIN_OUTPUT_PULLUP | MUX_MODE0)
  53. AM4372_IOPAD(0x8d4, PIN_OUTPUT_PULLUP | MUX_MODE0)
  54. AM4372_IOPAD(0x8d8, PIN_OUTPUT_PULLUP | MUX_MODE0)
  55. AM4372_IOPAD(0x8dc, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
  56. AM4372_IOPAD(0x8e0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
  57. AM4372_IOPAD(0x8e4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
  58. AM4372_IOPAD(0x8e8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
  59. AM4372_IOPAD(0x8ec, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
  60. AM4372_IOPAD(0xa20, PIN_OUTPUT_PULLUP | MUX_MODE7)
  61. >;
  62. };
  63. uart0_pins_default: uart0_pins_default {
  64. pinctrl-single,pins = <
  65. AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0)
  66. AM4372_IOPAD(0x96C, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0)
  67. AM4372_IOPAD(0x970, PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_rxd.uart0_rxd */
  68. AM4372_IOPAD(0x974, PIN_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_txd.uart0_txd */
  69. >;
  70. };
  71. i2c1_pins: i2c1_pins {
  72. pinctrl-single,pins = <
  73. AM4372_IOPAD(0xa6c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* spi2_cs0.i2c1_sda */
  74. AM4372_IOPAD(0xa60, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* spi2_sclk.i2c1_scl */
  75. >;
  76. };
  77. i2c2_pins: i2c2_pins {
  78. pinctrl-single,pins = <
  79. AM4372_IOPAD(0x978, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3) /* uart1_ctsn.i2c2_sda */
  80. AM4372_IOPAD(0x97c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3) /* uart1_rtsn.i2c2_scl */
  81. >;
  82. };
  83. usb2_phy1_default: usb2_phy1_default {
  84. pinctrl-single,pins = <
  85. AM4372_IOPAD(0xac0, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0)
  86. >;
  87. };
  88. usb2_phy2_default: usb2_phy2_default {
  89. pinctrl-single,pins = <
  90. AM4372_IOPAD(0xac4, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0)
  91. >;
  92. };
  93. };
  94. &i2c1 {
  95. status = "okay";
  96. pinctrl-names = "default";
  97. pinctrl-0 = <&i2c1_pins>;
  98. pca9555: pca9555@20 {
  99. compatible = "nxp,pca9555";
  100. reg = <0x20>;
  101. gpio-controller;
  102. #gpio-cells = <2>;
  103. };
  104. eeprom_base: at24@50 {
  105. compatible = "atmel,24c02";
  106. reg = <0x50>;
  107. pagesize = <16>;
  108. };
  109. };
  110. &i2c2 {
  111. status = "okay";
  112. pinctrl-names = "default";
  113. pinctrl-0 = <&i2c2_pins>;
  114. };
  115. &mmc1 {
  116. status = "okay";
  117. bus-width = <4>;
  118. pinctrl-names = "default";
  119. pinctrl-0 = <&mmc1_pins>;
  120. vmmc-supply = <&vsb_3v3>;
  121. cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
  122. wp-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
  123. };
  124. &dss {
  125. status = "ok";
  126. pinctrl-names = "default";
  127. pinctrl-0 = <&dss_pinctrl_default>;
  128. port {
  129. dpi_lcd_out: endpoint {
  130. remote-endpoint = <&lcd_in>;
  131. data-lines = <24>;
  132. };
  133. };
  134. };
  135. &uart0 {
  136. pinctrl-names = "default";
  137. pinctrl-0 = <&uart0_pins_default>;
  138. };
  139. &dwc3_1 {
  140. pinctrl-names = "default";
  141. pinctrl-0 = <&usb2_phy1_default>;
  142. };
  143. &dwc3_2 {
  144. pinctrl-names = "default";
  145. pinctrl-0 = <&usb2_phy2_default>;
  146. };
  147. &lcd0 {
  148. enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH
  149. &gpio4 28 GPIO_ACTIVE_HIGH>;
  150. port {
  151. lcd_in: endpoint {
  152. remote-endpoint = <&dpi_lcd_out>;
  153. data-lines = <24>;
  154. };
  155. };
  156. };