imx28-tx28.dts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. /*
  2. * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
  3. * Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de>
  4. *
  5. * The code contained herein is licensed under the GNU General Public
  6. * License. You may obtain a copy of the GNU General Public License
  7. * Version 2 at the following locations:
  8. *
  9. * http://www.opensource.org/licenses/gpl-license.html
  10. * http://www.gnu.org/copyleft/gpl.html
  11. */
  12. /dts-v1/;
  13. #include "imx28.dtsi"
  14. #include <dt-bindings/gpio/gpio.h>
  15. / {
  16. model = "Ka-Ro electronics TX28 module";
  17. compatible = "karo,tx28", "fsl,imx28";
  18. aliases {
  19. can0 = &can0;
  20. can1 = &can1;
  21. display = &display;
  22. ds1339 = &ds1339;
  23. gpio5 = &gpio5;
  24. lcdif = &lcdif;
  25. lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
  26. lcdif_24bit_pins = &lcdif_24bit_pins_a;
  27. stk5led = &user_led;
  28. usbotg = &usb0;
  29. };
  30. memory {
  31. reg = <0 0>; /* will be filled in by U-Boot */
  32. };
  33. onewire {
  34. compatible = "w1-gpio";
  35. gpios = <&gpio2 7 0>;
  36. status = "disabled";
  37. };
  38. regulators {
  39. compatible = "simple-bus";
  40. reg_usb0_vbus: usb0_vbus {
  41. compatible = "regulator-fixed";
  42. regulator-name = "usb0_vbus";
  43. regulator-min-microvolt = <5000000>;
  44. regulator-max-microvolt = <5000000>;
  45. gpio = <&gpio0 18 0>;
  46. enable-active-high;
  47. };
  48. reg_usb1_vbus: usb1_vbus {
  49. compatible = "regulator-fixed";
  50. regulator-name = "usb1_vbus";
  51. regulator-min-microvolt = <5000000>;
  52. regulator-max-microvolt = <5000000>;
  53. gpio = <&gpio3 27 0>;
  54. enable-active-high;
  55. };
  56. reg_2p5v: 2p5v {
  57. compatible = "regulator-fixed";
  58. regulator-name = "2P5V";
  59. regulator-min-microvolt = <2500000>;
  60. regulator-max-microvolt = <2500000>;
  61. regulator-always-on;
  62. };
  63. reg_3p3v: 3p3v {
  64. compatible = "regulator-fixed";
  65. regulator-name = "3P3V";
  66. regulator-min-microvolt = <3300000>;
  67. regulator-max-microvolt = <3300000>;
  68. regulator-always-on;
  69. };
  70. reg_can_xcvr: can-xcvr {
  71. compatible = "regulator-fixed";
  72. regulator-name = "CAN XCVR";
  73. regulator-min-microvolt = <3300000>;
  74. regulator-max-microvolt = <3300000>;
  75. gpio = <&gpio1 0 0>;
  76. enable-active-low;
  77. pinctrl-names = "default";
  78. pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
  79. };
  80. reg_lcd: lcd-power {
  81. compatible = "regulator-fixed";
  82. regulator-name = "LCD POWER";
  83. regulator-min-microvolt = <3300000>;
  84. regulator-max-microvolt = <3300000>;
  85. gpio = <&gpio1 31 0>;
  86. enable-active-high;
  87. };
  88. reg_lcd_reset: lcd-reset {
  89. compatible = "regulator-fixed";
  90. regulator-name = "LCD RESET";
  91. regulator-min-microvolt = <3300000>;
  92. regulator-max-microvolt = <3300000>;
  93. gpio = <&gpio3 30 0>;
  94. startup-delay-us = <300000>;
  95. enable-active-high;
  96. regulator-always-on;
  97. regulator-boot-on;
  98. };
  99. };
  100. clocks {
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. mclk: clock@0 {
  104. compatible = "fixed-clock";
  105. reg = <0>;
  106. #clock-cells = <0>;
  107. clock-frequency = <27000000>;
  108. };
  109. };
  110. sound {
  111. compatible = "fsl,imx28-tx28-sgtl5000",
  112. "fsl,mxs-audio-sgtl5000";
  113. model = "imx28-tx28-sgtl5000";
  114. saif-controllers = <&saif0 &saif1>;
  115. audio-codec = <&sgtl5000>;
  116. };
  117. leds {
  118. compatible = "gpio-leds";
  119. user_led: user {
  120. label = "Heartbeat";
  121. gpios = <&gpio4 10 0>;
  122. linux,default-trigger = "heartbeat";
  123. };
  124. };
  125. backlight {
  126. compatible = "pwm-backlight";
  127. pwms = <&pwm 0 500000>;
  128. /*
  129. * a silly way to create a 1:1 relationship between the
  130. * PWM value and the actual duty cycle
  131. */
  132. brightness-levels = < 0 1 2 3 4 5 6 7 8 9
  133. 10 11 12 13 14 15 16 17 18 19
  134. 20 21 22 23 24 25 26 27 28 29
  135. 30 31 32 33 34 35 36 37 38 39
  136. 40 41 42 43 44 45 46 47 48 49
  137. 50 51 52 53 54 55 56 57 58 59
  138. 60 61 62 63 64 65 66 67 68 69
  139. 70 71 72 73 74 75 76 77 78 79
  140. 80 81 82 83 84 85 86 87 88 89
  141. 90 91 92 93 94 95 96 97 98 99
  142. 100>;
  143. default-brightness-level = <50>;
  144. };
  145. matrix_keypad: matrix-keypad@0 {
  146. compatible = "gpio-matrix-keypad";
  147. col-gpios = <
  148. &gpio5 0 0
  149. &gpio5 1 0
  150. &gpio5 2 0
  151. &gpio5 3 0
  152. >;
  153. row-gpios = <
  154. &gpio5 4 0
  155. &gpio5 5 0
  156. &gpio5 6 0
  157. &gpio5 7 0
  158. >;
  159. /* sample keymap */
  160. linux,keymap = <
  161. 0x00000074 /* row 0, col 0, KEY_POWER */
  162. 0x00010052 /* row 0, col 1, KEY_KP0 */
  163. 0x0002004f /* row 0, col 2, KEY_KP1 */
  164. 0x00030050 /* row 0, col 3, KEY_KP2 */
  165. 0x01000051 /* row 1, col 0, KEY_KP3 */
  166. 0x0101004b /* row 1, col 1, KEY_KP4 */
  167. 0x0102004c /* row 1, col 2, KEY_KP5 */
  168. 0x0103004d /* row 1, col 3, KEY_KP6 */
  169. 0x02000047 /* row 2, col 0, KEY_KP7 */
  170. 0x02010048 /* row 2, col 1, KEY_KP8 */
  171. 0x02020049 /* row 2, col 2, KEY_KP9 */
  172. >;
  173. gpio-activelow;
  174. linux,wakeup;
  175. debounce-delay-ms = <100>;
  176. col-scan-delay-us = <5000>;
  177. linux,no-autorepeat;
  178. };
  179. };
  180. /* 2nd TX-Std UART - (A)UART1 */
  181. &auart1 {
  182. pinctrl-names = "default";
  183. pinctrl-0 = <&auart1_pins_a>;
  184. status = "okay";
  185. };
  186. /* 3rd TX-Std UART - (A)UART3 */
  187. &auart3 {
  188. pinctrl-names = "default";
  189. pinctrl-0 = <&auart3_pins_a>;
  190. status = "okay";
  191. };
  192. &can0 {
  193. pinctrl-names = "default";
  194. pinctrl-0 = <&can0_pins_a>;
  195. xceiver-supply = <&reg_can_xcvr>;
  196. status = "okay";
  197. };
  198. &can1 {
  199. pinctrl-names = "default";
  200. pinctrl-0 = <&can1_pins_a>;
  201. xceiver-supply = <&reg_can_xcvr>;
  202. status = "okay";
  203. };
  204. &digctl {
  205. status = "okay";
  206. };
  207. /* 1st TX-Std UART - (D)UART */
  208. &duart {
  209. pinctrl-names = "default";
  210. pinctrl-0 = <&duart_4pins_a>;
  211. status = "okay";
  212. };
  213. &gpmi {
  214. pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
  215. nand-on-flash-bbt;
  216. status = "okay";
  217. };
  218. &i2c0 {
  219. pinctrl-names = "default";
  220. pinctrl-0 = <&i2c0_pins_a>;
  221. clock-frequency = <400000>;
  222. status = "okay";
  223. sgtl5000: sgtl5000@0a {
  224. compatible = "fsl,sgtl5000";
  225. reg = <0x0a>;
  226. VDDA-supply = <&reg_2p5v>;
  227. VDDIO-supply = <&reg_3p3v>;
  228. clocks = <&mclk>;
  229. };
  230. gpio5: pca953x@20 {
  231. compatible = "nxp,pca9554";
  232. reg = <0x20>;
  233. pinctrl-names = "default";
  234. pinctrl-0 = <&tx28_pca9554_pins>;
  235. interrupt-parent = <&gpio3>;
  236. interrupts = <28 0>;
  237. gpio-controller;
  238. #gpio-cells = <2>;
  239. interrupt-controller;
  240. #interrupt-cells = <2>;
  241. };
  242. polytouch: edt-ft5x06@38 {
  243. compatible = "edt,edt-ft5x06";
  244. reg = <0x38>;
  245. pinctrl-names = "default";
  246. pinctrl-0 = <&tx28_edt_ft5x06_pins>;
  247. interrupt-parent = <&gpio2>;
  248. interrupts = <5 0>;
  249. reset-gpios = <&gpio2 6 1>;
  250. wake-gpios = <&gpio4 9 0>;
  251. };
  252. touchscreen: tsc2007@48 {
  253. compatible = "ti,tsc2007";
  254. reg = <0x48>;
  255. pinctrl-names = "default";
  256. pinctrl-0 = <&tx28_tsc2007_pins>;
  257. interrupt-parent = <&gpio3>;
  258. interrupts = <20 0>;
  259. pendown-gpio = <&gpio3 20 1>;
  260. ti,x-plate-ohms = /bits/ 16 <660>;
  261. };
  262. ds1339: rtc@68 {
  263. compatible = "mxim,ds1339";
  264. reg = <0x68>;
  265. };
  266. };
  267. &lcdif {
  268. pinctrl-names = "default";
  269. pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
  270. lcd-supply = <&reg_lcd>;
  271. display = <&display>;
  272. status = "okay";
  273. display: display@0 {
  274. bits-per-pixel = <32>;
  275. bus-width = <24>;
  276. display-timings {
  277. native-mode = <&timing5>;
  278. timing0: timing0 {
  279. panel-name = "VGA";
  280. clock-frequency = <25175000>;
  281. hactive = <640>;
  282. vactive = <480>;
  283. hback-porch = <48>;
  284. hsync-len = <96>;
  285. hfront-porch = <16>;
  286. vback-porch = <33>;
  287. vsync-len = <2>;
  288. vfront-porch = <10>;
  289. hsync-active = <0>;
  290. vsync-active = <0>;
  291. de-active = <1>;
  292. pixelclk-active = <1>;
  293. };
  294. timing1: timing1 {
  295. panel-name = "ETV570";
  296. clock-frequency = <25175000>;
  297. hactive = <640>;
  298. vactive = <480>;
  299. hback-porch = <114>;
  300. hsync-len = <30>;
  301. hfront-porch = <16>;
  302. vback-porch = <32>;
  303. vsync-len = <3>;
  304. vfront-porch = <10>;
  305. hsync-active = <0>;
  306. vsync-active = <0>;
  307. de-active = <1>;
  308. pixelclk-active = <1>;
  309. };
  310. timing2: timing2 {
  311. panel-name = "ET0350";
  312. clock-frequency = <6500000>;
  313. hactive = <320>;
  314. vactive = <240>;
  315. hback-porch = <34>;
  316. hsync-len = <34>;
  317. hfront-porch = <20>;
  318. vback-porch = <15>;
  319. vsync-len = <3>;
  320. vfront-porch = <4>;
  321. hsync-active = <0>;
  322. vsync-active = <0>;
  323. de-active = <1>;
  324. pixelclk-active = <1>;
  325. };
  326. timing3: timing3 {
  327. panel-name = "ET0430";
  328. clock-frequency = <9000000>;
  329. hactive = <480>;
  330. vactive = <272>;
  331. hback-porch = <2>;
  332. hsync-len = <41>;
  333. hfront-porch = <2>;
  334. vback-porch = <2>;
  335. vsync-len = <10>;
  336. vfront-porch = <2>;
  337. hsync-active = <0>;
  338. vsync-active = <0>;
  339. de-active = <1>;
  340. pixelclk-active = <1>;
  341. };
  342. timing4: timing4 {
  343. panel-name = "ET0500", "ET0700";
  344. clock-frequency = <33260000>;
  345. hactive = <800>;
  346. vactive = <480>;
  347. hback-porch = <88>;
  348. hsync-len = <128>;
  349. hfront-porch = <40>;
  350. vback-porch = <33>;
  351. vsync-len = <2>;
  352. vfront-porch = <10>;
  353. hsync-active = <0>;
  354. vsync-active = <0>;
  355. de-active = <1>;
  356. pixelclk-active = <1>;
  357. };
  358. timing5: timing5 {
  359. panel-name = "ETQ570";
  360. clock-frequency = <6400000>;
  361. hactive = <320>;
  362. vactive = <240>;
  363. hback-porch = <38>;
  364. hsync-len = <30>;
  365. hfront-porch = <30>;
  366. vback-porch = <16>;
  367. vsync-len = <3>;
  368. vfront-porch = <4>;
  369. hsync-active = <0>;
  370. vsync-active = <0>;
  371. de-active = <1>;
  372. pixelclk-active = <1>;
  373. };
  374. };
  375. };
  376. };
  377. &lradc {
  378. fsl,lradc-touchscreen-wires = <4>;
  379. status = "okay";
  380. };
  381. &mac0 {
  382. phy-mode = "rmii";
  383. pinctrl-names = "default", "gpio_mode";
  384. pinctrl-0 = <&mac0_pins_a>;
  385. pinctrl-1 = <&tx28_mac0_pins_gpio>;
  386. status = "okay";
  387. };
  388. &mac1 {
  389. phy-mode = "rmii";
  390. pinctrl-names = "default";
  391. pinctrl-0 = <&mac1_pins_a>;
  392. /* not enabled by default */
  393. };
  394. &mxs_rtc {
  395. status = "okay";
  396. };
  397. &ocotp {
  398. status = "okay";
  399. };
  400. &pwm {
  401. pinctrl-names = "default";
  402. pinctrl-0 = <&pwm0_pins_a>;
  403. status = "okay";
  404. };
  405. &pinctrl {
  406. pinctrl-names = "default";
  407. pinctrl-0 = <&hog_pins_a>;
  408. hog_pins_a: hog@0 {
  409. reg = <0>;
  410. fsl,pinmux-ids = <
  411. MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
  412. >;
  413. fsl,drive-strength = <MXS_DRIVE_4mA>;
  414. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  415. fsl,pull-up = <MXS_PULL_DISABLE>;
  416. };
  417. tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins {
  418. fsl,pinmux-ids = <
  419. MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
  420. MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
  421. MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
  422. >;
  423. fsl,drive-strength = <MXS_DRIVE_4mA>;
  424. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  425. fsl,pull-up = <MXS_PULL_DISABLE>;
  426. };
  427. tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins {
  428. fsl,pinmux-ids = <
  429. MX28_PAD_LCD_D00__GPIO_1_0
  430. >;
  431. fsl,drive-strength = <MXS_DRIVE_4mA>;
  432. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  433. fsl,pull-up = <MXS_PULL_DISABLE>;
  434. };
  435. tx28_lcdif_23bit_pins: tx28-lcdif-23bit {
  436. fsl,pinmux-ids = <
  437. /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
  438. MX28_PAD_LCD_D01__LCD_D1
  439. MX28_PAD_LCD_D02__LCD_D2
  440. MX28_PAD_LCD_D03__LCD_D3
  441. MX28_PAD_LCD_D04__LCD_D4
  442. MX28_PAD_LCD_D05__LCD_D5
  443. MX28_PAD_LCD_D06__LCD_D6
  444. MX28_PAD_LCD_D07__LCD_D7
  445. MX28_PAD_LCD_D08__LCD_D8
  446. MX28_PAD_LCD_D09__LCD_D9
  447. MX28_PAD_LCD_D10__LCD_D10
  448. MX28_PAD_LCD_D11__LCD_D11
  449. MX28_PAD_LCD_D12__LCD_D12
  450. MX28_PAD_LCD_D13__LCD_D13
  451. MX28_PAD_LCD_D14__LCD_D14
  452. MX28_PAD_LCD_D15__LCD_D15
  453. MX28_PAD_LCD_D16__LCD_D16
  454. MX28_PAD_LCD_D17__LCD_D17
  455. MX28_PAD_LCD_D18__LCD_D18
  456. MX28_PAD_LCD_D19__LCD_D19
  457. MX28_PAD_LCD_D20__LCD_D20
  458. MX28_PAD_LCD_D21__LCD_D21
  459. MX28_PAD_LCD_D22__LCD_D22
  460. MX28_PAD_LCD_D23__LCD_D23
  461. >;
  462. fsl,drive-strength = <MXS_DRIVE_4mA>;
  463. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  464. fsl,pull-up = <MXS_PULL_DISABLE>;
  465. };
  466. tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl {
  467. fsl,pinmux-ids = <
  468. MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
  469. MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */
  470. >;
  471. fsl,drive-strength = <MXS_DRIVE_4mA>;
  472. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  473. fsl,pull-up = <MXS_PULL_DISABLE>;
  474. };
  475. tx28_mac0_pins_gpio: tx28-mac0-gpio-pins {
  476. fsl,pinmux-ids = <
  477. MX28_PAD_ENET0_MDC__GPIO_4_0
  478. MX28_PAD_ENET0_MDIO__GPIO_4_1
  479. MX28_PAD_ENET0_RX_EN__GPIO_4_2
  480. MX28_PAD_ENET0_RXD0__GPIO_4_3
  481. MX28_PAD_ENET0_RXD1__GPIO_4_4
  482. MX28_PAD_ENET0_TX_EN__GPIO_4_6
  483. MX28_PAD_ENET0_TXD0__GPIO_4_7
  484. MX28_PAD_ENET0_TXD1__GPIO_4_8
  485. MX28_PAD_ENET_CLK__GPIO_4_16
  486. >;
  487. fsl,drive-strength = <MXS_DRIVE_4mA>;
  488. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  489. fsl,pull-up = <MXS_PULL_DISABLE>;
  490. };
  491. tx28_pca9554_pins: tx28-pca9554-pins {
  492. fsl,pinmux-ids = <
  493. MX28_PAD_PWM3__GPIO_3_28
  494. >;
  495. fsl,drive-strength = <MXS_DRIVE_4mA>;
  496. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  497. fsl,pull-up = <MXS_PULL_DISABLE>;
  498. };
  499. tx28_tsc2007_pins: tx28-tsc2007-pins {
  500. fsl,pinmux-ids = <
  501. MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
  502. >;
  503. fsl,drive-strength = <MXS_DRIVE_4mA>;
  504. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  505. fsl,pull-up = <MXS_PULL_DISABLE>;
  506. };
  507. tx28_usbphy0_pins: tx28-usbphy0-pins {
  508. fsl,pinmux-ids = <
  509. MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
  510. MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
  511. >;
  512. fsl,drive-strength = <MXS_DRIVE_12mA>;
  513. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  514. fsl,pull-up = <MXS_PULL_DISABLE>;
  515. };
  516. tx28_usbphy1_pins: tx28-usbphy1-pins {
  517. fsl,pinmux-ids = <
  518. MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
  519. MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
  520. >;
  521. fsl,drive-strength = <MXS_DRIVE_12mA>;
  522. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  523. fsl,pull-up = <MXS_PULL_DISABLE>;
  524. };
  525. };
  526. &saif0 {
  527. pinctrl-names = "default";
  528. pinctrl-0 = <&saif0_pins_b>;
  529. fsl,saif-master;
  530. status = "okay";
  531. };
  532. &saif1 {
  533. pinctrl-names = "default";
  534. pinctrl-0 = <&saif1_pins_a>;
  535. status = "okay";
  536. };
  537. &ssp0 {
  538. compatible = "fsl,imx28-mmc";
  539. pinctrl-names = "default", "special";
  540. pinctrl-0 = <&mmc0_4bit_pins_a
  541. &mmc0_cd_cfg
  542. &mmc0_sck_cfg>;
  543. bus-width = <4>;
  544. status = "okay";
  545. };
  546. &ssp3 {
  547. compatible = "fsl,imx28-spi";
  548. pinctrl-names = "default";
  549. pinctrl-0 = <&spi3_pins_a>;
  550. clock-frequency = <57600000>;
  551. status = "okay";
  552. spidev0: spi@0 {
  553. compatible = "spidev";
  554. reg = <0>;
  555. spi-max-frequency = <57600000>;
  556. };
  557. spidev1: spi@1 {
  558. compatible = "spidev";
  559. reg = <1>;
  560. spi-max-frequency = <57600000>;
  561. };
  562. };
  563. &usb0 {
  564. vbus-supply = <&reg_usb0_vbus>;
  565. disable-over-current;
  566. dr_mode = "peripheral";
  567. status = "okay";
  568. };
  569. &usb1 {
  570. vbus-supply = <&reg_usb1_vbus>;
  571. disable-over-current;
  572. dr_mode = "host";
  573. status = "okay";
  574. };
  575. &usbphy0 {
  576. pinctrl-names = "default";
  577. pinctrl-0 = <&tx28_usbphy0_pins>;
  578. phy_type = "utmi";
  579. status = "okay";
  580. };
  581. &usbphy1 {
  582. pinctrl-names = "default";
  583. pinctrl-0 = <&tx28_usbphy1_pins>;
  584. phy_type = "utmi";
  585. status = "okay";
  586. };