[U-Boot] [PATCH 0/5] ixp/npe: Move conditional compilation to Makefile

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index 25117d7..aa664a1 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -29,7 +29,7 @@ LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB CFLAGS += $(LOCAL_CFLAGS) HOST_CFLAGS += $(LOCAL_CFLAGS)
-COBJS := npe.o \ +COBJS-$(CONFIG_IXP4XX_NPE) := npe.o \ miiphy.o \ IxOsalBufferMgt.o \ IxOsalIoMem.o \ @@ -80,16 +80,16 @@ COBJS := npe.o \ IxNpeMhUnsolicitedCbMgr.o
ifndef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE -COBJS += IxNpeMicrocode.o +COBJS-$(CONFIG_IXP4XX_NPE) += IxNpeMicrocode.o endif
-SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) -START := $(addprefix $(obj),$(START)) +SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS-y)) +SOBJS := $(addprefix $(obj),$(SOBJS))
all: $(LIB)
-$(LIB): $(OBJS) +$(LIB): $(obj).depend $(OBJS) $(AR) $(ARFLAGS) $@ $(OBJS)
######################################################################### diff --git a/cpu/ixp/npe/npe.c b/cpu/ixp/npe/npe.c index bd77fed..03e3bf7 100644 --- a/cpu/ixp/npe/npe.c +++ b/cpu/ixp/npe/npe.c @@ -44,8 +44,6 @@
#include <npe.h>
-#ifdef CONFIG_IXP4XX_NPE - static IxQMgrDispatcherFuncPtr qDispatcherFunc = NULL; static int npe_exists[NPE_NUM_PORTS]; static int npe_used[NPE_NUM_PORTS]; @@ -690,5 +688,3 @@ int npe_initialize(bd_t * bis)
return 1; } - -#endif /* CONFIG_IXP4XX_NPE */

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/ixp/Makefile b/cpu/ixp/Makefile index e1fb327..afa972a 100644 --- a/cpu/ixp/Makefile +++ b/cpu/ixp/Makefile @@ -26,10 +26,16 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(CPU).a
START = start.o -COBJS = serial.o interrupts.o cpu.o timer.o pci.o - -SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) +COBJS-y += cpu.o +COBJS-y += interrupts.o +COBJS-$(CONFIG_PCI) += pci.o +COBJS-y += serial.o +ifndef CONFIG_USE_IRQ +COBJS-y += timer.o +endif + +SRCS := $(START:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y)) START := $(addprefix $(obj),$(START))
all: $(obj).depend $(START) $(LIB) diff --git a/cpu/ixp/pci.c b/cpu/ixp/pci.c index 8c6b0b2..aae3d3d 100644 --- a/cpu/ixp/pci.c +++ b/cpu/ixp/pci.c @@ -24,9 +24,6 @@
#include <common.h> - -#ifdef CONFIG_PCI - #include <asm/processor.h> #include <asm/io.h> #include <pci.h> @@ -572,4 +569,3 @@ pci_dev_t pci_find_devices (struct pci_device_id * ids, int devNo) } return -1; } -#endif /* CONFIG_PCI */ diff --git a/cpu/ixp/timer.c b/cpu/ixp/timer.c index 09d8ad5..deb227a 100644 --- a/cpu/ixp/timer.c +++ b/cpu/ixp/timer.c @@ -32,7 +32,6 @@ #include <common.h> #include <asm/arch/ixp425.h>
-#ifndef CONFIG_USE_IRQ ulong get_timer (ulong base) { return get_timer_masked () - base; @@ -80,4 +79,3 @@ ulong get_timer_masked (void) } return (reload_constant - current); } -#endif /* #ifndef CONFIG_USE_IRQ */

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/ixp/Makefile b/cpu/ixp/Makefile index afa972a..6deecd4 100644 --- a/cpu/ixp/Makefile +++ b/cpu/ixp/Makefile @@ -28,7 +28,6 @@ LIB = $(obj)lib$(CPU).a START = start.o COBJS-y += cpu.o COBJS-y += interrupts.o -COBJS-$(CONFIG_PCI) += pci.o COBJS-y += serial.o ifndef CONFIG_USE_IRQ COBJS-y += timer.o diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index bffb1eb..0c4fa80 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -27,6 +27,7 @@ LIB := $(obj)libpci.a
COBJS-$(CONFIG_FSL_PCI_INIT) += fsl_pci_init.o COBJS-$(CONFIG_PCI) += pci.o pci_auto.o pci_indirect.o +COBJS-$(CONFIG_IXP_PCI) += pci_ixp.o COBJS-$(CONFIG_SH4_PCI) += pci_sh4.o COBJS-$(CONFIG_SH7751_PCI) +=pci_sh7751.o COBJS-$(CONFIG_SH7780_PCI) +=pci_sh7780.o diff --git a/cpu/ixp/pci.c b/drivers/pci/pci_ixp.c similarity index 100% rename from cpu/ixp/pci.c rename to drivers/pci/pci_ixp.c diff --git a/include/configs/actux1.h b/include/configs/actux1.h index a3b04b1..677a1ba 100644 --- a/include/configs/actux1.h +++ b/include/configs/actux1.h @@ -65,6 +65,7 @@ #define CONFIG_CMD_ELF #undef CONFIG_CMD_PCI #undef CONFIG_PCI +#undef CONFIG_IXP_PCI
#define CONFIG_BOOTCOMMAND "run boot_flash" /* enable passing of ATAGs */ diff --git a/include/configs/actux2.h b/include/configs/actux2.h index 7e6e8f2..ed3fc00 100644 --- a/include/configs/actux2.h +++ b/include/configs/actux2.h @@ -56,6 +56,7 @@ #define CONFIG_CMD_ELF #undef CONFIG_CMD_PCI #undef CONFIG_PCI +#undef CONFIG_IXP_PCI
#define CONFIG_BOOTCOMMAND "run boot_flash" /* enable passing of ATAGs */ diff --git a/include/configs/ixdp425.h b/include/configs/ixdp425.h index 35b0451..edebb40 100644 --- a/include/configs/ixdp425.h +++ b/include/configs/ixdp425.h @@ -73,6 +73,7 @@
#define CONFIG_PCI +#define CONFIG_IXP_PCI #define CONFIG_NET_MULTI #define CONFIG_EEPRO100

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/ixp/cpu.c b/cpu/ixp/cpu.c index 27872fb..fd545b5 100644 --- a/cpu/ixp/cpu.c +++ b/cpu/ixp/cpu.c @@ -86,9 +86,6 @@ int cpu_init (void) FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ; #endif
-#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI) - pci_init(); -#endif return 0; }
diff --git a/lib_arm/board.c b/lib_arm/board.c index 0f99cc5..0d3baad 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -224,6 +224,18 @@ static int init_func_i2c (void) } #endif
+#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI) +#include <pci.h> +static int arm_pci_init(void) +{ + pci_init(); + return 0; +} +# define INIT_FUNC_PCI_INIT arm_pci_init, +#else +# define INIT_FUNC_PCI_INIT +#endif /* CONFIG_CMD_PCI || CONFIG_PCI */ + /* * Breathe some life into the board... * @@ -270,6 +282,7 @@ init_fnc_t *init_sequence[] = { init_func_i2c, #endif dram_init, /* configure available RAM banks */ + INIT_FUNC_PCI_INIT display_dram_config, NULL, };

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/ixp/Makefile b/cpu/ixp/Makefile index 6deecd4..7e98d87 100644 --- a/cpu/ixp/Makefile +++ b/cpu/ixp/Makefile @@ -28,7 +28,6 @@ LIB = $(obj)lib$(CPU).a START = start.o COBJS-y += cpu.o COBJS-y += interrupts.o -COBJS-y += serial.o ifndef CONFIG_USE_IRQ COBJS-y += timer.o endif diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile index 99b2d1a..9106428 100644 --- a/drivers/serial/Makefile +++ b/drivers/serial/Makefile @@ -33,6 +33,7 @@ COBJS-y += ns16550.o COBJS-$(CONFIG_DRIVER_S3C4510_UART) += s3c4510b_uart.o COBJS-$(CONFIG_S3C64XX) += s3c64xx.o COBJS-y += serial.o +COBJS-$(CONFIG_IXP_SERIAL) += serial_ixp.o COBJS-$(CONFIG_MAX3100_SERIAL) += serial_max3100.o COBJS-$(CONFIG_PL010_SERIAL) += serial_pl01x.o COBJS-$(CONFIG_PL011_SERIAL) += serial_pl01x.o diff --git a/cpu/ixp/serial.c b/drivers/serial/serial_ixp.c similarity index 100% rename from cpu/ixp/serial.c rename to drivers/serial/serial_ixp.c diff --git a/include/configs/actux1.h b/include/configs/actux1.h index 677a1ba..718fd2c 100644 --- a/include/configs/actux1.h +++ b/include/configs/actux1.h @@ -39,6 +39,7 @@ #define CONFIG_DISPLAY_CPUINFO 1 #define CONFIG_DISPLAY_BOARDINFO 1
+#define CONFIG_IXP_SERIAL #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART2 #define CONFIG_BAUDRATE 115200 #define CONFIG_BOOTDELAY 3 diff --git a/include/configs/actux2.h b/include/configs/actux2.h index ed3fc00..2c79d62 100644 --- a/include/configs/actux2.h +++ b/include/configs/actux2.h @@ -32,6 +32,7 @@ #define CONFIG_DISPLAY_CPUINFO 1 #define CONFIG_DISPLAY_BOARDINFO 1
+#define CONFIG_IXP_SERIAL #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART2 #define CONFIG_BAUDRATE 115200 #define CONFIG_BOOTDELAY 5 diff --git a/include/configs/actux3.h b/include/configs/actux3.h index 3f42ed4..24d0642 100644 --- a/include/configs/actux3.h +++ b/include/configs/actux3.h @@ -32,6 +32,7 @@ #define CONFIG_DISPLAY_CPUINFO 1 #define CONFIG_DISPLAY_BOARDINFO 1
+#define CONFIG_IXP_SERIAL #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART2 #define CONFIG_BAUDRATE 115200 #define CONFIG_BOOTDELAY 3 diff --git a/include/configs/actux4.h b/include/configs/actux4.h index 3cf1b20..76714da 100644 --- a/include/configs/actux4.h +++ b/include/configs/actux4.h @@ -32,6 +32,7 @@ #define CONFIG_DISPLAY_CPUINFO 1 #define CONFIG_DISPLAY_BOARDINFO 1
+#define CONFIG_IXP_SERIAL #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART1 #define CONFIG_BAUDRATE 115200 #define CONFIG_BOOTDELAY 3 diff --git a/include/configs/ixdp425.h b/include/configs/ixdp425.h index edebb40..70f3987 100644 --- a/include/configs/ixdp425.h +++ b/include/configs/ixdp425.h @@ -135,6 +135,7 @@ /* * select serial console configuration */ +#define CONFIG_IXP_SERIAL #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART1 /* we use UART1 for console */
/* diff --git a/include/configs/ixdpg425.h b/include/configs/ixdpg425.h index 528bccd..193008e 100644 --- a/include/configs/ixdpg425.h +++ b/include/configs/ixdpg425.h @@ -72,6 +72,7 @@ /* allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE
+#define CONFIG_IXP_SERIAL #define CONFIG_BAUDRATE 115200 #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART1 /* we use UART1 for console */
diff --git a/include/configs/pdnb3.h b/include/configs/pdnb3.h index 8b7890e..89458bb 100644 --- a/include/configs/pdnb3.h +++ b/include/configs/pdnb3.h @@ -68,6 +68,7 @@ /* allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE
+#define CONFIG_IXP_SERIAL #define CONFIG_BAUDRATE 115200 #define CONFIG_SYS_IXP425_CONSOLE IXP425_UART1 /* we use UART1 for console */

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/ixp/config.mk b/cpu/ixp/config.mk index a71a20b..bbc5879 100644 --- a/cpu/ixp/config.mk +++ b/cpu/ixp/config.mk @@ -23,6 +23,7 @@ #
BIG_ENDIAN = y +PLATFORM_LDFLAGS += -EB
PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \ -msoft-float -mbig-endian

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1232604438-15471-4-git-send-email-plagnioj@jcrosoft.com you wrote:
+#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI) +#include <pci.h> +static int arm_pci_init(void) +{
- pci_init();
- return 0;
+}
Maybe pci_init() should return some error code?
+# define INIT_FUNC_PCI_INIT arm_pci_init, +#else +# define INIT_FUNC_PCI_INIT +#endif /* CONFIG_CMD_PCI || CONFIG_PCI */
Ah, no, please don't. That's not the way we do it in this file.
/*
- Breathe some life into the board...
@@ -270,6 +282,7 @@ init_fnc_t *init_sequence[] = { init_func_i2c, #endif dram_init, /* configure available RAM banks */
- INIT_FUNC_PCI_INIT
Please stick with the style used elsewhere in this file (or change all of it).
NAK.
Best regards,
Wolfgang Denk

On 08:51 Thu 22 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1232604438-15471-4-git-send-email-plagnioj@jcrosoft.com you wrote:
+#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI) +#include <pci.h> +static int arm_pci_init(void) +{
- pci_init();
- return 0;
+}
Maybe pci_init() should return some error code?
no it does not
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122081513.GA15551@game.jcrosoft.org you wrote:
- pci_init();
- return 0;
+}
Maybe pci_init() should return some error code?
no it does not
I am aware that it doesn't.
I wrote: "It *should* return some error code".
Best regards,
Wolfgang Denk

On 11:41 Thu 22 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122081513.GA15551@game.jcrosoft.org you wrote:
- pci_init();
- return 0;
+}
Maybe pci_init() should return some error code?
no it does not
I am aware that it doesn't.
I wrote: "It *should* return some error code".
yes sorry maybe we need to update the current pci init function If I can find time I try to
Best Regards, J.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com --- cpu/ixp/cpu.c | 3 --- lib_arm/board.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/cpu/ixp/cpu.c b/cpu/ixp/cpu.c index 27872fb..fd545b5 100644 --- a/cpu/ixp/cpu.c +++ b/cpu/ixp/cpu.c @@ -86,9 +86,6 @@ int cpu_init (void) FIQ_STACK_START = IRQ_STACK_START - CONFIG_STACKSIZE_IRQ; #endif
-#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI) - pci_init(); -#endif return 0; }
diff --git a/lib_arm/board.c b/lib_arm/board.c index 2358beb..964f5cc 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -221,6 +221,15 @@ static int init_func_i2c (void) } #endif
+#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI) +#include <pci.h> +static int arm_pci_init(void) +{ + pci_init(); + return 0; +} +#endif /* CONFIG_CMD_PCI || CONFIG_PCI */ + /* * Breathe some life into the board... * @@ -267,6 +276,9 @@ init_fnc_t *init_sequence[] = { init_func_i2c, #endif dram_init, /* configure available RAM banks */ +#if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI) + arm_pci_init, +#endif display_dram_config, NULL, };

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1232604438-15471-3-git-send-email-plagnioj@jcrosoft.com you wrote:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/ixp/Makefile b/cpu/ixp/Makefile index afa972a..6deecd4 100644 --- a/cpu/ixp/Makefile +++ b/cpu/ixp/Makefile @@ -28,7 +28,6 @@ LIB = $(obj)lib$(CPU).a START = start.o COBJS-y += cpu.o COBJS-y += interrupts.o -COBJS-$(CONFIG_PCI) += pci.o COBJS-y += serial.o ifndef CONFIG_USE_IRQ COBJS-y += timer.o diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index bffb1eb..0c4fa80 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -27,6 +27,7 @@ LIB := $(obj)libpci.a
COBJS-$(CONFIG_FSL_PCI_INIT) += fsl_pci_init.o COBJS-$(CONFIG_PCI) += pci.o pci_auto.o pci_indirect.o +COBJS-$(CONFIG_IXP_PCI) += pci_ixp.o COBJS-$(CONFIG_SH4_PCI) += pci_sh4.o COBJS-$(CONFIG_SH7751_PCI) +=pci_sh7751.o COBJS-$(CONFIG_SH7780_PCI) +=pci_sh7780.o diff --git a/cpu/ixp/pci.c b/drivers/pci/pci_ixp.c similarity index 100% rename from cpu/ixp/pci.c rename to drivers/pci/pci_ixp.c diff --git a/include/configs/actux1.h b/include/configs/actux1.h index a3b04b1..677a1ba 100644 --- a/include/configs/actux1.h +++ b/include/configs/actux1.h @@ -65,6 +65,7 @@ #define CONFIG_CMD_ELF #undef CONFIG_CMD_PCI #undef CONFIG_PCI +#undef CONFIG_IXP_PCI
IMHO there is no use in #undef'ing non-standard things that are not defined anyway by default. This just litters the code. I suggest we don't do this.
--- a/include/configs/actux2.h +++ b/include/configs/actux2.h @@ -56,6 +56,7 @@ #define CONFIG_CMD_ELF #undef CONFIG_CMD_PCI #undef CONFIG_PCI +#undef CONFIG_IXP_PCI
Ditto.
Best regards,
Wolfgang Denk

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1232604438-15471-1-git-send-email-plagnioj@jcrosoft.com you wrote:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
YOU DID IT AGAIN!!!
[PATCH 0/5] means DESCRIPTION only (and not a patch) for a patch series consisyting of FIVE (5, as in .../5) patches. Nobody expects a patch here, and nobody expects a 6 paret patch series here.
PLEASE STICK TO THE RULES!!!!
I hate it that I have to repeat this again and again to you!
diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index 25117d7..aa664a1 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -29,7 +29,7 @@ LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB CFLAGS += $(LOCAL_CFLAGS) HOST_CFLAGS += $(LOCAL_CFLAGS)
-COBJS := npe.o \ +COBJS-$(CONFIG_IXP4XX_NPE) := npe.o \ miiphy.o \ IxOsalBufferMgt.o \ IxOsalIoMem.o \
Given the fact that we don't have the needed npe files in the U-Boot source tree, and that nobodu can legally include this because of the licensing issues, should we not rather remove that code alltogether?
Best regards,
Wolfgang Denk

diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index 25117d7..aa664a1 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -29,7 +29,7 @@ LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB CFLAGS += $(LOCAL_CFLAGS) HOST_CFLAGS += $(LOCAL_CFLAGS)
-COBJS := npe.o \ +COBJS-$(CONFIG_IXP4XX_NPE) := npe.o \ miiphy.o \ IxOsalBufferMgt.o \ IxOsalIoMem.o \
Given the fact that we don't have the needed npe files in the U-Boot source tree, and that nobodu can legally include this because of the licensing issues, should we not rather remove that code alltogether?
the FW files can not be include IIRC
Licence from Intel
Copyright (c) 2007, Intel Corporation. All rights reserved.
Redistribution. Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met: • Redistributions must reproduce the above copyright notice and the following disclaimer in the documentation and/or other materials provided with the distribution. • Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission. • No reverse engineering, decompilation, or disassembly of this software is permitted.
Limited patent license. Intel Corporation grants a world-wide, royalty-free, non-exclusive license under patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell (“Utilize”) this software, but solely to the extent that any such patent is necessary to Utilize the software alone. The patent license shall not apply to any combinations which include this software. No hardware per se is licensed hereunder. DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122081934.GB15551@game.jcrosoft.org you wrote:
Given the fact that we don't have the needed npe files in the U-Boot source tree, and that nobodu can legally include this because of the licensing issues, should we not rather remove that code alltogether?
the FW files can not be include IIRC
Yes, this is what I understand, too.
You are changing the code for all these boards that don't even compile because files are missing to have new, updated boards that don't even compile because files are missing I ask.
I ask if it would not make more sense to remove all this code and drop support for these nun-working boards, especially since nobody cares to fix them.
Best regards,
Wolfgang Denk

