xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunST Microelectronics, SPEAr pinmux controller
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible	: "st,spear300-pinmux"
5*4882a593Smuzhiyun		: "st,spear310-pinmux"
6*4882a593Smuzhiyun		: "st,spear320-pinmux"
7*4882a593Smuzhiyun		: "st,spear1310-pinmux"
8*4882a593Smuzhiyun		: "st,spear1340-pinmux"
9*4882a593Smuzhiyun- reg		: Address range of the pinctrl registers
10*4882a593Smuzhiyun- st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others.
11*4882a593Smuzhiyun	- Its values for SPEAr300:
12*4882a593Smuzhiyun		- NAND_MODE		: <0>
13*4882a593Smuzhiyun		- NOR_MODE		: <1>
14*4882a593Smuzhiyun		- PHOTO_FRAME_MODE	: <2>
15*4882a593Smuzhiyun		- LEND_IP_PHONE_MODE	: <3>
16*4882a593Smuzhiyun		- HEND_IP_PHONE_MODE	: <4>
17*4882a593Smuzhiyun		- LEND_WIFI_PHONE_MODE	: <5>
18*4882a593Smuzhiyun		- HEND_WIFI_PHONE_MODE	: <6>
19*4882a593Smuzhiyun		- ATA_PABX_WI2S_MODE	: <7>
20*4882a593Smuzhiyun		- ATA_PABX_I2S_MODE	: <8>
21*4882a593Smuzhiyun		- CAML_LCDW_MODE	: <9>
22*4882a593Smuzhiyun		- CAMU_LCD_MODE		: <10>
23*4882a593Smuzhiyun		- CAMU_WLCD_MODE	: <11>
24*4882a593Smuzhiyun		- CAML_LCD_MODE		: <12>
25*4882a593Smuzhiyun	- Its values for SPEAr320:
26*4882a593Smuzhiyun		- AUTO_NET_SMII_MODE	: <0>
27*4882a593Smuzhiyun		- AUTO_NET_MII_MODE	: <1>
28*4882a593Smuzhiyun		- AUTO_EXP_MODE		: <2>
29*4882a593Smuzhiyun		- SMALL_PRINTERS_MODE	: <3>
30*4882a593Smuzhiyun		- EXTENDED_MODE		: <4>
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunPlease refer to pinctrl-bindings.txt in this directory for details of the common
33*4882a593Smuzhiyunpinctrl bindings used by client devices.
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunSPEAr's pinmux nodes act as a container for an arbitrary number of subnodes. Each
36*4882a593Smuzhiyunof these subnodes represents muxing for a pin, a group, or a list of pins or
37*4882a593Smuzhiyungroups.
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunThe name of each subnode is not important; all subnodes should be enumerated
40*4882a593Smuzhiyunand processed purely based on their content.
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunRequired subnode-properties:
43*4882a593Smuzhiyun- st,pins : An array of strings. Each string contains the name of a pin or
44*4882a593Smuzhiyun  group.
45*4882a593Smuzhiyun- st,function: A string containing the name of the function to mux to the pin or
46*4882a593Smuzhiyun  group. See the SPEAr's TRM to determine which are valid for each pin or group.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun  Valid values for group and function names can be found from looking at the
49*4882a593Smuzhiyun  group and function arrays in driver files:
50*4882a593Smuzhiyun  drivers/pinctrl/spear/pinctrl-spear3*0.c
51*4882a593Smuzhiyun
52*4882a593SmuzhiyunValid values for group names are:
53*4882a593SmuzhiyunFor All SPEAr3xx machines:
54*4882a593Smuzhiyun	"firda_grp", "i2c0_grp", "ssp_cs_grp", "ssp0_grp", "mii0_grp",
55*4882a593Smuzhiyun	"gpio0_pin0_grp", "gpio0_pin1_grp", "gpio0_pin2_grp", "gpio0_pin3_grp",
56*4882a593Smuzhiyun	"gpio0_pin4_grp", "gpio0_pin5_grp", "uart0_ext_grp", "uart0_grp",
57*4882a593Smuzhiyun	"timer_0_1_grp", timer_0_1_pins, "timer_2_3_grp"
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunFor SPEAr300 machines:
60*4882a593Smuzhiyun	"fsmc_2chips_grp", "fsmc_4chips_grp", "clcd_lcdmode_grp",
61*4882a593Smuzhiyun	"clcd_pfmode_grp", "tdm_grp", "i2c_clk_grp_grp", "caml_grp", "camu_grp",
62*4882a593Smuzhiyun	"dac_grp", "i2s_grp", "sdhci_4bit_grp", "sdhci_8bit_grp",
63*4882a593Smuzhiyun	"gpio1_0_to_3_grp", "gpio1_4_to_7_grp"
64*4882a593Smuzhiyun
65*4882a593SmuzhiyunFor SPEAr310 machines:
66*4882a593Smuzhiyun	"emi_cs_0_to_5_grp", "uart1_grp", "uart2_grp", "uart3_grp", "uart4_grp",
67*4882a593Smuzhiyun	"uart5_grp", "fsmc_grp", "rs485_0_grp", "rs485_1_grp", "tdm_grp"
68*4882a593Smuzhiyun
69*4882a593SmuzhiyunFor SPEAr320 machines:
70*4882a593Smuzhiyun	"clcd_grp", "emi_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "spp_grp",
71*4882a593Smuzhiyun	"sdhci_led_grp", "sdhci_cd_12_grp", "sdhci_cd_51_grp", "i2s_grp",
72*4882a593Smuzhiyun	"uart1_grp", "uart1_modem_2_to_7_grp", "uart1_modem_31_to_36_grp",
73*4882a593Smuzhiyun	"uart1_modem_34_to_45_grp", "uart1_modem_80_to_85_grp", "uart2_grp",
74*4882a593Smuzhiyun	"uart3_8_9_grp", "uart3_15_16_grp", "uart3_41_42_grp",
75*4882a593Smuzhiyun	"uart3_52_53_grp", "uart3_73_74_grp", "uart3_94_95_grp",
76*4882a593Smuzhiyun	"uart3_98_99_grp", "uart4_6_7_grp", "uart4_13_14_grp",
77*4882a593Smuzhiyun	"uart4_39_40_grp", "uart4_71_72_grp", "uart4_92_93_grp",
78*4882a593Smuzhiyun	"uart4_100_101_grp", "uart5_4_5_grp", "uart5_37_38_grp",
79*4882a593Smuzhiyun	"uart5_69_70_grp", "uart5_90_91_grp", "uart6_2_3_grp",
80*4882a593Smuzhiyun	"uart6_88_89_grp", "rs485_grp", "touchscreen_grp", "can0_grp",
81*4882a593Smuzhiyun	"can1_grp", "pwm0_1_pin_8_9_grp", "pwm0_1_pin_14_15_grp",
82*4882a593Smuzhiyun	"pwm0_1_pin_30_31_grp", "pwm0_1_pin_37_38_grp", "pwm0_1_pin_42_43_grp",
83*4882a593Smuzhiyun	"pwm0_1_pin_59_60_grp", "pwm0_1_pin_88_89_grp", "pwm2_pin_7_grp",
84*4882a593Smuzhiyun	"pwm2_pin_13_grp", "pwm2_pin_29_grp", "pwm2_pin_34_grp",
85*4882a593Smuzhiyun	"pwm2_pin_41_grp", "pwm2_pin_58_grp", "pwm2_pin_87_grp",
86*4882a593Smuzhiyun	"pwm3_pin_6_grp", "pwm3_pin_12_grp", "pwm3_pin_28_grp",
87*4882a593Smuzhiyun	"pwm3_pin_40_grp", "pwm3_pin_57_grp", "pwm3_pin_86_grp",
88*4882a593Smuzhiyun	"ssp1_17_20_grp", "ssp1_36_39_grp", "ssp1_48_51_grp", "ssp1_65_68_grp",
89*4882a593Smuzhiyun	"ssp1_94_97_grp", "ssp2_13_16_grp", "ssp2_32_35_grp", "ssp2_44_47_grp",
90*4882a593Smuzhiyun	"ssp2_61_64_grp", "ssp2_90_93_grp", "mii2_grp", "smii0_1_grp",
91*4882a593Smuzhiyun	"rmii0_1_grp", "i2c1_8_9_grp", "i2c1_98_99_grp", "i2c2_0_1_grp",
92*4882a593Smuzhiyun	"i2c2_2_3_grp", "i2c2_19_20_grp", "i2c2_75_76_grp", "i2c2_96_97_grp"
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunFor SPEAr1310 machines:
95*4882a593Smuzhiyun	"i2c0_grp", "ssp0_grp", "ssp0_cs0_grp", "ssp0_cs1_2_grp", "i2s0_grp",
96*4882a593Smuzhiyun	"i2s1_grp", "clcd_grp", "clcd_high_res_grp", "arm_gpio_grp",
97*4882a593Smuzhiyun	"smi_2_chips_grp", "smi_4_chips_grp", "gmii_grp", "rgmii_grp",
98*4882a593Smuzhiyun	"smii_0_1_2_grp", "ras_mii_txclk_grp", "nand_8bit_grp",
99*4882a593Smuzhiyun	"nand_16bit_grp", "nand_4_chips_grp", "keyboard_6x6_grp",
100*4882a593Smuzhiyun	"keyboard_rowcol6_8_grp", "uart0_grp", "uart0_modem_grp",
101*4882a593Smuzhiyun	"gpt0_tmr0_grp", "gpt0_tmr1_grp", "gpt1_tmr0_grp", "gpt1_tmr1_grp",
102*4882a593Smuzhiyun	"sdhci_grp", "cf_grp", "xd_grp", "touch_xy_grp",
103*4882a593Smuzhiyun	"uart1_disable_i2c_grp", "uart1_disable_sd_grp", "uart2_3_grp",
104*4882a593Smuzhiyun	"uart4_grp", "uart5_grp", "rs485_0_1_tdm_0_1_grp", "i2c_1_2_grp",
105*4882a593Smuzhiyun	"i2c3_dis_smi_clcd_grp", "i2c3_dis_sd_i2s0_grp", "i2c_4_5_dis_smi_grp",
106*4882a593Smuzhiyun	"i2c4_dis_sd_grp", "i2c5_dis_sd_grp", "i2c_6_7_dis_kbd_grp",
107*4882a593Smuzhiyun	"i2c6_dis_sd_grp", "i2c7_dis_sd_grp", "can0_dis_nor_grp",
108*4882a593Smuzhiyun	"can0_dis_sd_grp", "can1_dis_sd_grp", "can1_dis_kbd_grp", "pcie0_grp",
109*4882a593Smuzhiyun	"pcie1_grp", "pcie2_grp", "sata0_grp", "sata1_grp", "sata2_grp",
110*4882a593Smuzhiyun	"ssp1_dis_kbd_grp", "ssp1_dis_sd_grp", "gpt64_grp"
111*4882a593Smuzhiyun
112*4882a593SmuzhiyunFor SPEAr1340 machines:
113*4882a593Smuzhiyun	"pads_as_gpio_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "fsmc_pnor_grp",
114*4882a593Smuzhiyun	"keyboard_row_col_grp", "keyboard_col5_grp", "spdif_in_grp",
115*4882a593Smuzhiyun	"spdif_out_grp", "gpt_0_1_grp", "pwm0_grp", "pwm1_grp", "pwm2_grp",
116*4882a593Smuzhiyun	"pwm3_grp", "vip_mux_grp", "vip_mux_cam0_grp", "vip_mux_cam1_grp",
117*4882a593Smuzhiyun	"vip_mux_cam2_grp", "vip_mux_cam3_grp", "cam0_grp", "cam1_grp",
118*4882a593Smuzhiyun	"cam2_grp", "cam3_grp", "smi_grp", "ssp0_grp", "ssp0_cs1_grp",
119*4882a593Smuzhiyun	"ssp0_cs2_grp", "ssp0_cs3_grp", "uart0_grp", "uart0_enh_grp",
120*4882a593Smuzhiyun	"uart1_grp", "i2s_in_grp", "i2s_out_grp", "gmii_grp", "rgmii_grp",
121*4882a593Smuzhiyun	"rmii_grp", "sgmii_grp", "i2c0_grp", "i2c1_grp", "cec0_grp", "cec1_grp",
122*4882a593Smuzhiyun	"sdhci_grp", "cf_grp", "xd_grp", "clcd_grp", "arm_trace_grp",
123*4882a593Smuzhiyun	"miphy_dbg_grp", "pcie_grp", "sata_grp"
124*4882a593Smuzhiyun
125*4882a593SmuzhiyunValid values for function names are:
126*4882a593SmuzhiyunFor All SPEAr3xx machines:
127*4882a593Smuzhiyun	"firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext",
128*4882a593Smuzhiyun	"uart0", "timer_0_1", "timer_2_3"
129*4882a593Smuzhiyun
130*4882a593SmuzhiyunFor SPEAr300 machines:
131*4882a593Smuzhiyun	"fsmc", "clcd", "tdm", "i2c1", "cam", "dac", "i2s", "sdhci", "gpio1"
132*4882a593Smuzhiyun
133*4882a593SmuzhiyunFor SPEAr310 machines:
134*4882a593Smuzhiyun	"emi", "uart1", "uart2", "uart3", "uart4", "uart5", "fsmc", "rs485_0",
135*4882a593Smuzhiyun	"rs485_1", "tdm"
136*4882a593Smuzhiyun
137*4882a593SmuzhiyunFor SPEAr320 machines:
138*4882a593Smuzhiyun	"clcd", "emi", "fsmc", "spp", "sdhci", "i2s", "uart1", "uart1_modem",
139*4882a593Smuzhiyun	"uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen",
140*4882a593Smuzhiyun	"can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2",
141*4882a593Smuzhiyun	"mii0_1", "i2c1", "i2c2"
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun
144*4882a593SmuzhiyunFor SPEAr1310 machines:
145*4882a593Smuzhiyun	"i2c0", "ssp0", "i2s0", "i2s1", "clcd", "arm_gpio", "smi", "gmii",
146*4882a593Smuzhiyun	"rgmii", "smii_0_1_2", "ras_mii_txclk", "nand", "keyboard", "uart0",
147*4882a593Smuzhiyun	"gpt0", "gpt1", "sdhci", "cf", "xd", "touchscreen", "uart1", "uart2_3",
148*4882a593Smuzhiyun	"uart4", "uart5", "rs485_0_1_tdm_0_1", "i2c_1_2", "i2c3_i2s1",
149*4882a593Smuzhiyun	"i2c_4_5", "i2c_6_7", "can0", "can1", "pci", "sata", "ssp1", "gpt64"
150*4882a593Smuzhiyun
151*4882a593SmuzhiyunFor SPEAr1340 machines:
152*4882a593Smuzhiyun	"pads_as_gpio", "fsmc", "keyboard", "spdif_in", "spdif_out", "gpt_0_1",
153*4882a593Smuzhiyun	"pwm", "vip", "cam0", "cam1", "cam2", "cam3", "smi", "ssp0", "uart0",
154*4882a593Smuzhiyun	"uart1", "i2s", "gmac", "i2c0", "i2c1", "cec0", "cec1", "sdhci", "cf",
155*4882a593Smuzhiyun	"xd", "clcd", "arm_trace", "miphy_dbg", "pcie", "sata"
156