Commit d4c0b614 authored by Samuel Holland's avatar Samuel Holland Committed by Linus Walleij

pinctrl: axp209: Support the AXP221/AXP223/AXP809 variant

These PMICs each have 2 GPIOs with the same register layout as AXP813,
but without an ADC function. They all fall back to the AXP221 compatible
string, so only that one needs to be listed in the driver.
Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
Reviewed-by: default avatarChen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20220621034224.38995-4-samuel@sholland.orgSigned-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f9f991e1
...@@ -73,7 +73,7 @@ static const struct pinctrl_pin_desc axp209_pins[] = { ...@@ -73,7 +73,7 @@ static const struct pinctrl_pin_desc axp209_pins[] = {
PINCTRL_PIN(2, "GPIO2"), PINCTRL_PIN(2, "GPIO2"),
}; };
static const struct pinctrl_pin_desc axp813_pins[] = { static const struct pinctrl_pin_desc axp22x_pins[] = {
PINCTRL_PIN(0, "GPIO0"), PINCTRL_PIN(0, "GPIO0"),
PINCTRL_PIN(1, "GPIO1"), PINCTRL_PIN(1, "GPIO1"),
}; };
...@@ -87,9 +87,16 @@ static const struct axp20x_pctrl_desc axp20x_data = { ...@@ -87,9 +87,16 @@ static const struct axp20x_pctrl_desc axp20x_data = {
.adc_mux = AXP20X_MUX_ADC, .adc_mux = AXP20X_MUX_ADC,
}; };
static const struct axp20x_pctrl_desc axp22x_data = {
.pins = axp22x_pins,
.npins = ARRAY_SIZE(axp22x_pins),
.ldo_mask = BIT(0) | BIT(1),
.gpio_status_offset = 0,
};
static const struct axp20x_pctrl_desc axp813_data = { static const struct axp20x_pctrl_desc axp813_data = {
.pins = axp813_pins, .pins = axp22x_pins,
.npins = ARRAY_SIZE(axp813_pins), .npins = ARRAY_SIZE(axp22x_pins),
.ldo_mask = BIT(0) | BIT(1), .ldo_mask = BIT(0) | BIT(1),
.adc_mask = BIT(0), .adc_mask = BIT(0),
.gpio_status_offset = 0, .gpio_status_offset = 0,
...@@ -388,6 +395,7 @@ static int axp20x_build_funcs_groups(struct platform_device *pdev) ...@@ -388,6 +395,7 @@ static int axp20x_build_funcs_groups(struct platform_device *pdev)
static const struct of_device_id axp20x_pctl_match[] = { static const struct of_device_id axp20x_pctl_match[] = {
{ .compatible = "x-powers,axp209-gpio", .data = &axp20x_data, }, { .compatible = "x-powers,axp209-gpio", .data = &axp20x_data, },
{ .compatible = "x-powers,axp221-gpio", .data = &axp22x_data, },
{ .compatible = "x-powers,axp813-gpio", .data = &axp813_data, }, { .compatible = "x-powers,axp813-gpio", .data = &axp813_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