[PATCH v2 1/9] arch: arm: dts: stratix10: Switch to using upstream Linux DT config

Chee, Tien Fong tien.fong.chee at altera.com
Thu May 7 10:37:15 CEST 2026


Hi Alif,


On 28/4/2026 11:48 am, alif.zakuan.yuslaimi at altera.com wrote:
> From: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
>
> Migrate the legacy Stratix10 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: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
> ---


Please add the change log for each version.


>   arch/arm/dts/Makefile                         |   3 +-
>   arch/arm/dts/socfpga_stratix10-u-boot.dtsi    | 158 +++++++
>   arch/arm/dts/socfpga_stratix10.dtsi           | 430 ------------------
>   .../dts/socfpga_stratix10_socdk-u-boot.dtsi   | 143 +++++-
>   arch/arm/dts/socfpga_stratix10_socdk.dts      | 143 ------
>   configs/socfpga_stratix10_defconfig           |   3 +-
>   6 files changed, 286 insertions(+), 594 deletions(-)
>   delete mode 100644 arch/arm/dts/socfpga_stratix10.dtsi
>   delete mode 100644 arch/arm/dts/socfpga_stratix10_socdk.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index bff341d6118..2832123218f 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -460,8 +460,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) +=				\
>   	socfpga_cyclone5_vining_fpga.dtb		\
>   	socfpga_cyclone5_ac501soc.dtb			\
>   	socfpga_cyclone5_ac550soc.dtb			\
> -	socfpga_n5x_socdk.dtb				\
> -	socfpga_stratix10_socdk.dtb
> +	socfpga_n5x_socdk.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_stratix10-u-boot.dtsi b/arch/arm/dts/socfpga_stratix10-u-boot.dtsi
> index 3e3a3780469..a3b4c0564f9 100644
> --- a/arch/arm/dts/socfpga_stratix10-u-boot.dtsi
> +++ b/arch/arm/dts/socfpga_stratix10-u-boot.dtsi
> @@ -3,6 +3,164 @@
>    * U-Boot additions
>    *
>    * Copyright (C) 2020 Intel Corporation <www.intel.com>
> + * Copyright (C) 2026 Altera Corporation <www.altera.com>
>    */
>   
>   #include "socfpga_soc64_fit-u-boot.dtsi"
> +
> +/{
> +	aliases {
> +		spi0 = &qspi;
> +		i2c0 = &i2c1;
> +		freeze_br0 = &freeze_controller;
> +	};
> +
> +	memory at 0 {
> +		device_type = "memory";
> +		#address-cells = <2>;
> +		#size-cells = <2>;


make dtbs_check (Linux dt-validate) will flag it as a schema violation 
since memory nodes must not define #address-cells / #size-cells because 
no child node according to the dt spec.

Remove both properties from the memory at 0

[...]


> diff --git a/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi b/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> index ef0df769762..da19943ec3b 100644
> --- a/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> +++ b/arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi
> @@ -3,47 +3,154 @@
>    * U-Boot additions
>    *
>    * Copyright (C) 2019-2022 Intel Corporation <www.intel.com>
> + * Copyright (C) 2026 Altera Corporation <www.altera.com>
>    */
>   
>   #include "socfpga_stratix10-u-boot.dtsi"
>   
>   /{
> -	aliases {
> -		spi0 = &qspi;
> -		freeze_br0 = &freeze_controller;
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +		u-boot,spl-boot-order = &mmc,&flash0,&nand;
>   	};
>   
> -	soc {
> -		freeze_controller: freeze_controller at f9000450 {
> -			compatible = "altr,freeze-bridge-controller";
> -			reg = <0xf9000450 0x00000010>;
> -			status = "disabled";
> +	memory at 0 {
> +		/* 4GB */
> +		reg = <0 0x00000000 0 0x80000000>,
> +		      <1 0x80000000 0 0x80000000>;
> +	};
> +};
> +
> +&qspi {
> +	status = "okay";
> +};
> +
> +&gmac0 {
> +	mdio0 {
> +		ethernet_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 */
>   		};
>   	};
>   };
>   
> -&clkmgr {
> +&mmc {
> +	drvsel = <3>;
> +	smplsel = <2>;
>   	bootph-all;
>   };
>   
>   &qspi {
> -	status = "okay";
> -	bootph-all;
> +	/delete-property/ clocks;
>   };
>   
>   &flash0 {
> -	compatible = "jedec,spi-nor";
> -	spi-max-frequency = <100000000>;
> +	reg = <0>;
>   	spi-tx-bus-width = <4>;
>   	spi-rx-bus-width = <4>;
>   	bootph-all;
> +
> +	m25p,fast-read;
> +	cdns,page-size = <256>;
> +	cdns,block-size = <16>;
> +	cdns,tshsl-ns = <50>;
> +	cdns,tsd2d-ns = <50>;
> +	cdns,tchsh-ns = <4>;
> +	cdns,tslch-ns = <4>;
> +	/delete-property/ cdns,read-delay;
> +
> +	partitions {
> +		compatible = "fixed-partitions";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		qspi_boot: partition at 0 {
> +			label = "u-boot";
> +			reg = <0x0 0x04200000>;
> +		};
> +
> +		root: partition at 4200000 {
> +			label = "root";
> +			reg = <0x04200000 0x0BE00000>;
> +		};
> +	};
>   };
>   
> -&sysmgr {
> -	bootph-all;
> +&fdt_0_blob {
> +	filename = "dts/upstream/src/arm64/altera/socfpga_stratix10_socdk.dtb";
>   };
>   
> -&watchdog0 {
> -	status = "okay";
> -	bootph-all;
> +&images {
> +	fdt-1 {
> +		description = "socfpga_socdk_nand";
> +		type = "flat_dt";
> +		compression = "none";
> +		fdt_1_blob: blob-ext {
> +			filename = "dts/upstream/src/arm64/altera/socfpga_stratix10_socdk_nand.dtb";
> +		};
> +		hash {
> +			algo = "crc32";
> +		};
> +	};
> +
> +	fdt-2 {
> +		description = "socfpga_socdk_emmc";
> +		type = "flat_dt";
> +		compression = "none";
> +		fdt_2_blob: blob-ext {
> +			filename = "dts/upstream/src/arm64/altera/socfpga_stratix10_socdk_emmc.dtb";


This file is absent. Binman references 
dts/upstream/src/arm64/altera/socfpga_stratix10_socdk_emmc.dtb.

If those source DTS files do not exist in the upstream tree, binman 
fails with a file-not-found error at image build time


Best regards,

Tien Fong



More information about the U-Boot mailing list