Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux...
[linux/fpc-iii.git] / Documentation / devicetree / bindings / pinctrl / lantiq,pinctrl-falcon.txt
blobac4da9fe07bd1fe28d2ceabacbca5453ff41e7a5
1 Lantiq FALCON pinmux controller
3 Required properties:
4 - compatible: "lantiq,pinctrl-falcon"
5 - reg: Should contain the physical address and length of the gpio/pinmux
6   register range
8 Please refer to pinctrl-bindings.txt in this directory for details of the
9 common pinctrl bindings used by client devices, including the meaning of the
10 phrase "pin configuration node".
12 Lantiq's pin configuration nodes act as a container for an arbitrary number of
13 subnodes. Each of these subnodes represents some desired configuration for a
14 pin, a group, or a list of pins or groups. This configuration can include the
15 mux function to select on those group(s), and two pin configuration parameters:
16 pull-up and open-drain
18 The name of each subnode is not important as long as it is unique; all subnodes
19 should be enumerated and processed purely based on their content.
21 Each subnode only affects those parameters that are explicitly listed. In
22 other words, a subnode that lists a mux function but no pin configuration
23 parameters implies no information about any pin configuration parameters.
24 Similarly, a pin subnode that describes a pullup parameter implies no
25 information about e.g. the mux function.
27 We support 2 types of nodes.
29 Definition of mux function groups:
31 Required subnode-properties:
32 - lantiq,groups : An array of strings. Each string contains the name of a group.
33   Valid values for these names are listed below.
34 - lantiq,function: A string containing the name of the function to mux to the
35   group. Valid values for function names are listed below.
37 Valid values for group and function names:
39   mux groups:
40     por, ntr, ntr8k, hrst, mdio, bootled, asc0, spi, spi cs0, spi cs1, i2c,
41     jtag, slic, pcm, asc1
43   functions:
44     rst, ntr, mdio, led, asc, spi, i2c, jtag, slic, pcm
47 Definition of pin configurations:
49 Required subnode-properties:
50 - lantiq,pins : An array of strings. Each string contains the name of a pin.
51   Valid values for these names are listed below.
53 Optional subnode-properties:
54 - lantiq,pull: Integer, representing the pull-down/up to apply to the pin.
55     0: none, 1: down
56 - lantiq,drive-current: Boolean, enables drive-current
57 - lantiq,slew-rate: Boolean, enables slew-rate
59 Example:
60         pinmux0 {
61                 compatible = "lantiq,pinctrl-falcon";
62                 pinctrl-names = "default";
63                 pinctrl-0 = <&state_default>;
65                 state_default: pinmux {
66                         asc0 {
67                                 lantiq,groups = "asc0";
68                                 lantiq,function = "asc";
69                         };
70                         ntr {
71                                 lantiq,groups = "ntr8k";
72                                 lantiq,function = "ntr";
73                         };
74                         i2c {
75                                 lantiq,groups = "i2c";
76                                 lantiq,function = "i2c";
77                         };
78                         hrst {
79                                 lantiq,groups = "hrst";
80                                 lantiq,function = "rst";
81                         };
82                 };
83         };