diff options
-rw-r--r-- | arch/arm/mach-omap2/board-tuna.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-tuna.h | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-tuna.c b/arch/arm/mach-omap2/board-tuna.c index 6b07b50..1a4a940 100644 --- a/arch/arm/mach-omap2/board-tuna.c +++ b/arch/arm/mach-omap2/board-tuna.c @@ -63,6 +63,12 @@ static void omap4_tuna_init_hw_rev(void) { int ret; int i; + u32 r; + + /* Disable weak driver pulldown on usbb2_hsic_strobe */ + r = omap4_ctrl_pad_readl(OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_USBB_HSIC); + r &= ~OMAP4_USBB2_HSIC_STROBE_WD_MASK; + omap4_ctrl_pad_writel(r, OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_USBB_HSIC); ret = gpio_request_array(tuna_hw_rev_gpios, ARRAY_SIZE(tuna_hw_rev_gpios)); @@ -85,6 +91,18 @@ int omap4_tuna_get_type(void) return tuna_hw_rev & TUNA_TYPE_MASK; } +bool omap4_tuna_final_gpios(void) +{ + int type = omap4_tuna_get_type(); + int rev = omap4_tuna_get_revision(); + + if (type == TUNA_TYPE_TORO || + (rev != TUNA_REV_PRE_LUNCHBOX && rev != TUNA_REV_LUNCHBOX)) + return true; + + return false; +} + /* wl127x BT, FM, GPS connectivity chip */ static int wl1271_gpios[] = {46, -1, -1}; static struct platform_device wl1271_device = { diff --git a/arch/arm/mach-omap2/board-tuna.h b/arch/arm/mach-omap2/board-tuna.h index 950cd43..b19f9b4 100644 --- a/arch/arm/mach-omap2/board-tuna.h +++ b/arch/arm/mach-omap2/board-tuna.h @@ -17,10 +17,14 @@ #define TUNA_REV_PRE_LUNCHBOX 0x5 #define TUNA_REV_LUNCHBOX 0x0 #define TUNA_REV_MASK 0xf + +#define TUNA_TYPE_TORO 0x10 +#define TUNA_TYPE_MAGURO 0x00 #define TUNA_TYPE_MASK 0x10 int omap4_tuna_get_revision(void); int omap4_tuna_get_type(void); +bool omap4_tuna_final_gpios(void); void omap4_tuna_android_usb_init(void); void omap4_tuna_display_init(void); void omap4_tuna_input_init(void); |