am335x-myirtech-myc.dtsi 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /* SPDX-FileCopyrightText: Alexander Shiyan, <[email protected]> */
  3. /* Based on code by myc_c335x.dts, MYiRtech.com */
  4. /* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ */
  5. /dts-v1/;
  6. #include "am33xx.dtsi"
  7. #include <dt-bindings/interrupt-controller/irq.h>
  8. #include <dt-bindings/leds/common.h>
  9. / {
  10. model = "MYIR MYC-AM335X";
  11. compatible = "myir,myc-am335x", "ti,am33xx";
  12. cpus {
  13. cpu@0 {
  14. cpu0-supply = <&vdd_core>;
  15. voltage-tolerance = <2>;
  16. };
  17. };
  18. memory@80000000 {
  19. device_type = "memory";
  20. reg = <0x80000000 0x10000000>;
  21. };
  22. clk32k: clk32k {
  23. compatible = "fixed-clock";
  24. clock-frequency = <32768>;
  25. #clock-cells = <0>;
  26. };
  27. vdd_mod: vdd_mod_reg {
  28. compatible = "regulator-fixed";
  29. regulator-name = "vdd-mod";
  30. regulator-always-on;
  31. regulator-boot-on;
  32. };
  33. vdd_core: vdd_core_reg {
  34. compatible = "regulator-fixed";
  35. regulator-name = "vdd-core";
  36. regulator-always-on;
  37. regulator-boot-on;
  38. vin-supply = <&vdd_mod>;
  39. };
  40. leds: leds {
  41. compatible = "gpio-leds";
  42. pinctrl-names = "default";
  43. pinctrl-0 = <&led_mod_pins>;
  44. led_mod: led_mod {
  45. label = "module:user";
  46. gpios = <&gpio3 18 GPIO_ACTIVE_LOW>;
  47. color = <LED_COLOR_ID_GREEN>;
  48. default-state = "off";
  49. panic-indicator;
  50. };
  51. };
  52. };
  53. &mac_sw {
  54. pinctrl-names = "default", "sleep";
  55. pinctrl-0 = <&eth_slave1_pins_default>;
  56. pinctrl-1 = <&eth_slave1_pins_sleep>;
  57. status = "okay";
  58. };
  59. &cpsw_port1 {
  60. phy-handle = <&phy0>;
  61. phy-mode = "rgmii-id";
  62. ti,dual-emac-pvid = <1>;
  63. };
  64. &cpsw_port2 {
  65. status = "disabled";
  66. };
  67. &davinci_mdio_sw {
  68. pinctrl-names = "default", "sleep";
  69. pinctrl-0 = <&mdio_pins_default>;
  70. pinctrl-1 = <&mdio_pins_sleep>;
  71. phy0: ethernet-phy@4 {
  72. reg = <4>;
  73. };
  74. };
  75. &elm {
  76. status = "okay";
  77. };
  78. &gpmc {
  79. pinctrl-names = "default", "sleep";
  80. pinctrl-0 = <&nand_pins_default>;
  81. pinctrl-1 = <&nand_pins_sleep>;
  82. ranges = <0 0 0x8000000 0x1000000>;
  83. status = "okay";
  84. nand0: nand@0,0 {
  85. compatible = "ti,omap2-nand";
  86. reg = <0 0 4>;
  87. interrupt-parent = <&gpmc>;
  88. interrupts = <0 IRQ_TYPE_NONE>, <1 IRQ_TYPE_NONE>;
  89. nand-bus-width = <8>;
  90. rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>;
  91. gpmc,device-width = <1>;
  92. gpmc,sync-clk-ps = <0>;
  93. gpmc,cs-on-ns = <0>;
  94. gpmc,cs-rd-off-ns = <44>;
  95. gpmc,cs-wr-off-ns = <44>;
  96. gpmc,adv-on-ns = <6>;
  97. gpmc,adv-rd-off-ns = <34>;
  98. gpmc,adv-wr-off-ns = <44>;
  99. gpmc,we-on-ns = <0>;
  100. gpmc,we-off-ns = <40>;
  101. gpmc,oe-on-ns = <0>;
  102. gpmc,oe-off-ns = <54>;
  103. gpmc,access-ns = <64>;
  104. gpmc,rd-cycle-ns = <82>;
  105. gpmc,wr-cycle-ns = <82>;
  106. gpmc,bus-turnaround-ns = <0>;
  107. gpmc,cycle2cycle-delay-ns = <0>;
  108. gpmc,clk-activation-ns = <0>;
  109. gpmc,wr-access-ns = <40>;
  110. gpmc,wr-data-mux-bus-ns = <0>;
  111. ti,elm-id = <&elm>;
  112. ti,nand-ecc-opt = "bch8";
  113. };
  114. };
  115. &i2c0 {
  116. pinctrl-names = "default", "gpio", "sleep";
  117. pinctrl-0 = <&i2c0_pins_default>;
  118. pinctrl-1 = <&i2c0_pins_gpio>;
  119. pinctrl-2 = <&i2c0_pins_sleep>;
  120. clock-frequency = <400000>;
  121. scl-gpios = <&gpio3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  122. sda-gpios = <&gpio3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  123. status = "okay";
  124. eeprom: eeprom@50 {
  125. compatible = "atmel,24c32";
  126. reg = <0x50>;
  127. pagesize = <32>;
  128. vcc-supply = <&vdd_mod>;
  129. };
  130. };
  131. &rtc {
  132. clocks = <&clk32k>;
  133. clock-names = "ext-clk";
  134. system-power-controller;
  135. };
  136. &am33xx_pinmux {
  137. mdio_pins_default: pinmux_mdio_pins_default {
  138. pinctrl-single,pins = <
  139. AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0) /* mdio_data */
  140. AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0) /* mdio_clk */
  141. >;
  142. };
  143. mdio_pins_sleep: pinmux_mdio_pins_sleep {
  144. pinctrl-single,pins = <
  145. AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
  146. AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
  147. >;
  148. };
  149. eth_slave1_pins_default: pinmux_eth_slave1_pins_default {
  150. pinctrl-single,pins = <
  151. AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_tctl */
  152. AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rctl */
  153. AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td3 */
  154. AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td2 */
  155. AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td1 */
  156. AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td0 */
  157. AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_tclk */
  158. AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rclk */
  159. AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd3 */
  160. AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd2 */
  161. AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd1 */
  162. AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd0 */
  163. >;
  164. };
  165. eth_slave1_pins_sleep: pinmux_eth_slave1_pins_sleep {
  166. pinctrl-single,pins = <
  167. AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
  168. AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7)
  169. AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
  170. AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
  171. AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
  172. AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
  173. AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
  174. AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
  175. AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
  176. AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
  177. AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
  178. AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
  179. >;
  180. };
  181. i2c0_pins_default: pinmux_i2c0_pins_default {
  182. pinctrl-single,pins = <
  183. AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT | SLEWCTRL_FAST, MUX_MODE0) /* I2C0_SDA */
  184. AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT | SLEWCTRL_FAST, MUX_MODE0) /* I2C0_SCL */
  185. >;
  186. };
  187. i2c0_pins_gpio: pinmux_i2c0_pins_gpio {
  188. pinctrl-single,pins = <
  189. AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT, MUX_MODE7) /* gpio3[5] */
  190. AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT, MUX_MODE7) /* gpio3[6] */
  191. >;
  192. };
  193. i2c0_pins_sleep: pinmux_i2c0_pins_sleep {
  194. pinctrl-single,pins = <
  195. AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLDOWN, MUX_MODE7)
  196. AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLDOWN, MUX_MODE7)
  197. >;
  198. };
  199. led_mod_pins: pinmux_led_mod_pins {
  200. pinctrl-single,pins = <
  201. AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpio3[18] */
  202. >;
  203. };
  204. nand_pins_default: pinmux_nand_pins_default {
  205. pinctrl-single,pins = <
  206. AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad0 */
  207. AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad1 */
  208. AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad2 */
  209. AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad3 */
  210. AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad4 */
  211. AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad5 */
  212. AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad6 */
  213. AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad7 */
  214. AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_wait0 */
  215. AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLUP, MUX_MODE7) /* gpio0[31] */
  216. AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT, MUX_MODE0) /* gpmc_csn0 */
  217. AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT, MUX_MODE0) /* gpmc_advn_ale */
  218. AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT, MUX_MODE0) /* gpmc_oen_ren */
  219. AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT, MUX_MODE0) /* gpmc_wen */
  220. AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT, MUX_MODE0) /* gpmc_be0n_cle */
  221. >;
  222. };
  223. nand_pins_sleep: pinmux_nand_pins_sleep {
  224. pinctrl-single,pins = <
  225. AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
  226. AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
  227. AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
  228. AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
  229. AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLDOWN, MUX_MODE7)
  230. AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLDOWN, MUX_MODE7)
  231. AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLDOWN, MUX_MODE7)
  232. AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLDOWN, MUX_MODE7)
  233. AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLDOWN, MUX_MODE7)
  234. AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLDOWN, MUX_MODE7)
  235. AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_INPUT_PULLDOWN, MUX_MODE7)
  236. AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_INPUT_PULLDOWN, MUX_MODE7)
  237. AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_INPUT_PULLDOWN, MUX_MODE7)
  238. AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_INPUT_PULLDOWN, MUX_MODE7)
  239. AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_INPUT_PULLDOWN, MUX_MODE7)
  240. >;
  241. };
  242. };