[U-Boot] [PATCH 2/2] add support of arm/pxa270 board made by voipac
Mikhail Kshevetskiy
mikhail.kshevetskiy at gmail.com
Wed Apr 7 13:46:22 CEST 2010
Dear Wolfgang Denk,
Here is my comments to your notices,
the updated patch is in the following letter.
On Tue, 30 Mar 2010 23:15:45 +0200
Wolfgang Denk <wd at denx.de> wrote:
> Dear Mikhail Kshevetskiy,
>
> In message <20100329162420.40f5433b at laska.campus-ws.pu.ru> you wrote:
> > This patch is based on custom u-boot-1.1.2 version produced by voipac
> > (http://www.voipac.com) and board/trizepsiv files from current u-boot.
> >
> > Up to now only PXA270 DIMM module with NOR flash is tested.
> >
> > Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy at gmail.com>
> > ---
> > Makefile | 3 +
> > board/vpac270/Makefile | 51 +++
> > board/vpac270/config.mk | 3 +
> > board/vpac270/lowlevel_init.S | 740 +++++++++++++++++++++++++++++++++++++++++
> > board/vpac270/vpac270.c | 101 ++++++
> > include/configs/vpac270.h | 329 ++++++++++++++++++
> > 6 files changed, 1227 insertions(+), 0 deletions(-)
> > create mode 100644 board/vpac270/Makefile
> > create mode 100644 board/vpac270/config.mk
> > create mode 100644 board/vpac270/lowlevel_init.S
> > create mode 100644 board/vpac270/vpac270.c
> > create mode 100644 include/configs/vpac270.h
>
> Entries to MAKEALL and MAINTAINERS missing.
fixed
> > diff --git a/board/vpac270/config.mk b/board/vpac270/config.mk
> > new file mode 100644
> > index 0000000..4486f6b
> > --- /dev/null
> > +++ b/board/vpac270/config.mk
> > @@ -0,0 +1,3 @@
> > +TEXT_BASE =0xa1f00000
> > +# 0xa1700000
> > +#TEXT_BASE = 0
>
> Please do not add dead code. Remove it.
fixed
> > diff --git a/board/vpac270/lowlevel_init.S b/board/vpac270/lowlevel_init.S
> > new file mode 100644
> > index 0000000..1df381c
> ...
> > +/* wait for coprocessor write complete */
> > + .macro CPWAIT reg
> > + mrc p15,0,\reg,c2,c0,0
> > + mov \reg,\reg
> > + sub pc,pc,#4
> > + .endm
>
> Indentation and vertial alignment by TAB only. Please fix globally.
fixed,
I try to keep lowlevel_init.S as much close to the same file from board/trizeptiv
as it was possible, so initially i keep formatting and comments style from the
upstream version of board/trizeptiv/lowlevel_init.S.
>
> > + /* Set up GPIO pins first ----------------------------------------- */
> > +
> > + ldr r0, =GPSR0
> > + ldr r1, =CONFIG_SYS_GPSR0_VAL
> > + str r1, [r0]
>
> One TAB between instruction and arguments should be sufficient.
same as above
> > + /* ---------------------------------------------------------------- */
> > + /* Enable memory interface */
> > + /* */
> > + /* The sequence below is based on the recommended init steps */
> > + /* detailed in the Intel PXA250 Operating Systems Developers Guide, */
> > + /* Chapter 10. */
> > + /* ---------------------------------------------------------------- */
>
> Incorrect multiline comment style. Please fix globally.
same as above
> ...
> > + /* MECR: Memory Expansion Card Register */
> > + ldr r2, =CONFIG_SYS_MECR_VAL
> > + str r2, [r1, #MECR_OFFSET]
> > + ldr r2, [r1, #MECR_OFFSET]
>
> Inconsistent indentation - please fix globally.
same as above
> > + /* MCMEM0: Card Interface slot 0 timing */
> > + ldr r2, =CONFIG_SYS_MCMEM0_VAL
> > + str r2, [r1, #MCMEM0_OFFSET]
> > + ldr r2, [r1, #MCMEM0_OFFSET]
> > +
> > + /* MCMEM1: Card Interface slot 1 timing */
> > + ldr r2, =CONFIG_SYS_MCMEM1_VAL
> > + str r2, [r1, #MCMEM1_OFFSET]
> > + ldr r2, [r1, #MCMEM1_OFFSET]
> > +
> > + /* MCATT0: Card Interface Attribute Space Timing, slot 0 */
> > + ldr r2, =CONFIG_SYS_MCATT0_VAL
> > + str r2, [r1, #MCATT0_OFFSET]
> > + ldr r2, [r1, #MCATT0_OFFSET]
> > +
> > + /* MCATT1: Card Interface Attribute Space Timing, slot 1 */
> > + ldr r2, =CONFIG_SYS_MCATT1_VAL
> > + str r2, [r1, #MCATT1_OFFSET]
> > + ldr r2, [r1, #MCATT1_OFFSET]
> > +
> > + /* MCIO0: Card Interface I/O Space Timing, slot 0 */
> > + ldr r2, =CONFIG_SYS_MCIO0_VAL
> > + str r2, [r1, #MCIO0_OFFSET]
> > + ldr r2, [r1, #MCIO0_OFFSET]
> > +
> > + /* MCIO1: Card Interface I/O Space Timing, slot 1 */
> > + ldr r2, =CONFIG_SYS_MCIO1_VAL
> > + str r2, [r1, #MCIO1_OFFSET]
> > + ldr r2, [r1, #MCIO1_OFFSET]
> > +
> > + /* ---------------------------------------------------------------- */
> > + /* Step 2c: Write FLYCNFG FIXME: what's that??? */
> > + /* ---------------------------------------------------------------- */
> > +@ ldr r2, =CONFIG_SYS_FLYCNFG_VAL
> > +@ str r2, [r1, #FLYCNFG_OFFSET]
> > +@ str r2, [r1, #FLYCNFG_OFFSET]
> > +
> > + /* ---------------------------------------------------------------- */
> > + /* Step 2d: Initialize Timing for Sync Memory (SDCLK0) */
> > + /* ---------------------------------------------------------------- */
> > +
> > + /* Before accessing MDREFR we need a valid DRI field, so we set */
> > + /* this to power on defaults + DRI field. */
> > +
> > + ldr r4, [r1, #MDREFR_OFFSET]
> > + ldr r2, =0xFFF
> > + bic r4, r4, r2
> > +
> > + ldr r3, =CONFIG_SYS_MDREFR_VAL
> > + and r3, r3, r2
> > +
> > + orr r4, r4, r3
> > + str r4, [r1, #MDREFR_OFFSET] /* write back MDREFR */
>
>
> Hm... I think most of this does not belong into lowlevel_init.S which
> really should be kept minimal. Most of this should be rewritten in C.
the similar or exactly the same peace of code can be found in lowlevel
initialization of almost all arm/pxa boards, so i think it is reasonable to keep
this code in place.
> > diff --git a/board/vpac270/vpac270.c b/board/vpac270/vpac270.c
> > new file mode 100644
> > index 0000000..723e9d8
> > --- /dev/null
> > +++ b/board/vpac270/vpac270.c
> ...
> > +int board_late_init(void)
> > +{
> > +#if defined(CONFIG_SERIAL_MULTI)
> > + char *console=getenv("boot_console");
> > +
> > + if (console == NULL) console = BOOT_CONSOLE;
>
> Incorrect indentation. Please check and fix globally.
fixed,
The same as early, i try to keep this file similar to
board/trizeptiv/conxs.c file from the upstream.
>
> > diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
> > new file mode 100644
> > index 0000000..969d6d3
> > --- /dev/null
> > +++ b/include/configs/vpac270.h
> ...
> > +//#define DEBUG 15
>
> No C++ comments please. And don't add dead code.
fixed
> ...
> > +#define CONFIG_BOOTDELAY 3
> > +#define CONFIG_BOOTCOMMAND "FIXME"
> > +#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=jffs2 console=ttyS0,115200"
>
> Line too long. Please fix globally.
fixed
> > +#define CONFIG_STACKSIZE (64*1024) /* regular stack */
> > +#ifdef CONFIG_USE_IRQ
> > + #define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */
> > + #define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */
> > +#endif
>
> Indentation by TAB only!
fixed
> > +/*
> > + * GPIO settings
> > + */
> > +#if 1 /* minimal vpac270 settings, includes FFUART and Ethernet */
> ...
> > +#else /* maximal vpac270 settings */
> ...
>
> Do not add dead code. Remove the "#if 1" and the whole "else" block.
fixed
More information about the U-Boot
mailing list