aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pinctrl
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@st.com>2012-03-28 12:57:07 -0400
committerArnd Bergmann <arnd@arndb.de>2012-04-22 16:49:25 -0400
commit52130b6033c580c27d968f64cd73209c9609e4e0 (patch)
treedd714e583a2c33f432e9244b9674a7d7b38da520 /Documentation/devicetree/bindings/pinctrl
parentdeda8287e1a602393b052c80b815b3706987b3da (diff)
pinctrl: Add SPEAr3xx pinctrl drivers
This adds pinctrl driver for SPEAr3xx family. SPEAr3xx family supports three families: SPEAr300, SPEAr310 and SPEAr320. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Stephen Warren <swarren@wwwdotorg.org>
Diffstat (limited to 'Documentation/devicetree/bindings/pinctrl')
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt108
1 files changed, 108 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt
new file mode 100644
index 000000000000..3664d37e6799
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt
@@ -0,0 +1,108 @@
1ST Microelectronics, SPEAr pinmux controller
2
3Required properties:
4- compatible : "st,spear300-pinmux"
5 : "st,spear310-pinmux"
6 : "st,spear320-pinmux"
7- reg : Address range of the pinctrl registers
8- st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others.
9 - Its values for SPEAr300:
10 - NAND_MODE : <0>
11 - NOR_MODE : <1>
12 - PHOTO_FRAME_MODE : <2>
13 - LEND_IP_PHONE_MODE : <3>
14 - HEND_IP_PHONE_MODE : <4>
15 - LEND_WIFI_PHONE_MODE : <5>
16 - HEND_WIFI_PHONE_MODE : <6>
17 - ATA_PABX_WI2S_MODE : <7>
18 - ATA_PABX_I2S_MODE : <8>
19 - CAML_LCDW_MODE : <9>
20 - CAMU_LCD_MODE : <10>
21 - CAMU_WLCD_MODE : <11>
22 - CAML_LCD_MODE : <12>
23 - Its values for SPEAr320:
24 - AUTO_NET_SMII_MODE : <0>
25 - AUTO_NET_MII_MODE : <1>
26 - AUTO_EXP_MODE : <2>
27 - SMALL_PRINTERS_MODE : <3>
28 - EXTENDED_MODE : <4>
29
30Please refer to pinctrl-bindings.txt in this directory for details of the common
31pinctrl bindings used by client devices.
32
33SPEAr's pinmux nodes act as a container for an abitrary number of subnodes. Each
34of these subnodes represents muxing for a pin, a group, or a list of pins or
35groups.
36
37The name of each subnode is not important; all subnodes should be enumerated
38and processed purely based on their content.
39
40Required subnode-properties:
41- st,pins : An array of strings. Each string contains the name of a pin or
42 group.
43- st,function: A string containing the name of the function to mux to the pin or
44 group. See the SPEAr's TRM to determine which are valid for each pin or group.
45
46 Valid values for group and function names can be found from looking at the
47 group and function arrays in driver files:
48 drivers/pinctrl/spear/pinctrl-spear3*0.c
49
50Valid values for group names are:
51For All SPEAr3xx machines:
52 "firda_grp", "i2c0_grp", "ssp_cs_grp", "ssp0_grp", "mii0_grp",
53 "gpio0_pin0_grp", "gpio0_pin1_grp", "gpio0_pin2_grp", "gpio0_pin3_grp",
54 "gpio0_pin4_grp", "gpio0_pin5_grp", "uart0_ext_grp", "uart0_grp",
55 "timer_0_1_grp", timer_0_1_pins, "timer_2_3_grp"
56
57For SPEAr300 machines:
58 "fsmc_2chips_grp", "fsmc_4chips_grp", "clcd_lcdmode_grp",
59 "clcd_pfmode_grp", "tdm_grp", "i2c_clk_grp_grp", "caml_grp", "camu_grp",
60 "dac_grp", "i2s_grp", "sdhci_4bit_grp", "sdhci_8bit_grp",
61 "gpio1_0_to_3_grp", "gpio1_4_to_7_grp"
62
63For SPEAr310 machines:
64 "emi_cs_0_to_5_grp", "uart1_grp", "uart2_grp", "uart3_grp", "uart4_grp",
65 "uart5_grp", "fsmc_grp", "rs485_0_grp", "rs485_1_grp", "tdm_grp"
66
67For SPEAr320 machines:
68 "clcd_grp", "emi_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "spp_grp",
69 "sdhci_led_grp", "sdhci_cd_12_grp", "sdhci_cd_51_grp", "i2s_grp",
70 "uart1_grp", "uart1_modem_2_to_7_grp", "uart1_modem_31_to_36_grp",
71 "uart1_modem_34_to_45_grp", "uart1_modem_80_to_85_grp", "uart2_grp",
72 "uart3_8_9_grp", "uart3_15_16_grp", "uart3_41_42_grp",
73 "uart3_52_53_grp", "uart3_73_74_grp", "uart3_94_95_grp",
74 "uart3_98_99_grp", "uart4_6_7_grp", "uart4_13_14_grp",
75 "uart4_39_40_grp", "uart4_71_72_grp", "uart4_92_93_grp",
76 "uart4_100_101_grp", "uart5_4_5_grp", "uart5_37_38_grp",
77 "uart5_69_70_grp", "uart5_90_91_grp", "uart6_2_3_grp",
78 "uart6_88_89_grp", "rs485_grp", "touchscreen_grp", "can0_grp",
79 "can1_grp", "pwm0_1_pin_8_9_grp", "pwm0_1_pin_14_15_grp",
80 "pwm0_1_pin_30_31_grp", "pwm0_1_pin_37_38_grp", "pwm0_1_pin_42_43_grp",
81 "pwm0_1_pin_59_60_grp", "pwm0_1_pin_88_89_grp", "pwm2_pin_7_grp",
82 "pwm2_pin_13_grp", "pwm2_pin_29_grp", "pwm2_pin_34_grp",
83 "pwm2_pin_41_grp", "pwm2_pin_58_grp", "pwm2_pin_87_grp",
84 "pwm3_pin_6_grp", "pwm3_pin_12_grp", "pwm3_pin_28_grp",
85 "pwm3_pin_40_grp", "pwm3_pin_57_grp", "pwm3_pin_86_grp",
86 "ssp1_17_20_grp", "ssp1_36_39_grp", "ssp1_48_51_grp", "ssp1_65_68_grp",
87 "ssp1_94_97_grp", "ssp2_13_16_grp", "ssp2_32_35_grp", "ssp2_44_47_grp",
88 "ssp2_61_64_grp", "ssp2_90_93_grp", "mii2_grp", "smii0_1_grp",
89 "rmii0_1_grp", "i2c1_8_9_grp", "i2c1_98_99_grp", "i2c2_0_1_grp",
90 "i2c2_2_3_grp", "i2c2_19_20_grp", "i2c2_75_76_grp", "i2c2_96_97_grp"
91
92Valid values for function names are:
93For All SPEAr3xx machines:
94 "firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext",
95 "uart0", "timer_0_1", "timer_2_3"
96
97For SPEAr300 machines:
98 "fsmc", "clcd", "tdm", "i2c1", "cam", "dac", "i2s", "sdhci", "gpio1"
99
100For SPEAr310 machines:
101 "emi", "uart1", "uart2", "uart3", "uart4", "uart5", "fsmc", "rs485_0",
102 "rs485_1", "tdm"
103
104For SPEAr320 machines:
105 "clcd", "emi", "fsmc", "spp", "sdhci", "i2s", "uart1", "uart1_modem",
106 "uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen",
107 "can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2",
108 "mii0_1", "i2c1", "i2c2"