xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/lantiq,pinctrl-falcon.txt (revision a90b9d0159070121c221b966469c3e36d912bf82)
1Lantiq FALCON pinmux controller
2
3Required properties:
4- compatible: "lantiq,pinctrl-falcon"
5- reg: Should contain the physical address and length of the gpio/pinmux
6  register range
7
8Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node".
11
12Lantiq's pin configuration nodes act as a container for an arbitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those group(s), and two pin configuration parameters:
16pull-up and open-drain
17
18The name of each subnode is not important as long as it is unique; all subnodes
19should be enumerated and processed purely based on their content.
20
21Each subnode only affects those parameters that are explicitly listed. In
22other words, a subnode that lists a mux function but no pin configuration
23parameters implies no information about any pin configuration parameters.
24Similarly, a pin subnode that describes a pullup parameter implies no
25information about e.g. the mux function.
26
27We support 2 types of nodes.
28
29Definition of mux function groups:
30
31Required 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.
36
37Valid values for group and function names:
38
39  mux groups:
40    por, ntr, ntr8k, hrst, mdio, bootled, asc0, spi, spi cs0, spi cs1, i2c,
41    jtag, slic, pcm, asc1
42
43  functions:
44    rst, ntr, mdio, led, asc, spi, i2c, jtag, slic, pcm
45
46
47Definition of pin configurations:
48
49Required 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.
52
53Optional 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
58
59Example:
60	pinmux0 {
61		compatible = "lantiq,pinctrl-falcon";
62		pinctrl-names = "default";
63		pinctrl-0 = <&state_default>;
64
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	};
84