| /* |
| * SPDX-License-Identifier: Apache-2.0 |
| * |
| * Copyright (C) 2024, Intel Corporation |
| * |
| */ |
| |
| #include <arm64/armv8-a.dtsi> |
| #include <zephyr/dt-bindings/interrupt-controller/arm-gic.h> |
| #include <zephyr/dt-bindings/reset/intel_socfpga_reset.h> |
| #include <mem.h> |
| |
| / { |
| cpus { |
| #address-cells = <1>; |
| #size-cells= <0>; |
| |
| cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a55"; |
| enable-method = "psci"; |
| reg = <0x0>; |
| }; |
| |
| cpu@100 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a55"; |
| enable-method = "psci"; |
| reg = <0x100>; |
| }; |
| |
| cpu@200 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a76"; |
| enable-method = "psci"; |
| reg = <0x200>; |
| }; |
| |
| cpu@300 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a76"; |
| enable-method = "psci"; |
| reg = <0x300>; |
| }; |
| }; |
| |
| gic: interrupt-controller@1d000000 { |
| compatible = "arm,gic-v3", "arm,gic"; |
| reg = <0x1d000000 0x10000>, /* GICD */ |
| <0x1d060000 0x80000>; /* GICR */ |
| interrupt-controller; |
| #interrupt-cells = <4>; |
| status = "okay"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| its: msi-controller@1d040000 { |
| compatible = "arm,gic-v3-its"; |
| reg = <0x1d040000 0x20000>; |
| status = "disabled"; |
| }; |
| }; |
| |
| arch_timer: timer { |
| compatible = "arm,armv8-timer"; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>, |
| <GIC_PPI 14 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>, |
| <GIC_PPI 11 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>, |
| <GIC_PPI 10 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; |
| }; |
| |
| sysmgr: sysmgr@10d12000 { |
| compatible = "syscon"; |
| reg = <0x10d12000 0x1000>; |
| }; |
| |
| clock: clock@10d10000 { |
| compatible = "intel,agilex5-clock"; |
| reg = <0x10d10000 0x1000>; |
| #clock-cells = <1>; |
| }; |
| |
| psci { |
| compatible = "arm,psci-1.1"; |
| method = "smc"; |
| }; |
| |
| /* This is for setting the MMU region for pinmux */ |
| pinmux: pinmux@10d13000 { |
| compatible = "syscon"; |
| reg = <0x10d13000 0x1000>; |
| }; |
| |
| mem0: memory@80100000 { |
| device_type = "memory"; |
| reg = <0x80100000 DT_SIZE_M(8)>; |
| }; |
| |
| fpga0: bridges { |
| compatible = "altr,socfpga-agilex-bridge"; |
| }; |
| |
| uart0: uart@10c02000 { |
| compatible = "ns16550"; |
| reg-shift = <2>; |
| reg = <0x10c02000 0x100>; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; |
| interrupt-names = "irq_0"; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_UART0_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| reset: reset-controller@10D11000 { |
| compatible = "intel,socfpga-reset"; |
| reg = <0x10D11000 0x100>; |
| active-low; |
| #reset-cells = <1>; |
| status = "okay"; |
| }; |
| |
| sdmmc: sdmmc@10808000 { |
| compatible = "cdns,sdhc"; |
| reg = <0x10808000 0x1000>, |
| <0x10B92000 0x1000>; |
| reg-names = "reg_base", "combo_phy"; |
| clock-frequency = <200000000>; |
| power_delay_ms = <1000>; |
| resets = <&reset RSTMGR_SDMMC_RSTLINE>, |
| <&reset RSTMGR_SDMMCECC_RSTLINE>, |
| <&reset RSTMGR_SOFTPHY_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| timer0: timer@10C03000 { |
| compatible = "snps,dw-timers"; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| reg = <0x10c03000 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_SPTIMER0_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| timer1: timer@10C03100 { |
| compatible = "snps,dw-timers"; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| reg = <0x10c03100 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_SPTIMER1_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| timer2: timer@10D00000 { |
| compatible = "snps,dw-timers"; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| reg = <0x10D00000 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_L4SYSTIMER0_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| timer3: timer@10D00100 { |
| compatible = "snps,dw-timers"; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| reg = <0x10D00100 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_L4SYSTIMER1_RSTLINE>; |
| }; |
| |
| watchdog0: watchdog@10d00200 { |
| compatible = "snps,designware-watchdog"; |
| reg = <0x10d00200 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_WATCHDOG0_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| watchdog1: watchdog@10d00300 { |
| compatible = "snps,designware-watchdog"; |
| reg = <0x10d00300 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_WATCHDOG1_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| watchdog2: watchdog@10d00400 { |
| compatible = "snps,designware-watchdog"; |
| reg = <0x10d00400 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_WATCHDOG2_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| watchdog3: watchdog@10d00500 { |
| compatible = "snps,designware-watchdog"; |
| reg = <0x10d00500 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_WATCHDOG3_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| watchdog4: watchdog@10d00600 { |
| compatible = "snps,designware-watchdog"; |
| reg = <0x10d00600 0x100>; |
| clock-frequency = <100000000>; |
| resets = <&reset RSTMGR_WATCHDOG4_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| sip_smc: smc{ |
| compatible = "intel,socfpga-agilex-sip-smc"; |
| method = "smc"; |
| status = "disabled"; |
| zephyr,num-clients = <2>; |
| }; |
| |
| /* cadence Nand Flash controller*/ |
| nand: nand@10B80000 { |
| compatible = "cdns,nand"; |
| reg = <0x10B80000 0X10000>, |
| <0x10840000 0x10000>; |
| reg-names = "nand_reg","sdma"; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; |
| resets = <&reset RSTMGR_NAND_RSTLINE>, |
| <&reset RSTMGR_SOFTPHY_RSTLINE>; |
| block-size = <0x20000>; |
| data-rate-mode = <0>; |
| status = "disabled"; |
| }; |
| |
| dma0: dma@10DB0000 { |
| compatible = "snps,designware-dma-axi"; |
| #dma-cells = <1>; |
| reg = <0x10DB0000 0x1000>; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>, |
| <GIC_SPI 82 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>, |
| <GIC_SPI 83 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>, |
| <GIC_SPI 84 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| dma-channels = <4>; |
| resets = <&reset RSTMGR_DMA_RSTLINE>; |
| status = "disabled"; |
| }; |
| |
| dma1: dma@10DC0000 { |
| compatible = "snps,designware-dma-axi"; |
| #dma-cells = <1>; |
| reg = <0x10DC0000 0x1000>; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>, |
| <GIC_SPI 167 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>, |
| <GIC_SPI 168 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>, |
| <GIC_SPI 169 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| dma-channels = <4>; |
| resets = <&reset RSTMGR_DMA_RSTLINE>; |
| }; |
| |
| xgmac0: xgmac@10810000 { |
| compatible = "snps,dwcxgmac"; |
| reg = <0x10810000 0x10000>; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| local-mac-address = [06 00 00 00 00 01]; |
| max-frame-size = <1518>; |
| tx-fifo-size = <32768>; |
| rx-fifo-size = <16384>; |
| pblx8; |
| blen32; |
| status = "disabled"; |
| }; |
| |
| mdio0: mdio@10810000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x10810000 0x10000>; |
| resets = <&reset RSTMGR_TSN0_RSTLINE>; |
| compatible = "snps,dwcxgmac-mdio"; |
| status = "disabled"; |
| }; |
| |
| xgmac1: xgmac@10820000 { |
| compatible = "snps,dwcxgmac"; |
| reg = <0x10820000 0x10000>; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| local-mac-address = [06 00 00 00 00 02]; |
| max-frame-size = <1518>; |
| tx-fifo-size = <32768>; |
| rx-fifo-size = <16384>; |
| pblx8; |
| blen32; |
| status = "disabled"; |
| }; |
| |
| mdio1: mdio@10820000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x10820000 0x10000>; |
| resets = <&reset RSTMGR_TSN1_RSTLINE>; |
| compatible = "snps,dwcxgmac-mdio"; |
| status = "disabled"; |
| }; |
| |
| xgmac2: xgmac@10830000 { |
| compatible = "snps,dwcxgmac"; |
| reg = <0x10830000 0x10000>; |
| interrupt-parent = <&gic>; |
| interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL |
| IRQ_DEFAULT_PRIORITY>; |
| local-mac-address = [06 00 00 00 00 03]; |
| max-frame-size = <1518>; |
| tx-fifo-size = <32768>; |
| rx-fifo-size = <16384>; |
| pblx8; |
| blen32; |
| status = "disabled"; |
| }; |
| |
| mdio2: mdio@10830000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x10830000 0x10000>; |
| resets = <&reset RSTMGR_TSN2_RSTLINE>; |
| compatible = "snps,dwcxgmac-mdio"; |
| status = "disabled"; |
| }; |
| }; |