void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); #ifndef CONFIG_MACH_LGE msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_goodix_configs, ARRAY_SIZE(msm_skuf_goodix_configs)); else msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); msm_gpiomux_install(hs_uart_sw_configs, ARRAY_SIZE(hs_uart_sw_configs)); msm_gpiomux_sdc3_install(); msm_gpiomux_extovp_install(); /* * HSIC STROBE gpio is also used by the ethernet. Install HSIC * gpio mux config only when HSIC is enabled. HSIC config will * be disabled when ethernet config is enabled. */ #ifdef CONFIG_USB_EHCI_MSM_HSIC if (machine_is_msm8926()) { msm_hsic_configs[0].gpio = 119; /* STROBE */ msm_hsic_configs[1].gpio = 120; /* DATA */ } msm_gpiomux_install(msm_hsic_configs, ARRAY_SIZE(msm_hsic_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif // Device Tree Initailize rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #ifdef CONFIG_MACH_LGE //-------------------------------------------- // MSM8X26 GPIO Confiuration via X5 //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.WLC>> // GPIO related function <<17.SIM>> // GPIO related function <<18.SLIMBUS>> // GPIO related function <<19.RF>> // GPIO related function <<20.KEY PAD>> // GPIO related function <<21.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ){ case HW_REV_0 : for ( gpio_index = 0 ; gpio_reserved_pin_rev_0[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_0[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_A : for ( gpio_index = 0 ; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_C : case HW_REV_D : case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } // GPIO related function <<1.SENSOR>> msm_gpiomux_install(gpio_func_sensor_configs, ARRAY_SIZE(gpio_func_sensor_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); // GPIO related function <<2.I2C>> msm_gpiomux_install(gpio_func_i2c_configs, ARRAY_SIZE(gpio_func_i2c_configs)); // GPIO related function <<3.UART>> msm_gpiomux_install(gpio_func_uart_configs, ARRAY_SIZE(gpio_func_uart_configs)); // GPIO related function <<4.TOUCH>> if(hw_rev == HW_REV_0) { msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); printk(KERN_ERR "[Touch] synaptics msm_gpiomux_install HW_REV_A configs rev : %d\n", hw_rev); } else { msm_gpiomux_install(msm_atmel_s540_configs, ARRAY_SIZE(msm_atmel_s540_configs)); printk(KERN_ERR "[Touch] atmel msm_gpiomux_install HW_REV_A configs rev : %d\n", hw_rev); } // GPIO related function <<5.NFC>> /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ // GPIO related function <<6.LCD>> msm_gpiomux_install(gpio_func_lcd_configs, ARRAY_SIZE(gpio_func_lcd_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); // GPIO related function <<7.CAMERA>> msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> msm_gpiomux_install(&sd_card_det, 1); // GPIO related function <<12.BATTERY>> msm_gpiomux_install(gpio_func_battery_configs, ARRAY_SIZE(gpio_func_battery_configs)); // GPIO related function <<13.BT>> msm_gpiomux_install(gpio_func_bt_configs, ARRAY_SIZE(gpio_func_bt_configs)); // GPIO related function <<14.WIFI>> #if defined ( CONFIG_BCMDHD ) || defined ( CONFIG_BCMDHD_MODULE ) #else msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); #endif // GPIO related function <<15.FM>> msm_gpiomux_install(gpio_func_fm_configs, ARRAY_SIZE(gpio_func_fm_configs)); // GPIO related function <<16.WLC>> msm_gpiomux_install(gpio_func_wlc_configs, ARRAY_SIZE(gpio_func_wlc_configs)); // GPIO related function <<17.SIM>> msm_gpiomux_install(gpio_func_sim_configs, ARRAY_SIZE(gpio_func_sim_configs)); // GPIO related function <<18.SLIMBUS>> msm_gpiomux_install(gpio_func_slimbus_configs, ARRAY_SIZE(gpio_func_slimbus_configs)); // GPIO related function <<19.RF>> msm_gpiomux_install(gpio_func_rf_configs, ARRAY_SIZE(gpio_func_rf_configs)); // GPIO related function <<20.KEY PAD>> msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); // GPIO related function <<21.LOGIC>> msm_gpiomux_install(gpio_func_logic_configs, ARRAY_SIZE(gpio_func_logic_configs)); #endif #ifndef CONFIG_MACH_LGE #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* LGE_CHANGE_S, [BT][[email protected]], 2013-05-13 */ #ifdef CONFIG_LGE_BLUETOOTH bluetooth_msm_gpiomux_install(); #endif /* CONFIG_LGE_BLUETOOTH */ /* LGE_CHANGE_E, [BT][[email protected]], 2013-05-13 */ msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); #if 0//defined(CONFIG_TSPDRV) msm_gpiomux_install(vibrator_configs, ARRAY_SIZE(vibrator_configs)); #endif msm_gpiomux_sdc3_install(); }
void __init msm_8974_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm_eth_configs, \ ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); #if !defined(CONFIG_BT_BCM4354) msm_gpiomux_install(msm_blsp2_uart7_configs, ARRAY_SIZE(msm_blsp2_uart7_configs)); #endif #if defined(CONFIG_BT_BCM4354) msm_gpiomux_btuart_install(); #endif #if defined(CONFIG_WCNSS_CORE) msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); #endif if (of_board_is_liquid()) msm_gpiomux_install_nowrite(ath_gpio_configs, ARRAY_SIZE(ath_gpio_configs)); msm_gpiomux_install(msm8974_slimbus_config, ARRAY_SIZE(msm8974_slimbus_config)); if (system_rev >= 4) msm_gpiomux_install(es705_config, ARRAY_SIZE(es705_config)); msm_gpiomux_install(msm_touch_configs, ARRAY_SIZE(msm_touch_configs)); msm_gpiomux_install(hap_lvl_shft_config, ARRAY_SIZE(hap_lvl_shft_config)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(msm_sensor_configs_dragonboard, \ ARRAY_SIZE(msm_sensor_configs_dragonboard)); else msm_gpiomux_install(msm_sensor_configs, \ ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(&sd_card_det, 1); if (machine_is_apq8074() && (of_board_is_liquid() || \ of_board_is_dragonboard())) msm_gpiomux_sdc3_install(); #if !defined(CONFIG_WCNSS_CORE) msm_gpiomux_sdc3_install(); #endif if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_sdc4_install(); msm_gpiomux_install(msm_taiko_config, ARRAY_SIZE(msm_taiko_config)); if (system_rev < 4) msm_gpiomux_install(msm_es705_config, ARRAY_SIZE(msm_es705_config)); #if !defined(CONFIG_TDMB) msm_gpiomux_install(msm_hsic_hub_configs, ARRAY_SIZE(msm_hsic_hub_configs)); #endif #ifdef CONFIG_GPIO_MC5587 msm_gpiomux_install(msm8974_gpioexpander_configs, ARRAY_SIZE(msm8974_gpioexpander_configs)); #endif msm_gpiomux_install(msm_hdmi_configs, ARRAY_SIZE(msm_hdmi_configs)); #ifdef CONFIG_VIDEO_MHL_V2 msm_gpiomux_install(mhl_configs, ARRAY_SIZE(mhl_configs)); #endif #ifdef CONFIG_FB_MSM_MDSS_HDMI_MHL_SII8334 if (of_board_is_fluid()) msm_gpiomux_install(msm_mhl_configs, ARRAY_SIZE(msm_mhl_configs)); #endif if (of_board_is_liquid() || (of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm8974_pri_ter_auxpcm_configs, ARRAY_SIZE(msm8974_pri_ter_auxpcm_configs)); else msm_gpiomux_install(msm8974_pri_pri_auxpcm_configs, ARRAY_SIZE(msm8974_pri_pri_auxpcm_configs)); if (of_board_is_cdp()) msm_gpiomux_install(msm8974_sec_auxpcm_configs, ARRAY_SIZE(msm8974_sec_auxpcm_configs)); else if (of_board_is_liquid() || of_board_is_fluid() || of_board_is_mtp()) msm_gpiomux_install(msm_epm_configs, ARRAY_SIZE(msm_epm_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); #if !defined(CONFIG_BT_BCM4354) if (of_board_is_rumi()) msm_gpiomux_install(msm_rumi_blsp_configs, ARRAY_SIZE(msm_rumi_blsp_configs)); #endif if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_MDM) msm_gpiomux_install(mdm_configs, ARRAY_SIZE(mdm_configs)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(apq8074_dragonboard_ts_config, ARRAY_SIZE(apq8074_dragonboard_ts_config)); msm_gpiomux_install(fuel_i2c_config, ARRAY_SIZE(fuel_i2c_config)); #if defined(CONFIG_SENSORS_SSP) msm_gpiomux_install(ssp_configs, ARRAY_SIZE(ssp_configs)); #endif #ifdef CONFIG_SENSORS_VFS61XX msm_gpiomux_install(msm8974_fingerprint_configs, ARRAY_SIZE(msm8974_fingerprint_configs)); #endif #if defined(CONFIG_NFC_PN547) || defined(CONFIG_BCM2079X_NFC_I2C) msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif msm_gpiomux_install(msm_cis_spi_configs, ARRAY_SIZE(msm_cis_spi_configs)); msm_gpiomux_install(msm_af_configs, ARRAY_SIZE(msm_af_configs)); msm_gpiomux_install(gpio_nc_configs, ARRAY_SIZE(gpio_nc_configs)); }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE //int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); // GPIO related function <<7.CAMERA>> /* LGE_CHANGE_S, Add gpiomux for ex-ldo used gpio, 2013-09-04, [email protected] */ msm_gpiomux_install(msm_sensor_configs_rev_b, ARRAY_SIZE(msm_sensor_configs_rev_b)); printk(KERN_ERR " [Camera] In greater than HW_REV_B, MAIN_CAM0_RESET_N has been changed from GPIO_98 to GPIO_114\n"); /* LGE_CHANGE_E, Add gpiomux for ex-ldo used gpio, 2013-09-04, [email protected] */ // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (hw_rev == HW_REV_0) { msm_gpiomux_install(msm_melfas_configs, ARRAY_SIZE(msm_melfas_configs)); printk(KERN_ERR "[Touch] HW_REV_0 \n"); } else if (hw_rev == HW_REV_A) { msm_gpiomux_install(msm_melfas_configs_rev_a, ARRAY_SIZE(msm_melfas_configs_rev_a)); printk(KERN_ERR "[Touch] HW_REV_A \n"); } else { msm_gpiomux_install(msm_atmel_configs_rev_b, ARRAY_SIZE(msm_atmel_configs_rev_b)); printk(KERN_ERR "[Touch] HW_REV_B or above \n"); } msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); #ifndef CONFIG_MACH_LGE msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN547 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ #if defined(CONFIG_TSPDRV) msm_gpiomux_install(vibrator_configs, ARRAY_SIZE(vibrator_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); // Device Tree Initailize rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } //-------------------------------------------- // MSM8X26 GPIO Confiuration via JAGUAR //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.WLC>> // GPIO related function <<17.SIM>> // GPIO related function <<18.SLIMBUS>> // GPIO related function <<19.RF>> // GPIO related function <<20.KEY PAD>> // GPIO related function <<21.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ){ case HW_REV_0 : for ( gpio_index = 0 ; gpio_reserved_pin_rev_zero[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_zero[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_A : for ( gpio_index = 0 ; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_C : case HW_REV_D : case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } // GPIO related function <<1.SENSOR>> msm_gpiomux_install(msm_sensor_ic_configs, ARRAY_SIZE(msm_sensor_ic_configs)); // GPIO related function <<2.I2C>> msm_gpiomux_install(msm_i2c_configs, ARRAY_SIZE(msm_i2c_configs)); // GPIO related function <<3.UART>> msm_gpiomux_install(gpio_func_uart_configs, ARRAY_SIZE(gpio_func_uart_configs)); // GPIO related function <<4.TOUCH>> if (hw_rev == HW_REV_0) { msm_gpiomux_install(msm_atmel_configs, ARRAY_SIZE(msm_atmel_configs)); printk(KERN_ERR "[Touch] HW_REV_0 configs \n"); } else { msm_gpiomux_install(msm_synaptics_configs_rev_b, ARRAY_SIZE(msm_synaptics_configs_rev_b)); printk(KERN_ERR "[Touch] HW_REV_A.. configs \n"); } // GPIO related function <<5.NFC>> /* */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* */ // GPIO related function <<6.LCD>> if (hw_rev <= HW_REV_A) msm_gpiomux_install_nowrite(msm_lcd_configs_A, ARRAY_SIZE(msm_lcd_configs_A)); else msm_gpiomux_install_nowrite(msm_lcd_configs_B, ARRAY_SIZE(msm_lcd_configs_B)); // GPIO related function <<7.CAMERA>> msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> msm_gpiomux_sdc3_install(); // GPIO related function <<12.BATTERY>> msm_gpiomux_install(power_configs, ARRAY_SIZE(power_configs)); // GPIO related function <<13.BT>> #ifdef CONFIG_LGE_BLUETOOTH bluetooth_msm_gpiomux_install(); #endif /* */ // GPIO related function <<14.WIFI>> #if defined (CONFIG_BCMDHD) || defined (CONFIG_BCMDHD_MODULE) #else if (hw_rev == HW_REV_0) msm_gpiomux_install(wcnss_5wire_interface_zero, ARRAY_SIZE(wcnss_5wire_interface_zero)); else msm_gpiomux_install(wcnss_5wire_interface_A, ARRAY_SIZE(wcnss_5wire_interface_A)); #endif // GPIO related function <<15.FM>> msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); // GPIO related function <<16.WLC>> // GPIO related function <<17.SIM>> msm_gpiomux_install(gpio_func_sim_configs, ARRAY_SIZE(gpio_func_sim_configs)); // GPIO related function <<18.SLIMBUS>> msm_gpiomux_install(gpio_func_slimbus_configs, ARRAY_SIZE(gpio_func_slimbus_configs)); // GPIO related function <<19.RF>> msm_gpiomux_install(gpio_func_rf_configs, ARRAY_SIZE(gpio_func_rf_configs)); // GPIO related function <<20.KEY PAD>> msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); // GPIO related function <<21.LOGIC>> logic_msm_gpiomux_install(); /* */ #if defined(CONFIG_LGE_BROADCAST_TDMB) msm_gpiomux_install(msm8926_tdmb_configs, ARRAY_SIZE(msm8926_tdmb_configs)); #endif /* */ #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif #ifndef CONFIG_MACH_LGE if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif }
void __init msm_8974_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } pr_debug("%s:%d socinfo_get_version %x\n", __func__, __LINE__, socinfo_get_version()); if (socinfo_get_version() >= 0x20000) msm_tlmm_misc_reg_write(TLMM_SPARE_REG, 0xf); #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm_eth_configs, \ ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(msm_blsp2_uart7_configs, ARRAY_SIZE(msm_blsp2_uart7_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); if (of_board_is_liquid()) msm_gpiomux_install_nowrite(ath_gpio_configs, ARRAY_SIZE(ath_gpio_configs)); msm_gpiomux_install(msm8974_slimbus_config, ARRAY_SIZE(msm8974_slimbus_config)); msm_gpiomux_install(msm_touch_configs, ARRAY_SIZE(msm_touch_configs)); if (of_board_is_liquid()) msm_gpiomux_install(msm_touch_i2cmode_configs, ARRAY_SIZE(msm_touch_i2cmode_configs)); msm_gpiomux_install(hap_lvl_shft_config, ARRAY_SIZE(hap_lvl_shft_config)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(msm_sensor_configs_dragonboard, \ ARRAY_SIZE(msm_sensor_configs_dragonboard)); else msm_gpiomux_install(msm_sensor_configs, \ ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(&sd_card_det, 1); if (machine_is_apq8074() && (of_board_is_liquid() || \ of_board_is_dragonboard())) msm_gpiomux_sdc3_install(); if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_sdc4_install(); msm_gpiomux_install(msm_taiko_config, ARRAY_SIZE(msm_taiko_config)); msm_gpiomux_install(msm_hsic_configs, ARRAY_SIZE(msm_hsic_configs)); msm_gpiomux_install(msm_hsic_hub_configs, ARRAY_SIZE(msm_hsic_hub_configs)); msm_gpiomux_install(msm_hdmi_configs, ARRAY_SIZE(msm_hdmi_configs)); if (of_board_is_fluid()) msm_gpiomux_install(msm_mhl_configs, ARRAY_SIZE(msm_mhl_configs)); if (of_board_is_liquid() || (of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm8974_pri_ter_auxpcm_configs, ARRAY_SIZE(msm8974_pri_ter_auxpcm_configs)); else msm_gpiomux_install(msm8974_pri_pri_auxpcm_configs, ARRAY_SIZE(msm8974_pri_pri_auxpcm_configs)); if (of_board_is_cdp()) msm_gpiomux_install(msm8974_sec_auxpcm_configs, ARRAY_SIZE(msm8974_sec_auxpcm_configs)); else if (of_board_is_liquid() || of_board_is_fluid() || of_board_is_mtp()) msm_gpiomux_install(msm_epm_configs, ARRAY_SIZE(msm_epm_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); if (of_board_is_rumi()) msm_gpiomux_install(msm_rumi_blsp_configs, ARRAY_SIZE(msm_rumi_blsp_configs)); if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_MDM) msm_gpiomux_install(mdm_configs, ARRAY_SIZE(mdm_configs)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(apq8074_dragonboard_ts_config, ARRAY_SIZE(apq8074_dragonboard_ts_config)); if ((socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_INTERPOSERV3) && of_board_is_cdp()) msm_gpiomux_install(apq8074_interposer_config, ARRAY_SIZE(apq8074_interposer_config)); }
void __init msm_8974_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } pr_err("%s:%d socinfo_get_version %x\n", __func__, __LINE__, socinfo_get_version()); if (socinfo_get_version() >= 0x20000) msm_tlmm_misc_reg_write(TLMM_SPARE_REG, 0xf); #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm_eth_configs, \ ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); #ifdef CONFIG_MFD_MAX77888 msm_gpiomux_install(msm8974_muic_configs, ARRAY_SIZE(msm8974_muic_configs)); #endif msm_gpiomux_install(msm_battery_configs, ARRAY_SIZE(msm_battery_configs)); #if !defined(CONFIG_MACH_LT03_LTE) msm_gpiomux_install(msm_batteryotg_configs, ARRAY_SIZE(msm_batteryotg_configs)); #endif #if !defined(CONFIG_BT_BCM4335) && !defined(CONFIG_BT_BCM4339) msm_gpiomux_install(msm_blsp2_uart7_configs, ARRAY_SIZE(msm_blsp2_uart7_configs)); #endif #if defined(CONFIG_BT_BCM4335) || defined(CONFIG_BT_BCM4339) msm_gpiomux_btuart_install(); msm_gpiomux_btwake_install(); #endif if (of_board_is_liquid()) msm_gpiomux_install_nowrite(ath_gpio_configs, ARRAY_SIZE(ath_gpio_configs)); msm_gpiomux_install(msm8974_slimbus_config, ARRAY_SIZE(msm8974_slimbus_config)); msm_gpiomux_install(hap_lvl_shft_config, ARRAY_SIZE(hap_lvl_shft_config)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(msm_sensor_configs_dragonboard, \ ARRAY_SIZE(msm_sensor_configs_dragonboard)); else msm_gpiomux_install(msm_sensor_configs, \ ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(hw_rev_configs, ARRAY_SIZE(hw_rev_configs)); msm_gpiomux_install(&sd_card_det, 1); msm_gpiomux_sdc3_install(); if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_sdc4_install(); msm_gpiomux_install(msm_taiko_config, ARRAY_SIZE(msm_taiko_config)); msm_gpiomux_install(ear_send_end_config, ARRAY_SIZE(ear_send_end_config)); #if defined(CONFIG_MACH_LT03_VZW) || defined(CONFIG_MACH_LT03_EUR) || defined(CONFIG_MACH_LT03_TMO) \ || defined(CONFIG_MACH_LT03SKT) || defined(CONFIG_MACH_LT03KTT) || defined(CONFIG_MACH_LT03LGT) msm_gpiomux_install(spk_ext_config, ARRAY_SIZE(spk_ext_config)); #endif msm_gpiomux_install(msm_hsic_hub_configs, ARRAY_SIZE(msm_hsic_hub_configs)); msm_gpiomux_install(msm_hdmi_configs, ARRAY_SIZE(msm_hdmi_configs)); #ifdef CONFIG_VIDEO_MHL_V2 msm_gpiomux_install(mhl_configs, ARRAY_SIZE(mhl_configs)); #endif #if 0 msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); #endif if (of_board_is_liquid() || (of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm8974_pri_ter_auxpcm_configs, ARRAY_SIZE(msm8974_pri_ter_auxpcm_configs)); else msm_gpiomux_install(msm8974_pri_pri_auxpcm_configs, ARRAY_SIZE(msm8974_pri_pri_auxpcm_configs)); #if defined(CONFIG_BCM4335) || defined(CONFIG_BCM4335_MODULE) || defined(CONFIG_BCM4339) || defined(CONFIG_BCM4339_MODULE) msm_gpiomux_wlan_host_wakeup_install(); #endif /* defined(CONFIG_BCM4335) || defined(CONFIG_BCM4335_MODULE) || defined(CONFIG_BCM4339) || defined(CONFIG_BCM4339_MODULE) */ #ifdef CONFIG_USB_SWITCH_FSA9485 if (system_rev >= 7) msm_gpiomux_install(lt03_r04_muic_configs, ARRAY_SIZE(lt03_r04_muic_configs)); else msm_gpiomux_install(lt03_muic_configs, ARRAY_SIZE(lt03_muic_configs)); #endif if (of_board_is_cdp()) { #if 0 /* Not used at Mondrian */ msm_gpiomux_install(msm8974_sec_auxpcm_configs, ARRAY_SIZE(msm8974_sec_auxpcm_configs)); #endif } else if (of_board_is_liquid() || of_board_is_fluid() || of_board_is_mtp()) msm_gpiomux_install(msm_epm_configs, ARRAY_SIZE(msm_epm_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); #if !defined(CONFIG_BT_BCM4335) && !defined(CONFIG_BT_BCM4339) if (of_board_is_rumi()) msm_gpiomux_install(msm_rumi_blsp_configs, ARRAY_SIZE(msm_rumi_blsp_configs)); #endif if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_MDM) msm_gpiomux_install(mdm_configs, ARRAY_SIZE(mdm_configs)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(apq8074_dragonboard_ts_config, ARRAY_SIZE(apq8074_dragonboard_ts_config)); #ifdef CONFIG_FB_MSM_EDP_SAMSUNG msm_gpiomux_install(msm8974_lcd_config, ARRAY_SIZE(msm8974_lcd_config)); #endif #ifdef CONFIG_INPUT_WACOM msm_gpiomux_install(msm8974_wacom_configs, ARRAY_SIZE(msm8974_wacom_configs)); #endif msm_gpiomux_install(msm_grip_configs, ARRAY_SIZE(msm_grip_configs)); msm_gpiomux_install(msm_sensors_configs, ARRAY_SIZE(msm_sensors_configs)); #if defined(CONFIG_MACH_LT03_VZW) || defined(CONFIG_MACH_LT03SKT) || defined(CONFIG_MACH_LT03KTT) || defined(CONFIG_MACH_LT03LGT) msm_gpiomux_install(ext_buck_configs, ARRAY_SIZE(ext_buck_configs)); #endif #if defined(CONFIG_MACH_LT03_LTE) msm_gpiomux_install(gpio_nc_configs,ARRAY_SIZE(gpio_nc_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); // Device Tree Initailize rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } //-------------------------------------------- // MSM8X26 GPIO Confiuration via JAGUAR //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.WLC>> // GPIO related function <<17.SIM>> // GPIO related function <<18.SLIMBUS>> // GPIO related function <<19.RF>> // GPIO related function <<20.KEY PAD>> // GPIO related function <<21.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ){ case HW_REV_0 : #if 0 for ( gpio_index = 0 ; gpio_reserved_pin_rev_zero[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_zero[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } #endif break; case HW_REV_A : for ( gpio_index = 0 ; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_C : case HW_REV_D : case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } // GPIO related function <<1.SENSOR>> msm_gpiomux_install(msm_sensor_ic_configs, ARRAY_SIZE(msm_sensor_ic_configs)); // GPIO related function <<2.I2C>> msm_gpiomux_install(msm_i2c_configs, ARRAY_SIZE(msm_i2c_configs)); // GPIO related function <<3.UART>> msm_gpiomux_install(gpio_func_uart_configs, ARRAY_SIZE(gpio_func_uart_configs)); // GPIO related function <<4.TOUCH>> if (hw_rev >= HW_REV_A) { msm_gpiomux_install(msm_touch_configs, ARRAY_SIZE(msm_touch_configs)); printk(KERN_ERR "[Touch] HW_REV_A configs \n"); } // GPIO related function <<5.NFC>> /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN544_C3 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ // GPIO related function <<6.LCD>> msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); // GPIO related function <<7.CAMERA>> msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> msm_gpiomux_sdc3_install(); // GPIO related function <<12.BATTERY>> msm_gpiomux_install(power_configs, ARRAY_SIZE(power_configs)); // GPIO related function <<13.BT>> #ifdef CONFIG_LGE_BLUETOOTH bluetooth_msm_gpiomux_install(); #endif /* CONFIG_LGE_BLUETOOTH */ // GPIO related function <<14.WIFI>> msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); // GPIO related function <<15.FM>> msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); // GPIO related function <<16.WLC>> msm_gpiomux_install(&gpio_func_wlc_config, 1); // GPIO related function <<17.SIM>> msm_gpiomux_install(gpio_func_sim_configs, ARRAY_SIZE(gpio_func_sim_configs)); // GPIO related function <<18.SLIMBUS>> msm_gpiomux_install(gpio_func_slimbus_configs, ARRAY_SIZE(gpio_func_slimbus_configs)); // GPIO related function <<19.RF>> msm_gpiomux_install(gpio_func_rf_configs, ARRAY_SIZE(gpio_func_rf_configs)); // GPIO related function <<20.KEY PAD>> msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); // GPIO related function <<21.LOGIC>> msm_gpiomux_install(ext_ldo_en_configs, ARRAY_SIZE(ext_ldo_en_configs)); #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif #ifndef CONFIG_MACH_LGE if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif #ifdef CONFIG_SND_BRCM_FM_RADIO msm_gpiomux_install(msm_pri_mi2s_configs, ARRAY_SIZE(msm_pri_mi2s_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } /* Battery charging and BMS GPIO */ msm_gpiomux_install(msm_ta_nchg_configs, ARRAY_SIZE(msm_ta_nchg_configs)); msm_gpiomux_install(msm_hrm_configs, ARRAY_SIZE(msm_hrm_configs)); msm_gpiomux_install(msm_sensorhub_configs, ARRAY_SIZE(msm_sensorhub_configs)); msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_goodix_configs, ARRAY_SIZE(msm_skuf_goodix_configs)); msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); /* * gpio mux settings for the NC GPIOs */ msm_gpiomux_install(nc_gpio_cfgs, ARRAY_SIZE(nc_gpio_cfgs)); msm_gpiomux_install(hw_chkbits_cfg, ARRAY_SIZE(hw_chkbits_cfg)); msm_gpiomux_sdc3_install(); /* * HSIC STROBE gpio is also used by the ethernet. Install HSIC * gpio mux config only when HSIC is enabled. HSIC config will * be disabled when ethernet config is enabled. */ #ifdef CONFIG_USB_EHCI_MSM_HSIC if (machine_is_msm8926()) { msm_hsic_configs[0].gpio = 119; /* STROBE */ msm_hsic_configs[1].gpio = 120; /* DATA */ } msm_gpiomux_install(msm_hsic_configs, ARRAY_SIZE(msm_hsic_configs)); #endif #if defined(CONFIG_SAMSUNG_JACK) msm_gpiomux_install(msm_earjack_gpio_configs, ARRAY_SIZE(msm_earjack_gpio_configs)); #endif #ifdef CONFIG_SND_SOC_MAX98504 msm_gpiomux_install(msm8226_tertiary_mi2s_configs,ARRAY_SIZE(msm8226_tertiary_mi2s_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif // Device Tree Initailize rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #ifdef CONFIG_MACH_LGE //-------------------------------------------- // MSM8X26 GPIO Confiuration via W7 Rev 0 //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.SIM>> // GPIO related function <<17.SLIMBUS>> // GPIO related function <<18.RF>> // GPIO related function <<19.KEY PAD>> // GPIO related function <<20.LOGIC>> /* Moved to the last of this function */ #if 0 // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ) { case HW_REV_0 : for ( gpio_index = 0 ; gpio_reserved_pin_rev_0[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_0[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_A : for ( gpio_index = 0 ; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B : case HW_REV_C : case HW_REV_D : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_E[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_E[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } #endif // 0 // GPIO related function <<1.SENSOR>> msm_gpiomux_install(gpio_func_sensor_configs, ARRAY_SIZE(gpio_func_sensor_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); // GPIO related function <<2.I2C>> msm_gpiomux_install(gpio_func_i2c_configs, ARRAY_SIZE(gpio_func_i2c_configs)); // GPIO related function <<3.UART>> msm_gpiomux_install(gpio_func_uart_configs, ARRAY_SIZE(gpio_func_uart_configs)); // GPIO related function <<4.TOUCH>> msm_gpiomux_install(msm_atmel_configs, ARRAY_SIZE(msm_atmel_configs)); printk(KERN_ERR " [Touch] HW_REV for Atmel Touch IC \n"); // GPIO related function <<5.NFC>> /* */ #ifdef CONFIG_LGE_NFC_PN547 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* */ // GPIO related function <<6.LCD>> //msm_gpiomux_install(msm_lcd_configs_rev_0, ARRAY_SIZE(msm_lcd_configs_rev_0)); //msm_gpiomux_install(msm_bl_configs_rev_0, ARRAY_SIZE(msm_bl_configs_rev_0)); // GPIO related function <<7.CAMERA>> msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); // GPIO related function <<10.AUDIO>> msm_gpiomux_install(gpio_func_audio_configs, ARRAY_SIZE(gpio_func_audio_configs)); // GPIO related function <<11.SD CARD>> msm_gpiomux_install(&sd_card_det, 1); // GPIO related function <<12.BATTERY>> msm_gpiomux_install(gpio_func_battery_configs, ARRAY_SIZE(gpio_func_battery_configs)); // GPIO related function <<13.BT>> msm_gpiomux_install(gpio_func_bt_configs, ARRAY_SIZE(gpio_func_bt_configs)); // GPIO related function <<14.WIFI>> msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); // GPIO related function <<15.FM>> msm_gpiomux_install(gpio_func_fm_configs, ARRAY_SIZE(gpio_func_fm_configs)); // GPIO related function <<16.SIM>> msm_gpiomux_install(gpio_func_sim_configs, ARRAY_SIZE(gpio_func_sim_configs)); // GPIO related function <<17.SLIMBUS>> msm_gpiomux_install(gpio_func_slimbus_configs, ARRAY_SIZE(gpio_func_slimbus_configs)); // GPIO related function <<18.RF>> msm_gpiomux_install(gpio_func_rf_configs, ARRAY_SIZE(gpio_func_rf_configs)); // GPIO related function <<19.KEY PAD>> if ( hw_rev >= HW_REV_A ) msm_gpiomux_install(msm_keypad_configs_rev_a, ARRAY_SIZE(msm_keypad_configs_rev_a)); else msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); // GPIO related function <<20.LOGIC>> msm_gpiomux_install(gpio_func_logic_configs, ARRAY_SIZE(gpio_func_logic_configs)); #endif #ifndef CONFIG_MACH_LGE #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* Applied Rev_E board changes */ if( hw_rev >= HW_REV_E ) { msm_gpiomux_install(pcb_indicator_configs, ARRAY_SIZE(pcb_indicator_configs)); msm_gpiomux_install(radiation_pwr_ant_configs, ARRAY_SIZE(radiation_pwr_ant_configs)); msm_gpiomux_install(vt_maker_id_configs, ARRAY_SIZE(vt_maker_id_configs)); } /* Moved from the top of this function */ // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ) { case HW_REV_0 : for ( gpio_index = 0 ; gpio_reserved_pin_rev_0[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_0[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_A : for ( gpio_index = 0 ; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B : case HW_REV_C : case HW_REV_D : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_E[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_E[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_goodix_configs, ARRAY_SIZE(msm_skuf_goodix_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); msm_gpiomux_install(msm_nativesensors_configs,ARRAY_SIZE(msm_nativesensors_configs)); msm_gpiomux_install(muic_gpio_config, ARRAY_SIZE(muic_gpio_config)); msm_gpiomux_install(tkey_led_gpio_configs, ARRAY_SIZE(tkey_led_gpio_configs)); /* Cover ID */ msm_gpiomux_install(msm_cover_id_configs, ARRAY_SIZE(msm_cover_id_configs)); msm_gpiomux_install(hw_chk_bit_configs, ARRAY_SIZE(hw_chk_bit_configs)); msm_gpiomux_install(tsp_id_configs, ARRAY_SIZE(tsp_id_configs)); #if defined(CONFIG_NFC_PN547) msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* * gpio mux settings for the NC GPIOs */ msm_gpiomux_install(gpio_nc_configs, ARRAY_SIZE(gpio_nc_configs)); #if defined(CONFIG_SAMSUNG_JACK) msm_gpiomux_install(msm_earjack_gpio_configs, ARRAY_SIZE(msm_earjack_gpio_configs)); #endif #ifdef CONFIG_SND_SOC_MAX98505 msm_gpiomux_install(msm8226_max98504_i2c_configs,ARRAY_SIZE(msm8226_max98504_i2c_configs)); #endif #ifdef CONFIG_LEDS_KTD2026 msm_gpiomux_install(msm_ktd2026_i2c_configs,ARRAY_SIZE(msm_ktd2026_i2c_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_goodix_configs, ARRAY_SIZE(msm_skuf_goodix_configs)); else msm_gpiomux_install(msm_melfas_configs, ARRAY_SIZE(msm_melfas_configs)); #if !defined(CONFIG_MACH_DEGASLTE_SBM) if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); #endif msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #if defined (CONFIG_SEC_DEGASLTE_COMMON) msm_gpiomux_install(msm_nativesensors_configs,ARRAY_SIZE(msm_nativesensors_configs)); #if !defined(CONFIG_MACH_DEGASLTE_SBM) msm_gpiomux_install(irled_i2c_scl_config, ARRAY_SIZE(irled_i2c_scl_config)); #endif msm_gpiomux_install(ovp_enable_configs, ARRAY_SIZE(ovp_enable_configs)); #endif msm_gpiomux_sdc3_install(); msm_gpiomux_install(msm_ta_nchg_configs, ARRAY_SIZE(msm_ta_nchg_configs)); msm_gpiomux_install(msm_ta_int_n_configs, ARRAY_SIZE(msm_ta_int_n_configs)); #if defined(CONFIG_SAMSUNG_JACK) msm_gpiomux_install(msm_earjack_gpio_configs, ARRAY_SIZE(msm_earjack_gpio_configs)); #endif if(!poweroff_charging) msm_gpiomux_install(wcdcodec_reset_cfg, ARRAY_SIZE(wcdcodec_reset_cfg)); #ifdef CONFIG_SND_SOC_MAX98504 msm_gpiomux_install(msm8226_tertiary_mi2s_configs,ARRAY_SIZE(msm8226_tertiary_mi2s_configs)); msm_gpiomux_install(msm8226_blsp_codec_configs,ARRAY_SIZE(msm8226_blsp_codec_configs)); msm_gpiomux_install(msm8226_amp_int_configs,ARRAY_SIZE(msm8226_amp_int_configs)); #endif #if defined (CONFIG_MACH_DEGASLTE_SPR) || defined(CONFIG_MACH_DEGASLTE_VZW) || defined(CONFIG_MACH_DEGASLTE_SBM) msm_gpiomux_install(degaslte_spr_nc_gpios, ARRAY_SIZE(degaslte_spr_nc_gpios)); msm_gpiomux_install(degasltespr_gpio_10, ARRAY_SIZE(degasltespr_gpio_10)); #endif #if defined(CONFIG_MACH_DEGASLTE_SBM) msm_gpiomux_install(degaslte_sbm_gpios, ARRAY_SIZE(degaslte_sbm_gpios)); #endif }
void __init msm_8974_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } pr_err("%s:%d socinfo_get_version %x\n", __func__, __LINE__, socinfo_get_version()); if (socinfo_get_version() >= 0x20000) msm_tlmm_misc_reg_write(TLMM_SPARE_REG, 0xf); #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm_eth_configs, \ ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); #if !defined(CONFIG_BT_BCM4335) && !defined(CONFIG_BT_BCM4339) msm_gpiomux_install(msm_blsp2_uart7_configs, ARRAY_SIZE(msm_blsp2_uart7_configs)); #endif #if defined(CONFIG_BT_BCM4335) || defined(CONFIG_BT_BCM4339) msm_gpiomux_btuart_install(); #endif if (of_board_is_liquid()) msm_gpiomux_install_nowrite(ath_gpio_configs, ARRAY_SIZE(ath_gpio_configs)); msm_gpiomux_install(msm8974_slimbus_config, ARRAY_SIZE(msm8974_slimbus_config)); #ifdef CONFIG_SENSORS_GP2A_IIO_PROX msm_gpiomux_install(msm_proximity_configs, ARRAY_SIZE(msm_proximity_configs)); #endif msm_gpiomux_install(msm_mag_sensor_configs, ARRAY_SIZE(msm_mag_sensor_configs)); msm_gpiomux_install(hap_lvl_shft_config, ARRAY_SIZE(hap_lvl_shft_config)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(msm_sensor_configs_dragonboard, \ ARRAY_SIZE(msm_sensor_configs_dragonboard)); else msm_gpiomux_install(msm_sensor_configs, \ ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(&sd_card_det, 1); msm_gpiomux_install(msm_disp_configs, ARRAY_SIZE(msm_disp_configs)); if (machine_is_apq8074() && (of_board_is_liquid() || \ of_board_is_dragonboard())) msm_gpiomux_sdc3_install(); if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_sdc4_install(); msm_gpiomux_install(msm_taiko_config, ARRAY_SIZE(msm_taiko_config)); msm_gpiomux_install(tx_gtr_thres_enable_config, ARRAY_SIZE(tx_gtr_thres_enable_config)); msm_gpiomux_install(speaker_enable_config, ARRAY_SIZE(speaker_enable_config)); msm_gpiomux_install(ear_send_end_config, ARRAY_SIZE(ear_send_end_config)); msm_gpiomux_install(msm_hsic_hub_configs, ARRAY_SIZE(msm_hsic_hub_configs)); msm_gpiomux_install(msm_hdmi_configs, ARRAY_SIZE(msm_hdmi_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); if (of_board_is_liquid() || (of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm8974_pri_ter_auxpcm_configs, ARRAY_SIZE(msm8974_pri_ter_auxpcm_configs)); else msm_gpiomux_install(msm8974_pri_pri_auxpcm_configs, ARRAY_SIZE(msm8974_pri_pri_auxpcm_configs)); if (of_board_is_cdp()) { #if 0 /* Not used at Mondrian */ msm_gpiomux_install(msm8974_sec_auxpcm_configs, ARRAY_SIZE(msm8974_sec_auxpcm_configs)); #endif } else if (of_board_is_liquid() || of_board_is_fluid() || of_board_is_mtp()) msm_gpiomux_install(msm_epm_configs, ARRAY_SIZE(msm_epm_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); #if !defined(CONFIG_BT_BCM4335) && !defined(CONFIG_BT_BCM4339) if (of_board_is_rumi()) msm_gpiomux_install(msm_rumi_blsp_configs, ARRAY_SIZE(msm_rumi_blsp_configs)); #endif if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_MDM) msm_gpiomux_install(mdm_configs, ARRAY_SIZE(mdm_configs)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(apq8074_dragonboard_ts_config, ARRAY_SIZE(apq8074_dragonboard_ts_config)); msm_gpiomux_install(gpio_nc_configs, ARRAY_SIZE(gpio_nc_configs)); }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif // Device Tree Initailize rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #ifdef CONFIG_MACH_LGE //-------------------------------------------- // MSM8X26 GPIO Confiuration via W7 Rev 0 //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.SIM>> // GPIO related function <<17.SLIMBUS>> // GPIO related function <<18.RF>> // GPIO related function <<19.KEY PAD>> // GPIO related function <<20.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ){ case HW_REV_0 : for ( gpio_index = 0 ; gpio_reserved_pin_rev_0[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_0[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_A : for ( gpio_index = 0 ; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_C : case HW_REV_D : case HW_REV_E : for ( gpio_index = 0 ; gpio_reserved_pin_rev_E[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_E[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_E[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_E[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } // GPIO related function <<1.SENSOR>> msm_gpiomux_install(gpio_func_sensor_configs, ARRAY_SIZE(gpio_func_sensor_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); // GPIO related function <<2.I2C>> msm_gpiomux_install(gpio_func_i2c_configs, ARRAY_SIZE(gpio_func_i2c_configs)); // GPIO related function <<3.UART>> msm_gpiomux_install(gpio_func_uart_configs, ARRAY_SIZE(gpio_func_uart_configs)); // GPIO related function <<4.TOUCH>> if(hw_rev == HW_REV_0) { msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); printk(KERN_ERR "[Touch] below HW_REV_0 is using Synaptics \n"); } else if(hw_rev == HW_REV_A) { msm_gpiomux_install(msm_melfas_configs_rev_a, ARRAY_SIZE(msm_melfas_configs_rev_a)); printk(KERN_ERR "[Touch] HW_REV_A configs \n"); } else if(hw_rev == HW_REV_B){ msm_gpiomux_install(msm_melfas_configs_rev_b, ARRAY_SIZE(msm_melfas_configs_rev_b)); printk(KERN_ERR "[Touch] HW_REV_B configs \n"); } else if(hw_rev < HW_REV_E){ msm_gpiomux_install(msm_melfas_configs_rev_c, ARRAY_SIZE(msm_melfas_configs_rev_c)); printk(KERN_ERR "[Touch] HW_REV_C configs \n"); } else { msm_gpiomux_install(msm_atmel_configs_rev_e, ARRAY_SIZE(msm_atmel_configs_rev_e)); printk(KERN_ERR " [Touch] HW_REV_E or above use Atmel \n"); } // GPIO related function <<5.NFC>> /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ // GPIO related function <<6.LCD>> msm_gpiomux_install(gpio_func_lcd_configs, ARRAY_SIZE(gpio_func_lcd_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); // GPIO related function <<7.CAMERA>> /* LGE_CHANGE_S, Add gpiomux for ex-ldo used gpio, 2013-09-04, [email protected] */ if(hw_rev == HW_REV_0) { msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); printk(KERN_ERR " [Camera] below HW_REV_0 is using power source from PM\n"); } else if(hw_rev == HW_REV_A) { msm_gpiomux_install(msm_sensor_configs_rev_a, ARRAY_SIZE(msm_sensor_configs_rev_a)); printk(KERN_ERR " [Camera] greater than HW_REV_A is using power source from Ex-LDO used GPIO\n"); } else if(hw_rev == HW_REV_B) { msm_gpiomux_install(msm_sensor_configs_rev_b, ARRAY_SIZE(msm_sensor_configs_rev_b)); printk(KERN_ERR " [Camera] In greater than HW_REV_B, MAIN_CAM0_RESET_N has been changed from GPIO_98 to GPIO_114\n"); } else { msm_gpiomux_install(msm_sensor_configs_rev_c, ARRAY_SIZE(msm_sensor_configs_rev_c)); printk(KERN_ERR " [Camera] In greater than HW_REV_C, GPIO_110 is used for HI707\n"); } /* LGE_CHANGE_E, Add gpiomux for ex-ldo used gpio, 2013-09-04, [email protected] */ // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); // GPIO related function <<10.AUDIO>> msm_gpiomux_install(gpio_func_audio_configs, ARRAY_SIZE(gpio_func_audio_configs)); // GPIO related function <<11.SD CARD>> msm_gpiomux_install(&sd_card_det, 1); // GPIO related function <<12.BATTERY>> msm_gpiomux_install(gpio_func_battery_configs, ARRAY_SIZE(gpio_func_battery_configs)); // GPIO related function <<13.BT>> msm_gpiomux_install(gpio_func_bt_configs, ARRAY_SIZE(gpio_func_bt_configs)); // GPIO related function <<14.WIFI>> msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); // GPIO related function <<15.FM>> msm_gpiomux_install(gpio_func_fm_configs, ARRAY_SIZE(gpio_func_fm_configs)); // GPIO related function <<16.SIM>> msm_gpiomux_install(gpio_func_sim_configs, ARRAY_SIZE(gpio_func_sim_configs)); // GPIO related function <<17.SLIMBUS>> msm_gpiomux_install(gpio_func_slimbus_configs, ARRAY_SIZE(gpio_func_slimbus_configs)); // GPIO related function <<18.RF>> msm_gpiomux_install(gpio_func_rf_configs, ARRAY_SIZE(gpio_func_rf_configs)); // GPIO related function <<19.KEY PAD>> if ( hw_rev >= HW_REV_A ) msm_gpiomux_install(msm_keypad_configs_rev_a, ARRAY_SIZE(msm_keypad_configs_rev_a)); else msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); // GPIO related function <<20.LOGIC>> msm_gpiomux_install(gpio_func_logic_configs, ARRAY_SIZE(gpio_func_logic_configs)); #endif #ifndef CONFIG_MACH_LGE #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* Applied Rev_E board changes */ if( hw_rev >= HW_REV_E ) { msm_gpiomux_install(pcb_indicator_configs, ARRAY_SIZE(pcb_indicator_configs)); msm_gpiomux_install(radiation_pwr_ant_configs, ARRAY_SIZE(radiation_pwr_ant_configs)); msm_gpiomux_install(vt_maker_id_configs, ARRAY_SIZE(vt_maker_id_configs)); } }
void __init msm8226_init_gpiomux(void) { int rc; int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); // Device Tree Initailize rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } //-------------------------------------------- // MSM8X26 GPIO Confiuration via JAGUAR //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.WLC>> // GPIO related function <<17.SIM>> // GPIO related function <<18.SLIMBUS>> // GPIO related function <<19.RF>> // GPIO related function <<20.KEY PAD>> // GPIO related function <<21.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch (hw_rev) { case HW_REV_0: case HW_REV_A: for (gpio_index = 0; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END; gpio_index++) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B : case HW_REV_C : case HW_REV_D : case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default: break; } msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); // GPIO related function <<1.SENSOR>> msm_gpiomux_install(msm_sensor_ic_configs, ARRAY_SIZE(msm_sensor_ic_configs)); // GPIO related function <<2.I2C>> msm_gpiomux_install(msm_i2c_configs, ARRAY_SIZE(msm_i2c_configs)); // GPIO related function <<3.UART>> msm_gpiomux_install(gpio_func_uart_configs, ARRAY_SIZE(gpio_func_uart_configs)); // GPIO related function <<4.TOUCH>> msm_gpiomux_install(msm_melfas_configs, ARRAY_SIZE(msm_melfas_configs)); // GPIO related function <<5.NFC>> /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ // GPIO related function <<6.LCD>> msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); // GPIO related function <<7.CAMERA>> msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> //msm_gpiomux_sdc3_install(); // GPIO related function <<12.BATTERY>> msm_gpiomux_install(power_configs, ARRAY_SIZE(power_configs)); // GPIO related function <<13.BT>> #ifdef CONFIG_LGE_BLUETOOTH bluetooth_msm_gpiomux_install(); #endif /* CONFIG_LGE_BLUETOOTH */ // GPIO related function <<15.FM>> msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); // GPIO related function <<16.WLC>> // GPIO related function <<17.SIM>> msm_gpiomux_install(gpio_func_sim_configs, ARRAY_SIZE(gpio_func_sim_configs)); // GPIO related function <<18.SLIMBUS>> msm_gpiomux_install(gpio_func_slimbus_configs, ARRAY_SIZE(gpio_func_slimbus_configs)); // GPIO related function <<19.RF>> msm_gpiomux_install(gpio_func_rf_configs, ARRAY_SIZE(gpio_func_rf_configs)); // GPIO related function <<20.KEY PAD>> msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_pp2106_keypad_configs, ARRAY_SIZE(msm_pp2106_keypad_configs)); // GPIO related function <<21.LOGIC>> logic_msm_gpiomux_install(); /* LGE_CHANGE_S, [TDMB][[email protected]], TDMB Bring Up */ #if defined(CONFIG_LGE_BROADCAST_TDMB) msm_gpiomux_install(msm8926_tdmb_configs, ARRAY_SIZE(msm8926_tdmb_configs)); #endif /* LGE_CHANGE_E, [TDMB][[email protected]], TDMB Bring Up */ #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif #ifndef CONFIG_MACH_LGE if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE int gpio_index; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif // Device Tree Initailize rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #ifdef CONFIG_MACH_LGE //-------------------------------------------- // MSM8X26 GPIO Confiuration via W7 Rev 0 //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.SIM>> // GPIO related function <<17.SLIMBUS>> // GPIO related function <<18.RF>> // GPIO related function <<19.KEY PAD>> // GPIO related function <<20.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch (hw_rev) { case HW_REV_A: for (gpio_index = 0; gpio_reserved_pin_rev_A[gpio_index] < MSM8x26_GPIO_END; gpio_index++) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_A[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_B: default: for (gpio_index = 0; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END; gpio_index++) { gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } // GPIO related function <<1.SENSOR>> msm_gpiomux_install(gpio_func_sensor_configs, ARRAY_SIZE(gpio_func_sensor_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); // GPIO related function <<2.I2C>> msm_gpiomux_install(gpio_func_i2c_configs, ARRAY_SIZE(gpio_func_i2c_configs)); // GPIO related function <<3.UART>> msm_gpiomux_install(gpio_func_uart_configs, ARRAY_SIZE(gpio_func_uart_configs)); // GPIO related function <<4.TOUCH>> msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); // GPIO related function <<5.NFC>> /* */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* */ // GPIO related function <<6.LCD>> msm_gpiomux_install(gpio_func_lcd_configs, ARRAY_SIZE(gpio_func_lcd_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); // GPIO related function <<7.CAMERA>> msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); // GPIO related function <<10.AUDIO>> msm_gpiomux_install(gpio_func_audio_configs, ARRAY_SIZE(gpio_func_audio_configs)); // GPIO related function <<11.SD CARD>> msm_gpiomux_install(&sd_card_det, 1); // GPIO related function <<12.BATTERY>> msm_gpiomux_install(gpio_func_battery_configs, ARRAY_SIZE(gpio_func_battery_configs)); // GPIO related function <<13.BT>> /*msm_gpiomux_install(gpio_func_bt_configs, ARRAY_SIZE(gpio_func_bt_configs)); */ #ifdef CONFIG_LGE_BLUETOOTH bluetooth_msm_gpiomux_install(); #endif /* */ // GPIO related function <<14.WIFI>> #if defined ( CONFIG_BCMDHD ) || defined ( CONFIG_BCMDHD_MODULE ) #else msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); #endif // GPIO related function <<15.FM>> msm_gpiomux_install(gpio_func_fm_configs, ARRAY_SIZE(gpio_func_fm_configs)); // GPIO related function <<16.SIM>> msm_gpiomux_install(gpio_func_sim_configs, ARRAY_SIZE(gpio_func_sim_configs)); // GPIO related function <<17.SLIMBUS>> msm_gpiomux_install(gpio_func_slimbus_configs, ARRAY_SIZE(gpio_func_slimbus_configs)); // GPIO related function <<18.RF>> msm_gpiomux_install(gpio_func_rf_configs, ARRAY_SIZE(gpio_func_rf_configs)); // GPIO related function <<19.KEY PAD>> msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); // GPIO related function <<20.LOGIC>> msm_gpiomux_install(gpio_func_logic_configs, ARRAY_SIZE(gpio_func_logic_configs)); #endif #ifndef CONFIG_MACH_LGE #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif #if defined(CONFIG_TSPDRV) msm_gpiomux_install(vibrator_configs, ARRAY_SIZE(vibrator_configs)); #endif msm_gpiomux_sdc3_install(); #ifdef CONFIG_SND_BRCM_FM_RADIO msm_gpiomux_install(msm_pri_mi2s_configs, ARRAY_SIZE(msm_pri_mi2s_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_goodix_configs, ARRAY_SIZE(msm_skuf_goodix_configs)); else msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #if defined (CONFIG_SEC_MILLET_PROJECT) || defined(CONFIG_SEC_MATISSE_PROJECT) || defined(CONFIG_SEC_BERLUTI_PROJECT) msm_gpiomux_install(msm_nativesensors_configs,ARRAY_SIZE(msm_nativesensors_configs)); #endif msm_gpiomux_sdc3_install(); /* * HSIC STROBE gpio is also used by the ethernet. Install HSIC * gpio mux config only when HSIC is enabled. HSIC config will * be disabled when ethernet config is enabled. */ #ifdef CONFIG_USB_EHCI_MSM_HSIC if (machine_is_msm8926()) { msm_hsic_configs[0].gpio = 119; /* STROBE */ msm_hsic_configs[1].gpio = 120; /* DATA */ } msm_gpiomux_install(msm_hsic_configs, ARRAY_SIZE(msm_hsic_configs)); #endif #if defined(CONFIG_SAMSUNG_JACK) msm_gpiomux_install(msm_earjack_gpio_configs, ARRAY_SIZE(msm_earjack_gpio_configs)); #endif #ifdef CONFIG_SND_SOC_MAX98504 #if defined(CONFIG_MACH_MILLETLTE_OPEN) if ( system_rev >= 0 && system_rev < 3) #elif defined (CONFIG_MACH_MILLET3G_EUR) || defined(CONFIG_MACH_BERLUTI3G_EUR) if ( system_rev >= 2 && system_rev < 4) #elif defined(CONFIG_MACH_MILLETWIFI_OPEN) if ( system_rev >= 0 && system_rev < 5) #endif { msm_gpiomux_install(msm8226_tertiary_mi2s_configs,ARRAY_SIZE(msm8226_tertiary_mi2s_configs)); msm_gpiomux_install(msm8226_blsp_codec_configs,ARRAY_SIZE(msm8226_blsp_codec_configs)); } #endif }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined (CONFIG_MACH_MILLETLTE_VZW) msm_gpiomux_install(milletltevzw_gpio_10, ARRAY_SIZE(milletltevzw_gpio_10)); #endif #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_goodix_configs, ARRAY_SIZE(msm_skuf_goodix_configs)); else #if defined (CONFIG_MACH_BERLUTI3G_EUR) msm_gpiomux_install(msm_cypress_configs, ARRAY_SIZE(msm_cypress_configs)); msm_gpiomux_install(msm_keyboad_cypress_configs, ARRAY_SIZE(msm_keyboad_cypress_configs)); #elif defined(CONFIG_SEC_MILLET_PROJECT) msm_gpiomux_install(msm_melfas_configs, ARRAY_SIZE(msm_melfas_configs)); #else msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); #endif if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); #if !defined (CONFIG_SEC_MILLET_PROJECT) msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); #endif if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #if defined (CONFIG_SEC_MILLET_PROJECT) msm_gpiomux_install(msm_nativesensors_configs,ARRAY_SIZE(msm_nativesensors_configs)); if ( system_rev >= 0 && system_rev < 3) { msm_gpiomux_install(light_prox_config, ARRAY_SIZE(light_prox_config)); msm_gpiomux_install(irled_i2c_scl_config, ARRAY_SIZE(irled_i2c_scl_config)); } else { msm_gpiomux_install(nc_light_prox_config, ARRAY_SIZE(nc_light_prox_config)); #if defined (CONFIG_MACH_MILLETLTE_VZW) || defined(CONFIG_SEC_MILLETWIFI_COMMON) msm_gpiomux_install(irled_i2c_scl_config, ARRAY_SIZE(irled_i2c_scl_config)); #endif } #endif msm_gpiomux_sdc3_install(); msm_gpiomux_install(msm_ta_nchg_configs, ARRAY_SIZE(msm_ta_nchg_configs)); msm_gpiomux_install(msm_ta_int_n_configs, ARRAY_SIZE(msm_ta_int_n_configs)); #if defined (CONFIG_SEC_MILLETLTE_COMMON) if ( system_rev >= 3) { msm_gpiomux_install(ovp_enable_configs, ARRAY_SIZE(ovp_enable_configs)); } #else msm_gpiomux_install(ovp_enable_configs, ARRAY_SIZE(ovp_enable_configs)); #endif #if defined (CONFIG_SEC_MILLETWIFI_COMMON) msm_gpiomux_install(milletwifi_nc_gpio_cfgs, ARRAY_SIZE(milletwifi_nc_gpio_cfgs)); #endif #if defined (CONFIG_MACH_MILLETLTE_OPEN) msm_gpiomux_install(millet_nc_gpio_cfgs, ARRAY_SIZE(millet_nc_gpio_cfgs)); if ( system_rev >= 3){ msm_gpiomux_install(millet_nc3_gpio_cfgs, ARRAY_SIZE(millet_nc3_gpio_cfgs)); } #endif #if defined (CONFIG_MACH_MILLET3G_EUR) if ( system_rev >= 2) msm_gpiomux_install(millet3g_nc_gpio_cfgs, ARRAY_SIZE(millet3g_nc_gpio_cfgs)); #endif #if defined (CONFIG_MACH_MILLETLTE_VZW) if ( system_rev >= 1) msm_gpiomux_install(milletltevzw_nc_gpio_cfgs, ARRAY_SIZE(milletltevzw_nc_gpio_cfgs)); #endif #if defined(CONFIG_SAMSUNG_JACK) msm_gpiomux_install(msm_earjack_gpio_configs, ARRAY_SIZE(msm_earjack_gpio_configs)); #endif if(!poweroff_charging) msm_gpiomux_install(wcdcodec_reset_cfg, ARRAY_SIZE(wcdcodec_reset_cfg)); #ifdef CONFIG_SND_SOC_MAX98504 #if defined(CONFIG_MACH_MILLETLTE_OPEN) if ( system_rev >= 0 && system_rev < 3) #elif defined (CONFIG_MACH_MILLET3G_EUR) if ( system_rev >= 2 && system_rev < 4) #elif defined(CONFIG_MACH_MILLETWIFI_OPEN) if ( system_rev >= 0 && system_rev < 5) #endif { msm_gpiomux_install(msm8226_tertiary_mi2s_configs,ARRAY_SIZE(msm8226_tertiary_mi2s_configs)); msm_gpiomux_install(msm8226_blsp_codec_configs,ARRAY_SIZE(msm8226_blsp_codec_configs)); msm_gpiomux_install(msm8226_amp_int_configs,ARRAY_SIZE(msm8226_amp_int_configs)); } #endif }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif /* CONFIG_MACH_LGE */ rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); #ifdef CONFIG_MACH_LGE switch ( hw_rev ){ case HW_REV_0 : case HW_REV_A : case HW_REV_A2 : case HW_REV_B : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); msm_gpiomux_install(main_cam_id_gpio, ARRAY_SIZE(main_cam_id_gpio)); /* MAIN_CAM_ID */ } break; case HW_REV_B2 : case HW_REV_C : for ( gpio_index = 0 ; gpio_reserved_pin_rev_C[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_C[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); msm_gpiomux_install(main_cam_id_gpio, ARRAY_SIZE(main_cam_id_gpio)); /* MAIN_CAM_ID */ } break; case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_C[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_C[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); msm_gpiomux_install(main_cam_id_gpio, ARRAY_SIZE(main_cam_id_gpio)); /* MAIN_CAM_ID */ } break; } if(hw_rev < HW_REV_A2) { msm_gpiomux_install(msm_touch_configs, ARRAY_SIZE(msm_touch_configs)); printk(KERN_ERR "[Touch] HW_REV_A configs \n"); } else if(hw_rev == HW_REV_A2) { #if defined(CONFIG_TOUCHSCREEN_LGE_TS_MISC) msm_gpiomux_install(msm_touch_configs_rev_a2, ARRAY_SIZE(msm_touch_configs_rev_a2)); printk(KERN_ERR "[Touch] HW_REV_A2 configs \n"); #endif /* CONFIG_TOUCHSCREEN_LGE_TS_MISC */ } else if(hw_rev >= HW_REV_B) { #if defined (CONFIG_LGE_TOUCHSCREEN_SYNAPTIC) || defined(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) msm_gpiomux_install(msm_touch_configs_rev_b, ARRAY_SIZE(msm_touch_configs_rev_b)); if(hw_rev == HW_REV_B) { printk(KERN_ERR "[Touch] HW_REV_B configs \n"); } else if (hw_rev >= HW_REV_B2) { printk(KERN_ERR "[Touch] over HW_REV_B2 configs \n"); } else {} #endif /* CONFIG_LGE_TOUCHSCREEN_SYNAPTIC || CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 */ } else {} #endif /* CONFIG_MACH_LGE */ #if defined(CONFIG_BU52061NVX) msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); #endif /* CONFIG_BU52061NVX */ msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); #ifndef CONFIG_MACH_LGE msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #ifdef CONFIG_MACH_LGE //-------------------------------------------- // MSM8X26 GPIO Confiuration via X5 //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.WLC>> // GPIO related function <<17.SIM>> // GPIO related function <<18.SLIMBUS>> // GPIO related function <<19.RF>> // GPIO related function <<20.KEY PAD>> // GPIO related function <<21.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ){ case HW_REV_0 : case HW_REV_A : case HW_REV_B : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_C : case HW_REV_D : case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_B[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_B[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } #endif #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (hw_rev <= HW_REV_B) { msm_gpiomux_install(msm_melfas_configs, ARRAY_SIZE(msm_melfas_configs)); printk(KERN_ERR "[Touch] HW_REV_0, A, B configs \n"); } else if (hw_rev == HW_REV_C) { msm_gpiomux_install(msm_melfas_configs_rev_c, ARRAY_SIZE(msm_melfas_configs_rev_c)); printk(KERN_ERR "[Touch] HW_REV_C configs \n"); } else { msm_gpiomux_install(msm_atmel_configs_rev_d, ARRAY_SIZE(msm_atmel_configs_rev_d)); printk(KERN_ERR "[Touch] HW_REV_D or above use Atmel \n"); } msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); #ifndef CONFIG_MACH_LGE msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN544_C3 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ }
/* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up*/ #if defined(CONFIG_BU52061NVX) static struct msm_gpiomux_config msm_hall_ic_configs[] __initdata = { { .gpio = 4, .settings = { [GPIOMUX_ACTIVE] = &hall_ic_sus_cfg, }, }, #ifdef CONFIG_BU52033NVX_CARKIT { .gpio = 5, .settings = { [GPIOMUX_ACTIVE] = &hall_ic_sus_cfg, }, }, #endif }; #endif /* CONFIG_BU52061NVX */ void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif /* CONFIG_MACH_LGE */ rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); #ifdef CONFIG_MACH_LGE if(hw_rev < HW_REV_A2) { msm_gpiomux_install(msm_touch_configs, ARRAY_SIZE(msm_touch_configs)); printk(KERN_ERR "[Touch] HW_REV_A configs \n"); } else if(hw_rev == HW_REV_A2) { #if defined(CONFIG_TOUCHSCREEN_LGE_TS_MISC) msm_gpiomux_install(msm_touch_configs_rev_a2, ARRAY_SIZE(msm_touch_configs_rev_a2)); printk(KERN_ERR "[Touch] HW_REV_A2 configs \n"); #endif /* CONFIG_TOUCHSCREEN_LGE_TS_MISC */ } else if(hw_rev >= HW_REV_B) { #if defined (CONFIG_LGE_TOUCHSCREEN_SYNAPTIC) || defined(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) msm_gpiomux_install(msm_touch_configs_rev_b, ARRAY_SIZE(msm_touch_configs_rev_b)); if(hw_rev == HW_REV_B) { printk(KERN_ERR "[Touch] HW_REV_B configs \n"); } else if (hw_rev >= HW_REV_B2) { printk(KERN_ERR "[Touch] over HW_REV_B2 configs \n"); } else {} #endif /* CONFIG_LGE_TOUCHSCREEN_SYNAPTIC || CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 */ } else {} #endif /* CONFIG_MACH_LGE */ #if defined(CONFIG_BU52061NVX) msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); #endif /* CONFIG_BU52061NVX */ msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); #ifndef CONFIG_MACH_LGE msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* LGE_CHANGE_S, [NFC][[email protected]], NFC Bring up */ #ifdef CONFIG_LGE_NFC_PN547 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* LGE_CHANGE_E, [NFC][[email protected]], NFC Bring up */ }
void __init msm8226_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); #if defined(CONFIG_MACH_MS01_EUR_3G) || defined(CONFIG_MACH_MS01_LTE) || defined(CONFIG_MACH_MILLET3G_EUR) || defined(CONFIG_MACH_MS01_CHN_CTC) \ || defined(CONFIG_MACH_MS01_LTE_KOR) || defined(CONFIG_MACH_CRATERVE_CHN_CTC) msm_gpiomux_install(msm_hall_configs, ARRAY_SIZE(msm_hall_configs)); #endif if (of_board_is_qrd()) msm_gpiomux_install(msm_qrd_blsp_configs, ARRAY_SIZE(msm_qrd_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); #if defined(CONFIG_MACH_MS01_EUR_3G) || defined(CONFIG_MACH_CRATERQ) || defined(CONFIG_MACH_MS01_LTE) || defined(CONFIG_MACH_MS01_CHN_CTC) \ || defined(CONFIG_MACH_MS01_LTE_KOR) || defined(CONFIG_MACH_CRATERVE_CHN_CTC) msm_gpiomux_install(msm8226_tx_gtr_configs, ARRAY_SIZE(msm8226_tx_gtr_configs)); msm_gpiomux_install(muic_i2c_configs, ARRAY_SIZE(muic_i2c_configs)); #endif if (of_board_is_qrd()) msm_gpiomux_install(msm_qrd_goodix_configs, ARRAY_SIZE(msm_qrd_goodix_configs)); else #if defined(CONFIG_TOUCHSCREEN_ZINITIX_BT531) msm_gpiomux_install(msm_zinitixs_configs, ARRAY_SIZE(msm_zinitixs_configs)); #elif defined(CONFIG_TOUCHSCREEN_ATMEL_MXTS) msm_gpiomux_install(msm_atmel_configs, ARRAY_SIZE(msm_atmel_configs)); #elif defined(CONFIG_TOUCHSCREEN_MMS144) msm_gpiomux_install(msm_melfas_configs, ARRAY_SIZE(msm_melfas_configs)); #else msm_gpiomux_install(msm_synaptics_configs, ARRAY_SIZE(msm_synaptics_configs)); #endif if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); #if defined(CONFIG_FB_MSM_MDSS_SHARP_HD_PANEL)\ || defined(CONFIG_MACH_MILLET3G_EUR) msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); #endif msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); /* if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); */ #if defined(CONFIG_MACH_MILLET3G_EUR) msm_gpiomux_install(msm_speaker_enable_gpio_configs, ARRAY_SIZE(msm_speaker_enable_gpio_configs)); #endif #if defined(CONFIG_SEC_NFC_I2C) || defined(CONFIG_BCM2079X_NFC_I2C) || defined(CONFIG_NFC_PN547) msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #else msm_gpiomux_install(msm_nc_configs, ARRAY_SIZE(msm_nc_configs)); #endif #if defined(CONFIG_YAS_ACC_DRIVER_BMA250) || defined(CONFIG_INPUT_MPU6500) || \ defined(CONFIG_PROXIMITY_SENSOR) || defined (CONFIG_SENSORS_HSCDTD008A) msm_gpiomux_install(msm_sensors_configs, ARRAY_SIZE(msm_sensors_configs)); #endif if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); msm_gpiomux_sdc3_install(); /* * HSIC STROBE gpio is also used by the ethernet. Install HSIC * gpio mux config only when HSIC is enabled. HSIC config will * be disabled when ethernet config is enabled. */ #ifdef CONFIG_USB_EHCI_MSM_HSIC if (machine_is_msm8926()) { msm_hsic_configs[0].gpio = 119; /* STROBE */ msm_hsic_configs[1].gpio = 120; /* DATA */ } msm_gpiomux_install(msm_hsic_configs, ARRAY_SIZE(msm_hsic_configs)); #endif #if defined(CONFIG_LEDS_AN30259A) msm_gpiomux_install(an30259a_led_config, ARRAY_SIZE(an30259a_led_config)); #endif #if defined(CONFIG_MACH_MS01_CHN_CTC) || defined(CONFIG_MACH_CRATERVE_CHN_CTC)||defined(CONFIG_MACH_MS01_EUR_3G) || defined(CONFIG_MACH_CRATERQ) msm_gpiomux_install(msm8226_nc_gpio_cfgs, ARRAY_SIZE(msm8226_nc_gpio_cfgs)); #endif #if defined(CONFIG_SAMSUNG_JACK) msm_gpiomux_install(msm_earjack_gpio_configs, ARRAY_SIZE(msm_earjack_gpio_configs)); #endif #if defined(CONFIG_MACH_MS01_EUR_3G) msm_gpiomux_install(ms01_nc_gpio_cfgs, ARRAY_SIZE(ms01_nc_gpio_cfgs)); #endif #if defined(CONFIG_MACH_MS01_CHN_CTC) || defined(CONFIG_MACH_CRATERVE_CHN_CTC) if ( system_rev >= 4 ) { msm_gpiomux_install(ms01_ctc_nc_gpio_cfgs, ARRAY_SIZE(ms01_ctc_nc_gpio_cfgs)); } #elif defined(CONFIG_MACH_CRATERQ) msm_gpiomux_install(craterq_gpio_configs, ARRAY_SIZE(craterq_gpio_configs)); #endif }
void __init msm_8974_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } pr_err("%s:%d socinfo_get_version %x\n", __func__, __LINE__, socinfo_get_version()); if (socinfo_get_version() >= 0x20000) msm_tlmm_misc_reg_write(TLMM_SPARE_REG, 0xf); #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm_eth_configs, \ ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); #ifdef CONFIG_MFD_MAX77888 #if 0 // MCU Pin msm_gpiomux_install(msm8974_muic_configs, ARRAY_SIZE(msm8974_muic_configs)); #endif #endif #ifdef CONFIG_W1_SLAVE_DS28EL15 msm_gpiomux_install(msm8974_cover_id_config, ARRAY_SIZE(msm8974_cover_id_config)); #endif #if !defined(CONFIG_BT_BCM4335) && !defined(CONFIG_BT_BCM4339) msm_gpiomux_install(msm_blsp2_uart7_configs, ARRAY_SIZE(msm_blsp2_uart7_configs)); #endif #if 0//defined(CONFIG_BT_BCM4335) || defined(CONFIG_BT_BCM4339) msm_gpiomux_btuart_install(); #endif if (of_board_is_liquid()) msm_gpiomux_install_nowrite(ath_gpio_configs, ARRAY_SIZE(ath_gpio_configs)); msm_gpiomux_install(msm8974_slimbus_config, ARRAY_SIZE(msm8974_slimbus_config)); msm_gpiomux_install(hw_rev_configs, ARRAY_SIZE(hw_rev_configs)); msm_gpiomux_install(gpio_nc_configs, ARRAY_SIZE(gpio_nc_configs)); #if 0//!defined(CONFIG_SENSORS_SSP) msm_gpiomux_install(hap_lvl_shft_config, ARRAY_SIZE(hap_lvl_shft_config)); #endif if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(msm_sensor_configs_dragonboard, \ ARRAY_SIZE(msm_sensor_configs_dragonboard)); else msm_gpiomux_install(msm_sensor_configs, \ ARRAY_SIZE(msm_sensor_configs)); msm_gpiomux_install(&sd_card_det, 1); msm_gpiomux_sdc3_install(); if (!(of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_sdc4_install(); msm_gpiomux_install(msm_taiko_config, ARRAY_SIZE(msm_taiko_config)); msm_gpiomux_install(es325_config, ARRAY_SIZE(es325_config)); msm_gpiomux_install(msm8974_audio_configs, ARRAY_SIZE(msm8974_audio_configs)); msm_gpiomux_install(msm8974_pri_pri_auxpcm_configs, ARRAY_SIZE(msm8974_pri_pri_auxpcm_configs)); #if 0 // MCU pin msm_gpiomux_install(msm_hsic_hub_configs, ARRAY_SIZE(msm_hsic_hub_configs)); #endif #if defined(CONFIG_SENSORS_SSP) msm_gpiomux_install(ssp_configs, ARRAY_SIZE(ssp_configs)); #endif #if defined(CONFIG_SENSORS) msm_gpiomux_install(msm_sensors_configs, ARRAY_SIZE(msm_sensors_configs)); #endif msm_gpiomux_install(msm_hdmi_configs, ARRAY_SIZE(msm_hdmi_configs)); if (system_rev > 5) msm_gpiomux_install(msm_hdmi_ddc_configs, ARRAY_SIZE(msm_hdmi_ddc_configs)); #ifdef CONFIG_VIDEO_MHL_V2 if(system_rev > 1) msm_gpiomux_install(mhl_configs, ARRAY_SIZE(mhl_configs)); #endif #if 0 msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); #endif #if defined(CONFIG_SEC_NFC_I2C) || defined(CONFIG_NFC_PN547) msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif if (of_board_is_liquid() || (of_board_is_dragonboard() && machine_is_apq8074())) msm_gpiomux_install(msm8974_pri_ter_auxpcm_configs, ARRAY_SIZE(msm8974_pri_ter_auxpcm_configs)); else msm_gpiomux_install(msm8974_pri_pri_auxpcm_configs, ARRAY_SIZE(msm8974_pri_pri_auxpcm_configs)); #if defined(CONFIG_BCM4335) || defined(CONFIG_BCM4335_MODULE) || defined(CONFIG_BCM4339) || defined(CONFIG_BCM4339_MODULE) msm_gpiomux_wlan_host_wakeup_install(); #endif /* defined(CONFIG_BCM4335) || defined(CONFIG_BCM4335_MODULE) || defined(CONFIG_BCM4339) || defined(CONFIG_BCM4339_MODULE) */ #ifdef CONFIG_USB_SWITCH_FSA9485 if (system_rev >= 10) msm_gpiomux_install(vienna_r10_muic_configs, ARRAY_SIZE(vienna_r10_muic_configs)); else msm_gpiomux_install(vienna_muic_configs, ARRAY_SIZE(vienna_muic_configs)); #endif if (of_board_is_cdp()) { #if 0 /* Not used at Mondrian */ msm_gpiomux_install(msm8974_sec_auxpcm_configs, ARRAY_SIZE(msm8974_sec_auxpcm_configs)); #endif } else if (of_board_is_liquid() || of_board_is_fluid() || of_board_is_mtp()) msm_gpiomux_install(msm_epm_configs, ARRAY_SIZE(msm_epm_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); #if !defined(CONFIG_BT_BCM4335) && !defined(CONFIG_BT_BCM4339) if (of_board_is_rumi()) msm_gpiomux_install(msm_rumi_blsp_configs, ARRAY_SIZE(msm_rumi_blsp_configs)); #endif #if defined(CONFIG_LEDS_AN30259A) msm_gpiomux_install(an30259a_led_config, ARRAY_SIZE(an30259a_led_config)); #endif #ifdef CONFIG_INPUT_WACOM_HL msm_gpiomux_install(msm8974_wacom_configs, ARRAY_SIZE(msm8974_wacom_configs)); #endif if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_MDM) msm_gpiomux_install(mdm_configs, ARRAY_SIZE(mdm_configs)); if (of_board_is_dragonboard() && machine_is_apq8074()) msm_gpiomux_install(apq8074_dragonboard_ts_config, ARRAY_SIZE(apq8074_dragonboard_ts_config)); }
void __init msm8226_htc_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_slimbus_config, ARRAY_SIZE(msm_slimbus_config)); msm_gpiomux_install(msm_aud_configs, ARRAY_SIZE(msm_aud_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); #if 0 if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif msm_gpiomux_sdc3_install(); msm_gpiomux_install(debug_uart_configs, ARRAY_SIZE(debug_uart_configs)); msm_gpiomux_install(ncgpio_configs, ARRAY_SIZE(ncgpio_configs)); #ifdef CONFIG_USB_EHCI_MSM_HSIC if (machine_is_msm8926()) { msm_hsic_configs[0].gpio = 119; msm_hsic_configs[1].gpio = 120; } msm_gpiomux_install(msm_hsic_configs, ARRAY_SIZE(msm_hsic_configs)); #endif }
void __init msm8226_init_gpiomux(void) { int rc; #ifdef CONFIG_MACH_LGE int gpio_index = 0; hw_rev_type hw_rev; hw_rev = lge_get_board_revno(); #endif rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #ifdef CONFIG_MACH_LGE //-------------------------------------------- // MSM8X26 GPIO Confiuration via G2M //-------------------------------------------- // GPIO related function <<0.Resreved Pin>> // GPIO related function <<1.SENSOR>> // GPIO related function <<2.I2C>> // GPIO related function <<3.UART>> // GPIO related function <<4.TOUCH>> // GPIO related function <<5.NFC>> // GPIO related function <<6.LCD>> // GPIO related function <<7.CAMERA>> // GPIO related function <<8.FLASH LED>> // GPIO related function <<9.IRRC>> // GPIO related function <<10.AUDIO>> // GPIO related function <<11.SD CARD>> // GPIO related function <<12.BATTERY>> // GPIO related function <<13.BT>> // GPIO related function <<14.WIFI>> // GPIO related function <<15.FM>> // GPIO related function <<16.SIM>> // GPIO related function <<17.SLIMBUS>> // GPIO related function <<18.RF>> // GPIO related function <<19.KEY PAD>> // GPIO related function <<20.LOGIC>> // GPIO related function <<0.Resreved Pin>> switch ( hw_rev ){ case HW_REV_0 : for ( gpio_index = 0 ; gpio_reserved_pin_rev_0[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_0[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; case HW_REV_A : case HW_REV_B : case HW_REV_C : case HW_REV_D : case HW_REV_E : case HW_REV_1_0 : case HW_REV_1_1 : default : for ( gpio_index = 0 ; gpio_reserved_pin_rev_0[gpio_index] < MSM8x26_GPIO_END ; gpio_index++ ){ gpio_func_reserved_pin_config.gpio = gpio_reserved_pin_rev_0[gpio_index]; msm_gpiomux_install(&gpio_func_reserved_pin_config, 1); } break; } #endif #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif msm_gpiomux_install(msm_keypad_configs, ARRAY_SIZE(msm_keypad_configs)); msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); // GPIO related function <<7.CAMERA>> /* */ msm_gpiomux_install(msm_sensor_configs_rev_b, ARRAY_SIZE(msm_sensor_configs_rev_b)); printk(KERN_ERR " [Camera] In greater than HW_REV_B, MAIN_CAM0_RESET_N has been changed from GPIO_98 to GPIO_114\n"); /* */ // GPIO related function <<8.FLASH LED>> msm_gpiomux_install(gpio_func_flash_led_configs, ARRAY_SIZE(gpio_func_flash_led_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if(hw_rev < HW_REV_A) { msm_gpiomux_install(msm_melfas_configs, ARRAY_SIZE(msm_melfas_configs)); printk(KERN_ERR "[Touch] HW_REV_0 configs .\n"); } else{ msm_gpiomux_install(msm_melfas_configs_rev_a, ARRAY_SIZE(msm_melfas_configs_rev_a)); printk(KERN_ERR "[Touch] Greater than HW_REV_0 .\n"); } msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_hall_ic_configs, ARRAY_SIZE(msm_hall_ic_configs)); #ifndef CONFIG_MACH_LGE msm_gpiomux_install(msm_auxpcm_configs, ARRAY_SIZE(msm_auxpcm_configs)); if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif /* */ #ifdef CONFIG_LGE_NFC_PN547_C2 msm_gpiomux_install(msm_nfc_configs, ARRAY_SIZE(msm_nfc_configs)); #endif /* */ }
void __init msm8226_htc_init_gpiomux(void) { int rc; rc = msm_gpiomux_init_dt(); if (rc) { pr_err("%s failed %d\n", __func__, rc); return; } #if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) msm_gpiomux_install(msm_eth_configs, ARRAY_SIZE(msm_eth_configs)); #endif //htc audio ++ msm_gpiomux_install(msm_slimbus_config, ARRAY_SIZE(msm_slimbus_config)); msm_gpiomux_install(msm_aud_configs, ARRAY_SIZE(msm_aud_configs)); //htc audio -- if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_blsp_configs, ARRAY_SIZE(msm_skuf_blsp_configs)); else msm_gpiomux_install(msm_blsp_configs, ARRAY_SIZE(msm_blsp_configs)); msm_gpiomux_install(wcnss_5wire_interface, ARRAY_SIZE(wcnss_5wire_interface)); msm_gpiomux_install(&sd_card_det, 1); if (of_board_is_skuf()) msm_gpiomux_install(msm_skuf_nfc_configs, ARRAY_SIZE(msm_skuf_nfc_configs)); msm_gpiomux_install_nowrite(msm_lcd_configs, ARRAY_SIZE(msm_lcd_configs)); msm_gpiomux_install(msm_sensor_configs, ARRAY_SIZE(msm_sensor_configs)); if (of_board_is_skuf()) msm_gpiomux_install(msm_sensor_configs_skuf_plus, ARRAY_SIZE(msm_sensor_configs_skuf_plus)); #if 0 /* it will make gpio low and fail to get batt_id */ if (of_board_is_cdp() || of_board_is_mtp() || of_board_is_xpm()) msm_gpiomux_install(usb_otg_sw_configs, ARRAY_SIZE(usb_otg_sw_configs)); #endif msm_gpiomux_sdc3_install(); msm_gpiomux_install(debug_uart_configs, ARRAY_SIZE(debug_uart_configs)); msm_gpiomux_install(ncgpio_configs, ARRAY_SIZE(ncgpio_configs)); /* * HSIC STROBE gpio is also used by the ethernet. Install HSIC * gpio mux config only when HSIC is enabled. HSIC config will * be disabled when ethernet config is enabled. */ #ifdef CONFIG_USB_EHCI_MSM_HSIC if (machine_is_msm8926()) { msm_hsic_configs[0].gpio = 119; /* STROBE */ msm_hsic_configs[1].gpio = 120; /* DATA */ } msm_gpiomux_install(msm_hsic_configs, ARRAY_SIZE(msm_hsic_configs)); #endif }