On 11:48 Thu 22 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122081934.GB15551@game.jcrosoft.org you wrote:
Given the fact that we don't have the needed npe files in the U-Boot source tree, and that nobodu can legally include this because of the licensing issues, should we not rather remove that code alltogether?
the FW files can not be include IIRC
Yes, this is what I understand, too.
You are changing the code for all these boards that don't even compile because files are missing to have new, updated boards that don't even compile because files are missing I ask.
I ask if it would not make more sense to remove all this code and drop support for these nun-working boards, especially since nobody cares to fix them.
I agree but I've not the time to merge the new linux drivers in u-boot and actually it's the only way to have the network in u-boot
I'll make an announce but as I already said before I'll not ack any new cpu or update of the NPE anyway. So if someone wish to add the IXP465, 435 or other we must use a new network driver no the current one
btw in the current IXP port we can have the firmware in flash and load from it
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122110942.GA22829@game.jcrosoft.org you wrote:
I ask if it would not make more sense to remove all this code and drop support for these nun-working boards, especially since nobody cares to fix them.
I agree but I've not the time to merge the new linux drivers in u-boot and actually it's the only way to have the network in u-boot
I didn't ask you to fix that.
I suggest we remove the code for these broken boards from the U-Boot tree.
I'll make an announce but as I already said before I'll not ack any new cpu or update of the NPE anyway. So if someone wish to add the IXP465, 435 or other we must use a new network driver no the current one
If someone fixes the problem later, we can easily re-add the code.
Best regards,
Wolfgang Denk

