123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360 |
- From 5a787ba2a83e7c3f97b17a3e85feba1194bff3b1 Mon Sep 17 00:00:00 2001
- From: Jan Kiszka <jan.kiszka@siemens.com>
- Date: Sun, 26 Sep 2021 14:05:16 +0200
- Subject: [PATCH] arm64: dts: ti: iot2050: Prepare for adding 2nd-generation
- boards
- The current IOT2050 devices are Product Generation 1 (PG1), using SR1.0
- AM65x silicon. Upcoming PG2 devices will use SR2.x SoCs and will
- therefore need separate device trees. Prepare for that by factoring out
- common bits that will be shared across both generations.
- At this chance, drop a link to the product homepage to in the top-level
- dts files. Also fix a typo in my email address in some headers.
- Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
- Signed-off-by: Nishanth Menon <nm@ti.com>
- Link: https://lore.kernel.org/r/31fece05f9728a852c0632985c4fa537cced4ece.1632657917.git.jan.kiszka@web.de
- ---
- .../dts/ti/k3-am65-iot2050-common-pg1.dtsi | 46 +++++++++++++++
- .../boot/dts/ti/k3-am65-iot2050-common.dtsi | 35 +-----------
- ...ts => k3-am6528-iot2050-basic-common.dtsi} | 12 +---
- .../boot/dts/ti/k3-am6528-iot2050-basic.dts | 56 +++----------------
- ...=> k3-am6548-iot2050-advanced-common.dtsi} | 8 +--
- .../dts/ti/k3-am6548-iot2050-advanced.dts | 50 +++--------------
- 6 files changed, 67 insertions(+), 140 deletions(-)
- create mode 100644 arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg1.dtsi
- copy arch/arm64/boot/dts/ti/{k3-am6528-iot2050-basic.dts => k3-am6528-iot2050-basic-common.dtsi} (80%)
- copy arch/arm64/boot/dts/ti/{k3-am6548-iot2050-advanced.dts => k3-am6548-iot2050-advanced-common.dtsi} (85%)
- diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg1.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg1.dtsi
- new file mode 100644
- index 000000000000..51f902fa35a7
- --- /dev/null
- +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common-pg1.dtsi
- @@ -0,0 +1,46 @@
- +// SPDX-License-Identifier: GPL-2.0
- +/*
- + * Copyright (c) Siemens AG, 2021
- + *
- + * Authors:
- + * Jan Kiszka <jan.kiszka@siemens.com>
- + *
- + * Common bits of the IOT2050 Basic and Advanced variants, PG1
- + */
- +
- +&dss {
- + assigned-clocks = <&k3_clks 67 2>;
- + assigned-clock-parents = <&k3_clks 67 5>;
- +};
- +
- +&serdes0 {
- + status = "disabled";
- +};
- +
- +&sdhci1 {
- + no-1-8-v;
- +};
- +
- +&tx_pru0_0 {
- + status = "disabled";
- +};
- +
- +&tx_pru0_1 {
- + status = "disabled";
- +};
- +
- +&tx_pru1_0 {
- + status = "disabled";
- +};
- +
- +&tx_pru1_1 {
- + status = "disabled";
- +};
- +
- +&tx_pru2_0 {
- + status = "disabled";
- +};
- +
- +&tx_pru2_1 {
- + status = "disabled";
- +};
- diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
- index b29537088289..65da226847f4 100644
- --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
- +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
- @@ -4,13 +4,11 @@
- *
- * Authors:
- * Le Jin <le.jin@siemens.com>
- - * Jan Kiszka <jan.kiszk@siemens.com>
- + * Jan Kiszka <jan.kiszka@siemens.com>
- *
- - * Common bits of the IOT2050 Basic and Advanced variants
- + * Common bits of the IOT2050 Basic and Advanced variants, PG1 and PG2
- */
-
- -/dts-v1/;
- -
- #include "k3-am654.dtsi"
- #include <dt-bindings/phy/phy.h>
-
- @@ -557,7 +555,6 @@ &sdhci1 {
- pinctrl-0 = <&main_mmc1_pins_default>;
- ti,driver-strength-ohm = <50>;
- disable-wp;
- - no-1-8-v;
- };
-
- &usb0 {
- @@ -631,10 +628,6 @@ dpi_out: endpoint {
- };
- };
-
- -&serdes0 {
- - status = "disabled";
- -};
- -
- &pcie0_rc {
- status = "disabled";
- };
- @@ -738,27 +731,3 @@ &icssg1_mdio {
- &icssg2_mdio {
- status = "disabled";
- };
- -
- -&tx_pru0_0 {
- - status = "disabled";
- -};
- -
- -&tx_pru0_1 {
- - status = "disabled";
- -};
- -
- -&tx_pru1_0 {
- - status = "disabled";
- -};
- -
- -&tx_pru1_1 {
- - status = "disabled";
- -};
- -
- -&tx_pru2_0 {
- - status = "disabled";
- -};
- -
- -&tx_pru2_1 {
- - status = "disabled";
- -};
- diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
- similarity index 80%
- copy from arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
- copy to arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
- index 94bb5dd39122..4a9bf7d7c07d 100644
- --- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
- +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
- @@ -4,20 +4,14 @@
- *
- * Authors:
- * Le Jin <le.jin@siemens.com>
- - * Jan Kiszka <jan.kiszk@siemens.com>
- + * Jan Kiszka <jan.kiszka@siemens.com>
- *
- - * AM6528-based (dual-core) IOT2050 Basic variant
- - * 1 GB RAM, no eMMC, main_uart0 on connector X30
- + * Common bits of the IOT2050 Basic variant, PG1 and PG2
- */
-
- -/dts-v1/;
- -
- #include "k3-am65-iot2050-common.dtsi"
-
- / {
- - compatible = "siemens,iot2050-basic", "ti,am654";
- - model = "SIMATIC IOT2050 Basic";
- -
- memory@80000000 {
- device_type = "memory";
- /* 1G RAM */
- @@ -61,6 +55,6 @@ &main_uart0 {
- };
-
- &mcu_r5fss0 {
- - /* lock-step mode not supported on this board */
- + /* lock-step mode not supported on Basic boards */
- ti,cluster-mode = <0>;
- };
- diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
- index 94bb5dd39122..87928ff28214 100644
- --- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
- +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
- @@ -4,63 +4,21 @@
- *
- * Authors:
- * Le Jin <le.jin@siemens.com>
- - * Jan Kiszka <jan.kiszk@siemens.com>
- + * Jan Kiszka <jan.kiszka@siemens.com>
- *
- - * AM6528-based (dual-core) IOT2050 Basic variant
- + * AM6528-based (dual-core) IOT2050 Basic variant, Product Generation 1
- * 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-am65-iot2050-common.dtsi"
- +#include "k3-am6528-iot2050-basic-common.dtsi"
- +#include "k3-am65-iot2050-common-pg1.dtsi"
-
- / {
- compatible = "siemens,iot2050-basic", "ti,am654";
- model = "SIMATIC IOT2050 Basic";
- -
- - memory@80000000 {
- - device_type = "memory";
- - /* 1G RAM */
- - reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
- - };
- -
- - cpus {
- - cpu-map {
- - /delete-node/ cluster1;
- - };
- - /delete-node/ cpu@100;
- - /delete-node/ cpu@101;
- - };
- -
- - /delete-node/ l2-cache1;
- -};
- -
- -/* eMMC */
- -&sdhci0 {
- - status = "disabled";
- -};
- -
- -&main_pmx0 {
- - main_uart0_pins_default: main-uart0-pins-default {
- - pinctrl-single,pins = <
- - AM65X_IOPAD(0x01e4, PIN_INPUT, 0) /* (AF11) UART0_RXD */
- - AM65X_IOPAD(0x01e8, PIN_OUTPUT, 0) /* (AE11) UART0_TXD */
- - AM65X_IOPAD(0x01ec, PIN_INPUT, 0) /* (AG11) UART0_CTSn */
- - AM65X_IOPAD(0x01f0, PIN_OUTPUT, 0) /* (AD11) UART0_RTSn */
- - AM65X_IOPAD(0x0188, PIN_INPUT, 1) /* (D25) UART0_DCDn */
- - AM65X_IOPAD(0x018c, PIN_INPUT, 1) /* (B26) UART0_DSRn */
- - AM65X_IOPAD(0x0190, PIN_OUTPUT, 1) /* (A24) UART0_DTRn */
- - AM65X_IOPAD(0x0194, PIN_INPUT, 1) /* (E24) UART0_RIN */
- - >;
- - };
- -};
- -
- -&main_uart0 {
- - pinctrl-names = "default";
- - pinctrl-0 = <&main_uart0_pins_default>;
- -};
- -
- -&mcu_r5fss0 {
- - /* lock-step mode not supported on this board */
- - ti,cluster-mode = <0>;
- };
- diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
- similarity index 85%
- copy from arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
- copy to arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
- index ec9617c13cdb..d25e8b26187f 100644
- --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
- +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
- @@ -4,10 +4,9 @@
- *
- * Authors:
- * Le Jin <le.jin@siemens.com>
- - * Jan Kiszka <jan.kiszk@siemens.com>
- + * Jan Kiszka <jan.kiszka@siemens.com>
- *
- - * AM6548-based (quad-core) IOT2050 Advanced variant
- - * 2 GB RAM, 16 GB eMMC, USB-serial converter on connector X30
- + * Common bits of the IOT2050 Advanced variant, PG1 and PG2
- */
-
- /dts-v1/;
- @@ -15,9 +14,6 @@
- #include "k3-am65-iot2050-common.dtsi"
-
- / {
- - compatible = "siemens,iot2050-advanced", "ti,am654";
- - model = "SIMATIC IOT2050 Advanced";
- -
- memory@80000000 {
- device_type = "memory";
- /* 2G RAM */
- diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
- index ec9617c13cdb..077f165bdc68 100644
- --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
- +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
- @@ -4,57 +4,21 @@
- *
- * Authors:
- * Le Jin <le.jin@siemens.com>
- - * Jan Kiszka <jan.kiszk@siemens.com>
- + * Jan Kiszka <jan.kiszka@siemens.com>
- *
- - * AM6548-based (quad-core) IOT2050 Advanced variant
- + * AM6548-based (quad-core) IOT2050 Advanced variant, Product Generation 1
- * 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-am65-iot2050-common.dtsi"
- +#include "k3-am6548-iot2050-advanced-common.dtsi"
- +#include "k3-am65-iot2050-common-pg1.dtsi"
-
- / {
- compatible = "siemens,iot2050-advanced", "ti,am654";
- model = "SIMATIC IOT2050 Advanced";
- -
- - memory@80000000 {
- - device_type = "memory";
- - /* 2G RAM */
- - reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
- - };
- -};
- -
- -&main_pmx0 {
- - main_mmc0_pins_default: main-mmc0-pins-default {
- - pinctrl-single,pins = <
- - AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
- - AM65X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
- - AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
- - AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
- - AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
- - AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
- - AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
- - AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
- - AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
- - AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
- - AM65X_IOPAD(0x01b8, PIN_OUTPUT_PULLUP, 7) /* (B23) MMC0_SDWP */
- - AM65X_IOPAD(0x01b4, PIN_INPUT_PULLUP, 0) /* (A23) MMC0_SDCD */
- - AM65X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
- - >;
- - };
- -};
- -
- -/* eMMC */
- -&sdhci0 {
- - pinctrl-names = "default";
- - pinctrl-0 = <&main_mmc0_pins_default>;
- - bus-width = <8>;
- - non-removable;
- - ti,driver-strength-ohm = <50>;
- - disable-wp;
- -};
- -
- -&main_uart0 {
- - status = "disabled";
- };
|