summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorMichael Brunner <Michael.Brunner@kontron.com>2020-11-23 18:53:27 +0300
committerLee Jones <lee.jones@linaro.org>2020-12-02 15:53:27 +0300
commit0cd3aa995740eabf8af1c794ac1d9ae314c928c3 (patch)
treede971603000f8d6751205d4b43b10c3f92d133fa /drivers/mfd
parent431ec7bd4d52caa2fc20fbe87744f522e3d1efad (diff)
downloadlinux-0cd3aa995740eabf8af1c794ac1d9ae314c928c3.tar.xz
mfd: kempld-core: Add support for additional devices
This update includes DMI IDs for the following Kontron modules and systems: COMe-bDV7, COMe-cDV7, COMe-m4AL, COMe-mCT10, SMARC-sXAL, SMARC-sXA4, Qseven-Q7AL, mITX-APL, pITX-APL and KBox A-203 Furthermore the ACPI HID KEM0000 is added, as it is also reserved for kempld devices. Instead of also adding the newly supported devices to the Kconfig description this patch removes the lengthy list. With future usage of the ACPI HIDs it will not be necessary to explicitly add support for each individual device to the driver and therefore the list would become incomplete anyway. Signed-off-by: Michael Brunner <michael.brunner@kontron.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/Kconfig30
-rw-r--r--drivers/mfd/kempld-core.c76
2 files changed, 77 insertions, 29 deletions
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 58e865c8e1eb..bdfce7b15621 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -730,33 +730,9 @@ config MFD_KEMPLD
select MFD_CORE
help
This is the core driver for the PLD (Programmable Logic Device) found
- on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
- device may provide functions like watchdog, GPIO, UART and I2C bus.
-
- The following modules are supported:
- * COMe-bBD#
- * COMe-bBL6
- * COMe-bHL6
- * COMe-bSL6
- * COMe-bIP#
- * COMe-bKL6
- * COMe-bPC2 (ETXexpress-PC)
- * COMe-bSC# (ETXexpress-SC T#)
- * COMe-cAL6
- * COMe-cBL6
- * COMe-cBT6
- * COMe-cBW6
- * COMe-cCT6
- * COMe-cDC2 (microETXexpress-DC)
- * COMe-cHL6
- * COMe-cKL6
- * COMe-cPC2 (microETXexpress-PC)
- * COMe-cSL6
- * COMe-mAL10
- * COMe-mBT10
- * COMe-mCT10
- * COMe-mTT10 (nanoETXexpress-TT)
- * ETX-OH
+ on some Kontron ETX and nearly all COMexpress (ETXexpress) modules as
+ well as on some other Kontron products. The PLD device may provide
+ functions like watchdog, GPIO, UART and I2C bus.
This driver can also be built as a module. If so, the module
will be called kempld-core.
diff --git a/drivers/mfd/kempld-core.c b/drivers/mfd/kempld-core.c
index ecd26271b9a4..9166075c1f32 100644
--- a/drivers/mfd/kempld-core.c
+++ b/drivers/mfd/kempld-core.c
@@ -552,6 +552,7 @@ static int kempld_remove(struct platform_device *pdev)
#ifdef CONFIG_ACPI
static const struct acpi_device_id kempld_acpi_table[] = {
+ { "KEM0000", (kernel_ulong_t)&kempld_platform_data_generic },
{ "KEM0001", (kernel_ulong_t)&kempld_platform_data_generic },
{}
};
@@ -585,6 +586,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, {
+ .ident = "BDV7",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "COMe-bDV7"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
.ident = "BHL6",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
@@ -649,6 +658,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, {
+ .ident = "CDV7",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "COMe-cDV7"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
.ident = "CHL6",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
@@ -768,6 +785,22 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, {
+ .ident = "A203",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "KBox A-203"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
+ .ident = "M4A1",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "COMe-m4AL"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
.ident = "MAL1",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
@@ -776,6 +809,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, {
+ .ident = "MAPL",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "mITX-APL"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
.ident = "MBR1",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
@@ -824,6 +865,30 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
}, {
+ .ident = "PAPL",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "pITX-APL"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
+ .ident = "SXAL",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXAL"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
+ .ident = "SXAL4",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "SMARC-sXA4"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
+ }, {
.ident = "UNP1",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
@@ -863,8 +928,7 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
},
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
- },
- {
+ }, {
.ident = "UTH6",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
@@ -872,6 +936,14 @@ static const struct dmi_system_id kempld_dmi_table[] __initconst = {
},
.driver_data = (void *)&kempld_platform_data_generic,
.callback = kempld_create_platform_device,
+ }, {
+ .ident = "Q7AL",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Kontron"),
+ DMI_MATCH(DMI_BOARD_NAME, "Qseven-Q7AL"),
+ },
+ .driver_data = (void *)&kempld_platform_data_generic,
+ .callback = kempld_create_platform_device,
},
{}
};