summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorArtur Weber <aweber.kernel@gmail.com>2025-05-15 17:16:30 +0300
committerLee Jones <lee@kernel.org>2025-05-22 12:56:49 +0300
commit6adf48a3aa316ce360e02dd10222e96da9a0eff5 (patch)
tree16e5199de5daeb4601d096a6834e3c7e3c59a777 /include/linux
parent13980ebf8e9431975fe834df9df31dea39cb9a45 (diff)
downloadlinux-6adf48a3aa316ce360e02dd10222e96da9a0eff5.tar.xz
mfd: bcm590xx: Add support for multiple device types + BCM59054 compatible
The BCM59054 is another chip from the BCM590xx line of PMUs, commonly used on devices with the BCM21664/BCM23550 chipsets. Prepare the BCM590xx driver for supporting other devices by adding the PMUID register values for supported chip types and store them in the MFD data struct as "pmu_id". (These will be checked against the actual PMUID register values in a later commit.) Then, add a DT compatible for the BCM59054, and provide the PMU ID as OF match data. Signed-off-by: Artur Weber <aweber.kernel@gmail.com> Reviewed-by: Stanislav Jakubek <stano.jakubek@gmail.com> Link: https://lore.kernel.org/r/20250515-bcm59054-v9-3-14ba0ea2ea5b@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mfd/bcm590xx.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/mfd/bcm590xx.h b/include/linux/mfd/bcm590xx.h
index 6b8791da6119..76c30e629333 100644
--- a/include/linux/mfd/bcm590xx.h
+++ b/include/linux/mfd/bcm590xx.h
@@ -13,6 +13,10 @@
#include <linux/i2c.h>
#include <linux/regmap.h>
+/* PMU ID register values; also used as device type */
+#define BCM590XX_PMUID_BCM59054 0x54
+#define BCM590XX_PMUID_BCM59056 0x56
+
/* max register address */
#define BCM590XX_MAX_REGISTER_PRI 0xe7
#define BCM590XX_MAX_REGISTER_SEC 0xf0
@@ -24,6 +28,9 @@ struct bcm590xx {
struct regmap *regmap_pri;
struct regmap *regmap_sec;
unsigned int id;
+
+ /* PMU ID value; also used as device type */
+ u8 pmu_id;
};
#endif /* __LINUX_MFD_BCM590XX_H */