am33xx.dtsi 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Device Tree Source for AM33XX SoC
  4. *
  5. * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  6. */
  7. #include <dt-bindings/bus/ti-sysc.h>
  8. #include <dt-bindings/gpio/gpio.h>
  9. #include <dt-bindings/pinctrl/am33xx.h>
  10. #include <dt-bindings/clock/am3.h>
  11. / {
  12. compatible = "ti,am33xx";
  13. interrupt-parent = <&intc>;
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. chosen { };
  17. aliases {
  18. i2c0 = &i2c0;
  19. i2c1 = &i2c1;
  20. i2c2 = &i2c2;
  21. serial0 = &uart0;
  22. serial1 = &uart1;
  23. serial2 = &uart2;
  24. serial3 = &uart3;
  25. serial4 = &uart4;
  26. serial5 = &uart5;
  27. d-can0 = &dcan0;
  28. d-can1 = &dcan1;
  29. usb0 = &usb0;
  30. usb1 = &usb1;
  31. phy0 = &usb0_phy;
  32. phy1 = &usb1_phy;
  33. ethernet0 = &cpsw_port1;
  34. ethernet1 = &cpsw_port2;
  35. spi0 = &spi0;
  36. spi1 = &spi1;
  37. mmc0 = &mmc1;
  38. mmc1 = &mmc2;
  39. mmc2 = &mmc3;
  40. };
  41. cpus {
  42. #address-cells = <1>;
  43. #size-cells = <0>;
  44. cpu@0 {
  45. compatible = "arm,cortex-a8";
  46. enable-method = "ti,am3352";
  47. device_type = "cpu";
  48. reg = <0>;
  49. operating-points-v2 = <&cpu0_opp_table>;
  50. clocks = <&dpll_mpu_ck>;
  51. clock-names = "cpu";
  52. clock-latency = <300000>; /* From omap-cpufreq driver */
  53. cpu-idle-states = <&mpu_gate>;
  54. };
  55. idle-states {
  56. mpu_gate: mpu_gate {
  57. compatible = "arm,idle-state";
  58. entry-latency-us = <40>;
  59. exit-latency-us = <90>;
  60. min-residency-us = <300>;
  61. ti,idle-wkup-m3;
  62. };
  63. };
  64. };
  65. cpu0_opp_table: opp-table {
  66. compatible = "operating-points-v2-ti-cpu";
  67. syscon = <&scm_conf>;
  68. /*
  69. * The three following nodes are marked with opp-suspend
  70. * because the can not be enabled simultaneously on a
  71. * single SoC.
  72. */
  73. opp50-300000000 {
  74. opp-hz = /bits/ 64 <300000000>;
  75. opp-microvolt = <950000 931000 969000>;
  76. opp-supported-hw = <0x06 0x0010>;
  77. opp-suspend;
  78. };
  79. opp100-275000000 {
  80. opp-hz = /bits/ 64 <275000000>;
  81. opp-microvolt = <1100000 1078000 1122000>;
  82. opp-supported-hw = <0x01 0x00FF>;
  83. opp-suspend;
  84. };
  85. opp100-300000000 {
  86. opp-hz = /bits/ 64 <300000000>;
  87. opp-microvolt = <1100000 1078000 1122000>;
  88. opp-supported-hw = <0x06 0x0020>;
  89. opp-suspend;
  90. };
  91. opp100-500000000 {
  92. opp-hz = /bits/ 64 <500000000>;
  93. opp-microvolt = <1100000 1078000 1122000>;
  94. opp-supported-hw = <0x01 0xFFFF>;
  95. };
  96. opp100-600000000 {
  97. opp-hz = /bits/ 64 <600000000>;
  98. opp-microvolt = <1100000 1078000 1122000>;
  99. opp-supported-hw = <0x06 0x0040>;
  100. };
  101. opp120-600000000 {
  102. opp-hz = /bits/ 64 <600000000>;
  103. opp-microvolt = <1200000 1176000 1224000>;
  104. opp-supported-hw = <0x01 0xFFFF>;
  105. };
  106. opp120-720000000 {
  107. opp-hz = /bits/ 64 <720000000>;
  108. opp-microvolt = <1200000 1176000 1224000>;
  109. opp-supported-hw = <0x06 0x0080>;
  110. };
  111. oppturbo-720000000 {
  112. opp-hz = /bits/ 64 <720000000>;
  113. opp-microvolt = <1260000 1234800 1285200>;
  114. opp-supported-hw = <0x01 0xFFFF>;
  115. };
  116. oppturbo-800000000 {
  117. opp-hz = /bits/ 64 <800000000>;
  118. opp-microvolt = <1260000 1234800 1285200>;
  119. opp-supported-hw = <0x06 0x0100>;
  120. };
  121. oppnitro-1000000000 {
  122. opp-hz = /bits/ 64 <1000000000>;
  123. opp-microvolt = <1325000 1298500 1351500>;
  124. opp-supported-hw = <0x04 0x0200>;
  125. };
  126. };
  127. target-module@4b000000 {
  128. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  129. clocks = <&l3_clkctrl AM3_L3_L3_INSTR_CLKCTRL 0>;
  130. clock-names = "fck";
  131. ti,no-idle;
  132. #address-cells = <1>;
  133. #size-cells = <1>;
  134. ranges = <0x0 0x4b000000 0x1000000>;
  135. target-module@140000 {
  136. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  137. clocks = <&l3_aon_clkctrl AM3_L3_AON_DEBUGSS_CLKCTRL 0>;
  138. clock-names = "fck";
  139. #address-cells = <1>;
  140. #size-cells = <1>;
  141. ranges = <0x0 0x140000 0xec0000>;
  142. pmu@0 {
  143. compatible = "arm,cortex-a8-pmu";
  144. interrupts = <3>;
  145. };
  146. };
  147. };
  148. /*
  149. * The soc node represents the soc top level view. It is used for IPs
  150. * that are not memory mapped in the MPU view or for the MPU itself.
  151. */
  152. soc {
  153. compatible = "ti,omap-infra";
  154. };
  155. /*
  156. * XXX: Use a flat representation of the AM33XX interconnect.
  157. * The real AM33XX interconnect network is quite complex. Since
  158. * it will not bring real advantage to represent that in DT
  159. * for the moment, just use a fake OCP bus entry to represent
  160. * the whole bus hierarchy.
  161. */
  162. ocp: ocp {
  163. compatible = "simple-pm-bus";
  164. power-domains = <&prm_per>;
  165. clocks = <&l3_clkctrl AM3_L3_L3_MAIN_CLKCTRL 0>;
  166. clock-names = "fck";
  167. #address-cells = <1>;
  168. #size-cells = <1>;
  169. ranges;
  170. l4_wkup: interconnect@44c00000 {
  171. };
  172. l4_per: interconnect@48000000 {
  173. };
  174. l4_fw: interconnect@47c00000 {
  175. };
  176. l4_fast: interconnect@4a000000 {
  177. };
  178. l4_mpuss: interconnect@4b140000 {
  179. };
  180. intc: interrupt-controller@48200000 {
  181. compatible = "ti,am33xx-intc";
  182. interrupt-controller;
  183. #interrupt-cells = <1>;
  184. reg = <0x48200000 0x1000>;
  185. };
  186. target-module@49000000 {
  187. compatible = "ti,sysc-omap4", "ti,sysc";
  188. reg = <0x49000000 0x4>;
  189. reg-names = "rev";
  190. clocks = <&l3_clkctrl AM3_L3_TPCC_CLKCTRL 0>;
  191. clock-names = "fck";
  192. #address-cells = <1>;
  193. #size-cells = <1>;
  194. ranges = <0x0 0x49000000 0x10000>;
  195. edma: dma@0 {
  196. compatible = "ti,edma3-tpcc";
  197. reg = <0 0x10000>;
  198. reg-names = "edma3_cc";
  199. interrupts = <12 13 14>;
  200. interrupt-names = "edma3_ccint", "edma3_mperr",
  201. "edma3_ccerrint";
  202. dma-requests = <64>;
  203. #dma-cells = <2>;
  204. ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
  205. <&edma_tptc2 0>;
  206. ti,edma-memcpy-channels = <20 21>;
  207. };
  208. };
  209. target-module@49800000 {
  210. compatible = "ti,sysc-omap4", "ti,sysc";
  211. reg = <0x49800000 0x4>,
  212. <0x49800010 0x4>;
  213. reg-names = "rev", "sysc";
  214. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  215. ti,sysc-midle = <SYSC_IDLE_FORCE>;
  216. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  217. <SYSC_IDLE_SMART>;
  218. clocks = <&l3_clkctrl AM3_L3_TPTC0_CLKCTRL 0>;
  219. clock-names = "fck";
  220. #address-cells = <1>;
  221. #size-cells = <1>;
  222. ranges = <0x0 0x49800000 0x100000>;
  223. edma_tptc0: dma@0 {
  224. compatible = "ti,edma3-tptc";
  225. reg = <0 0x100000>;
  226. interrupts = <112>;
  227. interrupt-names = "edma3_tcerrint";
  228. };
  229. };
  230. target-module@49900000 {
  231. compatible = "ti,sysc-omap4", "ti,sysc";
  232. reg = <0x49900000 0x4>,
  233. <0x49900010 0x4>;
  234. reg-names = "rev", "sysc";
  235. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  236. ti,sysc-midle = <SYSC_IDLE_FORCE>;
  237. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  238. <SYSC_IDLE_SMART>;
  239. clocks = <&l3_clkctrl AM3_L3_TPTC1_CLKCTRL 0>;
  240. clock-names = "fck";
  241. #address-cells = <1>;
  242. #size-cells = <1>;
  243. ranges = <0x0 0x49900000 0x100000>;
  244. edma_tptc1: dma@0 {
  245. compatible = "ti,edma3-tptc";
  246. reg = <0 0x100000>;
  247. interrupts = <113>;
  248. interrupt-names = "edma3_tcerrint";
  249. };
  250. };
  251. target-module@49a00000 {
  252. compatible = "ti,sysc-omap4", "ti,sysc";
  253. reg = <0x49a00000 0x4>,
  254. <0x49a00010 0x4>;
  255. reg-names = "rev", "sysc";
  256. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  257. ti,sysc-midle = <SYSC_IDLE_FORCE>;
  258. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  259. <SYSC_IDLE_SMART>;
  260. clocks = <&l3_clkctrl AM3_L3_TPTC2_CLKCTRL 0>;
  261. clock-names = "fck";
  262. #address-cells = <1>;
  263. #size-cells = <1>;
  264. ranges = <0x0 0x49a00000 0x100000>;
  265. edma_tptc2: dma@0 {
  266. compatible = "ti,edma3-tptc";
  267. reg = <0 0x100000>;
  268. interrupts = <114>;
  269. interrupt-names = "edma3_tcerrint";
  270. };
  271. };
  272. target-module@47810000 {
  273. compatible = "ti,sysc-omap2", "ti,sysc";
  274. reg = <0x478102fc 0x4>,
  275. <0x47810110 0x4>,
  276. <0x47810114 0x4>;
  277. reg-names = "rev", "sysc", "syss";
  278. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  279. SYSC_OMAP2_ENAWAKEUP |
  280. SYSC_OMAP2_SOFTRESET |
  281. SYSC_OMAP2_AUTOIDLE)>;
  282. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  283. <SYSC_IDLE_NO>,
  284. <SYSC_IDLE_SMART>;
  285. ti,syss-mask = <1>;
  286. clocks = <&l3s_clkctrl AM3_L3S_MMC3_CLKCTRL 0>;
  287. clock-names = "fck";
  288. #address-cells = <1>;
  289. #size-cells = <1>;
  290. ranges = <0x0 0x47810000 0x1000>;
  291. mmc3: mmc@0 {
  292. compatible = "ti,am335-sdhci";
  293. ti,needs-special-reset;
  294. interrupts = <29>;
  295. reg = <0x0 0x1000>;
  296. status = "disabled";
  297. };
  298. };
  299. usb: target-module@47400000 {
  300. compatible = "ti,sysc-omap4", "ti,sysc";
  301. reg = <0x47400000 0x4>,
  302. <0x47400010 0x4>;
  303. reg-names = "rev", "sysc";
  304. ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
  305. SYSC_OMAP4_SOFTRESET)>;
  306. ti,sysc-midle = <SYSC_IDLE_FORCE>,
  307. <SYSC_IDLE_NO>,
  308. <SYSC_IDLE_SMART>;
  309. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  310. <SYSC_IDLE_NO>,
  311. <SYSC_IDLE_SMART>,
  312. <SYSC_IDLE_SMART_WKUP>;
  313. clocks = <&l3s_clkctrl AM3_L3S_USB_OTG_HS_CLKCTRL 0>;
  314. clock-names = "fck";
  315. #address-cells = <1>;
  316. #size-cells = <1>;
  317. ranges = <0x0 0x47400000 0x8000>;
  318. usb0_phy: usb-phy@1300 {
  319. compatible = "ti,am335x-usb-phy";
  320. reg = <0x1300 0x100>;
  321. reg-names = "phy";
  322. ti,ctrl_mod = <&usb_ctrl_mod>;
  323. #phy-cells = <0>;
  324. };
  325. usb0: usb@1400 {
  326. compatible = "ti,musb-am33xx";
  327. reg = <0x1400 0x400>,
  328. <0x1000 0x200>;
  329. reg-names = "mc", "control";
  330. interrupts = <18>;
  331. interrupt-names = "mc";
  332. dr_mode = "otg";
  333. mentor,multipoint = <1>;
  334. mentor,num-eps = <16>;
  335. mentor,ram-bits = <12>;
  336. mentor,power = <500>;
  337. phys = <&usb0_phy>;
  338. dmas = <&cppi41dma 0 0 &cppi41dma 1 0
  339. &cppi41dma 2 0 &cppi41dma 3 0
  340. &cppi41dma 4 0 &cppi41dma 5 0
  341. &cppi41dma 6 0 &cppi41dma 7 0
  342. &cppi41dma 8 0 &cppi41dma 9 0
  343. &cppi41dma 10 0 &cppi41dma 11 0
  344. &cppi41dma 12 0 &cppi41dma 13 0
  345. &cppi41dma 14 0 &cppi41dma 0 1
  346. &cppi41dma 1 1 &cppi41dma 2 1
  347. &cppi41dma 3 1 &cppi41dma 4 1
  348. &cppi41dma 5 1 &cppi41dma 6 1
  349. &cppi41dma 7 1 &cppi41dma 8 1
  350. &cppi41dma 9 1 &cppi41dma 10 1
  351. &cppi41dma 11 1 &cppi41dma 12 1
  352. &cppi41dma 13 1 &cppi41dma 14 1>;
  353. dma-names =
  354. "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
  355. "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
  356. "rx14", "rx15",
  357. "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
  358. "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
  359. "tx14", "tx15";
  360. };
  361. usb1_phy: usb-phy@1b00 {
  362. compatible = "ti,am335x-usb-phy";
  363. reg = <0x1b00 0x100>;
  364. reg-names = "phy";
  365. ti,ctrl_mod = <&usb_ctrl_mod>;
  366. #phy-cells = <0>;
  367. };
  368. usb1: usb@1800 {
  369. compatible = "ti,musb-am33xx";
  370. reg = <0x1c00 0x400>,
  371. <0x1800 0x200>;
  372. reg-names = "mc", "control";
  373. interrupts = <19>;
  374. interrupt-names = "mc";
  375. dr_mode = "otg";
  376. mentor,multipoint = <1>;
  377. mentor,num-eps = <16>;
  378. mentor,ram-bits = <12>;
  379. mentor,power = <500>;
  380. phys = <&usb1_phy>;
  381. dmas = <&cppi41dma 15 0 &cppi41dma 16 0
  382. &cppi41dma 17 0 &cppi41dma 18 0
  383. &cppi41dma 19 0 &cppi41dma 20 0
  384. &cppi41dma 21 0 &cppi41dma 22 0
  385. &cppi41dma 23 0 &cppi41dma 24 0
  386. &cppi41dma 25 0 &cppi41dma 26 0
  387. &cppi41dma 27 0 &cppi41dma 28 0
  388. &cppi41dma 29 0 &cppi41dma 15 1
  389. &cppi41dma 16 1 &cppi41dma 17 1
  390. &cppi41dma 18 1 &cppi41dma 19 1
  391. &cppi41dma 20 1 &cppi41dma 21 1
  392. &cppi41dma 22 1 &cppi41dma 23 1
  393. &cppi41dma 24 1 &cppi41dma 25 1
  394. &cppi41dma 26 1 &cppi41dma 27 1
  395. &cppi41dma 28 1 &cppi41dma 29 1>;
  396. dma-names =
  397. "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
  398. "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
  399. "rx14", "rx15",
  400. "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
  401. "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
  402. "tx14", "tx15";
  403. };
  404. cppi41dma: dma-controller@2000 {
  405. compatible = "ti,am3359-cppi41";
  406. reg = <0x0000 0x1000>,
  407. <0x2000 0x1000>,
  408. <0x3000 0x1000>,
  409. <0x4000 0x4000>;
  410. reg-names = "glue", "controller", "scheduler", "queuemgr";
  411. interrupts = <17>;
  412. interrupt-names = "glue";
  413. #dma-cells = <2>;
  414. /* For backwards compatibility: */
  415. #dma-channels = <30>;
  416. dma-channels = <30>;
  417. #dma-requests = <256>;
  418. dma-requests = <256>;
  419. };
  420. };
  421. target-module@40300000 {
  422. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  423. clocks = <&l3_clkctrl AM3_L3_OCMCRAM_CLKCTRL 0>;
  424. clock-names = "fck";
  425. ti,no-idle;
  426. #address-cells = <1>;
  427. #size-cells = <1>;
  428. ranges = <0 0x40300000 0x10000>;
  429. ocmcram: sram@0 {
  430. compatible = "mmio-sram";
  431. reg = <0 0x10000>; /* 64k */
  432. ranges = <0 0 0x10000>;
  433. #address-cells = <1>;
  434. #size-cells = <1>;
  435. pm_sram_code: pm-code-sram@0 {
  436. compatible = "ti,sram";
  437. reg = <0x0 0x1000>;
  438. protect-exec;
  439. };
  440. pm_sram_data: pm-data-sram@1000 {
  441. compatible = "ti,sram";
  442. reg = <0x1000 0x1000>;
  443. pool;
  444. };
  445. };
  446. };
  447. target-module@4c000000 {
  448. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  449. reg = <0x4c000000 0x4>;
  450. reg-names = "rev";
  451. clocks = <&l3_clkctrl AM3_L3_EMIF_CLKCTRL 0>;
  452. clock-names = "fck";
  453. ti,no-idle;
  454. #address-cells = <1>;
  455. #size-cells = <1>;
  456. ranges = <0x0 0x4c000000 0x1000000>;
  457. emif: emif@0 {
  458. compatible = "ti,emif-am3352";
  459. reg = <0 0x1000000>;
  460. interrupts = <101>;
  461. sram = <&pm_sram_code
  462. &pm_sram_data>;
  463. };
  464. };
  465. target-module@50000000 {
  466. compatible = "ti,sysc-omap2", "ti,sysc";
  467. reg = <0x50000000 4>,
  468. <0x50000010 4>,
  469. <0x50000014 4>;
  470. reg-names = "rev", "sysc", "syss";
  471. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  472. <SYSC_IDLE_NO>,
  473. <SYSC_IDLE_SMART>;
  474. ti,syss-mask = <1>;
  475. clocks = <&l3s_clkctrl AM3_L3S_GPMC_CLKCTRL 0>;
  476. clock-names = "fck";
  477. #address-cells = <1>;
  478. #size-cells = <1>;
  479. ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
  480. <0x00000000 0x00000000 0x40000000>; /* data */
  481. gpmc: gpmc@50000000 {
  482. compatible = "ti,am3352-gpmc";
  483. reg = <0x50000000 0x2000>;
  484. interrupts = <100>;
  485. dmas = <&edma 52 0>;
  486. dma-names = "rxtx";
  487. gpmc,num-cs = <7>;
  488. gpmc,num-waitpins = <2>;
  489. #address-cells = <2>;
  490. #size-cells = <1>;
  491. interrupt-controller;
  492. #interrupt-cells = <2>;
  493. gpio-controller;
  494. #gpio-cells = <2>;
  495. status = "disabled";
  496. };
  497. };
  498. sham_target: target-module@53100000 {
  499. compatible = "ti,sysc-omap3-sham", "ti,sysc";
  500. reg = <0x53100100 0x4>,
  501. <0x53100110 0x4>,
  502. <0x53100114 0x4>;
  503. reg-names = "rev", "sysc", "syss";
  504. ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
  505. SYSC_OMAP2_AUTOIDLE)>;
  506. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  507. <SYSC_IDLE_NO>,
  508. <SYSC_IDLE_SMART>;
  509. ti,syss-mask = <1>;
  510. /* Domains (P, C): per_pwrdm, l3_clkdm */
  511. clocks = <&l3_clkctrl AM3_L3_SHAM_CLKCTRL 0>;
  512. clock-names = "fck";
  513. #address-cells = <1>;
  514. #size-cells = <1>;
  515. ranges = <0x0 0x53100000 0x1000>;
  516. sham: sham@0 {
  517. compatible = "ti,omap4-sham";
  518. reg = <0 0x200>;
  519. interrupts = <109>;
  520. dmas = <&edma 36 0>;
  521. dma-names = "rx";
  522. };
  523. };
  524. aes_target: target-module@53500000 {
  525. compatible = "ti,sysc-omap2", "ti,sysc";
  526. reg = <0x53500080 0x4>,
  527. <0x53500084 0x4>,
  528. <0x53500088 0x4>;
  529. reg-names = "rev", "sysc", "syss";
  530. ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
  531. SYSC_OMAP2_AUTOIDLE)>;
  532. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  533. <SYSC_IDLE_NO>,
  534. <SYSC_IDLE_SMART>,
  535. <SYSC_IDLE_SMART_WKUP>;
  536. ti,syss-mask = <1>;
  537. /* Domains (P, C): per_pwrdm, l3_clkdm */
  538. clocks = <&l3_clkctrl AM3_L3_AES_CLKCTRL 0>;
  539. clock-names = "fck";
  540. #address-cells = <1>;
  541. #size-cells = <1>;
  542. ranges = <0x0 0x53500000 0x1000>;
  543. aes: aes@0 {
  544. compatible = "ti,omap4-aes";
  545. reg = <0 0xa0>;
  546. interrupts = <103>;
  547. dmas = <&edma 6 0>,
  548. <&edma 5 0>;
  549. dma-names = "tx", "rx";
  550. };
  551. };
  552. target-module@56000000 {
  553. compatible = "ti,sysc-omap4", "ti,sysc";
  554. reg = <0x5600fe00 0x4>,
  555. <0x5600fe10 0x4>;
  556. reg-names = "rev", "sysc";
  557. ti,sysc-midle = <SYSC_IDLE_FORCE>,
  558. <SYSC_IDLE_NO>,
  559. <SYSC_IDLE_SMART>;
  560. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  561. <SYSC_IDLE_NO>,
  562. <SYSC_IDLE_SMART>;
  563. clocks = <&gfx_l3_clkctrl AM3_GFX_L3_GFX_CLKCTRL 0>;
  564. clock-names = "fck";
  565. power-domains = <&prm_gfx>;
  566. resets = <&prm_gfx 0>;
  567. reset-names = "rstctrl";
  568. #address-cells = <1>;
  569. #size-cells = <1>;
  570. ranges = <0 0x56000000 0x1000000>;
  571. /*
  572. * Closed source PowerVR driver, no child device
  573. * binding or driver in mainline
  574. */
  575. };
  576. };
  577. };
  578. #include "am33xx-l4.dtsi"
  579. #include "am33xx-clocks.dtsi"
  580. &prcm {
  581. prm_per: prm@c00 {
  582. compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
  583. reg = <0xc00 0x100>;
  584. #reset-cells = <1>;
  585. #power-domain-cells = <0>;
  586. };
  587. prm_wkup: prm@d00 {
  588. compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
  589. reg = <0xd00 0x100>;
  590. #reset-cells = <1>;
  591. #power-domain-cells = <0>;
  592. };
  593. prm_mpu: prm@e00 {
  594. compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
  595. reg = <0xe00 0x100>;
  596. #power-domain-cells = <0>;
  597. };
  598. prm_device: prm@f00 {
  599. compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
  600. reg = <0xf00 0x100>;
  601. #reset-cells = <1>;
  602. };
  603. prm_rtc: prm@1000 {
  604. compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
  605. reg = <0x1000 0x100>;
  606. #power-domain-cells = <0>;
  607. };
  608. prm_gfx: prm@1100 {
  609. compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
  610. reg = <0x1100 0x100>;
  611. #power-domain-cells = <0>;
  612. #reset-cells = <1>;
  613. };
  614. prm_cefuse: prm@1200 {
  615. compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
  616. reg = <0x1200 0x100>;
  617. #power-domain-cells = <0>;
  618. };
  619. };
  620. /* Preferred always-on timer for clocksource */
  621. &timer1_target {
  622. clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_TIMER1_CLKCTRL 0>,
  623. <&l4_wkup_clkctrl AM3_L4_WKUP_L4_WKUP_CLKCTRL 0>;
  624. clock-names = "fck", "ick";
  625. ti,no-reset-on-init;
  626. ti,no-idle;
  627. timer@0 {
  628. assigned-clocks = <&timer1_fck>;
  629. assigned-clock-parents = <&sys_clkin_ck>;
  630. };
  631. };
  632. /* Preferred timer for clockevent */
  633. &timer2_target {
  634. clocks = <&l4ls_clkctrl AM3_L4LS_TIMER2_CLKCTRL 0>,
  635. <&l4ls_clkctrl AM3_L4LS_L4_LS_CLKCTRL 0>;
  636. clock-names = "fck", "ick";
  637. ti,no-reset-on-init;
  638. ti,no-idle;
  639. timer@0 {
  640. assigned-clocks = <&timer2_fck>;
  641. assigned-clock-parents = <&sys_clkin_ck>;
  642. };
  643. };