Re: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: add more expansionboard IDs

2010-11-05 Thread Wolfgang Denk
Dear Jason Kridner,

In message 1288936010-30462-1-git-send-email-jkrid...@beagleboard.org you 
wrote:
 From: Koen Kooi k...@dominion.thruhere.net
 
 Signed-off-by: Koen Kooi k...@dominion.thruhere.net
 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  board/ti/beagle/beagle.c |   16 
  1 files changed, 16 insertions(+), 0 deletions(-)
 
 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index d9b6f01..520e57d 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -48,6 +48,10 @@
  #define TINCANTOOLS_TRAINER  0x04000100
  #define TINCANTOOLS_SHOWDOG  0x03000100
  #define KBADC_BEAGLEFPGA 0x01000600
 +#define LW_BEAGLETOUCH   0x01000700
 +#define LCDOG_BRAINMUX   0x01000800
 +#define LCDOG_BRAINMUXTOUCH  0x02000800
 +#define SF_HARDHAT   0x01000900
^^

Where is this being used?

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
Respect is a rational process
-- McCoy, The Galileo Seven, stardate 2822.3
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: add more expansionboard IDs

2010-11-05 Thread Premi, Sanjeev
 -Original Message-
 From: u-boot-boun...@lists.denx.de 
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Jason Kridner
 Sent: Friday, November 05, 2010 11:17 AM
 To: u-boot@lists.denx.de
 Cc: Koen Kooi
 Subject: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: add more 
 expansionboard IDs

[sp] Is it really necessary to mention ARMV7 in the subject line?
 OMAP3  BeagbeBoard seem sufficient.

 
 From: Koen Kooi k...@dominion.thruhere.net
 
 Signed-off-by: Koen Kooi k...@dominion.thruhere.net
 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  board/ti/beagle/beagle.c |   16 
  1 files changed, 16 insertions(+), 0 deletions(-)
 
 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index d9b6f01..520e57d 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -48,6 +48,10 @@
  #define TINCANTOOLS_TRAINER  0x04000100
  #define TINCANTOOLS_SHOWDOG  0x03000100
  #define KBADC_BEAGLEFPGA 0x01000600
 +#define LW_BEAGLETOUCH   0x01000700
 +#define LCDOG_BRAINMUX   0x01000800
 +#define LCDOG_BRAINMUXTOUCH  0x02000800

[sp] Don't see any mechanism to read these values. Assuming the
 detection mechanism is consistent i.e. no difference due
 to different eeprom etc. etc.

 +#define SF_HARDHAT   0x01000900

[sp] Don't see this used below

  
  #define BEAGLE_NO_EEPROM 0x
  
 @@ -223,6 +227,18 @@ int misc_init_r(void)
   MUX_KBADC_BEAGLEFPGA();
   setenv(buddy, beaglefpga);
   break;
 + case LW_BEAGLETOUCH:
 + printf(Recognized Liquidware Beagletouch board\n);
 + setenv(buddy, beagletouch);
 + break;
 + case LCDOG_BRAINMUX:
 + printf(Recognized Brainmux LCDog board\n);
 + setenv(buddy, lcdog);
 + break;
 + case LCDOG_BRAINMUXTOUCH:
 + printf(Recognized Brainmux LCDog Touch board\n);
 + setenv(buddy, lcdogtouch);
 + break;
   case BEAGLE_NO_EEPROM:
   printf(No EEPROM on expansion board\n);
   setenv(buddy, none);
 -- 
 1.5.6.4
 
 ___
 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


Re: [U-Boot] [PATCH] mpc83xx: Make it boot again

2010-11-05 Thread Andre Schwarz
On 11/04/2010 08:49 PM, Wood Scott-B07421 wrote:

 Timur Tabi wrote:
  Wood Scott-B07421 wrote:
   To be totally safe, we probably want to do a readback plus twi (to 
 turn
   a data dependency into a flow dependency) before the isync.
 
  twi == trap word immediate?

 Yes.

  If so, I don't see how that will turn a data dependency into a flow 
 dependency.
  Is that some sort of side effect of twi?

 It decides based on the input register (data dependency) whether to 
 cause a trap (flow dependency).  We never want it to actually trap, so 
 we set a condition that says never trap, but the dependency is still 
 there -- the hardware doesn't decode it as a no-op.


Might there be any other location this could be used for ?

Actually my 8377 is running fine up to 533MHz core and csb up to 400MHz.
As soon as core frequency rises to 600MHz+ there'll be frequent hangs 
during flush_dcache.

core voltage is clean at 1.05V without any glitches or significant load 
steps.

Can anybody confirm that current code runs stable on MPC837x at 600MHz+ ?


Regards,
André

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Enabling the API

2010-11-05 Thread Andrew Holt (SE)
Hi,

I am currently running U-Boot on our Renesas SH4 (SH7723) based system.

I would like to add the API functionality, but am finding the documentation 
covering this area a little sparse.

Can anybody offer me any helpful tips and advice to help me along.

Many thanks,
Andrew
=
Andrew Holt
Senior Software Engineer

Email: andrew.h...@electrans.com
Phone: 0151 347 2270
Mobile: 07841 340608 
Skype: andrewtholt

De Omnibus Dubitandum
=







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


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-05 Thread Reinhard Meyer
Dear Albert Aribaud,
 older ld emitted all ELF relocations in input sections named
 .rel.dyn, whereas newer ld uses names of the form .rel*. The
 linker script only collected .rel.dyn input sections. Rewrite
 to collect all .rel* input sections and overlay with .bss.
 
 Signed-off-by: Albert Aribaud albert.arib...@free.fr
 ---
Thank you,
works fine with:

gcc 4.2.4 (binary size 258700)
gcc 4.3.5 (binary size 251600 - nice!)

(ARM9 AT91SAM9XE512, top9000, TOT u-boot-atmel at91cleanup-rework branch)

Signed-off-by: Reinhard Meyer u-b...@emk-elektronik.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-05 Thread Albert ARIBAUD
Le 05/11/2010 09:38, Reinhard Meyer a écrit :
 Dear Albert Aribaud,
 older ld emitted all ELF relocations in input sections named
 .rel.dyn, whereas newer ld uses names of the form .rel*. The
 linker script only collected .rel.dyn input sections. Rewrite
 to collect all .rel* input sections and overlay with .bss.

 Signed-off-by: Albert Aribaudalbert.arib...@free.fr
 ---
 Thank you,
 works fine with:

 gcc 4.2.4 (binary size 258700)
 gcc 4.3.5 (binary size 251600 - nice!)

 (ARM9 AT91SAM9XE512, top9000, TOT u-boot-atmel at91cleanup-rework branch)

Thanks for testing. The size reduction is due to the gcc ARM backend 
which has obviously undergone many improvements since gcc 4.2.x. 
Openrd_base goes from 376 to 360k, and edminiv2 (untested yet, though) 
from 152 to 144k when using the CS arm-2010q1-202 toolchain (4.4.1) 
instead of the ELDK 4.2 one (gcc 4.2.2).

 Signed-off-by: Reinhard Meyeru-b...@emk-elektronik.de

Did you mean 'Tested-by:'?

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


[U-Boot] [PATCH v2 0/2] adopt avr32 to latest changes in u-boot-atmel/at91cleanup-rework

2010-11-05 Thread Andreas Bießmann
Dear Reinhard Meyer,

This series is on top of da94dc9ab80b30da0cd3ecadea27fd04f03a4489 in
u-boot-atmel/at91cleanup-rework. It renames memory-map.h to hardware.h and do
the rename of definitions like ATMEL_BASE_xx schema used in at91.

Tested to work on atstk1002 and selfmade, not jet upstream board.

regards

Andreas Bießmann

Andreas Bießmann (2):
  avr32: rename memory-map.h - hardware.h
  avr32: fixup definitions to ATMEL_BASE_xxx

 arch/avr32/cpu/at32ap700x/clk.c|2 +-
 arch/avr32/cpu/at32ap700x/portmux.c|2 +-
 arch/avr32/cpu/at32ap700x/sm.h |4 +-
 arch/avr32/cpu/cpu.c   |2 +-
 arch/avr32/cpu/hsdramc.c   |2 +-
 arch/avr32/cpu/hsdramc1.h  |4 +-
 arch/avr32/cpu/hsmc3.h |4 +-
 arch/avr32/cpu/interrupts.c|4 +-
 arch/avr32/cpu/portmux-gpio.c  |2 +-
 arch/avr32/cpu/portmux-pio.c   |2 +-
 arch/avr32/include/asm/arch-at32ap700x/gpio.h  |   12 ++--
 .../arch-at32ap700x/{memory-map.h = hardware.h}   |   76 ++--
 arch/avr32/include/asm/arch-at32ap700x/portmux.h   |   10 ++--
 arch/avr32/include/asm/hmatrix-common.h|2 +-
 board/atmel/atngw100/atngw100.c|4 +-
 board/atmel/atstk1000/atstk1000.c  |4 +-
 board/earthlcd/favr-32-ezkit/favr-32-ezkit.c   |2 +-
 board/mimc/mimc200/mimc200.c   |4 +-
 board/miromico/hammerhead/hammerhead.c |4 +-
 drivers/mmc/atmel_mci.c|2 +-
 drivers/mmc/atmel_mci.h|4 +-
 include/configs/atngw100.h |6 +-
 include/configs/atstk1002.h|8 +--
 include/configs/atstk1003.h|8 +--
 include/configs/atstk1004.h|8 +--
 include/configs/atstk1006.h|8 +--
 include/configs/favr-32-ezkit.h|8 +--
 include/configs/hammerhead.h   |3 +-
 include/configs/mimc200.h  |6 +-
 29 files changed, 100 insertions(+), 107 deletions(-)
 rename arch/avr32/include/asm/arch-at32ap700x/{memory-map.h = hardware.h} 
(53%)

-- 
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 2/2] avr32: fixup definitions to ATMEL_BASE_xxx

2010-11-05 Thread Andreas Bießmann
Signed-off-by: Andreas Bießmann biessm...@corscience.de
---
changes since v1:
 - only rename definitions to ATMEL_BASE_xx schema in this patch
 - rename of memeory-map.h - hardweare.h is required before

 arch/avr32/cpu/at32ap700x/sm.h|4 +-
 arch/avr32/cpu/hsdramc1.h |4 +-
 arch/avr32/cpu/hsmc3.h|4 +-
 arch/avr32/cpu/interrupts.c   |2 +-
 arch/avr32/include/asm/arch-at32ap700x/gpio.h |   10 ++--
 arch/avr32/include/asm/arch-at32ap700x/hardware.h |   76 ++--
 arch/avr32/include/asm/arch-at32ap700x/portmux.h  |   10 ++--
 arch/avr32/include/asm/hmatrix-common.h   |2 +-
 board/atmel/atngw100/atngw100.c   |4 +-
 board/atmel/atstk1000/atstk1000.c |4 +-
 board/earthlcd/favr-32-ezkit/favr-32-ezkit.c  |2 +-
 board/mimc/mimc200/mimc200.c  |4 +-
 board/miromico/hammerhead/hammerhead.c|2 +-
 drivers/mmc/atmel_mci.h   |4 +-
 include/configs/atngw100.h|4 +-
 include/configs/atstk1002.h   |6 +-
 include/configs/atstk1003.h   |6 +-
 include/configs/atstk1004.h   |6 +-
 include/configs/atstk1006.h   |6 +-
 include/configs/favr-32-ezkit.h   |6 +-
 include/configs/hammerhead.h  |3 +-
 include/configs/mimc200.h |4 +-
 22 files changed, 83 insertions(+), 90 deletions(-)

diff --git a/arch/avr32/cpu/at32ap700x/sm.h b/arch/avr32/cpu/at32ap700x/sm.h
index b6e4409..9a3804e 100644
--- a/arch/avr32/cpu/at32ap700x/sm.h
+++ b/arch/avr32/cpu/at32ap700x/sm.h
@@ -197,8 +197,8 @@
 
 /* Register access macros */
 #define sm_readl(reg)  \
