Re: [U-Boot] [PATCH] powerpc/8xxx: Reduce NAND-SPL build size

2011-03-13 Thread Wolfgang Denk
Dear Kumar Gala,

In message  you wrote:
> 
> >> We don't use disable_law in the SPL code so only build it if
> >> !CONFIG_NAND_SPL.
> > 
> > Does -ffunction-sections / --gc-sections not catch this automatically?
>
> Doesn't appear to, but not sure if the NAND makefiles are utilizing those 
> options.

Can you please verify this first?

At first glace it looks as if the compilation was done with
-ffunction-sections and -fdata-sections, but I don't see --gc-sections
on the linker command line

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
Quantum particles: The dreams that stuff is made of.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Please pull u-boot-mpc85xx.git

2011-03-13 Thread Kumar Gala
A few fixes for v2011.03 release.

The following changes since commit c7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8:

  ARM: Update mach-types (2011-02-21 08:30:55 +0100)

are available in the git repository at:
  git://git.denx.de/u-boot-mpc85xx.git master

Ed Swarthout (1):
  powerpc/85xx: Fix plat_mp_up() disabling of BPTR for CoreNet Platforms

John Schmoller (1):
  mpc8[5/6]xx: Ensure POST word does not get reset

Kumar Gala (1):
  fsl_law: Fix LAW printing function

Matthew McClintock (1):
  powerpc/85xx: Fix pixis_reset altbank mask on MPC8536DS

Priyanka Jain (1):
  fsl_esdhc: Correcting esdhc timeout counter calculation

York Sun (3):
  powerpc/mpc8xxx: Fix DDR3 timing_cfg_1 and sdram_mode registers
  corenet_ds: pick the middle value for all tested timing parameters
  powerpc/corenet_ds: revise platform dependent parameters

 arch/powerpc/cpu/mpc85xx/interrupts.c|   16 
 arch/powerpc/cpu/mpc85xx/mp.c|4 +-
 arch/powerpc/cpu/mpc86xx/interrupts.c|   16 
 arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c |   20 +++---
 board/freescale/corenet_ds/ddr.c |   58 +
 drivers/misc/fsl_law.c   |2 +-
 drivers/mmc/fsl_esdhc.c  |   16 -
 include/configs/MPC8536DS.h  |2 +-
 8 files changed, 83 insertions(+), 51 deletions(-)
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] powerpc/8xxx: Reduce NAND-SPL build size

2011-03-13 Thread Kumar Gala

On Mar 13, 2011, at 4:40 PM, Wolfgang Denk wrote:

> Dear Kumar Gala,
> 
> In message <1299471395-26596-1-git-send-email-ga...@kernel.crashing.org> you 
> wrote:
>> We don't use disable_law in the SPL code so only build it if
>> !CONFIG_NAND_SPL.
> 
> Does -ffunction-sections / --gc-sections not catch this automatically?

Doesn't appear to, but not sure if the NAND makefiles are utilizing those 
options.

- k
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH 1/6] Mips: Move content of arch/mips/cpu to arch/mips/cpu/mips32

2011-03-13 Thread Wolfgang Denk
Dear Daniel Schwierzeck,

In message <4d7c147a.5060...@gmail.com> you wrote:
> 
> >> All current CPUs and SoCs are based on Mips32 arch. The complete
> >
> > Is that true? What about purple SoC? IIUC It's based on MIPS 5Kc
> > and capable of 64-bit, which MIPS32 is 32-bit only architecture.
> 
> that was an assumption. I could not find any information about Purple.
> This patch series is a suggestion. Maybe there are better approaches 
> like arch/mips/cpu/{mips4k|mips5k|mips24k|...|octeon}.

Purple is (better: was) indeed a 64 bit system.

OTOH, the purple board has not been actively maintained for several
years, and I'm not aware of anybody who still has access to the
hardware.  If it should cause trouble, it would probably most
appropriate to drop the purple support.

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
No one can guarantee the actions of another.
-- Spock, "Day of the Dove", stardate unknown
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 02/20] mpc832x: add support for the mpc8321 based suvd3 board

2011-03-13 Thread Wolfgang Denk
Dear Heiko Schocher,

In message <1299591018-8944-3-git-send-email...@denx.de> you wrote:
> - serial console on UART1
> - Ethernet RMII over UCC4
> - PHY SMSC LAN8700
> - 64MB Flash
> - 128 MB DDR2 RAM
> - I2C
> - bootcount
> 
> This board is similiar to the kmeter1 (8360) board,
> so common config options are extracted into the
> include/configs/km83xx-common.h file.

...
> -#if defined(CONFIG_BOOTCOUNT_LIMIT) && defined(CONFIG_MPC8360)
> +#if defined(CONFIG_BOOTCOUNT_LIMIT) && \
> +(defined(CONFIG_MPC8360) || defined(CONFIG_MPC832x))
>  #include 

Please keep lists sorted: 832x < 8360.  Please fix globally.

> +phys_size_t initdram (int board_type)
> +{
> +#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
> + extern void ddr_enable_ecc (unsigned int dram_size);
> +#endif
> + volatile immap_t *im = (immap_t *)CONFIG_SYS_IMMR;
> + u32 msize = 0;
> +
> + if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32)im)
> + return -1;
> +
> + /* DDR SDRAM - Main SODIMM */

Is this comment correct?

> + im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_BASE & LAWBAR_BAR;
> + msize = fixed_sdram ();

Can we not use get_ram_size() ?


> +extern int ivm_read_eeprom (void);

Protoypes belong to header files.

Um... seems you did not run checkpatch?

I see this:

[PATCH 01/20] keymile: rework headerfiles for keymile boards
total: 0 errors, 16 warnings, 659 lines checked
[PATCH 02/20] mpc832x: add support for the mpc8321 based suvd3 board
total: 17 errors, 63 warnings, 1326 lines checked
[PATCH 03/20] mpc832x: add support for mpc8321 based tuxa1 board
total: 16 errors, 2 warnings, 250 lines checked
[PATCH 04/20] mpc832x: add support for mpc8321 based tuda1 board
total: 0 errors, 4 warnings, 265 lines checked
...
[PATCH 06/20] arm: add support of Kirkwood based board SUEN8
total: 0 errors, 1 warnings, 73 lines checked
[PATCH 07/20] ppc: add support for ppc based board mgcoge2ne
total: 11 errors, 14 warnings, 733 lines checked
...
[PATCH 09/20] powerpc, 83xx: add kmsupx5 board support
total: 3 errors, 3 warnings, 103 lines checked
[PATCH 10/20] km-arm: i2c support for suenx based boards
total: 1 errors, 0 warnings, 70 lines checked
...
[PATCH 12/20] ppc, 8321: cleanup tuxa1, tuda1 and suvd3 support
total: 1 errors, 5 warnings, 570 lines checked
[PATCH 13/20] keymile, common; fix i2c deblocking support
total: 0 errors, 21 warnings, 161 lines checked
[PATCH 14/20] arm, keymile: updates for the arm based boards from keymile
total: 0 errors, 2 warnings, 142 lines checked
[PATCH 15/20] keymile boards: add CONFIG_PIGGY_MAC_ADRESS_OFFSET
total: 1 errors, 1 warnings, 38 lines checked
[PATCH 16/20] keymile, common: add setting of some environment variables
total: 0 errors, 7 warnings, 145 lines checked
[PATCH 17/20] ppc, arm: rework and enhance keymile-common.h
total: 0 errors, 3 warnings, 253 lines checked
...
[PATCH 19/20] keymile-common.h: remove IO mux stuff
total: 3 errors, 5 warnings, 27 lines checked


