[PATCH v4 6/7] arch: arm: dts: n5x: switch to using upstream Linux DT config

Chee, Tien Fong tien.fong.chee at altera.com
Wed Jul 8 06:38:56 CEST 2026


On 23/6/2026 10:02 am, Chen Huei Lok wrote:
> Migrate the legacy n5x platform to use the upstream Linux device tree
> configuration. This helps reduce maintenance overhead and aligns U-Boot
> with the Linux kernel's DTS hierarchy and naming conventions.
>
> This change improves consistency between U-Boot and Linux by removing
> custom/legacy DTS handling and instead relying on the standardized
> definitions provided by the upstream Linux DTS.
>
> Signed-off-by: Chen Huei Lok <chen.huei.lok at altera.com>
> ---
>
> Changes in v4:
> - Remove the now-unused in-tree vendor arch/arm/dts/socfpga_n5x_socdk.dts,
>    superseded by dts/upstream/src/arm64/intel/socfpga_n5x_socdk.dts once
>    OF_UPSTREAM is enabled (matches the Stratix10 DT-switch patch)
>
> Changes in v3:
> - Fix CONFIG_OF_UPSTREAM position in defconfig: correctly placed after
>    CONFIG_CMD_FS_GENERIC per canonical savedefconfig ordering (was
>    placed at end of file in v2)
>
>   arch/arm/dts/Makefile                      |   3 +-
>   arch/arm/dts/socfpga_n5x-u-boot.dtsi       |  17 ++-
>   arch/arm/dts/socfpga_n5x_socdk-u-boot.dtsi |  13 +--
>   arch/arm/dts/socfpga_n5x_socdk.dts         | 122 ---------------------
>   configs/socfpga_n5x_defconfig              |   3 +-
>   5 files changed, 24 insertions(+), 134 deletions(-)
>   delete mode 100644 arch/arm/dts/socfpga_n5x_socdk.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index cbb58180814..c753564f134 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -452,8 +452,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) +=				\
>   	socfpga_cyclone5_sr1500.dtb			\
>   	socfpga_cyclone5_vining_fpga.dtb		\
>   	socfpga_cyclone5_ac501soc.dtb			\
> -	socfpga_cyclone5_ac550soc.dtb			\
> -	socfpga_n5x_socdk.dtb
> +	socfpga_cyclone5_ac550soc.dtb
>   
>   dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb	\
>   	dra72-evm-revc.dtb dra71-evm.dtb dra76-evm.dtb
> diff --git a/arch/arm/dts/socfpga_n5x-u-boot.dtsi b/arch/arm/dts/socfpga_n5x-u-boot.dtsi
> index dbfd2abfd59..16b92ef48f4 100644
> --- a/arch/arm/dts/socfpga_n5x-u-boot.dtsi
> +++ b/arch/arm/dts/socfpga_n5x-u-boot.dtsi
> @@ -10,7 +10,13 @@
>   #include <dt-bindings/clock/n5x-clock.h>
>   
>   /{
> -	memory {
> +	aliases {
> +		spi0 = &qspi;
> +		i2c0 = &i2c1;
> +	};
> +
> +	memory at 0 {
> +		device_type = "memory";
>   		#address-cells = <2>;
>   		#size-cells = <2>;
>   		bootph-all;
> @@ -121,6 +127,14 @@
>   
>   &qspi {
>   	bootph-all;
> +	compatible = "cdns,qspi-nor";
> +	flash0: flash at 0 {
> +	};
> +};
> +
> +&flash0 {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
>   };
>   
>   &rst {
> @@ -200,7 +214,6 @@
>   
>   &usb0 {
>   	clocks = <&clkmgr N5X_USB_CLK>;
> -	disable-over-current;
>   	bootph-all;
>   };
>   
> diff --git a/arch/arm/dts/socfpga_n5x_socdk-u-boot.dtsi b/arch/arm/dts/socfpga_n5x_socdk-u-boot.dtsi
> index 1f7e31bcae3..1bed87c1231 100644
> --- a/arch/arm/dts/socfpga_n5x_socdk-u-boot.dtsi
> +++ b/arch/arm/dts/socfpga_n5x_socdk-u-boot.dtsi
> @@ -8,12 +8,11 @@
>   #include "socfpga_n5x-u-boot.dtsi"
>   
>   /{
> -	aliases {
> -		spi0 = &qspi;
> -		i2c0 = &i2c1;
> +	chosen {
> +		u-boot,spl-boot-order = &mmc;
>   	};
>   
> -	memory {
> +	memory at 0 {
>   		/*
>   		 * Memory type: DDR4 (non-interleaving mode)
>   		 * 16GB
> @@ -38,10 +37,10 @@
>   };
>   
>   &flash0 {
> -	compatible = "jedec,spi-nor";
> -	spi-tx-bus-width = <4>;
> -	spi-rx-bus-width = <4>;
>   	bootph-all;
> +	cdns,page-size = <256>;
> +	cdns,block-size = <16>;
> +	/delete-property/ cdns,read-delay;
>   };
>   
>   &gmac0 {
> diff --git a/arch/arm/dts/socfpga_n5x_socdk.dts b/arch/arm/dts/socfpga_n5x_socdk.dts
> deleted file mode 100644
> index 915b8f6380e..00000000000
> --- a/arch/arm/dts/socfpga_n5x_socdk.dts
> +++ /dev/null
> @@ -1,122 +0,0 @@
> -// SPDX-License-Identifier:     GPL-2.0
> -/*
> - * Copyright (C) 2020-2021, Intel Corporation
> - */
> -#include "socfpga_agilex.dtsi"
> -
> -/ {
> -	model = "eASIC N5X SoCDK";
> -
> -	aliases {
> -		serial0 = &uart0;
> -		ethernet0 = &gmac0;
> -		ethernet1 = &gmac1;
> -		ethernet2 = &gmac2;
> -	};
> -
> -	chosen {
> -		stdout-path = "serial0:115200n8";
> -	};
> -
> -	memory {
> -		device_type = "memory";
> -		/* We expect the bootloader to fill in the reg */
> -		reg = <0 0 0 0>;
> -	};
> -
> -	soc {
> -		clocks {
> -			osc1 {
> -				clock-frequency = <25000000>;
> -			};
> -		};
> -	};
> -};
> -
> -&gmac0 {
> -	status = "okay";
> -	phy-mode = "rgmii";
> -	phy-handle = <&phy0>;
> -	max-frame-size = <9000>;
> -
> -	mdio0 {
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		compatible = "snps,dwmac-mdio";
> -		phy0: ethernet-phy at 0 {
> -			reg = <4>;
> -
> -			txd0-skew-ps = <0>; /* -420ps */
> -			txd1-skew-ps = <0>; /* -420ps */
> -			txd2-skew-ps = <0>; /* -420ps */
> -			txd3-skew-ps = <0>; /* -420ps */
> -			rxd0-skew-ps = <420>; /* 0ps */
> -			rxd1-skew-ps = <420>; /* 0ps */
> -			rxd2-skew-ps = <420>; /* 0ps */
> -			rxd3-skew-ps = <420>; /* 0ps */
> -			txen-skew-ps = <0>; /* -420ps */
> -			txc-skew-ps = <900>; /* 0ps */
> -			rxdv-skew-ps = <420>; /* 0ps */
> -			rxc-skew-ps = <1680>; /* 780ps */
> -		};
> -	};
> -};
> -
> -&gpio1 {
> -	status = "okay";
> -};
> -
> -&mmc {
> -	status = "okay";
> -	cap-sd-highspeed;
> -	broken-cd;
> -	bus-width = <4>;
> -};
> -
> -&qspi {
> -	status = "okay";
> -	flash0: flash at 0 {
> -		#address-cells = <1>;
> -		#size-cells = <1>;
> -		compatible = "mt25qu02g";
> -		reg = <0>;
> -		spi-max-frequency = <100000000>;
> -
> -		m25p,fast-read;
> -		cdns,page-size = <256>;
> -		cdns,block-size = <16>;
> -		cdns,read-delay = <3>;
> -		cdns,tshsl-ns = <50>;
> -		cdns,tsd2d-ns = <50>;
> -		cdns,tchsh-ns = <4>;
> -		cdns,tslch-ns = <4>;
> -
> -		partitions {
> -			compatible = "fixed-partitions";
> -			#address-cells = <1>;
> -			#size-cells = <1>;
> -
> -			qspi_boot: partition at 0 {
> -				label = "Boot and fpga data";
> -				reg = <0x0 0x034B0000>;
> -			};
> -
> -			qspi_rootfs: partition at 34B0000 {
> -				label = "Root Filesystem - JFFS2";
> -				reg = <0x034B0000 0x0EB50000>;
> -			};
> -		};
> -	};
> -};
> -
> -&uart0 {
> -	status = "okay";
> -};
> -
> -&usb0 {
> -	status = "okay";
> -};
> -
> -&usb1 {
> -	status = "okay";
> -};
> diff --git a/configs/socfpga_n5x_defconfig b/configs/socfpga_n5x_defconfig
> index fc988ed3da2..d706366337f 100644
> --- a/configs/socfpga_n5x_defconfig
> +++ b/configs/socfpga_n5x_defconfig
> @@ -10,7 +10,7 @@ CONFIG_SF_DEFAULT_MODE=0x2003
>   CONFIG_ENV_SIZE=0x1000
>   CONFIG_ENV_OFFSET=0x200
>   CONFIG_DM_GPIO=y
> -CONFIG_DEFAULT_DEVICE_TREE="socfpga_n5x_socdk"
> +CONFIG_DEFAULT_DEVICE_TREE="intel/socfpga_n5x_socdk"
>   CONFIG_DM_RESET=y
>   CONFIG_SPL_STACK=0xffe3f000
>   CONFIG_SPL_TEXT_BASE=0xFFE00000
> @@ -63,6 +63,7 @@ CONFIG_CMD_CACHE=y
>   CONFIG_CMD_EXT4=y
>   CONFIG_CMD_FAT=y
>   CONFIG_CMD_FS_GENERIC=y
> +CONFIG_OF_UPSTREAM=y
>   CONFIG_ENV_IS_IN_MMC=y
>   CONFIG_NET_RANDOM_ETHADDR=y
>   CONFIG_SPL_DM_SEQ_ALIAS=y


Reviewed-by: Tien Fong Chee <tien.fong.chee at altera.com>

Best regards,
Tien Fong



More information about the U-Boot mailing list