kumquat-buildroot/board/zynqmp/kria/readme.txt

117 lines
3.4 KiB
Plaintext
Raw Normal View History

**************************************************
Xilinx Kria SOM Starter Kits - ZynqMP SoC
**************************************************
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
This document describes the Buildroot support for the Kria KD240,
KR260 and KV260 starter kits by Xilinx, based on Kria SOM including the
Zynq UltraScale+ MPSoC (aka ZynqMP). It has been tested with
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
the KD240, KR260 and KV260 production boards.
Evaluation board features can be found here with the links below.
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
KD240:
https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html
KR260:
https://www.xilinx.com/products/som/kria/kr260-robotics-starter-kit.html
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
KV260:
https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit.html
How to build it
===============
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
Configure Buildroot: (use the command for the specific board)
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
$ make zynqmp_kria_kd240_defconfig
$ make zynqmp_kria_kr260_defconfig
$ make zynqmp_kria_kv260_defconfig
Compile everything and build the rootfs image:
$ make
Result of the build
-------------------
After building, you should get a tree like this:
output/images/
+-- atf-uboot.ub
+-- bl31.bin
+-- boot.bin
+-- boot.vfat
+-- Image
+-- rootfs.ext2
+-- rootfs.ext4 -> rootfs.ext2
+-- sdcard.img
+-- system.dtb -> smk-k26-revA-sck-kv-g-revB.dtb
+-- u-boot.itb
`-- smk-k26-revA-sck-kv-g-revB.dtb
How to write the SD card
========================
WARNING! This will destroy all the card content. Use with care!
The sdcard.img file is a complete bootable image ready to be written
on the boot medium. To install it, simply copy the image to an SD
card:
# dd if=output/images/sdcard.img of=/dev/sdX
Where 'sdX' is the device node of the SD.
Eject the SD card, insert it in the board, and power it up.
How to write boot.bin and u-boot.itb to QSPI boot flash
=======================================================
The Kria SOMs are preconfigured to boot initially from QSPI.
This makes these boards different from other ZynqMP boards
in that the boot.bin and u-boot.itb files need to be flashed
into the QSPI boot flash such that U-Boot can then load all
of the remaining images from the SD card.
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
In addition, the Kria Starter Kits QSPI comes pre-flashed with
a utility designed to make updating the QSPI flash memory
easier.
Instructions for using these utilities to update the files
in QSPI flash can be found on the wiki link below.
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM#Boot-Firmware-Updates
Additionally, it is possible to use u-boot for updating the
QSPI with new boot.bin and u-boot.itb images with the u-boot
commands below.
KV260 Flashing Instructions:
Flashing u-boot.itb:
$ sf probe
$ fatload mmc 1 0x1000000 u-boot.itb
$ sf erase 0xf80000 +$filesize
$ sf write 0x1000000 0xf80000 $filesize
Flashing boot.bin:
$ sf probe
$ fatload mmc 1 0x1000000 boot.bin
$ sf erase 0x200000 +$filesize
$ sf write 0x1000000 0x200000 $filesize
configs/zynqmp_kria_kd240_defconfig: new defconfig This patch adds support for Xilinx Kria KD240 starter kit. KD240 features can be found here: https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html While the Kria SOM is based on a ZynqMP SoC, there are some key boot config differences from the other ZynqMP evaluation boards. 1. There are no boot switches on Kria SOMs. The boot mode is thus hard configured for QSPI flash. A pre-programmed boot.bin comes with every Starter Kit. U-Boot can then find the Linux kernel and file system on the SD card. Optional instructions for updating the boot.bin in the QSPI flash can be found in the readme.txt file and the link below. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM 2. Kria SOMs use UART1 for the console instead of UART0. For this reason, Kria Starter Kits will use a separate extlinux.conf file from other ZynqMP evaluation boards. 3. The KD240 has a USB to SD card bridge, so the Linux kernel and file system are found on /dev/sda1 and /dev/sda2. 4. The following patches have been submitted upstream to u-boot. Without these patches, the usb, sd card and ethernet peripherals do not work correctly. https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> [Peter: add upstream tag, drop patch numbering from patches] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-12-13 14:48:49 +01:00
KD240 / KR260 Flashing Instructions:
Flashing u-boot.itb:
$ sf probe
$ fatload usb 0 0x1000000 u-boot.itb
$ sf erase 0xf80000 +$filesize
$ sf write 0x1000000 0xf80000 $filesize
Flashing boot.bin:
$ sf probe
$ fatload usb 0 0x1000000 boot.bin
$ sf erase 0x200000 +$filesize
$ sf write 0x1000000 0x200000 $filesize
It is possible to boot the Buildroot generated SD card image without
updating the QSPI boot.bin image, so this is an optional step.