pinctrl: meson: add g12a support
Add pinctrl support for the Amlogic G12A SoC, which is very similar to the Amlogic AXG support but with an additionnal drive-strength register bank. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit is contained in:
parent
d0a9b82b75
commit
f91121c794
@ -25,4 +25,8 @@ config PINCTRL_MESON_AXG
|
||||
bool "Amlogic Meson AXG SoC pinctrl driver"
|
||||
select PINCTRL_MESON_AXG_PMX
|
||||
|
||||
config PINCTRL_MESON_G12A
|
||||
bool "Amlogic Meson G12a SoC pinctrl driver"
|
||||
select PINCTRL_MESON_AXG_PMX
|
||||
|
||||
endif
|
||||
|
@ -6,3 +6,4 @@ obj-$(CONFIG_PINCTRL_MESON_AXG_PMX) += pinctrl-meson-axg-pmx.o
|
||||
obj-$(CONFIG_PINCTRL_MESON_GXBB) += pinctrl-meson-gxbb.o
|
||||
obj-$(CONFIG_PINCTRL_MESON_GXL) += pinctrl-meson-gxl.o
|
||||
obj-$(CONFIG_PINCTRL_MESON_AXG) += pinctrl-meson-axg.o
|
||||
obj-$(CONFIG_PINCTRL_MESON_G12A) += pinctrl-meson-g12a.o
|
||||
|
1294
drivers/pinctrl/meson/pinctrl-meson-g12a.c
Normal file
1294
drivers/pinctrl/meson/pinctrl-meson-g12a.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -314,11 +314,11 @@ int meson_pinctrl_probe(struct udevice *dev)
|
||||
priv->reg_gpio = (void __iomem *)addr;
|
||||
|
||||
addr = parse_address(gpio, "pull", na, ns);
|
||||
if (addr == FDT_ADDR_T_NONE) {
|
||||
debug("pull address not found\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
priv->reg_pull = (void __iomem *)addr;
|
||||
/* Use gpio region if pull one is not present */
|
||||
if (addr == FDT_ADDR_T_NONE)
|
||||
priv->reg_pull = priv->reg_gpio;
|
||||
else
|
||||
priv->reg_pull = (void __iomem *)addr;
|
||||
|
||||
addr = parse_address(gpio, "pull-enable", na, ns);
|
||||
/* Use pull region if pull-enable one is not present */
|
||||
@ -327,6 +327,13 @@ int meson_pinctrl_probe(struct udevice *dev)
|
||||
else
|
||||
priv->reg_pullen = (void __iomem *)addr;
|
||||
|
||||
addr = parse_address(gpio, "ds", na, ns);
|
||||
/* Drive strength region is optional */
|
||||
if (addr == FDT_ADDR_T_NONE)
|
||||
priv->reg_ds = NULL;
|
||||
else
|
||||
priv->reg_ds = (void __iomem *)addr;
|
||||
|
||||
priv->data = (struct meson_pinctrl_data *)dev_get_driver_data(dev);
|
||||
|
||||
/* Lookup GPIO driver */
|
||||
|
@ -41,6 +41,7 @@ struct meson_pinctrl {
|
||||
void __iomem *reg_gpio;
|
||||
void __iomem *reg_pull;
|
||||
void __iomem *reg_pullen;
|
||||
void __iomem *reg_ds;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user