Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0493e649 authored by Patrice Chotard's avatar Patrice Chotard Committed by Linus Walleij
Browse files

pinctrl: add abx500 pinctrl driver core



This adds the AB8500 core driver, which will be utilized by
the follow-on drivers for different ABx500 variants.
Sselect the driver from the DBX500_SOC, as this chip is
powering and clocking that SoC.

Cc: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: default avatarPatrice Chotard <patrice.chotard@st.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent a718ff6f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ config UX500_SOC_COMMON
	select COMMON_CLK
	select PINCTRL
	select PINCTRL_NOMADIK
	select PINCTRL_ABX500
	select PL310_ERRATA_753970 if CACHE_PL310

config UX500_SOC_DB8500
+1 −18
Original line number Diff line number Diff line
@@ -90,26 +90,9 @@ static struct platform_device snowball_gpio_en_3v3_regulator_dev = {
       },
};

static struct ab8500_gpio_platform_data ab8500_gpio_pdata = {
static struct abx500_gpio_platform_data ab8500_gpio_pdata = {
	.gpio_base		= MOP500_AB8500_PIN_GPIO(1),
	.irq_base		= MOP500_AB8500_VIR_GPIO_IRQ_BASE,
	/* config_reg is the initial configuration of ab8500 pins.
	 * The pins can be configured as GPIO or alt functions based
	 * on value present in GpioSel1 to GpioSel6 and AlternatFunction
	 * register. This is the array of 7 configuration settings.
	 * One has to compile time decide these settings. Below is the
	 * explanation of these setting
	 * GpioSel1 = 0x00 => Pins GPIO1 to GPIO8 are not used as GPIO
	 * GpioSel2 = 0x1E => Pins GPIO10 to GPIO13 are configured as GPIO
	 * GpioSel3 = 0x80 => Pin GPIO24 is configured as GPIO
	 * GpioSel4 = 0x01 => Pin GPIo25 is configured as GPIO
	 * GpioSel5 = 0x7A => Pins GPIO34, GPIO36 to GPIO39 are conf as GPIO
	 * GpioSel6 = 0x00 => Pins GPIO41 & GPIo42 are not configured as GPIO
	 * AlternaFunction = 0x00 => If Pins GPIO10 to 13 are not configured
	 * as GPIO then this register selectes the alternate fucntions
	 */
	.config_reg		= {0x00, 0x1E, 0x80, 0x01,
					0x7A, 0x00, 0x00},
};

/* ab8500-codec */
+7 −0
Original line number Diff line number Diff line
@@ -26,6 +26,13 @@ config DEBUG_PINCTRL
	help
	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.

config PINCTRL_ABX500
	bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
	depends on AB8500_CORE
	select GENERIC_PINCONF
	help
	  Select this to enable the ABx500 family IC GPIO driver

config PINCTRL_AT91
	bool "AT91 pinctrl driver"
	depends on OF
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ ifeq ($(CONFIG_OF),y)
obj-$(CONFIG_PINCTRL)		+= devicetree.o
endif
obj-$(CONFIG_GENERIC_PINCONF)	+= pinconf-generic.o
obj-$(CONFIG_PINCTRL_ABX500)	+= pinctrl-abx500.o
obj-$(CONFIG_PINCTRL_AT91)	+= pinctrl-at91.o
obj-$(CONFIG_PINCTRL_BCM2835)	+= pinctrl-bcm2835.o
obj-$(CONFIG_PINCTRL_IMX)	+= pinctrl-imx.o
+1233 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading