omap5.dtsi 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  4. *
  5. * Based on "omap4.dtsi"
  6. */
  7. #include <dt-bindings/bus/ti-sysc.h>
  8. #include <dt-bindings/gpio/gpio.h>
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/pinctrl/omap.h>
  11. #include <dt-bindings/clock/omap5.h>
  12. / {
  13. #address-cells = <2>;
  14. #size-cells = <2>;
  15. compatible = "ti,omap5";
  16. interrupt-parent = <&wakeupgen>;
  17. chosen { };
  18. aliases {
  19. i2c0 = &i2c1;
  20. i2c1 = &i2c2;
  21. i2c2 = &i2c3;
  22. i2c3 = &i2c4;
  23. i2c4 = &i2c5;
  24. mmc0 = &mmc1;
  25. mmc1 = &mmc2;
  26. mmc2 = &mmc3;
  27. mmc3 = &mmc4;
  28. mmc4 = &mmc5;
  29. serial0 = &uart1;
  30. serial1 = &uart2;
  31. serial2 = &uart3;
  32. serial3 = &uart4;
  33. serial4 = &uart5;
  34. serial5 = &uart6;
  35. rproc0 = &dsp;
  36. rproc1 = &ipu;
  37. };
  38. cpus {
  39. #address-cells = <1>;
  40. #size-cells = <0>;
  41. cpu0: cpu@0 {
  42. device_type = "cpu";
  43. compatible = "arm,cortex-a15";
  44. reg = <0x0>;
  45. operating-points = <
  46. /* kHz uV */
  47. 1000000 1060000
  48. 1500000 1250000
  49. >;
  50. clocks = <&dpll_mpu_ck>;
  51. clock-names = "cpu";
  52. clock-latency = <300000>; /* From omap-cpufreq driver */
  53. /* cooling options */
  54. #cooling-cells = <2>; /* min followed by max */
  55. };
  56. cpu@1 {
  57. device_type = "cpu";
  58. compatible = "arm,cortex-a15";
  59. reg = <0x1>;
  60. operating-points = <
  61. /* kHz uV */
  62. 1000000 1060000
  63. 1500000 1250000
  64. >;
  65. clocks = <&dpll_mpu_ck>;
  66. clock-names = "cpu";
  67. clock-latency = <300000>; /* From omap-cpufreq driver */
  68. /* cooling options */
  69. #cooling-cells = <2>; /* min followed by max */
  70. };
  71. };
  72. thermal-zones {
  73. #include "omap4-cpu-thermal.dtsi"
  74. #include "omap5-gpu-thermal.dtsi"
  75. #include "omap5-core-thermal.dtsi"
  76. };
  77. timer {
  78. compatible = "arm,armv7-timer";
  79. /* PPI secure/nonsecure IRQ */
  80. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>,
  81. <GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>,
  82. <GIC_PPI 11 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>,
  83. <GIC_PPI 10 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>;
  84. interrupt-parent = <&gic>;
  85. };
  86. pmu {
  87. compatible = "arm,cortex-a15-pmu";
  88. interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
  89. <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
  90. };
  91. /*
  92. * Needed early by omap4_sram_init() for barrier, do not move to l3
  93. * interconnect as simple-pm-bus probes at module_init() time.
  94. */
  95. ocmcram: sram@40300000 {
  96. compatible = "mmio-sram";
  97. reg = <0 0x40300000 0 0x20000>; /* 128k */
  98. };
  99. gic: interrupt-controller@48211000 {
  100. compatible = "arm,cortex-a15-gic";
  101. interrupt-controller;
  102. #interrupt-cells = <3>;
  103. reg = <0 0x48211000 0 0x1000>,
  104. <0 0x48212000 0 0x2000>,
  105. <0 0x48214000 0 0x2000>,
  106. <0 0x48216000 0 0x2000>;
  107. interrupt-parent = <&gic>;
  108. };
  109. wakeupgen: interrupt-controller@48281000 {
  110. compatible = "ti,omap5-wugen-mpu", "ti,omap4-wugen-mpu";
  111. interrupt-controller;
  112. #interrupt-cells = <3>;
  113. reg = <0 0x48281000 0 0x1000>;
  114. interrupt-parent = <&gic>;
  115. };
  116. /*
  117. * XXX: Use a flat representation of the OMAP3 interconnect.
  118. * The real OMAP interconnect network is quite complex.
  119. * Since it will not bring real advantage to represent that in DT for
  120. * the moment, just use a fake OCP bus entry to represent the whole bus
  121. * hierarchy.
  122. */
  123. ocp {
  124. compatible = "simple-pm-bus";
  125. power-domains = <&prm_core>;
  126. clocks = <&l3main1_clkctrl OMAP5_L3_MAIN_1_CLKCTRL 0>,
  127. <&l3main2_clkctrl OMAP5_L3_MAIN_2_CLKCTRL 0>,
  128. <&l3instr_clkctrl OMAP5_L3_MAIN_3_CLKCTRL 0>;
  129. #address-cells = <1>;
  130. #size-cells = <1>;
  131. ranges = <0 0 0 0xc0000000>;
  132. dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
  133. l3-noc@44000000 {
  134. compatible = "ti,omap5-l3-noc";
  135. reg = <0x44000000 0x2000>,
  136. <0x44800000 0x3000>,
  137. <0x45000000 0x4000>;
  138. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  139. <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  140. };
  141. l4_wkup: interconnect@4ae00000 {
  142. };
  143. l4_cfg: interconnect@4a000000 {
  144. };
  145. l4_per: interconnect@48000000 {
  146. };
  147. target-module@48210000 {
  148. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  149. power-domains = <&prm_mpu>;
  150. clocks = <&mpu_clkctrl OMAP5_MPU_CLKCTRL 0>;
  151. clock-names = "fck";
  152. #address-cells = <1>;
  153. #size-cells = <1>;
  154. ranges = <0 0x48210000 0x1f0000>;
  155. mpu {
  156. compatible = "ti,omap4-mpu";
  157. sram = <&ocmcram>;
  158. };
  159. };
  160. l4_abe: interconnect@40100000 {
  161. };
  162. target-module@50000000 {
  163. compatible = "ti,sysc-omap2", "ti,sysc";
  164. reg = <0x50000000 4>,
  165. <0x50000010 4>,
  166. <0x50000014 4>;
  167. reg-names = "rev", "sysc", "syss";
  168. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  169. <SYSC_IDLE_NO>,
  170. <SYSC_IDLE_SMART>;
  171. ti,syss-mask = <1>;
  172. ti,no-idle-on-init;
  173. clocks = <&l3main2_clkctrl OMAP5_L3_MAIN_2_GPMC_CLKCTRL 0>;
  174. clock-names = "fck";
  175. #address-cells = <1>;
  176. #size-cells = <1>;
  177. ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
  178. <0x00000000 0x00000000 0x40000000>; /* data */
  179. gpmc: gpmc@50000000 {
  180. compatible = "ti,omap4430-gpmc";
  181. reg = <0x50000000 0x1000>;
  182. #address-cells = <2>;
  183. #size-cells = <1>;
  184. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  185. dmas = <&sdma 4>;
  186. dma-names = "rxtx";
  187. gpmc,num-cs = <8>;
  188. gpmc,num-waitpins = <4>;
  189. clock-names = "fck";
  190. interrupt-controller;
  191. #interrupt-cells = <2>;
  192. gpio-controller;
  193. #gpio-cells = <2>;
  194. };
  195. };
  196. target-module@55082000 {
  197. compatible = "ti,sysc-omap2", "ti,sysc";
  198. reg = <0x55082000 0x4>,
  199. <0x55082010 0x4>,
  200. <0x55082014 0x4>;
  201. reg-names = "rev", "sysc", "syss";
  202. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  203. <SYSC_IDLE_NO>,
  204. <SYSC_IDLE_SMART>;
  205. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  206. SYSC_OMAP2_SOFTRESET |
  207. SYSC_OMAP2_AUTOIDLE)>;
  208. clocks = <&ipu_clkctrl OMAP5_MMU_IPU_CLKCTRL 0>;
  209. clock-names = "fck";
  210. resets = <&prm_core 2>;
  211. reset-names = "rstctrl";
  212. ranges = <0x0 0x55082000 0x100>;
  213. #size-cells = <1>;
  214. #address-cells = <1>;
  215. mmu_ipu: mmu@0 {
  216. compatible = "ti,omap4-iommu";
  217. reg = <0x0 0x100>;
  218. interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
  219. #iommu-cells = <0>;
  220. ti,iommu-bus-err-back;
  221. };
  222. };
  223. dsp: dsp {
  224. compatible = "ti,omap5-dsp";
  225. ti,bootreg = <&scm_conf 0x304 0>;
  226. iommus = <&mmu_dsp>;
  227. resets = <&prm_dsp 0>;
  228. clocks = <&dsp_clkctrl OMAP5_MMU_DSP_CLKCTRL 0>;
  229. firmware-name = "omap5-dsp-fw.xe64T";
  230. mboxes = <&mailbox &mbox_dsp>;
  231. status = "disabled";
  232. };
  233. ipu: ipu@55020000 {
  234. compatible = "ti,omap5-ipu";
  235. reg = <0x55020000 0x10000>;
  236. reg-names = "l2ram";
  237. iommus = <&mmu_ipu>;
  238. resets = <&prm_core 0>, <&prm_core 1>;
  239. clocks = <&ipu_clkctrl OMAP5_MMU_IPU_CLKCTRL 0>;
  240. firmware-name = "omap5-ipu-fw.xem4";
  241. mboxes = <&mailbox &mbox_ipu>;
  242. status = "disabled";
  243. };
  244. target-module@4e000000 {
  245. compatible = "ti,sysc-omap2", "ti,sysc";
  246. reg = <0x4e000000 0x4>,
  247. <0x4e000010 0x4>;
  248. reg-names = "rev", "sysc";
  249. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  250. <SYSC_IDLE_NO>,
  251. <SYSC_IDLE_SMART>;
  252. ranges = <0x0 0x4e000000 0x2000000>;
  253. #size-cells = <1>;
  254. #address-cells = <1>;
  255. dmm@0 {
  256. compatible = "ti,omap5-dmm";
  257. reg = <0 0x800>;
  258. interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
  259. };
  260. };
  261. target-module@4c000000 {
  262. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  263. reg = <0x4c000000 0x4>;
  264. reg-names = "rev";
  265. clocks = <&emif_clkctrl OMAP5_EMIF1_CLKCTRL 0>;
  266. clock-names = "fck";
  267. ti,no-idle;
  268. #address-cells = <1>;
  269. #size-cells = <1>;
  270. ranges = <0x0 0x4c000000 0x1000000>;
  271. emif1: emif@0 {
  272. compatible = "ti,emif-4d5";
  273. reg = <0 0x400>;
  274. interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
  275. phy-type = <2>; /* DDR PHY type: Intelli PHY */
  276. hw-caps-read-idle-ctrl;
  277. hw-caps-ll-interface;
  278. hw-caps-temp-alert;
  279. };
  280. };
  281. target-module@4d000000 {
  282. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  283. reg = <0x4d000000 0x4>;
  284. reg-names = "rev";
  285. clocks = <&emif_clkctrl OMAP5_EMIF2_CLKCTRL 0>;
  286. clock-names = "fck";
  287. ti,no-idle;
  288. #address-cells = <1>;
  289. #size-cells = <1>;
  290. ranges = <0x0 0x4d000000 0x1000000>;
  291. emif2: emif@0 {
  292. compatible = "ti,emif-4d5";
  293. reg = <0 0x400>;
  294. interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  295. phy-type = <2>; /* DDR PHY type: Intelli PHY */
  296. hw-caps-read-idle-ctrl;
  297. hw-caps-ll-interface;
  298. hw-caps-temp-alert;
  299. };
  300. };
  301. aes1_target: target-module@4b501000 {
  302. compatible = "ti,sysc-omap2", "ti,sysc";
  303. reg = <0x4b501080 0x4>,
  304. <0x4b501084 0x4>,
  305. <0x4b501088 0x4>;
  306. reg-names = "rev", "sysc", "syss";
  307. ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
  308. SYSC_OMAP2_AUTOIDLE)>;
  309. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  310. <SYSC_IDLE_NO>,
  311. <SYSC_IDLE_SMART>,
  312. <SYSC_IDLE_SMART_WKUP>;
  313. ti,syss-mask = <1>;
  314. /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
  315. clocks = <&l4sec_clkctrl OMAP5_AES1_CLKCTRL 0>;
  316. clock-names = "fck";
  317. #address-cells = <1>;
  318. #size-cells = <1>;
  319. ranges = <0x0 0x4b501000 0x1000>;
  320. aes1: aes@0 {
  321. compatible = "ti,omap4-aes";
  322. reg = <0 0xa0>;
  323. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  324. dmas = <&sdma 111>, <&sdma 110>;
  325. dma-names = "tx", "rx";
  326. };
  327. };
  328. aes2_target: target-module@4b701000 {
  329. compatible = "ti,sysc-omap2", "ti,sysc";
  330. reg = <0x4b701080 0x4>,
  331. <0x4b701084 0x4>,
  332. <0x4b701088 0x4>;
  333. reg-names = "rev", "sysc", "syss";
  334. ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
  335. SYSC_OMAP2_AUTOIDLE)>;
  336. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  337. <SYSC_IDLE_NO>,
  338. <SYSC_IDLE_SMART>,
  339. <SYSC_IDLE_SMART_WKUP>;
  340. ti,syss-mask = <1>;
  341. /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
  342. clocks = <&l4sec_clkctrl OMAP5_AES2_CLKCTRL 0>;
  343. clock-names = "fck";
  344. #address-cells = <1>;
  345. #size-cells = <1>;
  346. ranges = <0x0 0x4b701000 0x1000>;
  347. aes2: aes@0 {
  348. compatible = "ti,omap4-aes";
  349. reg = <0 0xa0>;
  350. interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
  351. dmas = <&sdma 114>, <&sdma 113>;
  352. dma-names = "tx", "rx";
  353. };
  354. };
  355. sham_target: target-module@4b100000 {
  356. compatible = "ti,sysc-omap3-sham", "ti,sysc";
  357. reg = <0x4b100100 0x4>,
  358. <0x4b100110 0x4>,
  359. <0x4b100114 0x4>;
  360. reg-names = "rev", "sysc", "syss";
  361. ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
  362. SYSC_OMAP2_AUTOIDLE)>;
  363. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  364. <SYSC_IDLE_NO>,
  365. <SYSC_IDLE_SMART>;
  366. ti,syss-mask = <1>;
  367. /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
  368. clocks = <&l4sec_clkctrl OMAP5_SHA2MD5_CLKCTRL 0>;
  369. clock-names = "fck";
  370. #address-cells = <1>;
  371. #size-cells = <1>;
  372. ranges = <0x0 0x4b100000 0x1000>;
  373. sham: sham@0 {
  374. compatible = "ti,omap4-sham";
  375. reg = <0 0x300>;
  376. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  377. dmas = <&sdma 119>;
  378. dma-names = "rx";
  379. };
  380. };
  381. bandgap: bandgap@4a0021e0 {
  382. reg = <0x4a0021e0 0xc
  383. 0x4a00232c 0xc
  384. 0x4a002380 0x2c
  385. 0x4a0023C0 0x3c>;
  386. interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
  387. compatible = "ti,omap5430-bandgap";
  388. #thermal-sensor-cells = <1>;
  389. };
  390. target-module@56000000 {
  391. compatible = "ti,sysc-omap4", "ti,sysc";
  392. reg = <0x5600fe00 0x4>,
  393. <0x5600fe10 0x4>;
  394. reg-names = "rev", "sysc";
  395. ti,sysc-midle = <SYSC_IDLE_FORCE>,
  396. <SYSC_IDLE_NO>,
  397. <SYSC_IDLE_SMART>;
  398. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  399. <SYSC_IDLE_NO>,
  400. <SYSC_IDLE_SMART>;
  401. clocks = <&gpu_clkctrl OMAP5_GPU_CLKCTRL 0>;
  402. clock-names = "fck";
  403. #address-cells = <1>;
  404. #size-cells = <1>;
  405. ranges = <0 0x56000000 0x2000000>;
  406. /*
  407. * Closed source PowerVR driver, no child device
  408. * binding or driver in mainline
  409. */
  410. };
  411. target-module@58000000 {
  412. compatible = "ti,sysc-omap2", "ti,sysc";
  413. reg = <0x58000000 4>,
  414. <0x58000014 4>;
  415. reg-names = "rev", "syss";
  416. ti,syss-mask = <1>;
  417. power-domains = <&prm_dss>;
  418. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 0>,
  419. <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>,
  420. <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>,
  421. <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 11>;
  422. clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk";
  423. #address-cells = <1>;
  424. #size-cells = <1>;
  425. ranges = <0 0x58000000 0x1000000>;
  426. dss: dss@0 {
  427. compatible = "ti,omap5-dss";
  428. reg = <0 0x80>;
  429. status = "disabled";
  430. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>;
  431. clock-names = "fck";
  432. #address-cells = <1>;
  433. #size-cells = <1>;
  434. ranges = <0 0 0x1000000>;
  435. target-module@1000 {
  436. compatible = "ti,sysc-omap2", "ti,sysc";
  437. reg = <0x1000 0x4>,
  438. <0x1010 0x4>,
  439. <0x1014 0x4>;
  440. reg-names = "rev", "sysc", "syss";
  441. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  442. <SYSC_IDLE_NO>,
  443. <SYSC_IDLE_SMART>;
  444. ti,sysc-midle = <SYSC_IDLE_FORCE>,
  445. <SYSC_IDLE_NO>,
  446. <SYSC_IDLE_SMART>;
  447. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  448. SYSC_OMAP2_ENAWAKEUP |
  449. SYSC_OMAP2_SOFTRESET |
  450. SYSC_OMAP2_AUTOIDLE)>;
  451. ti,syss-mask = <1>;
  452. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>;
  453. clock-names = "fck";
  454. #address-cells = <1>;
  455. #size-cells = <1>;
  456. ranges = <0 0x1000 0x1000>;
  457. dispc@0 {
  458. compatible = "ti,omap5-dispc";
  459. reg = <0 0x1000>;
  460. interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
  461. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>;
  462. clock-names = "fck";
  463. };
  464. };
  465. target-module@2000 {
  466. compatible = "ti,sysc-omap2", "ti,sysc";
  467. reg = <0x2000 0x4>,
  468. <0x2010 0x4>,
  469. <0x2014 0x4>;
  470. reg-names = "rev", "sysc", "syss";
  471. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  472. <SYSC_IDLE_NO>,
  473. <SYSC_IDLE_SMART>;
  474. ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
  475. SYSC_OMAP2_AUTOIDLE)>;
  476. ti,syss-mask = <1>;
  477. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>;
  478. clock-names = "fck";
  479. #address-cells = <1>;
  480. #size-cells = <1>;
  481. ranges = <0 0x2000 0x1000>;
  482. rfbi: encoder@0 {
  483. compatible = "ti,omap5-rfbi";
  484. reg = <0 0x100>;
  485. status = "disabled";
  486. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, <&l3_iclk_div>;
  487. clock-names = "fck", "ick";
  488. };
  489. };
  490. target-module@4000 {
  491. compatible = "ti,sysc-omap2", "ti,sysc";
  492. reg = <0x4000 0x4>,
  493. <0x4010 0x4>,
  494. <0x4014 0x4>;
  495. reg-names = "rev", "sysc", "syss";
  496. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  497. <SYSC_IDLE_NO>,
  498. <SYSC_IDLE_SMART>;
  499. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  500. SYSC_OMAP2_ENAWAKEUP |
  501. SYSC_OMAP2_SOFTRESET |
  502. SYSC_OMAP2_AUTOIDLE)>;
  503. ti,syss-mask = <1>;
  504. #address-cells = <1>;
  505. #size-cells = <1>;
  506. ranges = <0 0x4000 0x1000>;
  507. dsi1: encoder@0 {
  508. compatible = "ti,omap5-dsi";
  509. reg = <0 0x200>,
  510. <0x200 0x40>,
  511. <0x300 0x40>;
  512. reg-names = "proto", "phy", "pll";
  513. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  514. status = "disabled";
  515. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>,
  516. <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>;
  517. clock-names = "fck", "sys_clk";
  518. #address-cells = <1>;
  519. #size-cells = <0>;
  520. };
  521. };
  522. target-module@9000 {
  523. compatible = "ti,sysc-omap2", "ti,sysc";
  524. reg = <0x9000 0x4>,
  525. <0x9010 0x4>,
  526. <0x9014 0x4>;
  527. reg-names = "rev", "sysc", "syss";
  528. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  529. <SYSC_IDLE_NO>,
  530. <SYSC_IDLE_SMART>;
  531. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  532. SYSC_OMAP2_ENAWAKEUP |
  533. SYSC_OMAP2_SOFTRESET |
  534. SYSC_OMAP2_AUTOIDLE)>;
  535. ti,syss-mask = <1>;
  536. #address-cells = <1>;
  537. #size-cells = <1>;
  538. ranges = <0 0x9000 0x1000>;
  539. dsi2: encoder@0 {
  540. compatible = "ti,omap5-dsi";
  541. reg = <0 0x200>,
  542. <0x200 0x40>,
  543. <0x300 0x40>;
  544. reg-names = "proto", "phy", "pll";
  545. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  546. status = "disabled";
  547. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>,
  548. <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>;
  549. clock-names = "fck", "sys_clk";
  550. #address-cells = <1>;
  551. #size-cells = <0>;
  552. };
  553. };
  554. target-module@40000 {
  555. compatible = "ti,sysc-omap4", "ti,sysc";
  556. reg = <0x40000 0x4>,
  557. <0x40010 0x4>;
  558. reg-names = "rev", "sysc";
  559. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  560. <SYSC_IDLE_NO>,
  561. <SYSC_IDLE_SMART>,
  562. <SYSC_IDLE_SMART_WKUP>;
  563. ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>;
  564. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>,
  565. <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>;
  566. clock-names = "fck", "dss_clk";
  567. #address-cells = <1>;
  568. #size-cells = <1>;
  569. ranges = <0 0x40000 0x40000>;
  570. hdmi: encoder@0 {
  571. compatible = "ti,omap5-hdmi";
  572. reg = <0 0x200>,
  573. <0x200 0x80>,
  574. <0x300 0x80>,
  575. <0x20000 0x19000>;
  576. reg-names = "wp", "pll", "phy", "core";
  577. interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  578. status = "disabled";
  579. clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>,
  580. <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>;
  581. clock-names = "fck", "sys_clk";
  582. dmas = <&sdma 76>;
  583. dma-names = "audio_tx";
  584. };
  585. };
  586. };
  587. };
  588. abb_mpu: regulator-abb-mpu {
  589. compatible = "ti,abb-v2";
  590. regulator-name = "abb_mpu";
  591. #address-cells = <0>;
  592. #size-cells = <0>;
  593. clocks = <&sys_clkin>;
  594. ti,settling-time = <50>;
  595. ti,clock-cycles = <16>;
  596. reg = <0x4ae07cdc 0x8>, <0x4ae06014 0x4>,
  597. <0x4a0021c4 0x8>, <0x4ae0c318 0x4>;
  598. reg-names = "base-address", "int-address",
  599. "efuse-address", "ldo-address";
  600. ti,tranxdone-status-mask = <0x80>;
  601. /* LDOVBBMPU_MUX_CTRL */
  602. ti,ldovbb-override-mask = <0x400>;
  603. /* LDOVBBMPU_VSET_OUT */
  604. ti,ldovbb-vset-mask = <0x1F>;
  605. /*
  606. * NOTE: only FBB mode used but actual vset will
  607. * determine final biasing
  608. */
  609. ti,abb_info = <
  610. /*uV ABB efuse rbb_m fbb_m vset_m*/
  611. 1060000 0 0x0 0 0x02000000 0x01F00000
  612. 1250000 0 0x4 0 0x02000000 0x01F00000
  613. >;
  614. };
  615. abb_mm: regulator-abb-mm {
  616. compatible = "ti,abb-v2";
  617. regulator-name = "abb_mm";
  618. #address-cells = <0>;
  619. #size-cells = <0>;
  620. clocks = <&sys_clkin>;
  621. ti,settling-time = <50>;
  622. ti,clock-cycles = <16>;
  623. reg = <0x4ae07ce4 0x8>, <0x4ae06010 0x4>,
  624. <0x4a0021a4 0x8>, <0x4ae0c314 0x4>;
  625. reg-names = "base-address", "int-address",
  626. "efuse-address", "ldo-address";
  627. ti,tranxdone-status-mask = <0x80000000>;
  628. /* LDOVBBMM_MUX_CTRL */
  629. ti,ldovbb-override-mask = <0x400>;
  630. /* LDOVBBMM_VSET_OUT */
  631. ti,ldovbb-vset-mask = <0x1F>;
  632. /*
  633. * NOTE: only FBB mode used but actual vset will
  634. * determine final biasing
  635. */
  636. ti,abb_info = <
  637. /*uV ABB efuse rbb_m fbb_m vset_m*/
  638. 1025000 0 0x0 0 0x02000000 0x01F00000
  639. 1120000 0 0x4 0 0x02000000 0x01F00000
  640. >;
  641. };
  642. };
  643. };
  644. &cpu_thermal {
  645. polling-delay = <500>; /* milliseconds */
  646. coefficients = <65 (-1791)>;
  647. };
  648. #include "omap5-l4.dtsi"
  649. #include "omap54xx-clocks.dtsi"
  650. &gpu_thermal {
  651. coefficients = <117 (-2992)>;
  652. };
  653. &core_thermal {
  654. coefficients = <0 2000>;
  655. };
  656. #include "omap5-l4-abe.dtsi"
  657. #include "omap54xx-clocks.dtsi"
  658. &prm {
  659. prm_mpu: prm@300 {
  660. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  661. reg = <0x300 0x100>;
  662. #power-domain-cells = <0>;
  663. };
  664. prm_dsp: prm@400 {
  665. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  666. reg = <0x400 0x100>;
  667. #reset-cells = <1>;
  668. #power-domain-cells = <0>;
  669. };
  670. prm_abe: prm@500 {
  671. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  672. reg = <0x500 0x100>;
  673. #power-domain-cells = <0>;
  674. };
  675. prm_coreaon: prm@600 {
  676. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  677. reg = <0x600 0x100>;
  678. #power-domain-cells = <0>;
  679. };
  680. prm_core: prm@700 {
  681. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  682. reg = <0x700 0x100>;
  683. #reset-cells = <1>;
  684. #power-domain-cells = <0>;
  685. };
  686. prm_iva: prm@1200 {
  687. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  688. reg = <0x1200 0x100>;
  689. #reset-cells = <1>;
  690. #power-domain-cells = <0>;
  691. };
  692. prm_cam: prm@1300 {
  693. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  694. reg = <0x1300 0x100>;
  695. #power-domain-cells = <0>;
  696. };
  697. prm_dss: prm@1400 {
  698. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  699. reg = <0x1400 0x100>;
  700. #power-domain-cells = <0>;
  701. };
  702. prm_gpu: prm@1500 {
  703. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  704. reg = <0x1500 0x100>;
  705. #power-domain-cells = <0>;
  706. };
  707. prm_l3init: prm@1600 {
  708. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  709. reg = <0x1600 0x100>;
  710. #power-domain-cells = <0>;
  711. };
  712. prm_custefuse: prm@1700 {
  713. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  714. reg = <0x1700 0x100>;
  715. #power-domain-cells = <0>;
  716. };
  717. prm_wkupaon: prm@1800 {
  718. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  719. reg = <0x1800 0x100>;
  720. #power-domain-cells = <0>;
  721. };
  722. prm_emu: prm@1a00 {
  723. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  724. reg = <0x1a00 0x100>;
  725. #power-domain-cells = <0>;
  726. };
  727. prm_device: prm@1c00 {
  728. compatible = "ti,omap5-prm-inst", "ti,omap-prm-inst";
  729. reg = <0x1c00 0x100>;
  730. #reset-cells = <1>;
  731. };
  732. };
  733. /* Preferred always-on timer for clockevent */
  734. &timer1_target {
  735. ti,no-reset-on-init;
  736. ti,no-idle;
  737. timer@0 {
  738. assigned-clocks = <&wkupaon_clkctrl OMAP5_TIMER1_CLKCTRL 24>;
  739. assigned-clock-parents = <&sys_32k_ck>;
  740. };
  741. };