[PATCH v1 7/8] arch: arm: dts: n5x : Switch to using upstream Linux DT config
Chee, Tien Fong
tien.fong.chee at altera.com
Wed Apr 22 11:28:50 CEST 2026
Hi Lok,
On 18/3/2026 11:17 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>
> ---
> 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";
upstream DTS has this compatible defined, so the overrides is redundant.
> };
>
> &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;
This is contradictory. Setting a property and then deleting it in the
same board overlay is nonsensical.
The intent is unclear, if read-delay should not be set, don't add it; if
it should be set, don't delete it.
Best regards,
Tien Fong
More information about the U-Boot
mailing list