xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/cortina,gemini-pinctrl.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1Cortina Systems Gemini pin controller
2
3This pin controller is found in the Cortina Systems Gemini SoC family,
4see further arm/gemini.txt. It is a purely group-based multiplexing pin
5controller.
6
7The pin controller node must be a subnode of the system controller node.
8
9Required properties:
10- compatible: "cortina,gemini-pinctrl"
11
12Subnodes of the pin controller contain pin control multiplexing set-up
13and pin configuration of individual pins.
14
15Please refer to pinctrl-bindings.txt for generic pin multiplexing nodes
16and generic pin config nodes.
17
18Supported configurations:
19- skew-delay is supported on the Ethernet pins
20- drive-strength with 4, 8, 12 or 16 mA as argument is supported for
21  entire groups on the groups "idegrp", "gmii_gmac0_grp", "gmii_gmac1_grp"
22  and "pcigrp".
23
24Example:
25
26
27syscon {
28	compatible = "cortina,gemini-syscon";
29	...
30	pinctrl {
31		compatible = "cortina,gemini-pinctrl";
32		pinctrl-names = "default";
33		pinctrl-0 = <&dram_default_pins>, <&system_default_pins>,
34		    <&vcontrol_default_pins>;
35
36		dram_default_pins: pinctrl-dram {
37			mux {
38				function = "dram";
39				groups = "dramgrp";
40			};
41		};
42		rtc_default_pins: pinctrl-rtc {
43			mux {
44				function = "rtc";
45				groups = "rtcgrp";
46			};
47		};
48		power_default_pins: pinctrl-power {
49			mux {
50				function = "power";
51				groups = "powergrp";
52			};
53		};
54		system_default_pins: pinctrl-system {
55			mux {
56				function = "system";
57				groups = "systemgrp";
58			};
59		};
60		(...)
61		uart_default_pins: pinctrl-uart {
62			mux {
63				function = "uart";
64				groups = "uartrxtxgrp";
65			};
66		};
67	};
68};
69