tegra30-apalis-v1.1.dtsi 31 KB

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