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