|
6 | 6 | /dts-v1/;
|
7 | 7 | #include <dt-bindings/reset/altr,rst-mgr-s10.h>
|
8 | 8 | #include <dt-bindings/gpio/gpio.h>
|
| 9 | +#include <dt-bindings/clock/agilex-clock.h> |
9 | 10 |
|
10 | 11 | / {
|
11 | 12 | compatible = "intel,socfpga-agilex";
|
|
101 | 102 | fpga-mgr = <&fpga_mgr>;
|
102 | 103 | };
|
103 | 104 |
|
| 105 | + clkmgr: clock-controller@ffd10000 { |
| 106 | + compatible = "intel,agilex-clkmgr"; |
| 107 | + reg = <0xffd10000 0x1000>; |
| 108 | + #clock-cells = <1>; |
| 109 | + }; |
| 110 | + |
| 111 | + clocks { |
| 112 | + cb_intosc_hs_div2_clk: cb-intosc-hs-div2-clk { |
| 113 | + #clock-cells = <0>; |
| 114 | + compatible = "fixed-clock"; |
| 115 | + }; |
| 116 | + |
| 117 | + cb_intosc_ls_clk: cb-intosc-ls-clk { |
| 118 | + #clock-cells = <0>; |
| 119 | + compatible = "fixed-clock"; |
| 120 | + }; |
| 121 | + |
| 122 | + f2s_free_clk: f2s-free-clk { |
| 123 | + #clock-cells = <0>; |
| 124 | + compatible = "fixed-clock"; |
| 125 | + }; |
| 126 | + |
| 127 | + osc1: osc1 { |
| 128 | + #clock-cells = <0>; |
| 129 | + compatible = "fixed-clock"; |
| 130 | + }; |
| 131 | + |
| 132 | + qspi_clk: qspi-clk { |
| 133 | + #clock-cells = <0>; |
| 134 | + compatible = "fixed-clock"; |
| 135 | + clock-frequency = <200000000>; |
| 136 | + }; |
| 137 | + }; |
| 138 | + |
104 | 139 | gmac0: ethernet@ff800000 {
|
105 | 140 | compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac";
|
106 | 141 | reg = <0xff800000 0x2000>;
|
|
114 | 149 | snps,multicast-filter-bins = <256>;
|
115 | 150 | iommus = <&smmu 1>;
|
116 | 151 | altr,sysmgr-syscon = <&sysmgr 0x44 0>;
|
| 152 | + clocks = <&clkmgr AGILEX_EMAC0_CLK>; |
| 153 | + clock-names = "stmmaceth"; |
117 | 154 | status = "disabled";
|
118 | 155 | };
|
119 | 156 |
|
|
130 | 167 | snps,multicast-filter-bins = <256>;
|
131 | 168 | iommus = <&smmu 2>;
|
132 | 169 | altr,sysmgr-syscon = <&sysmgr 0x48 8>;
|
| 170 | + clocks = <&clkmgr AGILEX_EMAC1_CLK>; |
| 171 | + clock-names = "stmmaceth"; |
133 | 172 | status = "disabled";
|
134 | 173 | };
|
135 | 174 |
|
|
146 | 185 | snps,multicast-filter-bins = <256>;
|
147 | 186 | iommus = <&smmu 3>;
|
148 | 187 | altr,sysmgr-syscon = <&sysmgr 0x4c 16>;
|
| 188 | + clocks = <&clkmgr AGILEX_EMAC2_CLK>; |
| 189 | + clock-names = "stmmaceth"; |
149 | 190 | status = "disabled";
|
150 | 191 | };
|
151 | 192 |
|
|
196 | 237 | reg = <0xffc02800 0x100>;
|
197 | 238 | interrupts = <0 103 4>;
|
198 | 239 | resets = <&rst I2C0_RESET>;
|
| 240 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
199 | 241 | status = "disabled";
|
200 | 242 | };
|
201 | 243 |
|
|
206 | 248 | reg = <0xffc02900 0x100>;
|
207 | 249 | interrupts = <0 104 4>;
|
208 | 250 | resets = <&rst I2C1_RESET>;
|
| 251 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
209 | 252 | status = "disabled";
|
210 | 253 | };
|
211 | 254 |
|
|
216 | 259 | reg = <0xffc02a00 0x100>;
|
217 | 260 | interrupts = <0 105 4>;
|
218 | 261 | resets = <&rst I2C2_RESET>;
|
| 262 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
219 | 263 | status = "disabled";
|
220 | 264 | };
|
221 | 265 |
|
|
226 | 270 | reg = <0xffc02b00 0x100>;
|
227 | 271 | interrupts = <0 106 4>;
|
228 | 272 | resets = <&rst I2C3_RESET>;
|
| 273 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
229 | 274 | status = "disabled";
|
230 | 275 | };
|
231 | 276 |
|
|
236 | 281 | reg = <0xffc02c00 0x100>;
|
237 | 282 | interrupts = <0 107 4>;
|
238 | 283 | resets = <&rst I2C4_RESET>;
|
| 284 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
239 | 285 | status = "disabled";
|
240 | 286 | };
|
241 | 287 |
|
|
248 | 294 | fifo-depth = <0x400>;
|
249 | 295 | resets = <&rst SDMMC_RESET>;
|
250 | 296 | reset-names = "reset";
|
| 297 | + clocks = <&clkmgr AGILEX_L4_MP_CLK>, |
| 298 | + <&clkmgr AGILEX_SDMMC_CLK>; |
| 299 | + clock-names = "biu", "ciu"; |
251 | 300 | iommus = <&smmu 5>;
|
252 | 301 | status = "disabled";
|
253 | 302 | };
|
|
260 | 309 | <0xffb80000 0x1000>;
|
261 | 310 | reg-names = "nand_data", "denali_reg";
|
262 | 311 | interrupts = <0 97 4>;
|
| 312 | + clocks = <&clkmgr AGILEX_NAND_CLK>, |
| 313 | + <&clkmgr AGILEX_NAND_X_CLK>, |
| 314 | + <&clkmgr AGILEX_NAND_ECC_CLK>; |
| 315 | + clock-names = "nand", "nand_x", "ecc"; |
263 | 316 | resets = <&rst NAND_RESET>, <&rst NAND_OCP_RESET>;
|
264 | 317 | status = "disabled";
|
265 | 318 | };
|
|
286 | 339 | #dma-requests = <32>;
|
287 | 340 | resets = <&rst DMA_RESET>, <&rst DMA_OCP_RESET>;
|
288 | 341 | reset-names = "dma", "dma-ocp";
|
| 342 | + clocks = <&clkmgr AGILEX_L4_MAIN_CLK>; |
| 343 | + clock-names = "apb_pclk"; |
289 | 344 | };
|
290 | 345 |
|
291 | 346 | rst: rstmgr@ffd11000 {
|
|
312 | 367 | <0 162 4>, <0 163 4>, <0 164 4>, <0 165 4>,
|
313 | 368 | <0 166 4>, <0 167 4>, <0 168 4>, <0 169 4>;
|
314 | 369 | stream-match-mask = <0x7ff0>;
|
| 370 | + clocks = <&clkmgr AGILEX_MPU_CCU_CLK>, |
| 371 | + <&clkmgr AGILEX_L3_MAIN_FREE_CLK>, |
| 372 | + <&clkmgr AGILEX_L4_MAIN_CLK>; |
315 | 373 | status = "disabled";
|
316 | 374 | };
|
317 | 375 |
|
|
322 | 380 | reg = <0xffda4000 0x1000>;
|
323 | 381 | interrupts = <0 99 4>;
|
324 | 382 | resets = <&rst SPIM0_RESET>;
|
| 383 | + reset-names = "spi"; |
325 | 384 | reg-io-width = <4>;
|
326 | 385 | num-cs = <4>;
|
| 386 | + clocks = <&clkmgr AGILEX_L4_MAIN_CLK>; |
327 | 387 | status = "disabled";
|
328 | 388 | };
|
329 | 389 |
|
|
334 | 394 | reg = <0xffda5000 0x1000>;
|
335 | 395 | interrupts = <0 100 4>;
|
336 | 396 | resets = <&rst SPIM1_RESET>;
|
| 397 | + reset-names = "spi"; |
337 | 398 | reg-io-width = <4>;
|
338 | 399 | num-cs = <4>;
|
| 400 | + clocks = <&clkmgr AGILEX_L4_MAIN_CLK>; |
339 | 401 | status = "disabled";
|
340 | 402 | };
|
341 | 403 |
|
|
357 | 419 | compatible = "snps,dw-apb-timer";
|
358 | 420 | interrupts = <0 113 4>;
|
359 | 421 | reg = <0xffc03000 0x100>;
|
| 422 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
| 423 | + clock-names = "timer"; |
360 | 424 | };
|
361 | 425 |
|
362 | 426 | timer1: timer1@ffc03100 {
|
363 | 427 | compatible = "snps,dw-apb-timer";
|
364 | 428 | interrupts = <0 114 4>;
|
365 | 429 | reg = <0xffc03100 0x100>;
|
| 430 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
| 431 | + clock-names = "timer"; |
366 | 432 | };
|
367 | 433 |
|
368 | 434 | timer2: timer2@ffd00000 {
|
369 | 435 | compatible = "snps,dw-apb-timer";
|
370 | 436 | interrupts = <0 115 4>;
|
371 | 437 | reg = <0xffd00000 0x100>;
|
| 438 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
| 439 | + clock-names = "timer"; |
372 | 440 | };
|
373 | 441 |
|
374 | 442 | timer3: timer3@ffd00100 {
|
375 | 443 | compatible = "snps,dw-apb-timer";
|
376 | 444 | interrupts = <0 116 4>;
|
377 | 445 | reg = <0xffd00100 0x100>;
|
| 446 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
| 447 | + clock-names = "timer"; |
378 | 448 | };
|
379 | 449 |
|
380 | 450 | uart0: serial0@ffc02000 {
|
|
385 | 455 | reg-io-width = <4>;
|
386 | 456 | resets = <&rst UART0_RESET>;
|
387 | 457 | status = "disabled";
|
| 458 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
388 | 459 | };
|
389 | 460 |
|
390 | 461 | uart1: serial1@ffc02100 {
|
|
394 | 465 | reg-shift = <2>;
|
395 | 466 | reg-io-width = <4>;
|
396 | 467 | resets = <&rst UART1_RESET>;
|
| 468 | + clocks = <&clkmgr AGILEX_L4_SP_CLK>; |
397 | 469 | status = "disabled";
|
398 | 470 | };
|
399 | 471 |
|
|
411 | 483 | phy-names = "usb2-phy";
|
412 | 484 | resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>;
|
413 | 485 | reset-names = "dwc2", "dwc2-ecc";
|
| 486 | + clocks = <&clkmgr AGILEX_USB_CLK>; |
414 | 487 | iommus = <&smmu 6>;
|
415 | 488 | status = "disabled";
|
416 | 489 | };
|
|
424 | 497 | resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>;
|
425 | 498 | reset-names = "dwc2", "dwc2-ecc";
|
426 | 499 | iommus = <&smmu 7>;
|
| 500 | + clocks = <&clkmgr AGILEX_USB_CLK>; |
427 | 501 | status = "disabled";
|
428 | 502 | };
|
429 | 503 |
|
|
432 | 506 | reg = <0xffd00200 0x100>;
|
433 | 507 | interrupts = <0 117 4>;
|
434 | 508 | resets = <&rst WATCHDOG0_RESET>;
|
| 509 | + clocks = <&clkmgr AGILEX_L4_SYS_FREE_CLK>; |
435 | 510 | status = "disabled";
|
436 | 511 | };
|
437 | 512 |
|
|
440 | 515 | reg = <0xffd00300 0x100>;
|
441 | 516 | interrupts = <0 118 4>;
|
442 | 517 | resets = <&rst WATCHDOG1_RESET>;
|
| 518 | + clocks = <&clkmgr AGILEX_L4_SYS_FREE_CLK>; |
443 | 519 | status = "disabled";
|
444 | 520 | };
|
445 | 521 |
|
|
448 | 524 | reg = <0xffd00400 0x100>;
|
449 | 525 | interrupts = <0 125 4>;
|
450 | 526 | resets = <&rst WATCHDOG2_RESET>;
|
| 527 | + clocks = <&clkmgr AGILEX_L4_SYS_FREE_CLK>; |
451 | 528 | status = "disabled";
|
452 | 529 | };
|
453 | 530 |
|
|
456 | 533 | reg = <0xffd00500 0x100>;
|
457 | 534 | interrupts = <0 126 4>;
|
458 | 535 | resets = <&rst WATCHDOG3_RESET>;
|
| 536 | + clocks = <&clkmgr AGILEX_L4_SYS_FREE_CLK>; |
459 | 537 | status = "disabled";
|
460 | 538 | };
|
461 | 539 |
|
|
533 | 611 | cdns,fifo-depth = <128>;
|
534 | 612 | cdns,fifo-width = <4>;
|
535 | 613 | cdns,trigger-address = <0x00000000>;
|
| 614 | + clocks = <&qspi_clk>; |
536 | 615 |
|
537 | 616 | status = "disabled";
|
538 | 617 | };
|
|
0 commit comments