On 12:32 Thu 22 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122110942.GA22829@game.jcrosoft.org you wrote:
I ask if it would not make more sense to remove all this code and drop support for these nun-working boards, especially since nobody cares to fix them.
I agree but I've not the time to merge the new linux drivers in u-boot and actually it's the only way to have the network in u-boot
I didn't ask you to fix that.
I suggest we remove the code for these broken boards from the U-Boot tree.
I'll make an announce but as I already said before I'll not ack any new cpu or update of the NPE anyway. So if someone wish to add the IXP465, 435 or other we must use a new network driver no the current one
If someone fixes the problem later, we can easily re-add the code.
we can easly fix it by removing the option to embedeed the FW and update the board config to load it from flash until we have a new clean drivers
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122112548.GE22829@game.jcrosoft.org you wrote:
I suggest we remove the code for these broken boards from the U-Boot tree.
...
we can easly fix it by removing the option to embedeed the FW and update the board config to load it from flash until we have a new clean drivers
Then can we do that, please?
Best regards,
Wolfgang Denk

On 17:35 Thu 22 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122112548.GE22829@game.jcrosoft.org you wrote:
I suggest we remove the code for these broken boards from the U-Boot tree.
...
we can easly fix it by removing the option to embedeed the FW and update the board config to load it from flash until we have a new clean drivers
Then can we do that, please?
The only problem will be the board without Maintainer so I do not known where to place it in the flash
otherwise ok
Best Regards, J.

