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