aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0657-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2022-05-16 23:40:32 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2022-05-17 15:11:22 +0200
commit20ea6adbf199097c4f5f591ffee088340630dae4 (patch)
treed6719d95e136611a1c25bbf7789652d6d402779d /target/linux/bcm27xx/patches-5.15/950-0657-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
parentbca05bd072180dc38ef740b37ded9572a6db1981 (diff)
downloadupstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.gz
upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.bz2
upstream-20ea6adbf199097c4f5f591ffee088340630dae4.zip
bcm27xx: add support for linux v5.15
Build system: x86_64 Build-tested: bcm2708, bcm2709, bcm2710, bcm2711 Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B Signed-off-by: Marty Jones <mj8263788@gmail.com> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0657-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0657-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0657-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch b/target/linux/bcm27xx/patches-5.15/950-0657-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
new file mode 100644
index 0000000000..41ac28a673
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.15/950-0657-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
@@ -0,0 +1,63 @@
+From 6a08616a30213fd40a17c38c63de4b9c9503a537 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.com>
+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 <dave.stevenson@raspberrypi.com>
+---
+ drivers/mfd/Kconfig | 10 ++++++++++
+ drivers/mfd/simple-mfd-i2c.c | 10 ++++++++++
+ 2 files changed, 20 insertions(+)
+
+--- a/drivers/mfd/Kconfig
++++ b/drivers/mfd/Kconfig
+@@ -1093,6 +1093,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 = &regmap_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);