am57xx-idk-common.dtsi 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2015-2016 Texas Instruments Incorporated - https://www.ti.com/
  4. */
  5. #include "am57xx-industrial-grade.dtsi"
  6. / {
  7. aliases {
  8. rtc0 = &tps659038_rtc;
  9. rtc1 = &rtc;
  10. display0 = &hdmi0;
  11. };
  12. chosen {
  13. stdout-path = &uart3;
  14. };
  15. vmain: fixedregulator-vmain {
  16. compatible = "regulator-fixed";
  17. regulator-name = "VMAIN";
  18. regulator-min-microvolt = <5000000>;
  19. regulator-max-microvolt = <5000000>;
  20. regulator-always-on;
  21. regulator-boot-on;
  22. };
  23. v3_3d: fixedregulator-v3_3d {
  24. compatible = "regulator-fixed";
  25. regulator-name = "V3_3D";
  26. vin-supply = <&smps9_reg>;
  27. regulator-min-microvolt = <3300000>;
  28. regulator-max-microvolt = <3300000>;
  29. regulator-always-on;
  30. regulator-boot-on;
  31. };
  32. v1_2d: fixedregulator-v1_2d {
  33. compatible = "regulator-fixed";
  34. regulator-name = "V1_2D";
  35. vin-supply = <&vmain>;
  36. regulator-min-microvolt = <1200000>;
  37. regulator-max-microvolt = <1200000>;
  38. regulator-always-on;
  39. regulator-boot-on;
  40. };
  41. vtt_fixed: fixedregulator-vtt {
  42. /* TPS51200 */
  43. compatible = "regulator-fixed";
  44. regulator-name = "vtt_fixed";
  45. vin-supply = <&v3_3d>;
  46. regulator-min-microvolt = <3300000>;
  47. regulator-max-microvolt = <3300000>;
  48. regulator-always-on;
  49. regulator-boot-on;
  50. };
  51. leds-iio {
  52. status = "disabled";
  53. compatible = "gpio-leds";
  54. led-out0 {
  55. label = "out0";
  56. gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
  57. default-state = "off";
  58. };
  59. led-out1 {
  60. label = "out1";
  61. gpios = <&tpic2810 1 GPIO_ACTIVE_HIGH>;
  62. default-state = "off";
  63. };
  64. led-out2 {
  65. label = "out2";
  66. gpios = <&tpic2810 2 GPIO_ACTIVE_HIGH>;
  67. default-state = "off";
  68. };
  69. led-out3 {
  70. label = "out3";
  71. gpios = <&tpic2810 3 GPIO_ACTIVE_HIGH>;
  72. default-state = "off";
  73. };
  74. led-out4 {
  75. label = "out4";
  76. gpios = <&tpic2810 4 GPIO_ACTIVE_HIGH>;
  77. default-state = "off";
  78. };
  79. led-out5 {
  80. label = "out5";
  81. gpios = <&tpic2810 5 GPIO_ACTIVE_HIGH>;
  82. default-state = "off";
  83. };
  84. led-out6 {
  85. label = "out6";
  86. gpios = <&tpic2810 6 GPIO_ACTIVE_HIGH>;
  87. default-state = "off";
  88. };
  89. led-out7 {
  90. label = "out7";
  91. gpios = <&tpic2810 7 GPIO_ACTIVE_HIGH>;
  92. default-state = "off";
  93. };
  94. };
  95. hdmi0: connector@0 {
  96. compatible = "hdmi-connector";
  97. label = "hdmi";
  98. type = "a";
  99. port {
  100. hdmi_connector_in: endpoint {
  101. remote-endpoint = <&tpd12s015_out>;
  102. };
  103. };
  104. };
  105. tpd12s015: encoder@0 {
  106. compatible = "ti,tpd12s016", "ti,tpd12s015";
  107. gpios = <0>, /* optional CT_CP_HPD */
  108. <0>, /* optional LS_OE */
  109. <&gpio7 12 GPIO_ACTIVE_HIGH>; /* HPD */
  110. ports {
  111. #address-cells = <1>;
  112. #size-cells = <0>;
  113. port@0 {
  114. reg = <0>;
  115. tpd12s015_in: endpoint@0 {
  116. remote-endpoint = <&hdmi_out>;
  117. };
  118. };
  119. port@1 {
  120. reg = <1>;
  121. tpd12s015_out: endpoint@0 {
  122. remote-endpoint = <&hdmi_connector_in>;
  123. };
  124. };
  125. };
  126. };
  127. src_clk_x1: src_clk_x1 {
  128. #clock-cells = <0>;
  129. compatible = "fixed-clock";
  130. clock-frequency = <20000000>;
  131. };
  132. };
  133. &dra7_pmx_core {
  134. dcan1_pins_default: dcan1_pins_default {
  135. pinctrl-single,pins = <
  136. DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
  137. DRA7XX_CORE_IOPAD(0x37d4, PIN_INPUT_PULLUP | MUX_MODE0) /* dcan1_rx */
  138. >;
  139. };
  140. dcan1_pins_sleep: dcan1_pins_sleep {
  141. pinctrl-single,pins = <
  142. DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
  143. DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
  144. >;
  145. };
  146. };
  147. &i2c1 {
  148. status = "okay";
  149. clock-frequency = <400000>;
  150. tps659038: tps659038@58 {
  151. compatible = "ti,tps659038";
  152. reg = <0x58>;
  153. interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
  154. &dra7_pmx_core 0x418>;
  155. #interrupt-cells = <2>;
  156. interrupt-controller;
  157. ti,system-power-controller;
  158. ti,palmas-override-powerhold;
  159. tps659038_pmic {
  160. compatible = "ti,tps659038-pmic";
  161. smps12-in-supply = <&vmain>;
  162. smps3-in-supply = <&vmain>;
  163. smps45-in-supply = <&vmain>;
  164. smps6-in-supply = <&vmain>;
  165. smps7-in-supply = <&vmain>;
  166. smps8-in-supply = <&vmain>;
  167. smps9-in-supply = <&vmain>;
  168. ldo1-in-supply = <&vmain>;
  169. ldo2-in-supply = <&vmain>;
  170. ldo3-in-supply = <&vmain>;
  171. ldo4-in-supply = <&vmain>;
  172. ldo9-in-supply = <&vmain>;
  173. ldoln-in-supply = <&vmain>;
  174. ldousb-in-supply = <&vmain>;
  175. ldortc-in-supply = <&vmain>;
  176. regulators {
  177. smps12_reg: smps12 {
  178. /* VDD_MPU */
  179. regulator-name = "smps12";
  180. regulator-min-microvolt = <850000>;
  181. regulator-max-microvolt = <1250000>;
  182. regulator-always-on;
  183. regulator-boot-on;
  184. };
  185. smps3_reg: smps3 {
  186. /* VDD_DDR EMIF1 EMIF2 */
  187. regulator-name = "smps3";
  188. regulator-min-microvolt = <1350000>;
  189. regulator-max-microvolt = <1350000>;
  190. regulator-always-on;
  191. regulator-boot-on;
  192. };
  193. smps45_reg: smps45 {
  194. /* VDD_DSPEVE on AM572 */
  195. /* VDD_IVA + VDD_DSP on AM571 */
  196. regulator-name = "smps45";
  197. regulator-min-microvolt = <850000>;
  198. regulator-max-microvolt = <1250000>;
  199. regulator-always-on;
  200. regulator-boot-on;
  201. };
  202. smps6_reg: smps6 {
  203. /* VDD_GPU */
  204. regulator-name = "smps6";
  205. regulator-min-microvolt = <850000>;
  206. regulator-max-microvolt = <1250000>;
  207. regulator-always-on;
  208. regulator-boot-on;
  209. };
  210. smps7_reg: smps7 {
  211. /* VDD_CORE */
  212. regulator-name = "smps7";
  213. regulator-min-microvolt = <850000>;
  214. regulator-max-microvolt = <1150000>;
  215. regulator-always-on;
  216. regulator-boot-on;
  217. };
  218. smps8_reg: smps8 {
  219. /* 5728 - VDD_IVAHD */
  220. /* 5718 - N.C. test point */
  221. regulator-name = "smps8";
  222. };
  223. smps9_reg: smps9 {
  224. /* VDD_3_3D */
  225. regulator-name = "smps9";
  226. regulator-min-microvolt = <3300000>;
  227. regulator-max-microvolt = <3300000>;
  228. regulator-always-on;
  229. regulator-boot-on;
  230. };
  231. ldo1_reg: ldo1 {
  232. /* VDDSHV8 - VSDMMC */
  233. /* NOTE: on rev 1.3a, data supply */
  234. regulator-name = "ldo1";
  235. regulator-min-microvolt = <1800000>;
  236. regulator-max-microvolt = <3300000>;
  237. regulator-boot-on;
  238. regulator-always-on;
  239. };
  240. ldo2_reg: ldo2 {
  241. /* VDDSH18V */
  242. regulator-name = "ldo2";
  243. regulator-min-microvolt = <1800000>;
  244. regulator-max-microvolt = <1800000>;
  245. regulator-always-on;
  246. regulator-boot-on;
  247. };
  248. ldo3_reg: ldo3 {
  249. /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
  250. regulator-name = "ldo3";
  251. regulator-min-microvolt = <1800000>;
  252. regulator-max-microvolt = <1800000>;
  253. regulator-always-on;
  254. regulator-boot-on;
  255. };
  256. ldo4_reg: ldo4 {
  257. /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
  258. regulator-name = "ldo4";
  259. regulator-min-microvolt = <1800000>;
  260. regulator-max-microvolt = <1800000>;
  261. regulator-always-on;
  262. regulator-boot-on;
  263. };
  264. /* LDO5-8 unused */
  265. ldo9_reg: ldo9 {
  266. /* VDD_RTC */
  267. regulator-name = "ldo9";
  268. regulator-min-microvolt = <840000>;
  269. regulator-max-microvolt = <1160000>;
  270. regulator-always-on;
  271. regulator-boot-on;
  272. };
  273. ldoln_reg: ldoln {
  274. /* VDDA_1V8_PLL */
  275. regulator-name = "ldoln";
  276. regulator-min-microvolt = <1800000>;
  277. regulator-max-microvolt = <1800000>;
  278. regulator-always-on;
  279. regulator-boot-on;
  280. };
  281. ldousb_reg: ldousb {
  282. /* VDDA_3V_USB: VDDA_USBHS33 */
  283. regulator-name = "ldousb";
  284. regulator-min-microvolt = <3300000>;
  285. regulator-max-microvolt = <3300000>;
  286. regulator-always-on;
  287. regulator-boot-on;
  288. };
  289. ldortc_reg: ldortc {
  290. /* VDDA_RTC */
  291. regulator-name = "ldortc";
  292. regulator-min-microvolt = <1800000>;
  293. regulator-max-microvolt = <1800000>;
  294. regulator-always-on;
  295. regulator-boot-on;
  296. };
  297. regen1: regen1 {
  298. /* VDD_3V3_ON */
  299. regulator-name = "regen1";
  300. regulator-boot-on;
  301. regulator-always-on;
  302. };
  303. regen2: regen2 {
  304. /* Needed for PMIC internal resource */
  305. regulator-name = "regen2";
  306. regulator-boot-on;
  307. regulator-always-on;
  308. };
  309. };
  310. };
  311. tps659038_rtc: tps659038_rtc {
  312. compatible = "ti,palmas-rtc";
  313. interrupt-parent = <&tps659038>;
  314. interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
  315. wakeup-source;
  316. };
  317. tps659038_pwr_button: tps659038_pwr_button {
  318. compatible = "ti,palmas-pwrbutton";
  319. interrupt-parent = <&tps659038>;
  320. interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
  321. wakeup-source;
  322. ti,palmas-long-press-seconds = <12>;
  323. };
  324. tps659038_gpio: tps659038_gpio {
  325. compatible = "ti,palmas-gpio";
  326. gpio-controller;
  327. #gpio-cells = <2>;
  328. };
  329. extcon_usb2: tps659038_usb {
  330. compatible = "ti,palmas-usb-vid";
  331. ti,enable-vbus-detection;
  332. ti,enable-id-detection;
  333. /* ID & VBUS GPIOs provided in board dts */
  334. };
  335. };
  336. tpic2810: tpic2810@60 {
  337. compatible = "ti,tpic2810";
  338. reg = <0x60>;
  339. gpio-controller;
  340. #gpio-cells = <2>;
  341. };
  342. dsi_bridge: tc358778@e {
  343. compatible = "toshiba,tc358778", "toshiba,tc358768";
  344. reg = <0xe>;
  345. status = "disabled";
  346. clocks = <&src_clk_x1>;
  347. clock-names = "refclk";
  348. vddc-supply = <&v1_2d>;
  349. vddmipi-supply = <&v1_2d>;
  350. vddio-supply = <&v3_3d>;
  351. dsi_bridge_ports: ports {
  352. #address-cells = <1>;
  353. #size-cells = <0>;
  354. port@0 {
  355. reg = <0>;
  356. rgb_in: endpoint {
  357. remote-endpoint = <&dpi_out>;
  358. data-lines = <24>;
  359. };
  360. };
  361. };
  362. };
  363. };
  364. &mcspi3 {
  365. status = "okay";
  366. ti,pindir-d0-out-d1-in;
  367. sn65hvs882: sn65hvs882@0 {
  368. compatible = "pisosr-gpio";
  369. gpio-controller;
  370. #gpio-cells = <2>;
  371. reg = <0>;
  372. spi-max-frequency = <1000000>;
  373. spi-cpol;
  374. };
  375. };
  376. &uart3 {
  377. status = "okay";
  378. interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
  379. &dra7_pmx_core 0x248>;
  380. };
  381. &rtc {
  382. status = "okay";
  383. ext-clk-src;
  384. };
  385. &mac_sw {
  386. status = "okay";
  387. };
  388. &cpsw_port1 {
  389. phy-handle = <&ethphy0>;
  390. phy-mode = "rgmii-rxid";
  391. ti,dual-emac-pvid = <1>;
  392. };
  393. &cpsw_port2 {
  394. phy-handle = <&ethphy1>;
  395. phy-mode = "rgmii-rxid";
  396. ti,dual-emac-pvid = <2>;
  397. };
  398. &davinci_mdio_sw {
  399. ethphy0: ethernet-phy@0 {
  400. reg = <0>;
  401. };
  402. ethphy1: ethernet-phy@1 {
  403. reg = <1>;
  404. };
  405. };
  406. &usb2_phy1 {
  407. phy-supply = <&ldousb_reg>;
  408. };
  409. &usb2_phy2 {
  410. phy-supply = <&ldousb_reg>;
  411. };
  412. &usb1 {
  413. dr_mode = "host";
  414. };
  415. &omap_dwc3_2 {
  416. extcon = <&extcon_usb2>;
  417. };
  418. &usb2 {
  419. extcon = <&extcon_usb2>;
  420. dr_mode = "otg";
  421. };
  422. &mmc1 {
  423. status = "okay";
  424. vmmc-supply = <&v3_3d>;
  425. vqmmc-supply = <&ldo1_reg>;
  426. bus-width = <4>;
  427. cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
  428. no-1-8-v;
  429. };
  430. &mmc2 {
  431. status = "okay";
  432. vmmc-supply = <&v3_3d>;
  433. vqmmc-supply = <&v3_3d>;
  434. bus-width = <8>;
  435. non-removable;
  436. max-frequency = <96000000>;
  437. no-1-8-v;
  438. };
  439. &dcan1 {
  440. status = "okay";
  441. pinctrl-names = "default", "sleep", "active";
  442. pinctrl-0 = <&dcan1_pins_sleep>;
  443. pinctrl-1 = <&dcan1_pins_sleep>;
  444. pinctrl-2 = <&dcan1_pins_default>;
  445. };
  446. &qspi {
  447. status = "okay";
  448. spi-max-frequency = <76800000>;
  449. flash@0 {
  450. compatible = "s25fl256s1", "jedec,spi-nor";
  451. spi-max-frequency = <76800000>;
  452. reg = <0>;
  453. spi-tx-bus-width = <1>;
  454. spi-rx-bus-width = <4>;
  455. #address-cells = <1>;
  456. #size-cells = <1>;
  457. /* MTD partition table.
  458. * The ROM checks the first four physical blocks
  459. * for a valid file to boot and the flash here is
  460. * 64KiB block size.
  461. */
  462. partition@0 {
  463. label = "QSPI.SPL";
  464. reg = <0x00000000 0x000040000>;
  465. };
  466. partition@1 {
  467. label = "QSPI.u-boot";
  468. reg = <0x00040000 0x00100000>;
  469. };
  470. partition@2 {
  471. label = "QSPI.u-boot-spl-os";
  472. reg = <0x00140000 0x00080000>;
  473. };
  474. partition@3 {
  475. label = "QSPI.u-boot-env";
  476. reg = <0x001c0000 0x00010000>;
  477. };
  478. partition@4 {
  479. label = "QSPI.u-boot-env.backup1";
  480. reg = <0x001d0000 0x0010000>;
  481. };
  482. partition@5 {
  483. label = "QSPI.kernel";
  484. reg = <0x001e0000 0x0800000>;
  485. };
  486. partition@6 {
  487. label = "QSPI.file-system";
  488. reg = <0x009e0000 0x01620000>;
  489. };
  490. };
  491. };
  492. &cpu0 {
  493. vdd-supply = <&smps12_reg>;
  494. };
  495. &hdmi {
  496. status = "okay";
  497. vdda-supply = <&ldo4_reg>;
  498. port {
  499. hdmi_out: endpoint {
  500. remote-endpoint = <&tpd12s015_in>;
  501. };
  502. };
  503. };
  504. &dss {
  505. status = "okay";
  506. vdda_video-supply = <&ldoln_reg>;
  507. ports {
  508. #address-cells = <1>;
  509. #size-cells = <0>;
  510. port@0 {
  511. reg = <0>;
  512. dpi_out: endpoint {
  513. remote-endpoint = <&rgb_in>;
  514. data-lines = <24>;
  515. };
  516. };
  517. };
  518. };