[PATCH 2/4] include: axp_pmic: Include headers for all variants

Andre Przywara andre.przywara at arm.com
Mon Oct 25 02:38:19 CEST 2021


On Sun, 22 Aug 2021 18:18:04 -0500
Samuel Holland <samuel at sholland.org> wrote:

> 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 at sholland.org>

Reviewed-by: Andre Przywara <andre.przywara at arm.com>

Cheers,
Andre

> ---
> 
>  include/axp152.h   |  2 ++
>  include/axp209.h   |  2 ++
>  include/axp221.h   |  2 ++
>  include/axp809.h   |  2 ++
>  include/axp818.h   |  2 ++
>  include/axp_pmic.h | 12 ------------
>  6 files changed, 10 insertions(+), 12 deletions(-)
> 
> diff --git a/include/axp152.h b/include/axp152.h
> index c81f172502c..10d845fec42 100644
> --- a/include/axp152.h
> +++ b/include/axp152.h
> @@ -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
> diff --git a/include/axp209.h b/include/axp209.h
> index f4f1b2fe56d..30399a8d621 100644
> --- a/include/axp209.h
> +++ b/include/axp209.h
> @@ -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
> diff --git a/include/axp221.h b/include/axp221.h
> index caffb910f4b..a02e9b4f645 100644
> --- a/include/axp221.h
> +++ b/include/axp221.h
> @@ -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
> diff --git a/include/axp809.h b/include/axp809.h
> index 86b29253306..430dbef622b 100644
> --- a/include/axp809.h
> +++ b/include/axp809.h
> @@ -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
> diff --git a/include/axp818.h b/include/axp818.h
> index b16fe0b1527..8bac6b67ca2 100644
> --- a/include/axp818.h
> +++ b/include/axp818.h
> @@ -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
> diff --git a/include/axp_pmic.h b/include/axp_pmic.h
> index 2eab18937bc..01ebba63479 100644
> --- a/include/axp_pmic.h
> +++ b/include/axp_pmic.h
> @@ -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



More information about the U-Boot mailing list