arm: dts: Add IOT2050 device tree files
Prepares for the addition of the IOT2050 board which is based on the TI
AM65x. The board comes in four variants, Basic and Advanced, each as
product generation 1 (SR1.0) and 2 (SR2.x), so there are separate dts
files needed. Furthermore, the SPL has its own device tree.
Based on original board support by Le Jin, Gao Nian and Chao Zeng.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
diff --git a/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
new file mode 100644
index 0000000..1e02cec
--- /dev/null
+++ b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
@@ -0,0 +1,148 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) Siemens AG, 2020-2021
+ *
+ * Authors:
+ * Jan Kiszka <jan.kiszka@siemens.com>
+ * Chao Zeng <chao.zeng@siemens.com>
+ */
+
+#include <config.h>
+
+/ {
+ binman {
+ filename = "flash.bin";
+ pad-byte = <0xff>;
+ size = <0x8c0000>;
+
+ blob-ext@0x000000 {
+ offset = <0x000000>;
+ filename = "tiboot3.bin";
+ };
+
+ blob@0x080000 {
+ offset = <0x080000>;
+ filename = "tispl.bin";
+ };
+
+ fit@0x280000 {
+ description = "U-Boot for IOT2050";
+ offset = <0x280000>;
+ images {
+ u-boot {
+ description = "U-Boot";
+ type = "standalone";
+ arch = "arm64";
+ os = "u-boot";
+ compression = "none";
+ load = <0x80800000>;
+ entry = <0x80800000>;
+ u-boot-nodtb {
+ };
+ };
+
+ fdt-iot2050-basic {
+ description = "k3-am6528-iot2050-basic.dtb";
+ type = "flat_dt";
+ arch = "arm64";
+ compression = "none";
+ blob {
+ filename = "arch/arm/dts/k3-am6528-iot2050-basic.dtb";
+ };
+ };
+
+ fdt-iot2050-basic-pg2 {
+ description = "k3-am6528-iot2050-basic-pg2.dtb";
+ type = "flat_dt";
+ arch = "arm64";
+ compression = "none";
+ blob {
+ filename = "arch/arm/dts/k3-am6528-iot2050-basic-pg2.dtb";
+ };
+ };
+
+ fdt-iot2050-advanced {
+ description = "k3-am6548-iot2050-advanced.dtb";
+ type = "flat_dt";
+ arch = "arm64";
+ compression = "none";
+ blob {
+ filename = "arch/arm/dts/k3-am6548-iot2050-advanced.dtb";
+ };
+ };
+
+ fdt-iot2050-advanced-pg2 {
+ description = "k3-am6548-iot2050-advanced-pg2.dtb";
+ type = "flat_dt";
+ arch = "arm64";
+ compression = "none";
+ blob {
+ filename = "arch/arm/dts/k3-am6548-iot2050-advanced-pg2.dtb";
+ };
+ };
+ };
+
+ configurations {
+ default = "conf-iot2050-basic";
+
+ conf-iot2050-basic {
+ description = "iot2050-basic";
+ firmware = "u-boot";
+ fdt = "fdt-iot2050-basic";
+ };
+
+ conf-iot2050-basic-pg2 {
+ description = "iot2050-basic-pg2";
+ firmware = "u-boot";
+ fdt = "fdt-iot2050-basic-pg2";
+ };
+
+ conf-iot2050-advanced {
+ description = "iot2050-advanced";
+ firmware = "u-boot";
+ fdt = "fdt-iot2050-advanced";
+ };
+
+ conf-iot2050-advanced-pg2 {
+ description = "iot2050-advanced-pg2";
+ firmware = "u-boot";
+ fdt = "fdt-iot2050-advanced-pg2";
+ };
+ };
+ };
+
+ /* primary env */
+ fill@0x680000 {
+ offset = <0x680000>;
+ size = <0x020000>;
+ fill-byte = [00];
+ };
+ /* secondary env */
+ fill@0x6a0000 {
+ offset = <0x6a0000>;
+ size = <0x020000>;
+ fill-byte = [00];
+ };
+
+ /* PG1 sysfw, basic variant */
+ blob-ext@0x6c0000 {
+ offset = <0x6c0000>;
+ filename = "sysfw.itb";
+ };
+ /* PG1 sysfw, advanced variant */
+ blob-ext@0x740000 {
+ offset = <0x740000>;
+ filename = "sysfw.itb_HS";
+ };
+ /* PG2 sysfw, basic variant */
+ blob-ext@0x7c0000 {
+ offset = <0x7c0000>;
+ filename = "sysfw_sr2.itb";
+ };
+ /* PG2 sysfw, advanced variant */
+ blob-ext@0x840000 {
+ offset = <0x840000>;
+ filename = "sysfw_sr2.itb_HS";
+ };
+ };
+};