ARMV7: Add support for Versatile Express CortexA9x4
Subsystems (2)
v2 cover ARMV7: Add support for Versatile Express CortexA9x4
From: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and an SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions.
The 2nd patch fixes a bug in the "set baudrate xxx" functionality.
Version 2 - Removed unneeded multi-core low_level setup code.
Matt Waddel (2):
ARMV7: Versatile Express Coretile CortexA9x4 support
ARMV7: Fixed baudrate setting in pl01x driver
MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 68 ++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 ++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 50 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 231 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 26 +++ board/armltd/vexpress/u-boot.lds | 50 ++++++ boards.cfg | 1 + drivers/serial/serial_pl01x.c | 5 +- include/configs/ca9x4_ct_vxp.h | 181 ++++++++++++++++++++++ 12 files changed, 721 insertions(+), 1 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
PATCH v2 1/2 ARMV7: Versatile Express Coretile CortexA9x4 support
From: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.
--- MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 68 ++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 ++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 50 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 231 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 26 +++ board/armltd/vexpress/u-boot.lds | 50 ++++++ boards.cfg | 1 + include/configs/ca9x4_ct_vxp.h | 181 ++++++++++++++++++++++ 11 files changed, 717 insertions(+), 0 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
MAINTAINERS +4 -0
@@ -800,6 +800,10 @@ Hugo Villeneuve <[email protected]> SFFSDR ARM926EJS +Matt Waddel <[email protected]> + + vexpress ARM ARMV7 (quad core) + Prafulla Wadaskar <[email protected]> mv88f6281gtw_ge ARM926EJS (Kirkwood SoC)
MAKEALL +1 -0
@@ -663,6 +663,7 @@ LIST_ARMV7=" \ omap4_sdp4430 \ s5p_goni \ smdkc100 \ + ca9x4_ct_vxp \ " #########################################################################
arch/arm/include/asm/arch-armv7/sysctrl.h new file +68 -0
68 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/systimer.h new file +50 -0
50 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/wdt.h new file +55 -0
55 lines not on this page · raw message
board/armltd/vexpress/Makefile new file +50 -0
50 lines not on this page · raw message
board/armltd/vexpress/ca9x4_ct_vxp.c new file +231 -0
231 lines not on this page · raw message
board/armltd/vexpress/config.mk new file +26 -0
@@ -0,0 +1,26 @@ +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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 the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# image loaded at 0x06000000 +# Linux-Kernel is expected to be at 0x60008000 +# +TEXT_BASE = 0x06000000 + +LDSCRIPT := $(SRCTREE)/board/armltd/vexpress/u-boot.lds +
board/armltd/vexpress/u-boot.lds new file +50 -0
50 lines not on this page · raw message
boards.cfg +1 -0
@@ -254,6 +254,7 @@ imx27lite arm arm926ejs imx27lite logicpd mx27 magnesium arm arm926ejs imx27lite logicpd mx27 omap5912osk arm arm926ejs - ti omap edminiv2 arm arm926ejs - LaCie orion5x +ca9x4_ct_vxp arm armv7 vexpress armltd omap3_overo arm armv7 overo - omap3 omap3_pandora arm armv7 pandora - omap3 omap3_zoom1 arm armv7 zoom1 logicpd omap3
include/configs/ca9x4_ct_vxp.h new file +181 -0
181 lines not on this page · raw message
Signature · 1 line
1.7.0.4
PATCH v2 1/2 ARMV7: Versatile Express Coretile CortexA9x4 support
Dear matt.waddel at linaro.org,
Quoted 12 lines · In message <[email protected]> you wrote:
From: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp
This givesca9x4_ct_vxp.cas the board support file.Signed-off-by Matt Waddel <[email protected]>
...
MAKEALL LIST_ARMV7=" \ · line 666
Quoted 7 lines
MAKEALL +1
-0@@ -663,6 +663,7 @@ LIST_ARMV7=" \ omap4_sdp4430 \ s5p_goni \ smdkc100 \ + ca9x4_ct_vxp \
Please keep lists sorted.
Quoted 2 lines
MAKEALL +1
-0+++ b/arch/arm/include/asm/arch-armv7/systimer.h@@ -0,0 +1,50 @@
...
Quoted 5 lines
MAKEALL +5
-0+struct systimer { + u32 Timer0Load; /* 0x00 */ + u32 Timer0Value; + u32 Timer0Control; + u32 Timer0IntClr;
MAKEALL
Quoted 10 lines
MAKEALL +10
-0+ u32 Timer0RIS; + u32 Timer0MIS; + u32 Timer0BGLoad; + u32 Timer1Load; /* 0x20 */ + u32 Timer1Value; + u32 Timer1Control; + u32 Timer1IntClr; + u32 Timer1RIS; + u32 Timer1MIS; + u32 Timer1BGLoad;
We don't allow CamelCase identifiers in U-Boot. Variable names must be all lower case. Please fix globally.
Quoted 2 lines
+++
b/board/armltd/vexpress/ca9x4_ct_vxp.cMAKEALL +0
-0@@ -0,0 +1,231 @@
....
MAKEALL
Quoted 4 lines
MAKEALL +4
-0+#if defined(CONFIG_SHOW_BOOT_PROGRESS) +void show_boot_progress(int progress) +{ + printf("Boot reached stage %d\n", progress);
Indentation by TABs only. Please fix globally.
...
MAKEALL
Quoted 5 lines
MAKEALL +5
-0+int misc_init_r(void) +{ + setenv("verify", "n"); + return 0; +}
NAK. We don't allow that such decisions are enforced on the end user. Feel free to add such a default setting to your environment, but leave the user the freedom to decide otherwise.
MAKEALL
Quoted 6 lines
MAKEALL +6
-0+static void flash__init(void) +{ + /* Setup the sytem control register to allow writing to flash */ + uint tmp = *(uint *)(VEXPRESS_FLASHCTRL); + tmp |= VEXPRESS_FLASHPROG_FLVPPEN; + *(uint *)(VEXPRESS_FLASHCTRL) = tmp;
NAK. Please always use I/O accessors to access device registers and the like. Please fix globally.
MAKEALL
Quoted 5 lines
MAKEALL +5
-0+/* Use the ARM Watchdog System to cause reset */ +void reset_cpu(ulong addr) +{ + writeb(WDT_EN, &wdt_base->WdogControl); + writel(WDT_RESET_LOAD, &wdt_base->WdogLoad);
Does a
while (1) ;
make sense here?
...
MAKEALL
Quoted 4 lines
MAKEALL +4
-0+TEXT_BASE = 0x06000000 + +LDSCRIPT := $(SRCTREE)/board/armltd/vexpress/u-boot.lds +
Please do not add trailing empty lines.
MAKEALL
Quoted 10 lines
MAKEALL +10
-0+/* Sample environment settings */ +#define CONFIG_BOOTCOMMAND "bootm" +#define CONFIG_BOOTARGS "root=/dev/nfs ip=dhcp mem=1024M " \ + "console=ttyAMA0 video=vc:1-2clcdfb: "\ + "nfsroot=10.1.77.36:/work/exports/share" +#define CONFIG_EXTRA_ENV_SETTINGS "ethaddr=00:02:F7:00:19:17\0" \ + "ipaddr=10.1.77.77\0" \ + "gatewayip=10.1.77.1\0" \ + "serverip=10.1.77.36\0" +#define CONFIG_BOOTFILE "/work/exports/vexpress"
NAK. We do not allow network settings in the default configuration. They may make sense to you, but they do not make sense to most others.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de They're usually so busy thinking about what happens next that the only time they ever find out what is happening now is when they come to look back on it. - Terry Pratchett, _Wyrd Sisters_
v3 cover ARMV7: Add support for the Versatile Express Quad Cortex A9 platform
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and an SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions.
The 2nd patch fixes a bug in the "set baudrate xxx" functionality.
---
Version 2 - Removed unneeded multi-core low_level setup code.
Version 3 -
Patch 1)
1) Fixups from Wolfgang's code review:
- Remove CamelCase variable definitions, keep lists sorted, tab indents only, remove trailing empty lines, remove unneeded configuration options, use I/O accessors, added while(1) loop in reset command
2) Simplified board_init declarations
3) Added CONFIG_INITRD_TAG declaration
4) Removed unneeded assembly directives from Makefile
Patch 2)
1) Replaced IO_WRITE and IO_READ calls in serial_pl01x.c with calls to readl() and writel(). Fixed commenting and CamelCase problems.
Matt Waddel (2):
ARMV7: Versatile Express Coretile CortexA9x4 support
ARMV7: Fixed baudrate setting in pl01x driver
MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 +++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 221 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 24 +++ board/armltd/vexpress/u-boot.lds | 50 +++++++ boards.cfg | 1 + drivers/serial/serial_pl01x.c | 93 +++++------- include/configs/ca9x4_ct_vxp.h | 172 +++++++++++++++++++++ 12 files changed, 735 insertions(+), 55 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
PATCH v3 1/2 ARMV7: Versatile Express Coretile CortexA9x4 support
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.
--- MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 +++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 221 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 24 +++ board/armltd/vexpress/u-boot.lds | 50 +++++++ boards.cfg | 1 + include/configs/ca9x4_ct_vxp.h | 172 +++++++++++++++++++++ 11 files changed, 697 insertions(+), 0 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
MAINTAINERS +4 -0
@@ -800,6 +800,10 @@ Hugo Villeneuve <[email protected]> SFFSDR ARM926EJS +Matt Waddel <[email protected]> + + ca9x4_ct_vxp ARM ARMV7 (Quad Core) + Prafulla Wadaskar <[email protected]> mv88f6281gtw_ge ARM926EJS (Kirkwood SoC)
MAKEALL +1 -0
@@ -651,6 +651,7 @@ LIST_ARM11=" \ ######################################################################### LIST_ARMV7=" \ am3517_evm \ + ca9x4_ct_vxp \ devkit8000 \ mx51evk \ omap3_beagle \
arch/arm/include/asm/arch-armv7/sysctrl.h new file +70 -0
70 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/systimer.h new file +50 -0
50 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/wdt.h new file +55 -0
55 lines not on this page · raw message
board/armltd/vexpress/Makefile new file +49 -0
49 lines not on this page · raw message
board/armltd/vexpress/ca9x4_ct_vxp.c new file +221 -0
221 lines not on this page · raw message
board/armltd/vexpress/config.mk new file +24 -0
@@ -0,0 +1,24 @@ +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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 the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# image loaded at 0x06000000 +# Linux-Kernel is expected to be at 0x60008000 +# +TEXT_BASE = 0x06000000 +LDSCRIPT := $(SRCTREE)/board/armltd/vexpress/u-boot.lds
board/armltd/vexpress/u-boot.lds new file +50 -0
50 lines not on this page · raw message
boards.cfg +1 -0
@@ -254,6 +254,7 @@ imx27lite arm arm926ejs imx27lite logicpd mx27 magnesium arm arm926ejs imx27lite logicpd mx27 omap5912osk arm arm926ejs - ti omap edminiv2 arm arm926ejs - LaCie orion5x +ca9x4_ct_vxp arm armv7 vexpress armltd omap3_overo arm armv7 overo - omap3 omap3_pandora arm armv7 pandora - omap3 omap3_zoom1 arm armv7 zoom1 logicpd omap3
include/configs/ca9x4_ct_vxp.h new file +172 -0
172 lines not on this page · raw message
Signature · 1 line
1.7.1
PATCH v3 1/2 ARMV7: Versatile Express Coretile CortexA9x4 support
Dear matt.waddel at linaro.org,
Quoted 25 lines · In message <[email protected]> you wrote:
From: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp
This givesca9x4_ct_vxp.cas the board support file.Signed-off-by Matt Waddel <[email protected]>--- MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 +++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 221 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 24 +++ board/armltd/vexpress/u-boot.lds | 50 +++++++ boards.cfg | 1 + include/configs/ca9x4_ct_vxp.h | 172 +++++++++++++++++++++ 11 files changed, 697 insertions(+), 0 deletions(-)
Quoted 8 lines
create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
Applied to u-boot-arm, thanks.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Nobody goes to that restaurant anymore. It's too crowded.
PATCH v3 2/2 ARMV7: Fixed baudrate setting in pl01x driver
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling serial_init() again. Also fixed CamelCase variables, I/O accessors and comment style.
--- drivers/serial/serial_pl01x.c | 93 +++++++++++++++++------------------------ 1 files changed, 38 insertions(+), 55 deletions(-)
drivers/serial/serial_pl01x.c +38 -55
@@ -29,25 +29,23 @@#include <common.h> #include <watchdog.h> - +#include <asm/io.h> #include "serial_pl01x.h" -#define IO_WRITE (addr, val) (*(volatile unsigned int *)(addr) = (val)) -#define IO_READ (addr) (*(volatile unsigned int *)(addr)) -/* * Integrator AP has two UARTs, we use the first one, at 38400-8-N-1 * Integrator CP has two UARTs, use the first one, at 38400-8-N-1 * Versatile PB has four UARTs. */ #define CONSOLE_PORT CONFIG_CONS_INDEX -#define baudRate CONFIG_BAUDRATEstatic volatile unsigned char *const port[] = CONFIG_PL01x_PORTS;#define NUM_PORTS (sizeof(port)/sizeof(port[0]))static void pl01x_putc (int portnum,char c);static int pl01x_getc (int portnum);static int pl01x_tstc (int portnum); +unsigned int baudrate =CONFIG_BAUDRATE ; +DECLARE_GLOBAL_DATA_PTR ;#ifdef CONFIG_PL010_SERIAL
@@ -55,16 +53,11 @@ int serial_init (void) {unsigned int divisor; -/* -** First, disable everything. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_CR ,0x0 ); +/* First, disable everything */ +writel (0x0 , port[CONSOLE_PORT ] +UART_PL010_CR ); -/* -** Set baud rate -** -*/ -switch (baudRate) { +/* Set baud rate */ +switch (baudrate) {case 9600 : divisor =UART_PL010_BAUD_9600 ;break ;
@@ -89,20 +82,15 @@ int serial_init (void) divisor =UART_PL010_BAUD_38400 ; } -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRM , - ((divisor &0xf00 ) >>8 )); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRL , (divisor &0xff )); +writel (((divisor &0xf00 ) >>8 ), port[CONSOLE_PORT ] +UART_PL010_LCRM ); +writel ((divisor &0xff ), port[CONSOLE_PORT ] +UART_PL010_LCRL ); -/* -** Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRH , - (UART_PL010_LCRH_WLEN_8 |UART_PL010_LCRH_FEN )); +/* Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled */ +writel ((UART_PL010_LCRH_WLEN_8 |UART_PL010_LCRH_FEN ), + port[CONSOLE_PORT ] +UART_PL010_LCRH ); -/* -** Finally, enable the UART -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_CR , (UART_PL010_CR_UARTEN )); +/* Finally, enable the UART */ +writel ((UART_PL010_CR_UARTEN ), port[CONSOLE_PORT ] +UART_PL010_CR );return 0 ; }
@@ -118,38 +106,31 @@ int serial_init (void)unsigned int remainder;unsigned int fraction; -/* -** First, disable everything. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_CR ,0x0 ); +/* First, disable everything */ +writel (0x0 , port[CONSOLE_PORT ] +UART_PL011_CR );/* -** Set baud rate -** -** IBRD = UART_CLK / (16 * BAUD_RATE) -** FBRD = ROUND((64 * MOD(UART_CLK,(16 * BAUD_RATE))) / (16 * BAUD_RATE)) +* Set baud rate +* +* IBRD = UART_CLK / (16 * BAUD_RATE) +* FBRD = RND((64 * MOD(UART_CLK,(16 * BAUD_RATE))) / (16 * BAUD_RATE)) */ - temp =16 * baudRate; + temp =16 * baudrate; divider =CONFIG_PL011_CLOCK / temp; remainder =CONFIG_PL011_CLOCK % temp; - temp = (8 * remainder) / baudRate; + temp = (8 * remainder) / baudrate; fraction = (temp >>1 ) + (temp &1 ); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_IBRD , divider); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_FBRD , fraction); +writel (divider, port[CONSOLE_PORT ] +UART_PL011_IBRD ); +writel (fraction, port[CONSOLE_PORT ] +UART_PL011_FBRD ); -/* -** Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_LCRH , - (UART_PL011_LCRH_WLEN_8 |UART_PL011_LCRH_FEN )); +/* Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled */ +writel ((UART_PL011_LCRH_WLEN_8 |UART_PL011_LCRH_FEN ), + port[CONSOLE_PORT ] +UART_PL011_LCRH ); -/* -** Finally, enable the UART -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_CR , - (UART_PL011_CR_UARTEN |UART_PL011_CR_TXE | -UART_PL011_CR_RXE )); +/* Finally, enable the UART */ +writel ((UART_PL011_CR_UARTEN |UART_PL011_CR_TXE |UART_PL011_CR_RXE ), + port[CONSOLE_PORT ] +UART_PL011_CR );return 0 ; }
@@ -183,16 +164,18 @@ int serial_tstc (void)void serial_setbrg (void ) { + baudrate = gd->baudrate; +serial_init (); }static void pl01x_putc (int portnum,char c) {/* Wait until there is space in the FIFO */ -while (IO_READ (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_TXFF) +while (readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_TXFF)WATCHDOG_RESET ();/* Send the character */ -IO_WRITE (port[portnum] + UART_PL01x_DR, c); +writel (c, port[portnum] + UART_PL01x_DR); }static int pl01x_getc (int portnum)
@@ -200,15 +183,15 @@ static int pl01x_getc (int portnum)unsigned int data;/* Wait until there is data in the FIFO */ -while (IO_READ (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE) +while (readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE)WATCHDOG_RESET (); - data =IO_READ (port[portnum] + UART_PL01x_DR); + data =readl (port[portnum] + UART_PL01x_DR);/* Check for an error flag */ if (data &0xFFFFFF00 ) {/* Clear the error */ -IO_WRITE (port[portnum] + UART_PL01x_ECR,0xFFFFFFFF ); +writel (0xFFFFFFFF , port[portnum] + UART_PL01x_ECR);return -1 ; }
@@ -218,6 +201,6 @@ static int pl01x_getc (int portnum)static int pl01x_tstc (int portnum) {WATCHDOG_RESET (); -return !(IO_READ (port[portnum] + UART_PL01x_FR) & +return !(readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE); }
Signature · 1 line
1.7.1
PATCH v3 2/2 ARMV7: Fixed baudrate setting in pl01x driver
Dear matt.waddel at linaro.org,
Quoted 11 lines · In message <[email protected]> you wrote:
From: Matt Waddel <[email protected]>
The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling
serial_init()again. Also fixed CamelCase variables, I/O accessors and comment style.Signed-off-by Matt Waddel <[email protected]>--- drivers/serial/serial_pl01x.c | 93 +++++++++++++++++------------------------ 1 files changed, 38 insertions(+), 55 deletions(-)
Applied to u-boot-arm, thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de The idea of male and female are universal constants. -- Kirk, "Metamorphosis", stardate 3219.8
v4 cover ARMV7: Add support for the Versatile Express Quad Cortex A9 platform
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and an SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions.
The 2nd patch fixes a bug in the "set baudrate xxx" functionality.
---
Version 2 - Removed unneeded multi-core low_level setup code.
Version 3 -
Patch 1)
1) Fixups from Wolfgang's code review:
- Remove CamelCase variable definitions, keep lists sorted, tab indents only, remove trailing empty lines, remove unneeded configuration options, use I/O accessors, added while(1) loop in reset command
2) Simplified board_init declarations
3) Added CONFIG_INITRD_TAG declaration
4) Removed unneeded assembly directives from Makefile
Patch 2)
1) Replaced IO_WRITE and IO_READ calls in serial_pl01x.c with calls to readl() and writel(). Fixed commenting and CamelCase problems.
Version 4 -
1) Refactored to work with the "next" branch
2) Fixed a bug in the 2nd flash bank definition
Matt Waddel (2):
ARMV7: Versatile Express Coretile CortexA9x4 support
ARMV7: Fixed baudrate setting in pl01x driver
MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 ++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 224 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 23 +++ board/armltd/vexpress/u-boot.lds | 65 ++++++++ boards.cfg | 1 + drivers/serial/serial_pl01x.c | 93 +++++------- include/configs/ca9x4_ct_vxp.h | 178 ++++++++++++++++++++++ 12 files changed, 758 insertions(+), 55 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
PATCH v4 1/2 ARMV7: Versatile Express Coretile CortexA9x4 support
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.
--- MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 ++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 224 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 23 +++ board/armltd/vexpress/u-boot.lds | 65 ++++++++ boards.cfg | 1 + include/configs/ca9x4_ct_vxp.h | 178 ++++++++++++++++++++++ 11 files changed, 720 insertions(+), 0 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
MAINTAINERS +4 -0
@@ -797,6 +797,10 @@ Hugo Villeneuve <[email protected]> SFFSDR ARM926EJS +Matt Waddel <[email protected]> + + ca9x4_ct_vxp ARM ARMV7 (Quad Core) + Prafulla Wadaskar <[email protected]> mv88f6281gtw_ge ARM926EJS (Kirkwood SoC)
MAKEALL +1 -0
@@ -489,6 +489,7 @@ LIST_ARM11=" \ ######################################################################### LIST_ARMV7=" \ am3517_evm \ + ca9x4_ct_vxp \ devkit8000 \ mx51evk \ omap3_beagle \
arch/arm/include/asm/arch-armv7/sysctrl.h new file +70 -0
70 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/systimer.h new file +50 -0
50 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/wdt.h new file +55 -0
55 lines not on this page · raw message
board/armltd/vexpress/Makefile new file +49 -0
49 lines not on this page · raw message
board/armltd/vexpress/ca9x4_ct_vxp.c new file +224 -0
224 lines not on this page · raw message
board/armltd/vexpress/config.mk new file +23 -0
@@ -0,0 +1,23 @@ +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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 the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# Linux-Kernel is expected to be at 0x60008000 +# +TEXT_BASE = 0x06000000 +LDSCRIPT := $(SRCTREE)/board/armltd/vexpress/u-boot.lds
board/armltd/vexpress/u-boot.lds new file +65 -0
65 lines not on this page · raw message
boards.cfg +1 -0
@@ -255,6 +255,7 @@ imx27lite arm arm926ejs imx27lite logicpd mx27 magnesium arm arm926ejs imx27lite logicpd mx27 omap5912osk arm arm926ejs - ti omap edminiv2 arm arm926ejs - LaCie orion5x +ca9x4_ct_vxp arm armv7 vexpress armltd omap3_overo arm armv7 overo - omap3 omap3_pandora arm armv7 pandora - omap3 omap3_zoom1 arm armv7 zoom1 logicpd omap3
include/configs/ca9x4_ct_vxp.h new file +178 -0
178 lines not on this page · raw message
Signature · 1 line
1.7.1
PATCH v4 2/2 ARMV7: Fixed baudrate setting in pl01x driver
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling serial_init() again. Also fixed CamelCase variables, I/O accessors and comment style.
--- drivers/serial/serial_pl01x.c | 93 +++++++++++++++++------------------------ 1 files changed, 38 insertions(+), 55 deletions(-)
drivers/serial/serial_pl01x.c +38 -55
@@ -29,25 +29,23 @@#include <common.h> #include <watchdog.h> - +#include <asm/io.h> #include "serial_pl01x.h" -#define IO_WRITE (addr, val) (*(volatile unsigned int *)(addr) = (val)) -#define IO_READ (addr) (*(volatile unsigned int *)(addr)) -/* * Integrator AP has two UARTs, we use the first one, at 38400-8-N-1 * Integrator CP has two UARTs, use the first one, at 38400-8-N-1 * Versatile PB has four UARTs. */ #define CONSOLE_PORT CONFIG_CONS_INDEX -#define baudRate CONFIG_BAUDRATEstatic volatile unsigned char *const port[] = CONFIG_PL01x_PORTS;#define NUM_PORTS (sizeof(port)/sizeof(port[0]))static void pl01x_putc (int portnum,char c);static int pl01x_getc (int portnum);static int pl01x_tstc (int portnum); +unsigned int baudrate =CONFIG_BAUDRATE ; +DECLARE_GLOBAL_DATA_PTR ;#ifdef CONFIG_PL010_SERIAL
@@ -55,16 +53,11 @@ int serial_init (void) {unsigned int divisor; -/* -** First, disable everything. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_CR ,0x0 ); +/* First, disable everything */ +writel (0x0 , port[CONSOLE_PORT ] +UART_PL010_CR ); -/* -** Set baud rate -** -*/ -switch (baudRate) { +/* Set baud rate */ +switch (baudrate) {case 9600 : divisor =UART_PL010_BAUD_9600 ;break ;
@@ -89,20 +82,15 @@ int serial_init (void) divisor =UART_PL010_BAUD_38400 ; } -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRM , - ((divisor &0xf00 ) >>8 )); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRL , (divisor &0xff )); +writel (((divisor &0xf00 ) >>8 ), port[CONSOLE_PORT ] +UART_PL010_LCRM ); +writel ((divisor &0xff ), port[CONSOLE_PORT ] +UART_PL010_LCRL ); -/* -** Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRH , - (UART_PL010_LCRH_WLEN_8 |UART_PL010_LCRH_FEN )); +/* Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled */ +writel ((UART_PL010_LCRH_WLEN_8 |UART_PL010_LCRH_FEN ), + port[CONSOLE_PORT ] +UART_PL010_LCRH ); -/* -** Finally, enable the UART -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_CR , (UART_PL010_CR_UARTEN )); +/* Finally, enable the UART */ +writel ((UART_PL010_CR_UARTEN ), port[CONSOLE_PORT ] +UART_PL010_CR );return 0 ; }
@@ -118,38 +106,31 @@ int serial_init (void)unsigned int remainder;unsigned int fraction; -/* -** First, disable everything. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_CR ,0x0 ); +/* First, disable everything */ +writel (0x0 , port[CONSOLE_PORT ] +UART_PL011_CR );/* -** Set baud rate -** -** IBRD = UART_CLK / (16 * BAUD_RATE) -** FBRD = ROUND((64 * MOD(UART_CLK,(16 * BAUD_RATE))) / (16 * BAUD_RATE)) +* Set baud rate +* +* IBRD = UART_CLK / (16 * BAUD_RATE) +* FBRD = RND((64 * MOD(UART_CLK,(16 * BAUD_RATE))) / (16 * BAUD_RATE)) */ - temp =16 * baudRate; + temp =16 * baudrate; divider =CONFIG_PL011_CLOCK / temp; remainder =CONFIG_PL011_CLOCK % temp; - temp = (8 * remainder) / baudRate; + temp = (8 * remainder) / baudrate; fraction = (temp >>1 ) + (temp &1 ); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_IBRD , divider); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_FBRD , fraction); +writel (divider, port[CONSOLE_PORT ] +UART_PL011_IBRD ); +writel (fraction, port[CONSOLE_PORT ] +UART_PL011_FBRD ); -/* -** Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_LCRH , - (UART_PL011_LCRH_WLEN_8 |UART_PL011_LCRH_FEN )); +/* Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled */ +writel ((UART_PL011_LCRH_WLEN_8 |UART_PL011_LCRH_FEN ), + port[CONSOLE_PORT ] +UART_PL011_LCRH ); -/* -** Finally, enable the UART -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_CR , - (UART_PL011_CR_UARTEN |UART_PL011_CR_TXE | -UART_PL011_CR_RXE )); +/* Finally, enable the UART */ +writel ((UART_PL011_CR_UARTEN |UART_PL011_CR_TXE |UART_PL011_CR_RXE ), + port[CONSOLE_PORT ] +UART_PL011_CR );return 0 ; }
@@ -183,16 +164,18 @@ int serial_tstc (void)void serial_setbrg (void ) { + baudrate = gd->baudrate; +serial_init (); }static void pl01x_putc (int portnum,char c) {/* Wait until there is space in the FIFO */ -while (IO_READ (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_TXFF) +while (readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_TXFF)WATCHDOG_RESET ();/* Send the character */ -IO_WRITE (port[portnum] + UART_PL01x_DR, c); +writel (c, port[portnum] + UART_PL01x_DR); }static int pl01x_getc (int portnum)
@@ -200,15 +183,15 @@ static int pl01x_getc (int portnum)unsigned int data;/* Wait until there is data in the FIFO */ -while (IO_READ (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE) +while (readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE)WATCHDOG_RESET (); - data =IO_READ (port[portnum] + UART_PL01x_DR); + data =readl (port[portnum] + UART_PL01x_DR);/* Check for an error flag */ if (data &0xFFFFFF00 ) {/* Clear the error */ -IO_WRITE (port[portnum] + UART_PL01x_ECR,0xFFFFFFFF ); +writel (0xFFFFFFFF , port[portnum] + UART_PL01x_ECR);return -1 ; }
@@ -218,6 +201,6 @@ static int pl01x_getc (int portnum)static int pl01x_tstc (int portnum) {WATCHDOG_RESET (); -return !(IO_READ (port[portnum] + UART_PL01x_FR) & +return !(readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE); }
Signature · 1 line
1.7.1
v5 cover ARMV7: Add support for the Versatile Express Quad Cortex A9 platform
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
Matt Waddel (2):
Adds support for the ARM quad-core Cortex-A9 processor.
This system includes a motherboard(Versatile Express), daughterboard (Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.
The 2nd patch fixes a bug in the "set baudrate xxx" functionality and fixes some of the code problems like CamelCase and IO accessors.
---
Version 2 -
Removed unneeded multi-core low_level setup code.
Version 3 -
Patch 1)
1) Fixups from Wolfgang's code review:
- Remove CamelCase variable definitions, keep lists sorted, tab indents only, remove trailing empty lines, remove unneeded configuration options, use I/O accessors, added while(1) loop in reset command
2) Simplified board_init declarations
3) Added CONFIG_INITRD_TAG declaration
4) Removed unneeded assembly directives from Makefile
Patch 2)
1) Replaced IO_WRITE and IO_READ calls in serial_pl01x.c with calls to readl() and writel(). Fixed commenting and CamelCase problems.
Version 4 -
1) Refactored to work with the "next" branch
2) Fixed a bug in the 2nd flash bank definition
Version 5 -
1) Refactored to apply to the tip of git tree.
2) Improved the environment settings and added the run command option
MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 +++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 220 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 23 +++ board/armltd/vexpress/u-boot.lds | 65 ++++++++ boards.cfg | 1 + drivers/serial/serial_pl01x.c | 93 +++++------- include/configs/ca9x4_ct_vxp.h | 196 +++++++++++++++++++++++++ 12 files changed, 772 insertions(+), 55 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
v5 cover ARMV7: Add support for the Versatile Express Quad Cortex A9 platform
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor.
This system includes a motherboard(Versatile Express), daughterboard (Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp This gives ca9x4_ct_vxp.c as the board support file.
The 2nd patch fixes a bug in the "set baudrate xxx" functionality and fixes some of the code problems like CamelCase and IO accessors.
---
Version 2 -
Removed unneeded multi-core low_level setup code.
Version 3 -
Patch 1)
1) Fixups from Wolfgang's code review:
- Remove CamelCase variable definitions, keep lists sorted, tab indents only, remove trailing empty lines, remove unneeded configuration options, use I/O accessors, added while(1) loop in reset command
2) Simplified board_init declarations
3) Added CONFIG_INITRD_TAG declaration
4) Removed unneeded assembly directives from Makefile
Patch 2)
1) Replaced IO_WRITE and IO_READ calls in serial_pl01x.c with calls to readl() and writel(). Fixed commenting and CamelCase problems.
Version 4 -
1) Refactored to work with the "next" branch
2) Fixed a bug in the 2nd flash bank definition
Version 5 -
1) Refactored to apply to the tip of git tree.
2) Improved the environment settings and added the run command option
Matt Waddel (2):
ARMV7: Versatile Express Coretile CortexA9x4 support
ARMV7: Fixed baudrate setting in pl01x driver
MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 +++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 220 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 23 +++ board/armltd/vexpress/u-boot.lds | 65 ++++++++ boards.cfg | 1 + drivers/serial/serial_pl01x.c | 93 +++++------- include/configs/ca9x4_ct_vxp.h | 196 +++++++++++++++++++++++++ 12 files changed, 772 insertions(+), 55 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
v5 cover ARMV7: Add support for the Versatile Express Quad Cortex A9 platform
Hi Wolfgang,
Quoted 2 lines · matt.waddel at linaro.org
ARMV7: Versatile Express Coretile CortexA9x4 support
ARMV7: Fixed baudrate setting in pl01x driver
These 2 patches have been hanging around for a while and I've been pulling them along with the trunk changes. They've already been reviewed a couple of times, and there was one Tested-by a while back. I was wondering if there is anything else I need to do get them merged. I'm concerned they won't make it in before the merge window closes again.
Thanks,
Matt
PATCH v5 1/2 ARMV7: Versatile Express Coretile CortexA9x4 support
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor
This system includes a motherboard(Versatile Express), daughterboard (Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4
daughterboard -> Coretile = ct
motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.
--- MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 +++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 220 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 23 +++ board/armltd/vexpress/u-boot.lds | 65 ++++++++ boards.cfg | 1 + include/configs/ca9x4_ct_vxp.h | 196 +++++++++++++++++++++++++ 11 files changed, 734 insertions(+), 0 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
MAINTAINERS +4 -0
@@ -802,6 +802,10 @@ Hugo Villeneuve <[email protected]> SFFSDR ARM926EJS +Matt Waddel <[email protected]> + + ca9x4_ct_vxp ARM ARMV7 (Quad Core) + Prafulla Wadaskar <[email protected]> mv88f6281gtw_ge ARM926EJS (Kirkwood SoC)
MAKEALL +1 -0
@@ -489,6 +489,7 @@ LIST_ARM11=" \ ######################################################################### LIST_ARMV7=" \ am3517_evm \ + ca9x4_ct_vxp \ devkit8000 \ mx51evk \ omap3_beagle \
arch/arm/include/asm/arch-armv7/sysctrl.h new file +70 -0
70 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/systimer.h new file +50 -0
50 lines not on this page · raw message
arch/arm/include/asm/arch-armv7/wdt.h new file +55 -0
55 lines not on this page · raw message
board/armltd/vexpress/Makefile new file +49 -0
49 lines not on this page · raw message
board/armltd/vexpress/ca9x4_ct_vxp.c new file +220 -0
220 lines not on this page · raw message
board/armltd/vexpress/config.mk new file +23 -0
@@ -0,0 +1,23 @@ +# +# See file CREDITS for list of people who contributed to this +# project. +# +# 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 the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# Linux-Kernel is expected to be at 0x60008000 +# +TEXT_BASE = 0x60800000 +LDSCRIPT := $(SRCTREE)/board/armltd/vexpress/u-boot.lds
board/armltd/vexpress/u-boot.lds new file +65 -0
65 lines not on this page · raw message
boards.cfg +1 -0
@@ -253,6 +253,7 @@ imx27lite arm arm926ejs imx27lite logicpd mx27 magnesium arm arm926ejs imx27lite logicpd mx27 omap5912osk arm arm926ejs - ti omap edminiv2 arm arm926ejs - LaCie orion5x +ca9x4_ct_vxp arm armv7 vexpress armltd omap3_overo arm armv7 overo - omap3 omap3_pandora arm armv7 pandora - omap3 omap3_zoom1 arm armv7 zoom1 logicpd omap3
include/configs/ca9x4_ct_vxp.h new file +196 -0
196 lines not on this page · raw message
Signature · 1 line
1.7.1
PATCH v5 1/2 ARMV7: Versatile Express Coretile CortexA9x4 support
Dear matt.waddel at linaro.org,
Quoted 27 lines · In message <[email protected]> you wrote:
From: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor
This system includes a motherboard(Versatile Express), daughterboard (Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is:
SOC -> CortexA9 quad core = ca9x4 daughterboard -> Coretile = ct motherboard -> Versatile Express = vxpThis gives
ca9x4_ct_vxp.cas the board support file.Signed-off-by Matt Waddel <[email protected]>--- MAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 70 +++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 +++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 49 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 220 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 23 +++ board/armltd/vexpress/u-boot.lds | 65 ++++++++ boards.cfg | 1 + include/configs/ca9x4_ct_vxp.h | 196 +++++++++++++++++++++++++ 11 files changed, 734 insertions(+), 0 deletions(-)
Quoted 8 lines
create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk create mode 100644 board/armltd/vexpress/u-boot.lds create mode 100644 include/configs/ca9x4_ct_vxp.h
Applied to u-boot-arm (dropping the V3 version).
But please: make sure to keep threading workign, and add a change log to the patches.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Veni, Vidi, VISA:
I came, I saw, I did a little shopping.PATCH v5 2/2 ARMV7: Fixed baudrate setting in pl01x driver
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling serial_init() again. Also fixed CamelCase variables, I/O accessors and comment style.
--- drivers/serial/serial_pl01x.c | 93 +++++++++++++++++------------------------ 1 files changed, 38 insertions(+), 55 deletions(-)
drivers/serial/serial_pl01x.c +38 -55
@@ -29,25 +29,23 @@#include <common.h> #include <watchdog.h> - +#include <asm/io.h> #include "serial_pl01x.h" -#define IO_WRITE (addr, val) (*(volatile unsigned int *)(addr) = (val)) -#define IO_READ (addr) (*(volatile unsigned int *)(addr)) -/* * Integrator AP has two UARTs, we use the first one, at 38400-8-N-1 * Integrator CP has two UARTs, use the first one, at 38400-8-N-1 * Versatile PB has four UARTs. */ #define CONSOLE_PORT CONFIG_CONS_INDEX -#define baudRate CONFIG_BAUDRATEstatic volatile unsigned char *const port[] = CONFIG_PL01x_PORTS;#define NUM_PORTS (sizeof(port)/sizeof(port[0]))static void pl01x_putc (int portnum,char c);static int pl01x_getc (int portnum);static int pl01x_tstc (int portnum); +unsigned int baudrate =CONFIG_BAUDRATE ; +DECLARE_GLOBAL_DATA_PTR ;#ifdef CONFIG_PL010_SERIAL
@@ -55,16 +53,11 @@ int serial_init (void) {unsigned int divisor; -/* -** First, disable everything. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_CR ,0x0 ); +/* First, disable everything */ +writel (0x0 , port[CONSOLE_PORT ] +UART_PL010_CR ); -/* -** Set baud rate -** -*/ -switch (baudRate) { +/* Set baud rate */ +switch (baudrate) {case 9600 : divisor =UART_PL010_BAUD_9600 ;break ;
@@ -89,20 +82,15 @@ int serial_init (void) divisor =UART_PL010_BAUD_38400 ; } -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRM , - ((divisor &0xf00 ) >>8 )); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRL , (divisor &0xff )); +writel (((divisor &0xf00 ) >>8 ), port[CONSOLE_PORT ] +UART_PL010_LCRM ); +writel ((divisor &0xff ), port[CONSOLE_PORT ] +UART_PL010_LCRL ); -/* -** Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_LCRH , - (UART_PL010_LCRH_WLEN_8 |UART_PL010_LCRH_FEN )); +/* Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled */ +writel ((UART_PL010_LCRH_WLEN_8 |UART_PL010_LCRH_FEN ), + port[CONSOLE_PORT ] +UART_PL010_LCRH ); -/* -** Finally, enable the UART -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL010_CR , (UART_PL010_CR_UARTEN )); +/* Finally, enable the UART */ +writel ((UART_PL010_CR_UARTEN ), port[CONSOLE_PORT ] +UART_PL010_CR );return 0 ; }
@@ -118,38 +106,31 @@ int serial_init (void)unsigned int remainder;unsigned int fraction; -/* -** First, disable everything. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_CR ,0x0 ); +/* First, disable everything */ +writel (0x0 , port[CONSOLE_PORT ] +UART_PL011_CR );/* -** Set baud rate -** -** IBRD = UART_CLK / (16 * BAUD_RATE) -** FBRD = ROUND((64 * MOD(UART_CLK,(16 * BAUD_RATE))) / (16 * BAUD_RATE)) +* Set baud rate +* +* IBRD = UART_CLK / (16 * BAUD_RATE) +* FBRD = RND((64 * MOD(UART_CLK,(16 * BAUD_RATE))) / (16 * BAUD_RATE)) */ - temp =16 * baudRate; + temp =16 * baudrate; divider =CONFIG_PL011_CLOCK / temp; remainder =CONFIG_PL011_CLOCK % temp; - temp = (8 * remainder) / baudRate; + temp = (8 * remainder) / baudrate; fraction = (temp >>1 ) + (temp &1 ); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_IBRD , divider); -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_FBRD , fraction); +writel (divider, port[CONSOLE_PORT ] +UART_PL011_IBRD ); +writel (fraction, port[CONSOLE_PORT ] +UART_PL011_FBRD ); -/* -** Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled. -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_LCRH , - (UART_PL011_LCRH_WLEN_8 |UART_PL011_LCRH_FEN )); +/* Set the UART to be 8 bits, 1 stop bit, no parity, fifo enabled */ +writel ((UART_PL011_LCRH_WLEN_8 |UART_PL011_LCRH_FEN ), + port[CONSOLE_PORT ] +UART_PL011_LCRH ); -/* -** Finally, enable the UART -*/ -IO_WRITE (port[CONSOLE_PORT ] +UART_PL011_CR , - (UART_PL011_CR_UARTEN |UART_PL011_CR_TXE | -UART_PL011_CR_RXE )); +/* Finally, enable the UART */ +writel ((UART_PL011_CR_UARTEN |UART_PL011_CR_TXE |UART_PL011_CR_RXE ), + port[CONSOLE_PORT ] +UART_PL011_CR );return 0 ; }
@@ -183,16 +164,18 @@ int serial_tstc (void)void serial_setbrg (void ) { + baudrate = gd->baudrate; +serial_init (); }static void pl01x_putc (int portnum,char c) {/* Wait until there is space in the FIFO */ -while (IO_READ (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_TXFF) +while (readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_TXFF)WATCHDOG_RESET ();/* Send the character */ -IO_WRITE (port[portnum] + UART_PL01x_DR, c); +writel (c, port[portnum] + UART_PL01x_DR); }static int pl01x_getc (int portnum)
@@ -200,15 +183,15 @@ static int pl01x_getc (int portnum)unsigned int data;/* Wait until there is data in the FIFO */ -while (IO_READ (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE) +while (readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE)WATCHDOG_RESET (); - data =IO_READ (port[portnum] + UART_PL01x_DR); + data =readl (port[portnum] + UART_PL01x_DR);/* Check for an error flag */ if (data &0xFFFFFF00 ) {/* Clear the error */ -IO_WRITE (port[portnum] + UART_PL01x_ECR,0xFFFFFFFF ); +writel (0xFFFFFFFF , port[portnum] + UART_PL01x_ECR);return -1 ; }
@@ -218,6 +201,6 @@ static int pl01x_getc (int portnum)static int pl01x_tstc (int portnum) {WATCHDOG_RESET (); -return !(IO_READ (port[portnum] + UART_PL01x_FR) & +return !(readl (port[portnum] + UART_PL01x_FR) & UART_PL01x_FR_RXFE); }
Signature · 1 line
1.7.1
PATCH v5 2/2 ARMV7: Fixed baudrate setting in pl01x driver
Dear matt.waddel at linaro.org,
Quoted 11 lines · In message <[email protected]> you wrote:
From: Matt Waddel <[email protected]>
The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling
serial_init()again. Also fixed CamelCase variables, I/O accessors and comment style.Signed-off-by Matt Waddel <[email protected]>--- drivers/serial/serial_pl01x.c | 93 +++++++++++++++++------------------------ 1 files changed, 38 insertions(+), 55 deletions(-)
Applied to u-boot-arm (dropping the V3 patch). Thanks.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Women are more easily and more deeply terrified ... generating more sheer horror than the male of the species. -- Spock, "Wolf in the Fold", stardate 3615.4
PATCH v2 2/2 ARMV7: Fixed baudrate setting in pl01x driver
In reply to matt.waddel at linaro.orgFrom: Matt Waddel <[email protected]>
The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling serial_init() again.
--- drivers/serial/serial_pl01x.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
drivers/serial/serial_pl01x.c +4 -1
@@ -41,13 +41,14 @@* Versatile PB has four UARTs. */ #define CONSOLE_PORT CONFIG_CONS_INDEX -#define baudRate CONFIG_BAUDRATEstatic volatile unsigned char *const port[] = CONFIG_PL01x_PORTS;#define NUM_PORTS (sizeof(port)/sizeof(port[0]))static void pl01x_putc (int portnum,char c);static int pl01x_getc (int portnum);static int pl01x_tstc (int portnum); +unsigned int baudRate =CONFIG_BAUDRATE ; +DECLARE_GLOBAL_DATA_PTR ;#ifdef CONFIG_PL010_SERIAL
@@ -183,6 +184,8 @@ int serial_tstc (void)void serial_setbrg (void ) { + baudRate = gd->baudrate; +serial_init (); }static void pl01x_putc (int portnum,char c)
Signature · 1 line
1.7.0.4
PATCH v2 2/2 ARMV7: Fixed baudrate setting in pl01x driver
Dear matt.waddel at linaro.org,
Quoted 7 lines · In message <[email protected]> you wrote:
From: Matt Waddel <[email protected]>
The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling
serial_init()again.Signed-off-by Matt Waddel <[email protected]>
...
Quoted 4 lines
static void
pl01x_putc(int portnum, char c);
static intpl01x_getc(int portnum);
static intpl01x_tstc(int portnum);
+unsigned int baudRate =CONFIG_BAUDRATE;
We don't allow CamelCase identifiers.
Best regards,
Wolfgang Denk
Signature · 9 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
This was an amazing creation using small squares of compressed
vegetable matter on which letters were made by means of small carbon
particles from a stylus, giving an effect similar to the traditional
word-processor screen. It seemed amazingly portable and I never once
saw him have to change the batteries.
- Terry Pratchett & Stephen Briggs, _The Discworld Companion_v2 cover ARMV7: Add support for Versatile Express CortexA9x4
In reply to matt.waddel at linaro.orgMatt
Worked fine when tested at ARM
Regards
Peter
Quoted 55 lines
-----Original Message-----
From: u-boot-bounces at lists.denx.de [mailto:u-boot-bounces at lists.denx.de] On Behalf Of matt.waddel at linaro.org
Sent: 29 July 2010 04:13
To: u-boot at lists.denx.de
Cc: Matt Waddel
Subject: [U-Boot] [PATCH V2 0/2] ARMV7: Add support for Versatile Express CortexA9x4From: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and an SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions.
The 2nd patch fixes a bug in the "set baudrate xxx" functionality.
Version 2 - Removed unneeded multi-core
low_levelsetup code.Matt Waddel (2):
ARMV7: Versatile Express Coretile CortexA9x4 support
ARMV7: Fixed baudrate setting in pl01x driverMAINTAINERS | 4 + MAKEALL | 1 + arch/arm/include/asm/arch-armv7/sysctrl.h | 68 ++++++++ arch/arm/include/asm/arch-armv7/systimer.h | 50 ++++++ arch/arm/include/asm/arch-armv7/wdt.h | 55 +++++++ board/armltd/vexpress/Makefile | 50 ++++++ board/armltd/vexpress/ca9x4_ct_vxp.c | 231 ++++++++++++++++++++++++++++ board/armltd/vexpress/config.mk | 26 +++ board/armltd/vexpress/u-boot.lds | 50 ++++++ boards.cfg | 1 + drivers/serial/serial_pl01x.c | 5 +- include/configs/ca9x4_ct_vxp.h | 181 ++++++++++++++++++++++ 12 files changed, 721 insertions(+), 1 deletions(-) create mode 100644 arch/arm/include/asm/arch-armv7/sysctrl.h create mode 100644 arch/arm/include/asm/arch-armv7/systimer.h create mode 100644 arch/arm/include/asm/arch-armv7/wdt.h create mode 100644 board/armltd/vexpress/Makefile create mode 100644 board/armltd/vexpress/ca9x4_ct_vxp.c create mode 100644 board/armltd/vexpress/config.mk createmode 100644
board/armltd/vexpress/u-boot.ldscreate mode 100644include/configs/ca9x4_ct_vxp.h_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
v2 cover ARMV7: Add support for Versatile Express CortexA9x4
In reply to matt.waddel at linaro.orgI have not seen any NAK's for these two patches so can it go in?
Wolfgang, I have noticed that recent activity in the arm maintainer tree has been done by you. Are you standing in for Tom?
Thanks,
John
Quoted 43 lines · On Wed, Jul 28, 2010 at 9:12 PM, <[email protected]> wrote:
From: Matt Waddel <[email protected]>
Adds support for the ARM quad-core Cortex-A9 processor. This system includes a motherboard(Versatile Express), daughterboard(Coretile), and an SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions.
The 2nd patch fixes a bug in the "set baudrate xxx" functionality.
Version 2 - Removed unneeded multi-core
low_levelsetup code.Matt Waddel (2):
?ARMV7: Versatile Express Coretile CortexA9x4 support ?ARMV7: Fixed baudrate setting in pl01x driver?MAINTAINERS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 + ?MAKEALL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?1 + ?arch/arm/include/asm/arch-armv7/sysctrl.h ?| ? 68 ++++++++ ?arch/arm/include/asm/arch-armv7/systimer.h | ? 50 ++++++ ?arch/arm/include/asm/arch-armv7/wdt.h ? ? ?| ? 55 +++++++ ?board/armltd/vexpress/Makefile ? ? ? ? ? ? | ? 50 ++++++ ?board/armltd/vexpress/ca9x4_ct_vxp.c ? ? ? | ?231 ++++++++++++++++++++++++++++ ?board/armltd/vexpress/config.mk ? ? ? ? ? ?| ? 26 +++ ?board/armltd/vexpress/u-boot.lds ? ? ? ? ? | ? 50 ++++++ ?boards.cfg ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?1 + ?drivers/serial/serial_pl01x.c ? ? ? ? ? ? ?| ? ?5 +- ?include/configs/ca9x4_ct_vxp.h ? ? ? ? ? ? | ?181 ++++++++++++++++++++++?12 files changed, 721 insertions(+), 1 deletions(-) ?create mode 100644
arch/arm/include/asm/arch-armv7/sysctrl.h?create mode 100644arch/arm/include/asm/arch-armv7/systimer.h?create mode 100644arch/arm/include/asm/arch-armv7/wdt.h?create mode 100644 board/armltd/vexpress/Makefile ?create mode 100644board/armltd/vexpress/ca9x4_ct_vxp.c?create mode 100644board/armltd/vexpress/config.mk?create mode 100644board/armltd/vexpress/u-boot.lds?create mode 100644include/configs/ca9x4_ct_vxp.h_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
v2 cover ARMV7: Add support for Versatile Express CortexA9x4
Dear John Rigby,
Quoted 1 line · In message <[email protected]> you…
I have not seen any NAK's for these two patches so can it go in?
These patches were sent after the merge window closed, so they are candidates for the next release at best.
And I just sent some review comments; they need respinning.
Quoted 2 lines
Wolfgang, I have noticed that recent activity in the arm maintainer tree has been done by you. Are you standing in for Tom?
As good as I can, indeed.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Many Myths are based on truth -- Spock, "The Way to Eden", stardate 5832.3