[PATCH 00/10] board: sl28: add sl28cpld support and board cleanups

Michael Walle
2021-11-15T22:46:20Z

Add support for the sl28cpld management controller found on this board.
This is especially useful, because of the integrated watchdog in this
controller. It is used to supervise the bootup of the bootloader and will
automatically switch to the failsafe bootloader if u-boot didn't start. Up
until now, we had to disable this feature, leaving a gap in the failsafe
boot concept of this board. Now, with this driver in place, this watchdog
can be enabled at reset and u-boot will disable it late during its startup.

Additionally, add support for the GPIOs which are connected to this
controller.

Besides this support, there are various cleanups, like DRAM output fix,
printing the version of the management controller and disabling the random
MAC address generation.

Implementationwise, the MFD driver is implemented as UCLASS_NOP which
provides basic access functions and will enumerate its child nodes. The
device tree binding is the same as already acked by the linux kernel.

Michael Walle (10):
misc: add sl28cpld base driver
watchdog: add sl28cpld watchdog driver
gpio: add sl28cpld driver
board: sl28: fix DRAM pretty print
board: sl28: print CPLD version on bootup
board: sl28: enable sl28cpld support
board: sl28: enable SoC watchdog support
board: sl28: disable recovery watchdog
board: sl28: remove "Useful I2C tricks" section from docs
board: sl28: disable random MAC address generation

MAINTAINERS | 7 ++
board/kontron/sl28/sl28.c | 59 +++++++++++-
configs/kontron_sl28_defconfig | 11 ++-
doc/board/kontron/sl28.rst | 66 +++++++------
drivers/gpio/Kconfig | 6 ++
drivers/gpio/Makefile | 1 +
drivers/gpio/sl28cpld-gpio.c | 165 ++++++++++++++++++++++++++++++++
drivers/misc/Kconfig | 8 ++
drivers/misc/Makefile | 1 +
drivers/misc/sl28cpld.c | 105 ++++++++++++++++++++
drivers/watchdog/Kconfig | 7 ++
drivers/watchdog/Makefile | 1 +
drivers/watchdog/sl28cpld-wdt.c | 109 +++++++++++++++++++++
include/sl28cpld.h | 17 ++++
14 files changed, 528 insertions(+), 35 deletions(-)
create mode 100644 drivers/gpio/sl28cpld-gpio.c
create mode 100644 drivers/misc/sl28cpld.c
create mode 100644 drivers/watchdog/sl28cpld-wdt.c
create mode 100644 include/sl28cpld.h

--
2.30.2