diff options
author | Viresh Kumar <viresh.kumar@st.com> | 2012-03-28 12:57:07 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-04-22 16:49:25 -0400 |
commit | 52130b6033c580c27d968f64cd73209c9609e4e0 (patch) | |
tree | dd714e583a2c33f432e9244b9674a7d7b38da520 /Documentation/devicetree/bindings/pinctrl | |
parent | deda8287e1a602393b052c80b815b3706987b3da (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.txt | 108 |
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 @@ | |||
1 | ST Microelectronics, SPEAr pinmux controller | ||
2 | |||
3 | Required 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 | |||
30 | Please refer to pinctrl-bindings.txt in this directory for details of the common | ||
31 | pinctrl bindings used by client devices. | ||
32 | |||
33 | SPEAr's pinmux nodes act as a container for an abitrary number of subnodes. Each | ||
34 | of these subnodes represents muxing for a pin, a group, or a list of pins or | ||
35 | groups. | ||
36 | |||
37 | The name of each subnode is not important; all subnodes should be enumerated | ||
38 | and processed purely based on their content. | ||
39 | |||
40 | Required 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 | |||
50 | Valid values for group names are: | ||
51 | For 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 | |||
57 | For 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 | |||
63 | For 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 | |||
67 | For 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 | |||
92 | Valid values for function names are: | ||
93 | For All SPEAr3xx machines: | ||
94 | "firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext", | ||
95 | "uart0", "timer_0_1", "timer_2_3" | ||
96 | |||
97 | For SPEAr300 machines: | ||
98 | "fsmc", "clcd", "tdm", "i2c1", "cam", "dac", "i2s", "sdhci", "gpio1" | ||
99 | |||
100 | For SPEAr310 machines: | ||
101 | "emi", "uart1", "uart2", "uart3", "uart4", "uart5", "fsmc", "rs485_0", | ||
102 | "rs485_1", "tdm" | ||
103 | |||
104 | For 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" | ||