aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt')
-rw-r--r--Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt99
1 files changed, 99 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
new file mode 100644
index 000000000000..353eca0efbf8
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
@@ -0,0 +1,99 @@
1* Freescale IMX27 IOMUX Controller
2
3Required properties:
4- compatible: "fsl,imx27-iomuxc"
5
6The iomuxc driver node should define subnodes containing of pinctrl configuration subnodes.
7
8Required properties for pin configuration node:
9- fsl,pins: three integers array, represents a group of pins mux and config
10 setting. The format is fsl,pins = <PIN MUX_ID CONFIG>.
11
12 PIN is an integer between 0 and 0xbf. imx27 has 6 ports with 32 configurable
13 configurable pins each. PIN is PORT * 32 + PORT_PIN, PORT_PIN is the pin
14 number on the specific port (between 0 and 31).
15
16 MUX_ID is
17 function + (direction << 2) + (gpio_oconf << 4) + (gpio_iconfa << 8) + (gpio_iconfb << 10)
18
19 function value is used to select the pin function.
20 Possible values:
21 0 - Primary function
22 1 - Alternate function
23 2 - GPIO
24 Registers: GIUS (GPIO In Use), GPR (General Purpose Register)
25
26 direction defines the data direction of the pin.
27 Possible values:
28 0 - Input
29 1 - Output
30 Register: DDIR
31
32 gpio_oconf configures the gpio submodule output signal. This does not
33 have any effect unless GPIO function is selected. A/B/C_IN are output
34 signals of function blocks A,B and C. Specific function blocks are
35 described in the reference manual.
36 Possible values:
37 0 - A_IN
38 1 - B_IN
39 2 - C_IN
40 3 - Data Register
41 Registers: OCR1, OCR2
42
43 gpio_iconfa/b configures the gpio submodule input to functionblocks A and
44 B. GPIO function should be selected if this is configured.
45 Possible values:
46 0 - GPIO_IN
47 1 - Interrupt Status Register
48 2 - Pulldown
49 3 - Pullup
50 Registers ICONFA1, ICONFA2, ICONFB1 and ICONFB2
51
52 CONFIG can be 0 or 1, meaning Pullup disable/enable.
53
54
55
56Example:
57
58iomuxc: iomuxc@10015000 {
59 compatible = "fsl,imx27-iomuxc";
60 reg = <0x10015000 0x600>;
61
62 uart {
63 pinctrl_uart1: uart-1 {
64 fsl,pins = <
65 0x8c 0x004 0x0 /* UART1_TXD__UART1_TXD */
66 0x8d 0x000 0x0 /* UART1_RXD__UART1_RXD */
67 0x8e 0x004 0x0 /* UART1_CTS__UART1_CTS */
68 0x8f 0x000 0x0 /* UART1_RTS__UART1_RTS */
69 >;
70 };
71
72 ...
73 };
74};
75
76
77For convenience there are macros defined in imx27-pinfunc.h which provide PIN
78and MUX_ID. They are structured as MX27_PAD_<Pad name>__<Signal name>. The names
79are defined in the i.MX27 reference manual.
80
81The above example using macros:
82
83iomuxc: iomuxc@10015000 {
84 compatible = "fsl,imx27-iomuxc";
85 reg = <0x10015000 0x600>;
86
87 uart {
88 pinctrl_uart1: uart-1 {
89 fsl,pins = <
90 MX27_PAD_UART1_TXD__UART1_TXD 0x0
91 MX27_PAD_UART1_RXD__UART1_RXD 0x0
92 MX27_PAD_UART1_CTS__UART1_CTS 0x0
93 MX27_PAD_UART1_RTS__UART1_RTS 0x0
94 >;
95 };
96
97 ...
98 };
99};