mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
platform/x86/siemens: simatic-ipc: add new models BX-56A/BX-59A
This adds support for the Siemens Simatic IPC models BX-56A/BX-59A, led/watchdog/battery on these models are same, actual drivers for models will be sent in separate patches. Signed-off-by: xingtong.wu <xingtong.wu@siemens.com> Link: https://lore.kernel.org/r/20230731071424.4663-2-xingtong_wu@163.com Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
1598e3f6e9
commit
b8af779519
@ -78,6 +78,12 @@ static struct {
|
||||
{SIMATIC_IPC_IPCBX_21A,
|
||||
SIMATIC_IPC_DEVICE_BX_21A, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_BX_21A,
|
||||
{ "emc1403", NULL }},
|
||||
{SIMATIC_IPC_IPCBX_56A,
|
||||
SIMATIC_IPC_DEVICE_BX_59A, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_BX_59A,
|
||||
{ "emc1403", "w83627hf_wdt" }},
|
||||
{SIMATIC_IPC_IPCBX_59A,
|
||||
SIMATIC_IPC_DEVICE_BX_59A, SIMATIC_IPC_DEVICE_NONE, SIMATIC_IPC_DEVICE_BX_59A,
|
||||
{ "emc1403", "w83627hf_wdt" }},
|
||||
};
|
||||
|
||||
static int register_platform_devices(u32 station_id)
|
||||
@ -103,7 +109,9 @@ static int register_platform_devices(u32 station_id)
|
||||
pdevname = KBUILD_MODNAME "_batt_apollolake";
|
||||
if (battmode == SIMATIC_IPC_DEVICE_BX_21A)
|
||||
pdevname = KBUILD_MODNAME "_batt_elkhartlake";
|
||||
if (battmode == SIMATIC_IPC_DEVICE_227G || battmode == SIMATIC_IPC_DEVICE_BX_39A)
|
||||
if (battmode == SIMATIC_IPC_DEVICE_227G ||
|
||||
battmode == SIMATIC_IPC_DEVICE_BX_39A ||
|
||||
battmode == SIMATIC_IPC_DEVICE_BX_59A)
|
||||
pdevname = KBUILD_MODNAME "_batt_f7188x";
|
||||
platform_data.devmode = battmode;
|
||||
ipc_batt_platform_device =
|
||||
@ -121,7 +129,7 @@ static int register_platform_devices(u32 station_id)
|
||||
pdevname = KBUILD_MODNAME "_leds";
|
||||
if (ledmode == SIMATIC_IPC_DEVICE_127E)
|
||||
pdevname = KBUILD_MODNAME "_leds_gpio_apollolake";
|
||||
if (ledmode == SIMATIC_IPC_DEVICE_227G)
|
||||
if (ledmode == SIMATIC_IPC_DEVICE_227G || SIMATIC_IPC_DEVICE_BX_59A)
|
||||
pdevname = KBUILD_MODNAME "_leds_gpio_f7188x";
|
||||
if (ledmode == SIMATIC_IPC_DEVICE_BX_21A)
|
||||
pdevname = KBUILD_MODNAME "_leds_gpio_elkhartlake";
|
||||
|
@ -22,6 +22,7 @@
|
||||
#define SIMATIC_IPC_DEVICE_227G 5
|
||||
#define SIMATIC_IPC_DEVICE_BX_21A 6
|
||||
#define SIMATIC_IPC_DEVICE_BX_39A 7
|
||||
#define SIMATIC_IPC_DEVICE_BX_59A 8
|
||||
|
||||
struct simatic_ipc_platform {
|
||||
u8 devmode;
|
||||
|
@ -36,6 +36,8 @@ enum simatic_ipc_station_ids {
|
||||
SIMATIC_IPC_IPCBX_39A = 0x00001001,
|
||||
SIMATIC_IPC_IPCPX_39A = 0x00001002,
|
||||
SIMATIC_IPC_IPCBX_21A = 0x00001101,
|
||||
SIMATIC_IPC_IPCBX_56A = 0x00001201,
|
||||
SIMATIC_IPC_IPCBX_59A = 0x00001202,
|
||||
};
|
||||
|
||||
static inline u32 simatic_ipc_get_station_id(u8 *data, int max_len)
|
||||
|
Loading…
Reference in New Issue
Block a user