static void htcleo_config_bt_off(void) { #ifdef HTC_RFKILL_DBG printk(KERN_INFO "-- RK OFF --\n"); #endif /* BT_SHUTDOWN_N */ gpio_configure(HTCLEO_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* BT_RESET_N */ gpio_configure(HTCLEO_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* set bt off configuration*/ config_bt_table(htcleo_bt_off_table, ARRAY_SIZE(htcleo_bt_off_table)); mdelay(5); /* BT_RTS */ gpio_configure(HTCLEO_GPIO_BT_UART1_RTS, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* BT_TX */ gpio_configure(HTCLEO_GPIO_BT_UART1_TX, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* BT_CHIP_WAKE */ gpio_configure(HTCLEO_GPIO_BT_CHIP_WAKE, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); }
static void pyramid_config_bt_off(void) { /* BT_RESET_N */ gpio_set_value(PYRAMID_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(PYRAMID_GPIO_BT_SHUTDOWN_N, 0); mdelay(1); /* set bt off configuration*/ config_bt_table(pyramid_bt_off_table, ARRAY_SIZE(pyramid_bt_off_table)); mdelay(2); /* BT_RTS */ gpio_set_value(PYRAMID_GPIO_BT_UART1_RTS, 1); /* BT_CTS */ /* BT_TX */ gpio_set_value(PYRAMID_GPIO_BT_UART1_TX, 0); /* BT_RX */ /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_set_value(PYRAMID_GPIO_BT_CHIP_WAKE, 0); htc_wifi_bt_sleep_clk_ctl(CLK_OFF, ID_BT); mdelay(2); }
static void runnymede_config_bt_on(void) { printk(KERN_INFO "[BT]== R ON ==\n"); /* set bt on configuration*/ config_bt_table(runnymede_bt_on_table, ARRAY_SIZE(runnymede_bt_on_table)); mdelay(2); /* BT_RESET_N */ gpio_set_value(RUNNYMEDE_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(RUNNYMEDE_GPIO_BT_SHUTDOWN_N, 0); mdelay(5); /* BT_SHUTDOWN_N */ gpio_set_value(RUNNYMEDE_GPIO_BT_SHUTDOWN_N, 1); mdelay(1); /* BT_RESET_N */ gpio_set_value(RUNNYMEDE_GPIO_BT_RESET_N, 1); mdelay(2); }
static void pyramid_config_bt_on(void) { printk(KERN_INFO "[BT]-- R ON --\n"); config_bt_table(pyramid_bt_on_table, ARRAY_SIZE(pyramid_bt_on_table)); mdelay(2); gpio_set_value(PYRAMID_GPIO_BT_RESET_N, 0); mdelay(1); gpio_set_value(PYRAMID_GPIO_BT_SHUTDOWN_N, 0); mdelay(5); gpio_set_value(PYRAMID_GPIO_BT_SHUTDOWN_N, 1); mdelay(1); gpio_set_value(PYRAMID_GPIO_BT_RESET_N, 1); mdelay(2); }
static void shooter_config_bt_off(void) { /* BT_RESET_N */ gpio_set_value(SHOOTER_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(SHOOTER_GPIO_BT_SHUTDOWN_N, 0); mdelay(1); /* set bt off configuration*/ config_bt_table(shooter_bt_off_table, ARRAY_SIZE(shooter_bt_off_table)); mdelay(2); /* BT_RTS */ gpio_set_value(SHOOTER_GPIO_BT_UART1_RTS, 0); /* BT_CTS */ /* BT_TX */ gpio_set_value(SHOOTER_GPIO_BT_UART1_TX, 0); /* BT_RX */ /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_set_value(SHOOTER_GPIO_BT_CHIP_WAKE, 0); printk(KERN_INFO "[BT]-- R OFF --\n"); }
static void vivow_config_bt_init(void) { vivow_wifi_bt_sleep_clk_ctl(CLK_ON, ID_BT); mdelay(2); /* set bt initial configuration*/ config_bt_table(vivow_bt_init_table, ARRAY_SIZE(vivow_bt_init_table)); mdelay(2); /* BT_RESET_N */ gpio_configure(VIVOW_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(1); /* BT_SHUTDOWN_N */ gpio_configure(VIVOW_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(1); /* BT_CHIP_WAKE */ gpio_configure(VIVOW_GPIO_BT_CHIP_WAKE, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* BT_RTS */ gpio_configure(VIVOW_GPIO_BT_UART1_RTS, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); /* BT_CTS */ /* BT_RX */ /* BT_TX */ gpio_configure(VIVOW_GPIO_BT_UART1_TX, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); }
static void doubleshot_config_bt_on(void) { printk(KERN_INFO "[BT]-- R ON --\n"); /* set bt on configuration*/ config_bt_table(doubleshot_bt_on_table, ARRAY_SIZE(doubleshot_bt_on_table)); mdelay(2); /* BT_RESET_N */ gpio_set_value(DOUBLESHOT_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(DOUBLESHOT_GPIO_BT_SHUTDOWN_N, 0); mdelay(5); /* BT_SHUTDOWN_N */ gpio_set_value(DOUBLESHOT_GPIO_BT_SHUTDOWN_N, 1); mdelay(1); /* BT_RESET_N */ gpio_set_value(DOUBLESHOT_GPIO_BT_RESET_N, 1); mdelay(2); }
static void holiday_config_bt_on(void) { printk(KERN_INFO "[BT]-- R ON --\n"); /* set bt on configuration*/ config_bt_table(holiday_bt_on_table, ARRAY_SIZE(holiday_bt_on_table)); mdelay(2); /* BT_RESET_N */ gpio_set_value(HOLIDAY_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(HOLIDAY_GPIO_BT_SHUTDOWN_N, 0); mdelay(5); /* BT_SHUTDOWN_N */ gpio_set_value(HOLIDAY_GPIO_BT_SHUTDOWN_N, 1); mdelay(1); /* BT_RESET_N */ gpio_set_value(HOLIDAY_GPIO_BT_RESET_N, 1); mdelay(2); }
static void chacha_config_bt_init(void) { /* set bt initial configuration*/ config_bt_table(chacha_bt_init_table, ARRAY_SIZE(chacha_bt_init_table)); mdelay(5); /* BT_RTS */ gpio_configure(CHACHA_GPIO_BT_UART1_RTS, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); /* BT_CTS */ gpio_configure(CHACHA_GPIO_BT_UART1_CTS, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* BT_RX */ /* BT_TX */ gpio_configure(CHACHA_GPIO_BT_UART1_TX, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); /* BT_RESET_N */ gpio_configure(CHACHA_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* BT_SHUTDOWN_N */ gpio_configure(CHACHA_GPIO_BT_SD_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* BT_CHIP_WAKE */ gpio_configure(CHACHA_GPIO_BT_CHIP_WAKE, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); }
static void pyramid_config_bt_off(void) { printk(KERN_INFO "[BT]-- R OFF --\n"); gpio_set_value(PYRAMID_GPIO_BT_RESET_N, 0); mdelay(1); gpio_set_value(PYRAMID_GPIO_BT_SHUTDOWN_N, 0); mdelay(1); config_bt_table(pyramid_bt_off_table, ARRAY_SIZE(pyramid_bt_off_table)); mdelay(2); gpio_set_value(PYRAMID_GPIO_BT_UART1_RTS, 1); gpio_set_value(PYRAMID_GPIO_BT_UART1_TX, 0); gpio_set_value(PYRAMID_GPIO_BT_CHIP_WAKE, 0); }
static void primou_config_bt_on(void) { printk(KERN_INFO "[BT]== R ON ==\n"); /* set bt on configuration*/ config_bt_table(primou_bt_on_table, ARRAY_SIZE(primou_bt_on_table)); mdelay(2); /* BT_RESET_N */ gpio_set_value(PRIMOU_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(PRIMOU_GPIO_BT_SHUTDOWN_N, 0); mdelay(5); /* BT_SHUTDOWN_N */ gpio_set_value(PRIMOU_GPIO_BT_SHUTDOWN_N, 1); mdelay(1); /* BT_RESET_N */ gpio_set_value(PRIMOU_GPIO_BT_RESET_N, 1); mdelay(2); }
static void primou_config_bt_off(void) { /* BT_RESET_N */ gpio_set_value(PRIMOU_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(PRIMOU_GPIO_BT_SHUTDOWN_N, 0); mdelay(1); /* set bt off configuration*/ config_bt_table(primou_bt_off_table, ARRAY_SIZE(primou_bt_off_table)); mdelay(2); /* BT_RTS */ gpio_set_value(PRIMOU_GPIO_BT_UART1_RTS, 1); /* BT_CTS */ /* BT_TX */ gpio_set_value(PRIMOU_GPIO_BT_UART1_TX, 1); /* BT_RX */ /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_set_value(PRIMOU_GPIO_BT_WAKE, 0); printk(KERN_INFO "[BT]== R OFF ==\n"); }
static void doubleshot_config_bt_off(void) { /* BT_RESET_N */ gpio_set_value(DOUBLESHOT_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(DOUBLESHOT_GPIO_BT_SHUTDOWN_N, 0); mdelay(1); /* set bt off configuration*/ config_bt_table(doubleshot_bt_off_table, ARRAY_SIZE(doubleshot_bt_off_table)); mdelay(2); /* BT_RTS */ /* BT_CTS */ /* BT_TX */ /* BT_RX */ /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_set_value(DOUBLESHOT_GPIO_BT_CHIP_WAKE, 0); printk(KERN_INFO "[BT]-- R OFF --\n"); }
static void incrediblec_config_bt_off(void) { /* BT_SHUTDOWN_N */ gpio_configure(INCREDIBLEC_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* BT_RESET_N */ gpio_configure(INCREDIBLEC_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* set bt off configuration*/ config_bt_table(incrediblec_bt_off_table, ARRAY_SIZE(incrediblec_bt_off_table)); mdelay(5); /* BT_RTS */ gpio_configure(INCREDIBLEC_GPIO_BT_UART1_RTS, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* BT_TX */ gpio_configure(INCREDIBLEC_GPIO_BT_UART1_TX, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* BT_CHIP_WAKE */ gpio_configure(INCREDIBLEC_GPIO_BT_CHIP_WAKE, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); }
static void pyramid_config_bt_off(void) { printk(KERN_INFO "[BT]-- R OFF --\n"); /* BT_RESET_N */ gpio_set_value(PYRAMID_GPIO_BT_RESET_N, 0); /*mdelay(2);*/ /* BT_SHUTDOWN_N */ gpio_set_value(PYRAMID_GPIO_BT_SHUTDOWN_N, 0); mdelay(2); /* set bt off configuration*/ config_bt_table(pyramid_bt_off_table, ARRAY_SIZE(pyramid_bt_off_table)); mdelay(5); /* BT_RTS */ gpio_set_value(PYRAMID_GPIO_BT_UART1_RTS, 1); /* BT_CTS */ /* BT_RX */ /* BT_TX */ gpio_set_value(PYRAMID_GPIO_BT_UART1_TX, 0); /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_set_value(PYRAMID_GPIO_BT_CHIP_WAKE, 0); }
static void spade_config_bt_off(void) { /* BT_RESET_N */ gpio_configure(SPADE_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(1); /* BT_SHUTDOWN_N */ gpio_configure(SPADE_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(1); /* set bt off configuration*/ config_bt_table(spade_bt_off_table, ARRAY_SIZE(spade_bt_off_table)); mdelay(2); /* BT_RTS */ /* BT_CTS */ /* BT_TX */ /* BT_RX */ /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_configure(SPADE_GPIO_BT_CHIP_WAKE, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); }
static void shooter_config_bt_on(void) { printk(KERN_INFO "[BT]-- R ON --\n"); /* set bt on configuration*/ config_bt_table(shooter_bt_on_table, ARRAY_SIZE(shooter_bt_on_table)); mdelay(5); /* BT_RESET_N */ gpio_set_value(SHOOTER_GPIO_BT_RESET_N, 0); mdelay(1); /* BT_SHUTDOWN_N */ gpio_set_value(SHOOTER_GPIO_BT_SHUTDOWN_N, 0); mdelay(5); /* BT_SHUTDOWN_N */ gpio_set_value(SHOOTER_GPIO_BT_SHUTDOWN_N, 1); mdelay(1); /* BT_RESET_N */ gpio_set_value(SHOOTER_GPIO_BT_RESET_N, 1); mdelay(2); }
static void liberty_config_bt_off(void) { /* BT_SHUTDOWN_N */ gpio_configure(LIBERTY_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* BT_RESET_N */ gpio_configure(LIBERTY_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); /* set bt off configuration*/ config_bt_table(liberty_bt_off_table, ARRAY_SIZE(liberty_bt_off_table)); mdelay(5); /* BT_RTS */ /* BT_CTS */ /* BT_TX */ gpio_configure(LIBERTY_GPIO_BT_UART1_TX, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* BT_RX */ /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_configure(LIBERTY_GPIO_BT_CHIP_WAKE, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); }
static void vivow_config_bt_off(void) { /* BT_RESET_N */ gpio_configure(VIVOW_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(1); /* BT_SHUTDOWN_N */ gpio_configure(VIVOW_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(1); /* set bt off configuration*/ config_bt_table(vivow_bt_off_table, ARRAY_SIZE(vivow_bt_off_table)); mdelay(2); /* BT_RTS */ /* BT_CTS */ /* BT_RX */ /* BT_TX */ /* BT_HOST_WAKE */ /* BT_CHIP_WAKE */ gpio_configure(VIVOW_GPIO_BT_CHIP_WAKE, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); vivow_wifi_bt_sleep_clk_ctl(CLK_OFF, ID_BT); mdelay(2); }
static void hero_config_bt_off(void) { gpio_direction_output(HERO_GPIO_WB_SHUT_DOWN_N, 0); hero_bt_fastclock_power(0); config_bt_table(hero_bt_off_table, ARRAY_SIZE(hero_bt_off_table)); mdelay(5); hero_bt_status = 0; }
static void legend_config_bt_init(void) { config_bt_table(legend_bt_init_table, ARRAY_SIZE(legend_bt_init_table)); mdelay(2); gpio_configure(LEGEND_GPIO_BT_EN, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); }
void legend_config_bt_disable_sleep(void) { config_bt_table(legend_bt_disable_sleep_table, ARRAY_SIZE(legend_bt_disable_sleep_table)); mdelay(5); gpio_configure(LEGEND_GPIO_UART1_RTS, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); /* O(L) */ gpio_configure(LEGEND_GPIO_UART1_TX, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); /* O(H) */ }
static void operaul_config_bt_on(void) { printk(KERN_INFO "[BT]== R ON ==\n"); config_bt_table(operaul_bt_on_table, ARRAY_SIZE(operaul_bt_on_table)); mdelay(2); gpio_set_value(MSM_BT_SHUTDOWNz, 0); mdelay(5); gpio_set_value(MSM_BT_SHUTDOWNz, 1); mdelay(50); }
static void legend_config_bt_off(void) { gpio_configure(LEGEND_GPIO_BT_EN, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_LOW); mdelay(2); legend_bt_fastclock_power(0); mdelay(2); /* set bt off configuration*/ config_bt_table(legend_bt_off_table, ARRAY_SIZE(legend_bt_off_table)); mdelay(2); }
static void ruby_config_bt_on(void) { config_bt_table(ruby_bt_on_table, ARRAY_SIZE(ruby_bt_on_table)); mdelay(4); htc_wifi_bt_fast_clk_ctl(CLK_ON, ID_BT); mdelay(4); gpio_set_value(RUBY_GPIO_BT_EN, 0); mdelay(4); gpio_set_value(RUBY_GPIO_BT_EN, 1); }
static void incrediblec_config_bt_on(void) { /* set bt on configuration*/ config_bt_table(incrediblec_bt_on_table, ARRAY_SIZE(incrediblec_bt_on_table)); mdelay(5); /* BT_RESET_N */ gpio_configure(INCREDIBLEC_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); mdelay(2); /* BT_SHUTDOWN_N */ gpio_configure(INCREDIBLEC_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); mdelay(2); }
static void shooter_config_bt_on(void) { /* set bt on configuration*/ config_bt_table(shooter_bt_on_table, ARRAY_SIZE(shooter_bt_on_table)); mdelay(2); /* BT_SHUTDOWN_N */ gpio_set_value(SHOOTER_GPIO_BT_SHUTDOWN_N, 1); mdelay(1); /* BT_RESET_N */ gpio_set_value(SHOOTER_GPIO_BT_RESET_N, 1); mdelay(1); }
static void bliss_config_bt_off(void) { /* BT_EN */ gpio_set_value(BLISS_GPIO_BT_EN, 0); mdelay(4); /* control osc */ htc_wifi_bt_fast_clk_ctl(CLK_OFF, ID_BT); mdelay(4); /* set bt off configuration*/ config_bt_table(bliss_bt_off_table, ARRAY_SIZE(bliss_bt_off_table)); mdelay(4); }
static void chacha_config_bt_on(void) { /* set bt on configuration*/ config_bt_table(chacha_bt_on_table, ARRAY_SIZE(chacha_bt_on_table)); mdelay(5); /* BT_RESET_N */ gpio_configure(CHACHA_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); mdelay(2); /* BT_SHUTDOWN_N */ gpio_configure(CHACHA_GPIO_BT_SD_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); mdelay(2); }
static void liberty_config_bt_on(void) { /* set bt on configuration*/ config_bt_table(liberty_bt_on_table, ARRAY_SIZE(liberty_bt_on_table)); mdelay(5); /* BT_RESET_N */ gpio_configure(LIBERTY_GPIO_BT_RESET_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); mdelay(2); /* BT_SHUTDOWN_N */ gpio_configure(LIBERTY_GPIO_BT_SHUTDOWN_N, GPIOF_DRIVE_OUTPUT | GPIOF_OUTPUT_HIGH); mdelay(2); }