[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210624203604.GA1938341@robh.at.kernel.org>
Date: Thu, 24 Jun 2021 14:36:04 -0600
From: Rob Herring <robh@...nel.org>
To: Michal Simek <michal.simek@...inx.com>
Cc: linux-kernel@...r.kernel.org, monstr@...str.eu, git@...inx.com,
Viresh Kumar <viresh.kumar@...aro.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Krzysztof Kozlowski <krzk@...nel.org>,
Michael Walle <michael@...le.cc>, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v2 33/33] arm64: zynqmp: Add support for Xilinx Kria SOM
board
On Mon, Jun 14, 2021 at 05:25:41PM +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@...inx.com>
> ---
>
> 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
> ---
> .../devicetree/bindings/arm/xilinx.yaml | 31 ++
> arch/arm64/boot/dts/xilinx/Makefile | 10 +
> .../boot/dts/xilinx/zynqmp-sck-kv-g-revA.dts | 335 ++++++++++++++++++
> .../boot/dts/xilinx/zynqmp-sck-kv-g-revB.dts | 318 +++++++++++++++++
> .../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 289 +++++++++++++++
> .../boot/dts/xilinx/zynqmp-smk-k26-revA.dts | 21 ++
It does not appear to me that the schema matches the dts files. You did
check that, right?
> 6 files changed, 1004 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..1a4a03dfaf7f 100644
> --- a/Documentation/devicetree/bindings/arm/xilinx.yaml
> +++ b/Documentation/devicetree/bindings/arm/xilinx.yaml
> @@ -116,6 +116,37 @@ 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
So rev1 is compatible with revB is compatible with revA, but revA and
revB don't exist on their own?
> + - 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
> +
> + - description: Xilinx Kria Carrier Cards (revA/Y/Z)
> + items:
> + - const: xlnx,zynqmp-sk-kv260-revZ
> + - const: xlnx,zynqmp-sk-kv260-revY
> + - const: xlnx,zynqmp-sk-kv260-revA
> + - const: xlnx,zynqmp-sk-k260
> + - const: xlnx,zynqmp
> +
> + - description: Xilinx Kria Carrier Cards (revB/1)
> + items:
> + - const: xlnx,zynqmp-sk-kv260-rev1
> + - const: xlnx,zynqmp-sk-kv260-revB
> + - const: xlnx,zynqmp-sk-k260
> + - const: xlnx,zynqmp
> +
> additionalProperties: true
>
> ...
> diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile
> index 083ed52337fd..8e43bef2c57e 100644
> --- a/arch/arm64/boot/dts/xilinx/Makefile
> +++ b/arch/arm64/boot/dts/xilinx/Makefile
> @@ -17,3 +17,13 @@ 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
> +
> +som-AA-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo
> +som-AB-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo
> +starter-AA-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo
> +starter-AB-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo
> +
> +dtb-$(CONFIG_ARCH_ZYNQMP) += som-AA.dtb som-AB.dtb starter-AA.dtb starter-AB.dtb
> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dts
> new file mode 100644
> index 000000000000..59d5751e0634
> --- /dev/null
> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-sck-kv-g-revA.dts
> @@ -0,0 +1,335 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * dts file for KV260 revA Carrier Card
> + *
> + * (C) Copyright 2020 - 2021, Xilinx, Inc.
> + *
> + * SD level shifter:
> + * "A" – A01 board un-modified (NXP)
> + * "Y" – A01 board modified with legacy interposer (Nexperia)
> + * "Z" – A01 board modified with Diode interposer
> + *
> + * Michal Simek <michal.simek@...inx.com>
> + */
> +
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/net/ti-dp83867.h>
> + #include <dt-bindings/phy/phy.h>
> + #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
> +
> +/dts-v1/;
> +/plugin/;
> +
> +&{/} {
> + compatible = "xlnx,zynqmp-sk-kv260-revA",
> + "xlnx,zynqmp-sk-kv260-revY",
> + "xlnx,zynqmp-sk-kv260-revZ",
The order above is Z, Y, A.
> + "xlnx,zynqmp-sk-kv260", "xlnx,zynqmp";
> +};
Powered by blists - more mailing lists