-   readl((void *)SM_BASE + SM_##reg)
+   readl((void *)ATMEL_BASE_SM + SM_##reg)
 #define sm_writel(reg,value)   \
-   writel((value), (void *)SM_BASE + SM_##reg)
+   writel((value), (void *)ATMEL_BASE_SM + SM_##reg)
 
 #endif /* __CPU_AT32AP_SM_H__ */
diff --git a/arch/avr32/cpu/hsdramc1.h b/arch/avr32/cpu/hsdramc1.h
index 305d2cb..e18e074 100644
--- a/arch/avr32/cpu/hsdramc1.h
+++ b/arch/avr32/cpu/hsdramc1.h
@@ -136,8 +136,8 @@
 
 /* Register access macros */
 #define hsdramc1_readl(reg)\
-   readl((void *)HSDRAMC_BASE + HSDRAMC1_##reg)
+   readl((void *)ATMEL_BASE_HSDRAMC + HSDRAMC1_##reg)
 #define hsdramc1_writel(reg,value) \
-   writel((value), (void *)HSDRAMC_BASE + HSDRAMC1_##reg)
+   writel((value), (void *)ATMEL_BASE_HSDRAMC + HSDRAMC1_##reg)
 
 #endif /* __ASM_AVR32_HSDRAMC1_H__ */
diff --git a/arch/avr32/cpu/hsmc3.h b/arch/avr32/cpu/hsmc3.h
index ca533b9..ac47295 100644
--- a/arch/avr32/cpu/hsmc3.h
+++ b/arch/avr32/cpu/hsmc3.h
@@ -119,8 +119,8 @@
 
 /* Register access macros */
 #define hsmc3_readl(reg)   \
-   readl((void *)HSMC_BASE + HSMC3_##reg)
+   readl((void *)ATMEL_BASE_HSMC + HSMC3_##reg)
 #define hsmc3_writel(reg,value)\
-   writel((value), (void *)HSMC_BASE + HSMC3_##reg)
+   writel((value), (void *)ATMEL_BASE_HSMC + HSMC3_##reg)
 
 #endif /* __CPU_AT32AP_HSMC3_H__ */
diff --git a/arch/avr32/cpu/interrupts.c b/arch/avr32/cpu/interrupts.c
index c751981..c6ea435 100644
--- a/arch/avr32/cpu/interrupts.c
+++ b/arch/avr32/cpu/interrupts.c
@@ -125,7 +125,7 @@ static int set_interrupt_handler(unsigned int nr, void 
(*handler)(void),
 
intpr = (handler_addr  HANDLER_MASK);
intpr |= (priority  INTLEV_MASK)  INTLEV_SHIFT;
-   writel(intpr, (void *)INTC_BASE + 4 * nr);
+   writel(intpr, (void *)ATMEL_BASE_INTC + 4 * nr);
 
return 0;
 }
diff --git a/arch/avr32/include/asm/arch-at32ap700x/gpio.h 
b/arch/avr32/include/asm/arch-at32ap700x/gpio.h
index b0254f2..4322eac 100644
--- a/arch/avr32/include/asm/arch-at32ap700x/gpio.h
+++ b/arch/avr32/include/asm/arch-at32ap700x/gpio.h
@@ -45,15 +45,15 @@ static inline void *pio_pin_to_port(unsigned int pin)
 {
switch (pin  5) {
case 0:
-   return (void *)PIOA_BASE;
+   return (void *)ATMEL_BASE_PIOA;
case 1:
-   return (void *)PIOB_BASE;
+   return (void *)ATMEL_BASE_PIOB;
case 2:
-   return (void *)PIOC_BASE;
+   return (void *)ATMEL_BASE_PIOC;
case 3:
-   return (void *)PIOD_BASE;
+   return (void *)ATMEL_BASE_PIOD;
case 4:
-   return (void *)PIOE_BASE;
+   return (void *)ATMEL_BASE_PIOE;
default:
return NULL;
}
diff --git a/arch/avr32/include/asm/arch-at32ap700x/hardware.h 
b/arch/avr32/include/asm/arch-at32ap700x/hardware.h
index 

[U-Boot] [PATCH v2 1/2] avr32: rename memory-map.h - hardware.h

2010-11-05 Thread Andreas Bießmann
Signed-off-by: Andreas Bießmann biessm...@corscience.de
---
changes since v1:
 - only rename in this patch and fixup includes in respective includes
 - use 'format-patch -C'

 arch/avr32/cpu/at32ap700x/clk.c|2 +-
 arch/avr32/cpu/at32ap700x/portmux.c|2 +-
 arch/avr32/cpu/cpu.c   |2 +-
 arch/avr32/cpu/hsdramc.c   |2 +-
 arch/avr32/cpu/interrupts.c|2 +-
 arch/avr32/cpu/portmux-gpio.c  |2 +-
 arch/avr32/cpu/portmux-pio.c   |2 +-
 arch/avr32/include/asm/arch-at32ap700x/gpio.h  |2 +-
 .../arch-at32ap700x/{memory-map.h = hardware.h}   |0
 board/miromico/hammerhead/hammerhead.c |2 +-
 drivers/mmc/atmel_mci.c|2 +-
 include/configs/atngw100.h |2 +-
 include/configs/atstk1002.h|2 +-
 include/configs/atstk1003.h|2 +-
 include/configs/atstk1004.h|2 +-
 include/configs/atstk1006.h|2 +-
 include/configs/favr-32-ezkit.h|2 +-
 include/configs/mimc200.h  |2 +-
 18 files changed, 17 insertions(+), 17 deletions(-)
 rename arch/avr32/include/asm/arch-at32ap700x/{memory-map.h = hardware.h} 
(100%)

diff --git a/arch/avr32/cpu/at32ap700x/clk.c b/arch/avr32/cpu/at32ap700x/clk.c
index 742bc6b..b63b9df 100644
--- a/arch/avr32/cpu/at32ap700x/clk.c
+++ b/arch/avr32/cpu/at32ap700x/clk.c
@@ -24,7 +24,7 @@
 #include asm/io.h
 
 #include asm/arch/clk.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 #include asm/arch/portmux.h
 
 #include sm.h
diff --git a/arch/avr32/cpu/at32ap700x/portmux.c 
b/arch/avr32/cpu/at32ap700x/portmux.c
index b1f2c6f..e3e38a2 100644
--- a/arch/avr32/cpu/at32ap700x/portmux.c
+++ b/arch/avr32/cpu/at32ap700x/portmux.c
@@ -24,7 +24,7 @@
 #include asm/io.h
 
 #include asm/arch/chip-features.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 #include asm/arch/portmux.h
 
 /*
diff --git a/arch/avr32/cpu/cpu.c b/arch/avr32/cpu/cpu.c
index e4489bb..7907837 100644
--- a/arch/avr32/cpu/cpu.c
+++ b/arch/avr32/cpu/cpu.c
@@ -27,7 +27,7 @@
 #include asm/sysreg.h
 
 #include asm/arch/clk.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 
 #include hsmc3.h
 
diff --git a/arch/avr32/cpu/hsdramc.c b/arch/avr32/cpu/hsdramc.c
index b6eae66..1485494 100644
--- a/arch/avr32/cpu/hsdramc.c
+++ b/arch/avr32/cpu/hsdramc.c
@@ -25,7 +25,7 @@
 #include asm/sdram.h
 
 #include asm/arch/clk.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 
 #include hsdramc1.h
 
diff --git a/arch/avr32/cpu/interrupts.c b/arch/avr32/cpu/interrupts.c
index c6d8d16..c751981 100644
--- a/arch/avr32/cpu/interrupts.c
+++ b/arch/avr32/cpu/interrupts.c
@@ -27,7 +27,7 @@
 #include asm/processor.h
 #include asm/sysreg.h
 
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 
 #define HANDLER_MASK   0x00ff
 #define INTLEV_SHIFT   30
diff --git a/arch/avr32/cpu/portmux-gpio.c b/arch/avr32/cpu/portmux-gpio.c
index 9acd040..7b64c89 100644
--- a/arch/avr32/cpu/portmux-gpio.c
+++ b/arch/avr32/cpu/portmux-gpio.c
@@ -22,7 +22,7 @@
 #include common.h
 
 #include asm/io.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 #include asm/arch/gpio.h
 
 void portmux_select_peripheral(void *port, unsigned long pin_mask,
diff --git a/arch/avr32/cpu/portmux-pio.c b/arch/avr32/cpu/portmux-pio.c
index a29f94e..cb5e962 100644
--- a/arch/avr32/cpu/portmux-pio.c
+++ b/arch/avr32/cpu/portmux-pio.c
@@ -22,7 +22,7 @@
 #include common.h
 
 #include asm/io.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 #include asm/arch/gpio.h
 
 void portmux_select_peripheral(void *port, unsigned long pin_mask,
diff --git a/arch/avr32/include/asm/arch-at32ap700x/gpio.h 
b/arch/avr32/include/asm/arch-at32ap700x/gpio.h
index 303e353..b0254f2 100644
--- a/arch/avr32/include/asm/arch-at32ap700x/gpio.h
+++ b/arch/avr32/include/asm/arch-at32ap700x/gpio.h
@@ -23,7 +23,7 @@
 #define __ASM_AVR32_ARCH_GPIO_H__
 
 #include asm/arch/chip-features.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 
 #define NR_GPIO_CONTROLLERS5
 
diff --git a/arch/avr32/include/asm/arch-at32ap700x/memory-map.h 
b/arch/avr32/include/asm/arch-at32ap700x/hardware.h
similarity index 100%
rename from arch/avr32/include/asm/arch-at32ap700x/memory-map.h
rename to arch/avr32/include/asm/arch-at32ap700x/hardware.h
diff --git a/board/miromico/hammerhead/hammerhead.c 
b/board/miromico/hammerhead/hammerhead.c
index 78f4fd4..a0794ba 100644
--- a/board/miromico/hammerhead/hammerhead.c
+++ b/board/miromico/hammerhead/hammerhead.c
@@ -29,7 +29,7 @@
 #include asm/sdram.h
 #include asm/arch/clk.h
 #include asm/arch/hmatrix.h
-#include asm/arch/memory-map.h
+#include asm/arch/hardware.h
 #include asm/arch/mmu.h
 

[U-Boot] NAND on eLBC

2010-11-05 Thread Andre Schwarz
Scott,

looks like I made a mistake on current MPC8377 NAND wiring.

Nand-Flash write enable is wired to LFWE1 ... I connected each WE to 
its corresponding CS, i.e. :

- CS0/WE0 - Nor Flash
- CS1/WE1 - Nand Flash
- CS2/WE2 - MRAM

Am I assuming right that FCM can only use WE0 ?

Do you see any issue with connecting all devices to WE0 since they have 
distinct chip selects ?


Regards,
André

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Weak symbols: request for comments

2010-11-05 Thread Sebastien Carlier
Hello all,

I am looking for comments on the use of weak symbols in u-boot.

Some context: u-boot uses weak symbols in several places to provide
default definitions intended to be overriden in individual boards;
this feature is broken with recent toolchains (at least gcc 4.4.4,
binutils 2.20.1), and as a result only the default definitions are
used, while board-specific definitions are silently discarded.

The problem seems to arise because the weak definitions are seen by
the linker before the board-specific ones.  The linker will not look
in the board-specific library archive for strong symbols that would
override already defined weak symbols (this behavior is the one
specified by the System V gABI, so it is correct).

So, U-boot needs to be fixed.  I can see the following ways forward:

1.1) Stop using weak symbols; use pre-initialized function pointers
  instead (possibly grouped in a struct, for cleanliness).
  This has the benefit of offering a clear interface and being
  independent of toolchain details.

1.2) Use regular (non-weak) extern declarations for overridable stuff;
  collect all default weak symbols into a separate library archive,
  to be supplied last to the linker.

1.3) Stop using a library archive for the board specific stuff.
  Instead, collect and link all the object files to produce the
  output binary.  Only Makefile changes are involved, but correct
  behavior depends on all boards doing the right thing.

1.4) Link u-boot into a board-agnostic dynamic library, link the
  board-specific stuff into an executable embedding a dynamic
  linker, and package all this stuff somehow.

Are there better options?  Which one would you prefer to see
implemented?

For reference, here is the list of the definitions currently marked
weak in the u-boot code:

 _machine_restart
 arch_memory_failure_handle
 arch_memory_test_advance
 arch_memory_test_cleanup
 arch_memory_test_prepare
 board_hwconfig
 board_nand_init
 board_reset
 cpu_hwconfig
 do_bootelf_exec
 do_go_exec
 getDebugChar
 kgdb_flush_cache_all
 kgdb_flush_cache_range
 kgdb_interruptible
 kgdb_serial_init
 mg_get_drv_data
 putDebugChar
 putDebugStr
 read_fifo
 spi_cs_activate
 spi_cs_deactivate
 spi_cs_is_valid
 system_map

-- 
Sebastien Carlier

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


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Andre Schwarz
Sebastien,

[snip]
 So, U-boot needs to be fixed.  I can see the following ways forward:

 1.1) Stop using weak symbols; use pre-initialized function pointers
instead (possibly grouped in a struct, for cleanliness).
This has the benefit of offering a clear interface and being
independent of toolchain details.


yep - this is my favorite.
Main goal should always be to be as clear as possible.



Regards,
André

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Andreas Bießmann
Dear Sebastien Carlier,

Am 05.11.2010 11:39, schrieb Sebastien Carlier:
 Hello all,

 So, U-boot needs to be fixed.  I can see the following ways forward:
 
 1.1) Stop using weak symbols; use pre-initialized function pointers
   instead (possibly grouped in a struct, for cleanliness).
   This has the benefit of offering a clear interface and being
   independent of toolchain details.

sounds good to me despite of grouping. Isn't grouping tough due to
different weak functions for each architecture?

 1.2) Use regular (non-weak) extern declarations for overridable stuff;
   collect all default weak symbols into a separate library archive,
   to be supplied last to the linker.

sounds messy to me. How about different weak symbols for different
architectures?

regards

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


Re: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: Enable pullups on i2c2.

2010-11-05 Thread Premi, Sanjeev
 -Original Message-
 From: u-boot-boun...@lists.denx.de 
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Jason Kridner
 Sent: Friday, November 05, 2010 11:24 AM
 To: u-boot@lists.denx.de; beaglebo...@googlegroups.com
 Cc: Kipisz, Steven
 Subject: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: Enable 
 pullups on i2c2.
 
 From: Steve Kipisz s-kipi...@ti.com
 
 
[sp] Description missing.


 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  arch/arm/include/asm/arch-omap3/omap3.h |9 +
  board/ti/beagle/beagle.c|3 +++
  2 files changed, 12 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/include/asm/arch-omap3/omap3.h 
 b/arch/arm/include/asm/arch-omap3/omap3.h
 index 3957c79..1860dff 100644
 --- a/arch/arm/include/asm/arch-omap3/omap3.h
 +++ b/arch/arm/include/asm/arch-omap3/omap3.h
 @@ -50,6 +50,15 @@/ctr
  /* CONTROL */
  #define OMAP34XX_CTRL_BASE   (OMAP34XX_L4_IO_BASE + 0x2000)
  
 +/* Signal Integrity Parameter Control Registers */
 +#define CONTROL_PROG_IO0 0x48002444
 +#define CONTROL_PROG_IO1 0x48002448
 +#define CONTROL_PROG_IO2 0x48002408
 +#define CONTROL_PROG_IO_WKUP10x48002A80

[sp] Would be better if they are defined off OMAP34XX_CTRL_BASE
 defined just above.

 +
 +/* Bit definition for CONTROL_PROG_IO1 */
 +#define PRG_I2C2_PULLUPRESX  0x0001
 +
  /* UART */
  #define OMAP34XX_UART1   
 (OMAP34XX_L4_IO_BASE + 0x6a000)
  #define OMAP34XX_UART2   
 (OMAP34XX_L4_IO_BASE + 0x6c000)
 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index dd7b6b5..6074eca 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -160,6 +160,9 @@ int misc_init_r(void)
   struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
   struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
  
 + /* Enable i2c2 pullup resisters */
 + *(ulong *)(CONTROL_PROG_IO1) = ~(PRG_I2C2_PULLUPRESX);
[sp] Direct pointer access is not a good practice.
 Can you look at struct ctrl and see whether it can be augmented/
 similar approach can be used?

 +
   switch (get_board_revision()) {
   case REVISION_AXBX:
   printf(Beagle Rev Ax/Bx\n);
 -- 
 1.5.6.4
 
 ___
 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


Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2010-11-05 Thread Premi, Sanjeev
 -Original Message-
 From: u-boot-boun...@lists.denx.de 
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Jason Kridner
 Sent: Friday, November 05, 2010 11:23 AM
 To: u-boot@lists.denx.de; beaglebo...@googlegroups.com
 Subject: [U-Boot] [PATCH] BeagleBoard: Added LED driver
 
 Added LED driver using status_led.  USR0 is set to monitor the boot
 status.  USR1 is set to be the green LED.
 (cherry picked from commit 048b526fd7cc0c642f27c674b3e235321c880b66)
 
 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  board/ti/beagle/Makefile |4 ++-
  board/ti/beagle/beagle.c |7 
  board/ti/beagle/led.c|   91 
 ++
  3 files changed, 101 insertions(+), 1 deletions(-)
  create mode 100644 board/ti/beagle/led.c
 
 diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
 index f797112..4cc675c 100644
 --- a/board/ti/beagle/Makefile
 +++ b/board/ti/beagle/Makefile
 @@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
  
  LIB  = $(obj)lib$(BOARD).a
  
 -COBJS:= beagle.o
 +COBJS-y  := $(BOARD).o
 +COBJS-$(CONFIG_STATUS_LED) += led.o
  
 +COBJS:= $(sort $(COBJS-y))
  SRCS := $(COBJS:.o=.c)
  OBJS := $(addprefix $(obj),$(COBJS))
  
 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index 93c452e..dd7b6b5 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -30,6 +30,9 @@
   * MA 02111-1307 USA
   */
  #include common.h
 +#ifdef CONFIG_STATUS_LED
 +#include status_led.h
 +#endif
  #include twl4030.h
  #include asm/io.h
  #include asm/arch/mmc_host_def.h
 @@ -78,6 +81,10 @@ int board_init(void)
   /* boot param addr */
   gd-bd-bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
  
 +#if defined(CONFIG_STATUS_LED)  defined(STATUS_LED_BOOT)
 + status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
 +#endif
 +
   return 0;
  }
  
 diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
 new file mode 100644
 index 000..df26552
 --- /dev/null
 +++ b/board/ti/beagle/led.c
 @@ -0,0 +1,91 @@
 +/*
 + * Copyright (c) 2010 Texas Instruments, Inc.
 + * Jason Kridner jkrid...@beagleboard.org
 + *
 + * 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 common.h
 +#include status_led.h
 +#include asm/arch/cpu.h
 +#include asm/io.h
 +#include asm/arch/sys_proto.h
 +#include asm/arch/gpio.h
 +
 +static unsigned int saved_state[2] = {STATUS_LED_OFF, 
 STATUS_LED_OFF};
 +
 +/* GPIO pins for the LEDs */
 +#define BEAGLE_LED_USR0  149
 +#define BEAGLE_LED_USR1  150
 +
 +#ifdef STATUS_LED_GREEN
 +void green_LED_off (void)
 +{
 + __led_set (STATUS_LED_GREEN, 0);
 +}
 +
 +void green_LED_on (void)
 +{
 + __led_set (STATUS_LED_GREEN, 1);
 +}
 +#endif
 +
 +void __led_init (led_id_t mask, int state)
 +{
 + __led_set (mask, state);
 +}
 +
 +void __led_toggle (led_id_t mask)
 +{
 +#ifdef STATUS_LED_BIT
 + if (STATUS_LED_BIT  mask) {
 + if (STATUS_LED_ON == saved_state[0])
 + __led_set(STATUS_LED_BIT, 0);
 + else
 + __led_set(STATUS_LED_BIT, 1);
 + }
 +#endif
 +#ifdef STATUS_LED_BIT1
 + if (STATUS_LED_BIT1  mask) {
 + if (STATUS_LED_ON == saved_state[1])
 + __led_set(STATUS_LED_BIT1, 0);
 + else
 + __led_set(STATUS_LED_BIT1, 1);
 + }
 +#endif
 +}
 +
 +void __led_set (led_id_t mask, int state)
 +{
 +#ifdef STATUS_LED_BIT
 + if (STATUS_LED_BIT  mask) {
 + if (!omap_request_gpio(BEAGLE_LED_USR0)) {
 + omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
 + omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
 + }
 + saved_state[0] = state;
 + }
 +#endif
 +#ifdef STATUS_LED_BIT1
 + if (STATUS_LED_BIT1  mask) {
 + if (!omap_request_gpio(BEAGLE_LED_USR1)) {
 + omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
 + omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
 + }
 + saved_state[1] = state;
 + }
 +#endif
 +}

[sp] I see too many ifdef blocks in the code above. The also seems to be
 repetitive.

 Is user really expected to change the u-boot config for each LED bit/color?
 Can this be simplified by one 

Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Joakim Tjernlund

 Dear Sebastien Carlier,

 Am 05.11.2010 11:39, schrieb Sebastien Carlier:
  Hello all,

  So, U-boot needs to be fixed.  I can see the following ways forward:
 
  1.1) Stop using weak symbols; use pre-initialized function pointers
instead (possibly grouped in a struct, for cleanliness).
This has the benefit of offering a clear interface and being
independent of toolchain details.

 sounds good to me despite of grouping. Isn't grouping tough due to
 different weak functions for each architecture?

This will build more size and relocations and you get fixups too
which are/will be bad for code that runs before relocation.

 Jocke

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


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Wolfgang Denk
Dear Sebastien Carlier,

In message 4cd3defc.7010...@gmail.com you wrote:
 
 1.1) Stop using weak symbols; use pre-initialized function pointers
   instead (possibly grouped in a struct, for cleanliness).
   This has the benefit of offering a clear interface and being
   independent of toolchain details.

And where would the pre-initialized function pointers come from?
Without adding a hell of #ifdef's ?

 1.2) Use regular (non-weak) extern declarations for overridable stuff;
   collect all default weak symbols into a separate library archive,
   to be supplied last to the linker.

Not realy practicable, as the code is distributed all over the place,
and should remain where it logically belongs.

 1.3) Stop using a library archive for the board specific stuff.
   Instead, collect and link all the object files to produce the
   output binary.  Only Makefile changes are involved, but correct
   behavior depends on all boards doing the right thing.

Close. I think stop using a library archives and do what Linux does
instead is the way to go.

 1.4) Link u-boot into a board-agnostic dynamic library, link the
   board-specific stuff into an executable embedding a dynamic
   linker, and package all this stuff somehow.

Sounds pretty much complicated.

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
Chapter 1 -- The story so  far:
In the beginning the Universe was created. This has  made  a  lot  of
people very angry and been widely regarded as a bad move.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Sebastien Carlier
Dear Reinhard,

On 11/05/2010 12:16 PM, Reinhard Meyer wrote:
 1.2) Use regular (non-weak) extern declarations for overridable stuff;
collect all default weak symbols into a separate library archive,
to be supplied last to the linker.
  
 Not very practical, that would require that each driver etc. would
 be in two parts, the main part and the weak part. It would no need
 weak functions, however.


You are entirely correct.  It would be slightly inconvenient for drivers 
that provide overridable stuff, but no non-standard feature is needed 
and the benefit of static linking is preserved.

 1.3) Stop using a library archive for the board specific stuff.
Instead, collect and link all the object files to produce the
output binary.  Only Makefile changes are involved, but correct
behavior depends on all boards doing the right thing.
  
 I don't like the weak concept :)


It does seem like weak symbols were designed with other uses in mind, 
such as C++ class members defined within a class declaration, or to weak 
the dependencies between libraries... but not really to allow 
overridable definitions (what if two objects want to override the same 
weak symbol in different ways?).

 1.4) Link u-boot into a board-agnostic dynamic library, link the
board-specific stuff into an executable embedding a dynamic
linker, and package all this stuff somehow.
  
 That is too complex. Besides there are few board-agnostic parts in
 u-boot, many functions rely in included defines that are board
 specific.


Agreed.

 Are there better options?  Which one would you prefer to see
 implemented?
  
 Yes. The old-fashioned #define CONFIG_BOARD_INIT_F and friends
 method. I would prefer that one. Its not beautiful but still
 widely used and bullet-proof.


Could you please elaborate?  I have looked for things like this in the 
code base but I could not find what you are referring to.

Regards,

Sebastien Carlier

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


Re: [U-Boot] [RFC] Add 'led' command

2010-11-05 Thread Wolfgang Denk
Dear Jason Kridner,

In message 1288936236-30603-1-git-send-email-jkrid...@beagleboard.org you 
wrote:
 It is desired to have the led command on the BeagleBoard to allow for some
 interaction in the scripts.
 
 This patch allows any board implementing the coloured LED API
 to control the LEDs from the console.
 
 led [green | yellow | red | all ]  [ on | off ]
 
 or
 
 led [ 1 | 2 | 3 | all ]  [ on | off ]
 
 Adds configuration item CONFIG_CMD_LED enabling the command.
 
 Partially based on patch from Ulf Samuelsson:
 http://www.mail-archive.com/u-boot@lists.denx.de/msg09593.html.
 
 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  common/Makefile  |1 +
  common/cmd_led.c |  207 
 ++
  2 files changed, 208 insertions(+), 0 deletions(-)
  create mode 100644 common/cmd_led.c

I understand the requirement, but I think it is more than time to come
up with a common solution here instead of adding more and more copies
of very similar code.

We already have:

arch/arm/cpu/arm920t/ep93xx/led.c
arch/arm/cpu/arm926ejs/at91/led.c
board/atmel/at91cap9adk/led.c
board/atmel/at91rm9200dk/led.c
board/atmel/at91rm9200ek/led.c
board/atmel/at91sam9260ek/led.c
board/atmel/at91sam9261ek/led.c
board/atmel/at91sam9263ek/led.c
board/atmel/at91sam9m10g45ek/led.c
board/atmel/at91sam9rlek/led.c
board/eukrea/cpu9260/led.c
board/logicpd/zoom2/led.c
board/ns9750dev/led.c
board/psyent/pk1c20/led.c
board/ronetix/pm9261/led.c
board/ronetix/pm9263/led.c

Please, let's unify these.

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
Dear Lord: I just want *one* one-armed manager so  I  never  have  to
hear On the other hand, again.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Wolfgang Denk
Dear Sebastien Carlier,

In message 4cd3f58f.8090...@gmail.com you wrote:
 
 It does seem like weak symbols were designed with other uses in mind, 
 such as C++ class members defined within a class declaration, or to weak 
 the dependencies between libraries... but not really to allow 
 overridable definitions (what if two objects want to override the same 
 weak symbol in different ways?).

Well, but that's exactly why they are used in library code: to allow
overridable definitions.

  Yes. The old-fashioned #define CONFIG_BOARD_INIT_F and friends
  method. I would prefer that one. Its not beautiful but still
  widely used and bullet-proof.
 
 Could you please elaborate?  I have looked for things like this in the 
 code base but I could not find what you are referring to.

Don't bother looking for it. We are happy that we have eliminated a
bit of the #ifdef mess. We will not add it again.

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 had the rare misfortune of being one of the first people to try and
implement a PL/1 compiler. -- T. Cheatham
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Reinhard Meyer
Dear Sebastien,
 Are there better options?  Which one would you prefer to see
 implemented?
  
 Yes. The old-fashioned #define CONFIG_BOARD_INIT_F and friends
 method. I would prefer that one. Its not beautiful but still
 widely used and bullet-proof.

 
 Could you please elaborate?  I have looked for things like this in the
 code base but I could not find what you are referring to.

extracts from arch/arm/lib/board.c:

#if defined(CONFIG_ARCH_CPU_INIT)
arch_cpu_init,  /* basic arch cpu dependent setup */
#endif
#if defined(CONFIG_BOARD_EARLY_INIT_F)
board_early_init_f,
#endif
#if defined(CONFIG_ARCH_MISC_INIT)
/* miscellaneous arch dependent initialisations */
arch_misc_init ();
#endif
#if defined(CONFIG_MISC_INIT_R)
/* miscellaneous platform dependent initialisations */
misc_init_r ();
#endif
#ifdef BOARD_LATE_INIT
board_late_init ();
#endif
#if defined(CONFIG_RESET_PHY_R)
debug (Reset Ethernet PHY\n);
reset_phy();
#endif

Just a few that can be enabled by board specific defines.

xxxboard.h #defines them and xxxboard.c has to implement them.

Best Regards,
Reinhard

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


Re: [U-Boot] [PATCH] OMAP4: speed up booting on Pandaboard

2010-11-05 Thread Sergiy Kibrik
On 11/04/2010 05:46 PM, Nishanth Menon wrote:
 Sergiy Kibrik wrote, on 11/04/2010 05:38 AM:
 Improved default config for OMAP4 Pandaboard for faster boot:
 -reduced environment size to speed up memory initialization;
 -USB TTY driver turned off;
 Do we really want to do this?

well, Pandaboard has serial port. It can be used instead of usbtty

 -tweaked blob load address to avoid image relocation (according to
 default uImage load address);

 Signed-off-by: Sergiy Kibriksergiy.kib...@globallogic.com
 What kind of savings did we get? I am guessing we have some time x
 savings..
 

reducing ENV_SIZE saves ~0.2 s.
turning off usbtty saves ~0.2 s.
changing loadaddr saves about a second. As shown my measurements, all 
introduced changes save about 1.3 - 1.5 seconds.

 ---
   include/configs/omap4_panda.h |8 
   1 files changed, 4 insertions(+), 4 deletions(-)

 diff --git a/include/configs/omap4_panda.h
 b/include/configs/omap4_panda.h
 index 74defab..5aba424 100644
 --- a/include/configs/omap4_panda.h
 +++ b/include/configs/omap4_panda.h
 @@ -62,10 +62,10 @@

   /*
* Size of malloc() pool
 - * Total Size Environment - 256k
 + * Total Size Environment - 2k
* Malloc - add 256k
*/
 -#define CONFIG_ENV_SIZE(256  10)
 +#define CONFIG_ENV_SIZE(256  4)
 /me likes the change, but not sure how it saves boot time.

again, it's about 0.2 seconds

 
   #define CONFIG_SYS_MALLOC_LEN(CONFIG_ENV_SIZE + (256  10))
   /* initial data */
   /* Vector Base */
 @@ -117,7 +117,7 @@

   /* USB device configuration */
   #define CONFIG_USB_DEVICE1
 -#define CONFIG_USB_TTY1
 +#undef CONFIG_USB_TTY
 do we need to have the undef? it might be better to just drop the define
 perhaps? what impact do we have on boot time with this change?

if someone wants to turn usbtty again, he can simply #define variable again, in 
case we drop the whole line it may be slightly harder to find out proper 
variable in the code and then #define it all over again. I just thought keeping 
it will clarify config in some way.
 
   #define CONFIG_SYS_CONSOLE_IS_IN_ENV1

   /* Flash */
 @@ -146,7 +146,7 @@
   #define CONFIG_ENV_OVERWRITE

   #define CONFIG_EXTRA_ENV_SETTINGS \
 -loadaddr=0x8200\0 \
 +loadaddr=0x80007FC0\0 \
 btw, Dumb question: how did we decide on this address? building from
 kernel.org, I see System.map @ c0004000 == 80004000
 
 when I do make uImage,
 /bin/bash /home/nmenon/Src/opensource/linux-2.6/scripts/mkuboot.sh -A
 arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n
 'Linux-2.6.37-rc1-5-gd88c092'
 
0x80007FC0 is kernel load address (0x80008000) minus size of u-boot header (64 
bytes). So load address is exactly the same as image address inside loaded 
blob, and we avoid memmoving kernel to it's load address.

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


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Sebastien Carlier
Dear Wolfgang,

On 11/05/2010 01:14 PM, Wolfgang Denk wrote:
 1.1) Stop using weak symbols; use pre-initialized function pointers
instead (possibly grouped in a struct, for cleanliness).
This has the benefit of offering a clear interface and being
independent of toolchain details.
  
 And where would the pre-initialized function pointers come from?
 Without adding a hell of #ifdef's ?


It would not be pretty, and, as pointed out by Joakim Tjernlund, it 
would not work before relocation.

 1.2) Use regular (non-weak) extern declarations for overridable stuff;
collect all default weak symbols into a separate library archive,
to be supplied last to the linker.
  
 Not realy practicable, as the code is distributed all over the place,
 and should remain where it logically belongs.


Each module could have its own defaults.c for overridable 
implementations, and the build system could collect all of these.  It is 
not a pain-free solution.

 1.3) Stop using a library archive for the board specific stuff.
Instead, collect and link all the object files to produce the
output binary.  Only Makefile changes are involved, but correct
behavior depends on all boards doing the right thing.
  
 Close. I think stop using a library archives and do what Linux does
 instead is the way to go.


Partial linking with ld -r ?  That does seem like a fairly simple change.

Regards,

Sebastien Carlier

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


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Sebastien Carlier
Dear Wolfgang,

On 11/05/2010 01:23 PM, Wolfgang Denk wrote:
 Dear Sebastien Carlier,

 In message4cd3f58f.8090...@gmail.com  you wrote:

 It does seem like weak symbols were designed with other uses in mind,
 such as C++ class members defined within a class declaration, or to weak
 the dependencies between libraries... but not really to allow
 overridable definitions (what if two objects want to override the same
 weak symbol in different ways?).
  
 Well, but that's exactly why they are used in library code: to allow
 overridable definitions.


If this usage were specifically designed for, do you think the linker 
would silently allow multiple yet conflicting weak definitions for the 
same symbol?  It is true that weak symbols can be used to support 
overridable definitions, but they seem more suitable for other uses.

Regards,

Sebastien Carlier

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


Re: [U-Boot] [PATCH] OMAP4: speed up booting on Pandaboard

2010-11-05 Thread Nishanth Menon
Sergiy Kibrik wrote, on 11/05/2010 08:35 AM:
 On 11/04/2010 05:46 PM, Nishanth Menon wrote:
 Sergiy Kibrik wrote, on 11/04/2010 05:38 AM:
 Improved default config for OMAP4 Pandaboard for faster boot:
  -reduced environment size to speed up memory initialization;
  -USB TTY driver turned off;
 Do we really want to do this?

 well, Pandaboard has serial port. It can be used instead of usbtty
how about all those folks who dont have a serial cable handy instead 
would like to power the board + see the terminal over usb?


  -tweaked blob load address to avoid image relocation (according to
 default uImage load address);

 Signed-off-by: Sergiy Kibriksergiy.kib...@globallogic.com
 What kind of savings did we get? I am guessing we have some time x
 savings..


 reducing ENV_SIZE saves ~0.2 s.
 turning off usbtty saves ~0.2 s.
 changing loadaddr saves about a second. As shown my measurements, all 
 introduced changes save
  about 1.3 - 1.5 seconds.
for what? getting to u-boot shell prompt? if so, I wonder how it does it 
actually happen.


 ---
include/configs/omap4_panda.h |8 
1 files changed, 4 insertions(+), 4 deletions(-)

 diff --git a/include/configs/omap4_panda.h
 b/include/configs/omap4_panda.h
 index 74defab..5aba424 100644
 --- a/include/configs/omap4_panda.h
 +++ b/include/configs/omap4_panda.h
 @@ -62,10 +62,10 @@

/*
 * Size of malloc() pool
 - * Total Size Environment - 256k
 + * Total Size Environment - 2k
 * Malloc - add 256k
 */
 -#define CONFIG_ENV_SIZE(256   10)
 +#define CONFIG_ENV_SIZE(256   4)
 /me likes the change, but not sure how it saves boot time.

 again, it's about 0.2 seconds

surprised how changing env saves 0.2 seconds - apologies, I dont have a 
panda on hand at the moment to do some actual tests with the board and 
patch :(



#define CONFIG_SYS_MALLOC_LEN(CONFIG_ENV_SIZE + (256   10))
/* initial data */
/* Vector Base */
 @@ -117,7 +117,7 @@

/* USB device configuration */
#define CONFIG_USB_DEVICE1
 -#define CONFIG_USB_TTY1
 +#undef CONFIG_USB_TTY
 do we need to have the undef? it might be better to just drop the define
 perhaps? what impact do we have on boot time with this change?

 if someone wants to turn usbtty again, he can simply #define variable again,
  in case we drop the whole line it may be slightly harder to find out 
proper
  variable in the code and then #define it all over again. I just thought
 keeping it will clarify config in some way.

adding a comment will help
/* enable this to get tty over usb */

#define CONFIG_SYS_CONSOLE_IS_IN_ENV1

/* Flash */
 @@ -146,7 +146,7 @@
#define CONFIG_ENV_OVERWRITE

#define CONFIG_EXTRA_ENV_SETTINGS \
 -loadaddr=0x8200\0 \
 +loadaddr=0x80007FC0\0 \
 btw, Dumb question: how did we decide on this address? building from
 kernel.org, I see System.map @ c0004000 ==  80004000

 when I do make uImage,
 /bin/bash /home/nmenon/Src/opensource/linux-2.6/scripts/mkuboot.sh -A
 arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n
 'Linux-2.6.37-rc1-5-gd88c092'

 0x80007FC0 is kernel load address (0x80008000) minus size of u-boot header 
 (64 bytes). So load address is exactly the same as image address inside 
 loaded blob, and we avoid memmoving kernel to it's load address.
thanks for the clarification - it might be good for us to come up with 
something a bit more automated as you can, in theory run mkuboot.sh with 
a different address.

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


Re: [U-Boot] [RFC] Add 'led' command

2010-11-05 Thread Reinhard Meyer
Dear Wolfgang Denk,
 It is desired to have the led command on the BeagleBoard to allow for some
 interaction in the scripts.

 This patch allows any board implementing the coloured LED API
 to control the LEDs from the console.

 led [green | yellow | red | all ]  [ on | off ]

 or

 led [ 1 | 2 | 3 | all ]  [ on | off ]

 Adds configuration item CONFIG_CMD_LED enabling the command.

 Partially based on patch from Ulf Samuelsson:
 http://www.mail-archive.com/u-boot@lists.denx.de/msg09593.html.

 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  common/Makefile  |1 +
  common/cmd_led.c |  207 
 ++
  2 files changed, 208 insertions(+), 0 deletions(-)
  create mode 100644 common/cmd_led.c
 
 I understand the requirement, but I think it is more than time to come
 up with a common solution here instead of adding more and more copies
 of very similar code.
 
 We already have:
 ...
   arch/arm/cpu/arm926ejs/at91/led.c
   board/atmel/at91cap9adk/led.c
   board/atmel/at91rm9200dk/led.c
   board/atmel/at91rm9200ek/led.c
   board/atmel/at91sam9260ek/led.c
   board/atmel/at91sam9261ek/led.c
   board/atmel/at91sam9263ek/led.c
   board/atmel/at91sam9m10g45ek/led.c
   board/atmel/at91sam9rlek/led.c

At least the atmel stuff are functions to implement the control of
the LEDs (via gpio, i2c, spi etc.) which inherently is board specific;
but not a command interface to control them from u-boot prompt/scripts.

His patch tries to add a command, not a LED implementation.
Such a command was on my mind for a while.

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


[U-Boot] [PATCH] ftahbc020s: Faraday AHB Controller definitions

2010-11-05 Thread Macpaul Lin
ftahbc020s.h provides the basic definitions
to help a SoC which use this AHB Controller could
do scalable software settings in both C codes and
asm codes.

Signed-off-by: Macpaul Lin macp...@andestech.com
---
 include/faraday/ftahbc020s.h |   72 ++
 1 files changed, 72 insertions(+), 0 deletions(-)
 create mode 100644 include/faraday/ftahbc020s.h

diff --git a/include/faraday/ftahbc020s.h b/include/faraday/ftahbc020s.h
new file mode 100644
index 000..5a18e86
--- /dev/null
+++ b/include/faraday/ftahbc020s.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2010 Andes Technology Corporation
+ * Macpaul Lin, Andes Technology Corporation macp...@andestech.com
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*
+ * FTAHBC020S - AHB Controller (Arbiter/Decoder) definitions
+ */
+#ifndef __FTAHBC020S_H
+#define __FTAHBC202S_H
+
+/*
+ * Registers Offsets
+ */
+#define FTAHBC020S_SLAVE_BSR_0 0x00/* Slave n Base/Size Reg */
+#define FTAHBC020S_SLAVE_BSR_1 0x04
+#define FTAHBC020S_SLAVE_BSR_2 0x08
+#define FTAHBC020S_SLAVE_BSR_3 0x0C
+#define FTAHBC020S_SLAVE_BSR_4 0x10
+#define FTAHBC020S_SLAVE_BSR_5 0x14
+#define FTAHBC020S_SLAVE_BSR_6 0x18
+#define FTAHBC020S_SLAVE_BSR_7 0x1C
+#define FTAHBC020S_SLAVE_BSR_8 0x20
+#define FTAHBC020S_SLAVE_BSR_9 0x24
+#define FTAHBC020S_SLAVE_BSR_100x28
+
+#define FTAHBC020S_PCR 0x80/* Priority Ctrl Reg */
+#define FTAHBC020S_TCRG0x84/* Transfer Ctrl Reg */
+#define FTAHBC020S_CR  0x88/* Ctrl Reg */
+
+/* FTAHBC020S_SLAVE_BSR - Slave n Base / Size Register */
+#define FTAHBC020S_SLAVE_BSR_BASE(x)   (((x)  0xFFF)  20)
+#define FTAHBC020S_SLAVE_BSR_SIZE(x)   (((x)  0xF)  16)
+
+/* FTAHBC020S_PCR - Priority Control Register */
+#define FTAHBC020S_PCR_PLEVEL_15   (1  15)
+#define FTAHBC020S_PCR_PLEVEL_14   (1  14)
+#define FTAHBC020S_PCR_PLEVEL_13   (1  13)
+#define FTAHBC020S_PCR_PLEVEL_12   (1  12)
+#define FTAHBC020S_PCR_PLEVEL_11   (1  11)
+#define FTAHBC020S_PCR_PLEVEL_10   (1  10)
+#define FTAHBC020S_PCR_PLEVEL_09   (1  9)
+#define FTAHBC020S_PCR_PLEVEL_08   (1  8)
+#define FTAHBC020S_PCR_PLEVEL_07   (1  7)
+#define FTAHBC020S_PCR_PLEVEL_06   (1  6)
+#define FTAHBC020S_PCR_PLEVEL_05   (1  5)
+#define FTAHBC020S_PCR_PLEVEL_04   (1  4)
+#define FTAHBC020S_PCR_PLEVEL_03   (1  3)
+#define FTAHBC020S_PCR_PLEVEL_02   (1  2)
+#define FTAHBC020S_PCR_PLEVEL_01   (1  1)
+
+/* FTAHBC020S_CR - Interrupt Control Register */
+#define FTAHBC020S_CR_INTSTS   (1  24)
+#define FTAHBC020S_CR_RESP(x)  (((x)  0x3)  20)
+#define FTAHBC020S_CR_INTSMASK (1  16)
+#define FTAHBC020S_CR_REMAP(1  0)
+
+#endif /* __FTAHBC020S_H */
-- 
1.7.3.2

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


Re: [U-Boot] [PATCH] OMAP4: speed up booting on Pandaboard

2010-11-05 Thread Sergiy Kibrik
On 11/05/2010 03:12 PM, Nishanth Menon wrote:
 Sergiy Kibrik wrote, on 11/05/2010 08:35 AM:
 On 11/04/2010 05:46 PM, Nishanth Menon wrote:
 Sergiy Kibrik wrote, on 11/04/2010 05:38 AM:
 Improved default config for OMAP4 Pandaboard for faster boot:
  -reduced environment size to speed up memory initialization;
  -USB TTY driver turned off;
 Do we really want to do this?

 well, Pandaboard has serial port. It can be used instead of usbtty
 how about all those folks who dont have a serial cable handy instead
 would like to power the board + see the terminal over usb?

you're right, it can be the reason not to touch usbtty now.

 

  -tweaked blob load address to avoid image relocation (according to
 default uImage load address);

 Signed-off-by: Sergiy Kibriksergiy.kib...@globallogic.com
 What kind of savings did we get? I am guessing we have some time x
 savings..


 reducing ENV_SIZE saves ~0.2 s.
 turning off usbtty saves ~0.2 s.
 changing loadaddr saves about a second. As shown my measurements, all
 introduced changes save
 about 1.3 - 1.5 seconds.
 for what? getting to u-boot shell prompt? if so, I wonder how it does it
 actually happen.
 

no, not getting shell, but jumping to kernel. But even in case of getting 
shell, why we have to wait 1 more second?


 ---
include/configs/omap4_panda.h |8 
1 files changed, 4 insertions(+), 4 deletions(-)

 diff --git a/include/configs/omap4_panda.h
 b/include/configs/omap4_panda.h
 index 74defab..5aba424 100644
 --- a/include/configs/omap4_panda.h
 +++ b/include/configs/omap4_panda.h
 @@ -62,10 +62,10 @@

/*
 * Size of malloc() pool
 - * Total Size Environment - 256k
 + * Total Size Environment - 2k
 * Malloc - add 256k
 */
 -#define CONFIG_ENV_SIZE(256   10)
 +#define CONFIG_ENV_SIZE(256   4)
 /me likes the change, but not sure how it saves boot time.

 again, it's about 0.2 seconds
 
 surprised how changing env saves 0.2 seconds - apologies, I dont have a
 panda on hand at the moment to do some actual tests with the board and
 patch :(

I guess it's because of memory initializaion issues in mem_malloc_init(), and 
because of 256k environment it takes longer to do memset.

 


#define CONFIG_SYS_MALLOC_LEN(CONFIG_ENV_SIZE + (256  
 10))
/* initial data */
/* Vector Base */
 @@ -117,7 +117,7 @@

/* USB device configuration */
#define CONFIG_USB_DEVICE1
 -#define CONFIG_USB_TTY1
 +#undef CONFIG_USB_TTY
 do we need to have the undef? it might be better to just drop the define
 perhaps? what impact do we have on boot time with this change?

 if someone wants to turn usbtty again, he can simply #define variable
 again,
 in case we drop the whole line it may be slightly harder to find out
 proper
 variable in the code and then #define it all over again. I just thought
keeping it will clarify config in some way.
 
 adding a comment will help
 /* enable this to get tty over usb */

THX, I'l do that.


#define CONFIG_SYS_CONSOLE_IS_IN_ENV1

/* Flash */
 @@ -146,7 +146,7 @@
#define CONFIG_ENV_OVERWRITE

#define CONFIG_EXTRA_ENV_SETTINGS \
 -loadaddr=0x8200\0 \
 +loadaddr=0x80007FC0\0 \
 btw, Dumb question: how did we decide on this address? building from
 kernel.org, I see System.map @ c0004000 ==  80004000

 when I do make uImage,
 /bin/bash /home/nmenon/Src/opensource/linux-2.6/scripts/mkuboot.sh -A
 arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n
 'Linux-2.6.37-rc1-5-gd88c092'

 0x80007FC0 is kernel load address (0x80008000) minus size of u-boot
 header (64 bytes). So load address is exactly the same as image
 address inside loaded blob, and we avoid memmoving kernel to it's load
 address.
 thanks for the clarification - it might be good for us to come up with
 something a bit more automated as you can, in theory run mkuboot.sh with
 a different address.
 

in theory yes, but practically it's just a default config for default uImage 
target.
Can you suggest a way to coordinate load addresses across kernel  bootloader 
build?


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


[U-Boot] MPC8377: USB breaks board

2010-11-05 Thread Andre Schwarz
Jocke,

sorry to bother you again, but it might relate to our last discussion.

Actually my MPC8377 based board is up and running with basic functionality.
Now I'm trying to add USB support - but as soon as CONFIG_USB_EHCI_FSL is
defined serial line is pretty dead again.

This means again there's something wrong at the very beggining.

Diff'ing the System.map gives almost identical layout up to cpu_init_f 
... which adds USB specific code making the rest move, of course.


The only difference is the location of __got2_entries :

WORKING:
04a5 A __fixup_entries
070b A __got2_entries
fc44 T version_string
[...]

NOT WORKING:
04a5 A __fixup_entries
0712 A __got2_entries
fc44 T version_string
[...]


What makes __got2_entries move ?

Why is __fixup_entries completely unaligned ? Looks pretty unusual to me.


Any idea if this can lead to malfunction ?



Regards,
André

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] MPC8377: USB breaks board

2010-11-05 Thread Joakim Tjernlund
Andre Schwarz andre.schw...@matrix-vision.de wrote on 2010/11/05 15:51:13:

 Jocke,

 sorry to bother you again, but it might relate to our last discussion.

 Actually my MPC8377 based board is up and running with basic functionality.
 Now I'm trying to add USB support - but as soon as CONFIG_USB_EHCI_FSL is
 defined serial line is pretty dead again.

 This means again there's something wrong at the very beggining.

 Diff'ing the System.map gives almost identical layout up to cpu_init_f
 ... which adds USB specific code making the rest move, of course.


 The only difference is the location of __got2_entries :

 WORKING:
 04a5 A __fixup_entries
 070b A __got2_entries
 fc44 T version_string
 [...]

 NOT WORKING:
 04a5 A __fixup_entries
 0712 A __got2_entries
 fc44 T version_string
 [...]


 What makes __got2_entries move ?

*_entries are not addresses, they are a count(how many entries)
See the linker file.


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


Re: [U-Boot] Weak symbols: request for comments

2010-11-05 Thread Sebastien Carlier
Dear Wolfgang,

I have implemented this solution:

On 11/05/2010 01:14 PM, Wolfgang Denk wrote:
 I think stop using a library archives and do what Linux does
 instead is the way to go.


You will find the patch here:

 
http://io.oiioiio.com/~sebc/0001-Use-partial-linking-instead-of-building-library-arch.patch.bz2

I am not posting the patch directly to the list because it is rather large.

Feedback is very welcome!

Best regards,
Sebastien Carlier

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


Re: [U-Boot] MPC8377: USB breaks board

2010-11-05 Thread Joakim Tjernlund
Andre Schwarz andre.schw...@matrix-vision.de wrote on 2010/11/05 15:51:13:

 Jocke,

 sorry to bother you again, but it might relate to our last discussion.

 Actually my MPC8377 based board is up and running with basic functionality.
 Now I'm trying to add USB support - but as soon as CONFIG_USB_EHCI_FSL is
 defined serial line is pretty dead again.

Perhaps USB becomes the console in this case and that is why you don't see 
anything?

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


[U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-05 Thread Haiying Wang
Hi Scott,

Wolfgang's latest commit to change all TEXT_BASE to CONFIG_SYS_TEXT_BASE
breaks the build for nand_spl. He defined CONFIG_SYS_TEXT_BASE in board
header file for CONFIG_NAND, and renamed TEXT_BASE to
CONFIG_SYS_TEXT_BASE in nand_spl/board/.../Makefile. Then for
u-boot-spl, the CONFIG_SYS_TEXT_BASE is always the value defined in
header file, which is, for example, 0xf8f82000 for MPC8536/8569/p1_p2/,
not the one defined in nand-spl's Makefile, which is 0xfff0. Thus it
causes the nand_spl image has wrong address from 0xf8f82000. When PAD_TO
0xfff01000, the final u-boot-spl-16k.bin will be 112M bytes. I think
83xx nand_spl might have the similar problem, but as I built 8315erdb's
nand, it failed for some other multiple define for undef errors. 

Can you take a look at it? Defining CONFIG_SYS_TEXT_BASE in header file
does impact the TEXT_BASE defined in Makefile for nand_spl.

Thanks.

Haiying



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


Re: [U-Boot] MPC8377: USB breaks board

2010-11-05 Thread Andre Schwarz
On 11/05/2010 04:00 PM, Joakim Tjernlund wrote:
 Andre Schwarzandre.schw...@matrix-vision.de  wrote on 2010/11/05 15:51:13:

 Jocke,

 sorry to bother you again, but it might relate to our last discussion.

 Actually my MPC8377 based board is up and running with basic functionality.
 Now I'm trying to add USB support - but as soon as CONFIG_USB_EHCI_FSL is
 defined serial line is pretty dead again.

 This means again there's something wrong at the very beggining.

 Diff'ing the System.map gives almost identical layout up to cpu_init_f
 ... which adds USB specific code making the rest move, of course.


 The only difference is the location of __got2_entries :

 WORKING:
 04a5 A __fixup_entries
 070b A __got2_entries
 fc44 T version_string
 [...]

 NOT WORKING:
 04a5 A __fixup_entries
 0712 A __got2_entries
 fc44 T version_string
 [...]


 What makes __got2_entries move ?
  
 *_entries are not addresses, they are a count(how many entries)
 See the linker file.


ok - I'm no expert ... that's why I have to ask.

Cheers,
André

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] OMAP4: speed up booting on Pandaboard

2010-11-05 Thread Nishanth Menon
Sergiy Kibrik wrote, on 11/05/2010 10:44 AM:
 On 11/05/2010 03:12 PM, Nishanth Menon wrote:
 Sergiy Kibrik wrote, on 11/05/2010 08:35 AM:
 On 11/04/2010 05:46 PM, Nishanth Menon wrote:
 Sergiy Kibrik wrote, on 11/04/2010 05:38 AM:
 Improved default config for OMAP4 Pandaboard for faster boot:
   -reduced environment size to speed up memory initialization;
   -USB TTY driver turned off;
 Do we really want to do this?

 well, Pandaboard has serial port. It can be used instead of usbtty
 how about all those folks who dont have a serial cable handy instead
 would like to power the board + see the terminal over usb?

 you're right, it can be the reason not to touch usbtty now.
lets drop this change for the timebeing then.

   -tweaked blob load address to avoid image relocation (according to
 default uImage load address);

 Signed-off-by: Sergiy Kibriksergiy.kib...@globallogic.com
 What kind of savings did we get? I am guessing we have some time x
 savings..


 reducing ENV_SIZE saves ~0.2 s.
 turning off usbtty saves ~0.2 s.
 changing loadaddr saves about a second. As shown my measurements, all
 introduced changes save
 about 1.3 - 1.5 seconds.
 for what? getting to u-boot shell prompt? if so, I wonder how it does it
 actually happen.


 no, not getting shell, but jumping to kernel. But even in case of getting
  shell, why we have to wait 1 more second?
aaah, it would be good to fix up $subject to reflect this. speed up 
booting can mean anything.

 ---
 include/configs/omap4_panda.h |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

 diff --git a/include/configs/omap4_panda.h
 b/include/configs/omap4_panda.h
 index 74defab..5aba424 100644
 --- a/include/configs/omap4_panda.h
 +++ b/include/configs/omap4_panda.h
 @@ -62,10 +62,10 @@

 /*
  * Size of malloc() pool
 - * Total Size Environment - 256k
 + * Total Size Environment - 2k
  * Malloc - add 256k
  */
 -#define CONFIG_ENV_SIZE(25610)
 +#define CONFIG_ENV_SIZE(2564)
 /me likes the change, but not sure how it saves boot time.

 again, it's about 0.2 seconds

 surprised how changing env saves 0.2 seconds - apologies, I dont have a
 panda on hand at the moment to do some actual tests with the board and
 patch :(

 I guess it's because of memory initializaion issues in mem_malloc_init(),
  and because of 256k environment it takes longer to do memset.

interesting. thanks for the explanation.


 #define CONFIG_SYS_CONSOLE_IS_IN_ENV1

 /* Flash */
 @@ -146,7 +146,7 @@
 #define CONFIG_ENV_OVERWRITE

 #define CONFIG_EXTRA_ENV_SETTINGS \
 -loadaddr=0x8200\0 \
 +loadaddr=0x80007FC0\0 \
 btw, Dumb question: how did we decide on this address? building from
 kernel.org, I see System.map @ c0004000 ==   80004000

 when I do make uImage,
 /bin/bash /home/nmenon/Src/opensource/linux-2.6/scripts/mkuboot.sh -A
 arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n
 'Linux-2.6.37-rc1-5-gd88c092'

 0x80007FC0 is kernel load address (0x80008000) minus size of u-boot
 header (64 bytes). So load address is exactly the same as image
 address inside loaded blob, and we avoid memmoving kernel to it's load
 address.
 thanks for the clarification -  it might be good for us to come up with
 something a bit more automated as you can, in theory run mkuboot.sh with
 a different address.


 in theory yes, but practically it's just a default config for default uImage 
 target.
actually there are blokes who use it that way as well. for e.g., in the 
old days of using BuildRoot inside TI, it just did the mkimage outside 
instead of just doing make uImage.

 Can you suggest a way to coordinate load addresses across kernel  bootloader 
 build?

Hmm.. good point - need to try an idea I am thinking at the moment - 
this info is present in the memory already - just need to think how to 
drag it out
-- 
Regards,
Nishanth Menon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] MPC8377: USB breaks board

2010-11-05 Thread Joakim Tjernlund
Andre Schwarz andre.schw...@matrix-vision.de wrote on 2010/11/05 17:13:34:
 On 11/05/2010 04:07 PM, Joakim Tjernlund wrote:
  Andre Schwarzandre.schw...@matrix-vision.de  wrote on 2010/11/05 15:51:13:
 
  Jocke,
 
  sorry to bother you again, but it might relate to our last discussion.
 
  Actually my MPC8377 based board is up and running with basic functionality.
  Now I'm trying to add USB support - but as soon as CONFIG_USB_EHCI_FSL is
  defined serial line is pretty dead again.
 
  Perhaps USB becomes the console in this case and that is why you don't see 
  anything?
 
 

 Hmm - how can this happen ?

Beats me, it was just an idea. I am not using USB at all
so I really don't know what I am talking about :)

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


[U-Boot] MPC8377: SerDes config

2010-11-05 Thread Andre Schwarz
All,

I'm a little confused how to setup SerDes properly on MPC8377, i.e. 
which function uses which port ...

I'd expect the following :

- SATA Ports 1+2 used on SerDes 1
- PCIe Ports 3+4 (2 times x1) on SerDes 2

This is what I've done :

CONFIG_SYS_SCCR_PCIEXP1CM = 0 (disabled)
CONFIG_SYS_SCCR_PCIEXP2CM = 2
CONFIG_SYS_SCCR_SATACM = 0xA0 (Port 1+2 used / 3+4 disabled)

Still both SerDes are active :

#define CONFIG_FSL_SERDES
#define CONFIG_FSL_SERDES1  0xe3000
#define CONFIG_FSL_SERDES2  0xe3100


PCIe only gets one LAW @ CONFIG_SYS_PCIE2_BASE


Board init code calls

 fsl_setup_serdes(CONFIG_FSL_SERDES1, FSL_SERDES_PROTO_SATA,
FSL_SERDES_CLK_100, FSL_SERDES_VDD_1V);
 fsl_setup_serdes(CONFIG_FSL_SERDES2, FSL_SERDES_PROTO_PEX,
FSL_SERDES_CLK_100, FSL_SERDES_VDD_1V)


Is this supposed to be correct or have I swapped something ?
Is it save to disable PEX-1 ?



-- 

Regards,
Andre



MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] OMAP4: speed up booting on Pandaboard

