Commit af1dcd3d authored by Aidan MacDonald's avatar Aidan MacDonald Committed by Sebastian Reichel

power: supply: axp20x_usb_power: Add support for AXP192

Add support for the AXP192. It is most similar to the AXP202 but
the current limits are different and the USB OTG status register
has a different address (0x04 instead of 0x02).
Signed-off-by: default avatarAidan MacDonald <aidanmacdonald.0x0@gmail.com>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent 830087b1
......@@ -26,6 +26,8 @@
#define DRVNAME "axp20x-usb-power-supply"
#define AXP192_USB_OTG_STATUS 0x04
#define AXP20X_PWR_STATUS_VBUS_PRESENT BIT(5)
#define AXP20X_PWR_STATUS_VBUS_USED BIT(4)
......@@ -365,6 +367,13 @@ static const char * const axp22x_irq_names[] = {
"VBUS_REMOVAL",
};
static int axp192_usb_curr_lim_table[] = {
-1,
-1,
500000,
100000,
};
static int axp20x_usb_curr_lim_table[] = {
900000,
500000,
......@@ -386,6 +395,16 @@ static int axp813_usb_curr_lim_table[] = {
2500000,
};
static const struct axp_data axp192_data = {
.power_desc = &axp20x_usb_power_desc,
.irq_names = axp20x_irq_names,
.num_irq_names = ARRAY_SIZE(axp20x_irq_names),
.curr_lim_table = axp192_usb_curr_lim_table,
.curr_lim_fld = REG_FIELD(AXP20X_VBUS_IPSOUT_MGMT, 0, 1),
.vbus_valid_bit = REG_FIELD(AXP192_USB_OTG_STATUS, 2, 2),
.vbus_mon_bit = REG_FIELD(AXP20X_VBUS_MON, 3, 3),
};
static const struct axp_data axp202_data = {
.power_desc = &axp20x_usb_power_desc,
.irq_names = axp20x_irq_names,
......@@ -634,6 +653,9 @@ static int axp20x_usb_power_probe(struct platform_device *pdev)
static const struct of_device_id axp20x_usb_power_match[] = {
{
.compatible = "x-powers,axp192-usb-power-supply",
.data = &axp192_data,
}, {
.compatible = "x-powers,axp202-usb-power-supply",
.data = &axp202_data,
}, {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment