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 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 }