omap3.dtsi 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Device Tree Source for OMAP3 SoC
  4. *
  5. * Copyright (C) 2011 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/interrupt-controller/irq.h>
  10. #include <dt-bindings/pinctrl/omap.h>
  11. / {
  12. compatible = "ti,omap3430", "ti,omap3";
  13. interrupt-parent = <&intc>;
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. chosen { };
  17. aliases {
  18. i2c0 = &i2c1;
  19. i2c1 = &i2c2;
  20. i2c2 = &i2c3;
  21. mmc0 = &mmc1;
  22. mmc1 = &mmc2;
  23. mmc2 = &mmc3;
  24. serial0 = &uart1;
  25. serial1 = &uart2;
  26. serial2 = &uart3;
  27. };
  28. cpus {
  29. #address-cells = <1>;
  30. #size-cells = <0>;
  31. cpu@0 {
  32. compatible = "arm,cortex-a8";
  33. device_type = "cpu";
  34. reg = <0x0>;
  35. clocks = <&dpll1_ck>;
  36. clock-names = "cpu";
  37. clock-latency = <300000>; /* From omap-cpufreq driver */
  38. };
  39. };
  40. pmu@54000000 {
  41. compatible = "arm,cortex-a8-pmu";
  42. reg = <0x54000000 0x800000>;
  43. interrupts = <3>;
  44. ti,hwmods = "debugss";
  45. };
  46. /*
  47. * The soc node represents the soc top level view. It is used for IPs
  48. * that are not memory mapped in the MPU view or for the MPU itself.
  49. */
  50. soc {
  51. compatible = "ti,omap-infra";
  52. mpu {
  53. compatible = "ti,omap3-mpu";
  54. ti,hwmods = "mpu";
  55. };
  56. iva: iva {
  57. compatible = "ti,iva2.2";
  58. ti,hwmods = "iva";
  59. dsp {
  60. compatible = "ti,omap3-c64";
  61. };
  62. };
  63. };
  64. /*
  65. * XXX: Use a flat representation of the OMAP3 interconnect.
  66. * The real OMAP interconnect network is quite complex.
  67. * Since it will not bring real advantage to represent that in DT for
  68. * the moment, just use a fake OCP bus entry to represent the whole bus
  69. * hierarchy.
  70. */
  71. ocp@68000000 {
  72. compatible = "ti,omap3-l3-smx", "simple-bus";
  73. reg = <0x68000000 0x10000>;
  74. interrupts = <9 10>;
  75. #address-cells = <1>;
  76. #size-cells = <1>;
  77. ranges;
  78. ti,hwmods = "l3_main";
  79. l4_core: l4@48000000 {
  80. compatible = "ti,omap3-l4-core", "simple-bus";
  81. #address-cells = <1>;
  82. #size-cells = <1>;
  83. ranges = <0 0x48000000 0x1000000>;
  84. scm: scm@2000 {
  85. compatible = "ti,omap3-scm", "simple-bus";
  86. reg = <0x2000 0x2000>;
  87. #address-cells = <1>;
  88. #size-cells = <1>;
  89. ranges = <0 0x2000 0x2000>;
  90. omap3_pmx_core: pinmux@30 {
  91. compatible = "ti,omap3-padconf",
  92. "pinctrl-single";
  93. reg = <0x30 0x238>;
  94. #address-cells = <1>;
  95. #size-cells = <0>;
  96. #pinctrl-cells = <1>;
  97. #interrupt-cells = <1>;
  98. interrupt-controller;
  99. pinctrl-single,register-width = <16>;
  100. pinctrl-single,function-mask = <0xff1f>;
  101. };
  102. scm_conf: scm_conf@270 {
  103. compatible = "syscon", "simple-bus";
  104. reg = <0x270 0x330>;
  105. #address-cells = <1>;
  106. #size-cells = <1>;
  107. ranges = <0 0x270 0x330>;
  108. pbias_regulator: pbias_regulator@2b0 {
  109. compatible = "ti,pbias-omap3", "ti,pbias-omap";
  110. reg = <0x2b0 0x4>;
  111. syscon = <&scm_conf>;
  112. pbias_mmc_reg: pbias_mmc_omap2430 {
  113. regulator-name = "pbias_mmc_omap2430";
  114. regulator-min-microvolt = <1800000>;
  115. regulator-max-microvolt = <3000000>;
  116. };
  117. };
  118. scm_clocks: clocks {
  119. #address-cells = <1>;
  120. #size-cells = <0>;
  121. };
  122. };
  123. scm_clockdomains: clockdomains {
  124. };
  125. omap3_pmx_wkup: pinmux@a00 {
  126. compatible = "ti,omap3-padconf",
  127. "pinctrl-single";
  128. reg = <0xa00 0x5c>;
  129. #address-cells = <1>;
  130. #size-cells = <0>;
  131. #pinctrl-cells = <1>;
  132. #interrupt-cells = <1>;
  133. interrupt-controller;
  134. pinctrl-single,register-width = <16>;
  135. pinctrl-single,function-mask = <0xff1f>;
  136. };
  137. };
  138. };
  139. aes1_target: target-module@480a6000 {
  140. compatible = "ti,sysc-omap2", "ti,sysc";
  141. reg = <0x480a6044 0x4>,
  142. <0x480a6048 0x4>,
  143. <0x480a604c 0x4>;
  144. reg-names = "rev", "sysc", "syss";
  145. ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
  146. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  147. <SYSC_IDLE_NO>,
  148. <SYSC_IDLE_SMART>;
  149. ti,syss-mask = <1>;
  150. clocks = <&aes1_ick>;
  151. clock-names = "ick";
  152. #address-cells = <1>;
  153. #size-cells = <1>;
  154. ranges = <0 0x480a6000 0x2000>;
  155. aes1: aes1@0 {
  156. compatible = "ti,omap3-aes";
  157. reg = <0 0x50>;
  158. interrupts = <0>;
  159. dmas = <&sdma 9 &sdma 10>;
  160. dma-names = "tx", "rx";
  161. };
  162. };
  163. aes2_target: target-module@480c5000 {
  164. compatible = "ti,sysc-omap2", "ti,sysc";
  165. reg = <0x480c5044 0x4>,
  166. <0x480c5048 0x4>,
  167. <0x480c504c 0x4>;
  168. reg-names = "rev", "sysc", "syss";
  169. ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
  170. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  171. <SYSC_IDLE_NO>,
  172. <SYSC_IDLE_SMART>;
  173. ti,syss-mask = <1>;
  174. clocks = <&aes2_ick>;
  175. clock-names = "ick";
  176. #address-cells = <1>;
  177. #size-cells = <1>;
  178. ranges = <0 0x480c5000 0x2000>;
  179. aes2: aes2@0 {
  180. compatible = "ti,omap3-aes";
  181. reg = <0 0x50>;
  182. interrupts = <0>;
  183. dmas = <&sdma 65 &sdma 66>;
  184. dma-names = "tx", "rx";
  185. };
  186. };
  187. prm: prm@48306000 {
  188. compatible = "ti,omap3-prm";
  189. reg = <0x48306000 0x4000>;
  190. interrupts = <11>;
  191. prm_clocks: clocks {
  192. #address-cells = <1>;
  193. #size-cells = <0>;
  194. };
  195. prm_clockdomains: clockdomains {
  196. };
  197. };
  198. cm: cm@48004000 {
  199. compatible = "ti,omap3-cm";
  200. reg = <0x48004000 0x4000>;
  201. cm_clocks: clocks {
  202. #address-cells = <1>;
  203. #size-cells = <0>;
  204. };
  205. cm_clockdomains: clockdomains {
  206. };
  207. };
  208. target-module@48320000 {
  209. compatible = "ti,sysc-omap2", "ti,sysc";
  210. reg = <0x48320000 0x4>,
  211. <0x48320004 0x4>;
  212. reg-names = "rev", "sysc";
  213. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  214. <SYSC_IDLE_NO>;
  215. clocks = <&wkup_32k_fck>, <&omap_32ksync_ick>;
  216. clock-names = "fck", "ick";
  217. #address-cells = <1>;
  218. #size-cells = <1>;
  219. ranges = <0x0 0x48320000 0x1000>;
  220. counter32k: counter@0 {
  221. compatible = "ti,omap-counter32k";
  222. reg = <0x0 0x20>;
  223. };
  224. };
  225. intc: interrupt-controller@48200000 {
  226. compatible = "ti,omap3-intc";
  227. interrupt-controller;
  228. #interrupt-cells = <1>;
  229. reg = <0x48200000 0x1000>;
  230. };
  231. target-module@48056000 {
  232. compatible = "ti,sysc-omap2", "ti,sysc";
  233. reg = <0x48056000 0x4>,
  234. <0x4805602c 0x4>,
  235. <0x48056028 0x4>;
  236. reg-names = "rev", "sysc", "syss";
  237. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  238. SYSC_OMAP2_EMUFREE |
  239. SYSC_OMAP2_SOFTRESET |
  240. SYSC_OMAP2_AUTOIDLE)>;
  241. ti,sysc-midle = <SYSC_IDLE_FORCE>,
  242. <SYSC_IDLE_NO>,
  243. <SYSC_IDLE_SMART>;
  244. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  245. <SYSC_IDLE_NO>,
  246. <SYSC_IDLE_SMART>;
  247. ti,syss-mask = <1>;
  248. /* Domains (V, P, C): core, core_pwrdm, core_l3_clkdm */
  249. clocks = <&core_l3_ick>;
  250. clock-names = "ick";
  251. #address-cells = <1>;
  252. #size-cells = <1>;
  253. ranges = <0 0x48056000 0x1000>;
  254. sdma: dma-controller@0 {
  255. compatible = "ti,omap3430-sdma", "ti,omap-sdma";
  256. reg = <0x0 0x1000>;
  257. interrupts = <12>,
  258. <13>,
  259. <14>,
  260. <15>;
  261. #dma-cells = <1>;
  262. dma-channels = <32>;
  263. dma-requests = <96>;
  264. };
  265. };
  266. gpio1: gpio@48310000 {
  267. compatible = "ti,omap3-gpio";
  268. reg = <0x48310000 0x200>;
  269. interrupts = <29>;
  270. ti,hwmods = "gpio1";
  271. ti,gpio-always-on;
  272. gpio-controller;
  273. #gpio-cells = <2>;
  274. interrupt-controller;
  275. #interrupt-cells = <2>;
  276. };
  277. gpio2: gpio@49050000 {
  278. compatible = "ti,omap3-gpio";
  279. reg = <0x49050000 0x200>;
  280. interrupts = <30>;
  281. ti,hwmods = "gpio2";
  282. gpio-controller;
  283. #gpio-cells = <2>;
  284. interrupt-controller;
  285. #interrupt-cells = <2>;
  286. };
  287. gpio3: gpio@49052000 {
  288. compatible = "ti,omap3-gpio";
  289. reg = <0x49052000 0x200>;
  290. interrupts = <31>;
  291. ti,hwmods = "gpio3";
  292. gpio-controller;
  293. #gpio-cells = <2>;
  294. interrupt-controller;
  295. #interrupt-cells = <2>;
  296. };
  297. gpio4: gpio@49054000 {
  298. compatible = "ti,omap3-gpio";
  299. reg = <0x49054000 0x200>;
  300. interrupts = <32>;
  301. ti,hwmods = "gpio4";
  302. gpio-controller;
  303. #gpio-cells = <2>;
  304. interrupt-controller;
  305. #interrupt-cells = <2>;
  306. };
  307. gpio5: gpio@49056000 {
  308. compatible = "ti,omap3-gpio";
  309. reg = <0x49056000 0x200>;
  310. interrupts = <33>;
  311. ti,hwmods = "gpio5";
  312. gpio-controller;
  313. #gpio-cells = <2>;
  314. interrupt-controller;
  315. #interrupt-cells = <2>;
  316. };
  317. gpio6: gpio@49058000 {
  318. compatible = "ti,omap3-gpio";
  319. reg = <0x49058000 0x200>;
  320. interrupts = <34>;
  321. ti,hwmods = "gpio6";
  322. gpio-controller;
  323. #gpio-cells = <2>;
  324. interrupt-controller;
  325. #interrupt-cells = <2>;
  326. };
  327. uart1: serial@4806a000 {
  328. compatible = "ti,omap3-uart";
  329. reg = <0x4806a000 0x2000>;
  330. interrupts-extended = <&intc 72>;
  331. dmas = <&sdma 49 &sdma 50>;
  332. dma-names = "tx", "rx";
  333. ti,hwmods = "uart1";
  334. clock-frequency = <48000000>;
  335. };
  336. uart2: serial@4806c000 {
  337. compatible = "ti,omap3-uart";
  338. reg = <0x4806c000 0x400>;
  339. interrupts-extended = <&intc 73>;
  340. dmas = <&sdma 51 &sdma 52>;
  341. dma-names = "tx", "rx";
  342. ti,hwmods = "uart2";
  343. clock-frequency = <48000000>;
  344. };
  345. uart3: serial@49020000 {
  346. compatible = "ti,omap3-uart";
  347. reg = <0x49020000 0x400>;
  348. interrupts-extended = <&intc 74>;
  349. dmas = <&sdma 53 &sdma 54>;
  350. dma-names = "tx", "rx";
  351. ti,hwmods = "uart3";
  352. clock-frequency = <48000000>;
  353. };
  354. i2c1: i2c@48070000 {
  355. compatible = "ti,omap3-i2c";
  356. reg = <0x48070000 0x80>;
  357. interrupts = <56>;
  358. #address-cells = <1>;
  359. #size-cells = <0>;
  360. ti,hwmods = "i2c1";
  361. };
  362. i2c2: i2c@48072000 {
  363. compatible = "ti,omap3-i2c";
  364. reg = <0x48072000 0x80>;
  365. interrupts = <57>;
  366. #address-cells = <1>;
  367. #size-cells = <0>;
  368. ti,hwmods = "i2c2";
  369. };
  370. i2c3: i2c@48060000 {
  371. compatible = "ti,omap3-i2c";
  372. reg = <0x48060000 0x80>;
  373. interrupts = <61>;
  374. #address-cells = <1>;
  375. #size-cells = <0>;
  376. ti,hwmods = "i2c3";
  377. };
  378. mailbox: mailbox@48094000 {
  379. compatible = "ti,omap3-mailbox";
  380. ti,hwmods = "mailbox";
  381. reg = <0x48094000 0x200>;
  382. interrupts = <26>;
  383. #mbox-cells = <1>;
  384. ti,mbox-num-users = <2>;
  385. ti,mbox-num-fifos = <2>;
  386. mbox_dsp: mbox-dsp {
  387. ti,mbox-tx = <0 0 0>;
  388. ti,mbox-rx = <1 0 0>;
  389. };
  390. };
  391. mcspi1: spi@48098000 {
  392. compatible = "ti,omap2-mcspi";
  393. reg = <0x48098000 0x100>;
  394. interrupts = <65>;
  395. #address-cells = <1>;
  396. #size-cells = <0>;
  397. ti,hwmods = "mcspi1";
  398. ti,spi-num-cs = <4>;
  399. dmas = <&sdma 35>,
  400. <&sdma 36>,
  401. <&sdma 37>,
  402. <&sdma 38>,
  403. <&sdma 39>,
  404. <&sdma 40>,
  405. <&sdma 41>,
  406. <&sdma 42>;
  407. dma-names = "tx0", "rx0", "tx1", "rx1",
  408. "tx2", "rx2", "tx3", "rx3";
  409. };
  410. mcspi2: spi@4809a000 {
  411. compatible = "ti,omap2-mcspi";
  412. reg = <0x4809a000 0x100>;
  413. interrupts = <66>;
  414. #address-cells = <1>;
  415. #size-cells = <0>;
  416. ti,hwmods = "mcspi2";
  417. ti,spi-num-cs = <2>;
  418. dmas = <&sdma 43>,
  419. <&sdma 44>,
  420. <&sdma 45>,
  421. <&sdma 46>;
  422. dma-names = "tx0", "rx0", "tx1", "rx1";
  423. };
  424. mcspi3: spi@480b8000 {
  425. compatible = "ti,omap2-mcspi";
  426. reg = <0x480b8000 0x100>;
  427. interrupts = <91>;
  428. #address-cells = <1>;
  429. #size-cells = <0>;
  430. ti,hwmods = "mcspi3";
  431. ti,spi-num-cs = <2>;
  432. dmas = <&sdma 15>,
  433. <&sdma 16>,
  434. <&sdma 23>,
  435. <&sdma 24>;
  436. dma-names = "tx0", "rx0", "tx1", "rx1";
  437. };
  438. mcspi4: spi@480ba000 {
  439. compatible = "ti,omap2-mcspi";
  440. reg = <0x480ba000 0x100>;
  441. interrupts = <48>;
  442. #address-cells = <1>;
  443. #size-cells = <0>;
  444. ti,hwmods = "mcspi4";
  445. ti,spi-num-cs = <1>;
  446. dmas = <&sdma 70>, <&sdma 71>;
  447. dma-names = "tx0", "rx0";
  448. };
  449. hdqw1w: 1w@480b2000 {
  450. compatible = "ti,omap3-1w";
  451. reg = <0x480b2000 0x1000>;
  452. interrupts = <58>;
  453. ti,hwmods = "hdq1w";
  454. };
  455. mmc1: mmc@4809c000 {
  456. compatible = "ti,omap3-hsmmc";
  457. reg = <0x4809c000 0x200>;
  458. interrupts = <83>;
  459. ti,hwmods = "mmc1";
  460. ti,dual-volt;
  461. dmas = <&sdma 61>, <&sdma 62>;
  462. dma-names = "tx", "rx";
  463. pbias-supply = <&pbias_mmc_reg>;
  464. };
  465. mmc2: mmc@480b4000 {
  466. compatible = "ti,omap3-hsmmc";
  467. reg = <0x480b4000 0x200>;
  468. interrupts = <86>;
  469. ti,hwmods = "mmc2";
  470. dmas = <&sdma 47>, <&sdma 48>;
  471. dma-names = "tx", "rx";
  472. };
  473. mmc3: mmc@480ad000 {
  474. compatible = "ti,omap3-hsmmc";
  475. reg = <0x480ad000 0x200>;
  476. interrupts = <94>;
  477. ti,hwmods = "mmc3";
  478. dmas = <&sdma 77>, <&sdma 78>;
  479. dma-names = "tx", "rx";
  480. };
  481. mmu_isp: mmu@480bd400 {
  482. #iommu-cells = <0>;
  483. compatible = "ti,omap2-iommu";
  484. reg = <0x480bd400 0x80>;
  485. interrupts = <24>;
  486. ti,hwmods = "mmu_isp";
  487. ti,#tlb-entries = <8>;
  488. };
  489. mmu_iva: mmu@5d000000 {
  490. #iommu-cells = <0>;
  491. compatible = "ti,omap2-iommu";
  492. reg = <0x5d000000 0x80>;
  493. interrupts = <28>;
  494. ti,hwmods = "mmu_iva";
  495. status = "disabled";
  496. };
  497. wdt2: wdt@48314000 {
  498. compatible = "ti,omap3-wdt";
  499. reg = <0x48314000 0x80>;
  500. ti,hwmods = "wd_timer2";
  501. };
  502. mcbsp1: mcbsp@48074000 {
  503. compatible = "ti,omap3-mcbsp";
  504. reg = <0x48074000 0xff>;
  505. reg-names = "mpu";
  506. interrupts = <16>, /* OCP compliant interrupt */
  507. <59>, /* TX interrupt */
  508. <60>; /* RX interrupt */
  509. interrupt-names = "common", "tx", "rx";
  510. ti,buffer-size = <128>;
  511. ti,hwmods = "mcbsp1";
  512. dmas = <&sdma 31>,
  513. <&sdma 32>;
  514. dma-names = "tx", "rx";
  515. clocks = <&mcbsp1_fck>;
  516. clock-names = "fck";
  517. status = "disabled";
  518. };
  519. /* Likely needs to be tagged disabled on HS devices */
  520. rng_target: target-module@480a0000 {
  521. compatible = "ti,sysc-omap2", "ti,sysc";
  522. reg = <0x480a003c 0x4>,
  523. <0x480a0040 0x4>,
  524. <0x480a0044 0x4>;
  525. reg-names = "rev", "sysc", "syss";
  526. ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
  527. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  528. <SYSC_IDLE_NO>;
  529. ti,syss-mask = <1>;
  530. clocks = <&rng_ick>;
  531. clock-names = "ick";
  532. #address-cells = <1>;
  533. #size-cells = <1>;
  534. ranges = <0 0x480a0000 0x2000>;
  535. rng: rng@0 {
  536. compatible = "ti,omap2-rng";
  537. reg = <0x0 0x2000>;
  538. interrupts = <52>;
  539. };
  540. };
  541. mcbsp2: mcbsp@49022000 {
  542. compatible = "ti,omap3-mcbsp";
  543. reg = <0x49022000 0xff>,
  544. <0x49028000 0xff>;
  545. reg-names = "mpu", "sidetone";
  546. interrupts = <17>, /* OCP compliant interrupt */
  547. <62>, /* TX interrupt */
  548. <63>, /* RX interrupt */
  549. <4>; /* Sidetone */
  550. interrupt-names = "common", "tx", "rx", "sidetone";
  551. ti,buffer-size = <1280>;
  552. ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
  553. dmas = <&sdma 33>,
  554. <&sdma 34>;
  555. dma-names = "tx", "rx";
  556. clocks = <&mcbsp2_fck>, <&mcbsp2_ick>;
  557. clock-names = "fck", "ick";
  558. status = "disabled";
  559. };
  560. mcbsp3: mcbsp@49024000 {
  561. compatible = "ti,omap3-mcbsp";
  562. reg = <0x49024000 0xff>,
  563. <0x4902a000 0xff>;
  564. reg-names = "mpu", "sidetone";
  565. interrupts = <22>, /* OCP compliant interrupt */
  566. <89>, /* TX interrupt */
  567. <90>, /* RX interrupt */
  568. <5>; /* Sidetone */
  569. interrupt-names = "common", "tx", "rx", "sidetone";
  570. ti,buffer-size = <128>;
  571. ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
  572. dmas = <&sdma 17>,
  573. <&sdma 18>;
  574. dma-names = "tx", "rx";
  575. clocks = <&mcbsp3_fck>, <&mcbsp3_ick>;
  576. clock-names = "fck", "ick";
  577. status = "disabled";
  578. };
  579. mcbsp4: mcbsp@49026000 {
  580. compatible = "ti,omap3-mcbsp";
  581. reg = <0x49026000 0xff>;
  582. reg-names = "mpu";
  583. interrupts = <23>, /* OCP compliant interrupt */
  584. <54>, /* TX interrupt */
  585. <55>; /* RX interrupt */
  586. interrupt-names = "common", "tx", "rx";
  587. ti,buffer-size = <128>;
  588. ti,hwmods = "mcbsp4";
  589. dmas = <&sdma 19>,
  590. <&sdma 20>;
  591. dma-names = "tx", "rx";
  592. clocks = <&mcbsp4_fck>;
  593. clock-names = "fck";
  594. #sound-dai-cells = <0>;
  595. status = "disabled";
  596. };
  597. mcbsp5: mcbsp@48096000 {
  598. compatible = "ti,omap3-mcbsp";
  599. reg = <0x48096000 0xff>;
  600. reg-names = "mpu";
  601. interrupts = <27>, /* OCP compliant interrupt */
  602. <81>, /* TX interrupt */
  603. <82>; /* RX interrupt */
  604. interrupt-names = "common", "tx", "rx";
  605. ti,buffer-size = <128>;
  606. ti,hwmods = "mcbsp5";
  607. dmas = <&sdma 21>,
  608. <&sdma 22>;
  609. dma-names = "tx", "rx";
  610. clocks = <&mcbsp5_fck>;
  611. clock-names = "fck";
  612. status = "disabled";
  613. };
  614. sham: sham@480c3000 {
  615. compatible = "ti,omap3-sham";
  616. ti,hwmods = "sham";
  617. reg = <0x480c3000 0x64>;
  618. interrupts = <49>;
  619. dmas = <&sdma 69>;
  620. dma-names = "rx";
  621. };
  622. timer1_target: target-module@48318000 {
  623. compatible = "ti,sysc-omap2-timer", "ti,sysc";
  624. reg = <0x48318000 0x4>,
  625. <0x48318010 0x4>,
  626. <0x48318014 0x4>;
  627. reg-names = "rev", "sysc", "syss";
  628. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  629. SYSC_OMAP2_EMUFREE |
  630. SYSC_OMAP2_ENAWAKEUP |
  631. SYSC_OMAP2_SOFTRESET |
  632. SYSC_OMAP2_AUTOIDLE)>;
  633. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  634. <SYSC_IDLE_NO>,
  635. <SYSC_IDLE_SMART>;
  636. ti,syss-mask = <1>;
  637. clocks = <&gpt1_fck>, <&gpt1_ick>;
  638. clock-names = "fck", "ick";
  639. #address-cells = <1>;
  640. #size-cells = <1>;
  641. ranges = <0x0 0x48318000 0x1000>;
  642. timer1: timer@0 {
  643. compatible = "ti,omap3430-timer";
  644. reg = <0x0 0x80>;
  645. clocks = <&gpt1_fck>;
  646. clock-names = "fck";
  647. interrupts = <37>;
  648. ti,timer-alwon;
  649. };
  650. };
  651. timer2_target: target-module@49032000 {
  652. compatible = "ti,sysc-omap2-timer", "ti,sysc";
  653. reg = <0x49032000 0x4>,
  654. <0x49032010 0x4>,
  655. <0x49032014 0x4>;
  656. reg-names = "rev", "sysc", "syss";
  657. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  658. SYSC_OMAP2_EMUFREE |
  659. SYSC_OMAP2_ENAWAKEUP |
  660. SYSC_OMAP2_SOFTRESET |
  661. SYSC_OMAP2_AUTOIDLE)>;
  662. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  663. <SYSC_IDLE_NO>,
  664. <SYSC_IDLE_SMART>;
  665. ti,syss-mask = <1>;
  666. clocks = <&gpt2_fck>, <&gpt2_ick>;
  667. clock-names = "fck", "ick";
  668. #address-cells = <1>;
  669. #size-cells = <1>;
  670. ranges = <0x0 0x49032000 0x1000>;
  671. timer2: timer@0 {
  672. compatible = "ti,omap3430-timer";
  673. reg = <0 0x400>;
  674. interrupts = <38>;
  675. };
  676. };
  677. timer3: timer@49034000 {
  678. compatible = "ti,omap3430-timer";
  679. reg = <0x49034000 0x400>;
  680. interrupts = <39>;
  681. ti,hwmods = "timer3";
  682. };
  683. timer4: timer@49036000 {
  684. compatible = "ti,omap3430-timer";
  685. reg = <0x49036000 0x400>;
  686. interrupts = <40>;
  687. ti,hwmods = "timer4";
  688. };
  689. timer5: timer@49038000 {
  690. compatible = "ti,omap3430-timer";
  691. reg = <0x49038000 0x400>;
  692. interrupts = <41>;
  693. ti,hwmods = "timer5";
  694. ti,timer-dsp;
  695. };
  696. timer6: timer@4903a000 {
  697. compatible = "ti,omap3430-timer";
  698. reg = <0x4903a000 0x400>;
  699. interrupts = <42>;
  700. ti,hwmods = "timer6";
  701. ti,timer-dsp;
  702. };
  703. timer7: timer@4903c000 {
  704. compatible = "ti,omap3430-timer";
  705. reg = <0x4903c000 0x400>;
  706. interrupts = <43>;
  707. ti,hwmods = "timer7";
  708. ti,timer-dsp;
  709. };
  710. timer8: timer@4903e000 {
  711. compatible = "ti,omap3430-timer";
  712. reg = <0x4903e000 0x400>;
  713. interrupts = <44>;
  714. ti,hwmods = "timer8";
  715. ti,timer-pwm;
  716. ti,timer-dsp;
  717. };
  718. timer9: timer@49040000 {
  719. compatible = "ti,omap3430-timer";
  720. reg = <0x49040000 0x400>;
  721. interrupts = <45>;
  722. ti,hwmods = "timer9";
  723. ti,timer-pwm;
  724. };
  725. timer10: timer@48086000 {
  726. compatible = "ti,omap3430-timer";
  727. reg = <0x48086000 0x400>;
  728. interrupts = <46>;
  729. ti,hwmods = "timer10";
  730. ti,timer-pwm;
  731. };
  732. timer11: timer@48088000 {
  733. compatible = "ti,omap3430-timer";
  734. reg = <0x48088000 0x400>;
  735. interrupts = <47>;
  736. ti,hwmods = "timer11";
  737. ti,timer-pwm;
  738. };
  739. timer12_target: target-module@48304000 {
  740. compatible = "ti,sysc-omap2-timer", "ti,sysc";
  741. reg = <0x48304000 0x4>,
  742. <0x48304010 0x4>,
  743. <0x48304014 0x4>;
  744. reg-names = "rev", "sysc", "syss";
  745. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  746. SYSC_OMAP2_EMUFREE |
  747. SYSC_OMAP2_ENAWAKEUP |
  748. SYSC_OMAP2_SOFTRESET |
  749. SYSC_OMAP2_AUTOIDLE)>;
  750. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  751. <SYSC_IDLE_NO>,
  752. <SYSC_IDLE_SMART>;
  753. ti,syss-mask = <1>;
  754. clocks = <&gpt12_fck>, <&gpt12_ick>;
  755. clock-names = "fck", "ick";
  756. #address-cells = <1>;
  757. #size-cells = <1>;
  758. ranges = <0x0 0x48304000 0x1000>;
  759. timer12: timer@0 {
  760. compatible = "ti,omap3430-timer";
  761. reg = <0 0x400>;
  762. interrupts = <95>;
  763. ti,timer-alwon;
  764. ti,timer-secure;
  765. };
  766. };
  767. usbhstll: usbhstll@48062000 {
  768. compatible = "ti,usbhs-tll";
  769. reg = <0x48062000 0x1000>;
  770. interrupts = <78>;
  771. ti,hwmods = "usb_tll_hs";
  772. };
  773. usbhshost: usbhshost@48064000 {
  774. compatible = "ti,usbhs-host";
  775. reg = <0x48064000 0x400>;
  776. ti,hwmods = "usb_host_hs";
  777. #address-cells = <1>;
  778. #size-cells = <1>;
  779. ranges;
  780. usbhsohci: ohci@48064400 {
  781. compatible = "ti,ohci-omap3";
  782. reg = <0x48064400 0x400>;
  783. interrupts = <76>;
  784. remote-wakeup-connected;
  785. };
  786. usbhsehci: ehci@48064800 {
  787. compatible = "ti,ehci-omap";
  788. reg = <0x48064800 0x400>;
  789. interrupts = <77>;
  790. };
  791. };
  792. gpmc: gpmc@6e000000 {
  793. compatible = "ti,omap3430-gpmc";
  794. ti,hwmods = "gpmc";
  795. reg = <0x6e000000 0x02d0>;
  796. interrupts = <20>;
  797. dmas = <&sdma 4>;
  798. dma-names = "rxtx";
  799. gpmc,num-cs = <8>;
  800. gpmc,num-waitpins = <4>;
  801. #address-cells = <2>;
  802. #size-cells = <1>;
  803. interrupt-controller;
  804. #interrupt-cells = <2>;
  805. gpio-controller;
  806. #gpio-cells = <2>;
  807. };
  808. usb_otg_hs: usb_otg_hs@480ab000 {
  809. compatible = "ti,omap3-musb";
  810. reg = <0x480ab000 0x1000>;
  811. interrupts = <92>, <93>;
  812. interrupt-names = "mc", "dma";
  813. ti,hwmods = "usb_otg_hs";
  814. multipoint = <1>;
  815. num-eps = <16>;
  816. ram-bits = <12>;
  817. };
  818. dss: dss@48050000 {
  819. compatible = "ti,omap3-dss";
  820. reg = <0x48050000 0x200>;
  821. status = "disabled";
  822. ti,hwmods = "dss_core";
  823. clocks = <&dss1_alwon_fck>;
  824. clock-names = "fck";
  825. #address-cells = <1>;
  826. #size-cells = <1>;
  827. ranges;
  828. dispc@48050400 {
  829. compatible = "ti,omap3-dispc";
  830. reg = <0x48050400 0x400>;
  831. interrupts = <25>;
  832. ti,hwmods = "dss_dispc";
  833. clocks = <&dss1_alwon_fck>;
  834. clock-names = "fck";
  835. };
  836. dsi: encoder@4804fc00 {
  837. compatible = "ti,omap3-dsi";
  838. reg = <0x4804fc00 0x200>,
  839. <0x4804fe00 0x40>,
  840. <0x4804ff00 0x20>;
  841. reg-names = "proto", "phy", "pll";
  842. interrupts = <25>;
  843. status = "disabled";
  844. ti,hwmods = "dss_dsi1";
  845. clocks = <&dss1_alwon_fck>, <&dss2_alwon_fck>;
  846. clock-names = "fck", "sys_clk";
  847. #address-cells = <1>;
  848. #size-cells = <0>;
  849. };
  850. rfbi: encoder@48050800 {
  851. compatible = "ti,omap3-rfbi";
  852. reg = <0x48050800 0x100>;
  853. status = "disabled";
  854. ti,hwmods = "dss_rfbi";
  855. clocks = <&dss1_alwon_fck>, <&dss_ick>;
  856. clock-names = "fck", "ick";
  857. };
  858. venc: encoder@48050c00 {
  859. compatible = "ti,omap3-venc";
  860. reg = <0x48050c00 0x100>;
  861. status = "disabled";
  862. ti,hwmods = "dss_venc";
  863. clocks = <&dss_tv_fck>;
  864. clock-names = "fck";
  865. };
  866. };
  867. ssi: ssi-controller@48058000 {
  868. compatible = "ti,omap3-ssi";
  869. ti,hwmods = "ssi";
  870. status = "disabled";
  871. reg = <0x48058000 0x1000>,
  872. <0x48059000 0x1000>;
  873. reg-names = "sys",
  874. "gdd";
  875. interrupts = <71>;
  876. interrupt-names = "gdd_mpu";
  877. #address-cells = <1>;
  878. #size-cells = <1>;
  879. ranges;
  880. ssi_port1: ssi-port@4805a000 {
  881. compatible = "ti,omap3-ssi-port";
  882. reg = <0x4805a000 0x800>,
  883. <0x4805a800 0x800>;
  884. reg-names = "tx",
  885. "rx";
  886. interrupts = <67>,
  887. <68>;
  888. };
  889. ssi_port2: ssi-port@4805b000 {
  890. compatible = "ti,omap3-ssi-port";
  891. reg = <0x4805b000 0x800>,
  892. <0x4805b800 0x800>;
  893. reg-names = "tx",
  894. "rx";
  895. interrupts = <69>,
  896. <70>;
  897. };
  898. };
  899. };
  900. };
  901. #include "omap3xxx-clocks.dtsi"
  902. /* Preferred always-on timer for clockevent. Some boards must use dmtimer12 */
  903. &timer1_target {
  904. ti,no-reset-on-init;
  905. ti,no-idle;
  906. timer@0 {
  907. assigned-clocks = <&gpt1_fck>;
  908. assigned-clock-parents = <&omap_32k_fck>;
  909. };
  910. };