tegra20.dtsi 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/tegra20-car.h>
  3. #include <dt-bindings/gpio/tegra-gpio.h>
  4. #include <dt-bindings/memory/tegra20-mc.h>
  5. #include <dt-bindings/pinctrl/pinctrl-tegra.h>
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. #include <dt-bindings/soc/tegra-pmc.h>
  8. #include "tegra20-peripherals-opp.dtsi"
  9. / {
  10. compatible = "nvidia,tegra20";
  11. interrupt-parent = <&lic>;
  12. #address-cells = <1>;
  13. #size-cells = <1>;
  14. memory@0 {
  15. device_type = "memory";
  16. reg = <0 0>;
  17. };
  18. sram@40000000 {
  19. compatible = "mmio-sram";
  20. reg = <0x40000000 0x40000>;
  21. #address-cells = <1>;
  22. #size-cells = <1>;
  23. ranges = <0 0x40000000 0x40000>;
  24. vde_pool: sram@400 {
  25. reg = <0x400 0x3fc00>;
  26. pool;
  27. };
  28. };
  29. host1x@50000000 {
  30. compatible = "nvidia,tegra20-host1x";
  31. reg = <0x50000000 0x00024000>;
  32. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
  33. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
  34. interrupt-names = "syncpt", "host1x";
  35. clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
  36. clock-names = "host1x";
  37. resets = <&tegra_car 28>, <&mc TEGRA20_MC_RESET_HC>;
  38. reset-names = "host1x", "mc";
  39. power-domains = <&pd_core>;
  40. operating-points-v2 = <&host1x_dvfs_opp_table>;
  41. #address-cells = <1>;
  42. #size-cells = <1>;
  43. ranges = <0x54000000 0x54000000 0x04000000>;
  44. mpe@54040000 {
  45. compatible = "nvidia,tegra20-mpe";
  46. reg = <0x54040000 0x00040000>;
  47. interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
  48. clocks = <&tegra_car TEGRA20_CLK_MPE>;
  49. resets = <&tegra_car 60>;
  50. reset-names = "mpe";
  51. power-domains = <&pd_mpe>;
  52. operating-points-v2 = <&mpe_dvfs_opp_table>;
  53. status = "disabled";
  54. };
  55. vi@54080000 {
  56. compatible = "nvidia,tegra20-vi";
  57. reg = <0x54080000 0x00040000>;
  58. interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  59. clocks = <&tegra_car TEGRA20_CLK_VI>;
  60. resets = <&tegra_car 20>;
  61. reset-names = "vi";
  62. power-domains = <&pd_venc>;
  63. operating-points-v2 = <&vi_dvfs_opp_table>;
  64. status = "disabled";
  65. };
  66. epp@540c0000 {
  67. compatible = "nvidia,tegra20-epp";
  68. reg = <0x540c0000 0x00040000>;
  69. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  70. clocks = <&tegra_car TEGRA20_CLK_EPP>;
  71. resets = <&tegra_car 19>;
  72. reset-names = "epp";
  73. power-domains = <&pd_core>;
  74. operating-points-v2 = <&epp_dvfs_opp_table>;
  75. status = "disabled";
  76. };
  77. isp@54100000 {
  78. compatible = "nvidia,tegra20-isp";
  79. reg = <0x54100000 0x00040000>;
  80. interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  81. clocks = <&tegra_car TEGRA20_CLK_ISP>;
  82. resets = <&tegra_car 23>;
  83. reset-names = "isp";
  84. power-domains = <&pd_venc>;
  85. status = "disabled";
  86. };
  87. gr2d@54140000 {
  88. compatible = "nvidia,tegra20-gr2d";
  89. reg = <0x54140000 0x00040000>;
  90. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  91. clocks = <&tegra_car TEGRA20_CLK_GR2D>;
  92. resets = <&tegra_car 21>, <&mc TEGRA20_MC_RESET_2D>;
  93. reset-names = "2d", "mc";
  94. power-domains = <&pd_core>;
  95. operating-points-v2 = <&gr2d_dvfs_opp_table>;
  96. };
  97. gr3d@54180000 {
  98. compatible = "nvidia,tegra20-gr3d";
  99. reg = <0x54180000 0x00040000>;
  100. clocks = <&tegra_car TEGRA20_CLK_GR3D>;
  101. resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
  102. reset-names = "3d", "mc";
  103. power-domains = <&pd_3d>;
  104. operating-points-v2 = <&gr3d_dvfs_opp_table>;
  105. };
  106. dc@54200000 {
  107. compatible = "nvidia,tegra20-dc";
  108. reg = <0x54200000 0x00040000>;
  109. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  110. clocks = <&tegra_car TEGRA20_CLK_DISP1>,
  111. <&tegra_car TEGRA20_CLK_PLL_P>;
  112. clock-names = "dc", "parent";
  113. resets = <&tegra_car 27>;
  114. reset-names = "dc";
  115. power-domains = <&pd_core>;
  116. operating-points-v2 = <&disp1_dvfs_opp_table>;
  117. nvidia,head = <0>;
  118. interconnects = <&mc TEGRA20_MC_DISPLAY0A &emc>,
  119. <&mc TEGRA20_MC_DISPLAY0B &emc>,
  120. <&mc TEGRA20_MC_DISPLAY1B &emc>,
  121. <&mc TEGRA20_MC_DISPLAY0C &emc>,
  122. <&mc TEGRA20_MC_DISPLAYHC &emc>;
  123. interconnect-names = "wina",
  124. "winb",
  125. "winb-vfilter",
  126. "winc",
  127. "cursor";
  128. rgb {
  129. status = "disabled";
  130. };
  131. };
  132. dc@54240000 {
  133. compatible = "nvidia,tegra20-dc";
  134. reg = <0x54240000 0x00040000>;
  135. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  136. clocks = <&tegra_car TEGRA20_CLK_DISP2>,
  137. <&tegra_car TEGRA20_CLK_PLL_P>;
  138. clock-names = "dc", "parent";
  139. resets = <&tegra_car 26>;
  140. reset-names = "dc";
  141. power-domains = <&pd_core>;
  142. operating-points-v2 = <&disp2_dvfs_opp_table>;
  143. nvidia,head = <1>;
  144. interconnects = <&mc TEGRA20_MC_DISPLAY0AB &emc>,
  145. <&mc TEGRA20_MC_DISPLAY0BB &emc>,
  146. <&mc TEGRA20_MC_DISPLAY1BB &emc>,
  147. <&mc TEGRA20_MC_DISPLAY0CB &emc>,
  148. <&mc TEGRA20_MC_DISPLAYHCB &emc>;
  149. interconnect-names = "wina",
  150. "winb",
  151. "winb-vfilter",
  152. "winc",
  153. "cursor";
  154. rgb {
  155. status = "disabled";
  156. };
  157. };
  158. tegra_hdmi: hdmi@54280000 {
  159. compatible = "nvidia,tegra20-hdmi";
  160. reg = <0x54280000 0x00040000>;
  161. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  162. clocks = <&tegra_car TEGRA20_CLK_HDMI>,
  163. <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
  164. clock-names = "hdmi", "parent";
  165. resets = <&tegra_car 51>;
  166. reset-names = "hdmi";
  167. power-domains = <&pd_core>;
  168. operating-points-v2 = <&hdmi_dvfs_opp_table>;
  169. #sound-dai-cells = <0>;
  170. status = "disabled";
  171. };
  172. tvo@542c0000 {
  173. compatible = "nvidia,tegra20-tvo";
  174. reg = <0x542c0000 0x00040000>;
  175. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
  176. clocks = <&tegra_car TEGRA20_CLK_TVO>;
  177. power-domains = <&pd_core>;
  178. operating-points-v2 = <&tvo_dvfs_opp_table>;
  179. status = "disabled";
  180. };
  181. dsi@54300000 {
  182. compatible = "nvidia,tegra20-dsi";
  183. reg = <0x54300000 0x00040000>;
  184. clocks = <&tegra_car TEGRA20_CLK_DSI>,
  185. <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
  186. clock-names = "dsi", "parent";
  187. resets = <&tegra_car 48>;
  188. reset-names = "dsi";
  189. power-domains = <&pd_core>;
  190. operating-points-v2 = <&dsi_dvfs_opp_table>;
  191. status = "disabled";
  192. };
  193. };
  194. timer@50040600 {
  195. compatible = "arm,cortex-a9-twd-timer";
  196. interrupt-parent = <&intc>;
  197. reg = <0x50040600 0x20>;
  198. interrupts = <GIC_PPI 13
  199. (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
  200. clocks = <&tegra_car TEGRA20_CLK_TWD>;
  201. };
  202. intc: interrupt-controller@50041000 {
  203. compatible = "arm,cortex-a9-gic";
  204. reg = <0x50041000 0x1000>,
  205. <0x50040100 0x0100>;
  206. interrupt-controller;
  207. #interrupt-cells = <3>;
  208. interrupt-parent = <&intc>;
  209. };
  210. cache-controller@50043000 {
  211. compatible = "arm,pl310-cache";
  212. reg = <0x50043000 0x1000>;
  213. arm,data-latency = <5 5 2>;
  214. arm,tag-latency = <4 4 2>;
  215. cache-unified;
  216. cache-level = <2>;
  217. };
  218. lic: interrupt-controller@60004000 {
  219. compatible = "nvidia,tegra20-ictlr";
  220. reg = <0x60004000 0x100>,
  221. <0x60004100 0x50>,
  222. <0x60004200 0x50>,
  223. <0x60004300 0x50>;
  224. interrupt-controller;
  225. #interrupt-cells = <3>;
  226. interrupt-parent = <&intc>;
  227. };
  228. timer@60005000 {
  229. compatible = "nvidia,tegra20-timer";
  230. reg = <0x60005000 0x60>;
  231. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  232. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  233. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  234. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  235. clocks = <&tegra_car TEGRA20_CLK_TIMER>;
  236. };
  237. tegra_car: clock@60006000 {
  238. compatible = "nvidia,tegra20-car";
  239. reg = <0x60006000 0x1000>;
  240. #clock-cells = <1>;
  241. #reset-cells = <1>;
  242. sclk {
  243. compatible = "nvidia,tegra20-sclk";
  244. clocks = <&tegra_car TEGRA20_CLK_SCLK>;
  245. power-domains = <&pd_core>;
  246. operating-points-v2 = <&sclk_dvfs_opp_table>;
  247. };
  248. };
  249. flow-controller@60007000 {
  250. compatible = "nvidia,tegra20-flowctrl";
  251. reg = <0x60007000 0x1000>;
  252. };
  253. apbdma: dma@6000a000 {
  254. compatible = "nvidia,tegra20-apbdma";
  255. reg = <0x6000a000 0x1200>;
  256. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
  257. <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
  258. <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
  259. <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
  260. <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
  261. <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
  262. <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
  263. <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
  264. <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
  265. <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
  266. <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
  267. <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
  268. <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
  269. <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
  270. <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
  271. <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
  272. clocks = <&tegra_car TEGRA20_CLK_APBDMA>;
  273. resets = <&tegra_car 34>;
  274. reset-names = "dma";
  275. #dma-cells = <1>;
  276. };
  277. ahb@6000c000 {
  278. compatible = "nvidia,tegra20-ahb";
  279. reg = <0x6000c000 0x110>; /* AHB Arbitration + Gizmo Controller */
  280. };
  281. gpio: gpio@6000d000 {
  282. compatible = "nvidia,tegra20-gpio";
  283. reg = <0x6000d000 0x1000>;
  284. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  285. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  286. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  287. <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  288. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  289. <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  290. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  291. #gpio-cells = <2>;
  292. gpio-controller;
  293. #interrupt-cells = <2>;
  294. interrupt-controller;
  295. gpio-ranges = <&pinmux 0 0 224>;
  296. };
  297. vde@6001a000 {
  298. compatible = "nvidia,tegra20-vde";
  299. reg = <0x6001a000 0x1000>, /* Syntax Engine */
  300. <0x6001b000 0x1000>, /* Video Bitstream Engine */
  301. <0x6001c000 0x100>, /* Macroblock Engine */
  302. <0x6001c200 0x100>, /* Post-processing Engine */
  303. <0x6001c400 0x100>, /* Motion Compensation Engine */
  304. <0x6001c600 0x100>, /* Transform Engine */
  305. <0x6001c800 0x100>, /* Pixel prediction block */
  306. <0x6001ca00 0x100>, /* Video DMA */
  307. <0x6001d800 0x300>; /* Video frame controls */
  308. reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
  309. "tfe", "ppb", "vdma", "frameid";
  310. iram = <&vde_pool>; /* IRAM region */
  311. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
  312. <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
  313. <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
  314. interrupt-names = "sync-token", "bsev", "sxe";
  315. clocks = <&tegra_car TEGRA20_CLK_VDE>;
  316. reset-names = "vde", "mc";
  317. resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>;
  318. power-domains = <&pd_vde>;
  319. operating-points-v2 = <&vde_dvfs_opp_table>;
  320. };
  321. apbmisc@70000800 {
  322. compatible = "nvidia,tegra20-apbmisc";
  323. reg = <0x70000800 0x64>, /* Chip revision */
  324. <0x70000008 0x04>; /* Strapping options */
  325. };
  326. pinmux: pinmux@70000014 {
  327. compatible = "nvidia,tegra20-pinmux";
  328. reg = <0x70000014 0x10>, /* Tri-state registers */
  329. <0x70000080 0x20>, /* Mux registers */
  330. <0x700000a0 0x14>, /* Pull-up/down registers */
  331. <0x70000868 0xa8>; /* Pad control registers */
  332. };
  333. das@70000c00 {
  334. compatible = "nvidia,tegra20-das";
  335. reg = <0x70000c00 0x80>;
  336. };
  337. tegra_ac97: ac97@70002000 {
  338. compatible = "nvidia,tegra20-ac97";
  339. reg = <0x70002000 0x200>;
  340. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  341. clocks = <&tegra_car TEGRA20_CLK_AC97>;
  342. resets = <&tegra_car 3>;
  343. reset-names = "ac97";
  344. dmas = <&apbdma 12>, <&apbdma 12>;
  345. dma-names = "rx", "tx";
  346. status = "disabled";
  347. };
  348. tegra_spdif: spdif@70002400 {
  349. compatible = "nvidia,tegra20-spdif";
  350. reg = <0x70002400 0x200>;
  351. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  352. clocks = <&tegra_car TEGRA20_CLK_SPDIF_OUT>,
  353. <&tegra_car TEGRA20_CLK_SPDIF_IN>;
  354. clock-names = "out", "in";
  355. resets = <&tegra_car 10>;
  356. dmas = <&apbdma 3>, <&apbdma 3>;
  357. dma-names = "rx", "tx";
  358. #sound-dai-cells = <0>;
  359. status = "disabled";
  360. assigned-clocks = <&tegra_car TEGRA20_CLK_SPDIF_OUT>;
  361. assigned-clock-parents = <&tegra_car TEGRA20_CLK_PLL_A_OUT0>;
  362. };
  363. tegra_i2s1: i2s@70002800 {
  364. compatible = "nvidia,tegra20-i2s";
  365. reg = <0x70002800 0x200>;
  366. interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  367. clocks = <&tegra_car TEGRA20_CLK_I2S1>;
  368. resets = <&tegra_car 11>;
  369. reset-names = "i2s";
  370. dmas = <&apbdma 2>, <&apbdma 2>;
  371. dma-names = "rx", "tx";
  372. status = "disabled";
  373. };
  374. tegra_i2s2: i2s@70002a00 {
  375. compatible = "nvidia,tegra20-i2s";
  376. reg = <0x70002a00 0x200>;
  377. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
  378. clocks = <&tegra_car TEGRA20_CLK_I2S2>;
  379. resets = <&tegra_car 18>;
  380. reset-names = "i2s";
  381. dmas = <&apbdma 1>, <&apbdma 1>;
  382. dma-names = "rx", "tx";
  383. status = "disabled";
  384. };
  385. /*
  386. * There are two serial driver i.e. 8250 based simple serial
  387. * driver and APB DMA based serial driver for higher baudrate
  388. * and performace. To enable the 8250 based driver, the compatible
  389. * is "nvidia,tegra20-uart" and to enable the APB DMA based serial
  390. * driver, the compatible is "nvidia,tegra20-hsuart".
  391. */
  392. uarta: serial@70006000 {
  393. compatible = "nvidia,tegra20-uart";
  394. reg = <0x70006000 0x40>;
  395. reg-shift = <2>;
  396. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  397. clocks = <&tegra_car TEGRA20_CLK_UARTA>;
  398. resets = <&tegra_car 6>;
  399. reset-names = "serial";
  400. dmas = <&apbdma 8>, <&apbdma 8>;
  401. dma-names = "rx", "tx";
  402. status = "disabled";
  403. };
  404. uartb: serial@70006040 {
  405. compatible = "nvidia,tegra20-uart";
  406. reg = <0x70006040 0x40>;
  407. reg-shift = <2>;
  408. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  409. clocks = <&tegra_car TEGRA20_CLK_UARTB>;
  410. resets = <&tegra_car 7>;
  411. reset-names = "serial";
  412. dmas = <&apbdma 9>, <&apbdma 9>;
  413. dma-names = "rx", "tx";
  414. status = "disabled";
  415. };
  416. uartc: serial@70006200 {
  417. compatible = "nvidia,tegra20-uart";
  418. reg = <0x70006200 0x100>;
  419. reg-shift = <2>;
  420. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  421. clocks = <&tegra_car TEGRA20_CLK_UARTC>;
  422. resets = <&tegra_car 55>;
  423. reset-names = "serial";
  424. dmas = <&apbdma 10>, <&apbdma 10>;
  425. dma-names = "rx", "tx";
  426. status = "disabled";
  427. };
  428. uartd: serial@70006300 {
  429. compatible = "nvidia,tegra20-uart";
  430. reg = <0x70006300 0x100>;
  431. reg-shift = <2>;
  432. interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  433. clocks = <&tegra_car TEGRA20_CLK_UARTD>;
  434. resets = <&tegra_car 65>;
  435. reset-names = "serial";
  436. dmas = <&apbdma 19>, <&apbdma 19>;
  437. dma-names = "rx", "tx";
  438. status = "disabled";
  439. };
  440. uarte: serial@70006400 {
  441. compatible = "nvidia,tegra20-uart";
  442. reg = <0x70006400 0x100>;
  443. reg-shift = <2>;
  444. interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
  445. clocks = <&tegra_car TEGRA20_CLK_UARTE>;
  446. resets = <&tegra_car 66>;
  447. reset-names = "serial";
  448. dmas = <&apbdma 20>, <&apbdma 20>;
  449. dma-names = "rx", "tx";
  450. status = "disabled";
  451. };
  452. nand-controller@70008000 {
  453. compatible = "nvidia,tegra20-nand";
  454. reg = <0x70008000 0x100>;
  455. #address-cells = <1>;
  456. #size-cells = <0>;
  457. interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
  458. clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
  459. clock-names = "nand";
  460. resets = <&tegra_car 13>;
  461. reset-names = "nand";
  462. assigned-clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
  463. assigned-clock-rates = <150000000>;
  464. power-domains = <&pd_core>;
  465. operating-points-v2 = <&ndflash_dvfs_opp_table>;
  466. status = "disabled";
  467. };
  468. gmi@70009000 {
  469. compatible = "nvidia,tegra20-gmi";
  470. reg = <0x70009000 0x1000>;
  471. #address-cells = <2>;
  472. #size-cells = <1>;
  473. ranges = <0 0 0xd0000000 0xfffffff>;
  474. clocks = <&tegra_car TEGRA20_CLK_NOR>;
  475. clock-names = "gmi";
  476. resets = <&tegra_car 42>;
  477. reset-names = "gmi";
  478. power-domains = <&pd_core>;
  479. operating-points-v2 = <&nor_dvfs_opp_table>;
  480. status = "disabled";
  481. };
  482. pwm: pwm@7000a000 {
  483. compatible = "nvidia,tegra20-pwm";
  484. reg = <0x7000a000 0x100>;
  485. #pwm-cells = <2>;
  486. clocks = <&tegra_car TEGRA20_CLK_PWM>;
  487. resets = <&tegra_car 17>;
  488. reset-names = "pwm";
  489. status = "disabled";
  490. };
  491. rtc@7000e000 {
  492. compatible = "nvidia,tegra20-rtc";
  493. reg = <0x7000e000 0x100>;
  494. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  495. clocks = <&tegra_car TEGRA20_CLK_RTC>;
  496. };
  497. i2c@7000c000 {
  498. compatible = "nvidia,tegra20-i2c";
  499. reg = <0x7000c000 0x100>;
  500. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  501. #address-cells = <1>;
  502. #size-cells = <0>;
  503. clocks = <&tegra_car TEGRA20_CLK_I2C1>,
  504. <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
  505. clock-names = "div-clk", "fast-clk";
  506. resets = <&tegra_car 12>;
  507. reset-names = "i2c";
  508. dmas = <&apbdma 21>, <&apbdma 21>;
  509. dma-names = "rx", "tx";
  510. status = "disabled";
  511. };
  512. spi@7000c380 {
  513. compatible = "nvidia,tegra20-sflash";
  514. reg = <0x7000c380 0x80>;
  515. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  516. #address-cells = <1>;
  517. #size-cells = <0>;
  518. clocks = <&tegra_car TEGRA20_CLK_SPI>;
  519. resets = <&tegra_car 43>;
  520. reset-names = "spi";
  521. dmas = <&apbdma 11>, <&apbdma 11>;
  522. dma-names = "rx", "tx";
  523. status = "disabled";
  524. };
  525. i2c2: i2c@7000c400 {
  526. compatible = "nvidia,tegra20-i2c";
  527. reg = <0x7000c400 0x100>;
  528. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  529. #address-cells = <1>;
  530. #size-cells = <0>;
  531. clocks = <&tegra_car TEGRA20_CLK_I2C2>,
  532. <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
  533. clock-names = "div-clk", "fast-clk";
  534. resets = <&tegra_car 54>;
  535. reset-names = "i2c";
  536. dmas = <&apbdma 22>, <&apbdma 22>;
  537. dma-names = "rx", "tx";
  538. status = "disabled";
  539. };
  540. i2c@7000c500 {
  541. compatible = "nvidia,tegra20-i2c";
  542. reg = <0x7000c500 0x100>;
  543. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  544. #address-cells = <1>;
  545. #size-cells = <0>;
  546. clocks = <&tegra_car TEGRA20_CLK_I2C3>,
  547. <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
  548. clock-names = "div-clk", "fast-clk";
  549. resets = <&tegra_car 67>;
  550. reset-names = "i2c";
  551. dmas = <&apbdma 23>, <&apbdma 23>;
  552. dma-names = "rx", "tx";
  553. status = "disabled";
  554. };
  555. i2c@7000d000 {
  556. compatible = "nvidia,tegra20-i2c-dvc";
  557. reg = <0x7000d000 0x200>;
  558. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  559. #address-cells = <1>;
  560. #size-cells = <0>;
  561. clocks = <&tegra_car TEGRA20_CLK_DVC>,
  562. <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
  563. clock-names = "div-clk", "fast-clk";
  564. resets = <&tegra_car 47>;
  565. reset-names = "i2c";
  566. dmas = <&apbdma 24>, <&apbdma 24>;
  567. dma-names = "rx", "tx";
  568. status = "disabled";
  569. };
  570. spi@7000d400 {
  571. compatible = "nvidia,tegra20-slink";
  572. reg = <0x7000d400 0x200>;
  573. interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  574. #address-cells = <1>;
  575. #size-cells = <0>;
  576. clocks = <&tegra_car TEGRA20_CLK_SBC1>;
  577. resets = <&tegra_car 41>;
  578. reset-names = "spi";
  579. dmas = <&apbdma 15>, <&apbdma 15>;
  580. dma-names = "rx", "tx";
  581. status = "disabled";
  582. };
  583. spi@7000d600 {
  584. compatible = "nvidia,tegra20-slink";
  585. reg = <0x7000d600 0x200>;
  586. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  587. #address-cells = <1>;
  588. #size-cells = <0>;
  589. clocks = <&tegra_car TEGRA20_CLK_SBC2>;
  590. resets = <&tegra_car 44>;
  591. reset-names = "spi";
  592. dmas = <&apbdma 16>, <&apbdma 16>;
  593. dma-names = "rx", "tx";
  594. status = "disabled";
  595. };
  596. spi@7000d800 {
  597. compatible = "nvidia,tegra20-slink";
  598. reg = <0x7000d800 0x200>;
  599. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  600. #address-cells = <1>;
  601. #size-cells = <0>;
  602. clocks = <&tegra_car TEGRA20_CLK_SBC3>;
  603. resets = <&tegra_car 46>;
  604. reset-names = "spi";
  605. dmas = <&apbdma 17>, <&apbdma 17>;
  606. dma-names = "rx", "tx";
  607. status = "disabled";
  608. };
  609. spi@7000da00 {
  610. compatible = "nvidia,tegra20-slink";
  611. reg = <0x7000da00 0x200>;
  612. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  613. #address-cells = <1>;
  614. #size-cells = <0>;
  615. clocks = <&tegra_car TEGRA20_CLK_SBC4>;
  616. resets = <&tegra_car 68>;
  617. reset-names = "spi";
  618. dmas = <&apbdma 18>, <&apbdma 18>;
  619. dma-names = "rx", "tx";
  620. status = "disabled";
  621. };
  622. kbc@7000e200 {
  623. compatible = "nvidia,tegra20-kbc";
  624. reg = <0x7000e200 0x100>;
  625. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  626. clocks = <&tegra_car TEGRA20_CLK_KBC>;
  627. resets = <&tegra_car 36>;
  628. reset-names = "kbc";
  629. status = "disabled";
  630. };
  631. tegra_pmc: pmc@7000e400 {
  632. compatible = "nvidia,tegra20-pmc";
  633. reg = <0x7000e400 0x400>;
  634. clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>;
  635. clock-names = "pclk", "clk32k_in";
  636. #clock-cells = <1>;
  637. pd_core: core-domain {
  638. #power-domain-cells = <0>;
  639. operating-points-v2 = <&core_opp_table>;
  640. };
  641. powergates {
  642. pd_3d: td {
  643. clocks = <&tegra_car TEGRA20_CLK_GR3D>;
  644. resets = <&mc TEGRA20_MC_RESET_3D>,
  645. <&tegra_car TEGRA20_CLK_GR3D>;
  646. power-domains = <&pd_core>;
  647. #power-domain-cells = <0>;
  648. };
  649. pd_venc: venc {
  650. clocks = <&tegra_car TEGRA20_CLK_ISP>,
  651. <&tegra_car TEGRA20_CLK_VI>,
  652. <&tegra_car TEGRA20_CLK_CSI>;
  653. resets = <&mc TEGRA20_MC_RESET_ISP>,
  654. <&mc TEGRA20_MC_RESET_VI>,
  655. <&tegra_car TEGRA20_CLK_ISP>,
  656. <&tegra_car 20 /* VI */>,
  657. <&tegra_car TEGRA20_CLK_CSI>;
  658. power-domains = <&pd_core>;
  659. #power-domain-cells = <0>;
  660. };
  661. pd_vde: vdec {
  662. clocks = <&tegra_car TEGRA20_CLK_VDE>;
  663. resets = <&mc TEGRA20_MC_RESET_VDE>,
  664. <&tegra_car TEGRA20_CLK_VDE>;
  665. power-domains = <&pd_core>;
  666. #power-domain-cells = <0>;
  667. };
  668. pd_mpe: mpe {
  669. clocks = <&tegra_car TEGRA20_CLK_MPE>;
  670. resets = <&mc TEGRA20_MC_RESET_MPEA>,
  671. <&mc TEGRA20_MC_RESET_MPEB>,
  672. <&mc TEGRA20_MC_RESET_MPEC>,
  673. <&tegra_car TEGRA20_CLK_MPE>;
  674. power-domains = <&pd_core>;
  675. #power-domain-cells = <0>;
  676. };
  677. };
  678. };
  679. mc: memory-controller@7000f000 {
  680. compatible = "nvidia,tegra20-mc-gart";
  681. reg = <0x7000f000 0x00000400>, /* controller registers */
  682. <0x58000000 0x02000000>; /* GART aperture */
  683. clocks = <&tegra_car TEGRA20_CLK_MC>;
  684. clock-names = "mc";
  685. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  686. #reset-cells = <1>;
  687. #iommu-cells = <0>;
  688. #interconnect-cells = <1>;
  689. };
  690. emc: memory-controller@7000f400 {
  691. compatible = "nvidia,tegra20-emc";
  692. reg = <0x7000f400 0x400>;
  693. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  694. clocks = <&tegra_car TEGRA20_CLK_EMC>;
  695. power-domains = <&pd_core>;
  696. #address-cells = <1>;
  697. #size-cells = <0>;
  698. #interconnect-cells = <0>;
  699. nvidia,memory-controller = <&mc>;
  700. operating-points-v2 = <&emc_icc_dvfs_opp_table>;
  701. };
  702. fuse@7000f800 {
  703. compatible = "nvidia,tegra20-efuse";
  704. reg = <0x7000f800 0x400>;
  705. clocks = <&tegra_car TEGRA20_CLK_FUSE>;
  706. clock-names = "fuse";
  707. resets = <&tegra_car 39>;
  708. reset-names = "fuse";
  709. };
  710. pcie@80003000 {
  711. compatible = "nvidia,tegra20-pcie";
  712. device_type = "pci";
  713. reg = <0x80003000 0x00000800>, /* PADS registers */
  714. <0x80003800 0x00000200>, /* AFI registers */
  715. <0x90000000 0x10000000>; /* configuration space */
  716. reg-names = "pads", "afi", "cs";
  717. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  718. <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  719. interrupt-names = "intr", "msi";
  720. #interrupt-cells = <1>;
  721. interrupt-map-mask = <0 0 0 0>;
  722. interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  723. bus-range = <0x00 0xff>;
  724. #address-cells = <3>;
  725. #size-cells = <2>;
  726. ranges = <0x02000000 0 0x80000000 0x80000000 0 0x00001000>, /* port 0 registers */
  727. <0x02000000 0 0x80001000 0x80001000 0 0x00001000>, /* port 1 registers */
  728. <0x01000000 0 0 0x82000000 0 0x00010000>, /* downstream I/O */
  729. <0x02000000 0 0xa0000000 0xa0000000 0 0x08000000>, /* non-prefetchable memory */
  730. <0x42000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
  731. clocks = <&tegra_car TEGRA20_CLK_PEX>,
  732. <&tegra_car TEGRA20_CLK_AFI>,
  733. <&tegra_car TEGRA20_CLK_PLL_E>;
  734. clock-names = "pex", "afi", "pll_e";
  735. resets = <&tegra_car 70>,
  736. <&tegra_car 72>,
  737. <&tegra_car 74>;
  738. reset-names = "pex", "afi", "pcie_x";
  739. power-domains = <&pd_core>;
  740. operating-points-v2 = <&pcie_dvfs_opp_table>;
  741. status = "disabled";
  742. pci@1,0 {
  743. device_type = "pci";
  744. assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
  745. reg = <0x000800 0 0 0 0>;
  746. bus-range = <0x00 0xff>;
  747. status = "disabled";
  748. #address-cells = <3>;
  749. #size-cells = <2>;
  750. ranges;
  751. nvidia,num-lanes = <2>;
  752. };
  753. pci@2,0 {
  754. device_type = "pci";
  755. assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
  756. reg = <0x001000 0 0 0 0>;
  757. bus-range = <0x00 0xff>;
  758. status = "disabled";
  759. #address-cells = <3>;
  760. #size-cells = <2>;
  761. ranges;
  762. nvidia,num-lanes = <2>;
  763. };
  764. };
  765. usb@c5000000 {
  766. compatible = "nvidia,tegra20-ehci";
  767. reg = <0xc5000000 0x4000>;
  768. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  769. phy_type = "utmi";
  770. clocks = <&tegra_car TEGRA20_CLK_USBD>;
  771. resets = <&tegra_car 22>;
  772. reset-names = "usb";
  773. nvidia,needs-double-reset;
  774. nvidia,phy = <&phy1>;
  775. power-domains = <&pd_core>;
  776. operating-points-v2 = <&usbd_dvfs_opp_table>;
  777. status = "disabled";
  778. };
  779. phy1: usb-phy@c5000000 {
  780. compatible = "nvidia,tegra20-usb-phy";
  781. reg = <0xc5000000 0x4000>,
  782. <0xc5000000 0x4000>;
  783. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  784. phy_type = "utmi";
  785. clocks = <&tegra_car TEGRA20_CLK_USBD>,
  786. <&tegra_car TEGRA20_CLK_PLL_U>,
  787. <&tegra_car TEGRA20_CLK_CLK_M>,
  788. <&tegra_car TEGRA20_CLK_USBD>;
  789. clock-names = "reg", "pll_u", "timer", "utmi-pads";
  790. resets = <&tegra_car 22>, <&tegra_car 22>;
  791. reset-names = "usb", "utmi-pads";
  792. #phy-cells = <0>;
  793. nvidia,has-legacy-mode;
  794. nvidia,hssync-start-delay = <9>;
  795. nvidia,idle-wait-delay = <17>;
  796. nvidia,elastic-limit = <16>;
  797. nvidia,term-range-adj = <6>;
  798. nvidia,xcvr-setup = <9>;
  799. nvidia,xcvr-lsfslew = <1>;
  800. nvidia,xcvr-lsrslew = <1>;
  801. nvidia,has-utmi-pad-registers;
  802. nvidia,pmc = <&tegra_pmc 0>;
  803. status = "disabled";
  804. };
  805. usb@c5004000 {
  806. compatible = "nvidia,tegra20-ehci";
  807. reg = <0xc5004000 0x4000>;
  808. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  809. phy_type = "ulpi";
  810. clocks = <&tegra_car TEGRA20_CLK_USB2>;
  811. resets = <&tegra_car 58>;
  812. reset-names = "usb";
  813. nvidia,phy = <&phy2>;
  814. power-domains = <&pd_core>;
  815. operating-points-v2 = <&usb2_dvfs_opp_table>;
  816. status = "disabled";
  817. };
  818. phy2: usb-phy@c5004000 {
  819. compatible = "nvidia,tegra20-usb-phy";
  820. reg = <0xc5004000 0x4000>;
  821. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  822. phy_type = "ulpi";
  823. clocks = <&tegra_car TEGRA20_CLK_USB2>,
  824. <&tegra_car TEGRA20_CLK_PLL_U>,
  825. <&tegra_car TEGRA20_CLK_CDEV2>;
  826. clock-names = "reg", "pll_u", "ulpi-link";
  827. resets = <&tegra_car 58>, <&tegra_car 22>;
  828. reset-names = "usb", "utmi-pads";
  829. #phy-cells = <0>;
  830. nvidia,pmc = <&tegra_pmc 1>;
  831. status = "disabled";
  832. };
  833. usb@c5008000 {
  834. compatible = "nvidia,tegra20-ehci";
  835. reg = <0xc5008000 0x4000>;
  836. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  837. phy_type = "utmi";
  838. clocks = <&tegra_car TEGRA20_CLK_USB3>;
  839. resets = <&tegra_car 59>;
  840. reset-names = "usb";
  841. nvidia,phy = <&phy3>;
  842. power-domains = <&pd_core>;
  843. operating-points-v2 = <&usb3_dvfs_opp_table>;
  844. status = "disabled";
  845. };
  846. phy3: usb-phy@c5008000 {
  847. compatible = "nvidia,tegra20-usb-phy";
  848. reg = <0xc5008000 0x4000>,
  849. <0xc5000000 0x4000>;
  850. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  851. phy_type = "utmi";
  852. clocks = <&tegra_car TEGRA20_CLK_USB3>,
  853. <&tegra_car TEGRA20_CLK_PLL_U>,
  854. <&tegra_car TEGRA20_CLK_CLK_M>,
  855. <&tegra_car TEGRA20_CLK_USBD>;
  856. clock-names = "reg", "pll_u", "timer", "utmi-pads";
  857. resets = <&tegra_car 59>, <&tegra_car 22>;
  858. reset-names = "usb", "utmi-pads";
  859. #phy-cells = <0>;
  860. nvidia,hssync-start-delay = <9>;
  861. nvidia,idle-wait-delay = <17>;
  862. nvidia,elastic-limit = <16>;
  863. nvidia,term-range-adj = <6>;
  864. nvidia,xcvr-setup = <9>;
  865. nvidia,xcvr-lsfslew = <2>;
  866. nvidia,xcvr-lsrslew = <2>;
  867. nvidia,pmc = <&tegra_pmc 2>;
  868. status = "disabled";
  869. };
  870. mmc@c8000000 {
  871. compatible = "nvidia,tegra20-sdhci";
  872. reg = <0xc8000000 0x200>;
  873. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  874. clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
  875. clock-names = "sdhci";
  876. resets = <&tegra_car 14>;
  877. reset-names = "sdhci";
  878. power-domains = <&pd_core>;
  879. operating-points-v2 = <&sdmmc1_dvfs_opp_table>;
  880. status = "disabled";
  881. };
  882. mmc@c8000200 {
  883. compatible = "nvidia,tegra20-sdhci";
  884. reg = <0xc8000200 0x200>;
  885. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  886. clocks = <&tegra_car TEGRA20_CLK_SDMMC2>;
  887. clock-names = "sdhci";
  888. resets = <&tegra_car 9>;
  889. reset-names = "sdhci";
  890. power-domains = <&pd_core>;
  891. operating-points-v2 = <&sdmmc2_dvfs_opp_table>;
  892. status = "disabled";
  893. };
  894. mmc@c8000400 {
  895. compatible = "nvidia,tegra20-sdhci";
  896. reg = <0xc8000400 0x200>;
  897. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  898. clocks = <&tegra_car TEGRA20_CLK_SDMMC3>;
  899. clock-names = "sdhci";
  900. resets = <&tegra_car 69>;
  901. reset-names = "sdhci";
  902. power-domains = <&pd_core>;
  903. operating-points-v2 = <&sdmmc3_dvfs_opp_table>;
  904. status = "disabled";
  905. };
  906. mmc@c8000600 {
  907. compatible = "nvidia,tegra20-sdhci";
  908. reg = <0xc8000600 0x200>;
  909. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  910. clocks = <&tegra_car TEGRA20_CLK_SDMMC4>;
  911. clock-names = "sdhci";
  912. resets = <&tegra_car 15>;
  913. reset-names = "sdhci";
  914. power-domains = <&pd_core>;
  915. operating-points-v2 = <&sdmmc4_dvfs_opp_table>;
  916. status = "disabled";
  917. };
  918. cpus {
  919. #address-cells = <1>;
  920. #size-cells = <0>;
  921. cpu@0 {
  922. device_type = "cpu";
  923. compatible = "arm,cortex-a9";
  924. reg = <0>;
  925. clocks = <&tegra_car TEGRA20_CLK_CCLK>;
  926. };
  927. cpu@1 {
  928. device_type = "cpu";
  929. compatible = "arm,cortex-a9";
  930. reg = <1>;
  931. clocks = <&tegra_car TEGRA20_CLK_CCLK>;
  932. };
  933. };
  934. pmu {
  935. compatible = "arm,cortex-a9-pmu";
  936. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
  937. <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  938. interrupt-affinity = <&{/cpus/cpu@0}>,
  939. <&{/cpus/cpu@1}>;
  940. };
  941. sound-hdmi {
  942. compatible = "simple-audio-card";
  943. simple-audio-card,name = "NVIDIA Tegra20 HDMI";
  944. #address-cells = <1>;
  945. #size-cells = <0>;
  946. simple-audio-card,dai-link@0 {
  947. reg = <0>;
  948. cpu {
  949. sound-dai = <&tegra_spdif>;
  950. };
  951. codec {
  952. sound-dai = <&tegra_hdmi>;
  953. };
  954. };
  955. };
  956. };