X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/ms2-kexec/blobdiff_plain/8eb83dc7c5741ddd510fa6bf4c6abde7ac8dc109..a18588b161b4489cffb0fad8f06e31c3fb02e75b:/omap2_serial.c diff --git a/omap2_serial.c b/omap2_serial.c index 71577bf..1e0e256 100644 --- a/omap2_serial.c +++ b/omap2_serial.c @@ -40,6 +40,10 @@ #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 *))0xc0041370; +static int (*add_preferred_console)(char *, int, char*) = (int (*)(char*, int, char*))0xc0069208; + + void omap_ctrl_writew(u16 val, u16 offset) { __raw_writew(val, OMAP_CTRL_REGADDR(offset)); @@ -188,8 +192,8 @@ static struct platform_device uart2_device = { }; #endif static struct platform_device uart3_device = { - .name = "omap-uart", - .id = 4, + .name = "omap-hs-uart", + .id = 3, .num_resources = ARRAY_SIZE(omap2_uart3_resources), .resource = omap2_uart3_resources, .dev.platform_data = &serial_platform_data[2], @@ -235,6 +239,13 @@ static inline void omap_uart_enable_clocks(struct omap_uart_state *uart) 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; }