From: Jan Kiszka <[email protected]> These models use the same Super I/O chip as the BX-5xA. We only need to add their station IDs.
Signed-off-by: Jan Kiszka <[email protected]> --- I would appreciate testing on all the variants, detection and if the watchdog triggers (you could use "--with-boot-delay=1000" for that). Note that some devices may need disabling of the watchdog that is WDAT- described in the BIOS. drivers/watchdog/w83627hf_wdt.c | 35 +++++++++++++++++++++++++-------- include/simatic.h | 4 ++++ 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/drivers/watchdog/w83627hf_wdt.c b/drivers/watchdog/w83627hf_wdt.c index dd6787c..e88182e 100644 --- a/drivers/watchdog/w83627hf_wdt.c +++ b/drivers/watchdog/w83627hf_wdt.c @@ -181,6 +181,7 @@ static EFI_STATUS init(EFI_PCI_IO *pci_io, UINT16 pci_vendor_id, UINT16 __attribute__((unused)) pci_device_id, UINTN timeout) { + const char *device; int chip; if (!pci_io || pci_vendor_id != PCI_VENDOR_ID_INTEL) { @@ -188,17 +189,35 @@ static EFI_STATUS init(EFI_PCI_IO *pci_io, UINT16 pci_vendor_id, } switch (simatic_station_id()) { + case SIMATIC_IPC227G: + device = "IPC227G"; + break; + case SIMATIC_IPC277G: + device = "IPC277G"; + break; + case SIMATIC_IPCBX_39A: + device = "IPC BX-39A"; + break; + case SIMATIC_IPCPX_39A: + device = "IPC PX-39A"; + break; case SIMATIC_IPCBX_56A: + device = "IPC BX-56A"; + break; case SIMATIC_IPCBX_59A: - chip = wdt_find(0x2e); - if (chip < 0) - return EFI_UNSUPPORTED; - INFO(L"Detected SIMATIC BX5xA watchdog\n"); - w83627hf_init(chip); - wdt_set_time(timeout); - return EFI_SUCCESS; + device = "IPC BX-59A"; + break; + default: + return EFI_UNSUPPORTED; } - return EFI_UNSUPPORTED; + + chip = wdt_find(0x2e); + if (chip < 0) + return EFI_UNSUPPORTED; + INFO(L"Detected SIMATIC %s watchdog\n", device); + w83627hf_init(chip); + wdt_set_time(timeout); + return EFI_SUCCESS; } WATCHDOG_REGISTER(init); diff --git a/include/simatic.h b/include/simatic.h index eed82da..7e41e78 100644 --- a/include/simatic.h +++ b/include/simatic.h @@ -25,7 +25,11 @@ #define SIMATIC_IPC427E 0x0a01 #define SIMATIC_IPC477E 0x0a02 +#define SIMATIC_IPC227G 0x0f01 +#define SIMATIC_IPC277G 0x0f02 #define SIMATIC_IPCBX_21A 0x1101 +#define SIMATIC_IPCBX_39A 0x1001 +#define SIMATIC_IPCPX_39A 0x1002 #define SIMATIC_IPCBX_56A 0x1201 #define SIMATIC_IPCBX_59A 0x1202 -- 2.47.3 -- 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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/efibootguard-dev/90c56db7-6141-441d-a252-49a30653a7e5%40siemens.com.
