[PATCH v7 0/5] Add SIMATIC IOT2050 board support

Jan Kiszka
2021-08-03T14:24:15Z

This is the baseline support for the SIMATIC IOT2050 devices.

Changes in v7:
- rebased
- registered board doc with index

Changes in v6:
- rebased
- converted board README to docs/board/siemens/iot2050.rst

Changes in v5:
- rebased
- use DEFAULT_LINUX_BOOT_ENV from ti_armv7_common.h, rather than
home-grown values
- avoids misaligned kernel load address
- no longer exposes issue around LMB reservations

Changes in v4:
- rebased
- make rtd-wdt firmware a "loadable" inside U-Boot proper fit image,
avoiding controversial embedding as object
- improved mmc1 removal from boot_targets
- fixed various build issues

Changes in v3:
- rebased
- addressed several checkpatch warnings
- a few #ifdef -> IS_ENABLED conversions
- comment marker for SPDK identifier in .S file
- trailing whitespaces
- factored out rti_wdt_load_fw (less #ifdef)

Changes in v2:
- rebased
- sync with upstream-accepted DT
- add boot switch
- include watchdog support

Allows to boot mainline 5.10 kernels, but not the original BSP-derived
kernel we currently ship as reference. This is due to the TI sysfw ABI
breakages between 2.x and 3.x. We will soon provide a transitional
kernel that allows booting both firmware ABIs - as long as full upstream
kernel support is work in progress.

Note that this baseline support lacks Ethernet drivers. We are working
closely with TI to ensure that the to-be-upstreamed icssg-prueth driver
will work both with new SR2.0 AM65x silicon as well as with SR1.0 which
is used in the currently shipped IOT2050 devices.

A staging tree for complete IOT2050 support can be found at [1]. Full
image integration is available via [2].

Jan

[1] https://github.com/siemens/u-boot/commits/jan/iot2050
[2] https://github.com/siemens/meta-iot2050

Jan Kiszka (5):
arm: dts: Add IOT2050 device tree files
board: siemens: Add support for SIMATIC IOT2050 devices
arm64: dts: ti: k3-am65-mcu: Add RTI watchdog entry
watchdog: rti_wdt: Add support for loading firmware
iot2050: Enable watchdog support, but do not auto-start it

arch/arm/dts/Makefile | 7 +-
arch/arm/dts/k3-am65-iot2050-boot-image.dtsi | 121 ++++
.../dts/k3-am65-iot2050-common-u-boot.dtsi | 103 +++
arch/arm/dts/k3-am65-iot2050-common.dtsi | 655 ++++++++++++++++++
arch/arm/dts/k3-am65-iot2050-spl.dts | 16 +
arch/arm/dts/k3-am65-mcu.dtsi | 9 +
arch/arm/dts/k3-am6528-iot2050-basic.dts | 67 ++
arch/arm/dts/k3-am6548-iot2050-advanced.dts | 66 ++
arch/arm/mach-k3/Kconfig | 1 +
board/siemens/iot2050/Kconfig | 32 +
board/siemens/iot2050/MAINTAINERS | 9 +
board/siemens/iot2050/Makefile | 10 +
board/siemens/iot2050/board.c | 284 ++++++++
board/siemens/iot2050/config.mk | 8 +
configs/iot2050_defconfig | 138 ++++
doc/board/index.rst | 1 +
doc/board/siemens/index.rst | 9 +
doc/board/siemens/iot2050.rst | 76 ++
drivers/watchdog/Kconfig | 20 +
drivers/watchdog/rti_wdt.c | 88 +++
include/configs/iot2050.h | 62 ++
21 files changed, 1781 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
create mode 100644 arch/arm/dts/k3-am65-iot2050-common-u-boot.dtsi
create mode 100644 arch/arm/dts/k3-am65-iot2050-common.dtsi
create mode 100644 arch/arm/dts/k3-am65-iot2050-spl.dts
create mode 100644 arch/arm/dts/k3-am6528-iot2050-basic.dts
create mode 100644 arch/arm/dts/k3-am6548-iot2050-advanced.dts
create mode 100644 board/siemens/iot2050/Kconfig
create mode 100644 board/siemens/iot2050/MAINTAINERS
create mode 100644 board/siemens/iot2050/Makefile
create mode 100644 board/siemens/iot2050/board.c
create mode 100644 board/siemens/iot2050/config.mk
create mode 100644 configs/iot2050_defconfig
create mode 100644 doc/board/siemens/index.rst
create mode 100644 doc/board/siemens/iot2050.rst
create mode 100644 include/configs/iot2050.h

--
2.31.1