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