platform/x86: simatic-ipc: add another model BX-21A
authorHenning Schild <henning.schild@siemens.com>
Thu, 13 Jul 2023 11:56:38 +0000 (13:56 +0200)
committerHans de Goede <hdegoede@redhat.com>
Fri, 14 Jul 2023 10:44:45 +0000 (12:44 +0200)
This adds support for the Siemens Simatic IPC model BX-21A. Actual
drivers for that model will be sent in separate patches.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230713115639.16419-2-henning.schild@siemens.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/simatic-ipc.c
include/linux/platform_data/x86/simatic-ipc-base.h
include/linux/platform_data/x86/simatic-ipc.h

index c773995..4402cd3 100644 (file)
@@ -48,6 +48,7 @@ static struct {
        {SIMATIC_IPC_IPC477E, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_427E},
        {SIMATIC_IPC_IPCBX_39A, SIMATIC_IPC_DEVICE_227G, SIMATIC_IPC_DEVICE_227G},
        {SIMATIC_IPC_IPCPX_39A, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_227G},
+       {SIMATIC_IPC_IPCBX_21A, SIMATIC_IPC_DEVICE_BX_21A, SIMATIC_IPC_DEVICE_NONE},
 };
 
 static int register_platform_devices(u32 station_id)
@@ -72,6 +73,8 @@ static int register_platform_devices(u32 station_id)
                        pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
                if (ledmode == SIMATIC_IPC_DEVICE_227G)
                        pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
+               if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
+                       pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
                platform_data.devmode = ledmode;
                ipc_led_platform_device =
                        platform_device_register_data(NULL,
index 57d6a10..68c455f 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Siemens SIMATIC IPC drivers
  *
- * Copyright (c) Siemens AG, 2018-2021
+ * Copyright (c) Siemens AG, 2018-2023
  *
  * Authors:
  *  Henning Schild <henning.schild@siemens.com>
@@ -20,6 +20,7 @@
 #define SIMATIC_IPC_DEVICE_127E 3
 #define SIMATIC_IPC_DEVICE_227E 4
 #define SIMATIC_IPC_DEVICE_227G 5
+#define SIMATIC_IPC_DEVICE_BX_21A 6
 
 struct simatic_ipc_platform {
        u8      devmode;
index a48bb52..1a8e4c1 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Siemens SIMATIC IPC drivers
  *
- * Copyright (c) Siemens AG, 2018-2021
+ * Copyright (c) Siemens AG, 2018-2023
  *
  * Authors:
  *  Henning Schild <henning.schild@siemens.com>
@@ -34,6 +34,7 @@ enum simatic_ipc_station_ids {
        SIMATIC_IPC_IPC227G = 0x00000F01,
        SIMATIC_IPC_IPCBX_39A = 0x00001001,
        SIMATIC_IPC_IPCPX_39A = 0x00001002,
+       SIMATIC_IPC_IPCBX_21A = 0x00001101,
 };
 
 static inline u32 simatic_ipc_get_station_id(u8 *data, int max_len)