diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-44xx-tablet.c | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 5cf7600..7ab80cc 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig @@ -356,6 +356,7 @@ config MACH_OMAP_BLAZE select TWL6040_VIB select OMAP_REBOOT_REASON select OMAP_RAM_CONSOLE + select CDC_TCXO config MACH_OMAP4_PANDA bool "OMAP4 Panda Board" diff --git a/arch/arm/mach-omap2/board-44xx-tablet.c b/arch/arm/mach-omap2/board-44xx-tablet.c index 8a60cdc..2b05bbd 100644 --- a/arch/arm/mach-omap2/board-44xx-tablet.c +++ b/arch/arm/mach-omap2/board-44xx-tablet.c @@ -23,6 +23,7 @@ #include <linux/wl12xx.h> #include <linux/skbuff.h> #include <linux/ti_wilink_st.h> +#include <linux/cdc_tcxo.h> #include <plat/omap-serial.h> #include <linux/mfd/twl6040-codec.h> @@ -357,6 +358,26 @@ static struct bq2415x_platform_data sdp4430_bqdata = { .max_charger_currentmA = 1550, }; +/* + * The Clock Driver Chip (TCXO) on OMAP4 based SDP needs to + * be programmed to output CLK1 based on REQ1 from OMAP. + * By default CLK1 is driven based on an internal REQ1INT signal + * which is always set to 1. + * Doing this helps gate sysclk (from CLK1) to OMAP while OMAP + * is in sleep states. + */ +static struct cdc_tcxo_platform_data sdp4430_cdc_data = { + .buf = { + CDC_TCXO_REQ4INT | CDC_TCXO_REQ1INT | + CDC_TCXO_REQ4POL | CDC_TCXO_REQ3POL | + CDC_TCXO_REQ2POL | CDC_TCXO_REQ1POL, + CDC_TCXO_MREQ4 | CDC_TCXO_MREQ3 | + CDC_TCXO_MREQ2 | CDC_TCXO_MREQ1, + CDC_TCXO_LDOEN1, + 0, + }, +}; + static struct i2c_board_info __initdata sdp4430_i2c_boardinfo[] = { { I2C_BOARD_INFO("bq24156", 0x6a), @@ -366,6 +387,10 @@ static struct i2c_board_info __initdata sdp4430_i2c_boardinfo[] = { I2C_BOARD_INFO("tps6130x", 0x33), .platform_data = &twl6040_vddhf, }, + { + I2C_BOARD_INFO("cdc_tcxo_driver", 0x6c), + .platform_data = &sdp4430_cdc_data, + }, }; static void __init tablet_pmic_mux_init(void) |