[go: nahoru, domu]

1a9e51fe5e610dce8110ec383f50b96eeadd568e0Axel Lin#ifndef PINCTRL_PINCTRL_ABx500_H
20493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define PINCTRL_PINCTRL_ABx500_H
30493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
40493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/* Package definitions */
50493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define PINCTRL_AB8500	0
60493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define PINCTRL_AB8540	1
70493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define PINCTRL_AB9540	2
80493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define PINCTRL_AB8505	3
90493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
100493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/* pins alternate function */
110493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardenum abx500_pin_func {
120493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	ABX500_DEFAULT,
130493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	ABX500_ALT_A,
140493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	ABX500_ALT_B,
150493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	ABX500_ALT_C,
160493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
170493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1897b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleijenum abx500_gpio_pull_updown {
1997b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij	ABX500_GPIO_PULL_DOWN = 0x0,
2097b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij	ABX500_GPIO_PULL_NONE = 0x1,
2197b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij	ABX500_GPIO_PULL_UP = 0x3,
2297b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij};
2397b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij
2497b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleijenum abx500_gpio_vinsel {
2597b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij	ABX500_GPIO_VINSEL_VBAT = 0x0,
2697b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij	ABX500_GPIO_VINSEL_VIN_1V8 = 0x1,
2797b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij	ABX500_GPIO_VINSEL_VDD_BIF = 0x2,
2897b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij};
2997b583f3b491f75712b0edc89c26a112f3847ab3Linus Walleij
300493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/**
310493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * struct abx500_function - ABx500 pinctrl mux function
320493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @name: The name of the function, exported to pinctrl core.
330493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @groups: An array of pin groups that may select this function.
340493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @ngroups: The number of entries in @groups.
350493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard */
360493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardstruct abx500_function {
370493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const char *name;
380493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const char * const *groups;
390493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned ngroups;
400493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
410493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
420493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/**
430493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * struct abx500_pingroup - describes a ABx500 pin group
440493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @name: the name of this specific pin group
450493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @pins: an array of discrete physical pins used in this group, taken
460493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *	from the driver-local pin enumeration space
470493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @num_pins: the number of pins in this group array, i.e. the number of
480493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *	elements in .pins so we can iterate over that array
490493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @altsetting: the altsetting to apply to all pins in this group to
500493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *	configure them to be used by a function
510493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard */
520493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardstruct abx500_pingroup {
530493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const char *name;
540493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const unsigned int *pins;
550493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const unsigned npins;
560493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	int altsetting;
570493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
580493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
590493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define ALTERNATE_FUNCTIONS(pin, sel_bit, alt1, alt2, alta, altb, altc)	\
600493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard{									\
610493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.pin_number = pin,						\
620493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.gpiosel_bit = sel_bit,						\
630493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.alt_bit1 = alt1,						\
640493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.alt_bit2 = alt2,						\
650493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.alta_val = alta,						\
660493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.altb_val = altb,						\
670493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.altc_val = altc,						\
680493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard}
690493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
700493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define UNUSED -1
710493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/**
720493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * struct alternate_functions
730493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @pin_number:		The pin number
740493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @gpiosel_bit:	Control bit in GPIOSEL register,
750493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @alt_bit1:		First AlternateFunction bit used to select the
760493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			alternate function
770493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @alt_bit2:		Second AlternateFunction bit used to select the
780493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			alternate function
790493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *
800493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			these 3 following fields are necessary due to none
810493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			coherency on how to select the altA, altB and altC
820493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			function between the ABx500 SOC family when using
830493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			alternatfunc register.
840493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @alta_val:		value to write in alternatfunc to select altA function
850493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @altb_val:		value to write in alternatfunc to select altB function
860493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @altc_val:		value to write in alternatfunc to select altC function
870493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard */
880493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardstruct alternate_functions {
890493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned pin_number;
900493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	s8 gpiosel_bit;
910493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	s8 alt_bit1;
920493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	s8 alt_bit2;
930493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	u8 alta_val;
940493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	u8 altb_val;
950493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	u8 altc_val;
960493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
970493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
980493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/**
990493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * struct pullud - specific pull up/down feature
1000493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @first_pin:		The pin number of the first pins which support
1010493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			specific pull up/down
1020493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @last_pin:		The pin number of the last pins
1030493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard */
1040493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardstruct pullud {
1050493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned first_pin;
1060493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned last_pin;
1070493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
1080493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1090493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define GPIO_IRQ_CLUSTER(a, b, c)	\
1100493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard{					\
1110493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.start = a,			\
1120493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	.end = b,			\
113a6a16d274e734afa769a9651dfaf8315d404c116Lee Jones	.to_irq = c,			\
1140493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard}
1150493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1160493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/**
1170493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * struct abx500_gpio_irq_cluster - indicates GPIOs which are interrupt
1180493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			capable
1190493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @start:		The pin number of the first pin interrupt capable
1200493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @end:		The pin number of the last pin interrupt capable
121a6a16d274e734afa769a9651dfaf8315d404c116Lee Jones * @to_irq:		The ABx500 GPIO's associated IRQs are clustered
122a6a16d274e734afa769a9651dfaf8315d404c116Lee Jones *                      together throughout the interrupt numbers at irregular
123a6a16d274e734afa769a9651dfaf8315d404c116Lee Jones *                      intervals. To solve this quandary, we will place the
124a6a16d274e734afa769a9651dfaf8315d404c116Lee Jones *                      read-in values into the cluster information table
1250493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard */
1260493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1270493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardstruct abx500_gpio_irq_cluster {
1280493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	int start;
1290493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	int end;
130a6a16d274e734afa769a9651dfaf8315d404c116Lee Jones	int to_irq;
1310493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
1320493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1330493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/**
1340493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * struct abx500_pinrange - map pin numbers to GPIO offsets
1350493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @offset:		offset into the GPIO local numberspace, incidentally
1360493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			identical to the offset into the local pin numberspace
1370493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @npins:		number of pins to map from both offsets
1380493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @altfunc:		altfunc setting to be used to enable GPIO on a pin in
1390493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			this range (may vary)
1400493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard */
1410493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardstruct abx500_pinrange {
1420493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned int offset;
1430493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned int npins;
1440493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	int altfunc;
1450493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
1460493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1470493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#define ABX500_PINRANGE(a, b, c) { .offset = a, .npins = b, .altfunc = c }
1480493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1490493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard/**
1500493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * struct abx500_pinctrl_soc_data - ABx500 pin controller per-SoC configuration
1510493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @gpio_ranges:	An array of GPIO ranges for this SoC
1520493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @gpio_num_ranges:	The number of GPIO ranges for this SoC
1530493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @pins:		An array describing all pins the pin controller affects.
1540493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			All pins which are also GPIOs must be listed first within the
1550493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			array, and be numbered identically to the GPIO controller's
1560493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			numbering.
1570493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @npins:		The number of entries in @pins.
1580493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @functions:		The functions supported on this SoC.
1590493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @nfunction:		The number of entries in @functions.
1600493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @groups:		An array describing all pin groups the pin SoC supports.
1610493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @ngroups:		The number of entries in @groups.
1620493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @alternate_functions: array describing pins which supports alternate and
1630493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			how to set it.
1640493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @pullud:		array describing pins which supports pull up/down
1650493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			specific registers.
1660493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @gpio_irq_cluster:	An array of GPIO interrupt capable for this SoC
1670493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @ngpio_irq_cluster:	The number of GPIO inetrrupt capable for this SoC
1680493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @irq_gpio_rising_offset: Interrupt offset used as base to compute specific
1690493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			setting strategy of the rising interrupt line
1700493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @irq_gpio_falling_offset: Interrupt offset used as base to compute specific
1710493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			setting strategy of the falling interrupt line
1720493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard * @irq_gpio_factor:	Factor used to compute specific setting strategy of
1730493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard *			the interrupt line
1740493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard */
1750493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1760493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotardstruct abx500_pinctrl_soc_data {
1770493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const struct abx500_pinrange *gpio_ranges;
1780493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned gpio_num_ranges;
1790493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const struct pinctrl_pin_desc *pins;
1800493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned npins;
1810493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const struct abx500_function *functions;
1820493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned nfunctions;
1830493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	const struct abx500_pingroup *groups;
1840493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned ngroups;
1850493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	struct alternate_functions *alternate_functions;
1860493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	struct pullud *pullud;
1870493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	struct abx500_gpio_irq_cluster *gpio_irq_cluster;
1880493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	unsigned ngpio_irq_cluster;
1890493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	int irq_gpio_rising_offset;
1900493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	int irq_gpio_falling_offset;
1910493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard	int irq_gpio_factor;
1920493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard};
1930493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard
1943c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard#ifdef CONFIG_PINCTRL_AB8500
1953c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard
1963c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotardvoid abx500_pinctrl_ab8500_init(struct abx500_pinctrl_soc_data **soc);
1973c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard
1983c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard#else
1993c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard
2003c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotardstatic inline void
2013c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotardabx500_pinctrl_ab8500_init(struct abx500_pinctrl_soc_data **soc)
2023c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard{
2033c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard}
2043c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard
2053c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard#endif
2063c93799378ce0cb13179ba5a28366573028e03cfPatrice Chotard
207a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard#ifdef CONFIG_PINCTRL_AB8540
208a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard
209a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotardvoid abx500_pinctrl_ab8540_init(struct abx500_pinctrl_soc_data **soc);
210a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard
211a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard#else
212a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard
213a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotardstatic inline void
214a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotardabx500_pinctrl_ab8540_init(struct abx500_pinctrl_soc_data **soc)
215a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard{
216a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard}
217a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard
218a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard#endif
219a8f96e4178920b43525da7b2635b2ee3a53896b8Patrice Chotard
22009dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard#ifdef CONFIG_PINCTRL_AB9540
22109dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard
22209dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotardvoid abx500_pinctrl_ab9540_init(struct abx500_pinctrl_soc_data **soc);
22309dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard
22409dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard#else
22509dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard
22609dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotardstatic inline void
22709dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotardabx500_pinctrl_ab9540_init(struct abx500_pinctrl_soc_data **soc)
22809dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard{
22909dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard}
23009dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard
23109dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard#endif
23209dbec3f74b51af614f239d3374fd7c7752c9990Patrice Chotard
2331aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard#ifdef CONFIG_PINCTRL_AB8505
2341aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard
2351aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotardvoid abx500_pinctrl_ab8505_init(struct abx500_pinctrl_soc_data **soc);
2361aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard
2371aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard#else
2381aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard
2391aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotardstatic inline void
2401aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotardabx500_pinctrl_ab8505_init(struct abx500_pinctrl_soc_data **soc)
2411aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard{
2421aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard}
2431aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard
2441aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard#endif
2451aa2d8d4055267462f8943e2a1e6eb2e7034eb25Patrice Chotard
2460493e6493031523f78680b4469f02fc1b2d440f3Patrice Chotard#endif /* PINCTRL_PINCTRL_ABx500_H */
247