Please check and fix where needed.  I stop reviewing here.


Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
I'd rather be led to hell than managed to heaven.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 01/20] keymile: rework headerfiles for keymile boards

2011-03-13 Thread Wolfgang Denk
Dear Heiko Schocher,

In message <1299591018-8944-2-git-send-email...@denx.de> you wrote:
> - This patch reworks all headerfiles for keymile boards (coge, supx4,
>   eter1, suen3).
>   Furthermore, a refactoring on the whole environment variables has been
>   acomplished.

Two independent changes => Please submit as two separate patches.

...
> +#define CONFIG_HUSH_INIT_VAR 1
...
> +#define CONFIG_I2C_MULTI_BUS 1
...
> +#define CONFIG_I2C_MUX   1

Defines like these that select functions only should not be assigned
any numeric (or other value).  Please omit thse.  Please fix globally.

> +#define CONFIG_KM_DEF_ENV_CONSTANTS  \
...
> + "default="  \
> + "setenv default \'run newenv; reset\' &&  " \

These backslashes are redundant at best.  Why not drop them?

...
> + "u-boot=" xstr(CONFIG_HOSTNAME) "/u-boot.bin \0"\

Are you sure you really want that trailing blank? [Please check
globally.]

...
> +#define CONFIG_SYS_MONITOR_LEN   (768 << 10) /* Reserve 
> 768KB for Monitor */

Line too long.  Please fix globally.

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
I object to intellect without discipline;  I object to power without
constructive purpose.
-- Spock, "The Squire of Gothos", stardate 2124.5
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Pull request: u-boot-sh/master

2011-03-13 Thread Wolfgang Denk
Dear Nobuhiro Iwamatsu,

In message  you 
wrote:
> Dear Wolfgang Denk.
> 
> Please pull from u-boot-sh/master.
> 
> The following changes since commit c7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8=
> :
> 
>   ARM: Update mach-types (2011-02-21 08:30:55 +0100)
> 
> are available in the git repository at:
>   git://git.denx.de/u-boot-sh.git master
> 
> Nobuhiro Iwamatsu (2):
>   sh: Add handling of CONFIG_SYS_FLASH_BASE for board.c

Sorry, but I disagree with the CONFIG_SYS_FLASH_BASE patch (see
previous message - and sorry for the late reply).


Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
Democracy is mob rule, but with income taxes.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] sh: Add handling of CONFIG_SYS_FLASH_BASE for board.c

2011-03-13 Thread Wolfgang Denk
Dear Nobuhiro Iwamatsu,

In message <1299484258-6042-1-git-send-email-nobuhiro.iwamatsu...@renesas.com> 
you wrote:
> Some board of SH does not have flash memoy.
> This change initializes bi_flashstart, when CONFIG_SYS_FLASH_BASE was defined,
> 
> Signed-off-by: Nobuhiro Iwamatsu 
> ---
>  arch/sh/lib/board.c |6 ++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c
> index 968566c..81244ae 100644
> --- a/arch/sh/lib/board.c
> +++ b/arch/sh/lib/board.c
> @@ -43,6 +43,7 @@ const char version_string[] = U_BOOT_VERSION" 
> ("U_BOOT_DATE" - "U_BOOT_TIME")";
>  
>  unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN;
>  
> +#if defined(CONFIG_SYS_FLASH_BASE)

I don't think this should depend on CONFIG_SYS_FLASH_BASE.

Boards without NOR flash should define CONFIG_SYS_NO_FLASH, and this
define should be used here.

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
An armed society is a polite society.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] powerpc/8xxx: Reduce NAND-SPL build size

2011-03-13 Thread Wolfgang Denk
Dear Kumar Gala,

In message <1299471395-26596-1-git-send-email-ga...@kernel.crashing.org> you 
wrote:
> We don't use disable_law in the SPL code so only build it if
> !CONFIG_NAND_SPL.

Does -ffunction-sections / --gc-sections not catch this automatically?

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
Perfection is reached, not when there is no longer anything  to  add,
but when there is no longer anything to take away.
   - Antoine de Saint-Exupery
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v4] omap3_beagle: enable the use of a plain text file named uEnv.txt instead of boot.scr

2011-03-13 Thread Wolfgang Denk
Dear Alexander Holler,

In message <4d722d1f.1050...@ahsoftware.de> you wrote:
> 
> I've just seen a patch which makes env import optional, so you might 
> consider adding CONFIG_CMD_IMPORTENV to omap3_beagle.h to be prepared 
> when env import will get optional.

I disagree.  CONFIG_CMD_IMPORTENV shall be enabled by default.

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
Reader, suppose you were an idiot. And suppose you were a  member  of
Congress. But I repeat myself.   - Mark Twain
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/3] ARM: Don't grab memory for LCD if FB address is defined

2011-03-13 Thread Wolfgang Denk
Dear Minkyu Kang,

In message <4d75b591.3040...@samsung.com> you wrote:
> If FB address is defined specific address then don't grab memory for LCD
> 
> Signed-off-by: Minkyu Kang 
> Cc: Albert Aribaud 
> ---
>  arch/arm/lib/board.c |4 
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
> index c620d2c..5a4d2bd 100644
> --- a/arch/arm/lib/board.c
> +++ b/arch/arm/lib/board.c
> @@ -356,9 +356,13 @@ void board_init_f (ulong bootflag)
>  #endif /* CONFIG_VFD */
>  
>  #ifdef CONFIG_LCD
> +#ifdef CONFIG_FB_ADDR

If you add a new CONFIG_ option, then you must document it (at least
in the README).


Also, you must not split this into several patches, one for each
architecture.  All these changes must be done in a single commit.

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
A good marriage would be between a blind wife and deaf husband.
   -- Michel de Montaigne
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 01/21] Define new system_restart() and emergency_restart()

2011-03-13 Thread Wolfgang Denk
Dear Kyle Moffett,