On 17:55 Thu 22 Jan , Jean-Christophe PLAGNIOL-VILLARD wrote:
On 17:35 Thu 22 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090122112548.GE22829@game.jcrosoft.org you wrote:
I suggest we remove the code for these broken boards from the U-Boot tree.
...
we can easly fix it by removing the option to embedeed the FW and update the board config to load it from flash until we have a new clean drivers
Then can we do that, please?
The only problem will be the board without Maintainer so I do not known where to place it in the flash
this following two patch will acheive this
Actually only 2 boards will nees to define where they will store it in flash or somewhere else and the load in at default ram address via CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
Stefan Could you take on the 2 that you maintain ixdpg425, pdnb3
Best Regards, J.

instead the board will have to load it from flash or ram and scpecify a default address with CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com --- cpu/ixp/npe/IxNpeDlImageMgr.c | 4 ---- cpu/ixp/npe/Makefile | 4 ---- 2 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/cpu/ixp/npe/IxNpeDlImageMgr.c b/cpu/ixp/npe/IxNpeDlImageMgr.c index ccc0da7..8063091 100644 --- a/cpu/ixp/npe/IxNpeDlImageMgr.c +++ b/cpu/ixp/npe/IxNpeDlImageMgr.c @@ -134,11 +134,7 @@ typedef struct static IxNpeDlImageMgrStats ixNpeDlImageMgrStats;
/* default image */ -#ifdef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)CONFIG_IXP4XX_NPE_EXT_UCODE_BASE; -#else -static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)IxNpeMicrocode_array; -#endif
static UINT32* getIxNpeMicroCodeImageLibrary(void) { diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index aa664a1..9309f37 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -79,10 +79,6 @@ COBJS-$(CONFIG_IXP4XX_NPE) := npe.o \ IxNpeMhSolicitedCbMgr.o \ IxNpeMhUnsolicitedCbMgr.o
-ifndef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE -COBJS-$(CONFIG_IXP4XX_NPE) += IxNpeMicrocode.o -endif - SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) OBJS := $(addprefix $(obj),$(COBJS-y)) SOBJS := $(addprefix $(obj),$(SOBJS))

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com --- cpu/ixp/npe/Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index 9309f37..f4f97bd 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB := $(obj)libnpe.a
-LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB +LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux CFLAGS += $(LOCAL_CFLAGS) HOST_CFLAGS += $(LOCAL_CFLAGS)

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1233315245-21758-2-git-send-email-plagnioj@jcrosoft.com you wrote:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
cpu/ixp/npe/Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index 9309f37..f4f97bd 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB := $(obj)libnpe.a
-LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB +LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
Why would that be needed?
Probably the code should be fixed instead.
Best regards,
Wolfgang Denk

On 15:24 Fri 30 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1233315245-21758-2-git-send-email-plagnioj@jcrosoft.com you wrote:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
cpu/ixp/npe/Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index 9309f37..f4f97bd 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB := $(obj)libnpe.a
-LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB +LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
Why would that be needed?
Probably the code should be fixed instead.
we can not modify the npe code and this code requiered it
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090130145614.GA9067@game.jcrosoft.org you wrote:
-LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB +LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
Why would that be needed?
Probably the code should be fixed instead.
we can not modify the npe code and this code requiered it
Which part needed it? What was the error message without it?
And why cannot we modify the code?
Best regards,
Wolfgang Denk

On 16:20 Fri 30 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090130145614.GA9067@game.jcrosoft.org you wrote:
-LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB +LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
Why would that be needed?
Probably the code should be fixed instead.
we can not modify the npe code and this code requiered it
Which part needed it? What was the error message without it?
the cpe library expect we specify on which os we run for the ntohs/l & co function (IxOsalEndianess.h)
Best Regards, J.

