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