[ARM] add Marvell Loki (88RC8480) SoC support
The Marvell Loki (88RC8480) is an ARM SoC based on a Feroceon CPU
core running at between 400 MHz and 1.0 GHz, and features a 64 bit
DDR controller, 512K of internal SRAM, two x4 PCI-Express ports,
two Gigabit Ethernet ports, two 4x SAS/SATA controllers, two UARTs,
two TWSI controllers, and IDMA/XOR engines.
This patch adds support for the Marvell LB88RC8480 Development
Board, enabling the use of the PCIe interfaces, the ethernet
interfaces, the TWSI interfaces and the UARTs.
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-23 04:45:02 +08:00
|
|
|
/*
|
2008-08-05 23:14:15 +08:00
|
|
|
* arch/arm/mach-loki/include/mach/uncompress.h
|
[ARM] add Marvell Loki (88RC8480) SoC support
The Marvell Loki (88RC8480) is an ARM SoC based on a Feroceon CPU
core running at between 400 MHz and 1.0 GHz, and features a 64 bit
DDR controller, 512K of internal SRAM, two x4 PCI-Express ports,
two Gigabit Ethernet ports, two 4x SAS/SATA controllers, two UARTs,
two TWSI controllers, and IDMA/XOR engines.
This patch adds support for the Marvell LB88RC8480 Development
Board, enabling the use of the PCIe interfaces, the ethernet
interfaces, the TWSI interfaces and the UARTs.
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-23 04:45:02 +08:00
|
|
|
*
|
|
|
|
* This file is licensed under the terms of the GNU General Public
|
|
|
|
* License version 2. This program is licensed "as is" without any
|
|
|
|
* warranty of any kind, whether express or implied.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/serial_reg.h>
|
2008-08-05 23:14:15 +08:00
|
|
|
#include <mach/loki.h>
|
[ARM] add Marvell Loki (88RC8480) SoC support
The Marvell Loki (88RC8480) is an ARM SoC based on a Feroceon CPU
core running at between 400 MHz and 1.0 GHz, and features a 64 bit
DDR controller, 512K of internal SRAM, two x4 PCI-Express ports,
two Gigabit Ethernet ports, two 4x SAS/SATA controllers, two UARTs,
two TWSI controllers, and IDMA/XOR engines.
This patch adds support for the Marvell LB88RC8480 Development
Board, enabling the use of the PCIe interfaces, the ethernet
interfaces, the TWSI interfaces and the UARTs.
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-23 04:45:02 +08:00
|
|
|
|
|
|
|
#define SERIAL_BASE ((unsigned char *)UART0_PHYS_BASE)
|
|
|
|
|
|
|
|
static void putc(const char c)
|
|
|
|
{
|
|
|
|
unsigned char *base = SERIAL_BASE;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
for (i = 0; i < 0x1000; i++) {
|
|
|
|
if (base[UART_LSR << 2] & UART_LSR_THRE)
|
|
|
|
break;
|
|
|
|
barrier();
|
|
|
|
}
|
|
|
|
|
|
|
|
base[UART_TX << 2] = c;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void flush(void)
|
|
|
|
{
|
|
|
|
unsigned char *base = SERIAL_BASE;
|
|
|
|
unsigned char mask;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
mask = UART_LSR_TEMT | UART_LSR_THRE;
|
|
|
|
|
|
|
|
for (i = 0; i < 0x1000; i++) {
|
|
|
|
if ((base[UART_LSR << 2] & mask) == mask)
|
|
|
|
break;
|
|
|
|
barrier();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* nothing to do
|
|
|
|
*/
|
|
|
|
#define arch_decomp_setup()
|
|
|
|
#define arch_decomp_wdog()
|