xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/mscc,ocelot-pinctrl.txt (revision 02e9120893770924227138ba49df1edb3896112a)
1Microsemi Ocelot pin controller Device Tree Bindings
2----------------------------------------------------
3
4Required properties:
5 - compatible		: Should be "mscc,ocelot-pinctrl",
6			  "mscc,jaguar2-pinctrl", "microchip,sparx5-pinctrl",
7			  "mscc,luton-pinctrl", "mscc,serval-pinctrl",
8			  "microchip,lan966x-pinctrl" or "mscc,servalt-pinctrl"
9 - reg			: Address and length of the register set for the device
10 - gpio-controller	: Indicates this device is a GPIO controller
11 - #gpio-cells		: Must be 2.
12			  The first cell is the pin number and the
13			  second cell specifies GPIO flags, as defined in
14			  <dt-bindings/gpio/gpio.h>.
15 - gpio-ranges		: Range of pins managed by the GPIO controller.
16
17
18The ocelot-pinctrl driver uses the generic pin multiplexing and generic pin
19configuration documented in pinctrl-bindings.txt.
20
21The following generic properties are supported:
22 - function
23 - pins
24
25Example:
26	gpio: pinctrl@71070034 {
27		compatible = "mscc,ocelot-pinctrl";
28		reg = <0x71070034 0x28>;
29		gpio-controller;
30		#gpio-cells = <2>;
31		gpio-ranges = <&gpio 0 0 22>;
32
33		uart_pins: uart-pins {
34				pins = "GPIO_6", "GPIO_7";
35				function = "uart";
36		};
37
38		uart2_pins: uart2-pins {
39				pins = "GPIO_12", "GPIO_13";
40				function = "uart2";
41		};
42	};
43