diff mbox series

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

Message ID 206d28002626bb9e2e0ac3f82d3c6f9fdbbfc984.1631216478.git.jan.kiszka@siemens.com
State Superseded
Headers show
Series arm64: dts: Update IOT2050 boards | expand

Commit Message

Jan Kiszka Sept. 9, 2021, 7:41 p.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

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@siemens.com>
---
 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

Comments

Nishanth Menon Sept. 14, 2021, 8:15 p.m. UTC | #1
On 21:41-20210909, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>

> 

> 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@siemens.com>

> ---

>  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@siemens.com>

> + *   Jan Kiszka <jan.kiszka@siemens.com>

> + *

> + * 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@siemens.com>

> + *   Jan Kiszka <jan.kiszka@siemens.com>

> + *

> + * 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@siemens.com>

> + *   Jan Kiszka <jan.kiszka@siemens.com>

> + *

> + * 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
diff mbox series

Patch

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@siemens.com>
+ *   Jan Kiszka <jan.kiszka@siemens.com>
+ *
+ * Common bits of the IOT2050 Basic and Advanced variants, PG2
+ */
+
+&main_pmx0 {
+	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@siemens.com>
+ *   Jan Kiszka <jan.kiszka@siemens.com>
+ *
+ * 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@siemens.com>
+ *   Jan Kiszka <jan.kiszka@siemens.com>
+ *
+ * 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";
+	model = "SIMATIC IOT2050 Advanced PG2";
+};
+
+&mcu_r5fss0 {
+	/* lock-step mode not supported on this board */
+	ti,cluster-mode = <0>;
+};