2010-11-05 Thread Sergiy Kibrik
On 11/05/2010 05:49 PM, Nishanth Menon wrote:
 lets drop this change for the timebeing then.
 

agree =)

 
 Can you suggest a way to coordinate load addresses across kernel 
 bootloader build?

 Hmm.. good point - need to try an idea I am thinking at the moment -
 this info is present in the memory already - just need to think how to
 drag it out

I'm also quite interested in it, so will be very glad to see your suggestions.

Thanks for your comments. I'll resubmit patch with different $subject.

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


[U-Boot] [PATCH] OMAP4: quick image loading memory init on Pandaboard

2010-11-05 Thread Sergiy Kibrik
Improved default config for OMAP4 Pandaboard for faster boot:
-reduced environment size to speed up memory initialization;
-tweaked blob load address to avoid image relocation (according to 
default uImage load address);

Signed-off-by: Sergiy Kibrik sergiy.kib...@globallogic.com
---
 include/configs/omap4_panda.h |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h
index 74defab..5a2df35 100644
--- a/include/configs/omap4_panda.h
+++ b/include/configs/omap4_panda.h
@@ -62,10 +62,10 @@
 
 /*
  * Size of malloc() pool
- * Total Size Environment - 256k
+ * Total Size Environment - 2k
  * Malloc - add 256k
  */
