Re: [U-Boot] [PATCH 0/4] omap3: clean up gpmc config strut

2009-05-12 Thread Matthias Ludwig
 which tree is the baseline for these? i think arm/next has few changes
 also which is yet to be merged to mainline..

its based on 2009.06-RC1.
I recently compile-tested on arm/next, it works for all platforms in
master, but breaks zoom2. 

-- 
Matthias Ludwig, Software Development
Ultratronik Entwicklungs GmbH, Gewerbestrasse 52, 82211 Herrsching, Germany
http://www.ultratronik.de  Tel: +49 8152 3709-356  Fax: +49 8152 5183
Registergericht Muenchen, HRB 55584
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot



Re: [U-Boot] [PATCH v2] Gbe Controller driver support for kirkwood SOCs

2009-05-12 Thread Ben Warren
Hi Prafulla,

Prafulla Wadaskar wrote:
 Hi All

 Ping
 I didn't here any feedback from anyone, waiting for your valued comments :-(

   
I've started reviewing this driver - it's a lot to digest (2500 
lines!?!).  Please think a little about what features are really needed 
here.  For example, do you really need RMON in a bootloader?  I'll try 
to provide more specific feedback soon.
 Regards..
 Prafulla . . 

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


Re: [U-Boot] [PATCH 2/4] omap3: remove typedef for struct gpmc

2009-05-12 Thread Matthias Ludwig
Hi Dirk,

 I wonder if you have the resources and like to convert all register  
 structs used by OMAP3 code and remove the typedef?

 Else we would have a mixture of typedefs and struct usage (see e.g.  
 above in sys_info.c). I would like to have it consistent, either the one 
 or the other way ;) What do you think?

sounds reasonable, so already in the making.
Patchset in reply to this mail.

Again:
 - compile-tested on beagle, evm, over, pandora, zoom1
 - boot-tested on own board
 - based on v2009.06-rc1
 - applies on u-boot-arm/next but breaks zoom2

Please test on other platforms.

best regards,
Matthias

Matthias Ludwig (4):
  omap3: embedd gpmc_cs into gpmc config struct
  omap3: remove typedefs for configuration structs
  omap3: replace all instances of gpmc config struct by one global
  omap3: use only fixed-size types inside ctrl_structs

 board/omap3/beagle/beagle.c |6 +-
 board/omap3/evm/evm.c   |   19 +-
 board/omap3/pandora/pandora.c   |8 +-
 cpu/arm_cortexa8/omap3/board.c  |   16 +-
 cpu/arm_cortexa8/omap3/clock.c  |   14 +-
 cpu/arm_cortexa8/omap3/interrupts.c |2 +-
 cpu/arm_cortexa8/omap3/mem.c|   56 ++---
 cpu/arm_cortexa8/omap3/sys_info.c   |   13 +-
 drivers/mtd/nand/omap_gpmc.c|   41 ++--
 include/asm-arm/arch-omap3/cpu.h|  476 ++-
 include/asm-arm/arch-omap3/mem.h|4 +-
 include/asm-arm/arch-omap3/omap3.h  |8 +-
 include/configs/omap3_beagle.h  |3 +-
 include/configs/omap3_evm.h |3 +-
 include/configs/omap3_overo.h   |3 +-
 include/configs/omap3_pandora.h |3 +-
 include/configs/omap3_zoom1.h   |3 +-
 17 files changed, 337 insertions(+), 341 deletions(-)

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


[U-Boot] [PATCHv2 3/4] omap3: replace all instances of gpmc config struct by one global

2009-05-12 Thread Matthias Ludwig
Signed-off-by: Matthias Ludwig mlud...@ultratronik.de
---
 board/omap3/evm/evm.c |   15 +++
 cpu/arm_cortexa8/omap3/mem.c  |   21 ++---
 cpu/arm_cortexa8/omap3/sys_info.c |3 +--
 drivers/mtd/nand/omap_gpmc.c  |   33 -
 4 files changed, 34 insertions(+), 38 deletions(-)

