[PATCH v1 7/8] arch: arm: dts: n5x : Switch to using upstream Linux DT config
Chen Huei Lok
chen.huei.lok at altera.com
Wed Mar 18 04:17:07 CET 2026
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>
---
arch/arm/dts/Makefile | 1 -
arch/arm/dts/socfpga_n5x-u-boot.dtsi | 18 ++-
arch/arm/dts/socfpga_n5x_socdk-u-boot.dtsi | 20 +++-
arch/arm/dts/socfpga_n5x_socdk.dts | 122 ---------------------
configs/socfpga_n5x_defconfig | 3 +-
5 files changed, 33 insertions(+), 131 deletions(-)
delete mode 100644 arch/arm/dts/socfpga_n5x_socdk.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 82ad3035308..3c62b784ffe 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -469,7 +469,6 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \
socfpga_cyclone5_socrates.dtb \
socfpga_cyclone5_sr1500.dtb \
socfpga_cyclone5_vining_fpga.dtb \
- socfpga_n5x_socdk.dtb \
socfpga_stratix10_socdk.dtb
dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \
diff --git a/arch/arm/dts/socfpga_n5x-u-boot.dtsi b/arch/arm/dts/socfpga_n5x-u-boot.dtsi
index 326ba722a25..477af977f78 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,15 @@
&qspi {
bootph-all;
+ compatible = "cdns,qspi-nor";
+ flash0: flash at 0 {
+ };
+};
+
+&flash0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
};
&rst {
@@ -200,7 +215,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 bc2fb91dfb5..f013ed49cd3 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,21 @@
};
&flash0 {
- compatible = "jedec,spi-nor";
+ reg = <0>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
+ spi-max-frequency = <100000000>;
bootph-all;
+
+ m25p,fast-read;
+ cdns,page-size = <256>;
+ cdns,block-size = <16>;
+ cdns,read-delay = <1>;
+ cdns,tshsl-ns = <50>;
+ cdns,tsd2d-ns = <50>;
+ cdns,tchsh-ns = <4>;
+ cdns,tslch-ns = <4>;
+ /delete-property/ cdns,read-delay;
};
&i2c1 {
diff --git a/arch/arm/dts/socfpga_n5x_socdk.dts b/arch/arm/dts/socfpga_n5x_socdk.dts
deleted file mode 100644
index fe5462aff43..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 at 0 {
- 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 6e55987d310..db43046a9f3 100644
--- a/configs/socfpga_n5x_defconfig
+++ b/configs/socfpga_n5x_defconfig
@@ -11,7 +11,8 @@ 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_OF_UPSTREAM=y
CONFIG_DM_RESET=y
CONFIG_SPL_STACK=0xffe3f000
CONFIG_SPL_TEXT_BASE=0xFFE00000
--
2.19.0
More information about the U-Boot
mailing list