mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
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 <dave.stevenson@raspberrypi.com>
This commit is contained in:
committed by
Dom Cobley
parent
b71c538db7
commit
3c5d8300a7
@@ -1263,6 +1263,16 @@ config MFD_SY7636A
|
|||||||
To enable support for building sub-devices as modules,
|
To enable support for building sub-devices as modules,
|
||||||
choose M here.
|
choose M here.
|
||||||
|
|
||||||
|
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
|
config MFD_RDC321X
|
||||||
tristate "RDC R-321x southbridge"
|
tristate "RDC R-321x southbridge"
|
||||||
select MFD_CORE
|
select MFD_CORE
|
||||||
|
|||||||
@@ -29,6 +29,15 @@ static const struct regmap_config regmap_config_8r_8v = {
|
|||||||
.val_bits = 8,
|
.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)
|
static int simple_mfd_i2c_probe(struct i2c_client *i2c)
|
||||||
{
|
{
|
||||||
const struct simple_mfd_data *simple_mfd_data;
|
const struct simple_mfd_data *simple_mfd_data;
|
||||||
@@ -101,6 +110,7 @@ static const struct of_device_id simple_mfd_i2c_of_match[] = {
|
|||||||
{ .compatible = "maxim,max77705-battery", .data = &maxim_mon_max77705},
|
{ .compatible = "maxim,max77705-battery", .data = &maxim_mon_max77705},
|
||||||
{ .compatible = "fsl,lx2160aqds-fpga" },
|
{ .compatible = "fsl,lx2160aqds-fpga" },
|
||||||
{ .compatible = "fsl,ls1028aqds-fpga" },
|
{ .compatible = "fsl,ls1028aqds-fpga" },
|
||||||
|
{ .compatible = "raspberrypi,poe-core", &rpi_poe_core },
|
||||||
{ .compatible = "raspberrypi,sensehat" },
|
{ .compatible = "raspberrypi,sensehat" },
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user