-#define CONFIG_ENV_SIZE(256  10)
+#define CONFIG_ENV_SIZE(256  4)
 #define CONFIG_SYS_MALLOC_LEN  (CONFIG_ENV_SIZE + (256  10))
/* initial data */
 /* Vector Base */
@@ -146,7 +146,7 @@
 #define CONFIG_ENV_OVERWRITE
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
-   loadaddr=0x8200\0 \
+   loadaddr=0x80007FC0\0 \
console=ttyS2,115200n8\0 \
usbtty=cdc_acm\0 \
vram=16M\0 \
-- 
1.7.0.4

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


Re: [U-Boot] [RFC] Add 'led' command

2010-11-05 Thread Jason Kridner
On Fri, Nov 5, 2010 at 9:13 AM, Reinhard Meyer u-b...@emk-elektronik.de wrote:
 Dear Wolfgang Denk,
 It is desired to have the led command on the BeagleBoard to allow for some
 interaction in the scripts.

 This patch allows any board implementing the coloured LED API
 to control the LEDs from the console.

 led [green | yellow | red | all ]  [ on | off ]

 or

 led [ 1 | 2 | 3 | all ]  [ on | off ]

 Adds configuration item CONFIG_CMD_LED enabling the command.

 Partially based on patch from Ulf Samuelsson:
 http://www.mail-archive.com/u-boot@lists.denx.de/msg09593.html.

 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  common/Makefile  |    1 +
  common/cmd_led.c |  207 
 ++
  2 files changed, 208 insertions(+), 0 deletions(-)
  create mode 100644 common/cmd_led.c

 I understand the requirement, but I think it is more than time to come
 up with a common solution here instead of adding more and more copies
 of very similar code.

 We already have:
 ...
       arch/arm/cpu/arm926ejs/at91/led.c
       board/atmel/at91cap9adk/led.c
       board/atmel/at91rm9200dk/led.c
       board/atmel/at91rm9200ek/led.c
       board/atmel/at91sam9260ek/led.c
       board/atmel/at91sam9261ek/led.c
       board/atmel/at91sam9263ek/led.c
       board/atmel/at91sam9m10g45ek/led.c
       board/atmel/at91sam9rlek/led.c

 At least the atmel stuff are functions to implement the control of
 the LEDs (via gpio, i2c, spi etc.) which inherently is board specific;
 but not a command interface to control them from u-boot prompt/scripts.

 His patch tries to add a command, not a LED implementation.
 Such a command was on my mind for a while.

