lantiq,falcon-pinumx.txt 2.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
Lantiq FALCON pinmux controller

Required properties:
- compatible: "lantiq,pinctrl-falcon"
- reg: Should contain the physical address and length of the gpio/pinmux
  register range

Please refer to pinctrl-bindings.txt in this directory for details of the
common pinctrl bindings used by client devices, including the meaning of the
phrase "pin configuration node".

12
Lantiq's pin configuration nodes act as a container for an arbitrary number of
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
subnodes. Each of these subnodes represents some desired configuration for a
pin, a group, or a list of pins or groups. This configuration can include the
mux function to select on those group(s), and two pin configuration parameters:
pull-up and open-drain

The name of each subnode is not important as long as it is unique; all subnodes
should be enumerated and processed purely based on their content.

Each subnode only affects those parameters that are explicitly listed. In
other words, a subnode that lists a mux function but no pin configuration
parameters implies no information about any pin configuration parameters.
Similarly, a pin subnode that describes a pullup parameter implies no
information about e.g. the mux function.

We support 2 types of nodes.

Definition of mux function groups:

Required subnode-properties:
- lantiq,groups : An array of strings. Each string contains the name of a group.
  Valid values for these names are listed below.
- lantiq,function: A string containing the name of the function to mux to the
  group. Valid values for function names are listed below.

Valid values for group and function names:

  mux groups:
    por, ntr, ntr8k, hrst, mdio, bootled, asc0, spi, spi cs0, spi cs1, i2c,
    jtag, slic, pcm, asc1

  functions:
    rst, ntr, mdio, led, asc, spi, i2c, jtag, slic, pcm


Definition of pin configurations:

Required subnode-properties:
- lantiq,pins : An array of strings. Each string contains the name of a pin.
  Valid values for these names are listed below.

Optional subnode-properties:
- lantiq,pull: Integer, representing the pull-down/up to apply to the pin.
    0: none, 1: down
- lantiq,drive-current: Boolean, enables drive-current
- lantiq,slew-rate: Boolean, enables slew-rate

Example:
	pinmux0 {
		compatible = "lantiq,pinctrl-falcon";
		pinctrl-names = "default";
		pinctrl-0 = <&state_default>;

		state_default: pinmux {
			asc0 {
				lantiq,groups = "asc0";
				lantiq,function = "asc";
			};
			ntr {
				lantiq,groups = "ntr8k";
				lantiq,function = "ntr";
			};
			i2c {
				lantiq,groups = "i2c";
				lantiq,function = "i2c";
			};
			hrst {
				lantiq,groups = "hrst";
				lantiq,function = "rst";
			};
		};
	};