Re: [PATCH v3 5/5] arm64: dts: ti: iot2050: Add support for product generation 2 boards

From: Nishanth Menon
Date: Tue Sep 14 2021 - 16:15:35 EST


On 21:41-20210909, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
>
> This adds the devices trees for IOT2050 Product Generation 2 (PG2)
> boards. We have Basic and an Advanced variants again, differing in
> number of cores, RAM size, availability of eMMC and further details.
> The major difference to PG1 is the used silicon revision (SR2.x on
> PG2).
>
> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/ti/Makefile | 2 +
> .../dts/ti/k3-am65-iot2050-common-pg2.dtsi | 51 +++++++++++++++++++
> .../dts/ti/k3-am6528-iot2050-basic-pg2.dts | 24 +++++++++
> .../dts/ti/k3-am6548-iot2050-advanced-pg2.dts | 29 +++++++++++
> 4 files changed, 106 insertions(+)
> create mode 100644 arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg2.dtsi
> create mode 100644 arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-pg2.dts
> create mode 100644 arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-pg2.dts
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index d56c742f5a10..41a4bc96e6bd 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -8,7 +8,9 @@
>
> dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic-pg2.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
>
> dtb-$(CONFIG_ARCH_K3) += k3-j721e-common-proc-board.dtb
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg2.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg2.dtsi
> new file mode 100644
> index 000000000000..2323628b0444
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg2.dtsi
> @@ -0,0 +1,51 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) Siemens AG, 2021
> + *
> + * Authors:
> + * Chao Zeng <chao.zeng@xxxxxxxxxxx>
> + * Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> + *
> + * Common bits of the IOT2050 Basic and Advanced variants, PG2
> + */
> +
> +&main_pmx0 {
> + cp2102n_reset_pin_default: cp2102n_reset_pin_default {

cp2102n_reset_pin_default: cp2102n-reset-pin-default

> + pinctrl-single,pins = <
> + /* (AF12) GPIO1_24, used as cp2102 reset */
> + AM65X_IOPAD(0x01e0, PIN_OUTPUT, 7)
> + >;
> + };
> +};
> +
> +&main_gpio1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&cp2102n_reset_pin_default>;
> + gpio-line-names =
> + "", "", "", "", "", "", "", "", "", "",
> + "", "", "", "", "", "", "", "", "", "",
> + "", "", "", "", "CP2102N-RESET";
> +};
> +
> +&dss {
> + /* Workaround needed to get DP clock of 154Mhz */
> + assigned-clocks = <&k3_clks 67 0>;
> +};
> +
> +&serdes0 {
> + assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
> + assigned-clock-parents = <&k3_clks 153 7>, <&k3_clks 153 4>;
> +};
> +
> +&dwc3_0 {
> + assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
> + <&k3_clks 151 8>; /* set PIPE3_TXB_CLK to WIZ8B2M4VSB */
> + phys = <&serdes0 PHY_TYPE_USB3 0>;
> + phy-names = "usb3-phy";
> +};
> +
> +&usb0_phy {
> + maximum-speed = "super-speed";
> + snps,dis-u1-entry-quirk;
> + snps,dis-u2-entry-quirk;
> +};
> diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-pg2.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-pg2.dts
> new file mode 100644
> index 000000000000..c62549a4b436
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-pg2.dts
> @@ -0,0 +1,24 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) Siemens AG, 2018-2021
> + *
> + * Authors:
> + * Le Jin <le.jin@xxxxxxxxxxx>
> + * Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> + *
> + * AM6528-based (dual-core) IOT2050 Basic variant, Product Generation 2
> + * 1 GB RAM, no eMMC, main_uart0 on connector X30
> + *
> + * Product homepage:
> + * https://new.siemens.com/global/en/products/automation/pc-based/iot-gateways/simatic-iot2050.html
> + */
> +
> +/dts-v1/;
> +
> +#include "k3-am6528-iot2050-basic-common.dtsi"
> +#include "k3-am65-iot2050-common-pg2.dtsi"
> +
> +/ {
> + compatible = "siemens,iot2050-basic-pg2", "ti,am654";
> + model = "SIMATIC IOT2050 Basic PG2";
> +};
> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-pg2.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-pg2.dts
> new file mode 100644
> index 000000000000..f00dc86d01b9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-pg2.dts
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) Siemens AG, 2018-2021
> + *
> + * Authors:
> + * Le Jin <le.jin@xxxxxxxxxxx>
> + * Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> + *
> + * AM6548-based (quad-core) IOT2050 Advanced variant, Product Generation 2
> + * 2 GB RAM, 16 GB eMMC, USB-serial converter on connector X30
> + *
> + * Product homepage:
> + * https://new.siemens.com/global/en/products/automation/pc-based/iot-gateways/simatic-iot2050.html
> + */
> +
> +/dts-v1/;
> +
> +#include "k3-am6548-iot2050-advanced-common.dtsi"
> +#include "k3-am65-iot2050-common-pg2.dtsi"
> +
> +/ {
> + compatible = "siemens,iot2050-advanced-pg2", "ti,am654";

^^ siemens,iot2050-basic-pg2 -> needs a yaml update?

> + model = "SIMATIC IOT2050 Advanced PG2";
> +};
> +
> +&mcu_r5fss0 {
> + /* lock-step mode not supported on this board */
> + ti,cluster-mode = <0>;
> +};
> --
> 2.31.1
>

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D