I tried to make it such that this command is enabled by the
implementations on the other architectures by following the existing
design.  I don't know how they are making use of the LED functions, so
it seems this command is required to make their implementations
useful.  I hope that is reason enough to at least get different
maintainers to try this command out and give some additional feedback.

It would be great if we had a summary of how these LED functions are
used.  For the BeagleBoard, we are simply enabling scripts to use this
command.  I think others are using the LED functions to indicate boot
status and other u-boot native operations.  Does such a summary exist
so that I can make any command implementation suitable?

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


Re: [U-Boot] [PATCH] BeagleBoard: Added LED driver

2010-11-05 Thread Jason Kridner
On Fri, Nov 5, 2010 at 8:02 AM, Premi, Sanjeev pr...@ti.com wrote:
 -Original Message-
 From: u-boot-boun...@lists.denx.de
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Jason Kridner
 Sent: Friday, November 05, 2010 11:23 AM
 To: u-boot@lists.denx.de; beaglebo...@googlegroups.com
 Subject: [U-Boot] [PATCH] BeagleBoard: Added LED driver

 Added LED driver using status_led.  USR0 is set to monitor the boot
 status.  USR1 is set to be the green LED.
 (cherry picked from commit 048b526fd7cc0c642f27c674b3e235321c880b66)

 Signed-off-by: Jason Kridner jkrid...@beagleboard.org
 ---
  board/ti/beagle/Makefile |    4 ++-
  board/ti/beagle/beagle.c |    7 
  board/ti/beagle/led.c    |   91
 ++
  3 files changed, 101 insertions(+), 1 deletions(-)
  create mode 100644 board/ti/beagle/led.c

 diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
 index f797112..4cc675c 100644
 --- a/board/ti/beagle/Makefile
 +++ b/board/ti/beagle/Makefile
 @@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk

  LIB  = $(obj)lib$(BOARD).a

 -COBJS        := beagle.o
 +COBJS-y      := $(BOARD).o
 +COBJS-$(CONFIG_STATUS_LED) += led.o

 +COBJS        := $(sort $(COBJS-y))
  SRCS := $(COBJS:.o=.c)
  OBJS := $(addprefix $(obj),$(COBJS))

 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index 93c452e..dd7b6b5 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -30,6 +30,9 @@
   * MA 02111-1307 USA
   */
  #include common.h
 +#ifdef CONFIG_STATUS_LED
 +#include status_led.h
 +#endif
  #include twl4030.h
  #include asm/io.h
  #include asm/arch/mmc_host_def.h
 @@ -78,6 +81,10 @@ int board_init(void)
       /* boot param addr */
       gd-bd-bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);

 +#if defined(CONFIG_STATUS_LED)  defined(STATUS_LED_BOOT)
 +     status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
 +#endif
 +
       return 0;
  }

 diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
 new file mode 100644
 index 000..df26552
 --- /dev/null
 +++ b/board/ti/beagle/led.c
 @@ -0,0 +1,91 @@
 +/*
 + * Copyright (c) 2010 Texas Instruments, Inc.
 + * Jason Kridner jkrid...@beagleboard.org
 + *
 + * 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 common.h
 +#include status_led.h
 +#include asm/arch/cpu.h
 +#include asm/io.h
 +#include asm/arch/sys_proto.h
 +#include asm/arch/gpio.h
 +
 +static unsigned int saved_state[2] = {STATUS_LED_OFF,
 STATUS_LED_OFF};
 +
 +/* GPIO pins for the LEDs */
 +#define BEAGLE_LED_USR0      149
 +#define BEAGLE_LED_USR1      150
 +
 +#ifdef STATUS_LED_GREEN
 +void green_LED_off (void)
 +{
 +     __led_set (STATUS_LED_GREEN, 0);
 +}
 +
 +void green_LED_on (void)
 +{
 +     __led_set (STATUS_LED_GREEN, 1);
 +}
 +#endif
 +
 +void __led_init (led_id_t mask, int state)
 +{
 +     __led_set (mask, state);
 +}
 +
 +void __led_toggle (led_id_t mask)
 +{
 +#ifdef STATUS_LED_BIT
 +     if (STATUS_LED_BIT  mask) {
 +             if (STATUS_LED_ON == saved_state[0])
 +                     __led_set(STATUS_LED_BIT, 0);
 +             else
 +                     __led_set(STATUS_LED_BIT, 1);
 +     }
 +#endif
 +#ifdef STATUS_LED_BIT1
 +     if (STATUS_LED_BIT1  mask) {
 +             if (STATUS_LED_ON == saved_state[1])
 +                     __led_set(STATUS_LED_BIT1, 0);
 +             else
 +                     __led_set(STATUS_LED_BIT1, 1);
 +     }
 +#endif
 +}
 +
 +void __led_set (led_id_t mask, int state)
 +{
 +#ifdef STATUS_LED_BIT
 +     if (STATUS_LED_BIT  mask) {
 +             if (!omap_request_gpio(BEAGLE_LED_USR0)) {
 +                     omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
 +                     omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
 +             }
 +             saved_state[0] = state;
 +     }
 +#endif
 +#ifdef STATUS_LED_BIT1
 +     if (STATUS_LED_BIT1  mask) {
 +             if (!omap_request_gpio(BEAGLE_LED_USR1)) {
 +                     omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
 +                     omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
 +             }
 +             saved_state[1] = state;
 +     }
 +#endif
 +}

 [sp] I see too many ifdef blocks in the code above. The also seems to be
     repetitive.

     Is user really expected to change the u-boot config for each 

