]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
include: axp_pmic: Include headers for all variants
authorSamuel Holland <samuel@sholland.org>
Sun, 22 Aug 2021 23:18:04 +0000 (18:18 -0500)
committerAndre Przywara <andre.przywara@arm.com>
Mon, 25 Oct 2021 13:50:42 +0000 (14:50 +0100)
A single DM-based driver should be able to support some feature for
several PMIC variants where the interface is the same. For example,
all PMIC variants use the same register bit to trigger poweroff.

However, currently only definitions for a single PMIC are available at
a time. This requires drivers to use #ifdefs and different indentifiers
for each variant they support.

Let's simplify this by making register definitions for all variants
available from the header. Then no preprocessor conditions are needed;
the driver can use the register definition from any variant that
supports the relevant feature.

An exception is the GPIO-related definitions, which do not use unique
identifiers. So for now, keep them like before. They will be cleaned up
along with the GPIO driver.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
include/axp152.h
include/axp209.h
include/axp221.h
include/axp809.h
include/axp818.h
include/axp_pmic.h

index c81f172502c1e775b7d5b5b2c3ba5c622fc84084..10d845fec42d4e8d76b6e073695d9c1aa3e0c04d 100644 (file)
@@ -15,6 +15,7 @@ enum axp152_reg {
 #define AXP152_POWEROFF                        (1 << 7)
 
 /* For axp_gpio.c */
+#ifdef CONFIG_AXP152_POWER
 #define AXP_GPIO0_CTRL                 0x90
 #define AXP_GPIO1_CTRL                 0x91
 #define AXP_GPIO2_CTRL                 0x92
@@ -24,3 +25,4 @@ enum axp152_reg {
 #define AXP_GPIO_CTRL_INPUT                    0x02 /* Input */
 #define AXP_GPIO_STATE                 0x97
 #define AXP_GPIO_STATE_OFFSET                  0
+#endif
index f4f1b2fe56d6dbb42fca9f9945016271de7b0869..30399a8d621c71f102059ce119566d695d2c74a8 100644 (file)
@@ -74,6 +74,7 @@ enum axp209_reg {
 #define AXP209_POWEROFF                        BIT(7)
 
 /* For axp_gpio.c */
+#ifdef CONFIG_AXP209_POWER
 #define AXP_POWER_STATUS               0x00
 #define AXP_POWER_STATUS_VBUS_PRESENT  BIT(5)
 #define AXP_GPIO0_CTRL                 0x90
@@ -84,3 +85,4 @@ enum axp209_reg {
 #define AXP_GPIO_CTRL_INPUT            0x02 /* Input */
 #define AXP_GPIO_STATE                 0x94
 #define AXP_GPIO_STATE_OFFSET          4
+#endif
index caffb910f4b0bb61f169f11b88869f0bee6fd225..a02e9b4f645e1415a1e62bb03be47c89a2abbedc 100644 (file)
@@ -50,6 +50,7 @@
 #define AXP221_SID             0x20
 
 /* For axp_gpio.c */
+#ifdef CONFIG_AXP221_POWER
 #define AXP_POWER_STATUS               0x00
 #define AXP_POWER_STATUS_VBUS_PRESENT          (1 << 5)
 #define AXP_VBUS_IPSOUT                        0x30
@@ -63,3 +64,4 @@
 #define AXP_GPIO_CTRL_INPUT                    0x02 /* Input */
 #define AXP_GPIO_STATE                 0x94
 #define AXP_GPIO_STATE_OFFSET                  0
+#endif
index 86b29253306c3e95f281bb5bc795a5f4e7aeb8b1..430dbef622b1bcc7f4640409a697a680cb4a9862 100644 (file)
@@ -44,6 +44,7 @@
 #define AXP809_SHUTDOWN_POWEROFF       (1 << 7)
 
 /* For axp_gpio.c */
+#ifdef CONFIG_AXP809_POWER
 #define AXP_POWER_STATUS               0x00
 #define AXP_POWER_STATUS_VBUS_PRESENT          (1 << 5)
 #define AXP_VBUS_IPSOUT                        0x30
@@ -57,3 +58,4 @@
 #define AXP_GPIO_CTRL_INPUT            0x02 /* Input */
 #define AXP_GPIO_STATE                 0x94
 #define AXP_GPIO_STATE_OFFSET          0
+#endif
index b16fe0b1527e3d1ae362637e7a390dd1e2d1d432..8bac6b67ca2ae207666e0b065020c1b139ebdac0 100644 (file)
@@ -58,6 +58,7 @@
 #define AXP818_SHUTDOWN_POWEROFF       (1 << 7)
 
 /* For axp_gpio.c */
+#ifdef CONFIG_AXP818_POWER
 #define AXP_POWER_STATUS               0x00
 #define AXP_POWER_STATUS_VBUS_PRESENT          (1 << 5)
 #define AXP_VBUS_IPSOUT                        0x30
@@ -71,3 +72,4 @@
 #define AXP_GPIO_CTRL_INPUT            0x02 /* Input */
 #define AXP_GPIO_STATE                 0x94
 #define AXP_GPIO_STATE_OFFSET          0
+#endif
index 2eab18937bc3534d6634a5d3f831566f8e903c07..01ebba63479241f1cc5a0bb2875559ba6587e4f0 100644 (file)
@@ -9,24 +9,12 @@
 
 #include <stdbool.h>
 
-#ifdef CONFIG_AXP152_POWER
 #include <axp152.h>
-#endif
-#ifdef CONFIG_AXP209_POWER
 #include <axp209.h>
-#endif
-#ifdef CONFIG_AXP221_POWER
 #include <axp221.h>
-#endif
-#ifdef CONFIG_AXP305_POWER
 #include <axp305.h>
-#endif
-#ifdef CONFIG_AXP809_POWER
 #include <axp809.h>
-#endif
-#ifdef CONFIG_AXP818_POWER
 #include <axp818.h>
-#endif
 
 #define AXP_PMIC_MODE_REG              0x3e
 #define AXP_PMIC_MODE_I2C              0x00