[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