Re: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: add xM rev B to ID table

2010-11-05 Thread Nishanth Menon
Jason Kridner wrote, on 11/05/2010 01:46 AM:
 From: Koen Kooik...@dominion.thruhere.net

 Patch was updated by Jason Kridnerjkrid...@beagleboard.org:
 * Use tabs to match style of other board revisions
 * Only include board revisions that exist
 * Default to the same configuration as the latest revision, but
without setting 'beaglerev'

 Signed-off-by: Jason Kridnerjkrid...@beagleboard.org
not signed-off-by: Koen?

 ---
   board/ti/beagle/beagle.c |   20 +++-
   board/ti/beagle/beagle.h |3 ++-
   2 files changed, 21 insertions(+), 2 deletions(-)

 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index 520e57d..93c452e 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -176,7 +176,7 @@ int misc_init_r(void)
   TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
   TWL4030_PM_RECEIVER_DEV_GRP_P1);
   break;
 - case REVISION_XM:
 + case REVISION_XM_A:
   printf(Beagle xM Rev A\n);
   setenv(beaglerev, xMA);
   setenv(mpurate, 1000);
 @@ -187,8 +187,26 @@ int misc_init_r(void)
   TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
   TWL4030_PM_RECEIVER_DEV_GRP_P1);
   break;
 + case REVISION_XM_B:
 + printf(Beagle xM Rev B\n);
 + setenv(beaglerev, xMB);
 + setenv(mpurate, 1000);
 + MUX_BEAGLE_XM();
 + /* Set VAUX2 to 1.8V for EHCI PHY */
 + twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
 + TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
 + TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
 + TWL4030_PM_RECEIVER_DEV_GRP_P1);
 + break;
   default:
   printf(Beagle unknown 0x%02x\n, get_board_revision());
 + setenv(mpurate, 1000);

It looks to me looking at the file that mpurate usage is CPU based and 
NOT board based.. maybe you should use the cpu idendity to decide on 
mpurate instead?


 + MUX_BEAGLE_XM();
 + /* Set VAUX2 to 1.8V for EHCI PHY */
 + twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
 + TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
 + TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
 + TWL4030_PM_RECEIVER_DEV_GRP_P1);
   }

   switch (get_expansion_id()) {
 diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
 index 7d8dee0..fa893c4 100644
 --- a/board/ti/beagle/beagle.h
 +++ b/board/ti/beagle/beagle.h
 @@ -37,7 +37,8 @@ const omap3_sysinfo sysinfo = {
   #define REVISION_AXBX   0x7
   #define REVISION_CX 0x6
   #define REVISION_C4 0x5
 -#define REVISION_XM  0x0
 +#define REVISION_XM_A0x0
 +#define REVISION_XM_B0x1

   /*
* IEN  - Input Enable


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


[U-Boot] [PATCH v2 0/3] Pandora config fixes and updates

2010-11-05 Thread Grazvydas Ignotas
These patches update pandora's config for relocations and memory
layout changes. They also sync the config with one shipped on
production units.

Please apply at least the first patch for v2010.12 so that we have
pandora buildable.
Patches generated on top of u-boot-ti, also applies on mainline u-boot.

Grazvydas Ignotas (3):
  OMAP3: pandora: fix relocation and init memory map
  OMAP3: pandora: remove unused config macros
  OMAP3: pandora: update config for production

 board/pandora/config.mk |   33 ---
 include/configs/omap3_pandora.h |  117 +-
 2 files changed, 52 insertions(+), 98 deletions(-)
 delete mode 100644 board/pandora/config.mk

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


[U-Boot] [PATCH v2 1/3] OMAP3: pandora: fix relocation and init memory map

2010-11-05 Thread Grazvydas Ignotas
Fix the build breakage introduced by the recent relocation
and memory layout changes for ARM.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 board/pandora/config.mk |   33 -
 include/configs/omap3_pandora.h |8 
 2 files changed, 8 insertions(+), 33 deletions(-)
 delete mode 100644 board/pandora/config.mk

diff --git a/board/pandora/config.mk b/board/pandora/config.mk
deleted file mode 100644
index 0fab80c..000
--- a/board/pandora/config.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# (C) Copyright 2006
-# Texas Instruments, www.ti.com
-#
-# Pandora uses OMAP3 (ARM-CortexA8) cpu
-# see http://www.ti.com/ for more information on Texas Instruments
-#
-# 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
-#
-# Physical Address:
-# 8000' (bank0)
-# A000/ (bank1)
-# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
-# (mem base + reserved)
-
-# For use with external or internal boots.
-CONFIG_SYS_TEXT_BASE = 0x80e8
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index b78aacf..b8cd2cd 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -243,6 +243,14 @@
 /* SDRAM Bank Allocation method */
 #define SDRC_R_B_C 1
 
+#define CONFIG_SYS_TEXT_BASE   0x80008000
+#define CONFIG_SYS_SDRAM_BASE  PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR   0x4020f800
+#define CONFIG_SYS_INIT_RAM_SIZE   0x800
+#define CONFIG_SYS_INIT_SP_ADDR(CONFIG_SYS_INIT_RAM_ADDR + \
+   CONFIG_SYS_INIT_RAM_SIZE - \
+   GENERATED_GBL_DATA_SIZE)
+
 /*---
  * FLASH and environment organization
  */
-- 
1.6.3.3

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


[U-Boot] [PATCH v2 2/3] OMAP3: pandora: remove unused config macros

2010-11-05 Thread Grazvydas Ignotas
Pandora's config has various flash related macros that are either
not referenced anywhere in the code or are used by drivers that
are not enabled. Remove them.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
Alternatively this old patch can be applied to clean up more OMAP boards:
http://lists.denx.de/pipermail/u-boot/2010-April/070860.html

 include/configs/omap3_pandora.h |   20 
 1 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index b8cd2cd..f386bc4 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -261,40 +261,20 @@
 #define PISMO1_NAND_SIZE   GPMC_SIZE_128M
 #define PISMO1_ONEN_SIZE   GPMC_SIZE_128M
 
-#define CONFIG_SYS_MAX_FLASH_SECT  520 /* max number of sectors on */
-   /* one chip */
-#define CONFIG_SYS_MAX_FLASH_BANKS 2   /* max number of flash banks */
 #define CONFIG_SYS_MONITOR_LEN (256  10) /* Reserve 2 sectors */
 
 #define CONFIG_SYS_FLASH_BASE  boot_flash_base
 
 /* Monitor at start of flash */
 #define CONFIG_SYS_MONITOR_BASECONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_ONENAND_BASEONENAND_MAP
 
 #define CONFIG_ENV_IS_IN_NAND  1
-#define ONENAND_ENV_OFFSET 0x24 /* environment starts here */
 #define SMNAND_ENV_OFFSET  0x24 /* environment starts here */
 
 #define CONFIG_SYS_ENV_SECT_SIZE   boot_flash_sec
 #define CONFIG_ENV_OFFSET  boot_flash_off
 #define CONFIG_ENV_ADDRSMNAND_ENV_OFFSET
 
-/*---
- * CFI FLASH driver setup
- */
-/* timeout values are in ticks */
-#define CONFIG_SYS_FLASH_ERASE_TOUT(100 * CONFIG_SYS_HZ)
-#define CONFIG_SYS_FLASH_WRITE_TOUT(100 * CONFIG_SYS_HZ)
-
-/* Flash banks JFFS2 should use */
-#define CONFIG_SYS_MAX_MTD_BANKS   (CONFIG_SYS_MAX_FLASH_BANKS + \
-   CONFIG_SYS_MAX_NAND_DEVICE)
-#define CONFIG_SYS_JFFS2_MEM_NAND
-/* use flash_info[2] */
-#define CONFIG_SYS_JFFS2_FIRST_BANKCONFIG_SYS_MAX_FLASH_BANKS
-#define CONFIG_SYS_JFFS2_NUM_BANKS 1
-
 #ifndef __ASSEMBLY__
 extern unsigned int boot_flash_base;
 extern volatile unsigned int boot_flash_env_addr;
-- 
1.6.3.3

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


[U-Boot] [PATCH v2 3/3] OMAP3: pandora: update config for production

2010-11-05 Thread Grazvydas Ignotas
Update pandora's config so that it can boot production kernels from NAND.
This enables UBI, USB, sets up NAND layout and default boot command.
It also expands malloc area so that UBI works.

Signed-off-by: Grazvydas Ignotas nota...@gmail.com
---
 include/configs/omap3_pandora.h |   89 +++
 1 files changed, 44 insertions(+), 45 deletions(-)

diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index f386bc4..72b0cc2 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -1,6 +1,6 @@
 /*
- * (C) Copyright 2008
- * Grazvydas Ignotas nota...@gmail.com
+ * (C) Copyright 2008-2010
+ * Gražvydas Ignotas nota...@gmail.com
  *
  * Configuration settings for the OMAP3 Pandora.
  *
@@ -59,14 +59,24 @@
  * Size of malloc() pool
  */
 #define CONFIG_ENV_SIZE(128  10) /* 128 KiB */
-   /* Sector */
-#define CONFIG_SYS_MALLOC_LEN  (CONFIG_ENV_SIZE + (128  10))
-   /* initial data */
+#define CONFIG_SYS_MALLOC_LEN  (1024 * 1024 + CONFIG_ENV_SIZE)
 
 /*
  * Hardware drivers
  */
 
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
+#define CONFIG_SYS_DEVICE_NULLDEV  1
+
+/* USB */
+#define CONFIG_MUSB_UDC1
+#define CONFIG_USB_OMAP3   1
+#define CONFIG_TWL4030_USB 1
+
+/* USB device configuration */
+#define CONFIG_USB_DEVICE  1
+#define CONFIG_USB_TTY 1
+
 /*
  * NS16550 Configuration
  */
@@ -101,11 +111,11 @@
 
 #define CONFIG_CMD_EXT2/* EXT2 Support */
 #define CONFIG_CMD_FAT /* FAT support  */
-#define CONFIG_CMD_JFFS2   /* JFFS2 Support*/
 
 #define CONFIG_CMD_I2C /* I2C serial bus support   */
 #define CONFIG_CMD_MMC /* MMC support  */
 #define CONFIG_CMD_NAND/* NAND support */
+#define CONFIG_CMD_CACHE   /* Cache control*/
 
 #undef CONFIG_CMD_FLASH/* flinfo, erase, protect   */
 #undef CONFIG_CMD_FPGA /* FPGA configuration Support   */
@@ -141,52 +151,41 @@
 
 #define CONFIG_SYS_MAX_NAND_DEVICE 1   /* Max number of NAND */