In message <1299519462-25320-2-git-send-email-kyle.d.moff...@boeing.com> you 
wrote:
> In preparation for making system restart use a generic set of hooks for
> boards and architectures, we define some wrappers and weak stubs.
> 
> The new wrapper functions are:
>   system_restart() -  Normal system reboot (IE: user request)
>   emergency_restart()  -  Critical error response (IE: panic(), etc)

What is the difference between these two - and why do we need
different functions at all?

A reset is a reset is a reset, isn't it?

...
> +/*
> + * This MUST be called from normal interrupts-on context.  If it requires
> + * extended interaction with external hardware it SHOULD react to Ctrl-C.

??? Why such complicated restrictions for a simple command that is
just supposed to reset the board?

> + * If this function fails to guarantee a clean reboot or receives a Ctrl-C
> + * keystroke it SHOULD return with an error (-1).

A "reset" is supposed to take place immediately, and unconditionally.
If you need delays and ^C handling and other bells and whistles,
please add these to your own code, but not here.

> +int system_restart(void)
> +{
> + int err;
> +
> + /*
> +  * Print a nice message and wait a bit to make sure it goes out the
> +  * console properly.
> +  */
> + printf ("Restarting...\n");
> + udelay(5);
> +
> + /* First let the board code try to reboot */
> + err = __board_restart();
> + if (err)
> + goto failed;
> +
> + /* Now call into the architecture-specific code */
> + err = __arch_restart();
> + if (err)
> + goto failed;
> +
> + /* Fallback to the old do_reset() until everything is converted. */
> + err = do_reset(NULL, 0, 0, NULL);
> +
> +failed:
> + printf("*** SYSTEM RESTART FAILED ***\n");
> + return err;
> +}

You are making a simple thing pretty much complicated.  This adds lots
of code and I cannot see any benefits.

My initial feeling is a plain NAK, for this and the rest of the patch
series.  Why would we want all this?

Best regards,

Wolfgang Denk

-- 
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: w...@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_
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 0/21] Generic cross-architecture system restart support

2011-03-13 Thread Wolfgang Denk
Dear Kyle Moffett,

In message <1299519462-25320-1-git-send-email-kyle.d.moff...@boeing.com> you 
wrote:
> 
> This patchset is designed to produce zero change in behavior *except* for
> one particular scenario:  Platforms which perform a "restart" with a simple
> jump to the "_start" entrypoint (or similar) will no longer try to do that
> on panic().
> 
> The new functions to be called from generic code are:
> 
>   int system_restart(void)
>   void emergency_restart(void)

Could you please explain what these functions are supposed to do?

> The first few patches set up the generic functions and hooks with a default
> fallback to the existing "do_reset()" function.  Most of the rest are then
> architecture-specific modifications necessary to convert away from the old
> do_reset() prototype.  The last patch finally does away with that function.

Why do you replace a simple name like "reset" with a more complicated
name like "system_restart"?

What is emergency_restart() needed for?

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
I wish I had a bronze torc for every user who didn't read the manual.
 - Terry Pratchett, _The Light Fantastic_
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] common/update.c ITB update code refactoring

2011-03-13 Thread Wolfgang Denk
Dear Dvorkin Dmitry,

In message <4d74e9a1.1000...@tibbo.com> you wrote:
> common/update.c used to update flash with ITB image.
> With this patch it can also use any templated nash commands to load and 
> save blobs.
> Also it adds nand as possible target for update.
> 
> Usage example:
> // to load itb from usb mass-storage device and save it into nand using 
> nash commands

What exactly are "nash commands" ?

> setenv updatefile updateimage.itb
> setenv loadaddr 0x7200
> setenv upditb_load_method cmd
> setenv upditb_cmd_load_pre usb start
> setenv upditb_cmd_load fatload usb 0:1 {load_to} {file}
> setenv upditb_save_method cmd
> setenv upditb_cmd_save nand write {addr_src} {addr_dst} {img_size}
> 
> // better way to do the same task:
> setenv updatefile updateimage.itb
> setenv loadaddr 0x7200
> setenv upditb_load_method cmd
> setenv upditb_cmd_load_pre usb start
> setenv upditb_cmd_load fatload usb 0:1 {load_to} {file}
> setenv upditb_save_method nand

This seems to be pretty much hardwired and thus inflexible to me.
Why do you consider this a better approach in general, and why do you
consider the upper example to be better than the lower one?

> seems, common/upditb.c filname better fits it's perpose then 
> common/update.c. and it sounds more general. old function names are 
> changed also.

"upditb" is pretty much unreadable; I don't like it.

Please split renames and functional changes into separate patches. And
make sure to use correct git options so git detects renames.

...
> + * (C) Copyright 2011 Tibbo Tech.
> + * Code refactoring, Cmd and Nand load/save features:
> + * Dvorkin Dmitry 

Don't add history of changes to the code; we have this in the git
commit messages.

Also, why add nand-specific code?  What about dataflash, spiflash, or
any other storage devices?

If you generalize this, then please make it as generic as possible.


My review stops here, as it's impossible to see what you changed
because the changes appear as complere file removal / file addition.

Best regards,

Wolfgang Denk

-- 
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: w...@denx.de
"Buy land. They've stopped making it."   - Mark Twain
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] arm: Tegra2: add support for A9 CPU init

2011-03-13 Thread Albert ARIBAUD
Le 16/02/2011 21:26, Tom Warren a écrit :
> Signed-off-by: Tom Warren
> ---
>   arch/arm/cpu/armv7/start.S |6 +
>   arch/arm/cpu/armv7/tegra2/Makefile |2 +-

>   arch/arm/cpu/armv7/tegra2/ap20.c   |  490 
> 
This one has an extra empty line at end of file.

> +void cold_boot(void)
> +{
> + asm volatile(
> +
> + "msr cpsr_c, #0xd3\n"
> + /*
> + * Check current processor: CPU or AVP?
> + * If AVP, go to AVP boot code, else continue on.
> + */
> + "mov r0, %0   \n"
> + "ldrbr2, [r0, %1] \n"
> + /* are we the CPU? */
> + "cmp r2, %2   \n"
> + "mov sp, %3   \n"
> + /* leave in some symbols for release debugging */
> + "mov r3, %6   \n"
> + "str r3, [sp, #-4]!   \n"
> + "str r3, [sp, #-4]!   \n"
> + /*  yep, we are the CPU */
> + "bxeq %4  \n"
> + /* AVP Initialization follows this path */
> + "mov sp, %5   \n"
> + /* leave in some symbols for release debugging */
> + "mov r3, %6   \n"
> + "str r3, [sp, #-4]!   \n"
> + "str r3, [sp, #-4]!   \n"
> +
> + /* Init and Start CPU */
> + "b   startup_cpu  \n"
> + :
> + : "i"(NV_PA_PG_UP_BASE),

If I'm not mistaken, NV_PA_PG_UP_BASE could be used just as well 
directly in the asm statement instead of via %0 and i(), as anyway the 
asm will be preprocessed and the macro will turn to a number. That would 
simplify the asm instruction as a whole and make the asm statement more 
understandable (also applies to other macros used similarly).

Apart from that, I must admit I don't know the Tegra2/A9 well enough to 
comment further.

amicalement,
Amicalement,
-- 
Albert.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] common/update.c ITB update code refactoring

2011-03-13 Thread Albert ARIBAUD
(seeing nobody else answered)

Hi Dmitry,

Le 07/03/2011 15:20, Dvorkin Dmitry a écrit :
> common/update.c used to update flash with ITB image.
> With this patch it can also use any templated nash commands to load and
> save blobs.
> Also it adds nand as possible target for update.

Is this an official patch submission or an RFC? Please add "[PATCH]" or 
"[RFC]" accordingly and resubmit -- making sure the commit message 
remains synthetic, and any additional indication remains after the "---" 
separation line.

Amicalement,
-- 
Albert.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] mpc8[5/6]xx: Ensure POST word does not get reset

2011-03-13 Thread Kumar Gala

On Mar 10, 2011, at 4:09 PM, Peter Tyser wrote:

> From: John Schmoller 
> 
> The POST word is stored in a spare register in the PIC on MPC8[5/6]xx
> processors.  When interrupt_init() is called, this register gets reset
> which resulted in all POST_RAM POSTs not being ran due to the corrupted
> POST word.  To resolve this, store off POST word before the PIC is
> reset, and restore it after the PIC has been initialized.
> 
> Signed-off-by: John Schmoller 
> Signed-off-by: Peter Tyser 
> ---
> This is a bugfix, so it'd be nice if it made it into the upcoming release
> if possible.
> 
> arch/powerpc/cpu/mpc85xx/interrupts.c |   16 
> arch/powerpc/cpu/mpc86xx/interrupts.c |   16 
> 2 files changed, 32 insertions(+), 0 deletions(-)

applied

- k
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] p4080ds starts OS with MSR[EE]=1 and DEC armed?

2011-03-13 Thread Jimi Xenidis
On Mar 12, 2011, at 4:56 PM, Kumar Gala wrote:
> 
> 
> On Mar 3, 2011, at 8:59 AM, Jimi Xenidis wrote:
> 
>> I was surprised to find myself at the decrement interrupt when running my 
>> new stuff.
>> That is against ePAPR, right?
>> Does u-boot at least make sure that the DEC is set to some large value 
>> before it leaps at me?
>> I don't mind forcing EE=0 but I'd like to make sure I make it that far into 
>> the code :)
>> -JX
> 
> Jimi,
> 
> Not sure how or why you are seeing this, but u-boot should disable interrupts 
> in common/cmd_bootm.c
> 
> Look for disable_interrupts() -> this should set MSR[EE] = 0.

Sorry, this is my brain fart.
I was running my unit tests (on SimiCS p4080ds) and when I set MSR[EE]=1 to get 
a doorbell, I got a DEC (as one should according to interrupt order).
Turns out that TSR[DIS] was on when my program took over, and this is ePAPR 
legal.
I need to reset the DEC in my code.

Sorry for the confusion.
-JX

> 
> - k
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] powerpc/85xx: Fix determining Fman freq on P1023

2011-03-13 Thread Kumar Gala
On the P1023 the Fman freq is equivalent to the system bus freq, not 1/2
of it.  Also we only have one Fman so no need for the code to deal with
a second.

Signed-off-by: Kumar Gala 
---
 arch/powerpc/cpu/mpc85xx/speed.c |5 +
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/cpu/mpc85xx/speed.c b/arch/powerpc/cpu/mpc85xx/speed.c
index 2caff4b..c4c156d 100644
--- a/arch/powerpc/cpu/mpc85xx/speed.c
+++ b/arch/powerpc/cpu/mpc85xx/speed.c
@@ -196,10 +196,7 @@ void get_sys_info (sys_info_t * sysInfo)
 #endif
 
 #ifdef CONFIG_SYS_DPAA_FMAN
-   sysInfo->freqFMan[0] = sysInfo->freqSystemBus / 2;
-#if (CONFIG_SYS_NUM_FMAN) == 2
-   sysInfo->freqFMan[1] = sysInfo->freqSystemBus / 2;
-#endif
+   sysInfo->freqFMan[0] = sysInfo->freqSystemBus;
 #endif
 
 #endif /* CONFIG_FSL_CORENET */
-- 
1.7.2.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3 2/2] powerpc/8xxx: Update USB device tree fixup

2011-03-13 Thread Kumar Gala
From: Ramneek Mehresh 

Modify support for USB mode fixup:
* Add support for fetching USB mode and phy type via hwconfig
* Add common support for USB mode and phy type device tree fix-up for all
  USB controllers mentioned in hwconfig string

Signed-off-by: Ramneek Mehresh 
Signed-off-by: Kumar Gala 
---
v2:
* minor bug fix in fdt_fixup_dr_usb logic:
  mode_idx should be set to 'j'. 
v3:
* Same issues as v2, but for phy_idx

 arch/powerpc/cpu/mpc8xxx/fdt.c |   81 +---
 1 files changed, 67 insertions(+), 14 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xxx/fdt.c b/arch/powerpc/cpu/mpc8xxx/fdt.c
index 0c166fd..0edd214 100644
--- a/arch/powerpc/cpu/mpc8xxx/fdt.c
+++ b/arch/powerpc/cpu/mpc8xxx/fdt.c
@@ -29,6 +29,10 @@
 #include 
 #include 
 #include 
+#include 
+#ifdef CONFIG_HAS_FSL_DR_USB
+#include 
+#endif
 
 #if defined(CONFIG_MP) && (defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx))
 static int ft_del_cpuhandle(void *blob, int cpuhandle)
@@ -84,25 +88,22 @@ void ft_fixup_num_cores(void *blob) {
 #endif /* defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) */
 
 #ifdef CONFIG_HAS_FSL_DR_USB
-void fdt_fixup_dr_usb(void *blob, bd_t *bd)
+static void fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
+   const char *phy_type)
 {
-   char *mode;
-   char *type;
const char *compat = "fsl-usb2-dr";
const char *prop_mode = "dr_mode";
const char *prop_type = "phy_type";
+   static int start_offset = -1;
int node_offset;
int err;
 
-   mode = getenv("usb_dr_mode");
-   type = getenv("usb_phy_type");
-   if (!mode && !type)
-   return;
-
-   node_offset = fdt_node_offset_by_compatible(blob, 0, compat);
+   node_offset = fdt_node_offset_by_compatible(blob,
+   start_offset, compat);
if (node_offset < 0) {
-   printf("WARNING: could not find compatible node %s: %s.\n",
-   compat, fdt_strerror(node_offset));
+   printf("WARNING: could not find compatible"
+   "node %s: %s.\n", compat,
+   fdt_strerror(node_offset));
return;
}
 
@@ -114,14 +115,66 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd)
   prop_mode, compat, fdt_strerror(err));
}
 
-   if (type) {
-   err = fdt_setprop(blob, node_offset, prop_type, type,
- strlen(type) + 1);
+   if (phy_type) {
+   err = fdt_setprop(blob, node_offset, prop_type, phy_type,
+ strlen(phy_type) + 1);
if (err < 0)
printf("WARNING: could not set %s for %s: %s.\n",
   prop_type, compat, fdt_strerror(err));
}
+
+   start_offset = node_offset;
 }
+
+void fdt_fixup_dr_usb(void *blob, bd_t *bd)
+{
+   const char *modes[] = { "host", "peripheral", "otg" };
+   const char *phys[] = { "ulpi", "umti" };
+   const char *mode = NULL;
+   const char *phy_type = NULL;
+   char str[5];
+   char usb1_defined = 0;
+   int i, j;
+
+   for (i = 1; i <= USB_MAX_DEVICE; i++) {
+   int mode_idx = -1, phy_idx = -1;
+   sprintf(str, "%s%d", "usb", i);
+   if (hwconfig(str)) {
+   for (j = 0; j < sizeof(modes); j++) {
+   if (hwconfig_subarg_cmp(str, "dr_mode",
+   modes[j])) {
+   mode_idx = j;
+   break;
+   }
+   }
+   for (j = 0; j < sizeof(phys); j++) {
+   if (hwconfig_subarg_cmp(str, "phy_type",
+   phys[j])) {
+   phy_idx = j;
+   break;
+   }
+   }
+   if ((mode_idx >= 0) || (phy_idx >= 0)) {
+   fdt_fixup_usb_mode_phy_type(blob,
+   modes[mode_idx], phys[phy_idx]);
+   if (!strcmp(str, "usb1"))
+   usb1_defined = 1;
+   } else {
+   printf("WARNING: invalid phy or mode\n");
+   }
+   } else {
+   break;
+   }
+   }
+   if (!usb1_defined) {
+   mode = getenv("usb_dr_mode");
+   phy_type = getenv("usb_phy_type");
+   if (!mode && !phy_type)
+   return;
+   fdt_fixup_usb_mode_phy_type(blob, mode, phy_type);
+   }
+}
+
 #endif /* CONFIG_HAS_FSL_DR_USB */
 
 /*
-- 
1.7.2.3


[U-Boot] [PATCH v2 2/2] powerpc/8xxx: Update USB device tree fixup

2011-03-13 Thread Kumar Gala
From: Ramneek Mehresh 

Modify support for USB mode fixup:
* Add support for fetching USB mode and phy type via hwconfig
* Add common support for USB mode and phy type device tree fix-up for all
  USB controllers mentioned in hwconfig string

Signed-off-by: Ramneek Mehresh 
Signed-off-by: Kumar Gala 
---
* minor bug fix in fdt_fixup_dr_usb logic:
   mode_idx should be set to 'j'.

 arch/powerpc/cpu/mpc8xxx/fdt.c |   81 +---
 1 files changed, 67 insertions(+), 14 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xxx/fdt.c b/arch/powerpc/cpu/mpc8xxx/fdt.c
index 0c166fd..68f3e4e 100644
--- a/arch/powerpc/cpu/mpc8xxx/fdt.c
+++ b/arch/powerpc/cpu/mpc8xxx/fdt.c
@@ -29,6 +29,10 @@
 #include 
 #include 
 #include 
+#include 
+#ifdef CONFIG_HAS_FSL_DR_USB
+#include 
+#endif
 
 #if defined(CONFIG_MP) && (defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx))
 static int ft_del_cpuhandle(void *blob, int cpuhandle)
@@ -84,25 +88,22 @@ void ft_fixup_num_cores(void *blob) {
 #endif /* defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) */
 
 #ifdef CONFIG_HAS_FSL_DR_USB
-void fdt_fixup_dr_usb(void *blob, bd_t *bd)
+static void fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
+   const char *phy_type)
 {
-   char *mode;
-   char *type;
const char *compat = "fsl-usb2-dr";
const char *prop_mode = "dr_mode";
const char *prop_type = "phy_type";
+   static int start_offset = -1;
int node_offset;
int err;
 
-   mode = getenv("usb_dr_mode");
-   type = getenv("usb_phy_type");
-   if (!mode && !type)
-   return;
-
-   node_offset = fdt_node_offset_by_compatible(blob, 0, compat);
+   node_offset = fdt_node_offset_by_compatible(blob,
+   start_offset, compat);
if (node_offset < 0) {
-   printf("WARNING: could not find compatible node %s: %s.\n",
-   compat, fdt_strerror(node_offset));
+   printf("WARNING: could not find compatible"
+   "node %s: %s.\n", compat,
+   fdt_strerror(node_offset));
return;
}
 
@@ -114,14 +115,66 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd)
   prop_mode, compat, fdt_strerror(err));
}
 
-   if (type) {
-   err = fdt_setprop(blob, node_offset, prop_type, type,
- strlen(type) + 1);
+   if (phy_type) {
+   err = fdt_setprop(blob, node_offset, prop_type, phy_type,
+ strlen(phy_type) + 1);
if (err < 0)
printf("WARNING: could not set %s for %s: %s.\n",
   prop_type, compat, fdt_strerror(err));
}
+
+   start_offset = node_offset;
 }
+
+void fdt_fixup_dr_usb(void *blob, bd_t *bd)
+{
+   const char *modes[] = { "host", "peripheral", "otg" };
+   const char *phys[] = { "ulpi", "umti" };
+   const char *mode = NULL;
+   const char *phy_type = NULL;
+   char str[5];
+   char usb1_defined = 0;
+   int i, j;
+
+   for (i = 1; i <= USB_MAX_DEVICE; i++) {
+   int mode_idx = -1, phy_idx = -1;
+   sprintf(str, "%s%d", "usb", i);
+   if (hwconfig(str)) {
+   for (j = 0; j < sizeof(modes); j++) {
+   if (hwconfig_subarg_cmp(str, "dr_mode",
+   modes[j])) {
+   mode_idx = j;
+   break;
+   }
+   }
+   for (j = 0; j < sizeof(phys); j++) {
+   if (hwconfig_subarg_cmp(str, "phy_type",
+   phys[j])) {
+   phy_idx = -1;
+   break;
+   }
+   }
+   if ((mode_idx >= 0) || (phy_idx >= 0)) {
+   fdt_fixup_usb_mode_phy_type(blob,
+   modes[mode_idx], phys[phy_idx]);
+   if (!strcmp(str, "usb1"))
+   usb1_defined = 1;
+   } else {
+   printf("WARNING: invalid phy or mode\n");
+   }
+   } else {
+   break;
+   }
+   }
+   if (!usb1_defined) {
+   mode = getenv("usb_dr_mode");
+   phy_type = getenv("usb_phy_type");
+   if (!mode && !phy_type)
+   return;
+   fdt_fixup_usb_mode_phy_type(blob, mode, phy_type);
+   }
+}
+
 #endif /* CONFIG_HAS_FSL_DR_USB */
 
 /*
-- 
1.7.2.3

___
U-Boot mailing list

[U-Boot] [PATCH v2 3/3] powerpc/85xx: Add support for ULI1575 PCI EHCI module on MPC8572DS

2011-03-13 Thread Kumar Gala
From: Zhao Chenhui 

MPC8572DS provides 2 USB ports with ULI1575. We enable USB storage
device support using PCI EHCI module.

Signed-off-by: Zhao Chenhui 
Signed-off-by: Kumar Gala 
---
 include/configs/MPC8572DS.h |   14 ++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h
index 0f419c5..62ce3c4 100644
--- a/include/configs/MPC8572DS.h
+++ b/include/configs/MPC8572DS.h
@@ -672,6 +672,20 @@
 #define CONFIG_CMD_EXT2
 #endif
 
+/*
+ * USB
+ */
+#define CONFIG_USB_EHCI
+
+#ifdef CONFIG_USB_EHCI
+#define CONFIG_CMD_USB
+#define CONFIG_USB_EHCI_PCI
+#define ONFIG_EHCI_HCD_INIT_AFTER_RESET
+#define CONFIG_USB_STORAGE
+#define CONFIG_PCI_EHCI_DEVICE 0
+#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
+#endif
+
 #undef CONFIG_WATCHDOG /* watchdog disabled */
 
 /*
-- 
1.7.2.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] echi: add ULI1575 PCI ID

2011-03-13 Thread Kumar Gala
From: Zhao Chenhui 

Add ULI1575 EHCI controller to the list of the supported devices.

Signed-off-by: Zhao Chenhui 
Signed-off-by: Kumar Gala 
---
* replaces previous patch for 8572ds
* adds feedback from Remy

 drivers/usb/host/ehci-pci.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index cff3438..bf490b0 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -29,6 +29,7 @@
 static struct pci_device_id ehci_pci_ids[] = {
/* Please add supported PCI EHCI controller ids here */
{0x1033, 0x00E0},
+   {0x10b9, 0x5239},   /* ULI1575 PCI EHCI module ids */
{0, 0}
 };
 #endif
-- 
1.7.2.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2 4/6] powerpc/85xx: Add support usb2/etsec and tdm/audio pin multiplex on P1022DS

2011-03-13 Thread Kumar Gala
From: Jiang Yutang 

For soc which have pin multiplex relation, some of them can't enable
simultaneously. This patch add environment var 'hwconfig' content
defination for them. you can enable some one function by setting
environment var 'hwconfig' content and reset board. Detail setting
please refer doc/README.p1022ds

Signed-off-by: Jiang Yutang 
Signed-off-by: Kumar Gala 
---
* TDM need some configration option by SPI, so enable SPI while enable TDM.

 arch/powerpc/include/asm/immap_85xx.h |   10 ++
 board/freescale/p1022ds/p1022ds.c |   56 ++--
 doc/README.p1022ds|   24 ++
 3 files changed, 79 insertions(+), 11 deletions(-)
 create mode 100644 doc/README.p1022ds

diff --git a/arch/powerpc/include/asm/immap_85xx.h 
b/arch/powerpc/include/asm/immap_85xx.h
index 5118fe0..b51017b 100644
--- a/arch/powerpc/include/asm/immap_85xx.h
+++ b/arch/powerpc/include/asm/immap_85xx.h
@@ -1937,7 +1937,17 @@ typedef struct ccsr_gur {
 #define MPC85xx_PMUXCR_QE100x0020
 #define MPC85xx_PMUXCR_QE110x0010
 #define MPC85xx_PMUXCR_QE120x0008
+#if defined(CONFIG_P1013) || defined(CONFIG_P1022)
+#define MPC85xx_PMUXCR_TDM_MASK0x0001cc00
+#define MPC85xx_PMUXCR_TDM 0x00014800
+#define MPC85xx_PMUXCR_SPI_MASK0x0060
+#define MPC85xx_PMUXCR_SPI 0x
+#endif
u32 pmuxcr2;/* Alt. function signal multiplex control 2 */
+#if defined(CONFIG_P1013) || defined(CONFIG_P1022)
+#define MPC85xx_PMUXCR2_ETSECUSB_MASK  0x001f1000
+#define MPC85xx_PMUXCR2_USB0x0015
+#endif
u8  res6[8];
u32 devdisr;/* Device disable control */
 #define MPC85xx_DEVDISR_PCI1   0x8000
diff --git a/board/freescale/p1022ds/p1022ds.c 
b/board/freescale/p1022ds/p1022ds.c
index 6f20dc3..8b78404 100644
--- a/board/freescale/p1022ds/p1022ds.c
+++ b/board/freescale/p1022ds/p1022ds.c
@@ -93,11 +93,19 @@ int checkboard(void)
 /* Choose the 11.2896Mhz codec reference clock */
 #define CONFIG_PIXIS_BRDCFG1_AUDCLK_11 0x01
 
+/* Connect to USB2 */
+#define CONFIG_PIXIS_BRDCFG0_USB2  0x10
+/* Connect to TFM bus */
+#define CONFIG_PIXIS_BRDCFG1_TDM   0x0c
+/* Connect to SPI */
+#define CONFIG_PIXIS_BRDCFG0_SPI   0x80
+
 int misc_init_r(void)
 {
u8 temp;
const char *audclk;
size_t arglen;
+   ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
 
/* For DVI, enable the TFP410 Encoder. */
 
@@ -115,22 +123,48 @@ int misc_init_r(void)
return -1;
debug("DVI Encoder Read: 0x%02x\n",temp);
 
+   /* Enable the USB2 in PMUXCR2 and FGPA */
+   if (hwconfig("usb2")) {
+   clrsetbits_be32(&gur->pmuxcr2, MPC85xx_PMUXCR2_ETSECUSB_MASK,
+   MPC85xx_PMUXCR2_USB);
+   setbits_8(&pixis->brdcfg0, CONFIG_PIXIS_BRDCFG0_USB2);
+   }
+
+   /* tdm and audio can not enable simultaneous*/
+   if (hwconfig("tdm") && hwconfig("audclk")){
+   printf("WARNING: TDM and AUDIO can not be enabled simultaneous 
!\n");
+   return -1;
+   }
+
+   /* Enable the TDM in PMUXCR and FGPA */
+   if (hwconfig("tdm")) {
+   clrsetbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_TDM_MASK,
+   MPC85xx_PMUXCR_TDM);
+   setbits_8(&pixis->brdcfg1, CONFIG_PIXIS_BRDCFG1_TDM);
+   /* TDM need some configration option by SPI */
+   clrsetbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_SPI_MASK,
+   MPC85xx_PMUXCR_SPI);
+   setbits_8(&pixis->brdcfg0, CONFIG_PIXIS_BRDCFG0_SPI);
+   }
+
/*
 * Enable the reference clock for the WM8776 codec, and route the MUX
 * pins for SSI. The default is the 12.288 MHz clock
 */
 
-   temp = in_8(&pixis->brdcfg1) & ~(CONFIG_PIXIS_BRDCFG1_SSI_TDM_MASK |
-   CONFIG_PIXIS_BRDCFG1_AUDCLK_MASK);
-   temp |= CONFIG_PIXIS_BRDCFG1_SSI_TDM_SSI;
-
-   audclk = hwconfig_arg("audclk", &arglen);
-   /* Check the first two chars only */
-   if (audclk && (strncmp(audclk, "11", 2) == 0))
-   temp |= CONFIG_PIXIS_BRDCFG1_AUDCLK_11;
-   else
-   temp |= CONFIG_PIXIS_BRDCFG1_AUDCLK_12;
-   out_8(&pixis->brdcfg1, temp);
+   if (hwconfig("audclk")) {
+   temp = in_8(&pixis->brdcfg1) & 
~(CONFIG_PIXIS_BRDCFG1_SSI_TDM_MASK |
+   CONFIG_PIXIS_BRDCFG1_AUDCLK_MASK);
+   temp |= CONFIG_PIXIS_BRDCFG1_SSI_TDM_SSI;
+
+   audclk = hwconfig_arg("audclk", &arglen);
+   /* Check the first two chars only */
+   if (audclk && (strncmp(audclk, "11", 2) == 0))
+   temp |= CONFIG_PIXIS_BRDCFG1_AUDCLK_11;
+   else
+   temp |= CONFIG_PIXIS_BRDCFG1_AUDCLK_12;
+

[U-Boot] [PATCH]: add canyonlands RAM-boot target

2011-03-13 Thread Fawaz
This Patch adds another build target for the AMCC Canyonlands 
[PPC460Ex] eval board, this target can be used to do NAND flash or NOR 
flash programming in a virgin board using u-boot commands. Using JTAG 
debugger(e.g. BDI2000/3000) configured to setup the SDRAM.
 here are TLB entries required to load RAM-u-boot (for BDI2000/3000):
 WTLB   0x0095  0x003F  ;SDRAM 256MB @ 0x
 WTLB  0xE105  0x4E10001B

 do SDRAM configuration.

 Then do the following usin JTAG emulator:
 460EX>load 0x0100 u-boot.bin bin
 460EX>go

 Back to serial session that connected to canyonlands's serial port.

  Signed-off-by: Fawaz Gaili 
  Cc: Stefan Roese 
  Cc: Wolfgang Denk 
  Cc: Felix Radensky 
---
  arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c |   11 ++-
  arch/powerpc/cpu/ppc4xx/Makefile   |2 +
  board/amcc/canyonlands/canyonlands.c   |3 +-
  board/amcc/canyonlands/init.S  |6 ++
  board/amcc/canyonlands/u-boot-ram.lds  |   96 
  boards.cfg |1 +
  include/configs/canyonlands.h  |   31 +--
  7 files changed, 137 insertions(+), 13 deletions(-)

diff --git a/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c 
b/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
index 95df1d9..2660cd2 100644
--- a/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
+++ b/arch/powerpc/cpu/ppc4xx/44x_spd_ddr2.c
@@ -66,7 +66,8 @@
 "SDRAM_" #mnemonic, SDRAM_##mnemonic, data);\
  } while (0)

-#if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
+#if (!defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_SYS_RAMBOOT))\
+|| defined(CONFIG_NAND_SPL)
  static void update_rdcc(void)
  {
  u32 val;
@@ -2896,7 +2897,8 @@ phys_size_t initdram(int board_type)
   * mustn't be reconfigured again since we're already running
   * from SDRAM.
   */
-#if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
+#if (!defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_SYS_RAMBOOT)) \
+|| defined(CONFIG_NAND_SPL)
  unsigned long val;

  #if defined(CONFIG_440)
@@ -3013,12 +3015,13 @@ phys_size_t initdram(int board_type)
  #endif

  #if defined(CONFIG_PPC4xx_DDR_AUTOCALIBRATION)
-#if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL)
+#if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_SYS_RAMBOOT)\
+ && !defined(CONFIG_NAND_SPL)
  /*--
   | DQS calibration.
   +-*/
  DQS_autocalibration();
-#endif /* !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) */
+#endif /* !defined(CONFIG_NAND_U_BOOT && CONFIG_SYS_RAMBOOT) && 
!defined(CONFIG_NAND_SPL) */
  #endif /* CONFIG_PPC4xx_DDR_AUTOCALIBRATION */

  /*
diff --git a/arch/powerpc/cpu/ppc4xx/Makefile 
b/arch/powerpc/cpu/ppc4xx/Makefile
index d97ca20..02a48f9 100644
--- a/arch/powerpc/cpu/ppc4xx/Makefile
+++ b/arch/powerpc/cpu/ppc4xx/Makefile
@@ -36,9 +36,11 @@ COBJS:= 40x_spd_sdram.o

  ifndef CONFIG_NAND_SPL
  ifndef CONFIG_NAND_U_BOOT
+ifndef CONFIG_SYS_RAMBOOT
  COBJS+= 44x_spd_ddr.o
  endif
  endif
+endif
  COBJS-$(CONFIG_SDRAM_PPC4xx_IBM_DDR2) += 44x_spd_ddr2.o
  COBJS-$(CONFIG_PPC4xx_DDR_AUTOCALIBRATION) += 4xx_ibm_ddr2_autocalib.o
  COBJS+= 4xx_pci.o
diff --git a/board/amcc/canyonlands/canyonlands.c 
b/board/amcc/canyonlands/canyonlands.c
index 80e2739..d1f5e4f 100644
--- a/board/amcc/canyonlands/canyonlands.c
+++ b/board/amcc/canyonlands/canyonlands.c
@@ -390,8 +390,8 @@ int board_early_init_r (void)
   */

  /* Remap the NOR FLASH to 0xcc00. ... 0xcfff. */
-#if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
-mtebc(PB3CR, CONFIG_SYS_FLASH_BASE_PHYS_L | 0xda000);
+#if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) \
+|| defined(CONFIG_SYS_RAMBOOT)mtebc(PB3CR, 
CONFIG_SYS_FLASH_BASE_PHYS_L | 0xda000);
  #else
  mtebc(PB0CR, CONFIG_SYS_FLASH_BASE_PHYS_L | 0xda000);
  #endif
diff --git a/board/amcc/canyonlands/init.S b/board/amcc/canyonlands/init.S
index 8b7bfce..526d8bd 100644
--- a/board/amcc/canyonlands/init.S
+++ b/board/amcc/canyonlands/init.S
@@ -66,6 +66,13 @@ tlbtab:
  tlbentry(CONFIG_SYS_INIT_RAM_ADDR, SZ_4K, 
CONFIG_SYS_INIT_RAM_ADDR, 0, AC_RWX | SA_G)
  #endif

+#ifdef CONFIG_SYS_RAMBOOT
+#if CONFIG_SYS_MBYTES_SDRAM >= 512
+tlbentry(0x1000, SZ_256M, 0x1000, 0x0, 
AC_R|AC_W|SA_G|SA_I|AC_X)
+/*additional entry required*/
+#endif
+#endif
+
  tlbentry(CONFIG_SYS_PCI_BASE, SZ_256M, 0x, 0xC, AC_RW | SA_IG)
  tlbentry(CONFIG_SYS_PCI_MEMBASE, SZ_256M, 0x2000, 0xC, AC_RW | 
SA_IG)
  tlbentry(CONFIG_SYS_PCIE_MEMBASE, SZ_256M, 0xB000, 0xD, AC_RW 
| SA_IG)
diff --git a/board/amcc/canyonlands/u-boot-ram.lds 
b/board/amcc/canyonlands/u-boot-ram.lds
new file mode 100644
index 000..e98d947
--- /dev/null
+++ b/board/amcc/canyonlands/u-b

[U-Boot] [PATCH] Ethernut 5 board support

2011-03-13 Thread Harald Kipp
Add support for the Ethernut 5 open hardware design, based on Atmel's 
AT91SAM9XE512 SoC.

Signed-off-by: Harald Kipp 
---
 MAINTAINERS   |3 +
 board/egnite/ethernut5/Makefile   |   54 +
 board/egnite/ethernut5/ethernut5.c|  259 +
 board/egnite/ethernut5/ethernut5_pwrman.c |  348 +
 board/egnite/ethernut5/ethernut5_pwrman.h |   68 ++
 boards.cfg|1 +
 include/configs/ethernut5.h   |  282 +++
 7 files changed, 1015 insertions(+), 0 deletions(-)
 create mode 100644 board/egnite/ethernut5/Makefile
 create mode 100644 board/egnite/ethernut5/ethernut5.c
 create mode 100644 board/egnite/ethernut5/ethernut5_pwrman.c
 create mode 100644 board/egnite/ethernut5/ethernut5_pwrman.h
 create mode 100644 include/configs/ethernut5.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4756f14..8b8aa49 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -616,6 +616,9 @@ Wolfgang Denk 
imx27lite   i.MX27
qongi.MX31
 
+egnite GmbH 
+   ethernut5   ARM926EJS (AT91SAM9XE SoC)
+
 Thomas Elste 
 
modnet50ARM720T (NET+50)
diff --git a/board/egnite/ethernut5/Makefile b/board/egnite/ethernut5/Makefile
new file mode 100644
index 000..d8e485f
--- /dev/null
+++ b/board/egnite/ethernut5/Makefile
@@ -0,0 +1,54 @@
+#
+# (C) Copyright 2003-2008
+# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
+#
+# (C) Copyright 2010
+# egnite GmbH
+#
+# 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
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS-y+= $(BOARD).o
+COBJS-y+= $(BOARD)_pwrman.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS-y))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+clean:
+   rm -f $(SOBJS) $(OBJS)
+
+distclean: clean
+   rm -f $(LIB) core *.bak $(obj).depend
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/egnite/ethernut5/ethernut5.c 
b/board/egnite/ethernut5/ethernut5.c
new file mode 100644
index 000..9006493
--- /dev/null
+++ b/board/egnite/ethernut5/ethernut5.c
@@ -0,0 +1,259 @@
+/*
+ * (C) Copyright 2011
+ * egnite GmbH 
+ *
+ * (C) Copyright 2010
+ * Ole Reinhardt 
+ *
+ * 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
+ */
+
+/*
+ * Ethernut 5 general board support
+ *
+ * Ethernut is an open source hardware and software project for
+ * embedded Ethernet devices. Hardware layouts and CAD files are
+ * freely available under BSD-like license.
+ *
+ * Ethernut 5 is the first member of the Ethernut board family
+ * with U-Boot and Linux support. This implementation is based
+ * on the original work done by Ole Reinhardt, but heavily modified
+ * to support additional features and the latest board revision 5.0F.
+ *
+ * Main board components are by default:
+ *
+ * Atmel AT91SAM9XE512 CPU with 512 kBytes NOR Flash
+ * 2 x 64 MBytes Micron MT48LC32M16A2P SDRAM
+ * 512 MBytes Micron MT29F4G08ABADA NAND Flash
+ * 4 MBytes Atmel AT45DB321D DataFlash
+ * SMSC LAN8710 Ethernet PHY
+ * Atmel ATmega168 MCU used for power management
+ * Linear Techn

Re: [U-Boot] Q: MII read

2011-03-13 Thread Stefano Babic
On 03/13/2011 09:24 AM, Ran Shalit wrote:
> Hello,
> 
Hi Ran,

> I would like to ask a question regarding the MII functionality :
> When using mii commands (cmd_mii.c) everything works well, until trying to
> do a ping (using net command).
> After any ping try(with success or not), the mii read function is
> stuck.  Maybe it has to do with davinci mii implementation, but I am not
> sure if this is the problem or not.
> Any advice is welcomed.

I think this is not a general issue, as with other processors/boards
everything works fine. However, after using a net command, the dev->halt
callback is called, and this could disable the phy.

If you are using the davinci_emac driver, take a look at the
davinci_eth_close() function. It can be that when the controller is
turned off, you cannot access to the phy anymore.

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: off...@denx.de
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Q: MII read

2011-03-13 Thread Ran Shalit
Hello,

I would like to ask a question regarding the MII functionality :
When using mii commands (cmd_mii.c) everything works well, until trying to
do a ping (using net command).
After any ping try(with success or not), the mii read function is
stuck.  Maybe it has to do with davinci mii implementation, but I am not
sure if this is the problem or not.
Any advice is welcomed.

Regards,

Ran
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot