Commit 1b3aa970 authored by Henning Schild's avatar Henning Schild Committed by Hans de Goede

platform/x86: simatic-ipc: add another model BX-21A

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: default avatarHenning Schild <henning.schild@siemens.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230713115639.16419-2-henning.schild@siemens.comReviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 06c2afb8
...@@ -48,6 +48,7 @@ static struct { ...@@ -48,6 +48,7 @@ static struct {
{SIMATIC_IPC_IPC477E, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_427E}, {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_IPCBX_39A, SIMATIC_IPC_DEVICE_227G, SIMATIC_IPC_DEVICE_227G},
{SIMATIC_IPC_IPCPX_39A, SIMATIC_IPC_DEVICE_NONE, 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) static int register_platform_devices(u32 station_id)
...@@ -72,6 +73,8 @@ 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"; pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
if (ledmode == SIMATIC_IPC_DEVICE_227G) if (ledmode == SIMATIC_IPC_DEVICE_227G)
pdevname = KBUILD_MODNAME "_leds_gpio_f7188x"; pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
platform_data.devmode = ledmode; platform_data.devmode = ledmode;
ipc_led_platform_device = ipc_led_platform_device =
platform_device_register_data(NULL, platform_device_register_data(NULL,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* /*
* Siemens SIMATIC IPC drivers * Siemens SIMATIC IPC drivers
* *
* Copyright (c) Siemens AG, 2018-2021 * Copyright (c) Siemens AG, 2018-2023
* *
* Authors: * Authors:
* Henning Schild <henning.schild@siemens.com> * Henning Schild <henning.schild@siemens.com>
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#define SIMATIC_IPC_DEVICE_127E 3 #define SIMATIC_IPC_DEVICE_127E 3
#define SIMATIC_IPC_DEVICE_227E 4 #define SIMATIC_IPC_DEVICE_227E 4
#define SIMATIC_IPC_DEVICE_227G 5 #define SIMATIC_IPC_DEVICE_227G 5
#define SIMATIC_IPC_DEVICE_BX_21A 6
struct simatic_ipc_platform { struct simatic_ipc_platform {
u8 devmode; u8 devmode;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* /*
* Siemens SIMATIC IPC drivers * Siemens SIMATIC IPC drivers
* *
* Copyright (c) Siemens AG, 2018-2021 * Copyright (c) Siemens AG, 2018-2023
* *
* Authors: * Authors:
* Henning Schild <henning.schild@siemens.com> * Henning Schild <henning.schild@siemens.com>
...@@ -34,6 +34,7 @@ enum simatic_ipc_station_ids { ...@@ -34,6 +34,7 @@ enum simatic_ipc_station_ids {
SIMATIC_IPC_IPC227G = 0x00000F01, SIMATIC_IPC_IPC227G = 0x00000F01,
SIMATIC_IPC_IPCBX_39A = 0x00001001, SIMATIC_IPC_IPCBX_39A = 0x00001001,
SIMATIC_IPC_IPCPX_39A = 0x00001002, SIMATIC_IPC_IPCPX_39A = 0x00001002,
SIMATIC_IPC_IPCBX_21A = 0x00001101,
}; };
static inline u32 simatic_ipc_get_station_id(u8 *data, int max_len) static inline u32 simatic_ipc_get_station_id(u8 *data, int max_len)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment