~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 /*
  3  * Copyright (C) 2023, Intel Corporation
  4  */
  5 
  6 /dts-v1/;
  7 #include <dt-bindings/reset/altr,rst-mgr-s10.h>
  8 #include <dt-bindings/gpio/gpio.h>
  9 #include <dt-bindings/interrupt-controller/arm-gic.h>
 10 #include <dt-bindings/interrupt-controller/irq.h>
 11 #include <dt-bindings/clock/intel,agilex5-clkmgr.h>
 12 
 13 / {
 14         compatible = "intel,socfpga-agilex5";
 15         #address-cells = <2>;
 16         #size-cells = <2>;
 17 
 18         reserved-memory {
 19                 #address-cells = <2>;
 20                 #size-cells = <2>;
 21                 ranges;
 22 
 23                 service_reserved: svcbuffer@0 {
 24                         compatible = "shared-dma-pool";
 25                         reg = <0x0 0x80000000 0x0 0x2000000>;
 26                         alignment = <0x1000>;
 27                         no-map;
 28                 };
 29         };
 30 
 31         cpus {
 32                 #address-cells = <1>;
 33                 #size-cells = <0>;
 34 
 35                 cpu0: cpu@0 {
 36                         compatible = "arm,cortex-a55";
 37                         reg = <0x0>;
 38                         device_type = "cpu";
 39                         enable-method = "psci";
 40                 };
 41 
 42                 cpu1: cpu@1 {
 43                         compatible = "arm,cortex-a55";
 44                         reg = <0x100>;
 45                         device_type = "cpu";
 46                         enable-method = "psci";
 47                 };
 48 
 49                 cpu2: cpu@2 {
 50                         compatible = "arm,cortex-a76";
 51                         reg = <0x200>;
 52                         device_type = "cpu";
 53                         enable-method = "psci";
 54                 };
 55 
 56                 cpu3: cpu@3 {
 57                         compatible = "arm,cortex-a76";
 58                         reg = <0x300>;
 59                         device_type = "cpu";
 60                         enable-method = "psci";
 61                 };
 62         };
 63 
 64         psci {
 65                 compatible = "arm,psci-0.2";
 66                 method = "smc";
 67         };
 68 
 69         intc: interrupt-controller@1d000000 {
 70                 compatible = "arm,gic-v3";
 71                 reg = <0x0 0x1d000000 0 0x10000>,
 72                         <0x0 0x1d060000 0 0x100000>;
 73                 ranges;
 74                 #interrupt-cells = <3>;
 75                 #address-cells = <2>;
 76                 #size-cells = <2>;
 77                 interrupt-controller;
 78                 #redistributor-regions = <1>;
 79                 redistributor-stride = <0x0 0x20000>;
 80 
 81                 its: msi-controller@1d040000 {
 82                         compatible = "arm,gic-v3-its";
 83                         reg = <0x0 0x1d040000 0x0 0x20000>;
 84                         msi-controller;
 85                         #msi-cells = <1>;
 86                 };
 87         };
 88 
 89         /* Clock tree 5 main sources*/
 90         clocks {
 91                 cb_intosc_hs_div2_clk: cb-intosc-hs-div2-clk {
 92                         #clock-cells = <0>;
 93                         compatible = "fixed-clock";
 94                         clock-frequency = <0>;
 95                 };
 96 
 97                 cb_intosc_ls_clk: cb-intosc-ls-clk {
 98                         #clock-cells = <0>;
 99                         compatible = "fixed-clock";
100                         clock-frequency = <0>;
101                 };
102 
103                 f2s_free_clk: f2s-free-clk {
104                         #clock-cells = <0>;
105                         compatible = "fixed-clock";
106                         clock-frequency = <0>;
107                 };
108 
109                 osc1: osc1 {
110                         #clock-cells = <0>;
111                         compatible = "fixed-clock";
112                         clock-frequency = <0>;
113                 };
114 
115                 qspi_clk: qspi-clk {
116                         #clock-cells = <0>;
117                         compatible = "fixed-clock";
118                         clock-frequency = <200000000>;
119                 };
120         };
121 
122         timer {
123                 compatible = "arm,armv8-timer";
124                 interrupt-parent = <&intc>;
125                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
126                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
127                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
128                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
129         };
130 
131         usbphy0: usbphy {
132                 #phy-cells = <0>;
133                 compatible = "usb-nop-xceiv";
134         };
135 
136         soc: soc@0 {
137                 compatible = "simple-bus";
138                 ranges = <0 0 0 0xffffffff>;
139                 #address-cells = <1>;
140                 #size-cells = <1>;
141                 device_type = "soc";
142                 interrupt-parent = <&intc>;
143 
144                 clkmgr: clock-controller@10d10000 {
145                         compatible = "intel,agilex5-clkmgr";
146                         reg = <0x10d10000 0x1000>;
147                         #clock-cells = <1>;
148                 };
149 
150                 i2c0: i2c@10c02800 {
151                         compatible = "snps,designware-i2c";
152                         reg = <0x10c02800 0x100>;
153                         #address-cells = <1>;
154                         #size-cells = <0>;
155                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
156                         resets = <&rst I2C0_RESET>;
157                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
158                         status = "disabled";
159                 };
160 
161                 i2c1: i2c@10c02900 {
162                         compatible = "snps,designware-i2c";
163                         reg = <0x10c02900 0x100>;
164                         #address-cells = <1>;
165                         #size-cells = <0>;
166                         interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
167                         resets = <&rst I2C1_RESET>;
168                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
169                         status = "disabled";
170                 };
171 
172                 i2c2: i2c@10c02a00 {
173                         compatible = "snps,designware-i2c";
174                         reg = <0x10c02a00 0x100>;
175                         #address-cells = <1>;
176                         #size-cells = <0>;
177                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
178                         resets = <&rst I2C2_RESET>;
179                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
180                         status = "disabled";
181                 };
182 
183                 i2c3: i2c@10c02b00 {
184                         compatible = "snps,designware-i2c";
185                         reg = <0x10c02b00 0x100>;
186                         #address-cells = <1>;
187                         #size-cells = <0>;
188                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
189                         resets = <&rst I2C3_RESET>;
190                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
191                         status = "disabled";
192                 };
193 
194                 i2c4: i2c@10c02c00 {
195                         compatible = "snps,designware-i2c";
196                         reg = <0x10c02c00 0x100>;
197                         #address-cells = <1>;
198                         #size-cells = <0>;
199                         interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
200                         resets = <&rst I2C4_RESET>;
201                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
202                         status = "disabled";
203                 };
204 
205                 i3c0: i3c@10da0000 {
206                         compatible = "snps,dw-i3c-master-1.00a";
207                         reg = <0x10da0000 0x1000>;
208                         #address-cells = <3>;
209                         #size-cells = <0>;
210                         interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
211                         clocks = <&clkmgr AGILEX5_L4_MP_CLK>;
212                         status = "disabled";
213                 };
214 
215                 i3c1: i3c@10da1000 {
216                         compatible = "snps,dw-i3c-master-1.00a";
217                         reg = <0x10da1000 0x1000>;
218                         #address-cells = <3>;
219                         #size-cells = <0>;
220                         interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
221                         clocks = <&clkmgr AGILEX5_L4_MP_CLK>;
222                         status = "disabled";
223                 };
224 
225                 gpio1: gpio@10c03300 {
226                         compatible = "snps,dw-apb-gpio";
227                         reg = <0x10c03300 0x100>;
228                         #address-cells = <1>;
229                         #size-cells = <0>;
230                         resets = <&rst GPIO1_RESET>;
231                         status = "disabled";
232 
233                         portb: gpio-controller@0 {
234                                 compatible = "snps,dw-apb-gpio-port";
235                                 reg = <0>;
236                                 gpio-controller;
237                                 #gpio-cells = <2>;
238                                 snps,nr-gpios = <24>;
239                                 interrupt-controller;
240                                 #interrupt-cells = <2>;
241                                 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
242                         };
243                 };
244 
245                 nand: nand-controller@10b80000 {
246                         compatible = "cdns,hp-nfc";
247                         reg = <0x10b80000 0x10000>,
248                                         <0x10840000 0x10000>;
249                         reg-names = "reg", "sdma";
250                         #address-cells = <1>;
251                         #size-cells = <0>;
252                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
253                         clocks = <&clkmgr AGILEX5_NAND_NF_CLK>;
254                         cdns,board-delay-ps = <4830>;
255                         status = "disabled";
256                 };
257 
258                 ocram: sram@0 {
259                         compatible = "mmio-sram";
260                         reg = <0x00000000 0x80000>;
261                         ranges = <0 0 0x80000>;
262                         #address-cells = <1>;
263                         #size-cells = <1>;
264                 };
265 
266                 dmac0: dma-controller@10db0000 {
267                         compatible = "snps,axi-dma-1.01a";
268                         reg = <0x10db0000 0x500>;
269                         clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>,
270                                  <&clkmgr AGILEX5_L4_MP_CLK>;
271                         clock-names = "core-clk", "cfgr-clk";
272                         interrupt-parent = <&intc>;
273                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
274                         #dma-cells = <1>;
275                         dma-channels = <4>;
276                         snps,dma-masters = <1>;
277                         snps,data-width = <2>;
278                         snps,block-size = <32767 32767 32767 32767>;
279                         snps,priority = <0 1 2 3>;
280                         snps,axi-max-burst-len = <8>;
281                 };
282 
283                 dmac1: dma-controller@10dc0000 {
284                         compatible = "snps,axi-dma-1.01a";
285                         reg = <0x10dc0000 0x500>;
286                         clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>,
287                                  <&clkmgr AGILEX5_L4_MP_CLK>;
288                         clock-names = "core-clk", "cfgr-clk";
289                         interrupt-parent = <&intc>;
290                         interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
291                         #dma-cells = <1>;
292                         dma-channels = <4>;
293                         snps,dma-masters = <1>;
294                         snps,data-width = <2>;
295                         snps,block-size = <32767 32767 32767 32767>;
296                         snps,priority = <0 1 2 3>;
297                         snps,axi-max-burst-len = <8>;
298                 };
299 
300                 rst: rstmgr@10d11000 {
301                         compatible = "altr,stratix10-rst-mgr", "altr,rst-mgr";
302                         reg = <0x10d11000 0x1000>;
303                         #reset-cells = <1>;
304                 };
305 
306                 spi0: spi@10da4000 {
307                         compatible = "snps,dw-apb-ssi";
308                         reg = <0x10da4000 0x1000>;
309                         #address-cells = <1>;
310                         #size-cells = <0>;
311                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
312                         resets = <&rst SPIM0_RESET>;
313                         reset-names = "spi";
314                         reg-io-width = <4>;
315                         num-cs = <4>;
316                         clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>;
317                         dmas = <&dmac0 2>, <&dmac0 3>;
318                         dma-names = "tx", "rx";
319                         status = "disabled";
320 
321                 };
322 
323                 spi1: spi@10da5000 {
324                         compatible = "snps,dw-apb-ssi";
325                         reg = <0x10da5000 0x1000>;
326                         #address-cells = <1>;
327                         #size-cells = <0>;
328                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
329                         resets = <&rst SPIM1_RESET>;
330                         reset-names = "spi";
331                         reg-io-width = <4>;
332                         num-cs = <4>;
333                         clocks = <&clkmgr AGILEX5_L4_MAIN_CLK>;
334                         status = "disabled";
335                 };
336 
337                 sysmgr: sysmgr@10d12000 {
338                         compatible = "altr,sys-mgr-s10","altr,sys-mgr";
339                         reg = <0x10d12000 0x500>;
340                 };
341 
342                 timer0: timer0@10c03000 {
343                         compatible = "snps,dw-apb-timer";
344                         reg = <0x10c03000 0x100>;
345                         interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
346                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
347                         clock-names = "timer";
348                 };
349 
350                 timer1: timer1@10c03100 {
351                         compatible = "snps,dw-apb-timer";
352                         reg = <0x10c03100 0x100>;
353                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
354                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
355                         clock-names = "timer";
356                 };
357 
358                 timer2: timer2@10d00000 {
359                         compatible = "snps,dw-apb-timer";
360                         reg = <0x10d00000 0x100>;
361                         interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
362                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
363                         clock-names = "timer";
364                 };
365 
366                 timer3: timer3@10d00100 {
367                         compatible = "snps,dw-apb-timer";
368                         reg = <0x10d00100 0x100>;
369                         interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
370                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
371                         clock-names = "timer";
372                 };
373 
374                 uart0: serial@10c02000 {
375                         compatible = "snps,dw-apb-uart";
376                         reg = <0x10c02000 0x100>;
377                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
378                         reg-shift = <2>;
379                         reg-io-width = <4>;
380                         resets = <&rst UART0_RESET>;
381                         status = "disabled";
382                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
383                 };
384 
385                 uart1: serial@10c02100 {
386                         compatible = "snps,dw-apb-uart";
387                         reg = <0x10c02100 0x100>;
388                         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
389                         reg-shift = <2>;
390                         reg-io-width = <4>;
391                         resets = <&rst UART1_RESET>;
392                         status = "disabled";
393                         clocks = <&clkmgr AGILEX5_L4_SP_CLK>;
394                 };
395 
396                 usb0: usb@10b00000 {
397                         compatible = "snps,dwc2";
398                         reg = <0x10b00000 0x40000>;
399                         interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
400                         phys = <&usbphy0>;
401                         phy-names = "usb2-phy";
402                         resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>;
403                         reset-names = "dwc2", "dwc2-ecc";
404                         clocks = <&clkmgr AGILEX5_USB2OTG_HCLK>;
405                         clock-names = "otg";
406                         status = "disabled";
407                 };
408 
409                 watchdog0: watchdog@10d00200 {
410                         compatible = "snps,dw-wdt";
411                         reg = <0x10d00200 0x100>;
412                         interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
413                         resets = <&rst WATCHDOG0_RESET>;
414                         clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
415                         status = "disabled";
416                 };
417 
418                 watchdog1: watchdog@10d00300 {
419                         compatible = "snps,dw-wdt";
420                         reg = <0x10d00300 0x100>;
421                         interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
422                         resets = <&rst WATCHDOG1_RESET>;
423                         clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
424                         status = "disabled";
425                 };
426 
427                 watchdog2: watchdog@10d00400 {
428                         compatible = "snps,dw-wdt";
429                         reg = <0x10d00400 0x100>;
430                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
431                         resets = <&rst WATCHDOG2_RESET>;
432                         clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
433                         status = "disabled";
434                 };
435 
436                 watchdog3: watchdog@10d00500 {
437                         compatible = "snps,dw-wdt";
438                         reg = <0x10d00500 0x100>;
439                         interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
440                         resets = <&rst WATCHDOG3_RESET>;
441                         clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
442                         status = "disabled";
443                 };
444 
445                 watchdog4: watchdog@10d00600 {
446                         compatible = "snps,dw-wdt";
447                         reg = <0x10d00600 0x100>;
448                         interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
449                         resets = <&rst WATCHDOG4_RESET>;
450                         clocks = <&clkmgr AGILEX5_L4_SYS_FREE_CLK>;
451                         status = "disabled";
452                 };
453 
454                 qspi: spi@108d2000 {
455                         compatible = "intel,socfpga-qspi", "cdns,qspi-nor";
456                         reg = <0x108d2000 0x100>,
457                               <0x10900000 0x100000>;
458                         #address-cells = <1>;
459                         #size-cells = <0>;
460                         interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
461                         cdns,fifo-depth = <128>;
462                         cdns,fifo-width = <4>;
463                         cdns,trigger-address = <0x00000000>;
464                         clocks = <&qspi_clk>;
465                         status = "disabled";
466                 };
467         };
468 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php