#define OMAP_CTRL_REGADDR(reg) (OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE) + (reg))
+static int (*my_pwrdm_clkdm_state_switch)(struct clockdomain *) = (int (*)(struct clockdomain *))0xc0042458;
+
+
void omap_ctrl_writew(u16 val, u16 offset)
{
__raw_writew(val, OMAP_CTRL_REGADDR(offset));
};
#endif
static struct platform_device uart3_device = {
- .name = "omap-hs-uart",
+ .name = "omap-uart",
.id = 3,
.num_resources = ARRAY_SIZE(omap2_uart3_resources),
.resource = omap2_uart3_resources,
static inline void omap_uart_enable_clocks(struct omap_uart_state *uart)
{
+ printk(KERN_INFO "UART clocked?\n");
if (uart->clocked)
return;
+ printk(KERN_INFO "enabling clocks\n");
clk_enable(uart->ick);
clk_enable(uart->fck);
+
+ if (uart->ick->clkdm != NULL)
+ my_pwrdm_clkdm_state_switch(uart->ick->clkdm);
+
+ if (uart->fck->clkdm != NULL)
+ my_pwrdm_clkdm_state_switch(uart->fck->clkdm);
+
uart->clocked = 1;
}