tegra210.dtsi 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/tegra210-car.h>
  3. #include <dt-bindings/gpio/tegra-gpio.h>
  4. #include <dt-bindings/memory/tegra210-mc.h>
  5. #include <dt-bindings/pinctrl/pinctrl-tegra.h>
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. #include <dt-bindings/thermal/tegra124-soctherm.h>
  8. / {
  9. compatible = "nvidia,tegra210";
  10. interrupt-parent = <&lic>;
  11. #address-cells = <2>;
  12. #size-cells = <2>;
  13. pcie@1003000 {
  14. compatible = "nvidia,tegra210-pcie";
  15. device_type = "pci";
  16. reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */
  17. 0x0 0x01003800 0x0 0x00000800 /* AFI registers */
  18. 0x0 0x02000000 0x0 0x10000000>; /* configuration space */
  19. reg-names = "pads", "afi", "cs";
  20. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  21. <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  22. interrupt-names = "intr", "msi";
  23. #interrupt-cells = <1>;
  24. interrupt-map-mask = <0 0 0 0>;
  25. interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  26. bus-range = <0x00 0xff>;
  27. #address-cells = <3>;
  28. #size-cells = <2>;
  29. ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */
  30. 0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */
  31. 0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */
  32. 0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */
  33. 0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
  34. clocks = <&tegra_car TEGRA210_CLK_PCIE>,
  35. <&tegra_car TEGRA210_CLK_AFI>,
  36. <&tegra_car TEGRA210_CLK_PLL_E>,
  37. <&tegra_car TEGRA210_CLK_CML0>;
  38. clock-names = "pex", "afi", "pll_e", "cml";
  39. resets = <&tegra_car 70>,
  40. <&tegra_car 72>,
  41. <&tegra_car 74>;
  42. reset-names = "pex", "afi", "pcie_x";
  43. status = "disabled";
  44. pci@1,0 {
  45. device_type = "pci";
  46. assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
  47. reg = <0x000800 0 0 0 0>;
  48. bus-range = <0x00 0xff>;
  49. status = "disabled";
  50. #address-cells = <3>;
  51. #size-cells = <2>;
  52. ranges;
  53. nvidia,num-lanes = <4>;
  54. };
  55. pci@2,0 {
  56. device_type = "pci";
  57. assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
  58. reg = <0x001000 0 0 0 0>;
  59. bus-range = <0x00 0xff>;
  60. status = "disabled";
  61. #address-cells = <3>;
  62. #size-cells = <2>;
  63. ranges;
  64. nvidia,num-lanes = <1>;
  65. };
  66. };
  67. host1x@50000000 {
  68. compatible = "nvidia,tegra210-host1x", "simple-bus";
  69. reg = <0x0 0x50000000 0x0 0x00034000>;
  70. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
  71. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
  72. clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
  73. clock-names = "host1x";
  74. resets = <&tegra_car 28>;
  75. reset-names = "host1x";
  76. #address-cells = <2>;
  77. #size-cells = <2>;
  78. ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x01000000>;
  79. iommus = <&mc TEGRA_SWGROUP_HC>;
  80. dpaux1: dpaux@54040000 {
  81. compatible = "nvidia,tegra210-dpaux";
  82. reg = <0x0 0x54040000 0x0 0x00040000>;
  83. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  84. clocks = <&tegra_car TEGRA210_CLK_DPAUX1>,
  85. <&tegra_car TEGRA210_CLK_PLL_DP>;
  86. clock-names = "dpaux", "parent";
  87. resets = <&tegra_car 207>;
  88. reset-names = "dpaux";
  89. power-domains = <&pd_sor>;
  90. status = "disabled";
  91. state_dpaux1_aux: pinmux-aux {
  92. groups = "dpaux-io";
  93. function = "aux";
  94. };
  95. state_dpaux1_i2c: pinmux-i2c {
  96. groups = "dpaux-io";
  97. function = "i2c";
  98. };
  99. state_dpaux1_off: pinmux-off {
  100. groups = "dpaux-io";
  101. function = "off";
  102. };
  103. i2c-bus {
  104. #address-cells = <1>;
  105. #size-cells = <0>;
  106. };
  107. };
  108. vi@54080000 {
  109. compatible = "nvidia,tegra210-vi";
  110. reg = <0x0 0x54080000 0x0 0x00040000>;
  111. interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  112. status = "disabled";
  113. };
  114. tsec@54100000 {
  115. compatible = "nvidia,tegra210-tsec";
  116. reg = <0x0 0x54100000 0x0 0x00040000>;
  117. };
  118. dc@54200000 {
  119. compatible = "nvidia,tegra210-dc";
  120. reg = <0x0 0x54200000 0x0 0x00040000>;
  121. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  122. clocks = <&tegra_car TEGRA210_CLK_DISP1>,
  123. <&tegra_car TEGRA210_CLK_PLL_P>;
  124. clock-names = "dc", "parent";
  125. resets = <&tegra_car 27>;
  126. reset-names = "dc";
  127. iommus = <&mc TEGRA_SWGROUP_DC>;
  128. nvidia,head = <0>;
  129. };
  130. dc@54240000 {
  131. compatible = "nvidia,tegra210-dc";
  132. reg = <0x0 0x54240000 0x0 0x00040000>;
  133. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  134. clocks = <&tegra_car TEGRA210_CLK_DISP2>,
  135. <&tegra_car TEGRA210_CLK_PLL_P>;
  136. clock-names = "dc", "parent";
  137. resets = <&tegra_car 26>;
  138. reset-names = "dc";
  139. iommus = <&mc TEGRA_SWGROUP_DCB>;
  140. nvidia,head = <1>;
  141. };
  142. dsi@54300000 {
  143. compatible = "nvidia,tegra210-dsi";
  144. reg = <0x0 0x54300000 0x0 0x00040000>;
  145. clocks = <&tegra_car TEGRA210_CLK_DSIA>,
  146. <&tegra_car TEGRA210_CLK_DSIALP>,
  147. <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
  148. clock-names = "dsi", "lp", "parent";
  149. resets = <&tegra_car 48>;
  150. reset-names = "dsi";
  151. power-domains = <&pd_sor>;
  152. nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
  153. status = "disabled";
  154. #address-cells = <1>;
  155. #size-cells = <0>;
  156. };
  157. vic@54340000 {
  158. compatible = "nvidia,tegra210-vic";
  159. reg = <0x0 0x54340000 0x0 0x00040000>;
  160. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  161. clocks = <&tegra_car TEGRA210_CLK_VIC03>;
  162. clock-names = "vic";
  163. resets = <&tegra_car 178>;
  164. reset-names = "vic";
  165. iommus = <&mc TEGRA_SWGROUP_VIC>;
  166. power-domains = <&pd_vic>;
  167. };
  168. nvjpg@54380000 {
  169. compatible = "nvidia,tegra210-nvjpg";
  170. reg = <0x0 0x54380000 0x0 0x00040000>;
  171. status = "disabled";
  172. };
  173. dsi@54400000 {
  174. compatible = "nvidia,tegra210-dsi";
  175. reg = <0x0 0x54400000 0x0 0x00040000>;
  176. clocks = <&tegra_car TEGRA210_CLK_DSIB>,
  177. <&tegra_car TEGRA210_CLK_DSIBLP>,
  178. <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
  179. clock-names = "dsi", "lp", "parent";
  180. resets = <&tegra_car 82>;
  181. reset-names = "dsi";
  182. power-domains = <&pd_sor>;
  183. nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
  184. status = "disabled";
  185. #address-cells = <1>;
  186. #size-cells = <0>;
  187. };
  188. nvdec@54480000 {
  189. compatible = "nvidia,tegra210-nvdec";
  190. reg = <0x0 0x54480000 0x0 0x00040000>;
  191. status = "disabled";
  192. };
  193. nvenc@544c0000 {
  194. compatible = "nvidia,tegra210-nvenc";
  195. reg = <0x0 0x544c0000 0x0 0x00040000>;
  196. status = "disabled";
  197. };
  198. tsec@54500000 {
  199. compatible = "nvidia,tegra210-tsec";
  200. reg = <0x0 0x54500000 0x0 0x00040000>;
  201. status = "disabled";
  202. };
  203. sor@54540000 {
  204. compatible = "nvidia,tegra210-sor";
  205. reg = <0x0 0x54540000 0x0 0x00040000>;
  206. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
  207. clocks = <&tegra_car TEGRA210_CLK_SOR0>,
  208. <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
  209. <&tegra_car TEGRA210_CLK_PLL_DP>,
  210. <&tegra_car TEGRA210_CLK_SOR_SAFE>;
  211. clock-names = "sor", "parent", "dp", "safe";
  212. resets = <&tegra_car 182>;
  213. reset-names = "sor";
  214. pinctrl-0 = <&state_dpaux_aux>;
  215. pinctrl-1 = <&state_dpaux_i2c>;
  216. pinctrl-2 = <&state_dpaux_off>;
  217. pinctrl-names = "aux", "i2c", "off";
  218. power-domains = <&pd_sor>;
  219. status = "disabled";
  220. };
  221. sor@54580000 {
  222. compatible = "nvidia,tegra210-sor1";
  223. reg = <0x0 0x54580000 0x0 0x00040000>;
  224. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  225. clocks = <&tegra_car TEGRA210_CLK_SOR1>,
  226. <&tegra_car TEGRA210_CLK_SOR1_OUT>,
  227. <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
  228. <&tegra_car TEGRA210_CLK_PLL_DP>,
  229. <&tegra_car TEGRA210_CLK_SOR_SAFE>;
  230. clock-names = "sor", "out", "parent", "dp", "safe";
  231. resets = <&tegra_car 183>;
  232. reset-names = "sor";
  233. pinctrl-0 = <&state_dpaux1_aux>;
  234. pinctrl-1 = <&state_dpaux1_i2c>;
  235. pinctrl-2 = <&state_dpaux1_off>;
  236. pinctrl-names = "aux", "i2c", "off";
  237. power-domains = <&pd_sor>;
  238. status = "disabled";
  239. };
  240. dpaux: dpaux@545c0000 {
  241. compatible = "nvidia,tegra124-dpaux";
  242. reg = <0x0 0x545c0000 0x0 0x00040000>;
  243. interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
  244. clocks = <&tegra_car TEGRA210_CLK_DPAUX>,
  245. <&tegra_car TEGRA210_CLK_PLL_DP>;
  246. clock-names = "dpaux", "parent";
  247. resets = <&tegra_car 181>;
  248. reset-names = "dpaux";
  249. power-domains = <&pd_sor>;
  250. status = "disabled";
  251. state_dpaux_aux: pinmux-aux {
  252. groups = "dpaux-io";
  253. function = "aux";
  254. };
  255. state_dpaux_i2c: pinmux-i2c {
  256. groups = "dpaux-io";
  257. function = "i2c";
  258. };
  259. state_dpaux_off: pinmux-off {
  260. groups = "dpaux-io";
  261. function = "off";
  262. };
  263. i2c-bus {
  264. #address-cells = <1>;
  265. #size-cells = <0>;
  266. };
  267. };
  268. isp@54600000 {
  269. compatible = "nvidia,tegra210-isp";
  270. reg = <0x0 0x54600000 0x0 0x00040000>;
  271. interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  272. status = "disabled";
  273. };
  274. isp@54680000 {
  275. compatible = "nvidia,tegra210-isp";
  276. reg = <0x0 0x54680000 0x0 0x00040000>;
  277. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  278. status = "disabled";
  279. };
  280. i2c@546c0000 {
  281. compatible = "nvidia,tegra210-i2c-vi";
  282. reg = <0x0 0x546c0000 0x0 0x00040000>;
  283. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  284. status = "disabled";
  285. };
  286. };
  287. gic: interrupt-controller@50041000 {
  288. compatible = "arm,gic-400";
  289. #interrupt-cells = <3>;
  290. interrupt-controller;
  291. reg = <0x0 0x50041000 0x0 0x1000>,
  292. <0x0 0x50042000 0x0 0x2000>,
  293. <0x0 0x50044000 0x0 0x2000>,
  294. <0x0 0x50046000 0x0 0x2000>;
  295. interrupts = <GIC_PPI 9
  296. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  297. interrupt-parent = <&gic>;
  298. };
  299. gpu@57000000 {
  300. compatible = "nvidia,gm20b";
  301. reg = <0x0 0x57000000 0x0 0x01000000>,
  302. <0x0 0x58000000 0x0 0x01000000>;
  303. interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
  304. <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
  305. interrupt-names = "stall", "nonstall";
  306. clocks = <&tegra_car TEGRA210_CLK_GPU>,
  307. <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
  308. <&tegra_car TEGRA210_CLK_PLL_G_REF>;
  309. clock-names = "gpu", "pwr", "ref";
  310. resets = <&tegra_car 184>;
  311. reset-names = "gpu";
  312. iommus = <&mc TEGRA_SWGROUP_GPU>;
  313. status = "disabled";
  314. };
  315. lic: interrupt-controller@60004000 {
  316. compatible = "nvidia,tegra210-ictlr";
  317. reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */
  318. <0x0 0x60004100 0x0 0x40>, /* secondary controller */
  319. <0x0 0x60004200 0x0 0x40>, /* tertiary controller */
  320. <0x0 0x60004300 0x0 0x40>, /* quaternary controller */
  321. <0x0 0x60004400 0x0 0x40>, /* quinary controller */
  322. <0x0 0x60004500 0x0 0x40>; /* senary controller */
  323. interrupt-controller;
  324. #interrupt-cells = <3>;
  325. interrupt-parent = <&gic>;
  326. };
  327. timer@60005000 {
  328. compatible = "nvidia,tegra210-timer", "nvidia,tegra20-timer";
  329. reg = <0x0 0x60005000 0x0 0x400>;
  330. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  331. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  332. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  333. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
  334. <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
  335. <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
  336. clocks = <&tegra_car TEGRA210_CLK_TIMER>;
  337. clock-names = "timer";
  338. };
  339. tegra_car: clock@60006000 {
  340. compatible = "nvidia,tegra210-car";
  341. reg = <0x0 0x60006000 0x0 0x1000>;
  342. #clock-cells = <1>;
  343. #reset-cells = <1>;
  344. };
  345. flow-controller@60007000 {
  346. compatible = "nvidia,tegra210-flowctrl";
  347. reg = <0x0 0x60007000 0x0 0x1000>;
  348. };
  349. gpio: gpio@6000d000 {
  350. compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio";
  351. reg = <0x0 0x6000d000 0x0 0x1000>;
  352. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  353. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  354. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  355. <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  356. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  357. <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  358. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
  359. <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
  360. #gpio-cells = <2>;
  361. gpio-controller;
  362. #interrupt-cells = <2>;
  363. interrupt-controller;
  364. };
  365. apbdma: dma@60020000 {
  366. compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
  367. reg = <0x0 0x60020000 0x0 0x1400>;
  368. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
  369. <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
  370. <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
  371. <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
  372. <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
  373. <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
  374. <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
  375. <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
  376. <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
  377. <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
  378. <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
  379. <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
  380. <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
  381. <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
  382. <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
  383. <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
  384. <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
  385. <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
  386. <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
  387. <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
  388. <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
  389. <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
  390. <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
  391. <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
  392. <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
  393. <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
  394. <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  395. <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
  396. <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
  397. <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
  398. <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
  399. <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
  400. clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
  401. clock-names = "dma";
  402. resets = <&tegra_car 34>;
  403. reset-names = "dma";
  404. #dma-cells = <1>;
  405. };
  406. apbmisc@70000800 {
  407. compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
  408. reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */
  409. <0x0 0x7000e864 0x0 0x04>; /* Strapping options */
  410. };
  411. pinmux: pinmux@700008d4 {
  412. compatible = "nvidia,tegra210-pinmux";
  413. reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
  414. <0x0 0x70003000 0x0 0x294>; /* Mux registers */
  415. };
  416. /*
  417. * There are two serial driver i.e. 8250 based simple serial
  418. * driver and APB DMA based serial driver for higher baudrate
  419. * and performance. To enable the 8250 based driver, the compatible
  420. * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
  421. * the APB DMA based serial driver, the compatible is
  422. * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
  423. */
  424. uarta: serial@70006000 {
  425. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  426. reg = <0x0 0x70006000 0x0 0x40>;
  427. reg-shift = <2>;
  428. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  429. clocks = <&tegra_car TEGRA210_CLK_UARTA>;
  430. clock-names = "serial";
  431. resets = <&tegra_car 6>;
  432. reset-names = "serial";
  433. dmas = <&apbdma 8>, <&apbdma 8>;
  434. dma-names = "rx", "tx";
  435. status = "disabled";
  436. };
  437. uartb: serial@70006040 {
  438. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  439. reg = <0x0 0x70006040 0x0 0x40>;
  440. reg-shift = <2>;
  441. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  442. clocks = <&tegra_car TEGRA210_CLK_UARTB>;
  443. clock-names = "serial";
  444. resets = <&tegra_car 7>;
  445. reset-names = "serial";
  446. dmas = <&apbdma 9>, <&apbdma 9>;
  447. dma-names = "rx", "tx";
  448. status = "disabled";
  449. };
  450. uartc: serial@70006200 {
  451. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  452. reg = <0x0 0x70006200 0x0 0x40>;
  453. reg-shift = <2>;
  454. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  455. clocks = <&tegra_car TEGRA210_CLK_UARTC>;
  456. clock-names = "serial";
  457. resets = <&tegra_car 55>;
  458. reset-names = "serial";
  459. dmas = <&apbdma 10>, <&apbdma 10>;
  460. dma-names = "rx", "tx";
  461. status = "disabled";
  462. };
  463. uartd: serial@70006300 {
  464. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  465. reg = <0x0 0x70006300 0x0 0x40>;
  466. reg-shift = <2>;
  467. interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  468. clocks = <&tegra_car TEGRA210_CLK_UARTD>;
  469. clock-names = "serial";
  470. resets = <&tegra_car 65>;
  471. reset-names = "serial";
  472. dmas = <&apbdma 19>, <&apbdma 19>;
  473. dma-names = "rx", "tx";
  474. status = "disabled";
  475. };
  476. pwm: pwm@7000a000 {
  477. compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm";
  478. reg = <0x0 0x7000a000 0x0 0x100>;
  479. #pwm-cells = <2>;
  480. clocks = <&tegra_car TEGRA210_CLK_PWM>;
  481. clock-names = "pwm";
  482. resets = <&tegra_car 17>;
  483. reset-names = "pwm";
  484. status = "disabled";
  485. };
  486. i2c@7000c000 {
  487. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  488. reg = <0x0 0x7000c000 0x0 0x100>;
  489. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  490. #address-cells = <1>;
  491. #size-cells = <0>;
  492. clocks = <&tegra_car TEGRA210_CLK_I2C1>;
  493. clock-names = "div-clk";
  494. resets = <&tegra_car 12>;
  495. reset-names = "i2c";
  496. dmas = <&apbdma 21>, <&apbdma 21>;
  497. dma-names = "rx", "tx";
  498. status = "disabled";
  499. };
  500. i2c@7000c400 {
  501. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  502. reg = <0x0 0x7000c400 0x0 0x100>;
  503. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  504. #address-cells = <1>;
  505. #size-cells = <0>;
  506. clocks = <&tegra_car TEGRA210_CLK_I2C2>;
  507. clock-names = "div-clk";
  508. resets = <&tegra_car 54>;
  509. reset-names = "i2c";
  510. dmas = <&apbdma 22>, <&apbdma 22>;
  511. dma-names = "rx", "tx";
  512. status = "disabled";
  513. };
  514. i2c@7000c500 {
  515. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  516. reg = <0x0 0x7000c500 0x0 0x100>;
  517. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  518. #address-cells = <1>;
  519. #size-cells = <0>;
  520. clocks = <&tegra_car TEGRA210_CLK_I2C3>;
  521. clock-names = "div-clk";
  522. resets = <&tegra_car 67>;
  523. reset-names = "i2c";
  524. dmas = <&apbdma 23>, <&apbdma 23>;
  525. dma-names = "rx", "tx";
  526. status = "disabled";
  527. };
  528. i2c@7000c700 {
  529. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  530. reg = <0x0 0x7000c700 0x0 0x100>;
  531. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  532. #address-cells = <1>;
  533. #size-cells = <0>;
  534. clocks = <&tegra_car TEGRA210_CLK_I2C4>;
  535. clock-names = "div-clk";
  536. resets = <&tegra_car 103>;
  537. reset-names = "i2c";
  538. dmas = <&apbdma 26>, <&apbdma 26>;
  539. dma-names = "rx", "tx";
  540. pinctrl-0 = <&state_dpaux1_i2c>;
  541. pinctrl-1 = <&state_dpaux1_off>;
  542. pinctrl-names = "default", "idle";
  543. status = "disabled";
  544. };
  545. i2c@7000d000 {
  546. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  547. reg = <0x0 0x7000d000 0x0 0x100>;
  548. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  549. #address-cells = <1>;
  550. #size-cells = <0>;
  551. clocks = <&tegra_car TEGRA210_CLK_I2C5>;
  552. clock-names = "div-clk";
  553. resets = <&tegra_car 47>;
  554. reset-names = "i2c";
  555. dmas = <&apbdma 24>, <&apbdma 24>;
  556. dma-names = "rx", "tx";
  557. status = "disabled";
  558. };
  559. i2c@7000d100 {
  560. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  561. reg = <0x0 0x7000d100 0x0 0x100>;
  562. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  563. #address-cells = <1>;
  564. #size-cells = <0>;
  565. clocks = <&tegra_car TEGRA210_CLK_I2C6>;
  566. clock-names = "div-clk";
  567. resets = <&tegra_car 166>;
  568. reset-names = "i2c";
  569. dmas = <&apbdma 30>, <&apbdma 30>;
  570. dma-names = "rx", "tx";
  571. pinctrl-0 = <&state_dpaux_i2c>;
  572. pinctrl-1 = <&state_dpaux_off>;
  573. pinctrl-names = "default", "idle";
  574. status = "disabled";
  575. };
  576. spi@7000d400 {
  577. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  578. reg = <0x0 0x7000d400 0x0 0x200>;
  579. interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  580. #address-cells = <1>;
  581. #size-cells = <0>;
  582. clocks = <&tegra_car TEGRA210_CLK_SBC1>;
  583. clock-names = "spi";
  584. resets = <&tegra_car 41>;
  585. reset-names = "spi";
  586. dmas = <&apbdma 15>, <&apbdma 15>;
  587. dma-names = "rx", "tx";
  588. status = "disabled";
  589. };
  590. spi@7000d600 {
  591. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  592. reg = <0x0 0x7000d600 0x0 0x200>;
  593. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  594. #address-cells = <1>;
  595. #size-cells = <0>;
  596. clocks = <&tegra_car TEGRA210_CLK_SBC2>;
  597. clock-names = "spi";
  598. resets = <&tegra_car 44>;
  599. reset-names = "spi";
  600. dmas = <&apbdma 16>, <&apbdma 16>;
  601. dma-names = "rx", "tx";
  602. status = "disabled";
  603. };
  604. spi@7000d800 {
  605. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  606. reg = <0x0 0x7000d800 0x0 0x200>;
  607. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  608. #address-cells = <1>;
  609. #size-cells = <0>;
  610. clocks = <&tegra_car TEGRA210_CLK_SBC3>;
  611. clock-names = "spi";
  612. resets = <&tegra_car 46>;
  613. reset-names = "spi";
  614. dmas = <&apbdma 17>, <&apbdma 17>;
  615. dma-names = "rx", "tx";
  616. status = "disabled";
  617. };
  618. spi@7000da00 {
  619. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  620. reg = <0x0 0x7000da00 0x0 0x200>;
  621. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  622. #address-cells = <1>;
  623. #size-cells = <0>;
  624. clocks = <&tegra_car TEGRA210_CLK_SBC4>;
  625. clock-names = "spi";
  626. resets = <&tegra_car 68>;
  627. reset-names = "spi";
  628. dmas = <&apbdma 18>, <&apbdma 18>;
  629. dma-names = "rx", "tx";
  630. status = "disabled";
  631. };
  632. rtc@7000e000 {
  633. compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc";
  634. reg = <0x0 0x7000e000 0x0 0x100>;
  635. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  636. clocks = <&tegra_car TEGRA210_CLK_RTC>;
  637. clock-names = "rtc";
  638. };
  639. pmc: pmc@7000e400 {
  640. compatible = "nvidia,tegra210-pmc";
  641. reg = <0x0 0x7000e400 0x0 0x400>;
  642. clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
  643. clock-names = "pclk", "clk32k_in";
  644. powergates {
  645. pd_audio: aud {
  646. clocks = <&tegra_car TEGRA210_CLK_APE>,
  647. <&tegra_car TEGRA210_CLK_APB2APE>;
  648. resets = <&tegra_car 198>;
  649. #power-domain-cells = <0>;
  650. };
  651. pd_sor: sor {
  652. clocks = <&tegra_car TEGRA210_CLK_SOR0>,
  653. <&tegra_car TEGRA210_CLK_SOR1>,
  654. <&tegra_car TEGRA210_CLK_CSI>,
  655. <&tegra_car TEGRA210_CLK_DSIA>,
  656. <&tegra_car TEGRA210_CLK_DSIB>,
  657. <&tegra_car TEGRA210_CLK_DPAUX>,
  658. <&tegra_car TEGRA210_CLK_DPAUX1>,
  659. <&tegra_car TEGRA210_CLK_MIPI_CAL>;
  660. resets = <&tegra_car TEGRA210_CLK_SOR0>,
  661. <&tegra_car TEGRA210_CLK_SOR1>,
  662. <&tegra_car TEGRA210_CLK_CSI>,
  663. <&tegra_car TEGRA210_CLK_DSIA>,
  664. <&tegra_car TEGRA210_CLK_DSIB>,
  665. <&tegra_car TEGRA210_CLK_DPAUX>,
  666. <&tegra_car TEGRA210_CLK_DPAUX1>,
  667. <&tegra_car TEGRA210_CLK_MIPI_CAL>;
  668. #power-domain-cells = <0>;
  669. };
  670. pd_xusbss: xusba {
  671. clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
  672. resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
  673. #power-domain-cells = <0>;
  674. };
  675. pd_xusbdev: xusbb {
  676. clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>;
  677. resets = <&tegra_car 95>;
  678. #power-domain-cells = <0>;
  679. };
  680. pd_xusbhost: xusbc {
  681. clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
  682. resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
  683. #power-domain-cells = <0>;
  684. };
  685. pd_vic: vic {
  686. clocks = <&tegra_car TEGRA210_CLK_VIC03>;
  687. clock-names = "vic";
  688. resets = <&tegra_car 178>;
  689. reset-names = "vic";
  690. #power-domain-cells = <0>;
  691. };
  692. };
  693. };
  694. fuse@7000f800 {
  695. compatible = "nvidia,tegra210-efuse";
  696. reg = <0x0 0x7000f800 0x0 0x400>;
  697. clocks = <&tegra_car TEGRA210_CLK_FUSE>;
  698. clock-names = "fuse";
  699. resets = <&tegra_car 39>;
  700. reset-names = "fuse";
  701. };
  702. mc: memory-controller@70019000 {
  703. compatible = "nvidia,tegra210-mc";
  704. reg = <0x0 0x70019000 0x0 0x1000>;
  705. clocks = <&tegra_car TEGRA210_CLK_MC>;
  706. clock-names = "mc";
  707. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  708. #iommu-cells = <1>;
  709. };
  710. sata@70020000 {
  711. compatible = "nvidia,tegra210-ahci";
  712. reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
  713. <0x0 0x70020000 0x0 0x7000>, /* SATA */
  714. <0x0 0x70001100 0x0 0x1000>; /* SATA AUX */
  715. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  716. clocks = <&tegra_car TEGRA210_CLK_SATA>,
  717. <&tegra_car TEGRA210_CLK_SATA_OOB>;
  718. clock-names = "sata", "sata-oob";
  719. resets = <&tegra_car 124>,
  720. <&tegra_car 123>,
  721. <&tegra_car 129>;
  722. reset-names = "sata", "sata-oob", "sata-cold";
  723. status = "disabled";
  724. };
  725. hda@70030000 {
  726. compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
  727. reg = <0x0 0x70030000 0x0 0x10000>;
  728. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  729. clocks = <&tegra_car TEGRA210_CLK_HDA>,
  730. <&tegra_car TEGRA210_CLK_HDA2HDMI>,
  731. <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>;
  732. clock-names = "hda", "hda2hdmi", "hda2codec_2x";
  733. resets = <&tegra_car 125>, /* hda */
  734. <&tegra_car 128>, /* hda2hdmi */
  735. <&tegra_car 111>; /* hda2codec_2x */
  736. reset-names = "hda", "hda2hdmi", "hda2codec_2x";
  737. status = "disabled";
  738. };
  739. usb@70090000 {
  740. compatible = "nvidia,tegra210-xusb";
  741. reg = <0x0 0x70090000 0x0 0x8000>,
  742. <0x0 0x70098000 0x0 0x1000>,
  743. <0x0 0x70099000 0x0 0x1000>;
  744. reg-names = "hcd", "fpci", "ipfs";
  745. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
  746. <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  747. clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>,
  748. <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>,
  749. <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>,
  750. <&tegra_car TEGRA210_CLK_XUSB_SS>,
  751. <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>,
  752. <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>,
  753. <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>,
  754. <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
  755. <&tegra_car TEGRA210_CLK_PLL_U_480M>,
  756. <&tegra_car TEGRA210_CLK_CLK_M>,
  757. <&tegra_car TEGRA210_CLK_PLL_E>;
  758. clock-names = "xusb_host", "xusb_host_src",
  759. "xusb_falcon_src", "xusb_ss",
  760. "xusb_ss_div2", "xusb_ss_src",
  761. "xusb_hs_src", "xusb_fs_src",
  762. "pll_u_480m", "clk_m", "pll_e";
  763. resets = <&tegra_car 89>, <&tegra_car 156>,
  764. <&tegra_car 143>;
  765. reset-names = "xusb_host", "xusb_ss", "xusb_src";
  766. nvidia,xusb-padctl = <&padctl>;
  767. status = "disabled";
  768. };
  769. padctl: padctl@7009f000 {
  770. compatible = "nvidia,tegra210-xusb-padctl";
  771. reg = <0x0 0x7009f000 0x0 0x1000>;
  772. resets = <&tegra_car 142>;
  773. reset-names = "padctl";
  774. status = "disabled";
  775. pads {
  776. usb2 {
  777. clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>;
  778. clock-names = "trk";
  779. status = "disabled";
  780. lanes {
  781. usb2-0 {
  782. status = "disabled";
  783. #phy-cells = <0>;
  784. };
  785. usb2-1 {
  786. status = "disabled";
  787. #phy-cells = <0>;
  788. };
  789. usb2-2 {
  790. status = "disabled";
  791. #phy-cells = <0>;
  792. };
  793. usb2-3 {
  794. status = "disabled";
  795. #phy-cells = <0>;
  796. };
  797. };
  798. };
  799. hsic {
  800. clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>;
  801. clock-names = "trk";
  802. status = "disabled";
  803. lanes {
  804. hsic-0 {
  805. status = "disabled";
  806. #phy-cells = <0>;
  807. };
  808. hsic-1 {
  809. status = "disabled";
  810. #phy-cells = <0>;
  811. };
  812. };
  813. };
  814. pcie {
  815. clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
  816. clock-names = "pll";
  817. resets = <&tegra_car 205>;
  818. reset-names = "phy";
  819. status = "disabled";
  820. lanes {
  821. pcie-0 {
  822. status = "disabled";
  823. #phy-cells = <0>;
  824. };
  825. pcie-1 {
  826. status = "disabled";
  827. #phy-cells = <0>;
  828. };
  829. pcie-2 {
  830. status = "disabled";
  831. #phy-cells = <0>;
  832. };
  833. pcie-3 {
  834. status = "disabled";
  835. #phy-cells = <0>;
  836. };
  837. pcie-4 {
  838. status = "disabled";
  839. #phy-cells = <0>;
  840. };
  841. pcie-5 {
  842. status = "disabled";
  843. #phy-cells = <0>;
  844. };
  845. pcie-6 {
  846. status = "disabled";
  847. #phy-cells = <0>;
  848. };
  849. };
  850. };
  851. sata {
  852. clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
  853. clock-names = "pll";
  854. resets = <&tegra_car 204>;
  855. reset-names = "phy";
  856. status = "disabled";
  857. lanes {
  858. sata-0 {
  859. status = "disabled";
  860. #phy-cells = <0>;
  861. };
  862. };
  863. };
  864. };
  865. ports {
  866. usb2-0 {
  867. status = "disabled";
  868. };
  869. usb2-1 {
  870. status = "disabled";
  871. };
  872. usb2-2 {
  873. status = "disabled";
  874. };
  875. usb2-3 {
  876. status = "disabled";
  877. };
  878. hsic-0 {
  879. status = "disabled";
  880. };
  881. usb3-0 {
  882. status = "disabled";
  883. };
  884. usb3-1 {
  885. status = "disabled";
  886. };
  887. usb3-2 {
  888. status = "disabled";
  889. };
  890. usb3-3 {
  891. status = "disabled";
  892. };
  893. };
  894. };
  895. sdhci@700b0000 {
  896. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  897. reg = <0x0 0x700b0000 0x0 0x200>;
  898. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  899. clocks = <&tegra_car TEGRA210_CLK_SDMMC1>;
  900. clock-names = "sdhci";
  901. resets = <&tegra_car 14>;
  902. reset-names = "sdhci";
  903. status = "disabled";
  904. };
  905. sdhci@700b0200 {
  906. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  907. reg = <0x0 0x700b0200 0x0 0x200>;
  908. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  909. clocks = <&tegra_car TEGRA210_CLK_SDMMC2>;
  910. clock-names = "sdhci";
  911. resets = <&tegra_car 9>;
  912. reset-names = "sdhci";
  913. status = "disabled";
  914. };
  915. sdhci@700b0400 {
  916. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  917. reg = <0x0 0x700b0400 0x0 0x200>;
  918. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  919. clocks = <&tegra_car TEGRA210_CLK_SDMMC3>;
  920. clock-names = "sdhci";
  921. resets = <&tegra_car 69>;
  922. reset-names = "sdhci";
  923. status = "disabled";
  924. };
  925. sdhci@700b0600 {
  926. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  927. reg = <0x0 0x700b0600 0x0 0x200>;
  928. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  929. clocks = <&tegra_car TEGRA210_CLK_SDMMC4>;
  930. clock-names = "sdhci";
  931. resets = <&tegra_car 15>;
  932. reset-names = "sdhci";
  933. status = "disabled";
  934. };
  935. mipi: mipi@700e3000 {
  936. compatible = "nvidia,tegra210-mipi";
  937. reg = <0x0 0x700e3000 0x0 0x100>;
  938. clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
  939. clock-names = "mipi-cal";
  940. power-domains = <&pd_sor>;
  941. #nvidia,mipi-calibrate-cells = <1>;
  942. };
  943. aconnect@702c0000 {
  944. compatible = "nvidia,tegra210-aconnect";
  945. clocks = <&tegra_car TEGRA210_CLK_APE>,
  946. <&tegra_car TEGRA210_CLK_APB2APE>;
  947. clock-names = "ape", "apb2ape";
  948. power-domains = <&pd_audio>;
  949. #address-cells = <1>;
  950. #size-cells = <1>;
  951. ranges = <0x702c0000 0x0 0x702c0000 0x00040000>;
  952. status = "disabled";
  953. adma: dma@702e2000 {
  954. compatible = "nvidia,tegra210-adma";
  955. reg = <0x702e2000 0x2000>;
  956. interrupt-parent = <&agic>;
  957. interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
  958. <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
  959. <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
  960. <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
  961. <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
  962. <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
  963. <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
  964. <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
  965. <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  966. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  967. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  968. <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  969. <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
  970. <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
  971. <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
  972. <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
  973. <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
  974. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  975. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
  976. <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
  977. <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
  978. <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  979. #dma-cells = <1>;
  980. clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
  981. clock-names = "d_audio";
  982. status = "disabled";
  983. };
  984. agic: agic@702f9000 {
  985. compatible = "nvidia,tegra210-agic";
  986. #interrupt-cells = <3>;
  987. interrupt-controller;
  988. reg = <0x702f9000 0x1000>,
  989. <0x702fa000 0x2000>;
  990. interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  991. clocks = <&tegra_car TEGRA210_CLK_APE>;
  992. clock-names = "clk";
  993. status = "disabled";
  994. };
  995. };
  996. spi@70410000 {
  997. compatible = "nvidia,tegra210-qspi";
  998. reg = <0x0 0x70410000 0x0 0x1000>;
  999. interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  1000. #address-cells = <1>;
  1001. #size-cells = <0>;
  1002. clocks = <&tegra_car TEGRA210_CLK_QSPI>;
  1003. clock-names = "qspi";
  1004. resets = <&tegra_car 211>;
  1005. reset-names = "qspi";
  1006. dmas = <&apbdma 5>, <&apbdma 5>;
  1007. dma-names = "rx", "tx";
  1008. status = "disabled";
  1009. };
  1010. usb@7d000000 {
  1011. compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
  1012. reg = <0x0 0x7d000000 0x0 0x4000>;
  1013. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  1014. phy_type = "utmi";
  1015. clocks = <&tegra_car TEGRA210_CLK_USBD>;
  1016. clock-names = "usb";
  1017. resets = <&tegra_car 22>;
  1018. reset-names = "usb";
  1019. nvidia,phy = <&phy1>;
  1020. status = "disabled";
  1021. };
  1022. phy1: usb-phy@7d000000 {
  1023. compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
  1024. reg = <0x0 0x7d000000 0x0 0x4000>,
  1025. <0x0 0x7d000000 0x0 0x4000>;
  1026. phy_type = "utmi";
  1027. clocks = <&tegra_car TEGRA210_CLK_USBD>,
  1028. <&tegra_car TEGRA210_CLK_PLL_U>,
  1029. <&tegra_car TEGRA210_CLK_USBD>;
  1030. clock-names = "reg", "pll_u", "utmi-pads";
  1031. resets = <&tegra_car 22>, <&tegra_car 22>;
  1032. reset-names = "usb", "utmi-pads";
  1033. nvidia,hssync-start-delay = <0>;
  1034. nvidia,idle-wait-delay = <17>;
  1035. nvidia,elastic-limit = <16>;
  1036. nvidia,term-range-adj = <6>;
  1037. nvidia,xcvr-setup = <9>;
  1038. nvidia,xcvr-lsfslew = <0>;
  1039. nvidia,xcvr-lsrslew = <3>;
  1040. nvidia,hssquelch-level = <2>;
  1041. nvidia,hsdiscon-level = <5>;
  1042. nvidia,xcvr-hsslew = <12>;
  1043. nvidia,has-utmi-pad-registers;
  1044. status = "disabled";
  1045. };
  1046. usb@7d004000 {
  1047. compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
  1048. reg = <0x0 0x7d004000 0x0 0x4000>;
  1049. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  1050. phy_type = "utmi";
  1051. clocks = <&tegra_car TEGRA210_CLK_USB2>;
  1052. clock-names = "usb";
  1053. resets = <&tegra_car 58>;
  1054. reset-names = "usb";
  1055. nvidia,phy = <&phy2>;
  1056. status = "disabled";
  1057. };
  1058. phy2: usb-phy@7d004000 {
  1059. compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
  1060. reg = <0x0 0x7d004000 0x0 0x4000>,
  1061. <0x0 0x7d000000 0x0 0x4000>;
  1062. phy_type = "utmi";
  1063. clocks = <&tegra_car TEGRA210_CLK_USB2>,
  1064. <&tegra_car TEGRA210_CLK_PLL_U>,
  1065. <&tegra_car TEGRA210_CLK_USBD>;
  1066. clock-names = "reg", "pll_u", "utmi-pads";
  1067. resets = <&tegra_car 58>, <&tegra_car 22>;
  1068. reset-names = "usb", "utmi-pads";
  1069. nvidia,hssync-start-delay = <0>;
  1070. nvidia,idle-wait-delay = <17>;
  1071. nvidia,elastic-limit = <16>;
  1072. nvidia,term-range-adj = <6>;
  1073. nvidia,xcvr-setup = <9>;
  1074. nvidia,xcvr-lsfslew = <0>;
  1075. nvidia,xcvr-lsrslew = <3>;
  1076. nvidia,hssquelch-level = <2>;
  1077. nvidia,hsdiscon-level = <5>;
  1078. nvidia,xcvr-hsslew = <12>;
  1079. status = "disabled";
  1080. };
  1081. cpus {
  1082. #address-cells = <1>;
  1083. #size-cells = <0>;
  1084. cpu@0 {
  1085. device_type = "cpu";
  1086. compatible = "arm,cortex-a57";
  1087. reg = <0>;
  1088. };
  1089. cpu@1 {
  1090. device_type = "cpu";
  1091. compatible = "arm,cortex-a57";
  1092. reg = <1>;
  1093. };
  1094. cpu@2 {
  1095. device_type = "cpu";
  1096. compatible = "arm,cortex-a57";
  1097. reg = <2>;
  1098. };
  1099. cpu@3 {
  1100. device_type = "cpu";
  1101. compatible = "arm,cortex-a57";
  1102. reg = <3>;
  1103. };
  1104. };
  1105. timer {
  1106. compatible = "arm,armv8-timer";
  1107. interrupts = <GIC_PPI 13
  1108. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1109. <GIC_PPI 14
  1110. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1111. <GIC_PPI 11
  1112. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1113. <GIC_PPI 10
  1114. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  1115. interrupt-parent = <&gic>;
  1116. };
  1117. soctherm: thermal-sensor@700e2000 {
  1118. compatible = "nvidia,tegra210-soctherm";
  1119. reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */
  1120. 0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
  1121. reg-names = "soctherm-reg", "car-reg";
  1122. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  1123. clocks = <&tegra_car TEGRA210_CLK_TSENSOR>,
  1124. <&tegra_car TEGRA210_CLK_SOC_THERM>;
  1125. clock-names = "tsensor", "soctherm";
  1126. resets = <&tegra_car 78>;
  1127. reset-names = "soctherm";
  1128. #thermal-sensor-cells = <1>;
  1129. throttle-cfgs {
  1130. throttle_heavy: heavy {
  1131. nvidia,priority = <100>;
  1132. nvidia,cpu-throt-percent = <85>;
  1133. #cooling-cells = <2>;
  1134. };
  1135. };
  1136. };
  1137. thermal-zones {
  1138. cpu {
  1139. polling-delay-passive = <1000>;
  1140. polling-delay = <0>;
  1141. thermal-sensors =
  1142. <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
  1143. trips {
  1144. cpu-shutdown-trip {
  1145. temperature = <102500>;
  1146. hysteresis = <0>;
  1147. type = "critical";
  1148. };
  1149. cpu_throttle_trip: throttle-trip {
  1150. temperature = <98500>;
  1151. hysteresis = <1000>;
  1152. type = "hot";
  1153. };
  1154. };
  1155. cooling-maps {
  1156. map0 {
  1157. trip = <&cpu_throttle_trip>;
  1158. cooling-device = <&throttle_heavy 1 1>;
  1159. };
  1160. };
  1161. };
  1162. mem {
  1163. polling-delay-passive = <0>;
  1164. polling-delay = <0>;
  1165. thermal-sensors =
  1166. <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
  1167. trips {
  1168. mem-shutdown-trip {
  1169. temperature = <103000>;
  1170. hysteresis = <0>;
  1171. type = "critical";
  1172. };
  1173. };
  1174. cooling-maps {
  1175. /*
  1176. * There are currently no cooling maps,
  1177. * because there are no cooling devices.
  1178. */
  1179. };
  1180. };
  1181. gpu {
  1182. polling-delay-passive = <1000>;
  1183. polling-delay = <0>;
  1184. thermal-sensors =
  1185. <&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
  1186. trips {
  1187. gpu-shutdown-trip {
  1188. temperature = <103000>;
  1189. hysteresis = <0>;
  1190. type = "critical";
  1191. };
  1192. gpu_throttle_trip: throttle-trip {
  1193. temperature = <100000>;
  1194. hysteresis = <1000>;
  1195. type = "hot";
  1196. };
  1197. };
  1198. cooling-maps {
  1199. map0 {
  1200. trip = <&gpu_throttle_trip>;
  1201. cooling-device = <&throttle_heavy 1 1>;
  1202. };
  1203. };
  1204. };
  1205. pllx {
  1206. polling-delay-passive = <0>;
  1207. polling-delay = <0>;
  1208. thermal-sensors =
  1209. <&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
  1210. trips {
  1211. pllx-shutdown-trip {
  1212. temperature = <103000>;
  1213. hysteresis = <0>;
  1214. type = "critical";
  1215. };
  1216. };
  1217. cooling-maps {
  1218. /*
  1219. * There are currently no cooling maps,
  1220. * because there are no cooling devices.
  1221. */
  1222. };
  1223. };
  1224. };
  1225. };