]>
Commit | Line | Data |
---|---|---|
d90a5a30 MY |
1 | # |
2 | # PINCTRL infrastructure and drivers | |
3 | # | |
4 | ||
5 | menu "Pin controllers" | |
6 | ||
7 | config PINCTRL | |
8 | bool "Support pin controllers" | |
9 | depends on DM | |
10 | help | |
11 | This enables the basic support for pinctrl framework. You may want | |
12 | to enable some more options depending on what you want to do. | |
13 | ||
14 | config PINCTRL_FULL | |
15 | bool "Support full pin controllers" | |
16 | depends on PINCTRL && OF_CONTROL | |
17 | default y | |
18 | help | |
19 | This provides Linux-compatible device tree interface for the pinctrl | |
20 | subsystem. This feature depends on device tree configuration because | |
21 | it parses a device tree to look for the pinctrl device which the | |
22 | peripheral device is associated with. | |
23 | ||
24 | If this option is disabled (it is the only possible choice for non-DT | |
25 | boards), the pinctrl core provides no systematic mechanism for | |
26 | identifying peripheral devices, applying needed pinctrl settings. | |
27 | It is totally up to the implementation of each low-level driver. | |
28 | You can save memory footprint in return for some limitations. | |
29 | ||
30 | config PINCTRL_GENERIC | |
31 | bool "Support generic pin controllers" | |
32 | depends on PINCTRL_FULL | |
33 | default y | |
34 | help | |
35 | Say Y here if you want to use the pinctrl subsystem through the | |
36 | generic DT interface. If enabled, some functions become available | |
37 | to parse common properties such as "pins", "groups", "functions" and | |
38 | some pin configuration parameters. It would be easier if you only | |
39 | need the generic DT interface for pin muxing and pin configuration. | |
40 | If you need to handle vendor-specific DT properties, you can disable | |
41 | this option and implement your own set_state callback in the pinctrl | |
42 | operations. | |
43 | ||
44 | config PINMUX | |
45 | bool "Support pin multiplexing controllers" | |
46 | depends on PINCTRL_GENERIC | |
47 | default y | |
48 | help | |
49 | This option enables pin multiplexing through the generic pinctrl | |
50 | framework. | |
51 | ||
52 | config PINCONF | |
53 | bool "Support pin configuration controllers" | |
54 | depends on PINCTRL_GENERIC | |
55 | help | |
56 | This option enables pin configuration through the generic pinctrl | |
57 | framework. | |
58 | ||
59 | config SPL_PINCTRL | |
60 | bool "Support pin controlloers in SPL" | |
61 | depends on SPL && SPL_DM | |
62 | help | |
63 | This option is an SPL-variant of the PINCTRL option. | |
64 | See the help of PINCTRL for details. | |
65 | ||
66 | config SPL_PINCTRL_FULL | |
67 | bool "Support full pin controllers in SPL" | |
68 | depends on SPL_PINCTRL && SPL_OF_CONTROL | |
69 | default y | |
70 | help | |
71 | This option is an SPL-variant of the PINCTRL_FULL option. | |
72 | See the help of PINCTRL_FULL for details. | |
73 | ||
74 | config SPL_PINCTRL_GENERIC | |
75 | bool "Support generic pin controllers in SPL" | |
76 | depends on SPL_PINCTRL_FULL | |
77 | default y | |
78 | help | |
79 | This option is an SPL-variant of the PINCTRL_GENERIC option. | |
80 | See the help of PINCTRL_GENERIC for details. | |
81 | ||
82 | config SPL_PINMUX | |
83 | bool "Support pin multiplexing controllers in SPL" | |
84 | depends on SPL_PINCTRL_GENERIC | |
85 | default y | |
86 | help | |
87 | This option is an SPL-variant of the PINMUX option. | |
88 | See the help of PINMUX for details. | |
89 | ||
90 | config SPL_PINCONF | |
91 | bool "Support pin configuration controllers in SPL" | |
92 | depends on SPL_PINCTRL_GENERIC | |
93 | help | |
94 | This option is an SPL-variant of the PINCONF option. | |
95 | See the help of PINCONF for details. | |
96 | ||
97 | if PINCTRL || SPL_PINCTRL | |
98 | ||
99 | endif | |
100 | ||
101 | endmenu |