aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinctrl-nomadik.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pinctrl/pinctrl-nomadik.h')
-rw-r--r--drivers/pinctrl/pinctrl-nomadik.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/pinctrl/pinctrl-nomadik.h b/drivers/pinctrl/pinctrl-nomadik.h
index e690accb5051..bc91aed7185d 100644
--- a/drivers/pinctrl/pinctrl-nomadik.h
+++ b/drivers/pinctrl/pinctrl-nomadik.h
@@ -8,6 +8,18 @@
8#define PINCTRL_NMK_DB8500 1 8#define PINCTRL_NMK_DB8500 1
9 9
10/** 10/**
11 * struct nmk_function - Nomadik pinctrl mux function
12 * @name: The name of the function, exported to pinctrl core.
13 * @groups: An array of pin groups that may select this function.
14 * @ngroups: The number of entries in @groups.
15 */
16struct nmk_function {
17 const char *name;
18 const char * const *groups;
19 unsigned ngroups;
20};
21
22/**
11 * struct nmk_pingroup - describes a Nomadik pin group 23 * struct nmk_pingroup - describes a Nomadik pin group
12 * @name: the name of this specific pin group 24 * @name: the name of this specific pin group
13 * @pins: an array of discrete physical pins used in this group, taken 25 * @pins: an array of discrete physical pins used in this group, taken
@@ -21,7 +33,7 @@ struct nmk_pingroup {
21 const char *name; 33 const char *name;
22 const unsigned int *pins; 34 const unsigned int *pins;
23 const unsigned npins; 35 const unsigned npins;
24 u32 altsetting; 36 int altsetting;
25}; 37};
26 38
27/** 39/**
@@ -32,7 +44,9 @@ struct nmk_pingroup {
32 * All pins which are also GPIOs must be listed first within the 44 * All pins which are also GPIOs must be listed first within the
33 * array, and be numbered identically to the GPIO controller's 45 * array, and be numbered identically to the GPIO controller's
34 * numbering. 46 * numbering.
35 * @npins: The numbmer of entries in @pins. 47 * @npins: The number of entries in @pins.
48 * @functions: The functions supported on this SoC.
49 * @nfunction: The number of entries in @functions.
36 * @groups: An array describing all pin groups the pin SoC supports. 50 * @groups: An array describing all pin groups the pin SoC supports.
37 * @ngroups: The number of entries in @groups. 51 * @ngroups: The number of entries in @groups.
38 */ 52 */
@@ -41,6 +55,8 @@ struct nmk_pinctrl_soc_data {
41 unsigned gpio_num_ranges; 55 unsigned gpio_num_ranges;
42 const struct pinctrl_pin_desc *pins; 56 const struct pinctrl_pin_desc *pins;
43 unsigned npins; 57 unsigned npins;
58 const struct nmk_function *functions;
59 unsigned nfunctions;
44 const struct nmk_pingroup *groups; 60 const struct nmk_pingroup *groups;
45 unsigned ngroups; 61 unsigned ngroups;
46}; 62};