/* devices */
-#define CONFIG_JFFS2_NAND
-/* nand device jffs2 lives on */
-#define CONFIG_JFFS2_DEV   nand0
-/* start of jffs2 partition */
-#define CONFIG_JFFS2_PART_OFFSET   0x68
-#define CONFIG_JFFS2_PART_SIZE 0xf98   /* size of jffs2 */
-   /* partition */
+
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_MTD_DEVICE
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_LZO
+
+#define MTDIDS_DEFAULT nand0=nand
+#define MTDPARTS_DEFAULT   mtdparts=nand:512k(xloader),\
+   1920k(uboot),128k(uboot-env),\
+   10m(boot),-(rootfs)
+#else
+#define MTDPARTS_DEFAULT
+#endif
 
 /* Environment information */
 #define CONFIG_BOOTDELAY   1
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
+   usbtty=cdc_acm\0 \
loadaddr=0x8200\0 \
-   console=ttyS0,115200n8\0 \
-   videospec=omapfb:vram:2M,vram:4M\0 \
-   mmcargs=setenv bootargs console=${console}  \
-   video=${videospec}  \
-   root=/dev/mmcblk0p2 rw  \
-   rootfstype=ext3 rootwait\0 \
-   nandargs=setenv bootargs console=${console}  \
-   video=${videospec}  \
-   root=/dev/mtdblock4 rw  \
-   rootfstype=jffs2\0 \
-   loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0 \
-   bootscript=echo Running bootscript from mmc ...;  \
-   source ${loadaddr}\0 \
-   loaduimage=fatload mmc 0 ${loadaddr} uImage\0 \
-   mmcboot=echo Booting from mmc ...;  \
-   run mmcargs;  \
-   bootm ${loadaddr}\0 \
-   nandboot=echo Booting from nand ...;  \
-   run nandargs;  \
-   nand read ${loadaddr} 28 40;  \
-   bootm ${loadaddr}\0 \
+   bootargs=ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs  \
+   rw rootflags=bulk_read console=ttyS0,115200n8  \
+   vram=6272K omapfb.vram=0:3000K\0 \
+   mtdparts= MTDPARTS_DEFAULT \0 \
 
 #define CONFIG_BOOTCOMMAND \
-   if mmc init; then  \
-   if run loadbootscript; then  \
-   run bootscript;  \
-   else  \
-   if run loaduimage; then  \
-   run mmcboot;  \
-   else run nandboot;  \
-   fi;  \
-   fi;  \
-   else run nandboot; fi
+   if mmc init  

Re: [U-Boot] patches added to u-boot-ti

2010-11-05 Thread Grazvydas Ignotas
On Thu, Nov 4, 2010 at 10:25 PM, Paulraj, Sandeep s-paul...@ti.com wrote:
 I have added quite a few patches to u-boot-ti but MAKEALL returns several 
 errors.

 I think most boards have not been updated since the ARM relocation patch.

Just sent patches to fix up OMAP3 pandora,
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] patches added to u-boot-ti

2010-11-05 Thread Paulraj, Sandeep

 
 On Thu, Nov 4, 2010 at 10:25 PM, Paulraj, Sandeep s-paul...@ti.com
 wrote:
  I have added quite a few patches to u-boot-ti but MAKEALL returns
 several errors.
 
  I think most boards have not been updated since the ARM relocation patch.
 
 Just sent patches to fix up OMAP3 pandora,

Thanks, I saw it.

I think I can add it to this release itself.

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


Re: [U-Boot] [PATCH v2 2/3] OMAP3: pandora: remove unused config macros

2010-11-05 Thread Paulraj, Sandeep

 
 Pandora's config has various flash related macros that are either
 not referenced anywhere in the code or are used by drivers that
 are not enabled. Remove them.
 
 Signed-off-by: Grazvydas Ignotas nota...@gmail.com
 ---
 Alternatively this old patch can be applied to clean up more OMAP boards:
 http://lists.denx.de/pipermail/u-boot/2010-April/070860.html

Do you think this patch still applies clean?

It will be better if you repost to refresh us all.

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


[U-Boot] [PATCH] [NEXT] da850evm: Add RMII support for EMAC

2010-11-05 Thread Ben Gardiner
From: Sudhakar Rajashekhara sudhakar@ti.com

This patch is a port of the work by Sudhakar Rajeshekhara in commit
ab3effbcad8851cc65dc5241a01c064d2030a3b2 of
git://arago-project.org/git/people/sandeep/u-boot-davinci.git.

The da850 UI board has on it an RMII PHY which can be used if the MDC line
to the MII PHY on the baseboard is disabled and the RMII PHY is enabled by 
configuring the values of some GPIO pins on the IO expander of the UI board.
This patch implements disabling that line via GPIO2[6], configuring the UI 
board's IO expander and setting only the pinmux settings that are needed for
RMII operation.

Tested on da850evm by adding a define for CONFIG_DRIVER_TI_EMAC_USE_RMII.

Signed-off-by: Sudhakar Rajashekhara sudhakar@ti.com
Signed-off-by: Ben Gardiner bengardi...@nanometrics.ca
CC: Sandeep Paulraj s-paul...@ti.com
CC: Ben Warren biggerbadder...@gmail.com

---

Changes since work of Sudhakar Rajashekhar:
  * rebased to 0c0892be0d93a5a892b93739c5eb3bf692fed4ff, resolved conflicts.
  * fixup uses of pinmux[x] to pinmux(x)

---
 arch/arm/include/asm/arch-davinci/hardware.h |4 +
 board/davinci/da8xxevm/common.c  |   14 +++
 board/davinci/da8xxevm/common.h  |3 +
 board/davinci/da8xxevm/da850evm.c|  112 +-
 drivers/net/davinci_emac.c   |   41 +-
 include/configs/da850evm.h   |1 +
 6 files changed, 170 insertions(+), 5 deletions(-)

diff --git a/arch/arm/include/asm/arch-davinci/hardware.h 
b/arch/arm/include/asm/arch-davinci/hardware.h
index 3520cf8..da1160a 100644
--- a/arch/arm/include/asm/arch-davinci/hardware.h
+++ b/arch/arm/include/asm/arch-davinci/hardware.h
@@ -150,6 +150,10 @@ typedef volatile unsigned int *dv_reg_p;
 #define DAVINCI_INTC_BASE  0xfffee000
 #define DAVINCI_BOOTCFG_BASE   0x01c14000
 
+#define GPIO_BANK2_REG_DIR_ADDR(DAVINCI_GPIO_BASE + 
0x38)
+#define GPIO_BANK2_REG_OPDATA_ADDR (DAVINCI_GPIO_BASE + 0x3c)
+#define GPIO_BANK2_REG_SET_ADDR(DAVINCI_GPIO_BASE + 
0x40)
+#define GPIO_BANK2_REG_CLR_ADDR(DAVINCI_GPIO_BASE + 
0x44)
 #endif /* CONFIG_SOC_DA8XX */
 
 /* Power and Sleep Controller (PSC) Domains */
diff --git a/board/davinci/da8xxevm/common.c b/board/davinci/da8xxevm/common.c
index 9cd5204..b33b877 100644
--- a/board/davinci/da8xxevm/common.c
+++ b/board/davinci/da8xxevm/common.c
@@ -53,3 +53,17 @@ int da8xx_configure_lpsc_items(const struct lpsc_resource 
*item,
 
return 0;
 }
+
+#if defined(CONFIG_DRIVER_TI_EMAC)  defined(CONFIG_MACH_DAVINCI_DA850_EVM)
+void da850_emac_mii_mode_sel(int mode_sel)
+{
+   int val;
+
+   val = readl(davinci_syscfg_regs-cfgchip3);
+   if (mode_sel == 0)
+   val = ~(1  8);
+   else
+   val |= (1  8);
+   writel(val, davinci_syscfg_regs-cfgchip3);
+}
+#endif
diff --git a/board/davinci/da8xxevm/common.h b/board/davinci/da8xxevm/common.h
index 7ae63a6..8b564f7 100644
--- a/board/davinci/da8xxevm/common.h
+++ b/board/davinci/da8xxevm/common.h
@@ -26,5 +26,8 @@ struct lpsc_resource {
 void irq_init(void);
 int da8xx_configure_lpsc_items(const struct lpsc_resource *item,
int n_items);
+#if defined(CONFIG_DRIVER_TI_EMAC)  defined(CONFIG_MACH_DAVINCI_DA850_EVM)
+void da850_emac_mii_mode_sel(int mode_sel);
+#endif
 
 #endif /* __COMMON_H */
diff --git a/board/davinci/da8xxevm/da850evm.c 
b/board/davinci/da8xxevm/da850evm.c
index c8c5e1b..ac96818 100644
--- a/board/davinci/da8xxevm/da850evm.c
+++ b/board/davinci/da8xxevm/da850evm.c
@@ -54,6 +54,15 @@ static const struct pinmux_config uart_pins[] = {
 
 #ifdef CONFIG_DRIVER_TI_EMAC
 static const struct pinmux_config emac_pins[] = {
+#ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII
+   { pinmux(14), 8, 2 },
+   { pinmux(14), 8, 3 },
+   { pinmux(14), 8, 4 },
+   { pinmux(14), 8, 5 },
+   { pinmux(14), 8, 6 },
+   { pinmux(14), 8, 7 },
+   { pinmux(15), 8, 1 },
+#else /* ! CONFIG_DRIVER_TI_EMAC_USE_RMII */
{ pinmux(2), 8, 1 },
{ pinmux(2), 8, 2 },
{ pinmux(2), 8, 3 },
@@ -69,10 +78,10 @@ static const struct pinmux_config emac_pins[] = {
{ pinmux(3), 8, 5 },
{ pinmux(3), 8, 6 },
{ pinmux(3), 8, 7 },
+#endif /* CONFIG_DRIVER_TI_EMAC_USE_RMII */
{ pinmux(4), 8, 0 },
{ pinmux(4), 8, 1 }
 };
-#endif /* CONFIG_DRIVER_TI_EMAC */
 
 /* I2C pin muxer settings */
 static const struct pinmux_config i2c_pins[] = {
@@ -99,6 +108,13 @@ const struct pinmux_config nand_pins[] = {
 };
 #endif
 
+#ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII
+#define HAS_RMII 1
+#else
+#define HAS_RMII 0
+#endif
+#endif /* CONFIG_DRIVER_TI_EMAC */
+
 static const struct pinmux_resource pinmuxes[] = {
 #ifdef CONFIG_SPI_FLASH
PINMUX_ITEM(spi1_pins),
@@ -170,9 +186,8 @@ int board_init(void)
 #ifdef CONFIG_DRIVER_TI_EMAC
if 

[U-Boot] SALE ENDS TODAY -business, consumer and healthcare email lists

2010-11-05 Thread Gallagher I Sadie
This week only I can sell you ANY individual list below for just $99 or 3 for 
$249:

( HEALTHCARE )

- Doctors (34 different specialties)
- Chiropractors
- Alternative Medicine 
- Dentists 
- Veterinarians 
- Hospitals 
- National Health Service Corp Clinics 
- Nursing Homes 
- Pharmaceutical Companies
- Physical Therapists 
- Oncology Doctors
- US Surgery Centers
- Massage Therapists 
- Acupuncturists 
- Medical Equipment Suppliers
- Mental Health Counselors
- Visiting Nurses  RN's 
- Optometrists 
- Psychologists

( BUSINESS LISTS )

- Hotels
- Real Estate Agents 
- American Business Email List 
- US New Business Database 
- Manufacturers Database 
- Financial Planners Database 
- Finance and Money Professionals Database

( CONSUMER LISTS )

- American Consumer Database 
- Credit Inquiries Database 
- American Homeowners

( PROFESSIONALS LISTS )

- USA Lawyers Database 
- Police and Sheriff Services 
- Criminal Attorneys - 142,906 


email me here for counts  samples: listprofession...@gmx.com

  




to terminate please send a blank message to takeme...@gmx.com
  




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


Re: [U-Boot] ARM: OMAP3/4: proposal: Cleanup MUX

2010-11-05 Thread Steve Sakoman
On Fri, Nov 5, 2010 at 12:56 PM, Nishanth Menon
menon.nisha...@gmail.com wrote:
 Folks,
 I would like to work on the following: Cleanup mux configurations done
 in OMAP3 and 4 platforms. includes the following:
 a) have isolate mux configurations per IP configuration, e.g. for EHCI,
 we have a mux array definition for EHCI etc..
 b) remove ALL mux configurations that are not relevant for u-boot
 functionality - currently we do all muxing in u-boot(including stuff
 like camera which obviously we dont use in u-boot).

 any kernel breakages as a result of assumptions of muxing already done
 is to be fixed in kernel itself - kernel *has* a mux framework for OMAP
 and platforms files *should* be using that for kernel functionality that
 they need. no point in carrying that burden in u-boot.

 I would like to post this patches so that for the next merge window we
 could pull this in and notify the linux-omap kernel guys to fix their
 stuff if they depend on u-boot for mux configurations - it is high time
 they stop being closely tied to U-boot and have capability to deal with
 other bootloaders which may or maynot have capability for doing muxing -
 it also saves us to add and maintain mux configurations for linux kernel
 booting - u-boot is supposed to support multiple operating systems (not
 just linux kernel).

While I understand that you are frustrated with the slow movement in
getting the kernel mux cleaned up, I really can't support deliberately
breaking systems to force the issue.

I don't think it does end users any service to have a u-boot upgrade
break their systems.  In the end, they are the ones who will be hurt
and u-boot will get the blame for causing the breakage.

I'd rather see us put the energy into helping get the kernel in shape.

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


[U-Boot] [PATCH] ARMV7: Overo: Automatically set clock rate to maximum if mpurate env variable is auto

2010-11-05 Thread Steve Sakoman
The maximum clock rate for the OMAP3 processors on Overo depends on the
processor type and revision.  This patch sets the clock rate to the
spec sheet maximum if the mpurate environment variable is set to
auto.  Otherwise it passes the mpurate variable unchanged on the
kernel command line.

Signed-off-by: Steve Sakoman steve.sako...@linaro.org
---

diff --git a/board/overo/overo.c b/board/overo/overo.c
index f917e40..3c9e4a6 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -281,6 +281,22 @@ int misc_init_r(void)
 
dieid_num_r();
 
+   if (strcmp(getenv(mpurate), auto) == 0)
+   switch (get_cpu_family()) {
+   case CPU_OMAP34XX:
+   if ((get_cpu_rev() = CPU_3XX_ES31) 
+   (get_sku_id() == SKUID_CLK_720MHZ))
+   setenv(mpurate, 720);
+   else
+   setenv(mpurate, 600);
+   break;
+   case CPU_OMAP36XX:
+   setenv(mpurate, 720);
+   break;
+   default:
+   setenv(mpurate, 500);
+   }
+
return 0;
 }
 
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
index 79a5b85..dbdfd9a 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
@@ -156,7 +156,7 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
loadaddr=0x8200\0 \
console=ttyS2,115200n8\0 \
-   mpurate=500\0 \
+   mpurate=auto\0 \
vram=12M\0 \
dvimode=1024x768mr...@60\0 \
defaultdisplay=dvi\0 \

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


Re: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: add xM rev B to ID table

2010-11-05 Thread Steve Sakoman
On Fri, Nov 5, 2010 at 10:54 AM, Nishanth Menon
menon.nisha...@gmail.com wrote:
 Jason Kridner wrote, on 11/05/2010 01:46 AM:
 From: Koen Kooik...@dominion.thruhere.net

 Patch was updated by Jason Kridnerjkrid...@beagleboard.org:
 * Use tabs to match style of other board revisions
 * Only include board revisions that exist
 * Default to the same configuration as the latest revision, but
    without setting 'beaglerev'

 Signed-off-by: Jason Kridnerjkrid...@beagleboard.org
 not signed-off-by: Koen?

 ---
   board/ti/beagle/beagle.c |   20 +++-
   board/ti/beagle/beagle.h |    3 ++-
   2 files changed, 21 insertions(+), 2 deletions(-)

 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index 520e57d..93c452e 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -176,7 +176,7 @@ int misc_init_r(void)
                                       TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
                                       TWL4030_PM_RECEIVER_DEV_GRP_P1);
               break;
 -     case REVISION_XM:
 +     case REVISION_XM_A:
               printf(Beagle xM Rev A\n);
               setenv(beaglerev, xMA);
               setenv(mpurate, 1000);
 @@ -187,8 +187,26 @@ int misc_init_r(void)
                                       TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
                                       TWL4030_PM_RECEIVER_DEV_GRP_P1);
               break;
 +     case REVISION_XM_B:
 +             printf(Beagle xM Rev B\n);
 +             setenv(beaglerev, xMB);
 +             setenv(mpurate, 1000);
 +             MUX_BEAGLE_XM();
 +             /* Set VAUX2 to 1.8V for EHCI PHY */
 +             twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
 +                                     TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
 +                                     TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
 +                                     TWL4030_PM_RECEIVER_DEV_GRP_P1);
 +             break;
       default:
               printf(Beagle unknown 0x%02x\n, get_board_revision());
 +             setenv(mpurate, 1000);

 It looks to me looking at the file that mpurate usage is CPU based and
 NOT board based.. maybe you should use the cpu idendity to decide on
 mpurate instead?

