am335x-regor.dtsi 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright (C) 2019 Phytec Messtechnik GmbH
  4. * Author: Teresa Remmet <[email protected]>
  5. *
  6. */
  7. / {
  8. model = "Phytec AM335x phyBOARD-REGOR";
  9. compatible = "phytec,am335x-regor", "phytec,am335x-phycore-som", "ti,am33xx";
  10. vcc3v3: fixedregulator@1 {
  11. compatible = "regulator-fixed";
  12. regulator-name = "vcc3v3";
  13. regulator-min-microvolt = <3300000>;
  14. regulator-max-microvolt = <3300000>;
  15. regulator-boot-on;
  16. };
  17. /* User IO */
  18. user_leds: user_leds {
  19. compatible = "gpio-leds";
  20. pinctrl-names = "default";
  21. pinctrl-0 = <&user_leds_pins>;
  22. run_stop-led {
  23. gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
  24. linux,default-trigger = "gpio";
  25. default-state = "off";
  26. };
  27. error-led {
  28. gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
  29. linux,default-trigger = "gpio";
  30. default-state = "off";
  31. };
  32. };
  33. };
  34. /* User Leds */
  35. &am33xx_pinmux {
  36. user_leds_pins: pinmux_user_leds {
  37. pinctrl-single,pins = <
  38. AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* lcd_hsync.gpio2_22 */
  39. AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* mcasp0_fsx.gpio3_15 */
  40. >;
  41. };
  42. };
  43. /* CAN Busses */
  44. &am33xx_pinmux {
  45. dcan1_pins: pinmux_dcan1 {
  46. pinctrl-single,pins = <
  47. AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_OUTPUT_PULLUP, MUX_MODE2) /* uart0_ctsn.d_can1_tx */
  48. AM33XX_PADCONF(AM335X_PIN_UART0_RTSN, PIN_INPUT_PULLUP, MUX_MODE2) /* uart0_rtsn.d_can1_rx */
  49. >;
  50. };
  51. };
  52. &dcan1 {
  53. pinctrl-names = "default";
  54. pinctrl-0 = <&dcan1_pins>;
  55. status = "okay";
  56. };
  57. /* Ethernet */
  58. &am33xx_pinmux {
  59. ethernet1_pins: pinmux_ethernet1 {
  60. pinctrl-single,pins = <
  61. AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT, MUX_MODE1) /* gpmc_a0.mii2_txen */
  62. AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a1.mii2_rxdv */
  63. AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_OUTPUT, MUX_MODE1) /* gpmc_a2.mii2_txd3 */
  64. AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_OUTPUT, MUX_MODE1) /* gpmc_a3.mii2_txd2 */
  65. AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_OUTPUT, MUX_MODE1) /* gpmc_a4.mii2_txd1 */
  66. AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT, MUX_MODE1) /* gpmc_a5.mii2_txd0 */
  67. AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a6.mii2_txclk */
  68. AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a7.mii2_rxclk */
  69. AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a8.mii2_rxd3 */
  70. AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a9.mii2_rxd2 */
  71. AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a10.mii2_rxd1 */
  72. AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a11.mii2_rxd0 */
  73. AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_wpn.mii2_rxerr */
  74. AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_ben1.mii2_col */
  75. >;
  76. };
  77. };
  78. &cpsw_port2 {
  79. status = "okay";
  80. phy-handle = <&phy1>;
  81. phy-mode = "mii";
  82. ti,dual-emac-pvid = <2>;
  83. };
  84. &davinci_mdio_sw {
  85. phy1: ethernet-phy@1 {
  86. reg = <1>;
  87. };
  88. };
  89. &mac_sw {
  90. pinctrl-names = "default";
  91. pinctrl-0 = <&ethernet0_pins &ethernet1_pins>;
  92. };
  93. /* GPIOs */
  94. &am33xx_pinmux {
  95. pinctrl-names = "default";
  96. pinctrl-0 = <&user_gpios_pins>;
  97. user_gpios_pins: pinmux_user_gpios {
  98. pinctrl-single,pins = <
  99. /* DIGIN 1-4 */
  100. AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_INPUT, MUX_MODE7) /* gpmc_ad11.gpio0_27 */
  101. AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_INPUT, MUX_MODE7) /* gpmc_ad10.gpio0_26 */
  102. AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_INPUT, MUX_MODE7) /* gpmc_ad9.gpio0_23 */
  103. AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_INPUT, MUX_MODE7) /* gpmc_ad8.gpio0_22 */
  104. /* DIGOUT 1-4 */
  105. AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad15.gpio1_15 */
  106. AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad14.gpio1_14 */
  107. AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad13.gpio1_13 */
  108. AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad12.gpio1_12 */
  109. >;
  110. };
  111. };
  112. /* MMC */
  113. &am33xx_pinmux {
  114. mmc1_pins: pinmux_mmc1 {
  115. pinctrl-single,pins = <
  116. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
  117. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
  118. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
  119. AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)
  120. AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
  121. AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
  122. AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT_PULLUP, MUX_MODE7) /* spi0_cs1.mmc0_sdcd */
  123. >;
  124. };
  125. };
  126. &mmc1 {
  127. vmmc-supply = <&vcc3v3>;
  128. bus-width = <4>;
  129. pinctrl-names = "default";
  130. pinctrl-0 = <&mmc1_pins>;
  131. cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  132. status = "okay";
  133. };
  134. /* RTC */
  135. &i2c_rtc {
  136. status = "okay";
  137. };
  138. /* UARTs */
  139. &am33xx_pinmux {
  140. uart0_pins: pinmux_uart0 {
  141. pinctrl-single,pins = <
  142. AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
  143. AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  144. >;
  145. };
  146. uart2_pins: pinmux_uart2 {
  147. pinctrl-single,pins = <
  148. AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLUP, MUX_MODE1) /* mii1_tx_clk.uart2_rxd */
  149. AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE1) /* mii1_rx_clk.uart2_txd */
  150. >;
  151. };
  152. };
  153. &uart0 {
  154. pinctrl-names = "default";
  155. pinctrl-0 = <&uart0_pins>;
  156. status = "okay";
  157. };
  158. &uart2 {
  159. pinctrl-names = "default";
  160. pinctrl-0 = <&uart2_pins>;
  161. status = "okay";
  162. };
  163. /* RS485 - UART1 */
  164. &am33xx_pinmux {
  165. uart1_rs485_pins: pinmux_uart1_rs485_pins {
  166. pinctrl-single,pins = <
  167. AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
  168. AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
  169. AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_OUTPUT_PULLUP, MUX_MODE0)
  170. >;
  171. };
  172. };
  173. &uart1 {
  174. pinctrl-names = "default";
  175. pinctrl-0 = <&uart1_rs485_pins>;
  176. status = "okay";
  177. linux,rs485-enabled-at-boot-time;
  178. };