include: axp_pmic: Include headers for all variants
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>
This commit is contained in:
parent
5b4afbd40c
commit
344df3ca2c
@ -15,6 +15,7 @@ enum axp152_reg {
|
|||||||
#define AXP152_POWEROFF (1 << 7)
|
#define AXP152_POWEROFF (1 << 7)
|
||||||
|
|
||||||
/* For axp_gpio.c */
|
/* For axp_gpio.c */
|
||||||
|
#ifdef CONFIG_AXP152_POWER
|
||||||
#define AXP_GPIO0_CTRL 0x90
|
#define AXP_GPIO0_CTRL 0x90
|
||||||
#define AXP_GPIO1_CTRL 0x91
|
#define AXP_GPIO1_CTRL 0x91
|
||||||
#define AXP_GPIO2_CTRL 0x92
|
#define AXP_GPIO2_CTRL 0x92
|
||||||
@ -24,3 +25,4 @@ enum axp152_reg {
|
|||||||
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
||||||
#define AXP_GPIO_STATE 0x97
|
#define AXP_GPIO_STATE 0x97
|
||||||
#define AXP_GPIO_STATE_OFFSET 0
|
#define AXP_GPIO_STATE_OFFSET 0
|
||||||
|
#endif
|
||||||
|
@ -74,6 +74,7 @@ enum axp209_reg {
|
|||||||
#define AXP209_POWEROFF BIT(7)
|
#define AXP209_POWEROFF BIT(7)
|
||||||
|
|
||||||
/* For axp_gpio.c */
|
/* For axp_gpio.c */
|
||||||
|
#ifdef CONFIG_AXP209_POWER
|
||||||
#define AXP_POWER_STATUS 0x00
|
#define AXP_POWER_STATUS 0x00
|
||||||
#define AXP_POWER_STATUS_VBUS_PRESENT BIT(5)
|
#define AXP_POWER_STATUS_VBUS_PRESENT BIT(5)
|
||||||
#define AXP_GPIO0_CTRL 0x90
|
#define AXP_GPIO0_CTRL 0x90
|
||||||
@ -84,3 +85,4 @@ enum axp209_reg {
|
|||||||
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
||||||
#define AXP_GPIO_STATE 0x94
|
#define AXP_GPIO_STATE 0x94
|
||||||
#define AXP_GPIO_STATE_OFFSET 4
|
#define AXP_GPIO_STATE_OFFSET 4
|
||||||
|
#endif
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
#define AXP221_SID 0x20
|
#define AXP221_SID 0x20
|
||||||
|
|
||||||
/* For axp_gpio.c */
|
/* For axp_gpio.c */
|
||||||
|
#ifdef CONFIG_AXP221_POWER
|
||||||
#define AXP_POWER_STATUS 0x00
|
#define AXP_POWER_STATUS 0x00
|
||||||
#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)
|
#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)
|
||||||
#define AXP_VBUS_IPSOUT 0x30
|
#define AXP_VBUS_IPSOUT 0x30
|
||||||
@ -63,3 +64,4 @@
|
|||||||
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
||||||
#define AXP_GPIO_STATE 0x94
|
#define AXP_GPIO_STATE 0x94
|
||||||
#define AXP_GPIO_STATE_OFFSET 0
|
#define AXP_GPIO_STATE_OFFSET 0
|
||||||
|
#endif
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#define AXP809_SHUTDOWN_POWEROFF (1 << 7)
|
#define AXP809_SHUTDOWN_POWEROFF (1 << 7)
|
||||||
|
|
||||||
/* For axp_gpio.c */
|
/* For axp_gpio.c */
|
||||||
|
#ifdef CONFIG_AXP809_POWER
|
||||||
#define AXP_POWER_STATUS 0x00
|
#define AXP_POWER_STATUS 0x00
|
||||||
#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)
|
#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)
|
||||||
#define AXP_VBUS_IPSOUT 0x30
|
#define AXP_VBUS_IPSOUT 0x30
|
||||||
@ -57,3 +58,4 @@
|
|||||||
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
||||||
#define AXP_GPIO_STATE 0x94
|
#define AXP_GPIO_STATE 0x94
|
||||||
#define AXP_GPIO_STATE_OFFSET 0
|
#define AXP_GPIO_STATE_OFFSET 0
|
||||||
|
#endif
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
#define AXP818_SHUTDOWN_POWEROFF (1 << 7)
|
#define AXP818_SHUTDOWN_POWEROFF (1 << 7)
|
||||||
|
|
||||||
/* For axp_gpio.c */
|
/* For axp_gpio.c */
|
||||||
|
#ifdef CONFIG_AXP818_POWER
|
||||||
#define AXP_POWER_STATUS 0x00
|
#define AXP_POWER_STATUS 0x00
|
||||||
#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)
|
#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)
|
||||||
#define AXP_VBUS_IPSOUT 0x30
|
#define AXP_VBUS_IPSOUT 0x30
|
||||||
@ -71,3 +72,4 @@
|
|||||||
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
|
||||||
#define AXP_GPIO_STATE 0x94
|
#define AXP_GPIO_STATE 0x94
|
||||||
#define AXP_GPIO_STATE_OFFSET 0
|
#define AXP_GPIO_STATE_OFFSET 0
|
||||||
|
#endif
|
||||||
|
@ -9,24 +9,12 @@
|
|||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#ifdef CONFIG_AXP152_POWER
|
|
||||||
#include <axp152.h>
|
#include <axp152.h>
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_AXP209_POWER
|
|
||||||
#include <axp209.h>
|
#include <axp209.h>
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_AXP221_POWER
|
|
||||||
#include <axp221.h>
|
#include <axp221.h>
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_AXP305_POWER
|
|
||||||
#include <axp305.h>
|
#include <axp305.h>
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_AXP809_POWER
|
|
||||||
#include <axp809.h>
|
#include <axp809.h>
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_AXP818_POWER
|
|
||||||
#include <axp818.h>
|
#include <axp818.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#define AXP_PMIC_MODE_REG 0x3e
|
#define AXP_PMIC_MODE_REG 0x3e
|
||||||
#define AXP_PMIC_MODE_I2C 0x00
|
#define AXP_PMIC_MODE_I2C 0x00
|
||||||
|
Loading…
Reference in New Issue
Block a user