/*
- * ADM5120 specific board support for LZMA decompressor
+ * ADM5120 specific board support for LZMA decompressor
*
* Copyright (C) 2007 OpenWrt.org
- * Copyright (C) 2007 Gabor Juhos <juhosg@freemail.hu>
+ * Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#define READREG(r) *(volatile unsigned int *)(r)
#define WRITEREG(r,v) *(volatile unsigned int *)(r) = v
-/*
+/*
* INTC definitions
*/
#define INTC_BASE 0xB2200000
/* INTC registers */
#define INTC_REG_IRQ_DISABLE 0x0C
-/*
+/*
* UART definitions
*/
#define UART_BASE 0xB2600000
#define UART_FLAG_RXFF ( 1 << 6 ) /* RX FIFO full */
#define UART_FLAG_TXFE ( 1 << 7 ) /* TX FIFO empty */
-/*
+/*
* SWITCH definitions
*/
#define SWITCH_BASE 0xB2000000
static void uart_init(void)
{
+#if 0
unsigned int t;
-
+
/* disable uart */
UART_WRITE(UART_REG_CTRL, 0);
UART_WRITE(UART_REG_LCRM, t);
t = UART_READ(UART_REG_LCRL);
UART_WRITE(UART_REG_LCRL, t);
-
+
/* keep data, stop, and parity bits, but disable FIFO */
t = UART_READ(UART_REG_LCRH);
t &= ~(UART_LCRH_FEN);
/* enable uart, and disable interrupts */
UART_WRITE(UART_REG_CTRL, UART_CTRL_EN);
-}
-
-static void uart_putc(int ch)
-{
- while ((UART_READ(UART_REG_FLAG) & UART_FLAG_TXFE) == 0);
-
- UART_WRITE(UART_REG_DATA, ch);
-
- while ((UART_READ(UART_REG_FLAG) & UART_FLAG_TXFF) != 0);
+#endif
}
/*
static void switch_init(void)
{
/* disable PHYS ports */
- SWITCH_WRITE(SWITCH_REG_PORT_CONF0,
+ SWITCH_WRITE(SWITCH_REG_PORT_CONF0,
(SWITCH_PORTS_HW << PORT_CONF0_DP_SHIFT));
/* disable CPU port */
/* disable GPIO lines */
SWITCH_WRITE(SWITCH_REG_GPIO_CONF0, 0);
SWITCH_WRITE(SWITCH_REG_GPIO_CONF2, 0);
-
+
/* disable LED lines */
SWITCH_WRITE(SWITCH_REG_PORT0_LED, 0);
SWITCH_WRITE(SWITCH_REG_PORT1_LED, 0);
SWITCH_WRITE(SWITCH_REG_PORT4_LED, 0);
}
-/*
- * routines needed by decompress.c
- */
void board_putc(int ch)
{
- uart_putc(ch);
+ while ((UART_READ(UART_REG_FLAG) & UART_FLAG_TXFE) == 0);
+
+ UART_WRITE(UART_REG_DATA, ch);
+
+ while ((UART_READ(UART_REG_FLAG) & UART_FLAG_TXFE) == 0);
}
void board_init(void)