dm814x.dtsi 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. #include <dt-bindings/bus/ti-sysc.h>
  3. #include <dt-bindings/clock/dm814.h>
  4. #include <dt-bindings/gpio/gpio.h>
  5. #include <dt-bindings/pinctrl/dm814x.h>
  6. / {
  7. compatible = "ti,dm814";
  8. interrupt-parent = <&intc>;
  9. #address-cells = <1>;
  10. #size-cells = <1>;
  11. chosen { };
  12. aliases {
  13. i2c0 = &i2c1;
  14. i2c1 = &i2c2;
  15. serial0 = &uart1;
  16. serial1 = &uart2;
  17. serial2 = &uart3;
  18. ethernet0 = &cpsw_emac0;
  19. ethernet1 = &cpsw_emac1;
  20. usb0 = &usb0;
  21. usb1 = &usb1;
  22. phy0 = &usb0_phy;
  23. phy1 = &usb1_phy;
  24. };
  25. cpus {
  26. #address-cells = <1>;
  27. #size-cells = <0>;
  28. cpu@0 {
  29. compatible = "arm,cortex-a8";
  30. device_type = "cpu";
  31. reg = <0>;
  32. };
  33. };
  34. pmu {
  35. compatible = "arm,cortex-a8-pmu";
  36. interrupts = <3>;
  37. };
  38. /*
  39. * The soc node represents the soc top level view. It is used for IPs
  40. * that are not memory mapped in the MPU view or for the MPU itself.
  41. */
  42. soc {
  43. compatible = "ti,omap-infra";
  44. mpu {
  45. compatible = "ti,omap3-mpu";
  46. ti,hwmods = "mpu";
  47. };
  48. };
  49. ocp {
  50. compatible = "simple-bus";
  51. #address-cells = <1>;
  52. #size-cells = <1>;
  53. ranges;
  54. ti,hwmods = "l3_main";
  55. usb: usb@47400000 {
  56. compatible = "ti,am33xx-usb";
  57. reg = <0x47400000 0x1000>;
  58. ranges;
  59. #address-cells = <1>;
  60. #size-cells = <1>;
  61. ti,hwmods = "usb_otg_hs";
  62. usb0_phy: usb-phy@47401300 {
  63. compatible = "ti,am335x-usb-phy";
  64. reg = <0x47401300 0x100>;
  65. reg-names = "phy";
  66. ti,ctrl_mod = <&usb_ctrl_mod>;
  67. #phy-cells = <0>;
  68. };
  69. usb0: usb@47401000 {
  70. compatible = "ti,musb-am33xx";
  71. reg = <0x47401400 0x400
  72. 0x47401000 0x200>;
  73. reg-names = "mc", "control";
  74. interrupts = <18>;
  75. interrupt-names = "mc";
  76. dr_mode = "otg";
  77. mentor,multipoint = <1>;
  78. mentor,num-eps = <16>;
  79. mentor,ram-bits = <12>;
  80. mentor,power = <500>;
  81. phys = <&usb0_phy>;
  82. dmas = <&cppi41dma 0 0 &cppi41dma 1 0
  83. &cppi41dma 2 0 &cppi41dma 3 0
  84. &cppi41dma 4 0 &cppi41dma 5 0
  85. &cppi41dma 6 0 &cppi41dma 7 0
  86. &cppi41dma 8 0 &cppi41dma 9 0
  87. &cppi41dma 10 0 &cppi41dma 11 0
  88. &cppi41dma 12 0 &cppi41dma 13 0
  89. &cppi41dma 14 0 &cppi41dma 0 1
  90. &cppi41dma 1 1 &cppi41dma 2 1
  91. &cppi41dma 3 1 &cppi41dma 4 1
  92. &cppi41dma 5 1 &cppi41dma 6 1
  93. &cppi41dma 7 1 &cppi41dma 8 1
  94. &cppi41dma 9 1 &cppi41dma 10 1
  95. &cppi41dma 11 1 &cppi41dma 12 1
  96. &cppi41dma 13 1 &cppi41dma 14 1>;
  97. dma-names =
  98. "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
  99. "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
  100. "rx14", "rx15",
  101. "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
  102. "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
  103. "tx14", "tx15";
  104. };
  105. usb1: usb@47401800 {
  106. compatible = "ti,musb-am33xx";
  107. reg = <0x47401c00 0x400
  108. 0x47401800 0x200>;
  109. reg-names = "mc", "control";
  110. interrupts = <19>;
  111. interrupt-names = "mc";
  112. dr_mode = "otg";
  113. mentor,multipoint = <1>;
  114. mentor,num-eps = <16>;
  115. mentor,ram-bits = <12>;
  116. mentor,power = <500>;
  117. phys = <&usb1_phy>;
  118. dmas = <&cppi41dma 15 0 &cppi41dma 16 0
  119. &cppi41dma 17 0 &cppi41dma 18 0
  120. &cppi41dma 19 0 &cppi41dma 20 0
  121. &cppi41dma 21 0 &cppi41dma 22 0
  122. &cppi41dma 23 0 &cppi41dma 24 0
  123. &cppi41dma 25 0 &cppi41dma 26 0
  124. &cppi41dma 27 0 &cppi41dma 28 0
  125. &cppi41dma 29 0 &cppi41dma 15 1
  126. &cppi41dma 16 1 &cppi41dma 17 1
  127. &cppi41dma 18 1 &cppi41dma 19 1
  128. &cppi41dma 20 1 &cppi41dma 21 1
  129. &cppi41dma 22 1 &cppi41dma 23 1
  130. &cppi41dma 24 1 &cppi41dma 25 1
  131. &cppi41dma 26 1 &cppi41dma 27 1
  132. &cppi41dma 28 1 &cppi41dma 29 1>;
  133. dma-names =
  134. "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
  135. "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
  136. "rx14", "rx15",
  137. "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
  138. "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
  139. "tx14", "tx15";
  140. };
  141. cppi41dma: dma-controller@47402000 {
  142. compatible = "ti,am3359-cppi41";
  143. reg = <0x47400000 0x1000
  144. 0x47402000 0x1000
  145. 0x47403000 0x1000
  146. 0x47404000 0x4000>;
  147. reg-names = "glue", "controller", "scheduler", "queuemgr";
  148. interrupts = <17>;
  149. interrupt-names = "glue";
  150. #dma-cells = <2>;
  151. /* For backwards compatibility: */
  152. #dma-channels = <30>;
  153. dma-channels = <30>;
  154. #dma-requests = <256>;
  155. dma-requests = <256>;
  156. };
  157. };
  158. /*
  159. * See TRM "Table 1-317. L4LS Instance Summary" for hints.
  160. * It shows the module target agent registers though, so the
  161. * actual device is typically 0x1000 before the target agent
  162. * except in cases where the module is larger than 0x1000.
  163. */
  164. l4ls: l4ls@48000000 {
  165. compatible = "ti,dm814-l4ls", "simple-bus";
  166. #address-cells = <1>;
  167. #size-cells = <1>;
  168. ranges = <0 0x48000000 0x2000000>;
  169. i2c1: i2c@28000 {
  170. compatible = "ti,omap4-i2c";
  171. #address-cells = <1>;
  172. #size-cells = <0>;
  173. ti,hwmods = "i2c1";
  174. reg = <0x28000 0x1000>;
  175. interrupts = <70>;
  176. };
  177. elm: elm@80000 {
  178. compatible = "ti,814-elm";
  179. ti,hwmods = "elm";
  180. reg = <0x80000 0x2000>;
  181. interrupts = <4>;
  182. };
  183. gpio1: gpio@32000 {
  184. compatible = "ti,omap4-gpio";
  185. ti,hwmods = "gpio1";
  186. ti,gpio-always-on;
  187. reg = <0x32000 0x2000>;
  188. interrupts = <96>;
  189. gpio-controller;
  190. #gpio-cells = <2>;
  191. interrupt-controller;
  192. #interrupt-cells = <2>;
  193. };
  194. gpio2: gpio@4c000 {
  195. compatible = "ti,omap4-gpio";
  196. ti,hwmods = "gpio2";
  197. ti,gpio-always-on;
  198. reg = <0x4c000 0x2000>;
  199. interrupts = <98>;
  200. gpio-controller;
  201. #gpio-cells = <2>;
  202. interrupt-controller;
  203. #interrupt-cells = <2>;
  204. };
  205. gpio3: gpio@1ac000 {
  206. compatible = "ti,omap4-gpio";
  207. ti,hwmods = "gpio3";
  208. ti,gpio-always-on;
  209. reg = <0x1ac000 0x2000>;
  210. interrupts = <32>;
  211. gpio-controller;
  212. #gpio-cells = <2>;
  213. interrupt-controller;
  214. #interrupt-cells = <2>;
  215. };
  216. gpio4: gpio@1ae000 {
  217. compatible = "ti,omap4-gpio";
  218. ti,hwmods = "gpio4";
  219. ti,gpio-always-on;
  220. reg = <0x1ae000 0x2000>;
  221. interrupts = <62>;
  222. gpio-controller;
  223. #gpio-cells = <2>;
  224. interrupt-controller;
  225. #interrupt-cells = <2>;
  226. };
  227. i2c2: i2c@2a000 {
  228. compatible = "ti,omap4-i2c";
  229. #address-cells = <1>;
  230. #size-cells = <0>;
  231. ti,hwmods = "i2c2";
  232. reg = <0x2a000 0x1000>;
  233. interrupts = <71>;
  234. };
  235. mcspi1: spi@30000 {
  236. compatible = "ti,omap4-mcspi";
  237. reg = <0x30000 0x1000>;
  238. #address-cells = <1>;
  239. #size-cells = <0>;
  240. interrupts = <65>;
  241. ti,spi-num-cs = <4>;
  242. ti,hwmods = "mcspi1";
  243. dmas = <&edma 16 0 &edma 17 0
  244. &edma 18 0 &edma 19 0
  245. &edma 20 0 &edma 21 0
  246. &edma 22 0 &edma 23 0>;
  247. dma-names = "tx0", "rx0", "tx1", "rx1",
  248. "tx2", "rx2", "tx3", "rx3";
  249. };
  250. mcspi2: spi@1a0000 {
  251. compatible = "ti,omap4-mcspi";
  252. reg = <0x1a0000 0x1000>;
  253. #address-cells = <1>;
  254. #size-cells = <0>;
  255. interrupts = <125>;
  256. ti,spi-num-cs = <4>;
  257. ti,hwmods = "mcspi2";
  258. dmas = <&edma 42 0 &edma 43 0
  259. &edma 44 0 &edma 45 0>;
  260. dma-names = "tx0", "rx0", "tx1", "rx1";
  261. };
  262. /* Board must configure dmas with edma_xbar for EDMA */
  263. mcspi3: spi@1a2000 {
  264. compatible = "ti,omap4-mcspi";
  265. reg = <0x1a2000 0x1000>;
  266. #address-cells = <1>;
  267. #size-cells = <0>;
  268. interrupts = <126>;
  269. ti,spi-num-cs = <4>;
  270. ti,hwmods = "mcspi3";
  271. };
  272. mcspi4: spi@1a4000 {
  273. compatible = "ti,omap4-mcspi";
  274. reg = <0x1a4000 0x1000>;
  275. #address-cells = <1>;
  276. #size-cells = <0>;
  277. interrupts = <127>;
  278. ti,spi-num-cs = <4>;
  279. ti,hwmods = "mcspi4";
  280. };
  281. timer1_target: target-module@2e000 {
  282. compatible = "ti,sysc-omap4-timer", "ti,sysc";
  283. reg = <0x2e000 0x4>,
  284. <0x2e010 0x4>;
  285. reg-names = "rev", "sysc";
  286. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  287. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  288. <SYSC_IDLE_NO>,
  289. <SYSC_IDLE_SMART>,
  290. <SYSC_IDLE_SMART_WKUP>;
  291. clocks = <&timer1_fck>;
  292. clock-names = "fck";
  293. #address-cells = <1>;
  294. #size-cells = <1>;
  295. ranges = <0x0 0x2e000 0x1000>;
  296. timer1: timer@0 {
  297. compatible = "ti,am335x-timer-1ms";
  298. reg = <0x0 0x400>;
  299. interrupts = <67>;
  300. ti,timer-alwon;
  301. clocks = <&timer1_fck>;
  302. clock-names = "fck";
  303. };
  304. };
  305. uart1: uart@20000 {
  306. compatible = "ti,am3352-uart", "ti,omap3-uart";
  307. ti,hwmods = "uart1";
  308. reg = <0x20000 0x2000>;
  309. clock-frequency = <48000000>;
  310. interrupts = <72>;
  311. dmas = <&edma 26 0 &edma 27 0>;
  312. dma-names = "tx", "rx";
  313. };
  314. uart2: uart@22000 {
  315. compatible = "ti,am3352-uart", "ti,omap3-uart";
  316. ti,hwmods = "uart2";
  317. reg = <0x22000 0x2000>;
  318. clock-frequency = <48000000>;
  319. interrupts = <73>;
  320. dmas = <&edma 28 0 &edma 29 0>;
  321. dma-names = "tx", "rx";
  322. };
  323. uart3: uart@24000 {
  324. compatible = "ti,am3352-uart", "ti,omap3-uart";
  325. ti,hwmods = "uart3";
  326. reg = <0x24000 0x2000>;
  327. clock-frequency = <48000000>;
  328. interrupts = <74>;
  329. dmas = <&edma 30 0 &edma 31 0>;
  330. dma-names = "tx", "rx";
  331. };
  332. timer2_target: target-module@40000 {
  333. compatible = "ti,sysc-omap4-timer", "ti,sysc";
  334. reg = <0x40000 0x4>,
  335. <0x40010 0x4>;
  336. reg-names = "rev", "sysc";
  337. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  338. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  339. <SYSC_IDLE_NO>,
  340. <SYSC_IDLE_SMART>,
  341. <SYSC_IDLE_SMART_WKUP>;
  342. clocks = <&timer2_fck>;
  343. clock-names = "fck";
  344. #address-cells = <1>;
  345. #size-cells = <1>;
  346. ranges = <0x0 0x40000 0x1000>;
  347. timer2: timer@0 {
  348. compatible = "ti,dm814-timer";
  349. reg = <0 0x1000>;
  350. interrupts = <68>;
  351. clocks = <&timer2_fck>;
  352. clock-names = "fck";
  353. };
  354. };
  355. timer3: timer@42000 {
  356. compatible = "ti,dm814-timer";
  357. reg = <0x42000 0x2000>;
  358. interrupts = <69>;
  359. ti,hwmods = "timer3";
  360. };
  361. mmc1: mmc@60000 {
  362. compatible = "ti,omap4-hsmmc";
  363. ti,hwmods = "mmc1";
  364. dmas = <&edma 24 0
  365. &edma 25 0>;
  366. dma-names = "tx", "rx";
  367. interrupts = <64>;
  368. interrupt-parent = <&intc>;
  369. reg = <0x60000 0x1000>;
  370. };
  371. rtc: rtc@c0000 {
  372. compatible = "ti,am3352-rtc", "ti,da830-rtc";
  373. reg = <0xc0000 0x1000>;
  374. interrupts = <75 76>;
  375. ti,hwmods = "rtc";
  376. };
  377. mmc2: mmc@1d8000 {
  378. compatible = "ti,omap4-hsmmc";
  379. ti,hwmods = "mmc2";
  380. dmas = <&edma 2 0
  381. &edma 3 0>;
  382. dma-names = "tx", "rx";
  383. interrupts = <28>;
  384. interrupt-parent = <&intc>;
  385. reg = <0x1d8000 0x1000>;
  386. };
  387. control: control@140000 {
  388. compatible = "ti,dm814-scm", "simple-bus";
  389. reg = <0x140000 0x20000>;
  390. #address-cells = <1>;
  391. #size-cells = <1>;
  392. ranges = <0 0x140000 0x20000>;
  393. scm_conf: scm_conf@0 {
  394. compatible = "syscon", "simple-bus";
  395. reg = <0x0 0x800>;
  396. #address-cells = <1>;
  397. #size-cells = <1>;
  398. ranges = <0 0 0x800>;
  399. phy_gmii_sel: phy-gmii-sel {
  400. compatible = "ti,dm814-phy-gmii-sel";
  401. reg = <0x650 0x4>;
  402. #phy-cells = <1>;
  403. };
  404. scm_clocks: clocks {
  405. #address-cells = <1>;
  406. #size-cells = <0>;
  407. };
  408. scm_clockdomains: clockdomains {
  409. };
  410. };
  411. usb_ctrl_mod: control@620 {
  412. compatible = "ti,am335x-usb-ctrl-module";
  413. reg = <0x620 0x10
  414. 0x648 0x4>;
  415. reg-names = "phy_ctrl", "wakeup";
  416. };
  417. edma_xbar: dma-router@f90 {
  418. compatible = "ti,am335x-edma-crossbar";
  419. reg = <0xf90 0x40>;
  420. #dma-cells = <3>;
  421. dma-requests = <32>;
  422. dma-masters = <&edma>;
  423. };
  424. /*
  425. * Note that silicon revision 2.1 and older
  426. * require input enabled (bit 18 set) for all
  427. * 3.3V I/Os to avoid cumulative hardware damage.
  428. * For more info, see errata advisory 2.1.87.
  429. * We leave bit 18 out of function-mask and rely
  430. * on the bootloader for it.
  431. */
  432. pincntl: pinmux@800 {
  433. compatible = "pinctrl-single";
  434. reg = <0x800 0x438>;
  435. #address-cells = <1>;
  436. #size-cells = <0>;
  437. #pinctrl-cells = <1>;
  438. pinctrl-single,register-width = <32>;
  439. pinctrl-single,function-mask = <0x307ff>;
  440. };
  441. usb1_phy: usb-phy@1b00 {
  442. compatible = "ti,am335x-usb-phy";
  443. reg = <0x1b00 0x100>;
  444. reg-names = "phy";
  445. ti,ctrl_mod = <&usb_ctrl_mod>;
  446. #phy-cells = <0>;
  447. };
  448. };
  449. prcm: prcm@180000 {
  450. compatible = "ti,dm814-prcm", "simple-bus";
  451. reg = <0x180000 0x2000>;
  452. #address-cells = <1>;
  453. #size-cells = <1>;
  454. ranges = <0 0x180000 0x2000>;
  455. prcm_clocks: clocks {
  456. #address-cells = <1>;
  457. #size-cells = <0>;
  458. };
  459. prcm_clockdomains: clockdomains {
  460. };
  461. };
  462. /* See TRM PLL_SUBSYS_BASE and "PLLSS Registers" */
  463. pllss: pllss@1c5000 {
  464. compatible = "ti,dm814-pllss", "simple-bus";
  465. reg = <0x1c5000 0x1000>;
  466. #address-cells = <1>;
  467. #size-cells = <1>;
  468. ranges = <0 0x1c5000 0x1000>;
  469. pllss_clocks: clocks {
  470. #address-cells = <1>;
  471. #size-cells = <0>;
  472. };
  473. pllss_clockdomains: clockdomains {
  474. };
  475. };
  476. wdt1: wdt@1c7000 {
  477. compatible = "ti,omap3-wdt";
  478. ti,hwmods = "wd_timer";
  479. reg = <0x1c7000 0x1000>;
  480. interrupts = <91>;
  481. };
  482. };
  483. intc: interrupt-controller@48200000 {
  484. compatible = "ti,dm814-intc";
  485. interrupt-controller;
  486. #interrupt-cells = <1>;
  487. reg = <0x48200000 0x1000>;
  488. };
  489. /* Board must configure evtmux with edma_xbar for EDMA */
  490. mmc3: mmc@47810000 {
  491. compatible = "ti,omap4-hsmmc";
  492. ti,hwmods = "mmc3";
  493. interrupts = <29>;
  494. interrupt-parent = <&intc>;
  495. reg = <0x47810000 0x1000>;
  496. };
  497. target-module@49000000 {
  498. compatible = "ti,sysc-omap4", "ti,sysc";
  499. reg = <0x49000000 0x4>;
  500. reg-names = "rev";
  501. clocks = <&alwon_clkctrl DM814_TPCC_CLKCTRL 0>;
  502. clock-names = "fck";
  503. #address-cells = <1>;
  504. #size-cells = <1>;
  505. ranges = <0x0 0x49000000 0x10000>;
  506. edma: dma@0 {
  507. compatible = "ti,edma3-tpcc";
  508. reg = <0 0x10000>;
  509. reg-names = "edma3_cc";
  510. interrupts = <12 13 14>;
  511. interrupt-names = "edma3_ccint", "edma3_mperr",
  512. "edma3_ccerrint";
  513. dma-requests = <64>;
  514. #dma-cells = <2>;
  515. ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
  516. <&edma_tptc2 3>, <&edma_tptc3 0>;
  517. ti,edma-memcpy-channels = <20 21>;
  518. };
  519. };
  520. target-module@49800000 {
  521. compatible = "ti,sysc-omap4", "ti,sysc";
  522. reg = <0x49800000 0x4>,
  523. <0x49800010 0x4>;
  524. reg-names = "rev", "sysc";
  525. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  526. ti,sysc-midle = <SYSC_IDLE_FORCE>;
  527. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  528. <SYSC_IDLE_SMART>;
  529. clocks = <&alwon_clkctrl DM814_TPTC0_CLKCTRL 0>;
  530. clock-names = "fck";
  531. #address-cells = <1>;
  532. #size-cells = <1>;
  533. ranges = <0x0 0x49800000 0x100000>;
  534. edma_tptc0: dma@0 {
  535. compatible = "ti,edma3-tptc";
  536. reg = <0 0x100000>;
  537. interrupts = <112>;
  538. interrupt-names = "edma3_tcerrint";
  539. };
  540. };
  541. target-module@49900000 {
  542. compatible = "ti,sysc-omap4", "ti,sysc";
  543. reg = <0x49900000 0x4>,
  544. <0x49900010 0x4>;
  545. reg-names = "rev", "sysc";
  546. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  547. ti,sysc-midle = <SYSC_IDLE_FORCE>;
  548. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  549. <SYSC_IDLE_SMART>;
  550. clocks = <&alwon_clkctrl DM814_TPTC1_CLKCTRL 0>;
  551. clock-names = "fck";
  552. #address-cells = <1>;
  553. #size-cells = <1>;
  554. ranges = <0x0 0x49900000 0x100000>;
  555. edma_tptc1: dma@0 {
  556. compatible = "ti,edma3-tptc";
  557. reg = <0 0x100000>;
  558. interrupts = <113>;
  559. interrupt-names = "edma3_tcerrint";
  560. };
  561. };
  562. target-module@49a00000 {
  563. compatible = "ti,sysc-omap4", "ti,sysc";
  564. reg = <0x49a00000 0x4>,
  565. <0x49a00010 0x4>;
  566. reg-names = "rev", "sysc";
  567. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  568. ti,sysc-midle = <SYSC_IDLE_FORCE>;
  569. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  570. <SYSC_IDLE_SMART>;
  571. clocks = <&alwon_clkctrl DM814_TPTC2_CLKCTRL 0>;
  572. clock-names = "fck";
  573. #address-cells = <1>;
  574. #size-cells = <1>;
  575. ranges = <0x0 0x49a00000 0x100000>;
  576. edma_tptc2: dma@0 {
  577. compatible = "ti,edma3-tptc";
  578. reg = <0 0x100000>;
  579. interrupts = <114>;
  580. interrupt-names = "edma3_tcerrint";
  581. };
  582. };
  583. target-module@49b00000 {
  584. compatible = "ti,sysc-omap4", "ti,sysc";
  585. reg = <0x49b00000 0x4>,
  586. <0x49b00010 0x4>;
  587. reg-names = "rev", "sysc";
  588. ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
  589. ti,sysc-midle = <SYSC_IDLE_FORCE>;
  590. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  591. <SYSC_IDLE_SMART>;
  592. clocks = <&alwon_clkctrl DM814_TPTC3_CLKCTRL 0>;
  593. clock-names = "fck";
  594. #address-cells = <1>;
  595. #size-cells = <1>;
  596. ranges = <0x0 0x49b00000 0x100000>;
  597. edma_tptc3: dma@0 {
  598. compatible = "ti,edma3-tptc";
  599. reg = <0 0x100000>;
  600. interrupts = <115>;
  601. interrupt-names = "edma3_tcerrint";
  602. };
  603. };
  604. /* See TRM "Table 1-318. L4HS Instance Summary" */
  605. l4hs: l4hs@4a000000 {
  606. compatible = "ti,dm814-l4hs", "simple-bus";
  607. #address-cells = <1>;
  608. #size-cells = <1>;
  609. ranges = <0 0x4a000000 0x1b4040>;
  610. target-module@100000 {
  611. compatible = "ti,sysc-omap4-simple", "ti,sysc";
  612. reg = <0x100900 0x4>,
  613. <0x100908 0x4>,
  614. <0x100904 0x4>;
  615. reg-names = "rev", "sysc", "syss";
  616. ti,sysc-mask = <0>;
  617. ti,sysc-midle = <SYSC_IDLE_FORCE>,
  618. <SYSC_IDLE_NO>;
  619. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  620. <SYSC_IDLE_NO>;
  621. ti,syss-mask = <1>;
  622. clocks = <&alwon_ethernet_clkctrl DM814_ETHERNET_CPGMAC0_CLKCTRL 0>;
  623. clock-names = "fck";
  624. #address-cells = <1>;
  625. #size-cells = <1>;
  626. ranges = <0 0x100000 0x8000>;
  627. mac: ethernet@0 {
  628. compatible = "ti,cpsw";
  629. clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
  630. clock-names = "fck", "cpts";
  631. cpdma_channels = <8>;
  632. ale_entries = <1024>;
  633. bd_ram_size = <0x2000>;
  634. mac_control = <0x20>;
  635. slaves = <2>;
  636. active_slave = <0>;
  637. cpts_clock_mult = <0x80000000>;
  638. cpts_clock_shift = <29>;
  639. reg = <0 0x800>,
  640. <0x900 0x100>;
  641. #address-cells = <1>;
  642. #size-cells = <1>;
  643. /*
  644. * c0_rx_thresh_pend
  645. * c0_rx_pend
  646. * c0_tx_pend
  647. * c0_misc_pend
  648. */
  649. interrupts = <40 41 42 43>;
  650. ranges = <0 0 0x8000>;
  651. syscon = <&scm_conf>;
  652. davinci_mdio: mdio@800 {
  653. compatible = "ti,cpsw-mdio", "ti,davinci_mdio";
  654. clocks = <&cpsw_125mhz_gclk>;
  655. clock-names = "fck";
  656. #address-cells = <1>;
  657. #size-cells = <0>;
  658. bus_freq = <1000000>;
  659. reg = <0x800 0x100>;
  660. };
  661. cpsw_emac0: slave@200 {
  662. /* Filled in by U-Boot */
  663. mac-address = [ 00 00 00 00 00 00 ];
  664. phys = <&phy_gmii_sel 1>;
  665. };
  666. cpsw_emac1: slave@300 {
  667. /* Filled in by U-Boot */
  668. mac-address = [ 00 00 00 00 00 00 ];
  669. phys = <&phy_gmii_sel 2>;
  670. };
  671. };
  672. };
  673. };
  674. gpmc: gpmc@50000000 {
  675. compatible = "ti,am3352-gpmc";
  676. ti,hwmods = "gpmc";
  677. ti,no-idle-on-init;
  678. reg = <0x50000000 0x2000>;
  679. interrupts = <100>;
  680. gpmc,num-cs = <7>;
  681. gpmc,num-waitpins = <2>;
  682. #address-cells = <2>;
  683. #size-cells = <1>;
  684. interrupt-controller;
  685. #interrupt-cells = <2>;
  686. gpio-controller;
  687. #gpio-cells = <2>;
  688. };
  689. };
  690. };
  691. #include "dm814x-clocks.dtsi"
  692. /* Preferred always-on timer for clocksource */
  693. &timer1_target {
  694. ti,no-reset-on-init;
  695. ti,no-idle;
  696. timer@0 {
  697. assigned-clocks = <&timer1_fck>;
  698. assigned-clock-parents = <&devosc_ck>;
  699. };
  700. };
  701. /* Preferred timer for clockevent */
  702. &timer2_target {
  703. ti,no-reset-on-init;
  704. ti,no-idle;
  705. timer@0 {
  706. assigned-clocks = <&timer2_fck>;
  707. assigned-clock-parents = <&devosc_ck>;
  708. };
  709. };