tegra30-colibri.dtsi 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include "tegra30.dtsi"
  3. /*
  4. * Toradex Colibri T30 Module Device Tree
  5. * Compatible for Revisions V1.1B, V1.1C, V1.1D, V1.1E, V1.1F; IT: V1.1A, V1.1B
  6. */
  7. / {
  8. memory@80000000 {
  9. reg = <0x80000000 0x40000000>;
  10. };
  11. host1x@50000000 {
  12. hdmi@54280000 {
  13. nvidia,ddc-i2c-bus = <&hdmi_ddc>;
  14. nvidia,hpd-gpio =
  15. <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
  16. pll-supply = <&reg_1v8_avdd_hdmi_pll>;
  17. vdd-supply = <&reg_3v3_avdd_hdmi>;
  18. };
  19. };
  20. pinmux@70000868 {
  21. pinctrl-names = "default";
  22. pinctrl-0 = <&state_default>;
  23. state_default: pinmux {
  24. /* Analogue Audio (On-module) */
  25. clk1-out-pw4 {
  26. nvidia,pins = "clk1_out_pw4";
  27. nvidia,function = "extperiph1";
  28. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  29. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  30. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  31. };
  32. dap3-fs-pp0 {
  33. nvidia,pins = "dap3_fs_pp0",
  34. "dap3_sclk_pp3",
  35. "dap3_din_pp1",
  36. "dap3_dout_pp2";
  37. nvidia,function = "i2s2";
  38. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  39. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  40. };
  41. /* Colibri Address/Data Bus (GMI) */
  42. gmi-ad0-pg0 {
  43. nvidia,pins = "gmi_ad0_pg0",
  44. "gmi_ad2_pg2",
  45. "gmi_ad3_pg3",
  46. "gmi_ad4_pg4",
  47. "gmi_ad5_pg5",
  48. "gmi_ad6_pg6",
  49. "gmi_ad7_pg7",
  50. "gmi_ad8_ph0",
  51. "gmi_ad9_ph1",
  52. "gmi_ad10_ph2",
  53. "gmi_ad11_ph3",
  54. "gmi_ad12_ph4",
  55. "gmi_ad13_ph5",
  56. "gmi_ad14_ph6",
  57. "gmi_ad15_ph7",
  58. "gmi_adv_n_pk0",
  59. "gmi_clk_pk1",
  60. "gmi_cs4_n_pk2",
  61. "gmi_cs2_n_pk3",
  62. "gmi_iordy_pi5",
  63. "gmi_oe_n_pi1",
  64. "gmi_wait_pi7",
  65. "gmi_wr_n_pi0",
  66. "dap1_fs_pn0",
  67. "dap1_din_pn1",
  68. "dap1_dout_pn2",
  69. "dap1_sclk_pn3",
  70. "dap2_fs_pa2",
  71. "dap2_sclk_pa3",
  72. "dap2_din_pa4",
  73. "dap2_dout_pa5",
  74. "spi1_sck_px5",
  75. "spi1_mosi_px4",
  76. "spi1_cs0_n_px6",
  77. "spi2_cs0_n_px3",
  78. "spi2_miso_px1",
  79. "spi2_mosi_px0",
  80. "spi2_sck_px2",
  81. "uart2_cts_n_pj5",
  82. "uart2_rts_n_pj6";
  83. nvidia,function = "gmi";
  84. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  85. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  86. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  87. };
  88. /* Further pins may be used as GPIOs */
  89. dap4-din-pp5 {
  90. nvidia,pins = "dap4_din_pp5",
  91. "dap4_dout_pp6",
  92. "dap4_fs_pp4",
  93. "dap4_sclk_pp7",
  94. "pbb7",
  95. "sdmmc1_clk_pz0",
  96. "sdmmc1_cmd_pz1",
  97. "sdmmc1_dat0_py7",
  98. "sdmmc1_dat1_py6",
  99. "sdmmc1_dat3_py4",
  100. "uart3_cts_n_pa1",
  101. "uart3_txd_pw6",
  102. "uart3_rxd_pw7";
  103. nvidia,function = "rsvd2";
  104. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  105. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  106. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  107. };
  108. lcd-d18-pm2 {
  109. nvidia,pins = "lcd_d18_pm2",
  110. "lcd_d19_pm3",
  111. "lcd_d20_pm4",
  112. "lcd_d21_pm5",
  113. "lcd_d22_pm6",
  114. "lcd_d23_pm7",
  115. "lcd_dc0_pn6",
  116. "pex_l2_clkreq_n_pcc7";
  117. nvidia,function = "rsvd3";
  118. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  119. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  120. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  121. };
  122. lcd-cs0-n-pn4 {
  123. nvidia,pins = "lcd_cs0_n_pn4",
  124. "lcd_sdin_pz2",
  125. "pu0",
  126. "pu1",
  127. "pu2",
  128. "pu3",
  129. "pu4",
  130. "pu5",
  131. "pu6",
  132. "spi1_miso_px7",
  133. "uart3_rts_n_pc0";
  134. nvidia,function = "rsvd4";
  135. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  136. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  137. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  138. };
  139. lcd-pwr0-pb2 {
  140. nvidia,pins = "lcd_pwr0_pb2",
  141. "lcd_sck_pz4",
  142. "lcd_sdout_pn5",
  143. "lcd_wr_n_pz3";
  144. nvidia,function = "hdcp";
  145. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  146. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  147. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  148. };
  149. pbb4 {
  150. nvidia,pins = "pbb4",
  151. "pbb5",
  152. "pbb6";
  153. nvidia,function = "displayb";
  154. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  155. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  156. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  157. };
  158. /* Multiplexed RDnWR and therefore disabled */
  159. lcd-cs1-n-pw0 {
  160. nvidia,pins = "lcd_cs1_n_pw0";
  161. nvidia,function = "rsvd4";
  162. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  163. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  164. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  165. };
  166. /* Multiplexed GMI_CLK and therefore disabled */
  167. owr {
  168. nvidia,pins = "owr";
  169. nvidia,function = "rsvd3";
  170. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  171. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  172. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  173. };
  174. /* Tri-stating GMI_WR_N on nPWE SODIMM pin 99 */
  175. sdmmc3-dat4-pd1 {
  176. nvidia,pins = "sdmmc3_dat4_pd1";
  177. nvidia,function = "sdmmc3";
  178. nvidia,pull = <TEGRA_PIN_PULL_UP>;
  179. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  180. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  181. };
  182. /* Not tri-stating GMI_WR_N on RDnWR SODIMM pin 93 */
  183. sdmmc3-dat5-pd0 {
  184. nvidia,pins = "sdmmc3_dat5_pd0";
  185. nvidia,function = "sdmmc3";
  186. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  187. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  188. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  189. };
  190. /* Colibri BL_ON */
  191. pv2 {
  192. nvidia,pins = "pv2";
  193. nvidia,function = "rsvd4";
  194. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  195. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  196. };
  197. /* Colibri Backlight PWM<A> */
  198. sdmmc3-dat3-pb4 {
  199. nvidia,pins = "sdmmc3_dat3_pb4";
  200. nvidia,function = "pwm0";
  201. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  202. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  203. };
  204. /* Colibri CAN_INT */
  205. kb-row8-ps0 {
  206. nvidia,pins = "kb_row8_ps0";
  207. nvidia,function = "kbc";
  208. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  209. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  210. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  211. };
  212. /* Colibri DDC */
  213. ddc-scl-pv4 {
  214. nvidia,pins = "ddc_scl_pv4",
  215. "ddc_sda_pv5";
  216. nvidia,function = "i2c4";
  217. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  218. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  219. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  220. };
  221. /* Colibri EXT_IO* */
  222. gen2-i2c-scl-pt5 {
  223. nvidia,pins = "gen2_i2c_scl_pt5",
  224. "gen2_i2c_sda_pt6";
  225. nvidia,function = "rsvd4";
  226. nvidia,open-drain = <TEGRA_PIN_DISABLE>;
  227. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  228. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  229. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  230. };
  231. spdif-in-pk6 {
  232. nvidia,pins = "spdif_in_pk6";
  233. nvidia,function = "hda";
  234. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  235. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  236. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  237. };
  238. /* Colibri GPIO */
  239. clk2-out-pw5 {
  240. nvidia,pins = "clk2_out_pw5",
  241. "pcc2",
  242. "pv3",
  243. "sdmmc1_dat2_py5";
  244. nvidia,function = "rsvd2";
  245. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  246. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  247. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  248. };
  249. lcd-pwr1-pc1 {
  250. nvidia,pins = "lcd_pwr1_pc1",
  251. "pex_l1_clkreq_n_pdd6",
  252. "pex_l1_rst_n_pdd5";
  253. nvidia,function = "rsvd3";
  254. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  255. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  256. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  257. };
  258. pv1 {
  259. nvidia,pins = "pv1",
  260. "sdmmc3_dat0_pb7",
  261. "sdmmc3_dat1_pb6";
  262. nvidia,function = "rsvd1";
  263. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  264. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  265. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  266. };
  267. /* Colibri HOTPLUG_DETECT (HDMI) */
  268. hdmi-int-pn7 {
  269. nvidia,pins = "hdmi_int_pn7";
  270. nvidia,function = "hdmi";
  271. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  272. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  273. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  274. };
  275. /* Colibri I2C */
  276. gen1-i2c-scl-pc4 {
  277. nvidia,pins = "gen1_i2c_scl_pc4",
  278. "gen1_i2c_sda_pc5";
  279. nvidia,function = "i2c1";
  280. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  281. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  282. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  283. nvidia,open-drain = <TEGRA_PIN_ENABLE>;
  284. };
  285. /* Colibri LCD (L_* resp. LDD<*>) */
  286. lcd-d0-pe0 {
  287. nvidia,pins = "lcd_d0_pe0",
  288. "lcd_d1_pe1",
  289. "lcd_d2_pe2",
  290. "lcd_d3_pe3",
  291. "lcd_d4_pe4",
  292. "lcd_d5_pe5",
  293. "lcd_d6_pe6",
  294. "lcd_d7_pe7",
  295. "lcd_d8_pf0",
  296. "lcd_d9_pf1",
  297. "lcd_d10_pf2",
  298. "lcd_d11_pf3",
  299. "lcd_d12_pf4",
  300. "lcd_d13_pf5",
  301. "lcd_d14_pf6",
  302. "lcd_d15_pf7",
  303. "lcd_d16_pm0",
  304. "lcd_d17_pm1",
  305. "lcd_de_pj1",
  306. "lcd_hsync_pj3",
  307. "lcd_pclk_pb3",
  308. "lcd_vsync_pj4";
  309. nvidia,function = "displaya";
  310. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  311. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  312. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  313. };
  314. /*
  315. * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE
  316. * today's display need DE, disable LCD_M1
  317. */
  318. lcd-m1-pw1 {
  319. nvidia,pins = "lcd_m1_pw1";
  320. nvidia,function = "rsvd3";
  321. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  322. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  323. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  324. };
  325. /* Colibri MMC */
  326. kb-row10-ps2 {
  327. nvidia,pins = "kb_row10_ps2";
  328. nvidia,function = "sdmmc2";
  329. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  330. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  331. };
  332. kb-row11-ps3 {
  333. nvidia,pins = "kb_row11_ps3",
  334. "kb_row12_ps4",
  335. "kb_row13_ps5",
  336. "kb_row14_ps6",
  337. "kb_row15_ps7";
  338. nvidia,function = "sdmmc2";
  339. nvidia,pull = <TEGRA_PIN_PULL_UP>;
  340. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  341. };
  342. /* Colibri MMC_CD */
  343. gmi-wp-n-pc7 {
  344. nvidia,pins = "gmi_wp_n_pc7";
  345. nvidia,function = "rsvd1";
  346. nvidia,pull = <TEGRA_PIN_PULL_UP>;
  347. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  348. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  349. };
  350. /* Multiplexed and therefore disabled */
  351. cam-mclk-pcc0 {
  352. nvidia,pins = "cam_mclk_pcc0";
  353. nvidia,function = "vi_alt3";
  354. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  355. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  356. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  357. };
  358. cam-i2c-scl-pbb1 {
  359. nvidia,pins = "cam_i2c_scl_pbb1",
  360. "cam_i2c_sda_pbb2";
  361. nvidia,function = "rsvd3";
  362. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  363. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  364. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  365. nvidia,open-drain = <TEGRA_PIN_DISABLE>;
  366. };
  367. pbb0 {
  368. nvidia,pins = "pbb0",
  369. "pcc1";
  370. nvidia,function = "rsvd2";
  371. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  372. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  373. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  374. };
  375. pbb3 {
  376. nvidia,pins = "pbb3";
  377. nvidia,function = "displayb";
  378. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  379. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  380. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  381. };
  382. /* Colibri nRESET_OUT */
  383. gmi-rst-n-pi4 {
  384. nvidia,pins = "gmi_rst_n_pi4";
  385. nvidia,function = "gmi";
  386. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  387. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  388. };
  389. /*
  390. * Colibri Parallel Camera (Optional)
  391. * pins multiplexed with others and therefore disabled
  392. */
  393. vi-vsync-pd6 {
  394. nvidia,pins = "vi_d0_pt4",
  395. "vi_d1_pd5",
  396. "vi_d2_pl0",
  397. "vi_d3_pl1",
  398. "vi_d4_pl2",
  399. "vi_d5_pl3",
  400. "vi_d6_pl4",
  401. "vi_d7_pl5",
  402. "vi_d8_pl6",
  403. "vi_d9_pl7",
  404. "vi_d10_pt2",
  405. "vi_d11_pt3",
  406. "vi_hsync_pd7",
  407. "vi_mclk_pt1",
  408. "vi_pclk_pt0",
  409. "vi_vsync_pd6";
  410. nvidia,function = "vi";
  411. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  412. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  413. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  414. };
  415. /* Colibri PWM<B> */
  416. sdmmc3-dat2-pb5 {
  417. nvidia,pins = "sdmmc3_dat2_pb5";
  418. nvidia,function = "pwm1";
  419. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  420. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  421. };
  422. /* Colibri PWM<C> */
  423. sdmmc3-clk-pa6 {
  424. nvidia,pins = "sdmmc3_clk_pa6";
  425. nvidia,function = "pwm2";
  426. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  427. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  428. };
  429. /* Colibri PWM<D> */
  430. sdmmc3-cmd-pa7 {
  431. nvidia,pins = "sdmmc3_cmd_pa7";
  432. nvidia,function = "pwm3";
  433. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  434. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  435. };
  436. /* Colibri SSP */
  437. ulpi-clk-py0 {
  438. nvidia,pins = "ulpi_clk_py0",
  439. "ulpi_dir_py1",
  440. "ulpi_nxt_py2",
  441. "ulpi_stp_py3";
  442. nvidia,function = "spi1";
  443. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  444. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  445. };
  446. /* Multiplexed SSPFRM, SSPTXD and therefore disabled */
  447. sdmmc3-dat6-pd3 {
  448. nvidia,pins = "sdmmc3_dat6_pd3",
  449. "sdmmc3_dat7_pd4";
  450. nvidia,function = "spdif";
  451. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  452. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  453. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  454. };
  455. /* Colibri UART-A */
  456. ulpi-data0 {
  457. nvidia,pins = "ulpi_data0_po1",
  458. "ulpi_data1_po2",
  459. "ulpi_data2_po3",
  460. "ulpi_data3_po4",
  461. "ulpi_data4_po5",
  462. "ulpi_data5_po6",
  463. "ulpi_data6_po7",
  464. "ulpi_data7_po0";
  465. nvidia,function = "uarta";
  466. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  467. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  468. };
  469. /* Colibri UART-B */
  470. gmi-a16-pj7 {
  471. nvidia,pins = "gmi_a16_pj7",
  472. "gmi_a17_pb0",
  473. "gmi_a18_pb1",
  474. "gmi_a19_pk7";
  475. nvidia,function = "uartd";
  476. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  477. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  478. };
  479. /* Colibri UART-C */
  480. uart2-rxd {
  481. nvidia,pins = "uart2_rxd_pc3",
  482. "uart2_txd_pc2";
  483. nvidia,function = "uartb";
  484. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  485. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  486. };
  487. /* Colibri USBC_DET */
  488. spdif-out-pk5 {
  489. nvidia,pins = "spdif_out_pk5";
  490. nvidia,function = "rsvd2";
  491. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  492. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  493. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  494. };
  495. /* Colibri USBH_PEN */
  496. spi2-cs1-n-pw2 {
  497. nvidia,pins = "spi2_cs1_n_pw2";
  498. nvidia,function = "spi2_alt";
  499. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  500. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  501. };
  502. /* Colibri USBH_OC */
  503. spi2-cs2-n-pw3 {
  504. nvidia,pins = "spi2_cs2_n_pw3";
  505. nvidia,function = "spi2_alt";
  506. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  507. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  508. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  509. };
  510. /* Colibri VGA not supported and therefore disabled */
  511. crt-hsync-pv6 {
  512. nvidia,pins = "crt_hsync_pv6",
  513. "crt_vsync_pv7";
  514. nvidia,function = "rsvd2";
  515. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  516. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  517. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  518. };
  519. /* eMMC (On-module) */
  520. sdmmc4-clk-pcc4 {
  521. nvidia,pins = "sdmmc4_clk_pcc4",
  522. "sdmmc4_cmd_pt7",
  523. "sdmmc4_rst_n_pcc3";
  524. nvidia,function = "sdmmc4";
  525. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  526. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  527. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  528. };
  529. sdmmc4-dat0-paa0 {
  530. nvidia,pins = "sdmmc4_dat0_paa0",
  531. "sdmmc4_dat1_paa1",
  532. "sdmmc4_dat2_paa2",
  533. "sdmmc4_dat3_paa3",
  534. "sdmmc4_dat4_paa4",
  535. "sdmmc4_dat5_paa5",
  536. "sdmmc4_dat6_paa6",
  537. "sdmmc4_dat7_paa7";
  538. nvidia,function = "sdmmc4";
  539. nvidia,pull = <TEGRA_PIN_PULL_UP>;
  540. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  541. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  542. };
  543. /* LAN_EXT_WAKEUP#, LAN_PME (On-module) */
  544. pex-l0-rst-n-pdd1 {
  545. nvidia,pins = "pex_l0_rst_n_pdd1",
  546. "pex_wake_n_pdd3";
  547. nvidia,function = "rsvd3";
  548. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  549. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  550. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  551. };
  552. /* LAN_V_BUS, LAN_RESET# (On-module) */
  553. pex-l0-clkreq-n-pdd2 {
  554. nvidia,pins = "pex_l0_clkreq_n_pdd2",
  555. "pex_l0_prsnt_n_pdd0";
  556. nvidia,function = "rsvd3";
  557. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  558. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  559. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  560. };
  561. /* nBATT_FAULT(SENSE), nVDD_FAULT(SENSE) */
  562. pex-l2-rst-n-pcc6 {
  563. nvidia,pins = "pex_l2_rst_n_pcc6",
  564. "pex_l2_prsnt_n_pdd7";
  565. nvidia,function = "rsvd3";
  566. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  567. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  568. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  569. };
  570. /* Not connected and therefore disabled */
  571. clk1-req-pee2 {
  572. nvidia,pins = "clk1_req_pee2",
  573. "pex_l1_prsnt_n_pdd4";
  574. nvidia,function = "rsvd3";
  575. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  576. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  577. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  578. };
  579. clk2-req-pcc5 {
  580. nvidia,pins = "clk2_req_pcc5",
  581. "clk3_out_pee0",
  582. "clk3_req_pee1",
  583. "clk_32k_out_pa0",
  584. "hdmi_cec_pee3",
  585. "sys_clk_req_pz5";
  586. nvidia,function = "rsvd2";
  587. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  588. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  589. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  590. };
  591. gmi-dqs-pi2 {
  592. nvidia,pins = "gmi_dqs_pi2",
  593. "kb_col2_pq2",
  594. "kb_col3_pq3",
  595. "kb_col4_pq4",
  596. "kb_col5_pq5",
  597. "kb_row4_pr4";
  598. nvidia,function = "rsvd4";
  599. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  600. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  601. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  602. };
  603. kb-col0-pq0 {
  604. nvidia,pins = "kb_col0_pq0",
  605. "kb_col1_pq1",
  606. "kb_col6_pq6",
  607. "kb_col7_pq7",
  608. "kb_row5_pr5",
  609. "kb_row6_pr6",
  610. "kb_row7_pr7",
  611. "kb_row9_ps1";
  612. nvidia,function = "kbc";
  613. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  614. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  615. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  616. };
  617. kb-row0-pr0 {
  618. nvidia,pins = "kb_row0_pr0",
  619. "kb_row1_pr1",
  620. "kb_row2_pr2",
  621. "kb_row3_pr3";
  622. nvidia,function = "rsvd3";
  623. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  624. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  625. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  626. };
  627. lcd-pwr2-pc6 {
  628. nvidia,pins = "lcd_pwr2_pc6";
  629. nvidia,function = "hdcp";
  630. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  631. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  632. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  633. };
  634. /* Power I2C (On-module) */
  635. pwr-i2c-scl-pz6 {
  636. nvidia,pins = "pwr_i2c_scl_pz6",
  637. "pwr_i2c_sda_pz7";
  638. nvidia,function = "i2cpwr";
  639. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  640. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  641. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  642. nvidia,open-drain = <TEGRA_PIN_ENABLE>;
  643. };
  644. /*
  645. * THERMD_ALERT#, unlatched I2C address pin of LM95245
  646. * temperature sensor therefore requires disabling for
  647. * now
  648. */
  649. lcd-dc1-pd2 {
  650. nvidia,pins = "lcd_dc1_pd2";
  651. nvidia,function = "rsvd3";
  652. nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
  653. nvidia,tristate = <TEGRA_PIN_ENABLE>;
  654. nvidia,enable-input = <TEGRA_PIN_DISABLE>;
  655. };
  656. /* TOUCH_PEN_INT# (On-module) */
  657. pv0 {
  658. nvidia,pins = "pv0";
  659. nvidia,function = "rsvd1";
  660. nvidia,pull = <TEGRA_PIN_PULL_NONE>;
  661. nvidia,tristate = <TEGRA_PIN_DISABLE>;
  662. nvidia,enable-input = <TEGRA_PIN_ENABLE>;
  663. };
  664. };
  665. };
  666. serial@70006040 {
  667. compatible = "nvidia,tegra30-hsuart";
  668. /delete-property/ reg-shift;
  669. };
  670. serial@70006300 {
  671. compatible = "nvidia,tegra30-hsuart";
  672. /delete-property/ reg-shift;
  673. };
  674. hdmi_ddc: i2c@7000c700 {
  675. clock-frequency = <10000>;
  676. };
  677. /*
  678. * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
  679. * touch screen controller (On-module)
  680. */
  681. i2c@7000d000 {
  682. status = "okay";
  683. clock-frequency = <100000>;
  684. /* SGTL5000 audio codec */
  685. sgtl5000: codec@a {
  686. compatible = "fsl,sgtl5000";
  687. reg = <0x0a>;
  688. #sound-dai-cells = <0>;
  689. VDDA-supply = <&reg_module_3v3_audio>;
  690. VDDD-supply = <&reg_1v8_vio>;
  691. VDDIO-supply = <&reg_module_3v3>;
  692. clocks = <&tegra_car TEGRA30_CLK_EXTERN1>;
  693. };
  694. pmic: pmic@2d {
  695. compatible = "ti,tps65911";
  696. reg = <0x2d>;
  697. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  698. #interrupt-cells = <2>;
  699. interrupt-controller;
  700. wakeup-source;
  701. ti,system-power-controller;
  702. #gpio-cells = <2>;
  703. gpio-controller;
  704. vcc1-supply = <&reg_module_3v3>;
  705. vcc2-supply = <&reg_module_3v3>;
  706. vcc3-supply = <&reg_1v8_vio>;
  707. vcc4-supply = <&reg_module_3v3>;
  708. vcc5-supply = <&reg_module_3v3>;
  709. vcc6-supply = <&reg_1v8_vio>;
  710. vcc7-supply = <&reg_5v0_charge_pump>;
  711. vccio-supply = <&reg_module_3v3>;
  712. regulators {
  713. vdd1_reg: vdd1 {
  714. regulator-name = "+V1.35_VDDIO_DDR";
  715. regulator-min-microvolt = <1350000>;
  716. regulator-max-microvolt = <1350000>;
  717. regulator-always-on;
  718. };
  719. /* SW2: unused */
  720. vddctrl_reg: vddctrl {
  721. regulator-name = "+V1.0_VDD_CPU";
  722. regulator-min-microvolt = <800000>;
  723. regulator-max-microvolt = <1250000>;
  724. regulator-coupled-with = <&vdd_core>;
  725. regulator-coupled-max-spread = <300000>;
  726. regulator-max-step-microvolt = <100000>;
  727. regulator-always-on;
  728. nvidia,tegra-cpu-regulator;
  729. };
  730. reg_1v8_vio: vio {
  731. regulator-name = "+V1.8";
  732. regulator-min-microvolt = <1800000>;
  733. regulator-max-microvolt = <1800000>;
  734. regulator-always-on;
  735. };
  736. /* LDO1: unused */
  737. /*
  738. * EN_+V3.3 switching via FET:
  739. * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN
  740. * see also +V3.3 fixed supply
  741. */
  742. ldo2_reg: ldo2 {
  743. regulator-name = "EN_+V3.3";
  744. regulator-min-microvolt = <3300000>;
  745. regulator-max-microvolt = <3300000>;
  746. regulator-always-on;
  747. };
  748. /* LDO3: unused */
  749. ldo4_reg: ldo4 {
  750. regulator-name = "+V1.2_VDD_RTC";
  751. regulator-min-microvolt = <1200000>;
  752. regulator-max-microvolt = <1200000>;
  753. regulator-always-on;
  754. };
  755. /*
  756. * +V2.8_AVDD_VDAC:
  757. * only required for (unsupported) analog RGB
  758. */
  759. ldo5_reg: ldo5 {
  760. regulator-name = "+V2.8_AVDD_VDAC";
  761. regulator-min-microvolt = <2800000>;
  762. regulator-max-microvolt = <2800000>;
  763. regulator-always-on;
  764. };
  765. /*
  766. * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V
  767. * but LDO6 can't set voltage in 50mV
  768. * granularity
  769. */
  770. ldo6_reg: ldo6 {
  771. regulator-name = "+V1.05_AVDD_PLLE";
  772. regulator-min-microvolt = <1100000>;
  773. regulator-max-microvolt = <1100000>;
  774. };
  775. ldo7_reg: ldo7 {
  776. regulator-name = "+V1.2_AVDD_PLL";
  777. regulator-min-microvolt = <1200000>;
  778. regulator-max-microvolt = <1200000>;
  779. regulator-always-on;
  780. };
  781. ldo8_reg: ldo8 {
  782. regulator-name = "+V1.0_VDD_DDR_HS";
  783. regulator-min-microvolt = <1000000>;
  784. regulator-max-microvolt = <1000000>;
  785. regulator-always-on;
  786. };
  787. };
  788. };
  789. /* STMPE811 touch screen controller */
  790. touchscreen@41 {
  791. compatible = "st,stmpe811";
  792. reg = <0x41>;
  793. irq-gpio = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
  794. interrupt-controller;
  795. id = <0>;
  796. blocks = <0x5>;
  797. irq-trigger = <0x1>;
  798. /* 3.25 MHz ADC clock speed */
  799. st,adc-freq = <1>;
  800. /* 12-bit ADC */
  801. st,mod-12b = <1>;
  802. /* internal ADC reference */
  803. st,ref-sel = <0>;
  804. /* ADC converstion time: 80 clocks */
  805. st,sample-time = <4>;
  806. /* forbid to use ADC channels 3-0 (touch) */
  807. stmpe_touchscreen {
  808. compatible = "st,stmpe-ts";
  809. /* 8 sample average control */
  810. st,ave-ctrl = <3>;
  811. /* 7 length fractional part in z */
  812. st,fraction-z = <7>;
  813. /*
  814. * 50 mA typical 80 mA max touchscreen drivers
  815. * current limit value
  816. */
  817. st,i-drive = <1>;
  818. /* 1 ms panel driver settling time */
  819. st,settling = <3>;
  820. /* 5 ms touch detect interrupt delay */
  821. st,touch-det-delay = <5>;
  822. };
  823. stmpe_adc {
  824. compatible = "st,stmpe-adc";
  825. st,norequest-mask = <0x0F>;
  826. };
  827. };
  828. /*
  829. * LM95245 temperature sensor
  830. * Note: OVERT1# directly connected to TPS65911 PMIC PWRDN
  831. */
  832. temp-sensor@4c {
  833. compatible = "national,lm95245";
  834. reg = <0x4c>;
  835. };
  836. /* SW: +V1.2_VDD_CORE */
  837. vdd_core: regulator@60 {
  838. compatible = "ti,tps62362";
  839. reg = <0x60>;
  840. regulator-name = "tps62362-vout";
  841. regulator-min-microvolt = <900000>;
  842. regulator-max-microvolt = <1400000>;
  843. regulator-coupled-with = <&vddctrl_reg>;
  844. regulator-coupled-max-spread = <300000>;
  845. regulator-max-step-microvolt = <100000>;
  846. regulator-boot-on;
  847. regulator-always-on;
  848. nvidia,tegra-core-regulator;
  849. };
  850. };
  851. pmc@7000e400 {
  852. nvidia,invert-interrupt;
  853. nvidia,suspend-mode = <1>;
  854. nvidia,cpu-pwr-good-time = <5000>;
  855. nvidia,cpu-pwr-off-time = <5000>;
  856. nvidia,core-pwr-good-time = <3845 3845>;
  857. nvidia,core-pwr-off-time = <0>;
  858. nvidia,core-power-req-active-high;
  859. nvidia,sys-clock-req-active-high;
  860. core-supply = <&vdd_core>;
  861. /* Set DEV_OFF bit in DCDC control register of TPS65911 PMIC */
  862. i2c-thermtrip {
  863. nvidia,i2c-controller-id = <4>;
  864. nvidia,bus-addr = <0x2d>;
  865. nvidia,reg-addr = <0x3f>;
  866. nvidia,reg-data = <0x1>;
  867. };
  868. };
  869. hda@70030000 {
  870. status = "okay";
  871. };
  872. ahub@70080000 {
  873. i2s@70080500 {
  874. status = "okay";
  875. };
  876. };
  877. /* eMMC */
  878. mmc@78000600 {
  879. status = "okay";
  880. bus-width = <8>;
  881. non-removable;
  882. vmmc-supply = <&reg_module_3v3>; /* VCC */
  883. vqmmc-supply = <&reg_1v8_vio>; /* VCCQ */
  884. mmc-ddr-1_8v;
  885. };
  886. /* EHCI instance 1: USB2_DP/N -> AX88772B (On-module) */
  887. usb@7d004000 {
  888. status = "okay";
  889. #address-cells = <1>;
  890. #size-cells = <0>;
  891. ethernet@1 {
  892. compatible = "usbb95,772b";
  893. reg = <1>;
  894. local-mac-address = [00 00 00 00 00 00];
  895. };
  896. };
  897. usb-phy@7d004000 {
  898. status = "okay";
  899. vbus-supply = <&reg_lan_v_bus>;
  900. };
  901. clk32k_in: xtal1 {
  902. compatible = "fixed-clock";
  903. #clock-cells = <0>;
  904. clock-frequency = <32768>;
  905. };
  906. reg_1v8_avdd_hdmi_pll: regulator-1v8-avdd-hdmi-pll {
  907. compatible = "regulator-fixed";
  908. regulator-name = "+V1.8_AVDD_HDMI_PLL";
  909. regulator-min-microvolt = <1800000>;
  910. regulator-max-microvolt = <1800000>;
  911. enable-active-high;
  912. gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
  913. vin-supply = <&reg_1v8_vio>;
  914. };
  915. reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi {
  916. compatible = "regulator-fixed";
  917. regulator-name = "+V3.3_AVDD_HDMI";
  918. regulator-min-microvolt = <3300000>;
  919. regulator-max-microvolt = <3300000>;
  920. enable-active-high;
  921. gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
  922. vin-supply = <&reg_module_3v3>;
  923. };
  924. reg_5v0_charge_pump: regulator-5v0-charge-pump {
  925. compatible = "regulator-fixed";
  926. regulator-name = "+V5.0";
  927. regulator-min-microvolt = <5000000>;
  928. regulator-max-microvolt = <5000000>;
  929. regulator-always-on;
  930. };
  931. reg_lan_v_bus: regulator-lan-v-bus {
  932. compatible = "regulator-fixed";
  933. regulator-name = "LAN_V_BUS";
  934. regulator-min-microvolt = <5000000>;
  935. regulator-max-microvolt = <5000000>;
  936. enable-active-high;
  937. gpio = <&gpio TEGRA_GPIO(DD, 2) GPIO_ACTIVE_HIGH>;
  938. };
  939. reg_module_3v3: regulator-module-3v3 {
  940. compatible = "regulator-fixed";
  941. regulator-name = "+V3.3";
  942. regulator-min-microvolt = <3300000>;
  943. regulator-max-microvolt = <3300000>;
  944. regulator-always-on;
  945. };
  946. reg_module_3v3_audio: regulator-module-3v3-audio {
  947. compatible = "regulator-fixed";
  948. regulator-name = "+V3.3_AUDIO_AVDD_S";
  949. regulator-min-microvolt = <3300000>;
  950. regulator-max-microvolt = <3300000>;
  951. regulator-always-on;
  952. };
  953. sound {
  954. compatible = "toradex,tegra-audio-sgtl5000-colibri_t30",
  955. "nvidia,tegra-audio-sgtl5000";
  956. nvidia,model = "Toradex Colibri T30";
  957. nvidia,audio-routing =
  958. "Headphone Jack", "HP_OUT",
  959. "LINE_IN", "Line In Jack",
  960. "MIC_IN", "Mic Jack";
  961. nvidia,i2s-controller = <&tegra_i2s2>;
  962. nvidia,audio-codec = <&sgtl5000>;
  963. clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
  964. <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
  965. <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
  966. clock-names = "pll_a", "pll_a_out0", "mclk";
  967. assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>,
  968. <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
  969. assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
  970. <&tegra_car TEGRA30_CLK_EXTERN1>;
  971. };
  972. };
  973. &gpio {
  974. lan-reset-n-hog {
  975. gpio-hog;
  976. gpios = <TEGRA_GPIO(DD, 0) GPIO_ACTIVE_HIGH>;
  977. output-high;
  978. line-name = "LAN_RESET#";
  979. };
  980. };