On 16:24 Fri 30 Jan , Jean-Christophe PLAGNIOL-VILLARD wrote:
On 16:20 Fri 30 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090130145614.GA9067@game.jcrosoft.org you wrote:
-LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB +LOCAL_CFLAGS += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
Why would that be needed?
Probably the code should be fixed instead.
we can not modify the npe code and this code requiered it
Which part needed it? What was the error message without it?
the cpe library expect we specify on which os we run for the ntohs/l & co function (IxOsalEndianess.h)
if you compile u-boot with arm-elf-gcc __linux will not be define if you compile it with arm-linux-gcc it will be
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090130152428.GB9067@game.jcrosoft.org you wrote:
Which part needed it? What was the error message without it?
the cpe library expect we specify on which os we run for the ntohs/l & co function (IxOsalEndianess.h)
There were no error messages nor error reports before, or am I missing something?
Best regards,
Wolfgang Denk

On 17:40 Fri 30 Jan , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090130152428.GB9067@game.jcrosoft.org you wrote:
Which part needed it? What was the error message without it?
the cpe library expect we specify on which os we run for the ntohs/l & co function (IxOsalEndianess.h)
There were no error messages nor error reports before, or am I missing something?
please see my other mail about arm-elf-gcc
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1233315245-21758-1-git-send-email-plagnioj@jcrosoft.com you wrote:
instead the board will have to load it from flash or ram and scpecify a default address with CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
NAK.
Please do not use a hard-coded address.
Best regards,
Wolfgang Denk

