aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt')
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt41
1 files changed, 38 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
index 5187f0dd8b28..2c81e45f1374 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
@@ -14,10 +14,12 @@ Optional properties:
14- pinctrl-single,function-off : function off mode for disabled state if 14- pinctrl-single,function-off : function off mode for disabled state if
15 available and same for all registers; if not specified, disabling of 15 available and same for all registers; if not specified, disabling of
16 pin functions is ignored 16 pin functions is ignored
17- pinctrl-single,bit-per-mux : boolean to indicate that one register controls
18 more than one pin
17 19
18This driver assumes that there is only one register for each pin, 20This driver assumes that there is only one register for each pin (unless the
19and uses the common pinctrl bindings as specified in the pinctrl-bindings.txt 21pinctrl-single,bit-per-mux is set), and uses the common pinctrl bindings as
20document in this directory. 22specified in the pinctrl-bindings.txt document in this directory.
21 23
22The pin configuration nodes for pinctrl-single are specified as pinctrl 24The pin configuration nodes for pinctrl-single are specified as pinctrl
23register offset and value pairs using pinctrl-single,pins. Only the bits 25register offset and value pairs using pinctrl-single,pins. Only the bits
@@ -31,6 +33,15 @@ device pinctrl register, and 0x118 contains the desired value of the
31pinctrl register. See the device example and static board pins example 33pinctrl register. See the device example and static board pins example
32below for more information. 34below for more information.
33 35
36In case when one register changes more than one pin's mux the
37pinctrl-single,bits need to be used which takes three parameters:
38
39 pinctrl-single,bits = <0xdc 0x18, 0xff>;
40
41Where 0xdc is the offset from the pinctrl register base address for the
42device pinctrl register, 0x18 is the desired value, and 0xff is the sub mask to
43be used when applying this change to the register.
44
34Example: 45Example:
35 46
36/* SoC common file */ 47/* SoC common file */
@@ -55,6 +66,15 @@ pmx_wkup: pinmux@4a31e040 {
55 pinctrl-single,function-mask = <0xffff>; 66 pinctrl-single,function-mask = <0xffff>;
56}; 67};
57 68
69control_devconf0: pinmux@48002274 {
70 compatible = "pinctrl-single";
71 reg = <0x48002274 4>; /* Single register */
72 #address-cells = <1>;
73 #size-cells = <0>;
74 pinctrl-single,bit-per-mux;
75 pinctrl-single,register-width = <32>;
76 pinctrl-single,function-mask = <0x5F>;
77};
58 78
59/* board specific .dts file */ 79/* board specific .dts file */
60 80
@@ -87,6 +107,21 @@ pmx_wkup: pinmux@4a31e040 {
87 }; 107 };
88}; 108};
89 109
110&control_devconf0 {
111 mcbsp1_pins: pinmux_mcbsp1_pins {
112 pinctrl-single,bits = <
113 0x00 0x18 0x18 /* FSR/CLKR signal from FSX/CLKX pin */
114 >;
115 };
116
117 mcbsp2_clks_pins: pinmux_mcbsp2_clks_pins {
118 pinctrl-single,bits = <
119 0x00 0x40 0x40 /* McBSP2 CLKS from McBSP_CLKS pin */
120 >;
121 };
122
123};
124
90&uart2 { 125&uart2 {
91 pinctrl-names = "default"; 126 pinctrl-names = "default";
92 pinctrl-0 = <&uart2_pins>; 127 pinctrl-0 = <&uart2_pins>;