Index: README =================================================================== retrieving revision 1.1.1.1 diff -u -b -B -p -u -r1.1.1.1 README --- README 30 Jun 2004 08:17:37 -0000 1.1.1.1 +++ README 12 Jul 2004 08:27:26 -0000 @@ -377,6 +377,27 @@ The following options need to be configu expect it to be in bytes, others in MB. Define CONFIG_MEMSIZE_IN_BYTES to make it in bytes. +- Serial Ports: + CFG_PL010_SERIAL + + Define this if you want support for Amba PrimeCell PL010 UARTs. + + CFG_PL011_SERIAL + + Define this if you want support for Amba PrimeCell PL011 UARTs. + + CONFIG_PL011_CLOCK + + If you have Amba PrimeCell PL011 UARTs, set this variable to + the clock speed of the UARTs. + + CONFIG_PL01x_PORTS + + If you have Amba PrimeCell PL010 or PL011 UARTs on your board, + define this to a list of base addresses for each (supported) + port. See e.g. include/configs/versatile.h + + - Console Interface: Depending on board, define exactly one serial port (like CONFIG_8xx_CONS_SMC1, CONFIG_8xx_CONS_SMC2, @@ -538,22 +559,23 @@ The following options need to be configu CFG_CMD_ASKENV * ask for env variable CFG_CMD_AUTOSCRIPT Autoscript Support CFG_CMD_BDI bdinfo - CFG_CMD_BEDBUG Include BedBug Debugger + CFG_CMD_BEDBUG * Include BedBug Debugger CFG_CMD_BMP * BMP support + CFG_CMD_BSP * Board specific commands CFG_CMD_BOOTD bootd - CFG_CMD_CACHE icache, dcache + CFG_CMD_CACHE * icache, dcache CFG_CMD_CONSOLE coninfo CFG_CMD_DATE * support for RTC, date/time... - CFG_CMD_DHCP DHCP support + CFG_CMD_DHCP * DHCP support CFG_CMD_DIAG * Diagnostics CFG_CMD_DOC * Disk-On-Chip Support - CFG_CMD_DTT Digital Therm and Thermostat + CFG_CMD_DTT * Digital Therm and Thermostat CFG_CMD_ECHO * echo arguments CFG_CMD_EEPROM * EEPROM read/write support - CFG_CMD_ELF bootelf, bootvx + CFG_CMD_ELF * bootelf, bootvx CFG_CMD_ENV saveenv CFG_CMD_FDC * Floppy Disk Support - CFG_CMD_FAT FAT partition support + CFG_CMD_FAT * FAT partition support CFG_CMD_FDOS * Dos diskette Support CFG_CMD_FLASH flinfo, erase, protect CFG_CMD_FPGA FPGA device initialization support @@ -564,7 +586,7 @@ The following options need to be configu CFG_CMD_IMLS List all found images CFG_CMD_IMMAP * IMMR dump support CFG_CMD_IRQ * irqinfo - CFG_CMD_ITEST * Integer/string test of 2 values + CFG_CMD_ITEST Integer/string test of 2 values CFG_CMD_JFFS2 * JFFS2 Support CFG_CMD_KGDB * kgdb CFG_CMD_LOADB loadb @@ -572,8 +594,8 @@ The following options need to be configu CFG_CMD_MEMORY md, mm, nm, mw, cp, cmp, crc, base, loop, mtest CFG_CMD_MISC Misc functions like sleep etc - CFG_CMD_MMC MMC memory mapped support - CFG_CMD_MII MII utility commands + CFG_CMD_MMC * MMC memory mapped support + CFG_CMD_MII * MII utility commands CFG_CMD_NAND * NAND support CFG_CMD_NET bootp, tftpboot, rarpboot CFG_CMD_PCI * pciinfo @@ -582,7 +604,7 @@ The following options need to be configu CFG_CMD_PORTIO * Port I/O CFG_CMD_REGINFO * Register dump CFG_CMD_RUN run command in env variable - CFG_CMD_SAVES save S record dump + CFG_CMD_SAVES * save S record dump CFG_CMD_SCSI * SCSI Support CFG_CMD_SDRAM * print SDRAM configuration information CFG_CMD_SETGETDCR Support for DCR Register access (4xx only) Index: drivers/serial_pl010.c =================================================================== retrieving revision 1.1.1.1 diff -u -b -B -p -u -r1.1.1.1 serial_pl010.c --- drivers/serial_pl010.c 30 Jun 2004 08:18:12 -0000 1.1.1.1 +++ drivers/serial_pl010.c 29 Jun 2004 09:13:13 -0000 @@ -38,13 +38,10 @@ #define IO_READ(addr) (*(volatile unsigned int *)(addr)) /* Integrator AP has two UARTs, we use the first one, at 38400-8-N-1 */ -#define NUM_PORTS 2 #define CONSOLE_PORT CONFIG_CONS_INDEX #define baudRate CONFIG_BAUDRATE -static volatile unsigned char *const port[NUM_PORTS] = { - (void *) (CFG_SERIAL0), - (void *) (CFG_SERIAL1) -}; +static volatile unsigned char *const port[] = CONFIG_PL01x_PORTS; +#define NUM_PORTS (sizeof(port)/sizeof(port[0])) static void pl010_putc (int portnum, char c); Index: drivers/serial_pl011.c =================================================================== retrieving revision 1.1.1.1 diff -u -b -B -p -u -r1.1.1.1 serial_pl011.c --- drivers/serial_pl011.c 30 Jun 2004 08:18:12 -0000 1.1.1.1 +++ drivers/serial_pl011.c 29 Jun 2004 09:07:32 -0000 @@ -41,14 +41,11 @@ * IntegratorCP has two UARTs, use the first one, at 38400-8-N-1 * Versatile PB has four UARTs. */ -#define NUM_PORTS 2 + #define CONSOLE_PORT CONFIG_CONS_INDEX #define baudRate CONFIG_BAUDRATE -static volatile unsigned char *const port[NUM_PORTS] = { - (void *) (CFG_SERIAL0), - (void *) (CFG_SERIAL1) -}; - +static volatile unsigned char *const port[] = CONFIG_PL01x_PORTS; +#define NUM_PORTS (sizeof(port)/sizeof(port[0])) static void pl011_putc (int portnum, char c); static int pl011_getc (int portnum); @@ -73,20 +70,11 @@ int serial_init (void) ** IBRD = UART_CLK / (16 * BAUD_RATE) ** FBRD = ROUND((64 * MOD(UART_CLK,(16 * BAUD_RATE))) / (16 * BAUD_RATE)) */ -#ifdef CONFIG_VERSATILE - temp = 16 * baudRate; - divider = 24000000 / temp; - remainder = 24000000 % temp; - temp = (8 * remainder) / baudRate; - fraction = (temp >> 1) + (temp & 1); -#endif -#ifdef CONFIG_INTEGRATOR temp = 16 * baudRate; - divider = 14745600 / temp; - remainder = 14745600 % temp; + divider = CONFIG_PL011_CLOCK / temp; + remainder = CONFIG_PL011_CLOCK % temp; temp = (8 * remainder) / baudRate; fraction = (temp >> 1) + (temp & 1); -#endif IO_WRITE (port[CONSOLE_PORT] + UART_PL011_IBRD, divider); IO_WRITE (port[CONSOLE_PORT] + UART_PL011_FBRD, fraction); @@ -104,7 +92,7 @@ int serial_init (void) (UART_PL011_CR_UARTEN | UART_PL011_CR_TXE | UART_PL011_CR_RXE)); - return (0); + return 0; } void serial_putc (const char c) Index: include/configs/integratorap.h =================================================================== retrieving revision 1.1.1.1 diff -u -b -B -p -u -r1.1.1.1 integratorap.h --- include/configs/integratorap.h 30 Jun 2004 08:18:19 -0000 1.1.1.1 +++ include/configs/integratorap.h 29 Jun 2004 09:04:54 -0000 @@ -60,6 +60,7 @@ #define CFG_PL010_SERIAL #define CONFIG_CONS_INDEX 0 #define CONFIG_BAUDRATE 38400 +#define CONFIG_PL01x_PORTS { (void *) (CFG_SERIAL0), (void *) (CFG_SERIAL1) } #define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } #define CFG_SERIAL0 0x16000000 #define CFG_SERIAL1 0x17000000 Index: include/configs/integratorcp.h =================================================================== retrieving revision 1.1.1.1 diff -u -b -B -p -u -r1.1.1.1 integratorcp.h --- include/configs/integratorcp.h 30 Jun 2004 08:18:19 -0000 1.1.1.1 +++ include/configs/integratorcp.h 29 Jun 2004 09:06:14 -0000 @@ -66,6 +66,8 @@ * NS16550 Configuration */ #define CFG_PL011_SERIAL +#define CONFIG_PL011_CLOCK 14745600 +#define CONFIG_PL01x_PORTS { (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 } #define CONFIG_CONS_INDEX 0 #define CONFIG_BAUDRATE 38400 #define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } Index: include/configs/versatile.h =================================================================== retrieving revision 1.1.1.1 diff -u -b -B -p -u -r1.1.1.1 versatile.h --- include/configs/versatile.h 30 Jun 2004 08:18:20 -0000 1.1.1.1 +++ include/configs/versatile.h 29 Jun 2004 09:08:13 -0000 @@ -87,7 +87,10 @@ * NS16550 Configuration */ #define CFG_PL011_SERIAL +#define CONFIG_PL011_CLOCK 24000000 +#define CONFIG_PL01x_PORTS { (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 } #define CONFIG_CONS_INDEX 0 + #define CONFIG_BAUDRATE 38400 #define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } #define CFG_SERIAL0 0x101F1000