fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-arm / arch-omap / uncompress.h
index 9b28736..aca0adf 100644 (file)
  * kind, whether express or implied.
  */
 
-#include <linux/config.h>
 #include <linux/types.h>
 #include <linux/serial_reg.h>
-#include <asm/hardware.h>
 #include <asm/arch/serial.h>
 
+unsigned int system_rev;
+
 #define UART_OMAP_MDR1         0x08    /* mode definition register */
+#define OMAP_ID_730            0x355F
+#define ID_MASK                        0x7fff
 #define check_port(base, shift) ((base[UART_OMAP_MDR1 << shift] & 7) == 0)
 #define omap_get_id() ((*(volatile unsigned int *)(0xfffed404)) >> 12) & ID_MASK
 
-static void
-puts(const char *s)
+static void putc(int c)
 {
        volatile u8 * uart = 0;
-       int shift = 0;
+       int shift = 2;
+
+#ifdef CONFIG_MACH_OMAP_PALMTE
+       return;
+#endif
 
+#ifdef CONFIG_ARCH_OMAP
 #ifdef CONFIG_OMAP_LL_DEBUG_UART3
        uart = (volatile u8 *)(OMAP_UART3_BASE);
-#elif  CONFIG_OMAP_LL_DEBUG_UART2
+#elif defined(CONFIG_OMAP_LL_DEBUG_UART2)
        uart = (volatile u8 *)(OMAP_UART2_BASE);
 #else
        uart = (volatile u8 *)(OMAP_UART1_BASE);
 #endif
 
+#ifdef CONFIG_ARCH_OMAP1
        /* Determine which serial port to use */
        do {
                /* MMU is not on, so cpu_is_omapXXXX() won't work here */
                unsigned int omap_id = omap_get_id();
 
-               if (omap_id == OMAP_ID_1510 || omap_id == OMAP_ID_1610 ||
-                   omap_id == OMAP_ID_1710 || omap_id == OMAP_ID_5912) {
-                       shift = 2;
-               } else if (omap_id == OMAP_ID_730) {
+               if (omap_id == OMAP_ID_730)
                        shift = 0;
-               } else {
-                       /* Assume nothing for unknown OMAP processors.
-                        * Add an entry for your OMAP type to select
-                        * the default serial console here. If the
-                        * serial port is enabled, we'll use it to
-                        * display status messages. Else we'll be
-                        * quiet.
-                        */
-                       return;
-               }
+
                if (check_port(uart, shift))
                        break;
                /* Silent boot if no serial ports are enabled. */
                return;
        } while (0);
+#endif /* CONFIG_ARCH_OMAP1 */
+#endif
 
        /*
         * Now, xmit each character
         */
-       while (*s) {
-               while (!(uart[UART_LSR << shift] & UART_LSR_THRE))
-                       barrier();
-               uart[UART_TX << shift] = *s;
-               if (*s++ == '\n') {
-                       while (!(uart[UART_LSR << shift] & UART_LSR_THRE))
-                               barrier();
-                       uart[UART_TX << shift] = '\r';
-               }
-       }
+       while (!(uart[UART_LSR << shift] & UART_LSR_THRE))
+               barrier();
+       uart[UART_TX << shift] = c;
+}
+
+static inline void flush(void)
+{
 }
 
 /*