mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
power: axp209: VBUS detection support
Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
5eaacb4340
commit
1a59ecff80
1 changed files with 9 additions and 1 deletions
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include <common.h>
|
||||
#include <i2c.h>
|
||||
#include <asm/arch/gpio.h>
|
||||
#include <axp209.h>
|
||||
|
||||
enum axp209_reg {
|
||||
|
@ -31,6 +32,7 @@ enum axp209_reg {
|
|||
};
|
||||
|
||||
#define AXP209_POWER_STATUS_ON_BY_DC (1 << 0)
|
||||
#define AXP209_POWER_STATUS_VBUS_USABLE (1 << 4)
|
||||
|
||||
#define AXP209_IRQ5_PEK_UP (1 << 6)
|
||||
#define AXP209_IRQ5_PEK_DOWN (1 << 5)
|
||||
|
@ -205,6 +207,9 @@ static u8 axp209_get_gpio_ctrl_reg(unsigned int pin)
|
|||
|
||||
int axp_gpio_direction_input(unsigned int pin)
|
||||
{
|
||||
if (pin == SUNXI_GPIO_AXP0_VBUS_DETECT)
|
||||
return 0;
|
||||
|
||||
u8 reg = axp209_get_gpio_ctrl_reg(pin);
|
||||
/* GPIO3 is "special" */
|
||||
u8 val = (pin == 3) ? AXP209_GPIO3_INPUT : AXP209_GPIO_INPUT;
|
||||
|
@ -232,7 +237,10 @@ int axp_gpio_get_value(unsigned int pin)
|
|||
u8 val, mask;
|
||||
int rc;
|
||||
|
||||
if (pin == 3) {
|
||||
if (pin == SUNXI_GPIO_AXP0_VBUS_DETECT) {
|
||||
rc = axp209_read(AXP209_POWER_STATUS, &val);
|
||||
mask = AXP209_POWER_STATUS_VBUS_USABLE;
|
||||
} else if (pin == 3) {
|
||||
rc = axp209_read(AXP209_GPIO3_CTRL, &val);
|
||||
mask = 1;
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue