diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-omap4panda.c')
-rw-r--r-- | arch/arm/mach-omap2/board-omap4panda.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index 0deb0dfe879..44ebc16afed 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c @@ -592,11 +592,24 @@ static struct omap_board_mux board_mux[] __initdata = { extern void __init omap4_panda_android_init(void); +void sr32(u32 addr, u32 start_bit, u32 num_bits, u32 value) +{ + u32 tmp, msk = 0; + msk = 1 << num_bits; + --msk; + tmp = omap_readl(addr) & ~(msk << start_bit); + tmp |= value << start_bit; + omap_writel(tmp, addr); +} + static void __init omap4_panda_init(void) { int package = OMAP_PACKAGE_CBS; int err; + sr32(0x4a009100, 0, 2, 0x2); + sr32(0x4a009120, 0, 12, 0x702); + if (omap_rev() == OMAP4430_REV_ES1_0) package = OMAP_PACKAGE_CBL; omap4_mux_init(board_mux, package); |