[Buildroot] [PATCH v1 1/1] configs/zynqmp_kria_kv260_defconfig: fix linux dts name

Frager, Neal neal.frager at amd.com
Sun Dec 11 17:55:28 UTC 2022


Hello Thomas,

> The Linux DTS name has changed for the zynqmp_kria_kv260 with Xilinx 2022.2.
> 
> Signed-off-by: Neal Frager <mailto:neal.frager at amd.com>
> ---
>  configs/zynqmp_kria_kv260_defconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configs/zynqmp_kria_kv260_defconfig 
> b/configs/zynqmp_kria_kv260_defconfig
> index df01ad30b8..aef67b3cb4 100644
> --- a/configs/zynqmp_kria_kv260_defconfig
> +++ b/configs/zynqmp_kria_kv260_defconfig
> @@ -8,7 +8,7 @@ BR2_LINUX_KERNEL_CUSTOM_TARBALL=y  
> BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz"
>  BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp"
>  BR2_LINUX_KERNEL_DTS_SUPPORT=y
> -BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/smk-k26-revA-sck-kv-g-revB"
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k26-revA-sck-kv-g-revB"

> Do you test your patches before sending them? Because it's quite worrying to have some many fixes.

I understand, and I promise to do a better job in the future to diligently test both building and running on hardware before submitting patches in the future.

> And in fact, it seems this patch is also broken: there is no Device Tree named zynqmp-smk-k26-revA-sck-kv-g-revB.dts:

> $ make zynqmp_kria_kv260_defconfig
> $ make linux-patch
> $ find output/build/linux-custom/ -name 'zynqmp-smk-k26-revA-sck-kv-g-revB.dts'

I have done a full build and run test on all of these patches you have been committing, including this one.

If you look in the dts Makefile for Xilinx zynqmp and versal products, you will find the following:

zynqmp-sm-k26-revA-sck-kv-g-revA-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo
zynqmp-sm-k26-revA-sck-kv-g-revB-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo
zynqmp-smk-k26-revA-sck-kv-g-revA-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo
zynqmp-smk-k26-revA-sck-kv-g-revB-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo

zynqmp-sm-k26-revA-sck-kr-g-revA-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kr-g-revA.dtbo
zynqmp-sm-k26-revA-sck-kr-g-revB-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kr-g-revB.dtbo
zynqmp-smk-k26-revA-sck-kr-g-revA-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kr-g-revA.dtbo
zynqmp-smk-k26-revA-sck-kr-g-revB-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kr-g-revB.dtbo

dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kv-g-revA.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kv-g-revB.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kv-g-revA.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kv-g-revB.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kr-g-revA.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kr-g-revB.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kr-g-revA.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kr-g-revB.dtb

You can see this in the Makefile here:
https://github.com/Xilinx/linux-xlnx/blob/xlnx_rebase_v5.15_2022.2/arch/arm64/boot/dts/xilinx/Makefile

Essentially, the Kria Starter Kits have a SOM board (sm-k26-revA) and a carrier board (sck-kv-g-revX for kv260 and sck-kr-g-revX for kr260).

With this Makefile, Linux is able to apply the carrier board device tree as an overlay for the SOM board to generate the complete device tree for the starter kit.

This is what is currently missing in u-boot, and why u-boot requires an extra script for creating the proper device tree for the u-boot.itb.  Linux does not require this.

I apologize for submitting bugs into buildroot with my 2022.2 bump patches for zynqmp and I promise to do a better job in the future.

Best regards,
Neal Frager
AMD



More information about the buildroot mailing list