123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- From 6a08616a30213fd40a17c38c63de4b9c9503a537 Mon Sep 17 00:00:00 2001
- From: Dave Stevenson <[email protected]>
- Date: Wed, 19 Jan 2022 17:22:57 +0000
- Subject: [PATCH] mfd: simple-mfd-i2c: Add configuration for RPi POE
- HAT
- The Raspbery Pi PoE+ HAT exposes a fan controller and power
- supply status reporting via a single I2C address.
- Create an MFD device that allows loading of the relevant
- sub-drivers, with a shared I2C regmap.
- Signed-off-by: Dave Stevenson <[email protected]>
- ---
- drivers/mfd/Kconfig | 10 ++++++++++
- drivers/mfd/simple-mfd-i2c.c | 10 ++++++++++
- 2 files changed, 20 insertions(+)
- --- a/drivers/mfd/Kconfig
- +++ b/drivers/mfd/Kconfig
- @@ -1094,6 +1094,16 @@ config MFD_SPMI_PMIC
- Say M here if you want to include support for the SPMI PMIC
- series as a module. The module will be called "qcom-spmi-pmic".
-
- +config MFD_RASPBERRYPI_POE_HAT
- + tristate "Raspberry Pi PoE HAT MFD"
- + depends on I2C
- + select MFD_SIMPLE_MFD_I2C
- + help
- + This module supports the PWM fan controller found on the Raspberry Pi
- + POE and POE+ HAT boards, and the power supply driver on the POE+ HAT.
- + (Functionally it relies on MFD_SIMPLE_MFD_I2C to provide the framework
- + that loads the child drivers).
- +
- config MFD_RDC321X
- tristate "RDC R-321x southbridge"
- select MFD_CORE
- --- a/drivers/mfd/simple-mfd-i2c.c
- +++ b/drivers/mfd/simple-mfd-i2c.c
- @@ -29,6 +29,15 @@ static const struct regmap_config regmap
- .val_bits = 8,
- };
-
- +static const struct regmap_config regmap_config_16r_8v = {
- + .reg_bits = 16,
- + .val_bits = 8,
- +};
- +
- +static const struct simple_mfd_data rpi_poe_core = {
- + .regmap_config = ®map_config_16r_8v,
- +};
- +
- static int simple_mfd_i2c_probe(struct i2c_client *i2c)
- {
- const struct simple_mfd_data *simple_mfd_data;
- @@ -64,6 +73,7 @@ static int simple_mfd_i2c_probe(struct i
-
- static const struct of_device_id simple_mfd_i2c_of_match[] = {
- { .compatible = "kontron,sl28cpld" },
- + { .compatible = "raspberrypi,poe-core", &rpi_poe_core },
- {}
- };
- MODULE_DEVICE_TABLE(of, simple_mfd_i2c_of_match);
|