Re: [PATCH v4] arm64: zynqmp: Add support for Xilinx Kria SOM board

From: Rob Herring
Date: Tue Sep 21 2021 - 17:30:34 EST


On Wed, Sep 15, 2021 at 11:24:58AM +0200, Michal Simek wrote:
> There are couple of revisions of SOMs (k26) and associated carrier cards
> (kv260).
> SOM itself has two major versions:
> sm-k26 - SOM with EMMC
> smk-k26 - SOM without EMMC used on starter kit with preprogrammed firmware
> in QSPI.
>
> SOMs are describing only devices available on the SOM or connections which
> are described in specification (for example UART, fwuen).
>
> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
> ---
>
> Changes in v4:
> - Remove ina260 and usb5744 nodes
> - Remove compatible string from overlays
>
> Changes in v3:
> - Fix led node name
> - Fix compatible string for xlnx,zynqmp-sk-kv260-revA/Y/Z
> - Fix headers alignment
> - Move USB3 PHY properties from DWC3 node to USB node - reported by Manish
> Narani
> - Change dtb names generated with dtbo
> - Fix emmc comment style
>
> Changes in v2:
> - Use sugar syntax - reported by Geert
> - Update copyright years
> - Fix SD3.0 comment alignment
> - Remove one newline from Makefile
>
> https://www.xilinx.com/products/som/kria.html
> Based on
> https://lore.kernel.org/r/cover.1628244703.git.michal.simek@xxxxxxxxxx
>
> ---
> .../devicetree/bindings/arm/xilinx.yaml | 16 +
> arch/arm64/boot/dts/xilinx/Makefile | 13 +
> .../boot/dts/xilinx/zynqmp-sck-kv-g-revA.dts | 315 ++++++++++++++++++
> .../boot/dts/xilinx/zynqmp-sck-kv-g-revB.dts | 298 +++++++++++++++++
> .../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 289 ++++++++++++++++
> .../boot/dts/xilinx/zynqmp-smk-k26-revA.dts | 21 ++
> 6 files changed, 952 insertions(+)
> create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dts
> create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revB.dts
> create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-sm-k26-revA.dts
> create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-smk-k26-revA.dts
>
> diff --git a/Documentation/devicetree/bindings/arm/xilinx.yaml b/Documentation/devicetree/bindings/arm/xilinx.yaml
> index a0b1ae6e3e71..4dc0e0195974 100644
> --- a/Documentation/devicetree/bindings/arm/xilinx.yaml
> +++ b/Documentation/devicetree/bindings/arm/xilinx.yaml
> @@ -116,6 +116,22 @@ properties:
> - const: xlnx,zynqmp-zcu111
> - const: xlnx,zynqmp
>
> + - description: Xilinx Kria SOMs
> + items:
> + - const: xlnx,zynqmp-sm-k26-rev1
> + - const: xlnx,zynqmp-sm-k26-revB
> + - const: xlnx,zynqmp-sm-k26-revA
> + - const: xlnx,zynqmp-sm-k26
> + - const: xlnx,zynqmp
> +
> + - description: Xilinx Kria SOMs (starter)
> + items:
> + - const: xlnx,zynqmp-smk-k26-rev1
> + - const: xlnx,zynqmp-smk-k26-revB
> + - const: xlnx,zynqmp-smk-k26-revA
> + - const: xlnx,zynqmp-smk-k26
> + - const: xlnx,zynqmp
> +
> additionalProperties: true
>
> ...
> diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile
> index 083ed52337fd..4e159540d031 100644
> --- a/arch/arm64/boot/dts/xilinx/Makefile
> +++ b/arch/arm64/boot/dts/xilinx/Makefile
> @@ -17,3 +17,16 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revA.dtb
> dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revC.dtb
> dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu106-revA.dtb
> dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu111-revA.dtb
> +
> +dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA.dtb
> +dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA.dtb
> +
> +sm-k26-revA-sck-kv-g-revA-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo
> +sm-k26-revA-sck-kv-g-revB-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo
> +smk-k26-revA-sm-k26-revA-sck-kv-g-revA-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo
> +smk-k26-revA-sm-k26-revA-sck-kv-g-revB-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo

I assume there is some value in these being overlays? I probably asked
that already too, but don't remember. Please explain in the commit
message so we capture that.

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