instead the board will have to load it from flash or ram which will be specified by npe_ucode env var
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com --- README | 3 +-- cpu/ixp/npe/IxNpeDlImageMgr.c | 17 ++++++++--------- cpu/ixp/npe/Makefile | 4 ---- include/configs/actux1.h | 3 +-- include/configs/actux2.h | 3 +-- include/configs/actux3.h | 3 +-- include/configs/actux4.h | 3 +-- 7 files changed, 13 insertions(+), 23 deletions(-)
diff --git a/README b/README index 86c1304..522471c 100644 --- a/README +++ b/README @@ -3021,8 +3021,7 @@ Some configuration options can be set using Environment Variables: Useful on scripts which control the retry operation themselves.
- npe_ucode - see CONFIG_IXP4XX_NPE_EXT_UCOD - if set load address for the NPE microcode + npe_ucode - set load address for the NPE microcode
tftpsrcport - If this is set, the value is used for TFTP's UDP source port. diff --git a/cpu/ixp/npe/IxNpeDlImageMgr.c b/cpu/ixp/npe/IxNpeDlImageMgr.c index ccc0da7..9bcdc9c 100644 --- a/cpu/ixp/npe/IxNpeDlImageMgr.c +++ b/cpu/ixp/npe/IxNpeDlImageMgr.c @@ -133,20 +133,14 @@ typedef struct */ static IxNpeDlImageMgrStats ixNpeDlImageMgrStats;
-/* default image */ -#ifdef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE -static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)CONFIG_IXP4XX_NPE_EXT_UCODE_BASE; -#else -static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)IxNpeMicrocode_array; -#endif - static UINT32* getIxNpeMicroCodeImageLibrary(void) { char *s; + if ((s = getenv("npe_ucode")) != NULL) return (UINT32*) simple_strtoul(s, NULL, 16); else - return IxNpeMicroCodeImageLibrary; + return NULL; }
/* @@ -422,7 +416,7 @@ ixNpeDlImageMgrSignatureCheck (UINT32 *microCodeImageLibrary) (IxNpeDlImageMgrImageLibraryHeader *) microCodeImageLibrary; BOOL result = TRUE;
- if (header->signature != IX_NPEDL_IMAGEMGR_SIGNATURE) + if (!header || header->signature != IX_NPEDL_IMAGEMGR_SIGNATURE) { result = FALSE; ixNpeDlImageMgrStats.invalidSignature++; @@ -643,6 +637,11 @@ ixNpeDlImageMgrImageFind ( } #else imageLibrary = getIxNpeMicroCodeImageLibrary(); + if (imageLibrary == NULL) + { + printf ("npe: ERROR, no Microcode found in memory\n"); + return IX_FAIL; + } #endif /* IX_NPEDL_READ_MICROCODE_FROM_FILE */ }
diff --git a/cpu/ixp/npe/Makefile b/cpu/ixp/npe/Makefile index aa664a1..9309f37 100644 --- a/cpu/ixp/npe/Makefile +++ b/cpu/ixp/npe/Makefile @@ -79,10 +79,6 @@ COBJS-$(CONFIG_IXP4XX_NPE) := npe.o \ IxNpeMhSolicitedCbMgr.o \ IxNpeMhUnsolicitedCbMgr.o
-ifndef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE -COBJS-$(CONFIG_IXP4XX_NPE) += IxNpeMicrocode.o -endif - SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) OBJS := $(addprefix $(obj),$(COBJS-y)) SOBJS := $(addprefix $(obj),$(SOBJS)) diff --git a/include/configs/actux1.h b/include/configs/actux1.h index a3b04b1..58d56ee 100644 --- a/include/configs/actux1.h +++ b/include/configs/actux1.h @@ -172,8 +172,6 @@
/* include IXP4xx NPE support */ #define CONFIG_IXP4XX_NPE 1 -/* use separate flash sector with ucode images */ -#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE 0x50040000 #define CONFIG_NET_MULTI 1 /* NPE0 PHY address */ #define CONFIG_PHY_ADDR 0 @@ -208,6 +206,7 @@ #define CONFIG_SYS_USE_PPCENV 1
#define CONFIG_EXTRA_ENV_SETTINGS \ + "npe_ucode=50040000\0" \ "mtd=IXP4XX-Flash.0:256k(uboot),64k(ucode),1152k(linux),-(root)\0" \ "kerneladdr=50050000\0" \ "rootaddr=50170000\0" \ diff --git a/include/configs/actux2.h b/include/configs/actux2.h index 7e6e8f2..6f59a51 100644 --- a/include/configs/actux2.h +++ b/include/configs/actux2.h @@ -147,8 +147,6 @@
/* include IXP4xx NPE support */ #define CONFIG_IXP4XX_NPE 1 -/* use separate flash sector with ucode images */ -#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE 0x50040000 #define CONFIG_NET_MULTI 1 /* NPE0 PHY address */ #define CONFIG_PHY_ADDR 0x00 @@ -185,6 +183,7 @@ #define CONFIG_SYS_USE_PPCENV 1
#define CONFIG_EXTRA_ENV_SETTINGS \ + "npe_ucode=50040000\0" \ "mtd=IXP4XX-Flash.0:256k(uboot),64k(ucode),1152k(linux),-(root)\0" \ "kerneladdr=50050000\0" \ "rootaddr=50170000\0" \ diff --git a/include/configs/actux3.h b/include/configs/actux3.h index 3f42ed4..a7bb38c 100644 --- a/include/configs/actux3.h +++ b/include/configs/actux3.h @@ -146,8 +146,6 @@
/* include IXP4xx NPE support */ #define CONFIG_IXP4XX_NPE 1 -/* use separate flash sector with ucode images */ -#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE 0x50040000
#define CONFIG_NET_MULTI 1 /* NPE0 PHY address */ @@ -185,6 +183,7 @@ #define CONFIG_SYS_USE_PPCENV 1
#define CONFIG_EXTRA_ENV_SETTINGS \ + "npe_ucode=50040000\0" \ "mtd=IXP4XX-Flash.0:256k(uboot),64k(ucode),1152k(linux),-(root)\0" \ "kerneladdr=50050000\0" \ "rootaddr=50170000\0" \ diff --git a/include/configs/actux4.h b/include/configs/actux4.h index 3cf1b20..f2b701f 100644 --- a/include/configs/actux4.h +++ b/include/configs/actux4.h @@ -149,8 +149,6 @@
/* include IXP4xx NPE support */ #define CONFIG_IXP4XX_NPE 1 -/* use separate flash sector with ucode images */ -#define CONFIG_IXP4XX_NPE_EXT_UCODE_BASE 0x51000000
#define CONFIG_NET_MULTI 1 /* NPE0 PHY address */ @@ -181,6 +179,7 @@ #define CONFIG_ENV_ADDR (PHYS_FLASH_1 + 0x3f000)
#define CONFIG_EXTRA_ENV_SETTINGS \ + "npe_ucode=51000000\0" \ "mtd=IXP4XX-Flash.0:252k(uboot),4k(uboot_env);" \ "IXP4XX-Flash.1:128k(ucode),1280k(linux),-(root)\0" \ "kerneladdr=51020000\0" \

your subject says "Microsode" ... guessing that's a typo -mike

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090130113311.GF1920@game.jcrosoft.org you wrote:
Actually only 2 boards will nees to define where they will store it in flash or somewhere else and the load in at default ram address via CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
I think it would be very unflexible if we have to use a static address in flash that has to be defined at compile time.
Please make this more user-friendly and use an environment variable for it ("ucode_addr") that can be easily adjusted by the user at runtime (feel free to initialize it with a per board configurable default value).
Best regards,
Wolfgang Denk
participants (3)
-
Jean-Christophe PLAGNIOL-VILLARD
-
Mike Frysinger
-
Wolfgang Denk