提交 3c937993 编写于 作者: P Patrice Chotard 提交者: Linus Walleij

pinctrl/abx500: add AB8500 sub-driver

This adds a subdriver for the AB8500 pinctrl portions.
As the pin controller (also the ABx500 controllers) is an
inherent part of the SoC and will prevent boot if not
available, select this from the Ux500 SoC Kconfig.
Acked-by: NOlof Johansson <olof@lixom.net>
Reviewed-by: NStephen Warren <swarren@nvidia.com>
Signed-off-by: NPatrice Chotard <patrice.chotard@st.com>
Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
上级 0493e649
...@@ -20,6 +20,7 @@ config UX500_SOC_DB8500 ...@@ -20,6 +20,7 @@ config UX500_SOC_DB8500
select MFD_DB8500_PRCMU select MFD_DB8500_PRCMU
select PINCTRL_DB8500 select PINCTRL_DB8500
select PINCTRL_DB8540 select PINCTRL_DB8540
select PINCTRL_AB8500
select REGULATOR select REGULATOR
select REGULATOR_DB8500_PRCMU select REGULATOR_DB8500_PRCMU
......
...@@ -33,6 +33,10 @@ config PINCTRL_ABX500 ...@@ -33,6 +33,10 @@ config PINCTRL_ABX500
help help
Select this to enable the ABx500 family IC GPIO driver Select this to enable the ABx500 family IC GPIO driver
config PINCTRL_AB8500
bool "AB8500 pin controller driver"
depends on PINCTRL_ABX500 && ARCH_U8500
config PINCTRL_AT91 config PINCTRL_AT91
bool "AT91 pinctrl driver" bool "AT91 pinctrl driver"
depends on OF depends on OF
......
...@@ -10,6 +10,7 @@ obj-$(CONFIG_PINCTRL) += devicetree.o ...@@ -10,6 +10,7 @@ obj-$(CONFIG_PINCTRL) += devicetree.o
endif endif
obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o
obj-$(CONFIG_PINCTRL_ABX500) += pinctrl-abx500.o obj-$(CONFIG_PINCTRL_ABX500) += pinctrl-abx500.o
obj-$(CONFIG_PINCTRL_AB8500) += pinctrl-ab8500.o
obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o
obj-$(CONFIG_PINCTRL_BCM2835) += pinctrl-bcm2835.o obj-$(CONFIG_PINCTRL_BCM2835) += pinctrl-bcm2835.o
obj-$(CONFIG_PINCTRL_IMX) += pinctrl-imx.o obj-$(CONFIG_PINCTRL_IMX) += pinctrl-imx.o
......
此差异已折叠。
...@@ -1116,6 +1116,9 @@ static int abx500_gpio_probe(struct platform_device *pdev) ...@@ -1116,6 +1116,9 @@ static int abx500_gpio_probe(struct platform_device *pdev)
/* Poke in other ASIC variants here */ /* Poke in other ASIC variants here */
switch (platid->driver_data) { switch (platid->driver_data) {
case PINCTRL_AB8500:
abx500_pinctrl_ab8500_init(&pct->soc);
break;
default: default:
dev_err(&pdev->dev, "Unsupported pinctrl sub driver (%d)\n", dev_err(&pdev->dev, "Unsupported pinctrl sub driver (%d)\n",
(int) platid->driver_data); (int) platid->driver_data);
......
...@@ -177,4 +177,17 @@ struct abx500_pinctrl_soc_data { ...@@ -177,4 +177,17 @@ struct abx500_pinctrl_soc_data {
int irq_gpio_factor; int irq_gpio_factor;
}; };
#ifdef CONFIG_PINCTRL_AB8500
void abx500_pinctrl_ab8500_init(struct abx500_pinctrl_soc_data **soc);
#else
static inline void
abx500_pinctrl_ab8500_init(struct abx500_pinctrl_soc_data **soc)
{
}
#endif
#endif /* PINCTRL_PINCTRL_ABx500_H */ #endif /* PINCTRL_PINCTRL_ABx500_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册