diff options
| author | Mark Brown <broonie@kernel.org> | 2026-10-30 11:30:45 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-30 11:30:45 +0000 |
| commit | ec17ad4e474d7f93868b0400d8fb0ed30ecdce26 (patch) | |
| tree | 1b9c0f2fdca643b97b74e25061b6213a09416a22 | |
| parent | 38710751421939ad0c7dbd3b6a0628954c625b73 (diff) | |
| parent | bb3f9d4267bad8948a10e12b15aeeb0daaff8fa8 (diff) | |
| download | linux-next-ec17ad4e474d7f93868b0400d8fb0ed30ecdce26.tar.gz linux-next-ec17ad4e474d7f93868b0400d8fb0ed30ecdce26.zip | |
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git
26 files changed, 616 insertions, 25 deletions
diff --git a/Documentation/devicetree/bindings/arm/altera.yaml b/Documentation/devicetree/bindings/arm/altera.yaml index 3030cf46fe74..717bec1702da 100644 --- a/Documentation/devicetree/bindings/arm/altera.yaml +++ b/Documentation/devicetree/bindings/arm/altera.yaml @@ -47,6 +47,7 @@ properties: - enum: - altr,socfpga-cyclone5-socdk - denx,mcvevk + - draeger,socfpga-m48 - ebv,socrates - macnica,sodia - novtech,chameleon96 @@ -112,8 +113,10 @@ properties: - intel,socfpga-agilex5-socdk - intel,socfpga-agilex5-socdk-013b - intel,socfpga-agilex5-socdk-debug + - intel,socfpga-agilex5-socdk-emmc - intel,socfpga-agilex5-socdk-modular - intel,socfpga-agilex5-socdk-nand + - intel,socfpga-agilex5-socdk-tsn-cfg2 - const: intel,socfpga-agilex5 - description: Agilex72 boards diff --git a/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml b/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml index b42cfa78b28b..1af8ee3f1f3b 100644 --- a/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml +++ b/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml @@ -55,6 +55,12 @@ properties: reserved memory region for the service layer driver to communicate with the secure device manager. + interrupts: + maxItems: 1 + description: + This interrupt is used by the Secure Device Manager (SDM) to signal + completion of an asynchronous operation to service layer driver. + iommus: maxItems: 1 @@ -82,6 +88,8 @@ additionalProperties: false examples: - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + reserved-memory { #address-cells = <2>; #size-cells = <2>; @@ -99,6 +107,8 @@ examples: compatible = "intel,stratix10-svc"; method = "smc"; memory-region = <&service_reserved>; + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&intc0>; fpga-mgr { compatible = "intel,stratix10-soc-fpga-mgr"; diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 5471a06f93f1..c981a133753e 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -471,6 +471,8 @@ patternProperties: description: DPTechnics "^dptel,.*": description: Guangdong Dapu Telecom Co., Ltd. + "^draeger,.*": + description: Draegerwerk AG & Co. KGaA "^dragino,.*": description: Dragino Technology Co., Limited "^dream,.*": diff --git a/arch/arm/boot/dts/intel/socfpga/Makefile b/arch/arm/boot/dts/intel/socfpga/Makefile index 8df0976da01c..cdcea11abdfa 100644 --- a/arch/arm/boot/dts/intel/socfpga/Makefile +++ b/arch/arm/boot/dts/intel/socfpga/Makefile @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += \ socfpga_arria10_mercury_aa1_st1_emmc.dtb \ socfpga_arria10_mercury_aa1_st1_qspi.dtb \ socfpga_arria10_mercury_aa1_st1_sdmmc.dtb \ + socfpga_cyclone5_draeger_m48.dtb \ socfpga_cyclone5_mercury_sa1_pe1_emmc.dtb \ socfpga_cyclone5_mercury_sa1_pe1_qspi.dtb \ socfpga_cyclone5_mercury_sa1_pe1_sdmmc.dtb \ diff --git a/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts new file mode 100644 index 000000000000..e38590c4630e --- /dev/null +++ b/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_draeger_m48.dts @@ -0,0 +1,102 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2020 Draeger and Licensors, info@draeger.com + */ +#include "socfpga_cyclone5.dtsi" + +/ { + model = "Draeger M48 Cyclone V SoC"; + compatible = "draeger,socfpga-m48", "altr,socfpga-cyclone5", "altr,socfpga"; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x40000000>; + }; + + aliases { + /* this allow the ethaddr uboot environment variable contents + * to be added to the gmac0 device tree blob. + */ + ethernet0 = &gmac0; + }; +}; + +&gmac0 { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <ðphy>; + + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + + ethphy: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + rxc-skew-ps = <1860>; + rxd0-skew-ps = <0>; + rxd1-skew-ps = <0>; + rxd2-skew-ps = <0>; + rxd3-skew-ps = <0>; + rxdv-skew-ps = <0>; + txc-skew-ps = <900>; + txd0-skew-ps = <0>; + txd1-skew-ps = <0>; + txd2-skew-ps = <0>; + txd3-skew-ps = <0>; + txen-skew-ps = <0>; + }; + }; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; + clock-frequency = <100000>; + + eeprom_mac: eeprom@50 { + compatible = "atmel,24c08"; + reg = <0x50>; + pagesize = <16>; + }; +}; + +&mmc0 { + status = "okay"; +}; + +&qspi { + status = "okay"; + + flash: flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "micron,n25q256a", "jedec,spi-nor"; + reg = <0>; + + /* chip select */ + spi-max-frequency = <100000000>; + m25p,fast-read; + cdns,read-delay = <4>; + cdns,tshsl-ns = <50>; + cdns,tsd2d-ns = <50>; + cdns,tchsh-ns = <4>; + cdns,tslch-ns = <4>; + }; +}; diff --git a/arch/arm64/boot/dts/altera/Makefile b/arch/arm64/boot/dts/altera/Makefile index 540bb5ae746b..8f41349103b8 100644 --- a/arch/arm64/boot/dts/altera/Makefile +++ b/arch/arm64/boot/dts/altera/Makefile @@ -1,5 +1,17 @@ # SPDX-License-Identifier: GPL-2.0-only -dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga_stratix10_socdk.dtb \ +dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga_agilex_n6000.dtb \ + socfpga_agilex_socdk.dtb \ + socfpga_agilex_socdk_emmc.dtb \ + socfpga_agilex_socdk_nand.dtb \ + socfpga_agilex3_socdk.dtb \ + socfpga_agilex5_socdk.dtb \ + socfpga_agilex5_socdk_013b.dtb \ + socfpga_agilex5_socdk_modular.dtb \ + socfpga_agilex5_socdk_nand.dtb \ + socfpga_agilex72_socdk.dtb \ + socfpga_agilex7m_socdk.dtb \ + socfpga_n5x_socdk.dtb \ + socfpga_stratix10_socdk.dtb \ socfpga_stratix10_socdk_emmc.dtb \ socfpga_stratix10_socdk_nand.dtb \ socfpga_stratix10_swvp.dtb diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi b/arch/arm64/boot/dts/altera/socfpga_agilex.dtsi index 0dfbafde8822..3168449dcd3d 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi +++ b/arch/arm64/boot/dts/altera/socfpga_agilex.dtsi @@ -65,6 +65,8 @@ compatible = "intel,agilex-svc"; method = "smc"; memory-region = <&service_reserved>; + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&intc>; fpga_mgr: fpga-mgr { compatible = "intel,agilex-soc-fpga-mgr"; diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex3_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_agilex3_socdk.dts index b40f28519334..b40f28519334 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex3_socdk.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex3_socdk.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/altera/socfpga_agilex5.dtsi index f54767d1526e..0c501a93a812 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5.dtsi @@ -85,9 +85,20 @@ method = "smc"; memory-region = <&service_reserved>; iommus = <&smmu 10>; + + fpga_mgr: fpga-mgr { + compatible = "intel,agilex-soc-fpga-mgr"; + }; }; }; + fpga-region { + compatible = "fpga-region"; + #address-cells = <0x2>; + #size-cells = <0x2>; + fpga-mgr = <&fpga_mgr>; + }; + psci { compatible = "arm,psci-0.2"; method = "smc"; @@ -300,6 +311,21 @@ }; }; + sdmmc: mmc@10808000 { + compatible = "altr,agilex5-sd6hc", "cdns,sd6hc"; + reg = <0x10808000 0x1000>; + clocks = <&clkmgr AGILEX5_SDMCLK>, <&clkmgr AGILEX5_L4_MP_CLK>; + clock-names = "ciu", "biu"; + dma-coherent; + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; + iommus = <&smmu 5>; + resets = <&rst SDMMC_RESET>, <&rst COMBOPHY_RESET>, + <&rst SDMMC_OCP_RESET>; + reset-names = "sdhc-reset", "combophy", "sdmmc-ocp"; + + status = "disabled"; + }; + nand: nand-controller@10b80000 { compatible = "cdns,hp-nfc"; reg = <0x10b80000 0x10000>, @@ -493,6 +519,41 @@ status = "disabled"; }; + usb31_bus: bus@11000000 { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges = <0x0 0x0 0x11000000 0x0 0x100000>; + /* + * USB interconnect DMA is limited to 40-bit addresses + * (1 TiB window from 0). + */ + dma-ranges = <0x0 0x0 0x0 0x100 0x0>; + + usb31: usb@0 { + compatible = "altr,agilex5-dwc3"; + reg = <0x0 0x0 0x0 0x100000>; + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; + /* + * ref and suspend share the same hardware + * source; reuse the published suspend clock ID. + */ + clocks = <&clkmgr AGILEX5_USB31_BUS_CLK_EARLY>, + <&clkmgr AGILEX5_USB31_SUSPEND_CLK>, + <&clkmgr AGILEX5_USB31_SUSPEND_CLK>; + clock-names = "bus_early", "ref", "suspend"; + resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>; + reset-names = "core", "ecc"; + iommus = <&smmu 7>; + phys = <&usbphy0>, <&usbphy0>; + phy-names = "usb2-phy", "usb3-phy"; + maximum-speed = "super-speed"; + snps,dis_u2_susphy_quirk; + snps,dis_u3_susphy_quirk; + status = "disabled"; + }; + }; + watchdog0: watchdog@10d00200 { compatible = "snps,dw-wdt"; reg = <0x10d00200 0x100>; diff --git a/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk.dts new file mode 100644 index 000000000000..5f3eb96d038e --- /dev/null +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk.dts @@ -0,0 +1,146 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2023, Intel Corporation + */ +#include "socfpga_agilex5.dtsi" + +/ { + model = "SoCFPGA Agilex5 SoCDK"; + compatible = "intel,socfpga-agilex5-socdk", "intel,socfpga-agilex5"; + + aliases { + serial0 = &uart0; + ethernet0 = &gmac0; + ethernet1 = &gmac1; + ethernet2 = &gmac2; + i3c0 = &i3c0; + i3c1 = &i3c1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + led-0 { + label = "hps_led0"; + gpios = <&porta 11 GPIO_ACTIVE_HIGH>; + }; + + }; + + memory@80000000 { + device_type = "memory"; + /* We expect the bootloader to fill in the reg */ + reg = <0x0 0x80000000 0x0 0x0>; + }; + + vqmmc_io_reg: regulator-1p8v { + compatible = "regulator-gpio"; + gpios = <&portb 3 GPIO_ACTIVE_HIGH>; + gpios-states = <0>; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <1800000>; + regulator-name = "vqmmc-io"; + states = <1800000 0x1>, + <3300000 0x0>; + }; + + vmmc_reg: regulator-fixed-3p3v { + compatible = "regulator-fixed"; + regulator-always-on; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "vcc-sd"; + }; +}; + +&sdmmc { + bus-width = <4>; + cap-sd-highspeed; + disable-wp; + max-frequency = <200000000>; + no-mmc; + sd-uhs-sdr104; + vmmc-supply = <&vmmc_reg>; + vqmmc-supply = <&vqmmc_io_reg>; + + status = "okay"; +}; + +&gmac2 { + status = "okay"; + phy-mode = "rgmii"; /* TX/RX clock delays provided by Agilex5 I/O hardware */ + phy-handle = <&emac2_phy0>; + max-frame-size = <9000>; + + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + + emac2_phy0: ethernet-phy@0 { + reg = <0>; + }; + }; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&osc1 { + clock-frequency = <25000000>; +}; + +&qspi { + status = "okay"; + flash@0 { + compatible = "micron,mt25qu02g", "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <100000000>; + m25p,fast-read; + cdns,read-delay = <2>; + cdns,tshsl-ns = <50>; + cdns,tsd2d-ns = <50>; + cdns,tchsh-ns = <4>; + cdns,tslch-ns = <4>; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + qspi_boot: partition@0 { + label = "Boot and fpga data"; + reg = <0x0 0x04200000>; + }; + + root: partition@4200000 { + label = "root"; + reg = <0x04200000 0x0be00000>; + }; + }; + }; +}; + +&uart0 { + status = "okay"; +}; + +&usb31 { + dr_mode = "host"; + status = "okay"; +}; + +&watchdog0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk_013b.dts b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_013b.dts index 1e946d5765e0..1e946d5765e0 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk_013b.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_013b.dts diff --git a/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_debug.dts b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_debug.dts new file mode 100644 index 000000000000..5c36410128cf --- /dev/null +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_debug.dts @@ -0,0 +1,121 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2026, Altera Corporation + */ +#include "socfpga_agilex5.dtsi" + +/ { + model = "SoCFPGA Agilex5 SoCDK - debug daughter card"; + compatible = "intel,socfpga-agilex5-socdk-debug", "intel,socfpga-agilex5"; + + aliases { + serial0 = &uart0; + ethernet0 = &gmac0; + ethernet1 = &gmac1; + ethernet2 = &gmac2; + i3c0 = &i3c0; + i3c1 = &i3c1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + led-0 { + label = "hps_led0"; + /* gpio0 is unrouted on the debug daughter card; LED is on gpio1 */ + gpios = <&portb 12 GPIO_ACTIVE_HIGH>; + }; + }; + + memory@80000000 { + device_type = "memory"; + /* We expect the bootloader to fill in the reg */ + reg = <0x0 0x80000000 0x0 0x0>; + }; +}; + +&gmac0 { + status = "okay"; + phy-mode = "rgmii"; /* TX/RX clock delays provided by Agilex5 I/O hardware */ + phy-handle = <&emac0_phy0>; + max-frame-size = <9000>; + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + emac0_phy0: ethernet-phy@0 { + reg = <0>; + }; + }; +}; + +&gpio1 { + status = "okay"; +}; + +&osc1 { + clock-frequency = <25000000>; +}; + +&qspi { + status = "okay"; + flash@0 { + compatible = "micron,mt25qu02g", "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <100000000>; + m25p,fast-read; + cdns,read-delay = <2>; + cdns,tshsl-ns = <50>; + cdns,tsd2d-ns = <50>; + cdns,tchsh-ns = <4>; + cdns,tslch-ns = <4>; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + qspi_boot: partition@0 { + label = "Boot and fpga data"; + reg = <0x0 0x04200000>; + }; + + root: partition@4200000 { + label = "root"; + reg = <0x04200000 0x0be00000>; + }; + }; + }; +}; + +&spi0 { + status = "okay"; + + eeprom@0 { + compatible = "microchip,25aa128", "atmel,at25"; + reg = <0>; + spi-max-frequency = <500000>; + size = <16384>; + pagesize = <64>; + address-width = <16>; + }; +}; + +&uart0 { + status = "okay"; +}; + +&usb31 { + dr_mode = "host"; + status = "okay"; +}; + +&watchdog0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_emmc.dts b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_emmc.dts new file mode 100644 index 000000000000..beb4f444c471 --- /dev/null +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_emmc.dts @@ -0,0 +1,123 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2026, Altera Corporation + */ +#include "socfpga_agilex5.dtsi" + +/ { + model = "SoCFPGA Agilex5 SoCDK eMMC daughter board"; + compatible = "intel,socfpga-agilex5-socdk-emmc", "intel,socfpga-agilex5"; + + aliases { + ethernet0 = &gmac0; + i3c0 = &i3c0; + i3c1 = &i3c1; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + led-0 { + label = "hps_led0"; + gpios = <&porta 6 GPIO_ACTIVE_HIGH>; + }; + + led-1 { + label = "hps_led1"; + gpios = <&porta 7 GPIO_ACTIVE_HIGH>; + }; + }; + + memory@80000000 { + device_type = "memory"; + /* Expect the bootloader to fill in the reg */ + reg = <0x0 0x80000000 0x0 0x0>; + }; + + vqmmc_io_reg: regulator-fixed-1p8v { + compatible = "regulator-fixed"; + regulator-always-on; + regulator-max-microvolt = <1800000>; + regulator-min-microvolt = <1800000>; + regulator-name = "vqmmc-io"; + }; + + vmmc_reg: regulator-fixed-3p3v { + compatible = "regulator-fixed"; + regulator-always-on; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "vcc-emmc"; + }; +}; + +&sdmmc { + bus-width = <8>; + cap-mmc-highspeed; + disable-wp; + max-frequency = <200000000>; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + no-sd; + no-sdio; + non-removable; + vmmc-supply = <&vmmc_reg>; + vqmmc-supply = <&vqmmc_io_reg>; + + status = "okay"; +}; + +&gmac0 { + max-frame-size = <9000>; + phy-handle = <&emac0_phy0>; + phy-mode = "rgmii"; /* TX/RX clock delays provided by Agilex5 I/O hardware */ + + status = "okay"; + + mdio0 { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + + emac0_phy0: ethernet-phy@0 { + reg = <0>; + }; + }; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&i2c0 { + status = "okay"; +}; + +&i3c0 { + status = "okay"; +}; + +&i3c1 { + status = "okay"; +}; + +&osc1 { + clock-frequency = <25000000>; +}; + +&uart0 { + status = "okay"; +}; + +&watchdog0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk_modular.dts b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_modular.dts index a2b707ae6e9e..a2b707ae6e9e 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk_modular.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_modular.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk_nand.dts b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_nand.dts index 81443096cf99..81443096cf99 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk_nand.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_nand.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_tsn_cfg2.dts index 1e9b87d96765..9d39f843b424 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex5_socdk_tsn_cfg2.dts @@ -1,20 +1,17 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (C) 2023, Intel Corporation + * Copyright (C) 2026, Altera Corporation */ #include "socfpga_agilex5.dtsi" / { - model = "SoCFPGA Agilex5 SoCDK"; - compatible = "intel,socfpga-agilex5-socdk", "intel,socfpga-agilex5"; + model = "SoCFPGA Agilex5 SoCDK TSN Config2"; + compatible = "intel,socfpga-agilex5-socdk-tsn-cfg2", "intel,socfpga-agilex5"; aliases { serial0 = &uart0; - ethernet0 = &gmac0; ethernet1 = &gmac1; ethernet2 = &gmac2; - i3c0 = &i3c0; - i3c1 = &i3c1; }; chosen { @@ -42,10 +39,16 @@ status = "okay"; }; -&gmac2 { +&gpio1 { status = "okay"; - phy-mode = "rgmii"; /* TX/RX clock delays provided by Agilex5 I/O hardware */ - phy-handle = <&emac2_phy0>; +}; + +&gmac1 { + status = "okay"; + compatible = "altr,socfpga-stmmac-agilex5-tsn", + "snps,dwxgmac-2.10"; + phy-mode = "rgmii-id"; + phy-handle = <&emac1_phy0>; max-frame-size = <9000>; mdio0 { @@ -53,14 +56,27 @@ #size-cells = <0>; compatible = "snps,dwmac-mdio"; - emac2_phy0: ethernet-phy@0 { + emac1_phy0: ethernet-phy@0 { reg = <0>; }; }; }; -&gpio1 { +&gmac2 { status = "okay"; + phy-mode = "rgmii-id"; + phy-handle = <&emac2_phy0>; + max-frame-size = <9000>; + + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + + emac2_phy0: ethernet-phy@0 { + reg = <0>; + }; + }; }; &osc1 { @@ -88,7 +104,7 @@ #size-cells = <1>; qspi_boot: partition@0 { - label = "Boot and fpga data"; + label = "u-boot"; reg = <0x0 0x04200000>; }; diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex72.dtsi b/arch/arm64/boot/dts/altera/socfpga_agilex72.dtsi index c29c2afcaab7..c29c2afcaab7 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex72.dtsi +++ b/arch/arm64/boot/dts/altera/socfpga_agilex72.dtsi diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex72_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_agilex72_socdk.dts index 998f19f492b3..998f19f492b3 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex72_socdk.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex72_socdk.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex7m_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_agilex7m_socdk.dts index c1f270b9334c..c1f270b9334c 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex7m_socdk.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex7m_socdk.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex_n6000.dts b/arch/arm64/boot/dts/altera/socfpga_agilex_n6000.dts index d22de06e9839..d22de06e9839 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex_n6000.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex_n6000.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_agilex_socdk.dts index 8f8a5423ba02..8f8a5423ba02 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex_socdk.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex_socdk_emmc.dts b/arch/arm64/boot/dts/altera/socfpga_agilex_socdk_emmc.dts index 1d3a2d7d48c0..1d3a2d7d48c0 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex_socdk_emmc.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex_socdk_emmc.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex_socdk_nand.dts b/arch/arm64/boot/dts/altera/socfpga_agilex_socdk_nand.dts index 98900cb410dc..98900cb410dc 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex_socdk_nand.dts +++ b/arch/arm64/boot/dts/altera/socfpga_agilex_socdk_nand.dts diff --git a/arch/arm64/boot/dts/intel/socfpga_n5x_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_n5x_socdk.dts index d7d500f50a07..d7d500f50a07 100644 --- a/arch/arm64/boot/dts/intel/socfpga_n5x_socdk.dts +++ b/arch/arm64/boot/dts/altera/socfpga_n5x_socdk.dts diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi index 0d9cad0c0351..5428b138d0ac 100644 --- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi @@ -1,11 +1,13 @@ // SPDX-License-Identifier: GPL-2.0-only /* * Copyright Altera Corporation (C) 2015. All rights reserved. + * Copyright (C) 2025, Altera Corporation */ /dts-v1/; #include <dt-bindings/reset/altr,rst-mgr-s10.h> #include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/clock/stratix10-clock.h> / { @@ -74,6 +76,8 @@ compatible = "intel,stratix10-svc"; method = "smc"; memory-region = <&service_reserved>; + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&intc>; fpga_mgr: fpga-mgr { compatible = "intel,stratix10-soc-fpga-mgr"; diff --git a/arch/arm64/boot/dts/intel/Makefile b/arch/arm64/boot/dts/intel/Makefile index 270c70fdf084..5b030fb8d165 100644 --- a/arch/arm64/boot/dts/intel/Makefile +++ b/arch/arm64/boot/dts/intel/Makefile @@ -1,14 +1,2 @@ # SPDX-License-Identifier: GPL-2.0-only -dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga_agilex_n6000.dtb \ - socfpga_agilex_socdk.dtb \ - socfpga_agilex_socdk_emmc.dtb \ - socfpga_agilex_socdk_nand.dtb \ - socfpga_agilex3_socdk.dtb \ - socfpga_agilex5_socdk.dtb \ - socfpga_agilex5_socdk_013b.dtb \ - socfpga_agilex5_socdk_modular.dtb \ - socfpga_agilex5_socdk_nand.dtb \ - socfpga_agilex72_socdk.dtb \ - socfpga_agilex7m_socdk.dtb \ - socfpga_n5x_socdk.dtb dtb-$(CONFIG_ARCH_KEEMBAY) += keembay-evm.dtb |
