xref: /linux/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
152130b60SViresh KumarST Microelectronics, SPEAr pinmux controller
252130b60SViresh Kumar
352130b60SViresh KumarRequired properties:
452130b60SViresh Kumar- compatible	: "st,spear300-pinmux"
552130b60SViresh Kumar		: "st,spear310-pinmux"
652130b60SViresh Kumar		: "st,spear320-pinmux"
785ed41a7SViresh Kumar		: "st,spear1310-pinmux"
885ed41a7SViresh Kumar		: "st,spear1340-pinmux"
952130b60SViresh Kumar- reg		: Address range of the pinctrl registers
1052130b60SViresh Kumar- st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others.
1152130b60SViresh Kumar	- Its values for SPEAr300:
1252130b60SViresh Kumar		- NAND_MODE		: <0>
1352130b60SViresh Kumar		- NOR_MODE		: <1>
1452130b60SViresh Kumar		- PHOTO_FRAME_MODE	: <2>
1552130b60SViresh Kumar		- LEND_IP_PHONE_MODE	: <3>
1652130b60SViresh Kumar		- HEND_IP_PHONE_MODE	: <4>
1752130b60SViresh Kumar		- LEND_WIFI_PHONE_MODE	: <5>
1852130b60SViresh Kumar		- HEND_WIFI_PHONE_MODE	: <6>
1952130b60SViresh Kumar		- ATA_PABX_WI2S_MODE	: <7>
2052130b60SViresh Kumar		- ATA_PABX_I2S_MODE	: <8>
2152130b60SViresh Kumar		- CAML_LCDW_MODE	: <9>
2252130b60SViresh Kumar		- CAMU_LCD_MODE		: <10>
2352130b60SViresh Kumar		- CAMU_WLCD_MODE	: <11>
2452130b60SViresh Kumar		- CAML_LCD_MODE		: <12>
2552130b60SViresh Kumar	- Its values for SPEAr320:
2652130b60SViresh Kumar		- AUTO_NET_SMII_MODE	: <0>
2752130b60SViresh Kumar		- AUTO_NET_MII_MODE	: <1>
2852130b60SViresh Kumar		- AUTO_EXP_MODE		: <2>
2952130b60SViresh Kumar		- SMALL_PRINTERS_MODE	: <3>
3052130b60SViresh Kumar		- EXTENDED_MODE		: <4>
3152130b60SViresh Kumar
3252130b60SViresh KumarPlease refer to pinctrl-bindings.txt in this directory for details of the common
3352130b60SViresh Kumarpinctrl bindings used by client devices.
3452130b60SViresh Kumar
35*a0e27f51SSoren BrinkmannSPEAr's pinmux nodes act as a container for an arbitrary number of subnodes. Each
3652130b60SViresh Kumarof these subnodes represents muxing for a pin, a group, or a list of pins or
3752130b60SViresh Kumargroups.
3852130b60SViresh Kumar
3952130b60SViresh KumarThe name of each subnode is not important; all subnodes should be enumerated
4052130b60SViresh Kumarand processed purely based on their content.
4152130b60SViresh Kumar
4252130b60SViresh KumarRequired subnode-properties:
4352130b60SViresh Kumar- st,pins : An array of strings. Each string contains the name of a pin or
4452130b60SViresh Kumar  group.
4552130b60SViresh Kumar- st,function: A string containing the name of the function to mux to the pin or
4652130b60SViresh Kumar  group. See the SPEAr's TRM to determine which are valid for each pin or group.
4752130b60SViresh Kumar
4852130b60SViresh Kumar  Valid values for group and function names can be found from looking at the
4952130b60SViresh Kumar  group and function arrays in driver files:
5052130b60SViresh Kumar  drivers/pinctrl/spear/pinctrl-spear3*0.c
5152130b60SViresh Kumar
5252130b60SViresh KumarValid values for group names are:
5352130b60SViresh KumarFor All SPEAr3xx machines:
5452130b60SViresh Kumar	"firda_grp", "i2c0_grp", "ssp_cs_grp", "ssp0_grp", "mii0_grp",
5552130b60SViresh Kumar	"gpio0_pin0_grp", "gpio0_pin1_grp", "gpio0_pin2_grp", "gpio0_pin3_grp",
5652130b60SViresh Kumar	"gpio0_pin4_grp", "gpio0_pin5_grp", "uart0_ext_grp", "uart0_grp",
5752130b60SViresh Kumar	"timer_0_1_grp", timer_0_1_pins, "timer_2_3_grp"
5852130b60SViresh Kumar
5952130b60SViresh KumarFor SPEAr300 machines:
6052130b60SViresh Kumar	"fsmc_2chips_grp", "fsmc_4chips_grp", "clcd_lcdmode_grp",
6152130b60SViresh Kumar	"clcd_pfmode_grp", "tdm_grp", "i2c_clk_grp_grp", "caml_grp", "camu_grp",
6252130b60SViresh Kumar	"dac_grp", "i2s_grp", "sdhci_4bit_grp", "sdhci_8bit_grp",
6352130b60SViresh Kumar	"gpio1_0_to_3_grp", "gpio1_4_to_7_grp"
6452130b60SViresh Kumar
6552130b60SViresh KumarFor SPEAr310 machines:
6652130b60SViresh Kumar	"emi_cs_0_to_5_grp", "uart1_grp", "uart2_grp", "uart3_grp", "uart4_grp",
6752130b60SViresh Kumar	"uart5_grp", "fsmc_grp", "rs485_0_grp", "rs485_1_grp", "tdm_grp"
6852130b60SViresh Kumar
6952130b60SViresh KumarFor SPEAr320 machines:
7052130b60SViresh Kumar	"clcd_grp", "emi_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "spp_grp",
7152130b60SViresh Kumar	"sdhci_led_grp", "sdhci_cd_12_grp", "sdhci_cd_51_grp", "i2s_grp",
7252130b60SViresh Kumar	"uart1_grp", "uart1_modem_2_to_7_grp", "uart1_modem_31_to_36_grp",
7352130b60SViresh Kumar	"uart1_modem_34_to_45_grp", "uart1_modem_80_to_85_grp", "uart2_grp",
7452130b60SViresh Kumar	"uart3_8_9_grp", "uart3_15_16_grp", "uart3_41_42_grp",
7552130b60SViresh Kumar	"uart3_52_53_grp", "uart3_73_74_grp", "uart3_94_95_grp",
7652130b60SViresh Kumar	"uart3_98_99_grp", "uart4_6_7_grp", "uart4_13_14_grp",
7752130b60SViresh Kumar	"uart4_39_40_grp", "uart4_71_72_grp", "uart4_92_93_grp",
7852130b60SViresh Kumar	"uart4_100_101_grp", "uart5_4_5_grp", "uart5_37_38_grp",
7952130b60SViresh Kumar	"uart5_69_70_grp", "uart5_90_91_grp", "uart6_2_3_grp",
8052130b60SViresh Kumar	"uart6_88_89_grp", "rs485_grp", "touchscreen_grp", "can0_grp",
8152130b60SViresh Kumar	"can1_grp", "pwm0_1_pin_8_9_grp", "pwm0_1_pin_14_15_grp",
8252130b60SViresh Kumar	"pwm0_1_pin_30_31_grp", "pwm0_1_pin_37_38_grp", "pwm0_1_pin_42_43_grp",
8352130b60SViresh Kumar	"pwm0_1_pin_59_60_grp", "pwm0_1_pin_88_89_grp", "pwm2_pin_7_grp",
8452130b60SViresh Kumar	"pwm2_pin_13_grp", "pwm2_pin_29_grp", "pwm2_pin_34_grp",
8552130b60SViresh Kumar	"pwm2_pin_41_grp", "pwm2_pin_58_grp", "pwm2_pin_87_grp",
8652130b60SViresh Kumar	"pwm3_pin_6_grp", "pwm3_pin_12_grp", "pwm3_pin_28_grp",
8752130b60SViresh Kumar	"pwm3_pin_40_grp", "pwm3_pin_57_grp", "pwm3_pin_86_grp",
8852130b60SViresh Kumar	"ssp1_17_20_grp", "ssp1_36_39_grp", "ssp1_48_51_grp", "ssp1_65_68_grp",
8952130b60SViresh Kumar	"ssp1_94_97_grp", "ssp2_13_16_grp", "ssp2_32_35_grp", "ssp2_44_47_grp",
9052130b60SViresh Kumar	"ssp2_61_64_grp", "ssp2_90_93_grp", "mii2_grp", "smii0_1_grp",
9152130b60SViresh Kumar	"rmii0_1_grp", "i2c1_8_9_grp", "i2c1_98_99_grp", "i2c2_0_1_grp",
9252130b60SViresh Kumar	"i2c2_2_3_grp", "i2c2_19_20_grp", "i2c2_75_76_grp", "i2c2_96_97_grp"
9352130b60SViresh Kumar
9485ed41a7SViresh KumarFor SPEAr1310 machines:
9585ed41a7SViresh Kumar	"i2c0_grp", "ssp0_grp", "ssp0_cs0_grp", "ssp0_cs1_2_grp", "i2s0_grp",
9685ed41a7SViresh Kumar	"i2s1_grp", "clcd_grp", "clcd_high_res_grp", "arm_gpio_grp",
9785ed41a7SViresh Kumar	"smi_2_chips_grp", "smi_4_chips_grp", "gmii_grp", "rgmii_grp",
9885ed41a7SViresh Kumar	"smii_0_1_2_grp", "ras_mii_txclk_grp", "nand_8bit_grp",
9985ed41a7SViresh Kumar	"nand_16bit_grp", "nand_4_chips_grp", "keyboard_6x6_grp",
10085ed41a7SViresh Kumar	"keyboard_rowcol6_8_grp", "uart0_grp", "uart0_modem_grp",
10185ed41a7SViresh Kumar	"gpt0_tmr0_grp", "gpt0_tmr1_grp", "gpt1_tmr0_grp", "gpt1_tmr1_grp",
10285ed41a7SViresh Kumar	"sdhci_grp", "cf_grp", "xd_grp", "touch_xy_grp",
10385ed41a7SViresh Kumar	"uart1_disable_i2c_grp", "uart1_disable_sd_grp", "uart2_3_grp",
10485ed41a7SViresh Kumar	"uart4_grp", "uart5_grp", "rs485_0_1_tdm_0_1_grp", "i2c_1_2_grp",
10585ed41a7SViresh Kumar	"i2c3_dis_smi_clcd_grp", "i2c3_dis_sd_i2s0_grp", "i2c_4_5_dis_smi_grp",
10685ed41a7SViresh Kumar	"i2c4_dis_sd_grp", "i2c5_dis_sd_grp", "i2c_6_7_dis_kbd_grp",
10785ed41a7SViresh Kumar	"i2c6_dis_sd_grp", "i2c7_dis_sd_grp", "can0_dis_nor_grp",
10885ed41a7SViresh Kumar	"can0_dis_sd_grp", "can1_dis_sd_grp", "can1_dis_kbd_grp", "pcie0_grp",
10985ed41a7SViresh Kumar	"pcie1_grp", "pcie2_grp", "sata0_grp", "sata1_grp", "sata2_grp",
11085ed41a7SViresh Kumar	"ssp1_dis_kbd_grp", "ssp1_dis_sd_grp", "gpt64_grp"
11185ed41a7SViresh Kumar
11285ed41a7SViresh KumarFor SPEAr1340 machines:
11385ed41a7SViresh Kumar	"pads_as_gpio_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "fsmc_pnor_grp",
11485ed41a7SViresh Kumar	"keyboard_row_col_grp", "keyboard_col5_grp", "spdif_in_grp",
11585ed41a7SViresh Kumar	"spdif_out_grp", "gpt_0_1_grp", "pwm0_grp", "pwm1_grp", "pwm2_grp",
11685ed41a7SViresh Kumar	"pwm3_grp", "vip_mux_grp", "vip_mux_cam0_grp", "vip_mux_cam1_grp",
11785ed41a7SViresh Kumar	"vip_mux_cam2_grp", "vip_mux_cam3_grp", "cam0_grp", "cam1_grp",
11885ed41a7SViresh Kumar	"cam2_grp", "cam3_grp", "smi_grp", "ssp0_grp", "ssp0_cs1_grp",
11985ed41a7SViresh Kumar	"ssp0_cs2_grp", "ssp0_cs3_grp", "uart0_grp", "uart0_enh_grp",
12085ed41a7SViresh Kumar	"uart1_grp", "i2s_in_grp", "i2s_out_grp", "gmii_grp", "rgmii_grp",
12185ed41a7SViresh Kumar	"rmii_grp", "sgmii_grp", "i2c0_grp", "i2c1_grp", "cec0_grp", "cec1_grp",
12285ed41a7SViresh Kumar	"sdhci_grp", "cf_grp", "xd_grp", "clcd_grp", "arm_trace_grp",
12385ed41a7SViresh Kumar	"miphy_dbg_grp", "pcie_grp", "sata_grp"
12485ed41a7SViresh Kumar
12552130b60SViresh KumarValid values for function names are:
12652130b60SViresh KumarFor All SPEAr3xx machines:
12752130b60SViresh Kumar	"firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext",
12852130b60SViresh Kumar	"uart0", "timer_0_1", "timer_2_3"
12952130b60SViresh Kumar
13052130b60SViresh KumarFor SPEAr300 machines:
13152130b60SViresh Kumar	"fsmc", "clcd", "tdm", "i2c1", "cam", "dac", "i2s", "sdhci", "gpio1"
13252130b60SViresh Kumar
13352130b60SViresh KumarFor SPEAr310 machines:
13452130b60SViresh Kumar	"emi", "uart1", "uart2", "uart3", "uart4", "uart5", "fsmc", "rs485_0",
13552130b60SViresh Kumar	"rs485_1", "tdm"
13652130b60SViresh Kumar
13752130b60SViresh KumarFor SPEAr320 machines:
13852130b60SViresh Kumar	"clcd", "emi", "fsmc", "spp", "sdhci", "i2s", "uart1", "uart1_modem",
13952130b60SViresh Kumar	"uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen",
14052130b60SViresh Kumar	"can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2",
14152130b60SViresh Kumar	"mii0_1", "i2c1", "i2c2"
14285ed41a7SViresh Kumar
14385ed41a7SViresh Kumar
14485ed41a7SViresh KumarFor SPEAr1310 machines:
14585ed41a7SViresh Kumar	"i2c0", "ssp0", "i2s0", "i2s1", "clcd", "arm_gpio", "smi", "gmii",
14685ed41a7SViresh Kumar	"rgmii", "smii_0_1_2", "ras_mii_txclk", "nand", "keyboard", "uart0",
14785ed41a7SViresh Kumar	"gpt0", "gpt1", "sdhci", "cf", "xd", "touchscreen", "uart1", "uart2_3",
14885ed41a7SViresh Kumar	"uart4", "uart5", "rs485_0_1_tdm_0_1", "i2c_1_2", "i2c3_i2s1",
14985ed41a7SViresh Kumar	"i2c_4_5", "i2c_6_7", "can0", "can1", "pci", "sata", "ssp1", "gpt64"
15085ed41a7SViresh Kumar
15185ed41a7SViresh KumarFor SPEAr1340 machines:
15285ed41a7SViresh Kumar	"pads_as_gpio", "fsmc", "keyboard", "spdif_in", "spdif_out", "gpt_0_1",
15385ed41a7SViresh Kumar	"pwm", "vip", "cam0", "cam1", "cam2", "cam3", "smi", "ssp0", "uart0",
15485ed41a7SViresh Kumar	"uart1", "i2s", "gmac", "i2c0", "i2c1", "cec0", "cec1", "sdhci", "cf",
15585ed41a7SViresh Kumar	"xd", "clcd", "arm_trace", "miphy_dbg", "pcie", "sata"
156