]> git.zerfleddert.de Git - ms2-kexec/blobdiff - omap2_serial.c
more non-working serial stuff
[ms2-kexec] / omap2_serial.c
index 71577bf6381771ffe2708ca0767101a5a1f24c6c..1e0e256ae16a07c45d6c2550111d2bde53b614cc 100644 (file)
 
 #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;
 }
 
Impressum, Datenschutz