From: Michael Walle <michael@walle.cc> To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-pwm@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: "Linus Walleij" <linus.walleij@linaro.org>, "Bartosz Golaszewski" <bgolaszewski@baylibre.com>, "Rob Herring" <robh+dt@kernel.org>, "Jean Delvare" <jdelvare@suse.com>, "Guenter Roeck" <linux@roeck-us.net>, "Lee Jones" <lee.jones@linaro.org>, "Thierry Reding" <thierry.reding@gmail.com>, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>, "Wim Van Sebroeck" <wim@linux-watchdog.org>, "Shawn Guo" <shawnguo@kernel.org>, "Li Yang" <leoyang.li@nxp.com>, "Thomas Gleixner" <tglx@linutronix.de>, "Jason Cooper" <jason@lakedaemon.net>, "Marc Zyngier" <maz@kernel.org>, "Mark Brown" <broonie@kernel.org>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Michael Walle" <michael@walle.cc> Subject: [PATCH v3 05/16] mfd: Add support for Kontron sl28cpld management controller Date: Thu, 23 Apr 2020 19:45:32 +0200 [thread overview] Message-ID: <20200423174543.17161-6-michael@walle.cc> (raw) In-Reply-To: <20200423174543.17161-1-michael@walle.cc> This patch adds core support for the board management controller found on the SMARC-sAL28 board. It consists of the following functions: - watchdog - GPIO controller - PWM controller - fan sensor - interrupt controller At the moment, this controller is used on the Kontron SMARC-sAL28 board. Please note that the MFD driver is defined as bool in the Kconfig because the next patch will add interrupt support. Signed-off-by: Michael Walle <michael@walle.cc> --- drivers/mfd/Kconfig | 19 +++++ drivers/mfd/Makefile | 2 + drivers/mfd/sl28cpld.c | 153 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 drivers/mfd/sl28cpld.c diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 0a59249198d3..be0c8d93c526 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -2060,5 +2060,24 @@ config SGI_MFD_IOC3 If you have an SGI Origin, Octane, or a PCI IOC3 card, then say Y. Otherwise say N. +config MFD_SL28CPLD + bool "Kontron sl28 core driver" + depends on I2C=y + depends on OF + select REGMAP_I2C + select MFD_CORE + help + This option enables support for the board management controller + found on the Kontron sl28 CPLD. You have to select individual + functions, such as watchdog, GPIO, etc, under the corresponding menus + in order to enable them. + + Currently supported boards are: + + Kontron SMARC-sAL28 + + To compile this driver as a module, choose M here: the module will be + called sl28cpld. + endmenu endif diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index f935d10cbf0f..9bc38863b9c7 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -259,3 +259,5 @@ obj-$(CONFIG_MFD_ROHM_BD718XX) += rohm-bd718x7.o obj-$(CONFIG_MFD_STMFX) += stmfx.o obj-$(CONFIG_SGI_MFD_IOC3) += ioc3.o + +obj-$(CONFIG_MFD_SL28CPLD) += sl28cpld.o diff --git a/drivers/mfd/sl28cpld.c b/drivers/mfd/sl28cpld.c new file mode 100644 index 000000000000..1e5860cc7ffc --- /dev/null +++ b/drivers/mfd/sl28cpld.c @@ -0,0 +1,153 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * MFD core for the sl28cpld. + * + * Copyright 2019 Kontron Europe GmbH + */ + +#include <linux/i2c.h> +#include <linux/interrupt.h> +#include <linux/kernel.h> +#include <linux/mfd/core.h> +#include <linux/module.h> +#include <linux/of_platform.h> +#include <linux/regmap.h> + +#define SL28CPLD_VERSION 0x03 +#define SL28CPLD_WATCHDOG_BASE 0x04 +#define SL28CPLD_HWMON_FAN_BASE 0x0b +#define SL28CPLD_PWM0_BASE 0x0c +#define SL28CPLD_PWM1_BASE 0x0e +#define SL28CPLD_GPIO0_BASE 0x10 +#define SL28CPLD_GPIO1_BASE 0x15 +#define SL28CPLD_GPO_BASE 0x1a +#define SL28CPLD_GPI_BASE 0x1b +#define SL28CPLD_INTC_BASE 0x1c + +/* all subdevices share the same IRQ */ +#define SL28CPLD_IRQ 0 + +#define SL28CPLD_MIN_REQ_VERSION 14 + +struct sl28cpld { + struct device *dev; + struct regmap *regmap; +}; + +static const struct regmap_config sl28cpld_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + .reg_stride = 1, +}; + +static struct resource sl28cpld_watchdog_resources[] = { + DEFINE_RES_REG(SL28CPLD_WATCHDOG_BASE, 1), +}; + +static struct resource sl28cpld_hwmon_fan_resources[] = { + DEFINE_RES_REG(SL28CPLD_HWMON_FAN_BASE, 1), +}; + +static struct resource sl28cpld_pwm0_resources[] = { + DEFINE_RES_REG(SL28CPLD_PWM0_BASE, 1), +}; + +static struct resource sl28cpld_pwm1_resources[] = { + DEFINE_RES_REG(SL28CPLD_PWM1_BASE, 1), +}; + +static struct resource sl28cpld_gpio0_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPIO0_BASE, 1), + DEFINE_RES_IRQ(SL28CPLD_IRQ), +}; + +static struct resource sl28cpld_gpio1_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPIO1_BASE, 1), + DEFINE_RES_IRQ(SL28CPLD_IRQ), +}; + +static struct resource sl28cpld_gpo_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPO_BASE, 1), +}; + +static struct resource sl28cpld_gpi_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPI_BASE, 1), +}; + +static struct resource sl28cpld_intc_resources[] = { + DEFINE_RES_REG(SL28CPLD_INTC_BASE, 1), + DEFINE_RES_IRQ(SL28CPLD_IRQ), +}; + +static const struct mfd_cell sl28cpld_devs[] = { + OF_MFD_CELL_REG("sl28cpld-wdt", sl28cpld_watchdog_resources, + NULL, 0, 0, "kontron,sl28cpld-wdt", 0), + OF_MFD_CELL_REG("sl28cpld-fan", sl28cpld_hwmon_fan_resources, + NULL, 0, 0, "kontron,sl28cpld-fan", 1), + OF_MFD_CELL_REG("sl28cpld-pwm", sl28cpld_pwm0_resources, + NULL, 0, 0, "kontron,sl28cpld-pwm", 2), + OF_MFD_CELL_REG("sl28cpld-pwm", sl28cpld_pwm1_resources, + NULL, 0, 1, "kontron,sl28cpld-pwm", 3), + OF_MFD_CELL_REG("sl28cpld-gpio", sl28cpld_gpio0_resources, + NULL, 0, 0, "kontron,sl28cpld-gpio", 4), + OF_MFD_CELL_REG("sl28cpld-gpio", sl28cpld_gpio1_resources, + NULL, 0, 1, "kontron,sl28cpld-gpio", 5), + OF_MFD_CELL_REG("sl28cpld-gpo", sl28cpld_gpo_resources, + NULL, 0, 0, "kontron,sl28cpld-gpo", 6), + OF_MFD_CELL_REG("sl28cpld-gpi", sl28cpld_gpi_resources, + NULL, 0, 0, "kontron,sl28cpld-gpi", 7), + MFD_CELL_RES("sl28cpld-intc", sl28cpld_intc_resources), +}; + +static int sl28cpld_probe(struct i2c_client *i2c) +{ + struct sl28cpld *sl28cpld; + struct device *dev = &i2c->dev; + unsigned int cpld_version; + int ret; + + sl28cpld = devm_kzalloc(dev, sizeof(*sl28cpld), GFP_KERNEL); + if (!sl28cpld) + return -ENOMEM; + + sl28cpld->regmap = devm_regmap_init_i2c(i2c, &sl28cpld_regmap_config); + if (IS_ERR(sl28cpld->regmap)) + return PTR_ERR(sl28cpld->regmap); + + ret = regmap_read(sl28cpld->regmap, SL28CPLD_VERSION, &cpld_version); + if (ret) + return ret; + + if (cpld_version < SL28CPLD_MIN_REQ_VERSION) { + dev_err(dev, "unsupported CPLD version %d\n", cpld_version); + return -ENODEV; + } + + sl28cpld->dev = dev; + i2c_set_clientdata(i2c, sl28cpld); + + dev_info(dev, "successfully probed. CPLD version %d\n", cpld_version); + + return devm_mfd_add_devices(dev, -1, sl28cpld_devs, + ARRAY_SIZE(sl28cpld_devs), NULL, + i2c->irq, NULL); +} + +static const struct of_device_id sl28cpld_of_match[] = { + { .compatible = "kontron,sl28cpld", }, + {} +}; +MODULE_DEVICE_TABLE(of, sl28cpld_of_match); + +static struct i2c_driver sl28cpld_driver = { + .probe_new = sl28cpld_probe, + .driver = { + .name = "sl28cpld", + .of_match_table = of_match_ptr(sl28cpld_of_match), + }, +}; +module_i2c_driver(sl28cpld_driver); + +MODULE_DESCRIPTION("sl28cpld MFD Core Driver"); +MODULE_AUTHOR("Michael Walle <michael@walle.cc>"); +MODULE_LICENSE("GPL"); -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Michael Walle <michael@walle.cc> To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-pwm@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: "Marc Zyngier" <maz@kernel.org>, "Jean Delvare" <jdelvare@suse.com>, "Jason Cooper" <jason@lakedaemon.net>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Shawn Guo" <shawnguo@kernel.org>, "Linus Walleij" <linus.walleij@linaro.org>, "Li Yang" <leoyang.li@nxp.com>, "Bartosz Golaszewski" <bgolaszewski@baylibre.com>, "Michael Walle" <michael@walle.cc>, "Rob Herring" <robh+dt@kernel.org>, "Thierry Reding" <thierry.reding@gmail.com>, "Mark Brown" <broonie@kernel.org>, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>, "Thomas Gleixner" <tglx@linutronix.de>, "Wim Van Sebroeck" <wim@linux-watchdog.org>, "Lee Jones" <lee.jones@linaro.org>, "Guenter Roeck" <linux@roeck-us.net> Subject: [PATCH v3 05/16] mfd: Add support for Kontron sl28cpld management controller Date: Thu, 23 Apr 2020 19:45:32 +0200 [thread overview] Message-ID: <20200423174543.17161-6-michael@walle.cc> (raw) In-Reply-To: <20200423174543.17161-1-michael@walle.cc> This patch adds core support for the board management controller found on the SMARC-sAL28 board. It consists of the following functions: - watchdog - GPIO controller - PWM controller - fan sensor - interrupt controller At the moment, this controller is used on the Kontron SMARC-sAL28 board. Please note that the MFD driver is defined as bool in the Kconfig because the next patch will add interrupt support. Signed-off-by: Michael Walle <michael@walle.cc> --- drivers/mfd/Kconfig | 19 +++++ drivers/mfd/Makefile | 2 + drivers/mfd/sl28cpld.c | 153 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 drivers/mfd/sl28cpld.c diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 0a59249198d3..be0c8d93c526 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -2060,5 +2060,24 @@ config SGI_MFD_IOC3 If you have an SGI Origin, Octane, or a PCI IOC3 card, then say Y. Otherwise say N. +config MFD_SL28CPLD + bool "Kontron sl28 core driver" + depends on I2C=y + depends on OF + select REGMAP_I2C + select MFD_CORE + help + This option enables support for the board management controller + found on the Kontron sl28 CPLD. You have to select individual + functions, such as watchdog, GPIO, etc, under the corresponding menus + in order to enable them. + + Currently supported boards are: + + Kontron SMARC-sAL28 + + To compile this driver as a module, choose M here: the module will be + called sl28cpld. + endmenu endif diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index f935d10cbf0f..9bc38863b9c7 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -259,3 +259,5 @@ obj-$(CONFIG_MFD_ROHM_BD718XX) += rohm-bd718x7.o obj-$(CONFIG_MFD_STMFX) += stmfx.o obj-$(CONFIG_SGI_MFD_IOC3) += ioc3.o + +obj-$(CONFIG_MFD_SL28CPLD) += sl28cpld.o diff --git a/drivers/mfd/sl28cpld.c b/drivers/mfd/sl28cpld.c new file mode 100644 index 000000000000..1e5860cc7ffc --- /dev/null +++ b/drivers/mfd/sl28cpld.c @@ -0,0 +1,153 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * MFD core for the sl28cpld. + * + * Copyright 2019 Kontron Europe GmbH + */ + +#include <linux/i2c.h> +#include <linux/interrupt.h> +#include <linux/kernel.h> +#include <linux/mfd/core.h> +#include <linux/module.h> +#include <linux/of_platform.h> +#include <linux/regmap.h> + +#define SL28CPLD_VERSION 0x03 +#define SL28CPLD_WATCHDOG_BASE 0x04 +#define SL28CPLD_HWMON_FAN_BASE 0x0b +#define SL28CPLD_PWM0_BASE 0x0c +#define SL28CPLD_PWM1_BASE 0x0e +#define SL28CPLD_GPIO0_BASE 0x10 +#define SL28CPLD_GPIO1_BASE 0x15 +#define SL28CPLD_GPO_BASE 0x1a +#define SL28CPLD_GPI_BASE 0x1b +#define SL28CPLD_INTC_BASE 0x1c + +/* all subdevices share the same IRQ */ +#define SL28CPLD_IRQ 0 + +#define SL28CPLD_MIN_REQ_VERSION 14 + +struct sl28cpld { + struct device *dev; + struct regmap *regmap; +}; + +static const struct regmap_config sl28cpld_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + .reg_stride = 1, +}; + +static struct resource sl28cpld_watchdog_resources[] = { + DEFINE_RES_REG(SL28CPLD_WATCHDOG_BASE, 1), +}; + +static struct resource sl28cpld_hwmon_fan_resources[] = { + DEFINE_RES_REG(SL28CPLD_HWMON_FAN_BASE, 1), +}; + +static struct resource sl28cpld_pwm0_resources[] = { + DEFINE_RES_REG(SL28CPLD_PWM0_BASE, 1), +}; + +static struct resource sl28cpld_pwm1_resources[] = { + DEFINE_RES_REG(SL28CPLD_PWM1_BASE, 1), +}; + +static struct resource sl28cpld_gpio0_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPIO0_BASE, 1), + DEFINE_RES_IRQ(SL28CPLD_IRQ), +}; + +static struct resource sl28cpld_gpio1_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPIO1_BASE, 1), + DEFINE_RES_IRQ(SL28CPLD_IRQ), +}; + +static struct resource sl28cpld_gpo_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPO_BASE, 1), +}; + +static struct resource sl28cpld_gpi_resources[] = { + DEFINE_RES_REG(SL28CPLD_GPI_BASE, 1), +}; + +static struct resource sl28cpld_intc_resources[] = { + DEFINE_RES_REG(SL28CPLD_INTC_BASE, 1), + DEFINE_RES_IRQ(SL28CPLD_IRQ), +}; + +static const struct mfd_cell sl28cpld_devs[] = { + OF_MFD_CELL_REG("sl28cpld-wdt", sl28cpld_watchdog_resources, + NULL, 0, 0, "kontron,sl28cpld-wdt", 0), + OF_MFD_CELL_REG("sl28cpld-fan", sl28cpld_hwmon_fan_resources, + NULL, 0, 0, "kontron,sl28cpld-fan", 1), + OF_MFD_CELL_REG("sl28cpld-pwm", sl28cpld_pwm0_resources, + NULL, 0, 0, "kontron,sl28cpld-pwm", 2), + OF_MFD_CELL_REG("sl28cpld-pwm", sl28cpld_pwm1_resources, + NULL, 0, 1, "kontron,sl28cpld-pwm", 3), + OF_MFD_CELL_REG("sl28cpld-gpio", sl28cpld_gpio0_resources, + NULL, 0, 0, "kontron,sl28cpld-gpio", 4), + OF_MFD_CELL_REG("sl28cpld-gpio", sl28cpld_gpio1_resources, + NULL, 0, 1, "kontron,sl28cpld-gpio", 5), + OF_MFD_CELL_REG("sl28cpld-gpo", sl28cpld_gpo_resources, + NULL, 0, 0, "kontron,sl28cpld-gpo", 6), + OF_MFD_CELL_REG("sl28cpld-gpi", sl28cpld_gpi_resources, + NULL, 0, 0, "kontron,sl28cpld-gpi", 7), + MFD_CELL_RES("sl28cpld-intc", sl28cpld_intc_resources), +}; + +static int sl28cpld_probe(struct i2c_client *i2c) +{ + struct sl28cpld *sl28cpld; + struct device *dev = &i2c->dev; + unsigned int cpld_version; + int ret; + + sl28cpld = devm_kzalloc(dev, sizeof(*sl28cpld), GFP_KERNEL); + if (!sl28cpld) + return -ENOMEM; + + sl28cpld->regmap = devm_regmap_init_i2c(i2c, &sl28cpld_regmap_config); + if (IS_ERR(sl28cpld->regmap)) + return PTR_ERR(sl28cpld->regmap); + + ret = regmap_read(sl28cpld->regmap, SL28CPLD_VERSION, &cpld_version); + if (ret) + return ret; + + if (cpld_version < SL28CPLD_MIN_REQ_VERSION) { + dev_err(dev, "unsupported CPLD version %d\n", cpld_version); + return -ENODEV; + } + + sl28cpld->dev = dev; + i2c_set_clientdata(i2c, sl28cpld); + + dev_info(dev, "successfully probed. CPLD version %d\n", cpld_version); + + return devm_mfd_add_devices(dev, -1, sl28cpld_devs, + ARRAY_SIZE(sl28cpld_devs), NULL, + i2c->irq, NULL); +} + +static const struct of_device_id sl28cpld_of_match[] = { + { .compatible = "kontron,sl28cpld", }, + {} +}; +MODULE_DEVICE_TABLE(of, sl28cpld_of_match); + +static struct i2c_driver sl28cpld_driver = { + .probe_new = sl28cpld_probe, + .driver = { + .name = "sl28cpld", + .of_match_table = of_match_ptr(sl28cpld_of_match), + }, +}; +module_i2c_driver(sl28cpld_driver); + +MODULE_DESCRIPTION("sl28cpld MFD Core Driver"); +MODULE_AUTHOR("Michael Walle <michael@walle.cc>"); +MODULE_LICENSE("GPL"); -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-04-23 17:47 UTC|newest] Thread overview: 177+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-23 17:45 [PATCH v3 00/16] Add support for Kontron sl28cpld Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 01/16] include/linux/ioport.h: add helper to define REG resource constructs Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 02/16] mfd: mfd-core: Don't overwrite the dma_mask of the child device Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-28 12:45 ` Andy Shevchenko 2020-04-28 12:45 ` Andy Shevchenko 2020-04-28 12:45 ` Andy Shevchenko 2020-04-28 13:06 ` Robin Murphy 2020-04-28 13:06 ` Robin Murphy 2020-04-28 13:06 ` Robin Murphy 2020-04-28 14:29 ` Andy Shevchenko 2020-04-28 14:29 ` Andy Shevchenko 2020-04-28 14:29 ` Andy Shevchenko 2020-04-28 14:49 ` Robin Murphy 2020-04-28 14:49 ` Robin Murphy 2020-04-28 14:49 ` Robin Murphy 2020-04-28 15:25 ` Mark Brown 2020-04-28 15:25 ` Mark Brown 2020-04-28 15:25 ` Mark Brown 2020-05-14 20:45 ` Michael Walle 2020-05-14 20:45 ` Michael Walle 2020-05-14 20:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 03/16] mfd: mfd-core: match device tree node against reg property Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-29 22:18 ` Michael Walle 2020-04-29 22:18 ` Michael Walle 2020-04-29 22:18 ` Michael Walle 2020-05-15 10:28 ` Lee Jones 2020-05-15 10:28 ` Lee Jones 2020-05-15 10:28 ` Lee Jones 2020-05-25 17:36 ` Michael Walle 2020-05-25 17:36 ` Michael Walle 2020-05-25 17:36 ` Michael Walle 2020-05-26 7:24 ` Lee Jones 2020-05-26 7:24 ` Lee Jones 2020-05-26 7:24 ` Lee Jones 2020-05-26 15:54 ` Michael Walle 2020-05-26 15:54 ` Michael Walle 2020-05-26 15:54 ` Michael Walle 2020-05-26 16:03 ` Andy Shevchenko 2020-05-26 16:03 ` Andy Shevchenko 2020-05-26 16:03 ` Andy Shevchenko 2020-05-27 6:53 ` Lee Jones 2020-05-27 6:53 ` Lee Jones 2020-05-27 6:53 ` Lee Jones 2020-06-08 14:24 ` Lee Jones 2020-06-08 14:24 ` Lee Jones 2020-06-08 14:24 ` Lee Jones 2020-06-08 15:21 ` Michael Walle 2020-06-08 15:21 ` Michael Walle 2020-06-08 15:21 ` Michael Walle 2020-06-08 18:45 ` Lee Jones 2020-06-08 18:45 ` Lee Jones 2020-06-08 18:45 ` Lee Jones 2020-04-23 17:45 ` [PATCH v3 04/16] dt-bindings: mfd: Add bindings for sl28cpld Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-28 12:48 ` Andy Shevchenko 2020-04-28 12:48 ` Andy Shevchenko 2020-04-28 12:48 ` Andy Shevchenko 2020-04-28 14:39 ` Michael Walle 2020-04-28 14:39 ` Michael Walle 2020-04-28 14:39 ` Michael Walle 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-23 17:45 ` Michael Walle [this message] 2020-04-23 17:45 ` [PATCH v3 05/16] mfd: Add support for Kontron sl28cpld management controller Michael Walle 2020-04-28 12:50 ` Andy Shevchenko 2020-04-28 12:50 ` Andy Shevchenko 2020-04-28 12:50 ` Andy Shevchenko 2020-04-28 14:43 ` Michael Walle 2020-04-28 14:43 ` Michael Walle 2020-04-28 14:43 ` Michael Walle 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-28 14:49 ` Andy Shevchenko 2020-04-29 6:27 ` Lee Jones 2020-04-29 6:27 ` Lee Jones 2020-04-29 6:27 ` Lee Jones 2020-05-11 21:13 ` Rob Herring 2020-05-11 21:13 ` Rob Herring 2020-05-11 21:13 ` Rob Herring 2020-05-11 21:44 ` Michael Walle 2020-05-11 21:44 ` Michael Walle 2020-05-11 21:44 ` Michael Walle 2020-05-11 22:29 ` Michael Walle 2020-05-11 22:29 ` Michael Walle 2020-05-11 22:29 ` Michael Walle 2020-05-12 21:59 ` Rob Herring 2020-05-12 21:59 ` Rob Herring 2020-05-12 21:59 ` Rob Herring 2020-05-13 22:15 ` Michael Walle 2020-05-13 22:15 ` Michael Walle 2020-05-13 22:15 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 06/16] irqchip: add sl28cpld interrupt controller support Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-27 11:40 ` Thomas Gleixner 2020-04-27 11:40 ` Thomas Gleixner 2020-04-27 11:40 ` Thomas Gleixner 2020-04-27 17:40 ` Michael Walle 2020-04-27 17:40 ` Michael Walle 2020-04-27 17:40 ` Michael Walle 2020-04-27 17:44 ` Mark Brown 2020-04-27 17:44 ` Mark Brown 2020-04-27 17:44 ` Mark Brown 2020-04-27 18:01 ` Michael Walle 2020-04-27 18:01 ` Michael Walle 2020-04-27 18:01 ` Michael Walle 2020-04-27 18:05 ` Mark Brown 2020-04-27 18:05 ` Mark Brown 2020-04-27 18:05 ` Mark Brown 2020-04-27 19:00 ` Thomas Gleixner 2020-04-27 19:00 ` Thomas Gleixner 2020-04-27 19:00 ` Thomas Gleixner 2020-04-23 17:45 ` [PATCH v3 07/16] watchdog: add support for sl28cpld watchdog Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-25 17:02 ` Guenter Roeck 2020-04-25 17:02 ` Guenter Roeck 2020-04-23 17:45 ` [PATCH v3 08/16] pwm: add support for sl28cpld PWM controller Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-05-11 20:45 ` Rob Herring 2020-05-11 20:45 ` Rob Herring 2020-05-11 20:45 ` Rob Herring 2020-04-23 17:45 ` [PATCH v3 09/16] gpiolib: Introduce gpiochip_irqchip_add_domain() Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-27 11:42 ` Thomas Gleixner 2020-04-27 11:42 ` Thomas Gleixner 2020-04-27 11:42 ` Thomas Gleixner 2020-04-27 17:49 ` Michael Walle 2020-04-27 17:49 ` Michael Walle 2020-04-27 17:49 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 10/16] gpio: add a reusable generic gpio_chip using regmap Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-05-12 12:48 ` Bartosz Golaszewski 2020-05-12 12:48 ` Bartosz Golaszewski 2020-05-12 12:48 ` Bartosz Golaszewski 2020-05-12 14:41 ` Michael Walle 2020-05-12 14:41 ` Michael Walle 2020-05-12 14:41 ` Michael Walle 2020-05-25 9:05 ` Bartosz Golaszewski 2020-05-25 9:05 ` Bartosz Golaszewski 2020-05-25 9:05 ` Bartosz Golaszewski 2020-05-25 10:20 ` Michael Walle 2020-05-25 10:20 ` Michael Walle 2020-05-25 10:20 ` Michael Walle 2020-05-25 12:59 ` Linus Walleij 2020-05-25 12:59 ` Linus Walleij 2020-05-25 12:59 ` Linus Walleij 2020-05-25 13:25 ` Andy Shevchenko 2020-05-25 13:25 ` Andy Shevchenko 2020-05-25 13:25 ` Andy Shevchenko 2020-04-23 17:45 ` [PATCH v3 11/16] gpio: add support for the sl28cpld GPIO controller Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-27 11:45 ` Thomas Gleixner 2020-04-27 11:45 ` Thomas Gleixner 2020-04-27 11:45 ` Thomas Gleixner 2020-04-27 17:58 ` Michael Walle 2020-04-27 17:58 ` Michael Walle 2020-04-27 17:58 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 12/16] hwmon: add support for the sl28cpld hardware monitoring controller Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 13/16] arm64: dts: freescale: sl28: enable sl28cpld Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 14/16] arm64: dts: freescale: sl28: map GPIOs to input events Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 15/16] arm64: dts: freescale: sl28: enable LED support Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` [PATCH v3 16/16] arm64: dts: freescale: sl28: enable fan support Michael Walle 2020-04-23 17:45 ` Michael Walle 2020-04-23 17:45 ` Michael Walle
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200423174543.17161-6-michael@walle.cc \ --to=michael@walle.cc \ --cc=andriy.shevchenko@linux.intel.com \ --cc=bgolaszewski@baylibre.com \ --cc=broonie@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=jason@lakedaemon.net \ --cc=jdelvare@suse.com \ --cc=lee.jones@linaro.org \ --cc=leoyang.li@nxp.com \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-hwmon@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pwm@vger.kernel.org \ --cc=linux-watchdog@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=maz@kernel.org \ --cc=robh+dt@kernel.org \ --cc=shawnguo@kernel.org \ --cc=tglx@linutronix.de \ --cc=thierry.reding@gmail.com \ --cc=u.kleine-koenig@pengutronix.de \ --cc=wim@linux-watchdog.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.