kumquat-buildroot/board/zynqmp/kria
Neal Frager da7b674d91 configs/zynqmp_kria_xxx_defconfig: uboot dp pll patch
This patch fixes the DP audio and video PLL configurations for the zynqmp-sm-k26-revA som.
It needs to be applied for both the kv260 and kr260 starter kits.

The Linux DP driver expects the DP to be using the following PLL config:
  - DP video PLL should use the VPLL (0x0)
  - DP audio PLL should use the RPLL (0x3)
  - DP system time clock PLL should use RPLL (0x3)

Register 0xFD1A0070 configures the DP video PLL.
Register 0xFD1A0074 configures the DP audio PLL.
Register 0xFD1A007C configures the DP system time clock PLL.

This patch was build and run tested on a zynqmp-kria-kv260 target board.

Upstream-Status: submitted (https://lore.kernel.org/all/fa7e9abc419c9d7648405d1c62367dbe701d09b8.1652709736.git.michal.simek@amd.com/)
This patch will be removed from buildroot in a future release when no longer necessary.

Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-07-01 17:02:15 +02:00
..
kv260 configs/zynqmp_kria_kv260_defconfig: fix to u-boot.itb generation 2022-06-22 22:24:03 +02:00
patches/uboot configs/zynqmp_kria_xxx_defconfig: uboot dp pll patch 2022-07-01 17:02:15 +02:00
readme.txt board/zynqmp/kria/readme.txt: improve documentation for qspi programming 2022-07-01 16:27:30 +02:00

**************************************************
Xilinx Kria SOM Starter Kits - ZynqMP SoC
**************************************************

This document describes the Buildroot support for the Kria 
KV260 starter kit by Xilinx, based on Kria SOM including the 
Zynq UltraScale+ MPSoC (aka ZynqMP).  It has been tested with 
the KV260 production board.

Evaluation board features can be found here with the link below.

KV260:
https://www.xilinx.com/products/boards-and-kits/kv260.html

How to build it
===============

Configure Buildroot:

    $ 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.

In addition, the KV260 Starter Kit 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:

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

It is possible to boot the Buildroot generated SD card image without
updating the QSPI boot.bin image, so this is an optional step.