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