diff --git a/board/omap3/evm/evm.c b/board/omap3/evm/evm.c
index 7747986..efbb405 100644
--- a/board/omap3/evm/evm.c
+++ b/board/omap3/evm/evm.c
@@ -92,17 +92,16 @@ void set_muxconf_regs(void)
 static void setup_net_chip(void)
 {
struct gpio *gpio3_base = (struct gpio *)OMAP34XX_GPIO3_BASE;
-   struct gpmc *gpmc = (struct gpmc *)GPMC_BASE;
struct ctrl *ctrl_base = (struct ctrl *)OMAP34XX_CTRL_BASE;
 
/* Configure GPMC registers */
-   writel(NET_GPMC_CONFIG1, gpmc-cs[5].config1);
-   writel(NET_GPMC_CONFIG2, gpmc-cs[5].config2);
-   writel(NET_GPMC_CONFIG3, gpmc-cs[5].config3);
-   writel(NET_GPMC_CONFIG4, gpmc-cs[5].config4);
-   writel(NET_GPMC_CONFIG5, gpmc-cs[5].config5);
-   writel(NET_GPMC_CONFIG6, gpmc-cs[5].config6);
-   writel(NET_GPMC_CONFIG7, gpmc-cs[5].config7);
+   writel(NET_GPMC_CONFIG1, gpmc_cfg-cs[5].config1);
+   writel(NET_GPMC_CONFIG2, gpmc_cfg-cs[5].config2);
+   writel(NET_GPMC_CONFIG3, gpmc_cfg-cs[5].config3);
+   writel(NET_GPMC_CONFIG4, gpmc_cfg-cs[5].config4);
+   writel(NET_GPMC_CONFIG5, gpmc_cfg-cs[5].config5);
+   writel(NET_GPMC_CONFIG6, gpmc_cfg-cs[5].config6);
+   writel(NET_GPMC_CONFIG7, gpmc_cfg-cs[5].config7);
 
/* Enable off mode for NWE in PADCONF_GPMC_NWE register */
writew(readw(ctrl_base -gpmc_nwe) | 0x0E00, ctrl_base-gpmc_nwe);
diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
index aa15f94..079c848 100644
--- a/cpu/arm_cortexa8/omap3/mem.c
+++ b/cpu/arm_cortexa8/omap3/mem.c
@@ -41,6 +41,8 @@ unsigned int boot_flash_sec;
 unsigned int boot_flash_type;
 volatile unsigned int boot_flash_env_addr;
 
+struct gpmc *gpmc_cfg;
+
 #if defined(CONFIG_CMD_NAND)
 static u32 gpmc_m_nand[GPMC_MAX_REG] = {
M_NAND_GPMC_CONFIG1,
@@ -51,8 +53,6 @@ static u32 gpmc_m_nand[GPMC_MAX_REG] = {
M_NAND_GPMC_CONFIG6, 0
 };
 
-struct gpmc *gpmc_cfg;
-
 #if defined(CONFIG_ENV_IS_IN_NAND)
 #define GPMC_CS 0
 #else
@@ -219,7 +219,7 @@ void gpmc_init(void)
 {
/* putting a blanket check on GPMC based on ZeBu for now */
u32 *gpmc_config = NULL;
-   struct gpmc *gpmc_base = (struct gpmc *)GPMC_BASE;
+   gpmc_cfg = (struct gpmc *)GPMC_BASE;
u32 base = 0;
u32 size = 0;
u32 f_off = CONFIG_SYS_MONITOR_LEN;
@@ -227,27 +227,26 @@ void gpmc_init(void)
u32 config = 0;
 
/* global settings */
-   writel(0, gpmc_base-irqenable); /* isr's sources masked */
-   writel(0, gpmc_base-timeout_control);/* timeout disable */
+   writel(0, gpmc_cfg-irqenable); /* isr's sources masked */
+   writel(0, gpmc_cfg-timeout_control);/* timeout disable */
 
-   config = readl(gpmc_base-config);
+   config = readl(gpmc_cfg-config);
config = (~0xf00);
-   writel(config, gpmc_base-config);
+   writel(config, gpmc_cfg-config);
 
/*
 * Disable the GPMC0 config set by ROM code
 * It conflicts with our MPDB (both at 0x0800)
 */
-   writel(0, gpmc_base-cs[0].config7);
+   writel(0, gpmc_cfg-cs[0].config7);
sdelay(1000);
 
 #if defined(CONFIG_CMD_NAND)   /* CS 0 */
gpmc_config = gpmc_m_nand;
-   gpmc_cfg = gpmc_base;
 
base = PISMO1_NAND_BASE;
size = PISMO1_NAND_SIZE;
-   enable_gpmc_cs_config(gpmc_config, gpmc_base-cs[0], base, size);
+   enable_gpmc_cs_config(gpmc_config, gpmc_cfg-cs[0], base, size);
 #if defined(CONFIG_ENV_IS_IN_NAND)
f_off = SMNAND_ENV_OFFSET;
f_sec = SZ_128K;
@@ -263,7 +262,7 @@ void gpmc_init(void)
gpmc_config = gpmc_onenand;
base = PISMO1_ONEN_BASE;
size = PISMO1_ONEN_SIZE;
-   enable_gpmc_cs_config(gpmc_config, gpmc_base-cs[0], base, size);
+   enable_gpmc_cs_config(gpmc_config, gpmc_cfg-cs[0], base, size);
 #if defined(CONFIG_ENV_IS_IN_ONENAND)
f_off = ONENAND_ENV_OFFSET;
f_sec = SZ_128K;
diff --git a/cpu/arm_cortexa8/omap3/sys_info.c 
b/cpu/arm_cortexa8/omap3/sys_info.c
index e0e5153..765aaf2 100644
--- a/cpu/arm_cortexa8/omap3/sys_info.c
+++ b/cpu/arm_cortexa8/omap3/sys_info.c
@@ -32,7 +32,6 @@
 #include i2c.h
 
 extern omap3_sysinfo sysinfo;
-static struct gpmc *gpmc_base = (struct gpmc *)GPMC_BASE;
 static struct sdrc *sdrc_base = (struct sdrc *)OMAP34XX_SDRC_BASE;
 static struct ctrl *ctrl_base = (struct ctrl *)OMAP34XX_CTRL_BASE;
 static char *rev_s[CPU_3XX_MAX_REV] = {
@@ -160,7 +159,7 @@ u32 get_gpmc0_base(void)
 {
u32 b;
 
-   b = readl(gpmc_base-cs[0].config7);
+   b = readl(gpmc_cfg-cs[0].config7);
b = 0x1F;  /* keep base 

[U-Boot] [PATCHv2 2/4] omap3: remove typedefs for configuration structs

2009-05-12 Thread Matthias Ludwig
Signed-off-by: Matthias Ludwig mlud...@ultratronik.de
---
 board/omap3/beagle/beagle.c |6 ++--
 board/omap3/evm/evm.c   |6 ++--
 board/omap3/pandora/pandora.c   |8 +++---
 cpu/arm_cortexa8/omap3/board.c  |   16 ++--
 cpu/arm_cortexa8/omap3/clock.c  |   14 +-
 cpu/arm_cortexa8/omap3/interrupts.c |2 +-
 cpu/arm_cortexa8/omap3/mem.c|   14 +-
 cpu/arm_cortexa8/omap3/sys_info.c   |   12 +-
 drivers/mtd/nand/omap_gpmc.c|2 +-
 include/asm-arm/arch-omap3/cpu.h|   42 +-
 include/asm-arm/arch-omap3/mem.h|4 +-
 include/asm-arm/arch-omap3/omap3.h  |8 +++---
 include/configs/omap3_beagle.h  |2 +-
 include/configs/omap3_evm.h |2 +-
 include/configs/omap3_overo.h   |2 +-
 include/configs/omap3_pandora.h |2 +-
 include/configs/omap3_zoom1.h   |2 +-
 17 files changed, 72 insertions(+), 72 deletions(-)

diff --git a/board/omap3/beagle/beagle.c b/board/omap3/beagle/beagle.c
index 7eb70ee..2dc11dd 100644
--- a/board/omap3/beagle/beagle.c
+++ b/board/omap3/beagle/beagle.c
@@ -74,7 +74,7 @@ int beagle_get_revision(void)
  */
 void beagle_identify(void)
 {
-   gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
+   struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
/* Configure GPIO 171 as input */
writel(readl(gpio6_base-oe) | GPIO11, gpio6_base-oe);
@@ -98,8 +98,8 @@ void beagle_identify(void)
  */
 int misc_init_r(void)
 {
-   gpio_t *gpio5_base = (gpio_t *)OMAP34XX_GPIO5_BASE;
-   gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
+   struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
+   struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
power_init_r();
 
diff --git a/board/omap3/evm/evm.c b/board/omap3/evm/evm.c
index 032c93a..7747986 100644
--- a/board/omap3/evm/evm.c
+++ b/board/omap3/evm/evm.c
@@ -91,9 +91,9 @@ void set_muxconf_regs(void)
  */
 static void setup_net_chip(void)
 {
-   gpio_t *gpio3_base = (gpio_t *)OMAP34XX_GPIO3_BASE;
-   gpmc_t *gpmc = (gpmc_t *)GPMC_BASE;
-   ctrl_t *ctrl_base = (ctrl_t *)OMAP34XX_CTRL_BASE;
+   struct gpio *gpio3_base = (struct gpio *)OMAP34XX_GPIO3_BASE;
+   struct gpmc *gpmc = (struct gpmc *)GPMC_BASE;
+   struct ctrl *ctrl_base = (struct ctrl *)OMAP34XX_CTRL_BASE;
 
/* Configure GPMC registers */
writel(NET_GPMC_CONFIG1, gpmc-cs[5].config1);
diff --git a/board/omap3/pandora/pandora.c b/board/omap3/pandora/pandora.c
index c2f98ea..e4b45f7 100644
--- a/board/omap3/pandora/pandora.c
+++ b/board/omap3/pandora/pandora.c
@@ -59,10 +59,10 @@ int board_init(void)
  */
 int misc_init_r(void)
 {
-   gpio_t *gpio1_base = (gpio_t *)OMAP34XX_GPIO1_BASE;
-   gpio_t *gpio4_base = (gpio_t *)OMAP34XX_GPIO4_BASE;
-   gpio_t *gpio5_base = (gpio_t *)OMAP34XX_GPIO5_BASE;
-   gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
+   struct gpio *gpio1_base = (struct gpio *)OMAP34XX_GPIO1_BASE;
+   struct gpio *gpio4_base = (struct gpio *)OMAP34XX_GPIO4_BASE;
+   struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
+   struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
 
power_init_r();
 
diff --git a/cpu/arm_cortexa8/omap3/board.c b/cpu/arm_cortexa8/omap3/board.c
index 51d5cf6..8a79f53 100644
--- a/cpu/arm_cortexa8/omap3/board.c
+++ b/cpu/arm_cortexa8/omap3/board.c
@@ -58,11 +58,11 @@ static inline void delay(unsigned long loops)
  */
 void secure_unlock_mem(void)
 {
-   pm_t *pm_rt_ape_base = (pm_t *)PM_RT_APE_BASE_ADDR_ARM;
-   pm_t *pm_gpmc_base = (pm_t *)PM_GPMC_BASE_ADDR_ARM;
-   pm_t *pm_ocm_ram_base = (pm_t *)PM_OCM_RAM_BASE_ADDR_ARM;
-   pm_t *pm_iva2_base = (pm_t *)PM_IVA2_BASE_ADDR_ARM;
-   sms_t *sms_base = (sms_t *)OMAP34XX_SMS_BASE;
+   struct pm *pm_rt_ape_base = (struct pm *)PM_RT_APE_BASE_ADDR_ARM;
+   struct pm *pm_gpmc_base = (struct pm *)PM_GPMC_BASE_ADDR_ARM;
+   struct pm *pm_ocm_ram_base = (struct pm *)PM_OCM_RAM_BASE_ADDR_ARM;
+   struct pm *pm_iva2_base = (struct pm *)PM_IVA2_BASE_ADDR_ARM;
+   struct sms *sms_base = (struct sms *)OMAP34XX_SMS_BASE;
 
/* Protection Module Register Target APE (PM_RT) */
writel(UNLOCK_1, pm_rt_ape_base-req_info_permission_1);
@@ -233,7 +233,7 @@ void s_init(void)
  * Routine: wait_for_command_complete
  * Description: Wait for posting to finish on watchdog
  */
-void wait_for_command_complete(watchdog_t *wd_base)
+void wait_for_command_complete(struct watchdog *wd_base)
 {
int pending = 1;
do {
@@ -247,8 +247,8 @@ void wait_for_command_complete(watchdog_t *wd_base)
  */
 void 

[U-Boot] [PATCHv2 4/4] omap3: use only fixed-size types inside ctrl_structs

2009-05-12 Thread Matthias Ludwig
replace variable types in ctrl_structs for omap3 by those with
fixed size (u8, u16, u32).
Additional ifndef-protection is needed by examples which do not
compile when including asm/types.h

Signed-off-by: Matthias Ludwig mlud...@ultratronik.de
---
 include/asm-arm/arch-omap3/cpu.h |  418 --
 1 files changed, 221 insertions(+), 197 deletions(-)

diff --git a/include/asm-arm/arch-omap3/cpu.h b/include/asm-arm/arch-omap3/cpu.h
index 61a833e..b2c8498 100644
--- a/include/asm-arm/arch-omap3/cpu.h
+++ b/include/asm-arm/arch-omap3/cpu.h
@@ -25,34 +25,40 @@
 #ifndef _CPU_H
 #define _CPU_H
 
+#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
+#include asm/types.h
+#endif /* !(__KERNEL_STRICT_NAMES || __ASSEMBLY__) */
+
 /* Register offsets of common modules */
 /* Control */
+#ifndef __KERNEL_STRICT_NAMES
 #ifndef __ASSEMBLY__
 struct ctrl {
-   unsigned char res1[0xC0];
-   unsigned short gpmc_nadv_ale;   /* 0xC0 */
-   unsigned short gpmc_noe;/* 0xC2 */
-   unsigned short gpmc_nwe;/* 0xC4 */
-   unsigned char res2[0x22A];
-   unsigned int status;/* 0x2F0 */
-   unsigned int gpstatus;  /* 0x2F4 */
-   unsigned char res3[0x08];
-   unsigned int rpubkey_0; /* 0x300 */
-   unsigned int rpubkey_1; /* 0x304 */
-   unsigned int rpubkey_2; /* 0x308 */
-   unsigned int rpubkey_3; /* 0x30C */
-   unsigned int rpubkey_4; /* 0x310 */
-   unsigned char res4[0x04];
-   unsigned int randkey_0; /* 0x318 */
-   unsigned int randkey_1; /* 0x31C */
-   unsigned int randkey_2; /* 0x320 */
-   unsigned int randkey_3; /* 0x324 */
-   unsigned char res5[0x124];
-   unsigned int ctrl_omap_stat;/* 0x44C */
+   u8 res1[0xC0];
+   u16 gpmc_nadv_ale;  /* 0xC0 */
+   u16 gpmc_noe;   /* 0xC2 */
+   u16 gpmc_nwe;   /* 0xC4 */
+   u8 res2[0x22A];
+   u32 status; /* 0x2F0 */
+   u32 gpstatus;   /* 0x2F4 */
+   u8 res3[0x08];
+   u32 rpubkey_0;  /* 0x300 */
+   u32 rpubkey_1;  /* 0x304 */
+   u32 rpubkey_2;  /* 0x308 */
+   u32 rpubkey_3;  /* 0x30C */
+   u32 rpubkey_4;  /* 0x310 */
+   u8 res4[0x04];
+   u32 randkey_0;  /* 0x318 */
+   u32 randkey_1;  /* 0x31C */
+   u32 randkey_2;  /* 0x320 */
+   u32 randkey_3;  /* 0x324 */
+   u8 res5[0x124];
+   u32 ctrl_omap_stat; /* 0x44C */
 };
 #else /* __ASSEMBLY__ */
 #define CONTROL_STATUS 0x2F0
 #endif /* __ASSEMBLY__ */
+#endif /* __KERNEL_STRICT_NAMES */
 
 /* cpu type */
 #define OMAP3503   0x5c00
@@ -60,18 +66,20 @@ struct ctrl {
 #define OMAP3525   0x4c00
 #define OMAP3530   0x0c00
 
+#ifndef __KERNEL_STRICT_NAMES
 #ifndef __ASSEMBLY__
 struct ctrl_id {
-   unsigned char res1[0x4];
-   unsigned int idcode;/* 0x04 */
-   unsigned int prod_id;   /* 0x08 */
-   unsigned char res2[0x0C];
-   unsigned int die_id_0;  /* 0x18 */
-   unsigned int die_id_1;  /* 0x1C */
-   unsigned int die_id_2;  /* 0x20 */
-   unsigned int die_id_3;  /* 0x24 */
-} ctrl_id_t;
+   u8 res1[0x4];
+   u32 idcode; /* 0x04 */
+   u32 prod_id;/* 0x08 */
+   u8 res2[0x0C];
+   u32 die_id_0;   /* 0x18 */
+   u32 die_id_1;   /* 0x1C */
+   u32 die_id_2;   /* 0x20 */
+   u32 die_id_3;   /* 0x24 */
+};
 #endif /* __ASSEMBLY__ */
+#endif /* __KERNEL_STRICT_NAMES */
 
 /* device type */
 #define DEVICE_MASK(0x7  8)
@@ -84,47 +92,48 @@ struct ctrl_id {
 #define GPMC_BASE  (OMAP34XX_GPMC_BASE)
 #define GPMC_CONFIG_CS00x60
 
+#ifndef __KERNEL_STRICT_NAMES
 #ifndef __ASSEMBLY__
 struct gpmc_cs {
-   unsigned int config1;   /* 0x00 */
-   unsigned int config2;   /* 0x04 */
-   unsigned int config3;   /* 0x08 */
-   unsigned int config4;   /* 0x0C */
-   unsigned int config5;   /* 0x10 */
-   unsigned int config6;   /* 0x14 */
-   unsigned int config7;   /* 0x18 */
-   unsigned int nand_cmd;  /* 0x1C */
-   unsigned int nand_adr;  /* 0x20 */
-   unsigned int nand_dat;  /* 0x24 */
-   unsigned char res[8];   /* blow up to 0x30 byte */
+   u32 config1;/* 0x00 */
+   u32 config2;/* 0x04 */
+   u32 config3;/* 0x08 */
+   u32 config4;/* 0x0C */
+   u32 config5;/* 0x10 */
+   u32 config6;/* 0x14 */
+   u32 config7;/* 0x18 */
+   u32 nand_cmd;   /* 0x1C */
+   u32 nand_adr;   /* 0x20 */
+   u32 

[U-Boot] [PATCHv2 1/4] omap3: embedd gpmc_cs into gpmc config struct

2009-05-12 Thread Matthias Ludwig
Embedd chip select configuration into struct for gpmc config
instead of having it completely separated as suggested by
Wolfgang Denk on
http://lists.denx.de/pipermail/u-boot/2009-May/052247.html

Attention: this also fixes a missnaming in board/omap3/evm/evm.c
which told to use CS6 but used CS5 in reallity. More info on
http://lists.denx.de/pipermail/u-boot/2009-May/052157.html

Signed-off-by: Matthias Ludwig mlud...@ultratronik.de
---
 board/omap3/evm/evm.c |   16 +++---
 cpu/arm_cortexa8/omap3/mem.c  |   33 --
 cpu/arm_cortexa8/omap3/sys_info.c |4 +-
 drivers/mtd/nand/omap_gpmc.c  |   22 ++-
 include/asm-arm/arch-omap3/cpu.h  |   40 
 include/configs/omap3_beagle.h|1 -
 include/configs/omap3_evm.h   |1 -
 include/configs/omap3_overo.h |1 -
 include/configs/omap3_pandora.h   |1 -
 include/configs/omap3_zoom1.h |1 -
 10 files changed, 48 insertions(+), 72 deletions(-)

diff --git a/board/omap3/evm/evm.c b/board/omap3/evm/evm.c
index c008c2e..032c93a 100644
--- a/board/omap3/evm/evm.c
+++ b/board/omap3/evm/evm.c
@@ -92,17 +92,17 @@ void set_muxconf_regs(void)
 static void setup_net_chip(void)
 {
gpio_t *gpio3_base = (gpio_t *)OMAP34XX_GPIO3_BASE;
-   gpmc_csx_t *gpmc_cs6_base = (gpmc_csx_t *)GPMC_CONFIG_CS6_BASE;
+   gpmc_t *gpmc = (gpmc_t *)GPMC_BASE;
ctrl_t *ctrl_base = (ctrl_t *)OMAP34XX_CTRL_BASE;
 
/* Configure GPMC registers */
-   writel(NET_GPMC_CONFIG1, gpmc_cs6_base-config1);
-   writel(NET_GPMC_CONFIG2, gpmc_cs6_base-config2);
-   writel(NET_GPMC_CONFIG3, gpmc_cs6_base-config3);
-   writel(NET_GPMC_CONFIG4, gpmc_cs6_base-config4);
-   writel(NET_GPMC_CONFIG5, gpmc_cs6_base-config5);
-   writel(NET_GPMC_CONFIG6, gpmc_cs6_base-config6);
-   writel(NET_GPMC_CONFIG7, gpmc_cs6_base-config7);
+   writel(NET_GPMC_CONFIG1, gpmc-cs[5].config1);
+   writel(NET_GPMC_CONFIG2, gpmc-cs[5].config2);
+   writel(NET_GPMC_CONFIG3, gpmc-cs[5].config3);
+   writel(NET_GPMC_CONFIG4, gpmc-cs[5].config4);
+   writel(NET_GPMC_CONFIG5, gpmc-cs[5].config5);
+   writel(NET_GPMC_CONFIG6, gpmc-cs[5].config6);
+   writel(NET_GPMC_CONFIG7, gpmc-cs[5].config7);
 
/* Enable off mode for NWE in PADCONF_GPMC_NWE register */
writew(readw(ctrl_base -gpmc_nwe) | 0x0E00, ctrl_base-gpmc_nwe);
diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
index 3cc22c4..965de3a 100644
--- a/cpu/arm_cortexa8/omap3/mem.c
+++ b/cpu/arm_cortexa8/omap3/mem.c
@@ -51,7 +51,6 @@ static u32 gpmc_m_nand[GPMC_MAX_REG] = {
M_NAND_GPMC_CONFIG6, 0
 };
 
-gpmc_csx_t *nand_cs_base;
 gpmc_t *gpmc_cfg_base;
 
 #if defined(CONFIG_ENV_IS_IN_NAND)
@@ -72,8 +71,6 @@ static u32 gpmc_onenand[GPMC_MAX_REG] = {
ONENAND_GPMC_CONFIG6, 0
 };
 
-gpmc_csx_t *onenand_cs_base;
-
 #if defined(CONFIG_ENV_IS_IN_ONENAND)
 #define GPMC_CS 0
 #else
@@ -195,21 +192,21 @@ void do_sdrc_init(u32 cs, u32 early)
writel(0, sdrc_base-cs[cs].mcfg);
 }
 
-void enable_gpmc_config(u32 *gpmc_config, gpmc_csx_t *gpmc_cs_base, u32 base,
+void enable_gpmc_cs_config(u32 *gpmc_config, struct gpmc_cs *cs, u32 base,
u32 size)
 {
-   writel(0, gpmc_cs_base-config7);
+   writel(0, cs-config7);
sdelay(1000);
/* Delay for settling */
-   writel(gpmc_config[0], gpmc_cs_base-config1);
-   writel(gpmc_config[1], gpmc_cs_base-config2);
-   writel(gpmc_config[2], gpmc_cs_base-config3);
-   writel(gpmc_config[3], gpmc_cs_base-config4);
-   writel(gpmc_config[4], gpmc_cs_base-config5);
-   writel(gpmc_config[5], gpmc_cs_base-config6);
+   writel(gpmc_config[0], cs-config1);
+   writel(gpmc_config[1], cs-config2);
+   writel(gpmc_config[2], cs-config3);
+   writel(gpmc_config[3], cs-config4);
+   writel(gpmc_config[4], cs-config5);
+   writel(gpmc_config[5], cs-config6);
/* Enable the config */
writelsize  0xF)  8) | ((base  24)  0x3F) |
-   (1  6)), gpmc_cs_base-config7);
+   (1  6)), cs-config7);
sdelay(2000);
 }
 
@@ -223,7 +220,6 @@ void gpmc_init(void)
/* putting a blanket check on GPMC based on ZeBu for now */
u32 *gpmc_config = NULL;
gpmc_t *gpmc_base = (gpmc_t *)GPMC_BASE;
-   gpmc_csx_t *gpmc_cs_base = (gpmc_csx_t *)GPMC_CONFIG_CS0_BASE;
u32 base = 0;
u32 size = 0;
u32 f_off = CONFIG_SYS_MONITOR_LEN;
@@ -242,17 +238,16 @@ void gpmc_init(void)
 * Disable the GPMC0 config set by ROM code
 * It conflicts with our MPDB (both at 0x0800)
 */
-   writel(0, gpmc_cs_base-config7);
+   writel(0, gpmc_base-cs[0].config7);
sdelay(1000);
 
 #if defined(CONFIG_CMD_NAND)   /* CS 0 */
gpmc_config = gpmc_m_nand;
gpmc_cfg_base = gpmc_base;
-   nand_cs_base = 

Re: [U-Boot] [PATCH] mtd: Update MTD infrastructure to support 64bit device size

2009-05-12 Thread Wolfgang Denk
Dear Stefan Roese,

In message 200905120639.24172...@denx.de you wrote:

 OK, here we go:
 
 Canyonlands (using NAND) without this patch:
 
textdata bss dec hex filename
  339324   20044  336384  695752   a9dc8 ./u-boot
 
 and with this patch:
 
textdata bss dec hex filename
  339796   20044  336384  696224   a9fa0 ./u-boot
 
 So it's 472 bytes on this platform.

Thanks - that's indeed not much.

Is my understanding correct that the effect on NOR-only systems is
even smaller, it at all visible?

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
Many aligators will be slain, but the swamp will remain.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] uboot kernel rejects filesystem

2009-05-12 Thread Bharat Bhushan
Hi All,

I am very new to u-boot.

I have kernel image, which I loaded to NOR of my board and with bootm,
control passes to kernel and it starts booting.
There is panic in kernel: since it can not find the file-system. I am
afraid, I did make trivial mistake.

I have flashed squashfs filesystem image to NOR @ address NOR1 I did not
define any partition.
I do not have MTD support.

Now I tried booting like after setting


setenv kernel_addr 0xBF06Note this has u-boot hdr generated
form mkimage
setenv ramdisk_addr 0xBF26Note this does not have u-boot hdr
generated form mkimage
setenv bootargs 'filesystem=squashfs'
I do bootm ${kernel_addr} ${ramdisk_addr}

I do get error from U_BOOT that :
*Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid


*I am sure that I have done something wrong in this process:

Few Questions which I could not find the answer:
1. Can I nor-flash the image without u-boot hdr.
2. Is it necessary to have MTD partition defined.
3. Do we have any document which specify the boot arguments in context of
U_BOOT. I tried denx website. I could not figure out much. May be I do not
what to search for.


Any help would be highly appreciated.

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


Re: [U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

2009-05-12 Thread Detlev Zundel
Hi,

   how do set a mac for NFS Rootfs?
 
  use initramfs

 don't you think it's overkill to use a initramfs just for set a mac
 address??

 no, i think it's perfectly reasonable.  and considering you have no other 
 option here that'll get merged ...

Can you please explain to me, why you think it to be reasonable to
demand providing an initramfs in the order of 100s of k to set an
attribute of a hardware device which has its own driver?

Apart from being constantly repeated, I do not understand this reasoning
at all.  My (old-school) belief was that an operating system deals with
abstracting the hardware thus userspace does not need to (nor should)
know too many hw details.

Knowing that there is not a clear distinction line, I still fail to see
why a mac address of a network interface should be handled by
userspace.  Can someone enlighten me here?

Thanks
  Detlev

-- 
Ftpd never switches uid and euid, it uses setfsuid(2) instead. The
main reason is that uid switching has been exploited in several
breakins, but the sheer ugliness of uid switching counts too.
 -- pure-ftpd(8)
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] uboot kernel rejects filesystem

2009-05-12 Thread Detlev Zundel
Hi Bharat,

 I am very new to u-boot.

Welcome aboard!

 I have kernel image, which I loaded to NOR of my board and with bootm,
 control passes to kernel and it starts booting.
 There is panic in kernel: since it can not find the file-system. I am
 afraid, I did make trivial mistake.

 I have flashed squashfs filesystem image to NOR @ address NOR1 I did not
 define any partition.
 I do not have MTD support.

 Now I tried booting like after setting


 setenv kernel_addr 0xBF06Note this has u-boot hdr generated
 form mkimage
 setenv ramdisk_addr 0xBF26Note this does not have u-boot hdr
 generated form mkimage
 setenv bootargs 'filesystem=squashfs'
 I do bootm ${kernel_addr} ${ramdisk_addr}

This is not correct.  The second argument for bootm is a real ramdisk
or initrd in Linux speak.  The squashfs filesystem that you use needs
a MTD device and thus can not be passed in this way.

 I do get error from U_BOOT that :
 *Wrong Ramdisk Image Format
 Ramdisk image is corrupt or invalid

That's to be expected, because U-Boot wants the initrd to be wrapped
with mkimage also - which is irrelevant in your case though.

 *I am sure that I have done something wrong in this process:

 Few Questions which I could not find the answer:
 1. Can I nor-flash the image without u-boot hdr.

Sure you can.  You should flash it to the address of a partition defined
inside of the Linux MTD subsystem.

 2. Is it necessary to have MTD partition defined.

You will of course need to define MTD partitions inside of Linux -
whereas in U-Boot this is optional.

 3. Do we have any document which specify the boot arguments in context of
 U_BOOT. I tried denx website. I could not figure out much. May be I do not
 what to search for.

What exactly do you mean by boot arguments?

 Any help would be highly appreciated.

To solve your problem, do the following:

1. Find out which MTD device (in Linux) you want to use to hold the
   squashfs image.  I'll assume mtd0 below.
2. If you do not want to use partitioning in U-Boot then determine the
   physical address that this device maps to
3. Flash the squasfs image to that address
4. Be sure to include root=/dev/mtdblock0 on the Linux command line so
   Linux knows where it finds its rootfs.

Cheers
  Detlev

-- 
We support democracy, but that doesn't mean we have to support
governments that get elected as a result of democracy.
 -- George W. Bush - March 30, 2006
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Data transfer through Ethernet in u-boot.

2009-05-12 Thread prathika




Wolfgang Denk wrote:

Dear prathika,

please do not top post / full quote. Make sure to read and understand
http://www.netmeister.org/news/learn2quote.html


In message 4a08080e.6030...@deeopl.com you wrote:
  

You have mentioned to add the test code to the existing POST framework. In my 
hardware, I have CAN controller interfaced to SPI interface, SPI DACs, parallel 
ADCs, 1553B controller interfaced to EBC.
I have  a CPLD to generate chip selects to these ICs.
If this test code will be useful, please let me to know how to add it to the 
POST framework.



Well, study the existing code and the documentation, than add your
test code.

  

I understood that tftp command in u-boot has been coded only for receiving data from 
the PC and not to transmit, to PC.If this is the case should i add the transmit code to the 
tftp command?



Yes.
  

Even if I use this command for data transfer, what are the requirements for the 
application in PC side?



I don't understand this question? 
  


   --Here, I will be connecting my board through a GUI to a Windows
   PC. I will interact using this GUI. Actually if I use tftp
   command for file transfer, do I need some tftp client or server
   running on my Windows PC?

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


Re: [U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

2009-05-12 Thread Mike Frysinger
On Tuesday 12 May 2009 04:48:28 Detlev Zundel wrote:
how do set a mac for NFS Rootfs?
  
   use initramfs
 
  don't you think it's overkill to use a initramfs just for set a mac
  address??
 
  no, i think it's perfectly reasonable.  and considering you have no other
  option here that'll get merged ...

 Can you please explain to me, why you think it to be reasonable to
 demand providing an initramfs in the order of 100s of k to set an
 attribute of a hardware device which has its own driver?

 Apart from being constantly repeated, I do not understand this reasoning
 at all.  My (old-school) belief was that an operating system deals with
 abstracting the hardware thus userspace does not need to (nor should)
 know too many hw details.

 Knowing that there is not a clear distinction line, I still fail to see
 why a mac address of a network interface should be handled by
 userspace.  Can someone enlighten me here?

no one said it must be done in userspace, that was just one method for doing 
it.  read the FAQ for other possibilities.
-mike
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Timeout in tftp.c

2009-05-12 Thread Achim Ehrlich
Hello,

The timeout for lost packages in tftp.c is defined to 5000 msecs. But 
when setting the timeout get_timer(0) is called in NetSetTimeout in net.c.
But on AT91 the timer code returns usecs and not msecs resulting in a 
timeout of 5 ms instead of 5 secs, which is kind of short. I looked in 
the timer code of other ARM-based platforms and they seem to use 
usec-based timers as well.
Of course I can change the defined timeout in tftp.c to one second or 
so, but that doesn't seem to be the right way to solve this issue.

Any suggestions or ideas or do I miss something here?

Kind regards

Achim

-- 
product manager

email:aehrl...@taskit.de
Tel.: ++49 30 611295-25
Fax: ++49 30 611295-11

--
taskit GmbH
Seelenbinderstr. 33 | D-12555 Berlin
web:http://www.taskit.de
Amtsgericht Charlottenburg: 93HRB39014
Managing director: Thorsten Raulfs
--
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2] mtd: Add MTD concat support to concatenate multiple MTD NOR devices

2009-05-12 Thread Stefan Roese
This patch adds concatenation support to the U-Boot MTD infrastructure.
By enabling CONFIG_MTD_CONCAT this MTD CFI wrapper will concatenate
all found NOR devices into one single MTD device. This can be used by
e.g by UBI to access a partition that spans over multiple NOR chips.

Signed-off-by: Stefan Roese s...@denx.de
---
v2:
- Using #ifdef's instead of __attribute__((unused)) for variable
  declaration.

 drivers/mtd/Makefile   |1 +
 drivers/mtd/cfi_mtd.c  |   79 +-
 drivers/mtd/mtdconcat.c|  807 
 include/linux/mtd/compat.h |   12 +-
 include/linux/mtd/concat.h |   21 ++
 5 files changed, 915 insertions(+), 5 deletions(-)
 create mode 100644 drivers/mtd/mtdconcat.c
 create mode 100644 include/linux/mtd/concat.h

diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index ed3f91e..19dc02b 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk
 LIB:= $(obj)libmtd.a
 
 COBJS-$(CONFIG_MTD_PARTITIONS) += mtdcore.o mtdpart.o
+COBJS-$(CONFIG_MTD_CONCAT) += mtdconcat.o
 COBJS-$(CONFIG_HAS_DATAFLASH) += at45.o
 COBJS-$(CONFIG_FLASH_CFI_DRIVER) += cfi_flash.o
 COBJS-$(CONFIG_FLASH_CFI_MTD) += cfi_mtd.o
diff --git a/drivers/mtd/cfi_mtd.c b/drivers/mtd/cfi_mtd.c
index a0a15da..c7e357b 100644
--- a/drivers/mtd/cfi_mtd.c
+++ b/drivers/mtd/cfi_mtd.c
@@ -25,14 +25,19 @@
 
 #include common.h
 #include flash.h
+#include malloc.h
 
 #include asm/errno.h
 #include linux/mtd/mtd.h
+#include linux/mtd/concat.h
 
 extern flash_info_t flash_info[];
 
 static struct mtd_info cfi_mtd_info[CONFIG_SYS_MAX_FLASH_BANKS];
 static char cfi_mtd_names[CONFIG_SYS_MAX_FLASH_BANKS][16];
+#ifdef CONFIG_MTD_CONCAT
+static char c_mtd_name[16];
+#endif
 
 static int cfi_mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
 {
@@ -145,16 +150,68 @@ static int cfi_mtd_unlock(struct mtd_info *mtd, loff_t 
ofs, uint64_t len)
 static int cfi_mtd_set_erasesize(struct mtd_info *mtd, flash_info_t *fi)
 {
int sect_size = 0;
+   int sect_size_old = 0;
int sect;
+   int regions = 0;
+   int numblocks = 0;
+   ulong offset = 0;
+   ulong base_addr = fi-start[0];
 
/*
-* Select the largest sector size as erasesize (e.g. for UBI)
+* First detect the number of eraseregions so that we can allocate
+* the array of eraseregions correctly
 */
for (sect = 0; sect  fi-sector_count; sect++) {
+   if (sect_size_old != flash_sector_size(fi, sect))
+   regions++;
+   sect_size_old = flash_sector_size(fi, sect);
+   }
+
+   mtd-eraseregions = malloc(sizeof(struct mtd_erase_region_info) * 
regions);
+
+   /*
+* Now detect the largest sector and fill the eraseregions
+*/
+   sect_size_old = 0;
+   regions = 0;
+   for (sect = 0; sect  fi-sector_count; sect++) {
+   if ((sect_size_old != flash_sector_size(fi, sect)) 
+   (sect_size_old != 0)) {
+   mtd-eraseregions[regions].offset = offset - base_addr;
+   mtd-eraseregions[regions].erasesize = sect_size_old;
+   mtd-eraseregions[regions].numblocks = numblocks;
+
+   /* Now start counting the next eraseregions */
+   numblocks = 0;
+   regions++;
+   } else {
+   numblocks++;
+   }
+
+   if (sect_size_old != flash_sector_size(fi, sect))
+   offset = fi-start[sect];
+
+   /*
+* Select the largest sector size as erasesize (e.g. for UBI)
+*/
if (flash_sector_size(fi, sect)  sect_size)
sect_size = flash_sector_size(fi, sect);
+
+   sect_size_old = flash_sector_size(fi, sect);
}
 
+   /*
+* Set the last region
+*/
+   mtd-eraseregions[regions].offset = offset - base_addr;
+   mtd-eraseregions[regions].erasesize = sect_size_old;
+   mtd-eraseregions[regions].numblocks = numblocks + 1;
+
+   if (regions)
+   mtd-numeraseregions = regions + 1;
+   else
+   mtd-numeraseregions = 0;
+
mtd-erasesize = sect_size;
 
return 0;
@@ -165,6 +222,8 @@ int cfi_mtd_init(void)
struct mtd_info *mtd;
flash_info_t *fi;
int error, i;
+   int devices_found = 0;
+   struct mtd_info *mtd_list[CONFIG_SYS_MAX_FLASH_BANKS];
 
for (i = 0; i  CONFIG_SYS_MAX_FLASH_BANKS; i++) {
fi = flash_info[i];
@@ -193,7 +252,25 @@ int cfi_mtd_init(void)
 
if (add_mtd_device(mtd))
return -ENOMEM;
+
+   mtd_list[devices_found++] = mtd;
+   }
+
+#ifdef CONFIG_MTD_CONCAT
+   if (devices_found  1) {
+   /*
+* We detected multiple devices. 

[U-Boot] [PATCH] mtd: MTD related config header changes (mtdparts command)

2009-05-12 Thread Stefan Roese
By changing the cmd_mtdparts to only use the MTD infrastructure and
not the direct interface to the CFI NOR FLASH driver we now need
to add the MTD infrastructure to all boards using those mtdparts
commands. This patch adds those components:

CONFIG_MTD_DEVICE (for all FLASH types)

plus

CONFIG_FLASH_CFI_MTD (for NOR FLASH)

To all board maintainers: Please test this on your platforms and
report any problems/issues found. Thanks.

Signed-off-by: Stefan Roese s...@denx.de
Cc: Wolfgang Denk w...@denx.de
Cc: Ron Madrid i...@sheldoninst.com
Cc: Georg Schardt scha...@team-ctech.de
Cc: Michal Simek mon...@monstr.eu
Cc: Ladislav Michl la...@linux-mips.org
Cc: Martin Krause martin.kra...@tqs.de
Cc: Gary Jennejohn g...@denx.de
Cc: Ricardo Ribalda ricardo.riba...@uam.es
---
 include/configs/BC3450.h |2 ++
 include/configs/FPS850L.h|2 ++
 include/configs/FPS860L.h|2 ++
 include/configs/SIMPC8313.h  |1 +
 include/configs/TB5200.h |2 ++
 include/configs/TQM5200.h|2 ++
 include/configs/TQM823L.h|2 ++
 include/configs/TQM823M.h|2 ++
 include/configs/TQM834x.h|2 ++
 include/configs/TQM850L.h|2 ++
 include/configs/TQM850M.h|2 ++
 include/configs/TQM855L.h|2 ++
 include/configs/TQM855M.h|2 ++
 include/configs/TQM85xx.h|2 ++
 include/configs/TQM860L.h|2 ++
 include/configs/TQM860M.h|2 ++
 include/configs/TQM862L.h|2 ++
 include/configs/TQM862M.h|2 ++
 include/configs/TQM866M.h|2 ++
 include/configs/apollon.h|1 +
 include/configs/cm5200.h |2 ++
 include/configs/fx12mm.h |2 ++
 include/configs/idmr.h   |2 ++
 include/configs/microblaze-generic.h |2 ++
 include/configs/motionpro.h  |2 ++
 include/configs/mx1fs2.h |2 ++
 include/configs/netstar.h|2 ++
 include/configs/omap3_beagle.h   |1 +
 include/configs/qong.h   |2 ++
 include/configs/smmaco4.h|2 ++
 include/configs/trab.h   |2 ++
 include/configs/vct.h|1 +
 include/configs/virtlab2.h   |2 ++
 include/configs/voiceblue.h  |2 ++
 include/configs/xilinx-ppc.h |2 ++
 35 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/include/configs/BC3450.h b/include/configs/BC3450.h
index 9934f29..8c5a742 100644
--- a/include/configs/BC3450.h
+++ b/include/configs/BC3450.h
@@ -347,6 +347,8 @@
 
 /* Dynamic MTD partition support */
 #define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_DEVICE  /* needed for mtdparts commands */
+#define CONFIG_FLASH_CFI_MTD
 #define MTDIDS_DEFAULT nor0=TQM5200-0
 #define MTDPARTS_DEFAULT   mtdparts=TQM5200-0:640k(firmware),\
1408k(kernel),\
diff --git a/include/configs/FPS850L.h b/include/configs/FPS850L.h
index f152230..aceecd8 100644
--- a/include/configs/FPS850L.h
+++ b/include/configs/FPS850L.h
@@ -217,6 +217,8 @@
  * Dynamic MTD partition support
  */
 #define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_DEVICE  /* needed for mtdparts commands */
+#define CONFIG_FLASH_CFI_MTD
 #define MTDIDS_DEFAULT nor0=TQM8xxL-0
 
 #define MTDPARTS_DEFAULT   mtdparts=TQM8xxL-0:256k(u-boot),  \
diff --git a/include/configs/FPS860L.h b/include/configs/FPS860L.h
index 5eaed84..4a61d7c 100644
--- a/include/configs/FPS860L.h
+++ b/include/configs/FPS860L.h
@@ -217,6 +217,8 @@
  * Dynamic MTD partition support
  */
 #define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_DEVICE  /* needed for mtdparts commands */
+#define CONFIG_FLASH_CFI_MTD
 #define MTDIDS_DEFAULT nor0=TQM8xxL-0
 
 #define MTDPARTS_DEFAULT   mtdparts=TQM8xxL-0:256k(u-boot),  \
diff --git a/include/configs/SIMPC8313.h b/include/configs/SIMPC8313.h
index 88ea7c7..8d1e95b 100644
--- a/include/configs/SIMPC8313.h
+++ b/include/configs/SIMPC8313.h
@@ -190,6 +190,7 @@
 
 /* mtdparts command line support */
 #define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_DEVICE  /* needed for mtdparts commands */
 #define MTDIDS_DEFAULT nand0=nand0
 #define MTDPARTS_DEFAULT   mtdparts=nand0:2M(u-boot),6M(kernel),-(jffs2)
 
diff --git a/include/configs/TB5200.h b/include/configs/TB5200.h
index 92b4fa5..3438aba 100644
--- a/include/configs/TB5200.h
+++ b/include/configs/TB5200.h
@@ -276,6 +276,8 @@
 
 /* Dynamic MTD partition support */
 #define CONFIG_CMD_MTDPARTS
+#define CONFIG_MTD_DEVICE  /* needed for mtdparts commands */
+#define CONFIG_FLASH_CFI_MTD
 #define MTDIDS_DEFAULT nor0=TQM5200-0
 #if defined(CONFIG_TQM5200_B)
 #define MTDPARTS_DEFAULT   mtdparts=TQM5200-0:768k(firmware),\
diff --git a/include/configs/TQM5200.h 

[U-Boot] [PATCH] mtd: Introduce CONFIG_MTD_DEVICE to select compilation of mtdcore.o

2009-05-12 Thread Stefan Roese
This new define enables mtdcore.c compilation and with this we can
select the MTD device infrastructure needed for the reworked mtdparts
command.

We now have the 2 MTD infrastructure defines, CONFIG_MTD_DEVICE and
CONFIG_MTD_PARTITIONS. CONFIG_MTD_DEVICE is needed (as explained above)
for the mtdparts command and CONFIG_MTD_PARTITIONS is needed for UBI.

Signed-off-by: Stefan Roese s...@denx.de
Cc: Scott Wood scottw...@freescale.com
---
 README  |   11 +++
 drivers/mtd/Makefile|3 ++-
 drivers/mtd/nand/nand.c |2 +-
 drivers/mtd/onenand/onenand_uboot.c |2 +-
 4 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/README b/README
index 75fc4b7..561c100 100644
--- a/README
+++ b/README
@@ -1846,6 +1846,17 @@ The following options need to be configured:
These options enable and control the auto-update feature;
for a more detailed description refer to doc/README.update.
 
+- MTD Support (mtdparts command, UBI support)
+   CONFIG_MTD_DEVICE
+
+   Adds the MTD device infrastructure from the Linux kernel.
+   Needed for mtdparts command support.
+
+   CONFIG_MTD_PARTITIONS
+
+   Adds the MTD partitioning infrastructure from the Linux
+   kernel. Needed for UBI support.
+
 Legacy uImage format:
 
   Arg  Where   When
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 19dc02b..754d648 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -25,7 +25,8 @@ include $(TOPDIR)/config.mk
 
 LIB:= $(obj)libmtd.a
 
-COBJS-$(CONFIG_MTD_PARTITIONS) += mtdcore.o mtdpart.o
+COBJS-$(CONFIG_MTD_DEVICE) += mtdcore.o
+COBJS-$(CONFIG_MTD_PARTITIONS) += mtdpart.o
 COBJS-$(CONFIG_MTD_CONCAT) += mtdconcat.o
 COBJS-$(CONFIG_HAS_DATAFLASH) += at45.o
 COBJS-$(CONFIG_FLASH_CFI_DRIVER) += cfi_flash.o
diff --git a/drivers/mtd/nand/nand.c b/drivers/mtd/nand/nand.c
index d369115..9065fa9 100644
--- a/drivers/mtd/nand/nand.c
+++ b/drivers/mtd/nand/nand.c
@@ -57,7 +57,7 @@ static void nand_init_chip(struct mtd_info *mtd, struct 
nand_chip *nand,
else
mtd-name += gd-reloc_off;
 
-#ifdef CONFIG_MTD_PARTITIONS
+#ifdef CONFIG_MTD_DEVICE
/*
 * Add MTD device so that we can reference it later
 * via the mtdcore infrastructure (e.g. ubi).
diff --git a/drivers/mtd/onenand/onenand_uboot.c 
b/drivers/mtd/onenand/onenand_uboot.c
index a95b922..9823b5b 100644
--- a/drivers/mtd/onenand/onenand_uboot.c
+++ b/drivers/mtd/onenand/onenand_uboot.c
@@ -43,7 +43,7 @@ void onenand_init(void)
puts(OneNAND: );
print_size(onenand_mtd.size, \n);
 
-#ifdef CONFIG_MTD_PARTITIONS
+#ifdef CONFIG_MTD_DEVICE
/*
 * Add MTD device so that we can reference it later
 * via the mtdcore infrastructure (e.g. ubi).
-- 
1.6.2.5

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


[U-Boot] [PATCH v2] cmd_mtdparts: Move to common handling of FLASH devices via MTD layer

2009-05-12 Thread Stefan Roese
This patch removes all references to the direct CFI FLASH interface
(via flash_info[]). Now that all FLASH types currently handled in
mtdparts are available (if selected, see below) via the MTD infrastructure.
This is NOR, NAND and OneNAND right now. This can be achieved by defining
the following options:

CONFIG_MTD_DEVICE (for all FLASH types)

plus

CONFIG_FLASH_CFI_MTD (for NOR FLASH)

So we need to add those defines to the board config headers currently
using the mtdparts commands. This is done via another patch, so
we shouldn't break mtdparts compatibility.

One big advantage from this solution is that the cmd_mtdparts.c is
*much* cleaner now. Lot's of #ifdef's are removed and the code itself
is smaller. Additionally the newly added MDT concatenation feature
can new be used via the mtdparts infrastructure and therefor via
UBI etc.

Signed-off-by: Stefan Roese s...@denx.de
Cc: Ladislav Michl la...@linux-mips.org
Cc: Scott Wood scottw...@freescale.com
---
v2:
- Use CONFIG_MTD_DEVICE instead of CONFIG_MTD_PARTITIONS in commit
  text.

 common/cmd_mtdparts.c |  240 
 1 files changed, 80 insertions(+), 160 deletions(-)

diff --git a/common/cmd_mtdparts.c b/common/cmd_mtdparts.c
index e7b6acc..e94ca1b 100644
--- a/common/cmd_mtdparts.c
+++ b/common/cmd_mtdparts.c
@@ -90,7 +90,8 @@
 #include jffs2/load_kernel.h
 #include linux/list.h
 #include linux/ctype.h
-#include cramfs/cramfs_fs.h
+#include linux/err.h
+#include linux/mtd/mtd.h
 
 #if defined(CONFIG_CMD_NAND)
 #ifdef CONFIG_NAND_LEGACY
@@ -102,7 +103,6 @@
 #endif
 
 #if defined(CONFIG_CMD_ONENAND)
-#include linux/mtd/mtd.h
 #include linux/mtd/onenand.h
 #include onenand_uboot.h
 #endif
@@ -303,137 +303,91 @@ static void current_save(void)
 }
 
 /**
- * Performs sanity check for supplied NOR flash partition. Table of existing
- * NOR flash devices is searched and partition device is located. Alignment
- * with the granularity of NOR flash sectors is verified.
+ * Performs sanity check for supplied flash partition.
+ * Table of existing MTD flash devices is searched and partition device
+ * is located. Alignment with the granularity of nand erasesize is verified.
  *
  * @param id of the parent device
  * @param part partition to validate
  * @return 0 if partition is valid, 1 otherwise
  */
-static int part_validate_nor(struct mtdids *id, struct part_info *part)
+static int part_validate_eraseblock(struct mtdids *id, struct part_info *part)
 {
-#if defined(CONFIG_CMD_FLASH)
-   /* info for FLASH chips */
-   extern flash_info_t flash_info[];
-   flash_info_t *flash;
-   int offset_aligned;
-   u32 end_offset, sector_size = 0;
-   int i;
-
-   flash = flash_info[id-num];
-
-   /* size of last sector */
-   part-sector_size = flash-size -
-   (flash-start[flash-sector_count-1] - flash-start[0]);
-
-   offset_aligned = 0;
-   for (i = 0; i  flash-sector_count; i++) {
-   if ((flash-start[i] - flash-start[0]) == part-offset) {
-   offset_aligned = 1;
-   break;
-   }
-   }
-   if (offset_aligned == 0) {
-   printf(%s%d: partition (%s) start offset alignment 
incorrect\n,
-   MTD_DEV_TYPE(id-type), id-num, part-name);
+   struct mtd_info *mtd;
+   char mtd_dev[16];
+   int i, j;
+   ulong start;
+
+   sprintf(mtd_dev, %s%d, MTD_DEV_TYPE(id-type), id-num);
+   mtd = get_mtd_device_nm(mtd_dev);
+   if (IS_ERR(mtd)) {
+   printf(Partition %s not found on device %s!\n, part-name, 
mtd_dev);
return 1;
}
 
-   end_offset = part-offset + part-size;
-   offset_aligned = 0;
-   for (i = 0; i  flash-sector_count; i++) {
-   if (i) {
-   sector_size = flash-start[i] - flash-start[i-1];
-   if (part-sector_size  sector_size)
-   part-sector_size = sector_size;
-   }
-   if ((flash-start[i] - flash-start[0]) == end_offset)
-   offset_aligned = 1;
-   }
-
-   if (offset_aligned || flash-size == end_offset)
-   return 0;
-
-   printf(%s%d: partition (%s) size alignment incorrect\n,
-   MTD_DEV_TYPE(id-type), id-num, part-name);
-#endif
-   return 1;
-}
-
-/**
- * Performs sanity check for supplied NAND flash partition. Table of existing
- * NAND flash devices is searched and partition device is located. Alignment
- * with the granularity of nand erasesize is verified.
- *
- * @param id of the parent device
- * @param part partition to validate
- * @return 0 if partition is valid, 1 otherwise
- */
-static int part_validate_nand(struct mtdids *id, struct part_info *part)
-{
-#if defined(CONFIG_CMD_NAND)
-   /* info for NAND chips */
-   nand_info_t *nand;
+   part-sector_size = mtd-erasesize;
 
-   nand 

[U-Boot] Repository with latest (mostly) MTD related changes for testing

2009-05-12 Thread Stefan Roese
Hi,

I pushed my latest patches, mostly MTD related, to a branch in the u-boot-cfi-
flash repository. This is not intended for merging into mainline, but meant for 
testing these changes on the affected boards. So please go ahead and pull this 
branch and test it on your board and let me know if there are any problems.

Thanks,
Stefan


The following changes since commit fbe7eff021399175ef7d9d57f44145587c4e9a51:
  Mike Frysinger (1):
tools/envcrc: add --binary option to export embedded env

are available in the git repository at:

  git://www.denx.de/git/u-boot-cfi-flash.git mtd-rework

Stefan Roese (8):
  cmd_flash updates: Remove unneeded CONFIG_CMD_JFFS2
  lib_arch/board.c: Move malloc initialization before flash_init()
  cfi_mtd: Fix bug in last sector detection
  mtd: Update MTD infrastructure to support 64bit device size
  mtd: Add MTD concat support to concatenate multiple MTD NOR devices
  mtd: Introduce CONFIG_MTD_DEVICE to select compilation of mtdcore.o
  cmd_mtdparts: Move to common handling of FLASH devices via MTD layer
  mtd: MTD related config header changes (mtdparts command)

 README   |   11 +
 common/cmd_flash.c   |   12 +-
 common/cmd_mtdparts.c|  240 ---
 common/cmd_onenand.c |6 +-
 common/env_onenand.c |2 +-
 drivers/mtd/Makefile |4 +-
 drivers/mtd/cfi_mtd.c|   92 -
 drivers/mtd/mtdconcat.c  |  807 ++
 drivers/mtd/mtdpart.c|  488 +---
 drivers/mtd/nand/nand.c  |2 +-
 drivers/mtd/nand/nand_util.c |   11 +-
 drivers/mtd/onenand/onenand_uboot.c  |2 +-
 include/configs/BC3450.h |2 +
 include/configs/FPS850L.h|2 +
 include/configs/FPS860L.h|2 +
 include/configs/SIMPC8313.h  |1 +
 include/configs/TB5200.h |2 +
 include/configs/TQM5200.h|2 +
 include/configs/TQM823L.h|2 +
 include/configs/TQM823M.h|2 +
 include/configs/TQM834x.h|2 +
 include/configs/TQM850L.h|2 +
 include/configs/TQM850M.h|2 +
 include/configs/TQM855L.h|2 +
 include/configs/TQM855M.h|2 +
 include/configs/TQM85xx.h|2 +
 include/configs/TQM860L.h|2 +
 include/configs/TQM860M.h|2 +
 include/configs/TQM862L.h|2 +
 include/configs/TQM862M.h|2 +
 include/configs/TQM866M.h|2 +
 include/configs/apollon.h|1 +
 include/configs/cm5200.h |2 +
 include/configs/fx12mm.h |2 +
 include/configs/idmr.h   |2 +
 include/configs/microblaze-generic.h |2 +
 include/configs/motionpro.h  |2 +
 include/configs/mx1fs2.h |2 +
 include/configs/netstar.h|2 +
 include/configs/omap3_beagle.h   |1 +
 include/configs/qong.h   |2 +
 include/configs/smmaco4.h|2 +
 include/configs/trab.h   |2 +
 include/configs/vct.h|1 +
 include/configs/virtlab2.h   |2 +
 include/configs/voiceblue.h  |2 +
 include/configs/xilinx-ppc.h |2 +
 include/linux/mtd/compat.h   |   12 +-
 include/linux/mtd/concat.h   |   21 +
 include/linux/mtd/mtd.h  |   29 +-
 lib_arm/board.c  |6 +-
 lib_blackfin/board.c |7 +-
 lib_m68k/board.c |8 +-
 lib_mips/board.c |8 +-
 lib_nios/board.c |6 +-
 lib_nios2/board.c|6 +-
 lib_ppc/board.c  |8 +-
 lib_sh/board.c   |2 +-
 lib_sparc/board.c|9 +-
 59 files changed, 1377 insertions(+), 488 deletions(-)
 create mode 100644 drivers/mtd/mtdconcat.c
 create mode 100644 include/linux/mtd/concat.h

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


[U-Boot] [PATCH v2] MPC8260: fixup device tree by property instead of path

2009-05-12 Thread Wolfgang Denk
cpu/mpc8260/cpu.c used to use do_fixup_by_path_u32() to update the
clock frequencies in the device tree, using a CPU path
/cpus/OF_CPU, with OF_CPU beind defined in the board config file.

However, this does not work when one board config file (here:
MPC8260ADS.h) is intended to be used for several diffrent CPUs and
therefor contains a generic definition like c...@0, as the device
trees that will then be loaded will contain specific names like
PowerPC,8...@0.

We switch to using do_fixup_by_prop_u32() instead, so we can search
for device_type=cpu, as it is done in other architectures, too.

Signed-off-by: Wolfgang Denk w...@denx.de
Cc: Heiko Schocher h...@denx.de
---
v2: Fix typo in Heiko's name.

Heiko, could you please test if this works with mgcoge, too?

 cpu/mpc8260/cpu.c |   11 ++-
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/cpu/mpc8260/cpu.c b/cpu/mpc8260/cpu.c
index d4622ca..17e6248 100644
--- a/cpu/mpc8260/cpu.c
+++ b/cpu/mpc8260/cpu.c
@@ -304,8 +304,6 @@ void watchdog_reset (void)
 #if defined(CONFIG_OF_LIBFDT)  defined (CONFIG_OF_BOARD_SETUP)
 void ft_cpu_setup (void *blob, bd_t *bd)
 {
-   char * cpu_path = /cpus/ OF_CPU;
-
 #if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
 defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
fdt_fixup_ethernet(blob);
@@ -314,9 +312,12 @@ void ft_cpu_setup (void *blob, bd_t *bd)
do_fixup_by_compat_u32(blob, fsl,cpm2-brg,
   clock-frequency, bd-bi_brgfreq, 1);
 
-   do_fixup_by_path_u32(blob, cpu_path, bus-frequency, bd-bi_busfreq, 
1);
-   do_fixup_by_path_u32(blob, cpu_path, timebase-frequency, OF_TBCLK, 1);
-   do_fixup_by_path_u32(blob, cpu_path, clock-frequency, bd-bi_intfreq, 
1);
+   do_fixup_by_prop_u32(blob, device_type, cpu, 4,
+   bus-frequency, bd-bi_busfreq, 1);
+   do_fixup_by_prop_u32(blob, device_type, cpu, 4,
+   timebase-frequency, OF_TBCLK, 1);
+   do_fixup_by_prop_u32(blob, device_type, cpu, 4,
+   clock-frequency, bd-bi_intfreq, 1);
 }
 #endif /* CONFIG_OF_LIBFDT */
 
-- 
1.6.0.6

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


Re: [U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

2009-05-12 Thread Detlev Zundel
Hi Mike,

 On Tuesday 12 May 2009 04:48:28 Detlev Zundel wrote:
how do set a mac for NFS Rootfs?
  
   use initramfs
 
  don't you think it's overkill to use a initramfs just for set a mac
  address??
 
  no, i think it's perfectly reasonable.  and considering you have no other
  option here that'll get merged ...

 Can you please explain to me, why you think it to be reasonable to
 demand providing an initramfs in the order of 100s of k to set an
 attribute of a hardware device which has its own driver?

 Apart from being constantly repeated, I do not understand this reasoning
 at all.  My (old-school) belief was that an operating system deals with
 abstracting the hardware thus userspace does not need to (nor should)
 know too many hw details.

 Knowing that there is not a clear distinction line, I still fail to see
 why a mac address of a network interface should be handled by
 userspace.  Can someone enlighten me here?

 no one said it must be done in userspace, that was just one method for doing 
 it.  read the FAQ for other possibilities.

No you lost me completely.  The question cited above was whether you
find it plausible to use initramfs - and thus userspace - to set a mac
address.  You answered that you find this plausible.  This is what I do
not understand.  

I never ran across this outside of linux arm where people seriously
repeat the statement over and over that a whole initramfs with an
initial userspace and a pivot_root is plausible for nfs root whilst
patches of a few lines float around doing the same in the kernel.

Now proof by repetition is not my preferred form of understanding a
problem, so I was asking for an explanation from someone arguing along
the same lines.

Cheers
  Detlev

-- 
We can forgive a man for making a useful thing as long as he does not
admire it.  The only excuse  for making  a useless  thing is that one
admires it intensely.
--- Oscar Wilde
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] mtd: MTD related config header changes (mtdparts command)

2009-05-12 Thread Detlev Zundel
Hi Stefan,

 By changing the cmd_mtdparts to only use the MTD infrastructure and
 not the direct interface to the CFI NOR FLASH driver we now need
 to add the MTD infrastructure to all boards using those mtdparts
 commands. This patch adds those components:

 CONFIG_MTD_DEVICE (for all FLASH types)

 plus

 CONFIG_FLASH_CFI_MTD (for NOR FLASH)

 To all board maintainers: Please test this on your platforms and
 report any problems/issues found. Thanks.

 Signed-off-by: Stefan Roese s...@denx.de
 Cc: Wolfgang Denk w...@denx.de
 Cc: Ron Madrid i...@sheldoninst.com
 Cc: Georg Schardt scha...@team-ctech.de
 Cc: Michal Simek mon...@monstr.eu
 Cc: Ladislav Michl la...@linux-mips.org
 Cc: Martin Krause martin.kra...@tqs.de
 Cc: Gary Jennejohn g...@denx.de

There is a typo here, you meant ga...@denx.de.

Cheers
  Detlev

-- 
Programming X-Windows is like trying to find the square root of pi
using roman numerals.
  -- The UNIX Haters Handbook
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] start.s file

2009-05-12 Thread Detlev Zundel
Hi Deepak,

 In the quest of finding the code for relocation i have reached the start.s 
 file present in u-boot-1.1.6\cpu\mpc83xx\ folder. 

This is old code you're looking at.  Best would be to look at current
code although this doesn't help here.

 Even its in assembly language (i dont know assembly language beyond
 movlw) i tried to understand that using the descriptions of the
 commands given in this site:
 http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.aixassem/doc/alangref/mfmsr.htm
 but im not able to proceed much. Is there any better way to understand
 this.

The algorithm is implemented in assembler (at the relocate_code label),
so understanding assembler a little bit will be a preliminary to
understanding unless you have access to a device which we in german call
a Nürnberger Trichter [its a mythical mechanical learning device] ;)

Cheers
  Detlev

-- 
I haven't lost my mind, I know exactly where I left it.
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 2/4] omap3: remove typedef for struct gpmc

2009-05-12 Thread Dirk Behme
Matthias Ludwig wrote:
 Hi Dirk,
 
 I wonder if you have the resources and like to convert all register  
 structs used by OMAP3 code and remove the typedef?

 Else we would have a mixture of typedefs and struct usage (see e.g.  
 above in sys_info.c). I would like to have it consistent, either the one 
 or the other way ;) What do you think?
 
 sounds reasonable, so already in the making.
 Patchset in reply to this mail.
 
 Again:
  - compile-tested on beagle, evm, over, pandora, zoom1
  - boot-tested on own board
  - based on v2009.06-rc1
  - applies on u-boot-arm/next but breaks zoom2
 
 Please test on other platforms.

Compile tested with recent mainline: Ok.

Boot tested on BeagleBoard: Ok.

Best regards

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


Re: [U-Boot] uboot kernel rejects filesystem

2009-05-12 Thread Detlev Zundel
Hi Bharat,

[re-adding the mailing list as others may also profit from the
discussion]

 Thank you for the prompt reply.

 Unfortunately in linux tree, my board specific MTD partition info is not
 preset.

 Is there any quick way round.

Yep - thinking some more, I see two possible (quick) solutions.

 M/M Layout:
 0xBF00 : U-BOOT
 0xBF04 : u_boot_config_area
 0xBF06: vm_linux_image (with u-boot header : created by mkimage and LZMA)
 0xBF26: root_fs area... Here I have flashed squashfs (without u-boot hdr)
 Should I?
 0xBFFC: root_fs_data .. JFFS RW filesystem

Just as a sidenote - are you able to use the JFFS (really JFFS, not
JFFS2?) image?  If so, then you _do_ have an MTD partition in Linux
which you only need to tweak.

 I do following on u-boot prompt

 boardbootm 0xBF06 0xBF26

This command only makes sense, if the image at 0xbf26 is wrapped
with mkimage.  This is exactly the first solution that you can try,
i.e. use mkimage with -T ramdisk to wrap your image and use the it with
the two argument bootm version like you tried.  Maybe you will need to
specify rootfstype=squashfs on the command line also, you will have to
check this.

Having said this, if you are on an ARM platform, the above will very
likely not work, so you will have to turn to the other solution I have
in mind:

 NO SUCCESS
 again I try:
 with modification to
 include/configs/my_board.h file as

 #define MTDIDS_DEFAULT nor0=app
 #define MTDPARTS_DEFAULT \
     mtdparts=app:64k(u-boot),64k(boot_config),64k(board_config),2048k
 (kernel),13696(rootfs),256kb(roots_data)
 #define CONFIG_BOOTARGS root=/dev/mtdblock4 rootfstype=squashfs console=
 ttyS1,115200

 boardbootm 0xbf06

The mtdparts variable in U-Boot has no automagic connection to the
Linux kernel.  It was designed however with connecting in Linux by using
the following Linux config:

drivers/mtd/Kconfig:106
 Device Drivers
config MTD_CMDLINE_PARTS
bool Command line partition table parsing
depends on MTD_PARTITIONS = y  MTD = y
---help---
  Allow generic configuration of the MTD partition tables via the kernel
  command line. Multiple flash resources are supported for hardware 
where
  different kinds of flash memory are available.

So if you have this support in your Linux configuration, you can pass
the whole mtdpart=.. through the linux commandline.  A nasty part here
is the beginning (you chose app) of the configuration - as you will
need to find what your kernel thinks the name of the flash chip is.
 
 I think in second case it does make sense to pass mtdblock4 since my kernel
 (;;) does not recognize it.

 Is there any work around like adding mtd table in linux kernel from uboot via
 bootargs.

Yes, like I stated above.

Please try either method - if you are trying via MTD, be sure to include
the contents of /proc/mtd and the relevant section of the Linux bootlog
where the MTD layer registers in your next mail.

Thanks
  Detlev

PS: And please stop quoting the full text of the whole e-mail thread as
this is considered to be impolite on mailing lists.

-- 
Each language has its purpose, however humble. Each language expresses
the Yin and Yang of software. Each language has its place within the Tao.

But do not program in COBOL if you can avoid it.
   -- The Tao of Programming
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] DaVinci Network Driver Updates

2009-05-12 Thread s-paulraj
Different flavours of DaVinci SOC's have differences in their EMAC IP
This patch does the following
1) Updates base addresses for DM365
2) Updates MDIO frequencies for DM365 and DM646x
3) Update EMAC wrapper registers for DM365 and DM646x

Patch applies to u-boot-net git. the EMAC driver itself 
will be updated shortly to add support for DM365 and DM646x

Signed-off-by: Sandeep Paulraj s-paul...@ti.com
---
 include/asm-arm/arch-davinci/emac_defs.h |   32 +-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/include/asm-arm/arch-davinci/emac_defs.h 
b/include/asm-arm/arch-davinci/emac_defs.h
index c11161f..ae75f84 100644
--- a/include/asm-arm/arch-davinci/emac_defs.h
+++ b/include/asm-arm/arch-davinci/emac_defs.h
@@ -38,15 +38,38 @@
 
 #include asm/arch/hardware.h
 
+#ifdef CONFIG_SOC_DM365
+#define EMAC_BASE_ADDR (0x01d07000)
+#define EMAC_WRAPPER_BASE_ADDR (0x01d0a000)
+#define EMAC_WRAPPER_RAM_ADDR  (0x01d08000)
+#define EMAC_MDIO_BASE_ADDR(0x01d0b000)
+#else
 #define EMAC_BASE_ADDR (0x01c8)
 #define EMAC_WRAPPER_BASE_ADDR (0x01c81000)
 #define EMAC_WRAPPER_RAM_ADDR  (0x01c82000)
 #define EMAC_MDIO_BASE_ADDR(0x01c84000)
+#endif
 
+#ifdef CONFIG_SOC_DM646x
+/* MDIO module input frequency */
+#define EMAC_MDIO_BUS_FREQ 7650
+/* MDIO clock output frequency */
+#define EMAC_MDIO_CLOCK_FREQ   250 /* 2.5 MHz */
+#elif defined(CONFIG_SOC_DM365)
+/* MDIO module input frequency */
+#define EMAC_MDIO_BUS_FREQ 12150
+/* MDIO clock output frequency */
+#define EMAC_MDIO_CLOCK_FREQ   220 /* 2.2 MHz */
+#else
 /* MDIO module input frequency */
 #define EMAC_MDIO_BUS_FREQ 9900/* PLL/6 - 99 MHz */
 /* MDIO clock output frequency */
 #define EMAC_MDIO_CLOCK_FREQ   200 /* 2.0 MHz */
+#endif
+
+/* PHY mask - set only those phy number bits where phy is/can be connected */
+#define EMAC_MDIO_PHY_NUM   1
+#define EMAC_MDIO_PHY_MASK  (1  EMAC_MDIO_PHY_NUM)
 
 /* Ethernet Min/Max packet size */
 #define EMAC_MIN_ETHERNET_PKT_SIZE 60
@@ -103,6 +126,8 @@ typedef volatile struct _emac_desc
 
 #define EMAC_MACCONTROL_MIIEN_ENABLE   (0x20)
 #define EMAC_MACCONTROL_FULLDUPLEX_ENABLE  (0x1)
+#define EMAC_MACCONTROL_GIGABIT_ENABLE (1  7)
+#define EMAC_MACCONTROL_GIGFORCE   (1  17)
 
 #define EMAC_RXMBPENABLE_RXCAFEN_ENABLE(0x20)
 #define EMAC_RXMBPENABLE_RXBROADEN (0x2000)
@@ -258,12 +283,17 @@ typedef struct  {
 
 /* EMAC Wrapper Registers Structure */
 typedef struct  {
+#if defined(CONFIG_SOC_DM646x) || defined(CONFIG_SOC_DM365)
+   dv_reg  IDVER;
+   dv_reg  SOFTRST;
+   dv_reg  EMCTRL;
+#else
u_int8_tRSVD0[4100];
dv_reg  EWCTL;
dv_reg  EWINTTCNT;
+#endif
 } ewrap_regs;
 
-
 /* EMAC MDIO Registers Structure */
 typedef struct  {
dv_reg  VERSION;
-- 
1.6.0.4

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


Re: [U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

2009-05-12 Thread Daniel Stenberg
On Tue, 12 May 2009, Detlev Zundel wrote:

 I never ran across this outside of linux arm where people seriously repeat 
 the statement over and over that a whole initramfs with an initial userspace 
 and a pivot_root is plausible for nfs root whilst patches of a few lines 
 float around doing the same in the kernel.

 Now proof by repetition is not my preferred form of understanding a problem, 
 so I was asking for an explanation from someone arguing along the same 
 lines.

The wiki page that explains the problem and provides the suggested solutions 
does not repeat that same mantra. It mentions the initramfs method as one way 
out of several - I don't think it mentions that solution as particularly 
better in any way. Wolfgang also repeated (most of) them here just a few mails 
ago in this thread.

-- 

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


Re: [U-Boot] [PATCH v2 1/3] MX31: Add NAND SPL for i.MX31.

2009-05-12 Thread Scott Wood
On Tue, May 12, 2009 at 06:03:29AM +0200, Magnus Lilja wrote:
 As I said in another email:
 The main purpose of CONFIG_ONENAND_IPL and NAND_SPL in start.S is to
 change the behaviour a bit, not so much to save some space.
 Given that those CONFIG_s are used in other places as well to indicate
 the type of boot I don't think it's good to create a new CONFIG_ that
 one has to specify in addition to one of the above.

Better to define one more in order to test only one...  and use the new
one for things that are generally applicable to pre-loaders regardless of
type.

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


Re: [U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

2009-05-12 Thread Scott Wood
On Tue, May 12, 2009 at 10:48:28AM +0200, Detlev Zundel wrote:
 Can you please explain to me, why you think it to be reasonable to
 demand providing an initramfs in the order of 100s of k to set an
 attribute of a hardware device which has its own driver?

Kind of defeats any space-usage argument against putting device trees in
ARM instead...

 Apart from being constantly repeated, I do not understand this reasoning
 at all.  My (old-school) belief was that an operating system deals with
 abstracting the hardware thus userspace does not need to (nor should)
 know too many hw details.

There's more to the operating system than the kernel.

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


Re: [U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

2009-05-12 Thread Scott Wood
On Tue, May 12, 2009 at 02:04:46AM +0200, Jean-Christophe PLAGNIOL-VILLARD 
wrote:
  i dont know why you're emphasizing mainline.  if it's your board and if you 
  implement the change correctly, submit it to mainline.
 because I already known RMK answer
 NACK

So go to RMK and say you need device trees because you got NACKed in
u-boot. :-)

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


Re: [U-Boot] Data transfer through Ethernet in u-boot.

2009-05-12 Thread Marco


prathika ha scritto:
 
 
 
  
 Even if I use this command for data transfer, what are the
 requirements for the application in PC side?
 

 I don't understand this question?   
 
--Here, I will be connecting my board through a GUI to a Windows
PC. I will interact using this GUI. Actually if I use tftp
command for file transfer, do I need some tftp client or server
running on my Windows PC?


Yes, you need a tftp server on your PC.

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


Re: [U-Boot] [PATCH] OMAP3: Introduce CONFIG option for power code

2009-05-12 Thread Dirk Behme
Dear Jean-Christophe,

Jean-Christophe PLAGNIOL-VILLARD wrote:

[some unanswered questions removed here?]

 as davinci which is starting to be clean
 Sorry, but I can't find any board/ti which would be board/vendor you  
 mention above. Even not for davinci. I looked into u-boot-arm-master and 
 -next.
 and the code is start to be moved

Sorry, but this confuses me because I can't find this start 
anywhere. So for me this sounds like I have some (undiscussed) 
changes in mind or in my local tree, nobody does know about, but every 
new patch has to care about this (publically unknown) changes (i.e. 
this is 'supposed' to be used to use your wording). If this 
understanding is right, no, this way of dealing with patches and 
NACKing (?) them doesn't work. If this understanding is wrong, sorry, 
please correct.

 But what I can find in both trees are

 board/davinci/common
 board/davinci/dvevm
 board/davinci/schmoogie
 board/davinci/all other Davinci boards

 This is 100% the same layout we use for OMAP3 boards. Looks fine to me.
 not to me

Then, as the easiest way of dealing with directory/file moves is doing 
it directly in your git, the best would be if you do this re-sorting 
directly.

NACKing a quite trivial patch (this one) because of an existing 
directory/file layout you don't like, while you requested yourself 
this change we talk about, and making it a show stopper for adding 
additional boards [1] like e.g. Matthias' one, sounds somehow strange 
to me, btw.

[1] http://lists.denx.de/pipermail/u-boot/2009-April/051383.html

 We talk about *board* specific code here, it is totally unrelated to  
 arch or the soc we use. This board specific code configures an 
 OMAP3 (SoC) external companion chip which is on the board (or not). 
 Some boards which share the basic layout have this companion chip, 
 some not. Please note that original config options (we remove with 
 this patch) were the *board* config options (e.g. 
 CONFIG_OMAP3_BEAGLE) to enable the compilation of power.c, too.
 as show now the power.c code is shared by a lot's of omap3 boards
 and as you said it's a power companion for the omap3

 so 2 choices
 move the code to cpu/omap3 as it's omap3 specific
 No and no. Above I mentioned why cpu/ is wrong (because it's board  
 related code) and that it's not OMAP3 (SoC) specific. It's (OMAP3)  
 *board* specific.

 or to drivers/
 Driver makes no sense either, because it's not a driver. Power.c *uses* 
 drivers e.g. I2C (like the board code) to access board components.
 no I2C is the communication bus, but you write a i2c drivers to manage the
 power chips so it's a drivers

No. I don't write a driver. I just use a driver. If you want to name 
code that uses a driver a driver again, then you wouldn't need the 
board directory any more. Unfortunately, you removed my argumentation 
regarding this from the previous mail:

-- cut --
 access board components. If you would move power.c to drivers, it 
would be similar if you would move everything in board/* to drivers.

Please have a look to code in board/davinci/common. These are no 
drivers, too. It's board code, which normally is in 
board/davinci/board/board.c file, but is moved to /common to avoid 
copy  paste. Same is with OMAP3 power.c code. It was originally in 
board/omap3/board/board.c file, but you (correctly) asked to move 
it to a common place to avoid copy  paste. If you like, we can move 
it back into board.c files
-- cut --

Additionally, if you don't like the Davinci example, let's take an 
other one randomly chosen:

http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=board/freescale/mpc8568mds/mpc8568mds.c;h=8f991e537df10d8ff48d7783e00bb4aeaa231c79;hb=HEAD

Following your argumentation, for pib_init() you would need an IO 
expander driver. For pci_init_board() you would need a PCI driver. 
Both functions are larger than what we talk about here, btw. If you go 
on with this, you have to create a LED driver for a one liner which 
enables/disables a LED using a gpio driver. And at the end you will 
have an empty board directory.

 Yes, I can do this. Unfortunately, you can't imagine how clever TI is  
 with selling mainly the same functionality (chips) with different chip  
 names. So most probably there is more than on chip name, and I'm not  
 sure if I will get them right. Most probably only TI marketing  
 department will get this right ;)
 why not start with the chip name 

I think I mentioned above that there are different chip names. But
anyway ...

 or the familly name if they can be manage by
 the same driver

(no 'driver' btw)

... as mentioned above I will have a look if I can find some matching
naming and send an updated patch with this.

Best regards

Dirk


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


Re: [U-Boot] [PATCH 0/3][Net][ARM] Davinci Ethernet driver cleanup

2009-05-12 Thread Ben Warren
Hi Sandeep,

Paulraj, Sandeep wrote:
 Ben,
 DID anybody volunteer to test this or has it already been tested.
 HAS the patch been applied to any branch yet. I still see the files in the 
 /cpu/arm926ejs/davinci folder in the u-boot-net git.

 I ask because I will need to add support for other DaVinci's to that driver.

 And this patch that I submitted today
 [PATCH] DaVinci Network Driver Updates

 Is a precursor to that.

 Thanks,
 Sandeep 

   
David Brownell tested the driver successfully.  There has been a bunch 
of churn regarding the file structure of the Davinci code, and I'm 
waiting from arm/next to be pulled into main/next before re-basing these 
patches.

Maybe J-C can give us an idea of when we can expect such a thing...

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


Re: [U-Boot] [PATCH 0/3][Net][ARM] Davinci Ethernet driver cleanup

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 10:43 Tue 12 May , Ben Warren wrote:
 Hi Sandeep,

 Paulraj, Sandeep wrote:
 Ben,
 DID anybody volunteer to test this or has it already been tested.
 HAS the patch been applied to any branch yet. I still see the files in the 
 /cpu/arm926ejs/davinci folder in the u-boot-net git.

 I ask because I will need to add support for other DaVinci's to that driver.

 And this patch that I submitted today
 [PATCH] DaVinci Network Driver Updates

 Is a precursor to that.

 Thanks,
 Sandeep 

   
 David Brownell tested the driver successfully.  There has been a bunch  
 of churn regarding the file structure of the Davinci code, and I'm  
 waiting from arm/next to be pulled into main/next before re-basing these  
 patches.

 Maybe J-C can give us an idea of when we can expect such a thing...
It's plan for this WE

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


Re: [U-Boot] [PATCH] Canyonlands SATA harddisk driver

2009-05-12 Thread Wolfgang Denk
Dear Kazuaki Ichinohe,

In message 4a0947cd.6050...@fsi.co.jp you wrote:
 
 I re-send the patch source.
 The following three points were corrected.
 
 1.--- was adjusted to add git history.
 2.The following lines of /drivers/block/Makefile were matched to sorting.

You really don't get it. All such comments like the lines above must
go *BELOW* the --- line. Only the commit message, and nothing elase,
is allowed above the ---.

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
Minds are like parachutes - they only function when open.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Timeout in tftp.c

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 14:22 Tue 12 May , Achim Ehrlich wrote:
 Hello,
 
 The timeout for lost packages in tftp.c is defined to 5000 msecs. But 
 when setting the timeout get_timer(0) is called in NetSetTimeout in net.c.
 But on AT91 the timer code returns usecs and not msecs resulting in a 
 timeout of 5 ms instead of 5 secs, which is kind of short. I looked in 
 the timer code of other ARM-based platforms and they seem to use 
 usec-based timers as well.
 Of course I can change the defined timeout in tftp.c to one second or 
 so, but that doesn't seem to be the right way to solve this issue.
 
 Any suggestions or ideas or do I miss something here?
could you be more precise against which version your test was done?

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


Re: [U-Boot] Timeout in tftp.c

2009-05-12 Thread Wolfgang Denk
Dear Achim Ehrlich,

In message 4a0969fc.2060...@taskit.de you wrote:
 
 The timeout for lost packages in tftp.c is defined to 5000 msecs. But 
 when setting the timeout get_timer(0) is called in NetSetTimeout in net.c.
 But on AT91 the timer code returns usecs and not msecs resulting in a 
 timeout of 5 ms instead of 5 secs, which is kind of short. I looked in 
 the timer code of other ARM-based platforms and they seem to use 
 usec-based timers as well.
 Of course I can change the defined timeout in tftp.c to one second or 
 so, but that doesn't seem to be the right way to solve this issue.
 
 Any suggestions or ideas or do I miss something here?

Any chance that you are using an old version of U-Boot?

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
Comparing information  and  knowledge  is  like  asking  whether  the
fatness  of  a  pig  is more or less green than the designated hitter
rule.   - David Guaspari
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] Remove inline qualifier from show_boot_progress()

2009-05-12 Thread Emil Medve
The 'inline' is conflicting with the semantic of 'weak' attribute and with the
way the show_boot_progress() function is used.

Also gcc 4.4 is complaining about it:

main.c:51: error: inline function 'show_boot_progress' cannot be declared weak

Signed-off-by: Emil Medve emilian.me...@freescale.com
---
 common/main.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/common/main.c b/common/main.c
index 905d40f..026edd1 100644
--- a/common/main.c
+++ b/common/main.c
@@ -48,7 +48,7 @@ DECLARE_GLOBAL_DATA_PTR;
  * Board-specific Platform code can reimplement show_boot_progress () if needed
  */
 void inline __show_boot_progress (int val) {}
-void inline show_boot_progress (int val) __attribute__((weak, 
alias(__show_boot_progress)));
+void show_boot_progress (int val) __attribute__((weak, 
alias(__show_boot_progress)));
 
 #if defined(CONFIG_BOOT_RETRY_TIME)  defined(CONFIG_RESET_TO_RETRY)
 extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);  
/* for do_reset() prototype */
-- 
1.6.3

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


[U-Boot] Help with driver for a ethernet switch

2009-05-12 Thread Raphael Amorim
Hello all,

Could anyone help me with this?
Which change should I do on
http://git.denx.de/u-boot/drivers/net/ks8695eth.c
to make it work with the ks8995m ? Have anyone done this before?

thanks,

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


Re: [U-Boot] [PATCH 05/29] Rename ads5121 board into mpc5121ads

2009-05-12 Thread Kim Phillips
On Sat,  9 May 2009 21:50:44 +0200
Wolfgang Denk w...@denx.de wrote:

  MAKEALL |2 +-
  Makefile|6 +-
  board/ads5121/Makefile  |   53 ---
  board/ads5121/README|7 -
  board/ads5121/ads5121.c |  432 
  board/ads5121/config.mk |   23 --
  board/freescale/mpc5121ads/Makefile |   53 +++
  board/freescale/mpc5121ads/README   |7 +
  board/freescale/mpc5121ads/config.mk|   23 ++
  board/freescale/mpc5121ads/mpc5121ads.c |  432 
  include/configs/ads5121.h   |  551 
 ---
  include/configs/mpc5121ads.h|  551 
 +++
  12 files changed, 1070 insertions(+), 1070 deletions(-)
  delete mode 100644 board/ads5121/Makefile
  delete mode 100644 board/ads5121/README
  delete mode 100644 board/ads5121/ads5121.c
  delete mode 100644 board/ads5121/config.mk
  create mode 100644 board/freescale/mpc5121ads/Makefile
  create mode 100644 board/freescale/mpc5121ads/README
  create mode 100644 board/freescale/mpc5121ads/config.mk
  create mode 100644 board/freescale/mpc5121ads/mpc5121ads.c
  delete mode 100644 include/configs/ads5121.h
  create mode 100644 include/configs/mpc5121ads.h

can git format-patch's -M and -B options be used to submit mass rename
patches such as these please?

Thanks,

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


Re: [U-Boot] [PATCH 00/29] Rework MPC512x Support

2009-05-12 Thread Kim Phillips
On Sat,  9 May 2009 21:50:39 +0200
Wolfgang Denk w...@denx.de wrote:

 The following patch series includes a heavy rework of the existing
 code for MPC512x processors.  The changes include especially:
 
 - move common files from mpc5121ads (so far ads5121) board to common
   directory so they can be reused by other boards based on the same
   CPU
 - rename ads5121 into freescale/mpc5121ads so thesame board name
   as in Linux is used, and the vendor directory is correct
 - rework the whole MPC512x related code to use I/O acessors (i. e.
   in_*() and out_*() functions) instead of deprecated pointer accesses
 - Don't #define register offsets, but use the offset from the
   respective C structs instead [1]
 - remove include/mpc512x.h to avoid duplication of the same
   information in include/asm-ppc/immap_512x.h
 - add support for the ARIA board, a MPC5121e based COM Express module
 
 [1] Note: It was not possible to get completely rid of #define'd
 register offsets yet, as some are used in cpu/mpc512x/start.S, and in
 assembly the available options are limited. In Linux, the required
 header files with the respective #define's are auto-generated from the
 C struct definitions. We intend to do the same, but this needs
 co-ordinations across architectures - for example, Blackfin already
 uses such an approach. For now, we created cpu/mpc512x/asm-offsets.h;
 this file will be removed again as soon as auto-generation works.
 
 Note: It might seem a good idea to squash related patches (like all
 I/O accessors patches into one, and all mpc512x.h removal patches
 into another one) to reduce the number of commits. I decided against
 doing this, as the amount of changes carries the risk that, inspite
 of pretty careful testing, some errors have not been discovered yet.
 The current one-step-at-a-time approach is more git-bisect friendly.
 
 
 Patches are agains v2009.06-rc1; they have been tested on the
 mpc5121ads and the aria boards.
 
 
 Patch overview:
 
 [PATCH 01/29] mpc512x: change cpu/mpc512x/Makefile to use Kconfig style
 [PATCH 02/29] mpc512x: Move common files to share them by several boards
 [PATCH 03/29] cpu/mpc512x/pci.c: minor coding style cleanup
 [PATCH 04/29] cpu/mpc512x/diu.c: fix warning: assignment from incompatible 
 pointer type
 [PATCH 05/29] Rename ads5121 board into mpc5121ads
 [PATCH 06/29] MPC512x: add more hardware description to immap_512x.h
 [PATCH 07/29] mpc5121ads: use I/O accessors instead of pointer accesses
 [PATCH 08/29] MPC512x: add support for ARIA board
 [PATCH 09/29] cpu/mpc512x/iopin.c: convert to use I/O acessors.
 [PATCH 10/29] cpu/mpc512x/iopin.c: remove redundant include of 
 asm/immap_512x.h
 [PATCH 11/29] MPC512x: prepare removal of include/mpc512x.h
 [PATCH 12/29] include/configs/mpc5121ads.h: prepare removal of 
 include/mpc512x.h
 [PATCH 13/29] include/configs/aria.h: prepare removal of include/mpc512x.h
 [PATCH 14/29] common/cmd_ide.c: prepare removal of include/mpc512x.h
 [PATCH 15/29] cpu/mpc512x/cpu.c: prepare removal of include/mpc512x.h
 [PATCH 16/29] cpu/mpc512x/cpu_init.c: prepare removal of include/mpc512x.h
 [PATCH 17/29] cpu/mpc512x/cpu_init.c: use I/O accessors instead of pointer 
 accesses
 [PATCH 18/29] cpu/mpc512x/speed.c: prepare removal of include/mpc512x.h
 [PATCH 19/29] cpu/mpc512x/speed.c: use I/O accessors instead of pointer 
 accesses
 [PATCH 20/29] cpu/mpc512x/serial.c: use I/O accessors instead of pointer 
 accesses
 [PATCH 21/29] cpu/mpc512x/i2c.c: prepare removal of include/mpc512x.h
 [PATCH 22/29] cpu/mpc512x/i2c.c: use immr offsets from C struct instead of 
 #define
 [PATCH 23/29] cpu/mpc512x/i2c.c: use I/O accessors instead of pointer accesses
 [PATCH 24/29] cpu/mpc512x/pci.c: use I/O accessors instead of pointer accesses
 [PATCH 25/29] drivers/net/mpc512x_fec.c: prepare removal of include/mpc512x.h
 [PATCH 26/29] MPC512x FEC: remove duplicated code and data types
 [PATCH 27/29] drivers/net/mpc512x_fec.c: use I/O accessors instead of pointer 
 accesses
 [PATCH 28/29] MPC512x FEC: get rid of duplicated struct ethernet_regs
 [PATCH 29/29] Remove include/mpc512x.h

there seem to be recurring themes among these patches - this
patchseries would be better grouped into theme based content instead of
on a file by file basis.  Eg., Removal of mpc512x.h shouldn't need 10
prepare to remove patches - it should be a single patch that removes
all #include references, plus the file removal itself.

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


Re: [U-Boot] Help with driver for a ethernet switch

2009-05-12 Thread Ben Warren
Hi Raphael,

Raphael Amorim wrote:
 Hello all,

 Could anyone help me with this?
 Which change should I do on
 http://git.denx.de/u-boot/drivers/net/ks8695eth.c
 to make it work with the ks8995m ? Have anyone done this before?

 thanks,

 Raphael

   
First, read the data sheets for both chips to find out how 
similar/different they are.  If similar, modify or copy the ks8695 
driver.  If they're significantly different, you might find a better 
match for a template.

No matter what, you need to understand your hardware.

Please note that the KS8695 driver will be changing soon because the API 
that it uses is deprecated.  There are plenty of examples of drivers 
that use the preferred methods.

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


Re: [U-Boot] [PATCH] lib_arch/board.c: Move malloc initialization before flash_init()

2009-05-12 Thread Kim Phillips
On Mon, 11 May 2009 15:50:12 +0200
Stefan Roese s...@denx.de wrote:

 This patch moves the malloc initialization before calling flash_init().
 Upcoming changes to the NOR FLASH common CFI driver with optional
 MTD infrastructure and MTD concatenation support will call malloc().
 And nothing really speaks against enabling malloc just a little earlier
 in the boot stage. Some architectures already enable malloc before
 calling flash_init() so they don't need any changes here.
 
 Signed-off-by: Stefan Roese s...@denx.de
 Cc: Wolfgang Denk w...@denx.de
 Cc: Mike Frysinger vap...@gentoo.org
 Cc: Scott McNutt smcn...@psyent.com
 Cc: Shinya Kuribayashi shinya.kuribaya...@necel.com
 Cc: Nobuhiro Iwamatsu iwama...@nigauri.org
 Cc: Daniel Hellstrom dan...@gaisler.com
 Cc: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com
 Cc: John Rigby jcri...@gmail.com
 ---
 If nobody from the platforms custodians objects against this patch
 then I suggest that Wolfgang pulls it directly into next.

fyi, you've only cc:d Scott McNutt and John Rigby on this mail, yet you
indicate otherwise...

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


Re: [U-Boot] [PATCH v2 3/3] MX31: Add NAND SPL boot support to i.MX31 PDK board.

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 22:49 Tue 12 May , Magnus Lilja wrote:
   diff --git a/board/freescale/mx31pdk/config.mk 
   b/board/freescale/mx31pdk/config.mk
   index d34dc02..dcaa09f 100644
   --- a/board/freescale/mx31pdk/config.mk
   +++ b/board/freescale/mx31pdk/config.mk
   @@ -1 +1,5 @@
   +ifdef CONFIG_NAND_SPL
   +TEXT_BASE = 0x87ec
   +else
    TEXT_BASE = 0x87f0
   +endif
   +
   +.macro DELAY loops
   +     ldr     r2, =\loops
   +1:
   +     subs    r2, r2, #1
   +     nop
   +     bcs     1b
   +.endm
   NACK
   as already reply to the kirwood patch we must have common macro
   please use the attached file as based work
 
  I don't see any file attached to you e-mail, so which attached file?
  Can you point to the relevant kirkwood patch? Is the patch in some
  git-tree?
  no not yet
  so I've forget to re-attached it
 
 There's a minor problem in the timer macro, fixed by replacing sub
 with subs.
 
 Are you OK with me posting the file as a separate patch with your
 From+signed-off as part of my patch series or will you add the file to
 arm-next yourself?
ok please do tks

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


Re: [U-Boot] [PATCH 05/29] Rename ads5121 board into mpc5121ads

2009-05-12 Thread Wolfgang Denk
Dear Kim,

In message 20090512150147.63002c4b.kim.phill...@freescale.com you wrote:

 can git format-patch's -M and -B options be used to submit mass rename
 patches such as these please?

Sorry - yes, of course.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
An optimist believes we live in the best world possible; a  pessimist
fears this is true.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 00/29] Rework MPC512x Support

2009-05-12 Thread Wolfgang Denk
Dear Kim Phillips,

In message 20090512150139.a110609b.kim.phill...@freescale.com you wrote:

 there seem to be recurring themes among these patches - this
 patchseries would be better grouped into theme based content instead of
 on a file by file basis.  Eg., Removal of mpc512x.h shouldn't need 10
 prepare to remove patches - it should be a single patch that removes
 all #include references, plus the file removal itself.

You are right, there should be just a single patch.  But  that  patch
would  be  big,  and  if  it  later turns out that I missed something
during my testing, it will be a nightmare to debug.

Been there before. I already had such a patch  stack,  which  I  then
collapsed  into  a small number of handy commits. Until it turned out
that there was a nasty bug somewhere.  And  there  is  no  unsquash
option  to  git-besect  -i yet ;-) In the end, I had to restore the
previous version from backup tape.

I really thought about this, and I came to the conclusion that it's
better to keep the commits separate, step by step.

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
Ill-chosen abstraction is particularly evident in the design  of  the
ADA  runtime  system.  The  interface to the ADA runtime system is so
opaque that it is impossible to model  or  predict  its  performance,
making it effectively useless for real-time systems.
  - Marc D.  Donner and David H. Jameson.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] arm/imx31_phycore: Fix bi_arch_number

2009-05-12 Thread Wolfgang Denk
Dear Jean-Christophe PLAGNIOL-VILLARD,

In message 20090512011419.gm18...@game.jcrosoft.org you wrote:
 On 13:08 Thu 07 May , Detlev Zundel wrote:
  Signed-off-by: Detlev Zundel d...@denx.de
  Cc: Sascha Hauer s.ha...@pengutronix.de
  ---
 Sascha ping?

What are you waiting for? Isn't the patch obvious?

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
Carelessly planned projects take three times longer to complete  than
expected.  Carefully  planned  projects  take  four  times  longer to
complete than expected, mostly  because  the  planners  expect  their
planning to reduce the time it takes.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

2009-05-12 Thread Mike Frysinger
On Tuesday 12 May 2009 10:18:25 Detlev Zundel wrote:
 Hi Mike,

  On Tuesday 12 May 2009 04:48:28 Detlev Zundel wrote:
 how do set a mac for NFS Rootfs?
   
use initramfs
  
   don't you think it's overkill to use a initramfs just for set a mac
   address??
  
   no, i think it's perfectly reasonable.  and considering you have no
   other option here that'll get merged ...
 
  Can you please explain to me, why you think it to be reasonable to
  demand providing an initramfs in the order of 100s of k to set an
  attribute of a hardware device which has its own driver?
 
  Apart from being constantly repeated, I do not understand this reasoning
  at all.  My (old-school) belief was that an operating system deals with
  abstracting the hardware thus userspace does not need to (nor should)
  know too many hw details.
 
  Knowing that there is not a clear distinction line, I still fail to see
  why a mac address of a network interface should be handled by
  userspace.  Can someone enlighten me here?
 
  no one said it must be done in userspace, that was just one method for
  doing it.  read the FAQ for other possibilities.

 No you lost me completely.  The question cited above was whether you
 find it plausible to use initramfs - and thus userspace - to set a mac
 address.  You answered that you find this plausible.  This is what I do
 not understand.

 I never ran across this outside of linux arm where people seriously
 repeat the statement over and over that a whole initramfs with an
 initial userspace and a pivot_root is plausible for nfs root whilst
 patches of a few lines float around doing the same in the kernel.

i never said that a completely populated initramfs was needed.  it can be 
accomplished pretty easily with very little code.  
-mike
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 00/29] Rework MPC512x Support

2009-05-12 Thread Kim Phillips
On Tue, 12 May 2009 23:21:53 +0200
Wolfgang Denk w...@denx.de wrote:

 Dear Kim Phillips,
 
 In message 20090512150139.a110609b.kim.phill...@freescale.com you wrote:
 
  there seem to be recurring themes among these patches - this
  patchseries would be better grouped into theme based content instead of
  on a file by file basis.  Eg., Removal of mpc512x.h shouldn't need 10
  prepare to remove patches - it should be a single patch that removes
  all #include references, plus the file removal itself.
 
 You are right, there should be just a single patch.  But  that  patch
 would  be  big,  and  if  it  later turns out that I missed something

?  wouldn't it be approximately the size of the file plus ten
single-line hunks removing the #include lines in the rest of the code,
i.e, a tad larger than patch 29/29?  Plus it would significantly reduce
the intimidating denominator number of this patchseries (making it
approx. 10 commits less, and that's only on the subject of the removal
of this mpc512x file).

 during my testing, it will be a nightmare to debug.
 
 Been there before. I already had such a patch  stack,  which  I  then
 collapsed  into  a small number of handy commits. Until it turned out
 that there was a nasty bug somewhere.  And  there  is  no  unsquash
 option  to  git-besect  -i yet ;-) In the end, I had to restore the
 previous version from backup tape.
 
 I really thought about this, and I came to the conclusion that it's
 better to keep the commits separate, step by step.

I'm not going to tell you how to do your development, but you don't
have to expose artefacts of your personal debugging cycles to reviewers
nor unnecessarily clutter git bisect with unnecessary commits.

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


Re: [U-Boot] [PATCH] OMAP3: Introduce CONFIG option for power code

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 19:41 Tue 12 May , Dirk Behme wrote:
 Dear Jean-Christophe,

 Jean-Christophe PLAGNIOL-VILLARD wrote:

 [some unanswered questions removed here?]

 as davinci which is starting to be clean
 Sorry, but I can't find any board/ti which would be board/vendor 
 you  mention above. Even not for davinci. I looked into 
 u-boot-arm-master and -next.
 and the code is start to be moved

 Sorry, but this confuses me because I can't find this start anywhere. 
davinci: display correct clock info
http://git.denx.de/?p=u-boot/u-boot-arm.git;a=commit;h=5516e87d057c13fce05b6fc6e56cf3f4ddfc36b4
davinci: move psc support board--cpu
http://git.denx.de/?p=u-boot/u-boot-arm.git;a=commit;h=20bb2384e2b81e77880993134c8f268d59fdfe07

 But what I can find in both trees are

 board/davinci/common
 board/davinci/dvevm
 board/davinci/schmoogie
 board/davinci/all other Davinci boards

 This is 100% the same layout we use for OMAP3 boards. Looks fine to me.
 not to me

 Then, as the easiest way of dealing with directory/file moves is doing  
 it directly in your git, the best would be if you do this re-sorting  
 directly.

 NACKing a quite trivial patch (this one) because of an existing  
 directory/file layout you don't like, while you requested yourself this 
 change we talk about, and making it a show stopper for adding additional 
 boards [1] like e.g. Matthias' one, sounds somehow strange to me, btw.

 [1] http://lists.denx.de/pipermail/u-boot/2009-April/051383.html

 We talk about *board* specific code here, it is totally unrelated 
 to  arch or the soc we use. This board specific code 
 configures an OMAP3 (SoC) external companion chip which is on the 
 board (or not). Some boards which share the basic layout have 
 this companion chip, some not. Please note that original config 
 options (we remove with this patch) were the *board* config 
 options (e.g. CONFIG_OMAP3_BEAGLE) to enable the compilation of 
 power.c, too.
 as show now the power.c code is shared by a lot's of omap3 boards
 and as you said it's a power companion for the omap3

 so 2 choices
 move the code to cpu/omap3 as it's omap3 specific
 No and no. Above I mentioned why cpu/ is wrong (because it's board   
 related code) and that it's not OMAP3 (SoC) specific. It's (OMAP3)   
 *board* specific.

 or to drivers/
 Driver makes no sense either, because it's not a driver. Power.c 
 *uses* drivers e.g. I2C (like the board code) to access board 
 components.
 no I2C is the communication bus, but you write a i2c drivers to manage the
 power chips so it's a drivers

 No. I don't write a driver. I just use a driver. If you want to name  
 code that uses a driver a driver again, then you wouldn't need the board 
 directory any more. Unfortunately, you removed my argumentation  
 regarding this from the previous mail:

 -- cut --
  access board components. If you would move power.c to drivers, it  
 would be similar if you would move everything in board/* to drivers.

 Please have a look to code in board/davinci/common. These are no  
 drivers, too.
in correct as recently the soc code as device init was move to
cpu/arm926ejs/davinci

this only remaining code is the trivial dram_init
and the EEProm Mac address management

 If you go on with 
 this, you have to create a LED driver for a one liner which  
 enables/disables a LED using a gpio driver. And at the end you will have 
 an empty board directory.
it's done for the at91 led drivers to avoid copypaste
and it's in cpu/arm926ejs/at91

 Yes, I can do this. Unfortunately, you can't imagine how clever TI is 
  with selling mainly the same functionality (chips) with different 
 chip  names. So most probably there is more than on chip name, and 
 I'm not  sure if I will get them right. Most probably only TI 
 marketing  department will get this right ;)
 why not start with the chip name 

 I think I mentioned above that there are different chip names. But
 anyway ...
I agree but to simplify it why not use at the beggening the current supported
or use chip

 or the familly name if they can be manage by
 the same driver

 (no 'driver' btw)
we disagree on the term driver

is this chip is useable for other board than omap3?
if yes (which I suspect correct me if I'm wrong) then it's use is not omap3
specific at all


 ... as mentioned above I will have a look if I can find some matching
 naming and send an updated patch with this.
ok

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


Re: [U-Boot] [PATCH 2/4] omap3: remove typedef for struct gpmc

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
   
  -typedef struct gpmc {
  +struct gpmc {
  unsigned char res1[0x10];
  unsigned int sysconfig; /* 0x10 */
  unsigned char res2[0x4];
  @@ -125,7 +125,7 @@ typedef struct gpmc {
  unsigned int ecc7_result;   /* 0x218 */
  unsigned int ecc8_result;   /* 0x21C */
  unsigned int ecc9_result;   /* 0x220 */
  -} gpmc_t;
  +};
 
 I wonder if you have the resources and like to convert all register 
 structs used by OMAP3 code and remove the typedef?
 
 Else we would have a mixture of typedefs and struct usage (see e.g. 
 above in sys_info.c). I would like to have it consistent, either the 
 one or the other way ;) What do you think?

Fully agree

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


Re: [U-Boot] [PATCHv2 2/4] omap3: remove typedefs for configuration structs

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
  #define BURSTCOMPLETE_GROUP7 (0x1  31)
  
  /* SDRC */
  #ifndef __ASSEMBLY__
 -typedef struct sdrc_cs {
 +struct sdrc_cs {
   unsigned int mcfg;  /* 0x80 || 0xB0 */
   unsigned int mr;/* 0x84 || 0xB4 */
   unsigned char res1[0x4];
 @@ -176,12 +176,12 @@ typedef struct sdrc_cs {
   unsigned char res3[0x4];
  } sdrc_cs_t;
please remove too
  
 -typedef struct sdrc_actim {
 +struct sdrc_actim {
   unsigned int ctrla; /* 0x9C || 0xC4 */
   unsigned int ctrlb; /* 0xA0 || 0xC8 */
  } sdrc_actim_t;
please remove too
  
 -typedef struct sdrc {
 +struct sdrc {
   unsigned char res1[0x10];
   unsigned int sysconfig; /* 0x10 */
   unsigned int status;/* 0x14 */
 @@ -196,7 +196,7 @@ typedef struct sdrc {
   unsigned int power; /* 0x70 */
   unsigned char res4[0xC];
   sdrc_cs_t cs[2];/* 0x80 || 0xB0 */
 -} sdrc_t;
 +};
  #endif /* __ASSEMBLY__ */
  
  #define DLLPHASE_90  (0x1  1)
 @@ -240,7 +240,7 @@ typedef struct sdrc {
  /* timer regs offsets (32 bit regs) */
  
  #ifndef __ASSEMBLY__
 -typedef struct gptimer {
 +struct gptimer {
   unsigned int tidr;  /* 0x00 r */
   unsigned char res[0xc];
   unsigned int tiocp_cfg; /* 0x10 rw */
 @@ -257,7 +257,7 @@ typedef struct gptimer {
   unsigned int tcar1; /* 0x3c r */
   unsigned int tcicr; /* 0x40 rw */
   unsigned int tcar2; /* 0x44 r */
 -} gptimer_t;
 +};
  #endif /* __ASSEMBLY__ */
  
  /* enable sys_clk NO-prescale /1 */
 @@ -265,12 +265,12 @@ typedef struct gptimer {
  
  /* Watchdog */
  #ifndef __ASSEMBLY__
 -typedef struct watchdog {
 +struct watchdog {
   unsigned char res1[0x34];
   unsigned int wwps;  /* 0x34 r */
   unsigned char res2[0x10];
   unsigned int wspr;  /* 0x48 rw */
 -} watchdog_t;
 +};
  #endif /* __ASSEMBLY__ */
  
  #define WD_UNLOCK1   0x
 @@ -280,7 +280,7 @@ typedef struct watchdog {
  #define PRCM_BASE0x48004000
  
  #ifndef __ASSEMBLY__
 -typedef struct prcm {
 +struct prcm {
   unsigned int fclken_iva2;   /* 0x00 */
   unsigned int clken_pll_iva2;/* 0x04 */
   unsigned char res1[0x1c];
 @@ -344,7 +344,7 @@ typedef struct prcm {
   unsigned int clksel_per;/* 0x1040 */
   unsigned char res28[0xfc];
   unsigned int clksel1_emu;   /* 0x1140 */
 -} prcm_t;
 +};
  #else /* __ASSEMBLY__ */
  #define CM_CLKSEL_CORE   0x48004a40
  #define CM_CLKSEL_GFX0x48004b40
 @@ -357,14 +357,14 @@ typedef struct prcm {
  #define PRM_BASE 0x48306000
  
  #ifndef __ASSEMBLY__
 -typedef struct prm {
 +struct prm {
   unsigned char res1[0xd40];
   unsigned int clksel;/* 0xd40 */
   unsigned char res2[0x50c];
   unsigned int rstctrl;   /* 0x1250 */
   unsigned char res3[0x1c];
   unsigned int clksrc_ctrl;   /* 0x1270 */
 -} prm_t;
 +};
  #else /* __ASSEMBLY__ */
  #define PRM_RSTCTRL  0x48307250
  #endif /* __ASSEMBLY__ */
 @@ -400,7 +400,7 @@ typedef struct prm {
  #define PM_IVA2_BASE_ADDR_ARM(SMX_APE_BASE + 0x14000)
  
  #ifndef __ASSEMBLY__
 -typedef struct pm {
 +struct pm {
   unsigned char res1[0x48];
   unsigned int req_info_permission_0; /* 0x48 */
   unsigned char res2[0x4];
 @@ -413,7 +413,7 @@ typedef struct pm {
   unsigned int req_info_permission_1; /* 0x68 */
   unsigned char res6[0x14];
   unsigned int addr_match_2;  /* 0x80 */
 -} pm_t;
 +};
  #endif /*__ASSEMBLY__ */
  
  /* Permission values for registers -Full fledged permissions to all */
 diff --git a/include/asm-arm/arch-omap3/mem.h 
 b/include/asm-arm/arch-omap3/mem.h
 index 6f0f90b..5b9ac75 100644
 --- a/include/asm-arm/arch-omap3/mem.h
 +++ b/include/asm-arm/arch-omap3/mem.h
 @@ -29,12 +29,12 @@
  #define CS1  0x1 /* mirror CS1 regs appear offset 0x30 from CS0 */
  
  #ifndef __ASSEMBLY__
 -typedef enum {
 +enum {
   STACKED = 0,
   IP_DDR = 1,
   COMBO_DDR = 2,
   IP_SDR = 3,
 -} mem_t;
 +};
it will be better to use the enum type so it will be check at the compiling
time by gcc
  #endif /* __ASSEMBLY__ */
  
  #define EARLY_INIT   1
 diff --git a/include/asm-arm/arch-omap3/omap3.h 
 b/include/asm-arm/arch-omap3/omap3.h
 index 7c11019..d9d243f 100644
 --- a/include/asm-arm/arch-omap3/omap3.h
 +++ b/include/asm-arm/arch-omap3/omap3.h
 @@ -79,10 +79,10 @@
  

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


Re: [U-Boot] [PATCHv2 3/4] omap3: replace all instances of gpmc config struct by one global

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
 diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
 index aa15f94..079c848 100644
 --- a/cpu/arm_cortexa8/omap3/mem.c
 +++ b/cpu/arm_cortexa8/omap3/mem.c
 @@ -41,6 +41,8 @@ unsigned int boot_flash_sec;
  unsigned int boot_flash_type;
  volatile unsigned int boot_flash_env_addr;
  
 +struct gpmc *gpmc_cfg;
please do not expose it directly
please use a function to get it
 +
  #if defined(CONFIG_CMD_NAND)
  static u32 gpmc_m_nand[GPMC_MAX_REG] = {
   M_NAND_GPMC_CONFIG1,
 @@ -51,8 +53,6 @@ static u32 gpmc_m_nand[GPMC_MAX_REG] = {
   M_NAND_GPMC_CONFIG6, 0
  };
  
Best Regards,
J.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCHv2 4/4] omap3: use only fixed-size types inside ctrl_structs

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 10:12 Tue 12 May , Matthias Ludwig wrote:
 replace variable types in ctrl_structs for omap3 by those with
 fixed size (u8, u16, u32).
 Additional ifndef-protection is needed by examples which do not
 compile when including asm/types.h
could explain why and in which case we need it?
 
 Signed-off-by: Matthias Ludwig mlud...@ultratronik.de
 ---
  include/asm-arm/arch-omap3/cpu.h |  418 
 --
  1 files changed, 221 insertions(+), 197 deletions(-)
 
 diff --git a/include/asm-arm/arch-omap3/cpu.h 
 b/include/asm-arm/arch-omap3/cpu.h
 index 61a833e..b2c8498 100644
 --- a/include/asm-arm/arch-omap3/cpu.h
 +++ b/include/asm-arm/arch-omap3/cpu.h
 @@ -25,34 +25,40 @@
  #ifndef _CPU_H
  #define _CPU_H
  
 +#if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
 +#include asm/types.h
 +#endif /* !(__KERNEL_STRICT_NAMES || __ASSEMBLY__) */
 +
Best Regards,
J.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] arm/imx31_phycore: Fix bi_arch_number

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 23:37 Tue 12 May , Wolfgang Denk wrote:
 Dear Jean-Christophe PLAGNIOL-VILLARD,
 
 In message 20090512011419.gm18...@game.jcrosoft.org you wrote:
  On 13:08 Thu 07 May , Detlev Zundel wrote:
   Signed-off-by: Detlev Zundel d...@denx.de
   Cc: Sascha Hauer s.ha...@pengutronix.de
   ---
  Sascha ping?
 
 What are you waiting for? Isn't the patch obvious?
the ack from the board Maintainer which is Sascha

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


Re: [U-Boot] [patch arm/next] dm355 evm support (v3)

2009-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 19:58 Mon 11 May , David Brownell wrote:
 From: David Brownell dbrown...@users.sourceforge.net
 
 Initial U-Boot support for the DaVinci DM355 EVM.  This is a board
 from Spectrum Digital.  Board docs include schematic and firmware
 for its microcontroller:
 
   http://c6000.spectrumdigital.com/evmdm355/revd/
 
 Most of the DM355 chip is fully documented by TI, the most notable
 exception being the MPEG/JPEG coprocessor (programmable using codecs
 available at no cost from TI), which is omitted from its DM335 sibling:
 
   http://focus.ti.com/docs/prod/folders/print/tms320dm355.html
 
 This version can boot from the on-board DM9000 Ethernet chip, after
 being loaded (from NAND, MMC/SD, or UART).  In the near future, NAND
 and USB support could be added ... NAND support is being held back
 until the support for the 4-bit ECC hardware is ready.
 
 Signed-off-by: David Brownell dbrown...@users.sourceforge.net
 ---
Applied to arm/next

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


Re: [U-Boot] USB EHCI driver

2009-05-12 Thread John Rigby
Francesco,

Could you send what you have done so far to the list.  Someone else might be
able to pick it up and figure out what might be wrong.

Thanks
John

On Mon, Mar 23, 2009 at 2:44 AM, Rendine Francesco 
francesco.rend...@valueteam.com wrote:

 Hi,

 I've already tried that define, but nothing is changed...
 What can I see in the USB driver to resolve issue?

 Thanks.

 -Original Message-
 From: Michael Trimarchi [mailto:trimar...@gandalf.sssup.it]
 Sent: Fri 3/20/2009 9:36 AM
 To: Rendine Francesco
 Cc: u-boot@lists.denx.de
 Subject: Re: [U-Boot] USB EHCI driver

 Hi,

 FrancescoVT wrote:
  usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
  length 0x40
  dev=1ffebb08, pipe=8883, buffer=1f9a671a, length=64, req=1ffea214
  req=6 (0x6), type=128 (0x80), value=256 (0x100), index=0
  EHCI fail timeout STD_ASS reset
  usb_new_device: usb_get_descriptor() failed
 
 #define CONFIG_LEGACY_USB_INIT_SEQ

 Michael




 ___
 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] lib_arch/board.c: Move malloc initialization before flash_init()

2009-05-12 Thread Stefan Roese
On Tuesday 12 May 2009 22:09:11 Kim Phillips wrote:
  Signed-off-by: Stefan Roese s...@denx.de
  Cc: Wolfgang Denk w...@denx.de
  Cc: Mike Frysinger vap...@gentoo.org
  Cc: Scott McNutt smcn...@psyent.com
  Cc: Shinya Kuribayashi shinya.kuribaya...@necel.com
  Cc: Nobuhiro Iwamatsu iwama...@nigauri.org
  Cc: Daniel Hellstrom dan...@gaisler.com
  Cc: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com
  Cc: John Rigby jcri...@gmail.com
  ---
  If nobody from the platforms custodians objects against this patch
  then I suggest that Wolfgang pulls it directly into next.

 fyi, you've only cc:d Scott McNutt and John Rigby on this mail, yet you
 indicate otherwise...

Hmmm. I used git send-email for sending and I'm pretty sure that I saw all 
those email addresses added by this command. Perhaps the mailing list server 
removed some? I've seen this happen on other lists as well.

Best regards,
Stefan

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


Re: [U-Boot] [PATCH] lib_arch/board.c: Move malloc initialization before flash_init()

2009-05-12 Thread Mike Frysinger
On Wednesday 13 May 2009 00:20:52 Stefan Roese wrote:
 On Tuesday 12 May 2009 22:09:11 Kim Phillips wrote:
   Signed-off-by: Stefan Roese s...@denx.de
   Cc: Wolfgang Denk w...@denx.de
   Cc: Mike Frysinger vap...@gentoo.org
   Cc: Scott McNutt smcn...@psyent.com
   Cc: Shinya Kuribayashi shinya.kuribaya...@necel.com
   Cc: Nobuhiro Iwamatsu iwama...@nigauri.org
   Cc: Daniel Hellstrom dan...@gaisler.com
   Cc: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com
   Cc: John Rigby jcri...@gmail.com
   ---
   If nobody from the platforms custodians objects against this patch
   then I suggest that Wolfgang pulls it directly into next.
 
  fyi, you've only cc:d Scott McNutt and John Rigby on this mail, yet you
  indicate otherwise...

 Hmmm. I used git send-email for sending and I'm pretty sure that I saw
 all those email addresses added by this command. Perhaps the mailing list
 server removed some? I've seen this happen on other lists as well.

full CC list looks fine on the e-mail i received
-mike
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Timeout in tftp.c

2009-05-12 Thread Jens Gehrlein
Wolfgang Denk schrieb:
 Dear Achim Ehrlich,
 
 In message 4a0969fc.2060...@taskit.de you wrote:
 The timeout for lost packages in tftp.c is defined to 5000 msecs. But 
 when setting the timeout get_timer(0) is called in NetSetTimeout in net.c.
 But on AT91 the timer code returns usecs and not msecs resulting in a 
 timeout of 5 ms instead of 5 secs, which is kind of short. I looked in 
 the timer code of other ARM-based platforms and they seem to use 
 usec-based timers as well.
 Of course I can change the defined timeout in tftp.c to one second or 
 so, but that doesn't seem to be the right way to solve this issue.

 Any suggestions or ideas or do I miss something here?
 
 Any chance that you are using an old version of U-Boot?

Hi Achim,

I'm interested in this, too. I observed timeouts on ARM11 (MX31),
but couldn't do any investigation due to other projects.

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


Re: [U-Boot] [PATCHv2 3/4] omap3: replace all instances of gpmc config struct by one global

2009-05-12 Thread Wolfgang Denk
Dear Jean-Christophe PLAGNIOL-VILLARD,

In message 20090512230224.gl...@game.jcrosoft.org you wrote:
  diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c
  index aa15f94..079c848 100644
  --- a/cpu/arm_cortexa8/omap3/mem.c
  +++ b/cpu/arm_cortexa8/omap3/mem.c
  @@ -41,6 +41,8 @@ unsigned int boot_flash_sec;
   unsigned int boot_flash_type;
   volatile unsigned int boot_flash_env_addr;
   
  +struct gpmc *gpmc_cfg;
 please do not expose it directly
 please use a function to get it

Isn't this just adding to the memory footprint for little or no
benefit?

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
 EARTH
 smog  |   bricks
 AIR  --  mud  --  FIRE
soda water |   tequila
 WATER
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] arm/imx31_phycore: Fix bi_arch_number

2009-05-12 Thread Wolfgang Denk
Dear Jean-Christophe PLAGNIOL-VILLARD,

In message 20090512231236.gn...@game.jcrosoft.org you wrote:

   Sascha ping?
  
  What are you waiting for? Isn't the patch obvious?
 the ack from the board Maintainer which is Sascha

For such trivial patches you can decide this yourself. That's better
than delaying things.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
A weak mind is like a microscope, which magnifies trifling things,
but cannot receive great ones.  -- Philip Earl of Chesterfield
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot