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