- -35,27 +35,33 @@ void htc_bt_init_gpios()
- /* configure UART PIN MUX */
- /* Note: UART / serial pins are shared with GPIO 40,41,42,43
- * That means doing anything with those GPIOs will do nothing
- */
- - omap_writel((omap_readl(OMAP850_IO_CONF_3) & 0xf11fffff), OMAP850_IO_CONF_3);
- + omap_writel((omap_readl(OMAP850_IO_CONF_3) & 0xf11fffff) | 0x01100000, OMAP850_IO_CONF_3);
- - /* configure GPIO 125 (BT power) MUX */
- - omap_writel((omap_readl(OMAP850_IO_CONF_8) & 0xfffffff1) | 0x0000000c, OMAP850_IO_CONF_8);
- + /* configure GPIO 81 MUX */
- + omap_writel((omap_readl(OMAP850_IO_CONF_6) & 0xfffffcff) | 0x00000c00, OMAP850_IO_CONF_6);
- + /* configure GPIO 168 MUX */
- + omap_writel((omap_readl(OMAP850_IO_CONF_13) & 0xfcffffff) | 0x0c000000, OMAP850_IO_CONF_13);
- - /* GPIO 125 to output */
- - omap_set_gpio_direction(125, 0);
- + /* GPIO 81 to output */
- + omap_set_gpio_direction(81, 0);
- + /* GPIO 168 to output */
- + omap_set_gpio_direction(168, 0);
- - /* turn it off - functions as a reset too! */
- - gpio_set_value(125, 0);
- + /* turn it off - functions as a reset too! */
- + gpio_set_value(81, 0);
- + gpio_set_value(168, 0);
- /* Disable the I2C bit to toggle bluetooth on -- HTC Herald, HTC Elf, and others needs this */
- if (machine_is_herald() ||
- machine_is_htcelf() ||
- machine_is_htcstartrek() || // Not sure about this yet, just copying off of Elf
- machine_is_htcpharos() ||
- - machine_is_artemis())
- + machine_is_artemis() ||
- + machine_is_htc_opal())
- {
- #ifdef CONFIG_I2C_HTCPLD
- htcpld_chip_set(0x04, htcpld_chip_get(0x04) & 0xef);
- #endif
- }
- -67,24 +73,26 @@ void htc_bt_init_gpios()
- #define EGPIO_5_0_BT 22
- void htc_bt_on()
- {
- /* configure SIRF.III GPIOS */
- - gpio_set_value(125, 1);
- + gpio_set_value(81, 1);
- + gpio_set_value(168, 1);
- - /* Is this really necessary? */
- + /* Is this really necessary? */
- mdelay(1000);
- /* configure bt UART clock*/
- omap_writel(omap_readl(0xfffe0834) | 0x200, 0xfffe0834);
- /* Enable the I2C bit to toggle bluetooth on */
- if (machine_is_herald() ||
- machine_is_htcelf() ||
- - machine_is_htcstartrek() || // Not sure about this yet, just copying off of Elf
- machine_is_htcpharos() ||
- - machine_is_artemis())
- + machine_is_htcstartrek() || // Not sure about this yet, just copying off of Elf
- + machine_is_artemis() ||
- + machine_is_htc_opal())
- {
- #ifdef CONFIG_I2C_HTCPLD
- htcpld_chip_set(0x04, htcpld_chip_get(0x04) | 0x10);
- #endif
- }
- -98,18 +106,20 @@ void htc_bt_off()
- {
- /* configure bt UART clock*/
- omap_writel(omap_readl(0xfffe0834) & 0xfffffdff, 0xfffe0834);
- /* configure SIRF.III GPIOS */
- - gpio_set_value(125, 0);
- + gpio_set_value(81, 0);
- + gpio_set_value(168, 0);
- /* Disable the I2C bit to toggle bluetooth on */
- if (machine_is_herald() ||
- machine_is_htcelf() ||
- machine_is_htcstartrek() || // Not sure about this yet, just copying off of Elf
- machine_is_htcpharos() ||
- - machine_is_artemis())
- + machine_is_artemis() ||
- + machine_is_htc_opal())
- {
- #ifdef CONFIG_I2C_HTCPLD
- htcpld_chip_set(0x04, htcpld_chip_get(0x04) & 0xef);
- #endif
- }
