While the original intent was to use WDAT to program the external watchdog found in the SIMATIC IPC BX-59A, it turned out to be impossible because it would require holding precious shared I/O registers. See [1]
As the WDAT abstraction cannot be used, a specific driver needs to be introduced. The w83627hf code from the Linux kernel was greatly reused to support the NCT6116 chip. As for the IPC 4x7E, we need to detect that we are running on a BX-59A (we are really wanting other platforms to either use iTCO or WDAT). The code to extract the station ID from DMI tables is moved to its own compile unit (simatic.c) so it may be shared between the ipc4x7e_wdt and w83627hf_wdt drivers. Changes between v1 and v2: - rename ipcbx59a_wdt.c to w83627hf_wdt.c as suggested by Jan Kiszka [1] https://lore.kernel.org/all/df8d53db-0056-434d-953b-991025e6c...@roeck-us.net/ Cedric Hombourger (2): simatic: prepare to share code for identifying SIMATIC IPCs drivers/watchdog: add support for w83627hf watchdog Makefile.am | 2 + README.md | 1 + drivers/watchdog/ipc4x7e_wdt.c | 54 +------- drivers/watchdog/w83627hf_wdt.c | 226 ++++++++++++++++++++++++++++++++ include/simatic.h | 37 ++++++ simatic.c | 63 +++++++++ 6 files changed, 331 insertions(+), 52 deletions(-) create mode 100644 drivers/watchdog/w83627hf_wdt.c create mode 100644 include/simatic.h create mode 100644 simatic.c -- 2.39.2 -- You received this message because you are subscribed to the Google Groups "EFI Boot Guard" group. To unsubscribe from this group and stop receiving emails from it, send an email to efibootguard-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/efibootguard-dev/20231019085959.200730-1-cedric.hombourger%40siemens.com.