I noticed this too.  I just submitted a patch for Overo that sets the
mpurate to the cpu maximum (based on cpu type and version) if the
mpurate environment variable is set to auto

This solves an additional issue: with things as they are now, it is
not possible for a user to set the mpurate to a specific value -- it
will always be overwritten.  The scheme above allows the user to set a
specific value or to allow u-boot to set the maximum automatically.

Note that for 36xx my patch sets the max to 720 -- this is because
mainline/linux-omap currently does not support 1000.  We can adjust
that when kernel support for 1000 appears.

My plan was to submit a similar patch for Beagle.

Steve


 +             MUX_BEAGLE_XM();
 +             /* Set VAUX2 to 1.8V for EHCI PHY */
 +             twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
 +                                     TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
 +                                     TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
 +                                     TWL4030_PM_RECEIVER_DEV_GRP_P1);
       }

       switch (get_expansion_id()) {
 diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
 index 7d8dee0..fa893c4 100644
 --- a/board/ti/beagle/beagle.h
 +++ b/board/ti/beagle/beagle.h
 @@ -37,7 +37,8 @@ const omap3_sysinfo sysinfo = {
   #define REVISION_AXBX       0x7
   #define REVISION_CX 0x6
   #define REVISION_C4 0x5
 -#define REVISION_XM  0x0
 +#define REVISION_XM_A        0x0
 +#define REVISION_XM_B        0x1

   /*
    * IEN  - Input Enable


 --
 Regards,
 Nishanth Menon
 ___
 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


Re: [U-Boot] ARM: OMAP3/4: proposal: Cleanup MUX

2010-11-05 Thread Nishanth Menon
Steve Sakoman wrote, on 11/05/2010 10:47 PM:
 While I understand that you are frustrated with the slow movement in
 getting the kernel mux cleaned up, I really can't support deliberately
 breaking systems to force the issue.

 I don't think it does end users any service to have a u-boot upgrade
 break their systems.  In the end, they are the ones who will be hurt
 and u-boot will get the blame for causing the breakage.

 I'd rather see us put the energy into helping get the kernel in shape.
In 2009 July[1], I raised the concern for OMAP3. at that point the fact 
was we did not have a clean mux framework in kernel. ok great, 2010 Nov 
now, there is *already* a framework for doing it in kernel upstream 
today. What rationale is there for OMAP3 beagleboard [1] still do muxing 
as it does today - we as a community are lazy to clean up our code? What 
happend as a result? There are linux-products out there which dont use 
u-boot as bootloader and development non-linux OS's out there which use 
u-boot as a bootloader - in the case of the linux-products, surprises 
were found for the upstream kernel depending on u-boot for their muxes 
and development-OSes found the same mistake when they switched to their 
native bootloaders at a later point.

Why should OMAP4 mux framework not move forward despite two rounds of 
RFC patches posted[3]? I am not asking this to be done tomorrow, I am 
asking our community for a deadline - If v2010.12 is too close, fine, 
then lets schedule it for after v2011.03 tag for example - is'nt 4 
months not good enough to get an already existing mux framework upstream 
in kernel.org for OMAP4? or should OMAP4 products go through the same 
experience of OMAP3?

Conceptually it is simple - a software does just what it is supposed to 
do - u-boot for OMAP today does way more than it's charter and I 
personally find it obnoxious! All I am saying is this: we all agree this 
is messed up, I have an itch, I am willing to do the cleanup as well, 
just tell me when it is right to do it, I just don't want to deal with 
crappy code anymore!

Ref:
[1] http://www.mail-archive.com/u-boot@lists.denx.de/msg17423.html
[2] 
http://git.denx.de/?p=u-boot.git;a=blob;f=board/ti/beagle/beagle.h;h=ec0da6d745477437c1c776db7929690e1e568437;hb=HEAD
[3] http://marc.info/?l=linux-omapm=12875274693w=2

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


Re: [U-Boot] [PATCH] ARMV7: OMAP3: BeagleBoard: add xM rev B to ID table

2010-11-05 Thread Nishanth Menon
Steve Sakoman wrote, on 11/05/2010 11:05 PM:
 On Fri, Nov 5, 2010 at 10:54 AM, Nishanth Menon
 menon.nisha...@gmail.com  wrote:
 Jason Kridner wrote, on 11/05/2010 01:46 AM:
 From: Koen Kooik...@dominion.thruhere.net

 Patch was updated by Jason Kridnerjkrid...@beagleboard.org:
 * Use tabs to match style of other board revisions
 * Only include board revisions that exist
 * Default to the same configuration as the latest revision, but
 without setting 'beaglerev'

 Signed-off-by: Jason Kridnerjkrid...@beagleboard.org
 not signed-off-by: Koen?

 ---
board/ti/beagle/beagle.c |   20 +++-
board/ti/beagle/beagle.h |3 ++-
2 files changed, 21 insertions(+), 2 deletions(-)

 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
 index 520e57d..93c452e 100644
 --- a/board/ti/beagle/beagle.c
 +++ b/board/ti/beagle/beagle.c
 @@ -176,7 +176,7 @@ int misc_init_r(void)
TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
TWL4030_PM_RECEIVER_DEV_GRP_P1);
break;
 - case REVISION_XM:
 + case REVISION_XM_A:
printf(Beagle xM Rev A\n);
setenv(beaglerev, xMA);
setenv(mpurate, 1000);
 @@ -187,8 +187,26 @@ int misc_init_r(void)
TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
TWL4030_PM_RECEIVER_DEV_GRP_P1);
break;
 + case REVISION_XM_B:
 + printf(Beagle xM Rev B\n);
 + setenv(beaglerev, xMB);
 + setenv(mpurate, 1000);
 + MUX_BEAGLE_XM();
 + /* Set VAUX2 to 1.8V for EHCI PHY */
 + twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
 + TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
 + TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
 + TWL4030_PM_RECEIVER_DEV_GRP_P1);
 + break;
default:
printf(Beagle unknown 0x%02x\n, get_board_revision());
 + setenv(mpurate, 1000);

 It looks to me looking at the file that mpurate usage is CPU based and
 NOT board based.. maybe you should use the cpu idendity to decide on
 mpurate instead?

 I noticed this too.  I just submitted a patch for Overo that sets the
 mpurate to the cpu maximum (based on cpu type and version) if the
 mpurate environment variable is set to auto
just for the record, saw this and I liked it :) thanks.


 This solves an additional issue: with things as they are now, it is
 not possible for a user to set the mpurate to a specific value -- it
 will always be overwritten.  The scheme above allows the user to set a
 specific value or to allow u-boot to set the maximum automatically.

 Note that for 36xx my patch sets the max to 720 -- this is because
 mainline/linux-omap currently does not support 1000.  We can adjust
 that when kernel support for 1000 appears.

Errr.. that is not completely true[1](ignoring the lack of upstream DVFS 
for OMAP3+) - Here is the explanation for it:

36xx family of silicon comes in 4 variants - the ones that support upto 
600MHz, ones that do 800MHz, ones that do 1GHz and the ones that do 
1.2GHz. the defaults posted upstream enables the least common 
denominator - 300,600MHz and it leaves it to board files to mention if 
they have silicon of additional capability- unfortunately, there is no 
bits that tell the s/w that(for those wondering - yeah s/w folks did try 
to convince h/w folks for those additional bits.. but after a long 
debate never succeeded) :(

Anyway, to put a long story short - if your board file supports 1GHz, 
with upstream OPP layer, you do have the flexibility to enable 1GHz OPP 
- just look at opp_enable[2] usage documentation [3]. I used thermal 
management as an example here, but no reason why we cant use it as 
well.. this way, you can infact support cpufreq if you would like to as 
well.


Ref:
[1] https://patchwork.kernel.org/patch/266911/ (search for 
omap36xx_opp_def_list)
[2] 
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=include/linux/opp.h;h=5449945d589f994ed5ac25f018ced4a5dc81db30;hb=HEAD#l39
[3] 
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/power/opp.txt;h=44d87ad3cea9fd345a774e196578a0cc8bf4d779;hb=HEAD#l193

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


Re: [U-Boot] [PATCH] ARMV7: Overo: Automatically set clock rate to maximum if mpurate env variable is auto

2010-11-05 Thread Nishanth Menon
just a minor crib - $subject length is around 88 characters, it'd look 
better with around 50 character length.

Steve Sakoman wrote, on 11/05/2010 10:59 PM:
 The maximum clock rate for the OMAP3 processors on Overo depends on the
 processor type and revision.  This patch sets the clock rate to the
 spec sheet maximum if the mpurate environment variable is set to
 auto.  Otherwise it passes the mpurate variable unchanged on the
 kernel command line.

 Signed-off-by: Steve Sakomansteve.sako...@linaro.org
 ---

 diff --git a/board/overo/overo.c b/board/overo/overo.c
 index f917e40..3c9e4a6 100644
 --- a/board/overo/overo.c
 +++ b/board/overo/overo.c
 @@ -281,6 +281,22 @@ int misc_init_r(void)

   dieid_num_r();

 + if (strcmp(getenv(mpurate), auto) == 0)
 + switch (get_cpu_family()) {
 + case CPU_OMAP34XX:
 + if ((get_cpu_rev()= CPU_3XX_ES31)
 + (get_sku_id() == SKUID_CLK_720MHZ))
 + setenv(mpurate, 720);
 + else
 + setenv(mpurate, 600);
 + break;
 + case CPU_OMAP36XX:
 + setenv(mpurate, 720);
 + break;
 + default:
 + setenv(mpurate, 500);
 + }
 +
   return 0;
   }

 diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
 index 79a5b85..dbdfd9a 100644
 --- a/include/configs/omap3_overo.h
 +++ b/include/configs/omap3_overo.h
 @@ -156,7 +156,7 @@
   #define CONFIG_EXTRA_ENV_SETTINGS \
   loadaddr=0x8200\0 \
   console=ttyS2,115200n8\0 \
 - mpurate=500\0 \
 + mpurate=auto\0 \
   vram=12M\0 \
   dvimode=1024x768mr...@60\0 \
   defaultdisplay=dvi\0 \

yep, this does look like a nice way to do it. thanks.

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


Re: [U-Boot] ARM: OMAP3/4: proposal: Cleanup MUX

2010-11-05 Thread Peter Barada
On 11/06/2010 12:00 AM, Nishanth Menon wrote:
 Steve Sakoman wrote, on 11/05/2010 10:47 PM:

 While I understand that you are frustrated with the slow movement in
 getting the kernel mux cleaned up, I really can't support deliberately
 breaking systems to force the issue.

 I don't think it does end users any service to have a u-boot upgrade
 break their systems.  In the end, they are the ones who will be hurt
 and u-boot will get the blame for causing the breakage.

 I'd rather see us put the energy into helping get the kernel in shape.
  
 In 2009 July[1], I raised the concern for OMAP3. at that point the fact
 was we did not have a clean mux framework in kernel. ok great, 2010 Nov
 now, there is *already* a framework for doing it in kernel upstream
 today. What rationale is there for OMAP3 beagleboard [1] still do muxing
 as it does today - we as a community are lazy to clean up our code? What
 happend as a result? There are linux-products out there which dont use
 u-boot as bootloader and development non-linux OS's out there which use
 u-boot as a bootloader - in the case of the linux-products, surprises
 were found for the upstream kernel depending on u-boot for their muxes
 and development-OSes found the same mistake when they switched to their
 native bootloaders at a later point.

 Why should OMAP4 mux framework not move forward despite two rounds of
 RFC patches posted[3]? I am not asking this to be done tomorrow, I am
 asking our community for a deadline - If v2010.12 is too close, fine,
 then lets schedule it for after v2011.03 tag for example -  is'nt 4
 months not good enough to get an already existing mux framework upstream
 in kernel.org for OMAP4? or should OMAP4 products go through the same
 experience of OMAP3?

 Conceptually it is simple - a software does just what it is supposed to
 do - u-boot for OMAP today does way more than it's charter and I
 personally find it obnoxious! All I am saying is this: we all agree this
 is messed up, I have an itch, I am willing to do the cleanup as well,
 just tell me when it is right to do it, I just don't want to deal with
 crappy code anymore!

 Ref:
 [1] http://www.mail-archive.com/u-boot@lists.denx.de/msg17423.html
 [2]
 http://git.denx.de/?p=u-boot.git;a=blob;f=board/ti/beagle/beagle.h;h=ec0da6d745477437c1c776db7929690e1e568437;hb=HEAD
 [3] http://marc.info/?l=linux-omapm=12875274693w=2

Personally I'd like to see the kernel and u-boot disconnect on the 
pinmux; In my world I have a module with an OMAP35x on it and customers 
design their own baseboards and use pins as they see fit.  We start with 
a common u-boot and kernel that operates on two SDK boards, and 
customers design their own baseboards assigning pins to various 
functions.  One customer may want the camera pins as a camera while 
another uses them for GPIO; u-boot shouldn't care about how the kernel 
uses the pins, it should just pinmux what it needs(following an 
approximation):

1) DDR (if not already running in DDR)
2) GPMC for NAND
3) Serial console
4) USB Host (if u-boot is so configured)

Then the kernel should configure pins it uses on a registered 
platform_device basis; i.e. setup the pinmux for that particular 
platform_device can probe its hardware.  Then the kernel can save even 
more power by leaving unused pins in Mode 7 (i.e. Hi-z) that are not 
used which saves even more power in suspend.

Previously in the OMAP kernel space u-boot was responsible for setting 
up the pinmux, but with the latest changes, more of the pinmux setup is 
moving to the kernel and it is time for a complete disconnect, i.e. the 
kernel must assume that anything it wants to configure needs to have its 
pinmux setup; yes there will be a period of pain, but its a lot easier 
to break the assumption than keep providing one

-- 
Peter Barada
pet...@logicpd.com

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