socfpga.dtsi 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755
  1. /*
  2. * Copyright (C) 2012 Altera <www.altera.com>
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. #include "skeleton.dtsi"
  18. #include <dt-bindings/reset/altr,rst-mgr.h>
  19. / {
  20. #address-cells = <1>;
  21. #size-cells = <1>;
  22. aliases {
  23. ethernet0 = &gmac0;
  24. ethernet1 = &gmac1;
  25. serial0 = &uart0;
  26. serial1 = &uart1;
  27. timer0 = &timer0;
  28. timer1 = &timer1;
  29. timer2 = &timer2;
  30. timer3 = &timer3;
  31. };
  32. cpus {
  33. #address-cells = <1>;
  34. #size-cells = <0>;
  35. cpu@0 {
  36. compatible = "arm,cortex-a9";
  37. device_type = "cpu";
  38. reg = <0>;
  39. next-level-cache = <&L2>;
  40. };
  41. cpu@1 {
  42. compatible = "arm,cortex-a9";
  43. device_type = "cpu";
  44. reg = <1>;
  45. next-level-cache = <&L2>;
  46. };
  47. };
  48. intc: intc@fffed000 {
  49. compatible = "arm,cortex-a9-gic";
  50. #interrupt-cells = <3>;
  51. interrupt-controller;
  52. reg = <0xfffed000 0x1000>,
  53. <0xfffec100 0x100>;
  54. };
  55. soc {
  56. #address-cells = <1>;
  57. #size-cells = <1>;
  58. compatible = "simple-bus";
  59. device_type = "soc";
  60. interrupt-parent = <&intc>;
  61. ranges;
  62. amba {
  63. compatible = "arm,amba-bus";
  64. #address-cells = <1>;
  65. #size-cells = <1>;
  66. ranges;
  67. pdma: pdma@ffe01000 {
  68. compatible = "arm,pl330", "arm,primecell";
  69. reg = <0xffe01000 0x1000>;
  70. interrupts = <0 104 4>,
  71. <0 105 4>,
  72. <0 106 4>,
  73. <0 107 4>,
  74. <0 108 4>,
  75. <0 109 4>,
  76. <0 110 4>,
  77. <0 111 4>;
  78. #dma-cells = <1>;
  79. #dma-channels = <8>;
  80. #dma-requests = <32>;
  81. clocks = <&l4_main_clk>;
  82. clock-names = "apb_pclk";
  83. };
  84. };
  85. can0: can@ffc00000 {
  86. compatible = "bosch,d_can";
  87. reg = <0xffc00000 0x1000>;
  88. interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>;
  89. clocks = <&can0_clk>;
  90. status = "disabled";
  91. };
  92. can1: can@ffc01000 {
  93. compatible = "bosch,d_can";
  94. reg = <0xffc01000 0x1000>;
  95. interrupts = <0 135 4>, <0 136 4>, <0 137 4>, <0 138 4>;
  96. clocks = <&can1_clk>;
  97. status = "disabled";
  98. };
  99. clkmgr@ffd04000 {
  100. compatible = "altr,clk-mgr";
  101. reg = <0xffd04000 0x1000>;
  102. clocks {
  103. #address-cells = <1>;
  104. #size-cells = <0>;
  105. osc1: osc1 {
  106. #clock-cells = <0>;
  107. compatible = "fixed-clock";
  108. };
  109. osc2: osc2 {
  110. #clock-cells = <0>;
  111. compatible = "fixed-clock";
  112. };
  113. f2s_periph_ref_clk: f2s_periph_ref_clk {
  114. #clock-cells = <0>;
  115. compatible = "fixed-clock";
  116. };
  117. f2s_sdram_ref_clk: f2s_sdram_ref_clk {
  118. #clock-cells = <0>;
  119. compatible = "fixed-clock";
  120. };
  121. main_pll: main_pll {
  122. #address-cells = <1>;
  123. #size-cells = <0>;
  124. #clock-cells = <0>;
  125. compatible = "altr,socfpga-pll-clock";
  126. clocks = <&osc1>;
  127. reg = <0x40>;
  128. mpuclk: mpuclk {
  129. #clock-cells = <0>;
  130. compatible = "altr,socfpga-perip-clk";
  131. clocks = <&main_pll>;
  132. div-reg = <0xe0 0 9>;
  133. reg = <0x48>;
  134. };
  135. mainclk: mainclk {
  136. #clock-cells = <0>;
  137. compatible = "altr,socfpga-perip-clk";
  138. clocks = <&main_pll>;
  139. div-reg = <0xe4 0 9>;
  140. reg = <0x4C>;
  141. };
  142. dbg_base_clk: dbg_base_clk {
  143. #clock-cells = <0>;
  144. compatible = "altr,socfpga-perip-clk";
  145. clocks = <&main_pll>;
  146. div-reg = <0xe8 0 9>;
  147. reg = <0x50>;
  148. };
  149. main_qspi_clk: main_qspi_clk {
  150. #clock-cells = <0>;
  151. compatible = "altr,socfpga-perip-clk";
  152. clocks = <&main_pll>;
  153. reg = <0x54>;
  154. };
  155. main_nand_sdmmc_clk: main_nand_sdmmc_clk {
  156. #clock-cells = <0>;
  157. compatible = "altr,socfpga-perip-clk";
  158. clocks = <&main_pll>;
  159. reg = <0x58>;
  160. };
  161. cfg_h2f_usr0_clk: cfg_h2f_usr0_clk {
  162. #clock-cells = <0>;
  163. compatible = "altr,socfpga-perip-clk";
  164. clocks = <&main_pll>;
  165. reg = <0x5C>;
  166. };
  167. };
  168. periph_pll: periph_pll {
  169. #address-cells = <1>;
  170. #size-cells = <0>;
  171. #clock-cells = <0>;
  172. compatible = "altr,socfpga-pll-clock";
  173. clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>;
  174. reg = <0x80>;
  175. emac0_clk: emac0_clk {
  176. #clock-cells = <0>;
  177. compatible = "altr,socfpga-perip-clk";
  178. clocks = <&periph_pll>;
  179. reg = <0x88>;
  180. };
  181. emac1_clk: emac1_clk {
  182. #clock-cells = <0>;
  183. compatible = "altr,socfpga-perip-clk";
  184. clocks = <&periph_pll>;
  185. reg = <0x8C>;
  186. };
  187. per_qspi_clk: per_qsi_clk {
  188. #clock-cells = <0>;
  189. compatible = "altr,socfpga-perip-clk";
  190. clocks = <&periph_pll>;
  191. reg = <0x90>;
  192. };
  193. per_nand_mmc_clk: per_nand_mmc_clk {
  194. #clock-cells = <0>;
  195. compatible = "altr,socfpga-perip-clk";
  196. clocks = <&periph_pll>;
  197. reg = <0x94>;
  198. };
  199. per_base_clk: per_base_clk {
  200. #clock-cells = <0>;
  201. compatible = "altr,socfpga-perip-clk";
  202. clocks = <&periph_pll>;
  203. reg = <0x98>;
  204. };
  205. h2f_usr1_clk: h2f_usr1_clk {
  206. #clock-cells = <0>;
  207. compatible = "altr,socfpga-perip-clk";
  208. clocks = <&periph_pll>;
  209. reg = <0x9C>;
  210. };
  211. };
  212. sdram_pll: sdram_pll {
  213. #address-cells = <1>;
  214. #size-cells = <0>;
  215. #clock-cells = <0>;
  216. compatible = "altr,socfpga-pll-clock";
  217. clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>;
  218. reg = <0xC0>;
  219. ddr_dqs_clk: ddr_dqs_clk {
  220. #clock-cells = <0>;
  221. compatible = "altr,socfpga-perip-clk";
  222. clocks = <&sdram_pll>;
  223. reg = <0xC8>;
  224. };
  225. ddr_2x_dqs_clk: ddr_2x_dqs_clk {
  226. #clock-cells = <0>;
  227. compatible = "altr,socfpga-perip-clk";
  228. clocks = <&sdram_pll>;
  229. reg = <0xCC>;
  230. };
  231. ddr_dq_clk: ddr_dq_clk {
  232. #clock-cells = <0>;
  233. compatible = "altr,socfpga-perip-clk";
  234. clocks = <&sdram_pll>;
  235. reg = <0xD0>;
  236. };
  237. h2f_usr2_clk: h2f_usr2_clk {
  238. #clock-cells = <0>;
  239. compatible = "altr,socfpga-perip-clk";
  240. clocks = <&sdram_pll>;
  241. reg = <0xD4>;
  242. };
  243. };
  244. mpu_periph_clk: mpu_periph_clk {
  245. #clock-cells = <0>;
  246. compatible = "altr,socfpga-perip-clk";
  247. clocks = <&mpuclk>;
  248. fixed-divider = <4>;
  249. };
  250. mpu_l2_ram_clk: mpu_l2_ram_clk {
  251. #clock-cells = <0>;
  252. compatible = "altr,socfpga-perip-clk";
  253. clocks = <&mpuclk>;
  254. fixed-divider = <2>;
  255. };
  256. l4_main_clk: l4_main_clk {
  257. #clock-cells = <0>;
  258. compatible = "altr,socfpga-gate-clk";
  259. clocks = <&mainclk>;
  260. clk-gate = <0x60 0>;
  261. };
  262. l3_main_clk: l3_main_clk {
  263. #clock-cells = <0>;
  264. compatible = "altr,socfpga-perip-clk";
  265. clocks = <&mainclk>;
  266. fixed-divider = <1>;
  267. };
  268. l3_mp_clk: l3_mp_clk {
  269. #clock-cells = <0>;
  270. compatible = "altr,socfpga-gate-clk";
  271. clocks = <&mainclk>;
  272. div-reg = <0x64 0 2>;
  273. clk-gate = <0x60 1>;
  274. };
  275. l3_sp_clk: l3_sp_clk {
  276. #clock-cells = <0>;
  277. compatible = "altr,socfpga-gate-clk";
  278. clocks = <&mainclk>;
  279. div-reg = <0x64 2 2>;
  280. };
  281. l4_mp_clk: l4_mp_clk {
  282. #clock-cells = <0>;
  283. compatible = "altr,socfpga-gate-clk";
  284. clocks = <&mainclk>, <&per_base_clk>;
  285. div-reg = <0x64 4 3>;
  286. clk-gate = <0x60 2>;
  287. };
  288. l4_sp_clk: l4_sp_clk {
  289. #clock-cells = <0>;
  290. compatible = "altr,socfpga-gate-clk";
  291. clocks = <&mainclk>, <&per_base_clk>;
  292. div-reg = <0x64 7 3>;
  293. clk-gate = <0x60 3>;
  294. };
  295. dbg_at_clk: dbg_at_clk {
  296. #clock-cells = <0>;
  297. compatible = "altr,socfpga-gate-clk";
  298. clocks = <&dbg_base_clk>;
  299. div-reg = <0x68 0 2>;
  300. clk-gate = <0x60 4>;
  301. };
  302. dbg_clk: dbg_clk {
  303. #clock-cells = <0>;
  304. compatible = "altr,socfpga-gate-clk";
  305. clocks = <&dbg_base_clk>;
  306. div-reg = <0x68 2 2>;
  307. clk-gate = <0x60 5>;
  308. };
  309. dbg_trace_clk: dbg_trace_clk {
  310. #clock-cells = <0>;
  311. compatible = "altr,socfpga-gate-clk";
  312. clocks = <&dbg_base_clk>;
  313. div-reg = <0x6C 0 3>;
  314. clk-gate = <0x60 6>;
  315. };
  316. dbg_timer_clk: dbg_timer_clk {
  317. #clock-cells = <0>;
  318. compatible = "altr,socfpga-gate-clk";
  319. clocks = <&dbg_base_clk>;
  320. clk-gate = <0x60 7>;
  321. };
  322. cfg_clk: cfg_clk {
  323. #clock-cells = <0>;
  324. compatible = "altr,socfpga-gate-clk";
  325. clocks = <&cfg_h2f_usr0_clk>;
  326. clk-gate = <0x60 8>;
  327. };
  328. h2f_user0_clk: h2f_user0_clk {
  329. #clock-cells = <0>;
  330. compatible = "altr,socfpga-gate-clk";
  331. clocks = <&cfg_h2f_usr0_clk>;
  332. clk-gate = <0x60 9>;
  333. };
  334. emac_0_clk: emac_0_clk {
  335. #clock-cells = <0>;
  336. compatible = "altr,socfpga-gate-clk";
  337. clocks = <&emac0_clk>;
  338. clk-gate = <0xa0 0>;
  339. };
  340. emac_1_clk: emac_1_clk {
  341. #clock-cells = <0>;
  342. compatible = "altr,socfpga-gate-clk";
  343. clocks = <&emac1_clk>;
  344. clk-gate = <0xa0 1>;
  345. };
  346. usb_mp_clk: usb_mp_clk {
  347. #clock-cells = <0>;
  348. compatible = "altr,socfpga-gate-clk";
  349. clocks = <&per_base_clk>;
  350. clk-gate = <0xa0 2>;
  351. div-reg = <0xa4 0 3>;
  352. };
  353. spi_m_clk: spi_m_clk {
  354. #clock-cells = <0>;
  355. compatible = "altr,socfpga-gate-clk";
  356. clocks = <&per_base_clk>;
  357. clk-gate = <0xa0 3>;
  358. div-reg = <0xa4 3 3>;
  359. };
  360. can0_clk: can0_clk {
  361. #clock-cells = <0>;
  362. compatible = "altr,socfpga-gate-clk";
  363. clocks = <&per_base_clk>;
  364. clk-gate = <0xa0 4>;
  365. div-reg = <0xa4 6 3>;
  366. };
  367. can1_clk: can1_clk {
  368. #clock-cells = <0>;
  369. compatible = "altr,socfpga-gate-clk";
  370. clocks = <&per_base_clk>;
  371. clk-gate = <0xa0 5>;
  372. div-reg = <0xa4 9 3>;
  373. };
  374. gpio_db_clk: gpio_db_clk {
  375. #clock-cells = <0>;
  376. compatible = "altr,socfpga-gate-clk";
  377. clocks = <&per_base_clk>;
  378. clk-gate = <0xa0 6>;
  379. div-reg = <0xa8 0 24>;
  380. };
  381. h2f_user1_clk: h2f_user1_clk {
  382. #clock-cells = <0>;
  383. compatible = "altr,socfpga-gate-clk";
  384. clocks = <&h2f_usr1_clk>;
  385. clk-gate = <0xa0 7>;
  386. };
  387. sdmmc_clk: sdmmc_clk {
  388. #clock-cells = <0>;
  389. compatible = "altr,socfpga-gate-clk";
  390. clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
  391. clk-gate = <0xa0 8>;
  392. clk-phase = <0 135>;
  393. };
  394. nand_x_clk: nand_x_clk {
  395. #clock-cells = <0>;
  396. compatible = "altr,socfpga-gate-clk";
  397. clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
  398. clk-gate = <0xa0 9>;
  399. };
  400. nand_clk: nand_clk {
  401. #clock-cells = <0>;
  402. compatible = "altr,socfpga-gate-clk";
  403. clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
  404. clk-gate = <0xa0 10>;
  405. fixed-divider = <4>;
  406. };
  407. qspi_clk: qspi_clk {
  408. #clock-cells = <0>;
  409. compatible = "altr,socfpga-gate-clk";
  410. clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>;
  411. clk-gate = <0xa0 11>;
  412. };
  413. };
  414. };
  415. gmac0: ethernet@ff700000 {
  416. compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
  417. altr,sysmgr-syscon = <&sysmgr 0x60 0>;
  418. reg = <0xff700000 0x2000>;
  419. interrupts = <0 115 4>;
  420. interrupt-names = "macirq";
  421. mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
  422. clocks = <&emac0_clk>;
  423. clock-names = "stmmaceth";
  424. resets = <&rst EMAC0_RESET>;
  425. reset-names = "stmmaceth";
  426. snps,multicast-filter-bins = <256>;
  427. snps,perfect-filter-entries = <128>;
  428. status = "disabled";
  429. };
  430. gmac1: ethernet@ff702000 {
  431. compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
  432. altr,sysmgr-syscon = <&sysmgr 0x60 2>;
  433. reg = <0xff702000 0x2000>;
  434. interrupts = <0 120 4>;
  435. interrupt-names = "macirq";
  436. mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
  437. clocks = <&emac1_clk>;
  438. clock-names = "stmmaceth";
  439. resets = <&rst EMAC1_RESET>;
  440. reset-names = "stmmaceth";
  441. snps,multicast-filter-bins = <256>;
  442. snps,perfect-filter-entries = <128>;
  443. status = "disabled";
  444. };
  445. i2c0: i2c@ffc04000 {
  446. #address-cells = <1>;
  447. #size-cells = <0>;
  448. compatible = "snps,designware-i2c";
  449. reg = <0xffc04000 0x1000>;
  450. clocks = <&l4_sp_clk>;
  451. interrupts = <0 158 0x4>;
  452. status = "disabled";
  453. };
  454. i2c1: i2c@ffc05000 {
  455. #address-cells = <1>;
  456. #size-cells = <0>;
  457. compatible = "snps,designware-i2c";
  458. reg = <0xffc05000 0x1000>;
  459. clocks = <&l4_sp_clk>;
  460. interrupts = <0 159 0x4>;
  461. status = "disabled";
  462. };
  463. i2c2: i2c@ffc06000 {
  464. #address-cells = <1>;
  465. #size-cells = <0>;
  466. compatible = "snps,designware-i2c";
  467. reg = <0xffc06000 0x1000>;
  468. clocks = <&l4_sp_clk>;
  469. interrupts = <0 160 0x4>;
  470. status = "disabled";
  471. };
  472. i2c3: i2c@ffc07000 {
  473. #address-cells = <1>;
  474. #size-cells = <0>;
  475. compatible = "snps,designware-i2c";
  476. reg = <0xffc07000 0x1000>;
  477. clocks = <&l4_sp_clk>;
  478. interrupts = <0 161 0x4>;
  479. status = "disabled";
  480. };
  481. gpio0: gpio@ff708000 {
  482. #address-cells = <1>;
  483. #size-cells = <0>;
  484. compatible = "snps,dw-apb-gpio";
  485. reg = <0xff708000 0x1000>;
  486. clocks = <&per_base_clk>;
  487. status = "disabled";
  488. porta: gpio-controller@0 {
  489. compatible = "snps,dw-apb-gpio-port";
  490. gpio-controller;
  491. #gpio-cells = <2>;
  492. snps,nr-gpios = <29>;
  493. reg = <0>;
  494. interrupt-controller;
  495. #interrupt-cells = <2>;
  496. interrupts = <0 164 4>;
  497. };
  498. };
  499. gpio1: gpio@ff709000 {
  500. #address-cells = <1>;
  501. #size-cells = <0>;
  502. compatible = "snps,dw-apb-gpio";
  503. reg = <0xff709000 0x1000>;
  504. clocks = <&per_base_clk>;
  505. status = "disabled";
  506. portb: gpio-controller@0 {
  507. compatible = "snps,dw-apb-gpio-port";
  508. gpio-controller;
  509. #gpio-cells = <2>;
  510. snps,nr-gpios = <29>;
  511. reg = <0>;
  512. interrupt-controller;
  513. #interrupt-cells = <2>;
  514. interrupts = <0 165 4>;
  515. };
  516. };
  517. gpio2: gpio@ff70a000 {
  518. #address-cells = <1>;
  519. #size-cells = <0>;
  520. compatible = "snps,dw-apb-gpio";
  521. reg = <0xff70a000 0x1000>;
  522. clocks = <&per_base_clk>;
  523. status = "disabled";
  524. portc: gpio-controller@0 {
  525. compatible = "snps,dw-apb-gpio-port";
  526. gpio-controller;
  527. #gpio-cells = <2>;
  528. snps,nr-gpios = <27>;
  529. reg = <0>;
  530. interrupt-controller;
  531. #interrupt-cells = <2>;
  532. interrupts = <0 166 4>;
  533. };
  534. };
  535. sdr: sdr@ffc25000 {
  536. compatible = "syscon";
  537. reg = <0xffc25000 0x1000>;
  538. };
  539. sdramedac {
  540. compatible = "altr,sdram-edac";
  541. altr,sdr-syscon = <&sdr>;
  542. interrupts = <0 39 4>;
  543. };
  544. L2: l2-cache@fffef000 {
  545. compatible = "arm,pl310-cache";
  546. reg = <0xfffef000 0x1000>;
  547. interrupts = <0 38 0x04>;
  548. cache-unified;
  549. cache-level = <2>;
  550. arm,tag-latency = <1 1 1>;
  551. arm,data-latency = <2 1 1>;
  552. };
  553. mmc: dwmmc0@ff704000 {
  554. compatible = "altr,socfpga-dw-mshc";
  555. reg = <0xff704000 0x1000>;
  556. interrupts = <0 139 4>;
  557. fifo-depth = <0x400>;
  558. #address-cells = <1>;
  559. #size-cells = <0>;
  560. clocks = <&l4_mp_clk>, <&sdmmc_clk>;
  561. clock-names = "biu", "ciu";
  562. };
  563. /* Local timer */
  564. timer@fffec600 {
  565. compatible = "arm,cortex-a9-twd-timer";
  566. reg = <0xfffec600 0x100>;
  567. interrupts = <1 13 0xf04>;
  568. clocks = <&mpu_periph_clk>;
  569. };
  570. timer0: timer0@ffc08000 {
  571. compatible = "snps,dw-apb-timer";
  572. interrupts = <0 167 4>;
  573. reg = <0xffc08000 0x1000>;
  574. clocks = <&l4_sp_clk>;
  575. clock-names = "timer";
  576. };
  577. timer1: timer1@ffc09000 {
  578. compatible = "snps,dw-apb-timer";
  579. interrupts = <0 168 4>;
  580. reg = <0xffc09000 0x1000>;
  581. clocks = <&l4_sp_clk>;
  582. clock-names = "timer";
  583. };
  584. timer2: timer2@ffd00000 {
  585. compatible = "snps,dw-apb-timer";
  586. interrupts = <0 169 4>;
  587. reg = <0xffd00000 0x1000>;
  588. clocks = <&osc1>;
  589. clock-names = "timer";
  590. };
  591. timer3: timer3@ffd01000 {
  592. compatible = "snps,dw-apb-timer";
  593. interrupts = <0 170 4>;
  594. reg = <0xffd01000 0x1000>;
  595. clocks = <&osc1>;
  596. clock-names = "timer";
  597. };
  598. uart0: serial0@ffc02000 {
  599. compatible = "snps,dw-apb-uart";
  600. reg = <0xffc02000 0x1000>;
  601. interrupts = <0 162 4>;
  602. reg-shift = <2>;
  603. reg-io-width = <4>;
  604. clocks = <&l4_sp_clk>;
  605. };
  606. uart1: serial1@ffc03000 {
  607. compatible = "snps,dw-apb-uart";
  608. reg = <0xffc03000 0x1000>;
  609. interrupts = <0 163 4>;
  610. reg-shift = <2>;
  611. reg-io-width = <4>;
  612. clocks = <&l4_sp_clk>;
  613. };
  614. rst: rstmgr@ffd05000 {
  615. #reset-cells = <1>;
  616. compatible = "altr,rst-mgr";
  617. reg = <0xffd05000 0x1000>;
  618. };
  619. usbphy0: usbphy@0 {
  620. #phy-cells = <0>;
  621. compatible = "usb-nop-xceiv";
  622. status = "okay";
  623. };
  624. usb0: usb@ffb00000 {
  625. compatible = "snps,dwc2";
  626. reg = <0xffb00000 0xffff>;
  627. interrupts = <0 125 4>;
  628. clocks = <&usb_mp_clk>;
  629. clock-names = "otg";
  630. phys = <&usbphy0>;
  631. phy-names = "usb2-phy";
  632. status = "disabled";
  633. };
  634. usb1: usb@ffb40000 {
  635. compatible = "snps,dwc2";
  636. reg = <0xffb40000 0xffff>;
  637. interrupts = <0 128 4>;
  638. clocks = <&usb_mp_clk>;
  639. clock-names = "otg";
  640. phys = <&usbphy0>;
  641. phy-names = "usb2-phy";
  642. status = "disabled";
  643. };
  644. watchdog0: watchdog@ffd02000 {
  645. compatible = "snps,dw-wdt";
  646. reg = <0xffd02000 0x1000>;
  647. interrupts = <0 171 4>;
  648. clocks = <&osc1>;
  649. status = "disabled";
  650. };
  651. watchdog1: watchdog@ffd03000 {
  652. compatible = "snps,dw-wdt";
  653. reg = <0xffd03000 0x1000>;
  654. interrupts = <0 172 4>;
  655. clocks = <&osc1>;
  656. status = "disabled";
  657. };
  658. sysmgr: sysmgr@ffd08000 {
  659. compatible = "altr,sys-mgr", "syscon";
  660. reg = <0xffd08000 0x4000>;
  661. };
  662. };
  663. };