Re: [U-Boot] [PATCH] ppc460: read get_sys_info from CPR registers instead of STRP registers
Marri, Mike On Thursday 25 August 2011 20:05:15 Tirumala Marri wrote: make[1]: *** [speed.o] Error 1 make[1]: *** Waiting for unfinished jobs make: *** [arch/powerpc/cpu/ppc4xx/libppc4xx.o] Error 2 make: *** Waiting for unfinished jobs Could you please check, if the 460SX has the same registers and bits as 460EX/GT and extend its header as well? [marri] 460Ex/Gt and 460Sx has different clocking subsystems. This code will Have to split to support to read the speed settings from CPU registers. If you can include the change to split this function we will submit our patch Based on yours. Please suggest. Yes. Mike, could you please re-send your patch with this suggested split? Marri, could you please test this result on an 460SX board? And perhaps send send a patch to fix potentially remaining 460SX issues? Thanks. 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] mii_phy.h
Mike Frysinger wrote: On Thursday, August 25, 2011 03:25:32 Michal Simek wrote: Can someone clear me purpose of mii_phy.h? It looks like that it is really ancient file which hasn't been touched from 2003. It is use for two files [monstr@monstr u-boot]$ grep -rn mii_phy.h * board/ep8260/mii_phy.c:2:#include mii_phy.h board/rpxsuper/mii_phy.c:2:#include mii_phy.h yes, if you look at old files, you often see people using generic names when they should have been driver or arch specific, or people who thought about starting a framework but then nothing ever materialized. The best will be to remove mii_phy entirely. sounds good to me ... i imagine the existing functionality might need to be converted into one of the common net frameworks that has been adopted ? Who is responsible for ep8260 and rpxsuper boards? For ep8260: I cc'ed Frank Panno but his email address doesn't work. Thanks, Michal -- Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] mii_phy.h
Dear Michal Simek, In message 4e573aee.2060...@monstr.eu you wrote: Who is responsible for ep8260 and rpxsuper boards? For ep8260: I cc'ed Frank Panno but his email address doesn't work. I guess it's safe to assume these boards are orphaned / unmaintained. Shall we remove them? 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 If only God would give me some clear sign! Like making a large depo- sit in my name at a Swiss Bank. - Woody Allen ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 3/3] Armada100: Enable 88E3015 PHY support for GplugD
This patch adds support for 88E3015 PHY for Marvell GplugD board. This patch depends on series of patch which adds support for Marvell GuruPlug-Display. Signed-off-by: Ajay Bhargav ajay.bhar...@einfochips.com --- Changes for v2: - Not changed Changes for v3: - code cleanup; removed unwated cast board/Marvell/gplugd/gplugd.c | 33 - include/configs/gplugd.h | 14 ++ 2 files changed, 46 insertions(+), 1 deletions(-) diff --git a/board/Marvell/gplugd/gplugd.c b/board/Marvell/gplugd/gplugd.c index db4d776..a7cabcd 100644 --- a/board/Marvell/gplugd/gplugd.c +++ b/board/Marvell/gplugd/gplugd.c @@ -32,6 +32,8 @@ #include mvmfp.h #include asm/arch/mfp.h #include asm/arch/armada100.h +#include asm/gpio.h +#include miiphy.h #ifdef CONFIG_ARMADA100_FEC #include net.h @@ -83,6 +85,11 @@ int board_init(void) gd-bd-bi_arch_number = MACH_TYPE_SHEEVAD; /* adress of boot parameters */ gd-bd-bi_boot_params = armd1_sdram_base(0) + 0x100; + /* Assert PHY_RST# */ + gpio_direction_output(CONFIG_SYS_GPIO_PHY_RST, GPIO_LOW); + udelay(10); + /* Deassert PHY_RST# */ + gpio_set_value(CONFIG_SYS_GPIO_PHY_RST, GPIO_HIGH); return 0; } @@ -97,5 +104,29 @@ int board_eth_init(bd_t *bis) return armada100_fec_register(ARMD1_FEC_BASE); } -#endif /* CONFIG_ARMADA100_FEC */ +#ifdef CONFIG_RESET_PHY_R +/* Configure and initialize PHY chip 88E3015 */ +void reset_phy(void) +{ + u16 phy_adr; + const char *name = armd-fec0; + + if (miiphy_set_current_dev(name)) + return; + + /* command to read PHY dev address */ + if (miiphy_read(name, 0xff, 0xff, (u16 *) phy_adr)) { + printf(Err..%s could not read PHY dev address\n, __func__); + return; + } + /* Set Ethernet LED in TX blink mode */ + miiphy_write(name, phy_adr, PHY_LED_MAN_REG, 0x00); + miiphy_write(name, phy_adr, PHY_LED_PAR_SEL_REG, PHY_LED_VAL); + + /* reset the phy */ + miiphy_reset(name, phy_adr); + debug(88E3015 Initialized on %s\n, name); +} +#endif /* CONFIG_RESET_PHY_R */ +#endif /* CONFIG_ARMADA100_FEC */ diff --git a/include/configs/gplugd.h b/include/configs/gplugd.h index f3b94d8..b63ffd5 100644 --- a/include/configs/gplugd.h +++ b/include/configs/gplugd.h @@ -80,6 +80,20 @@ #define CONFIG_ROOTPATH/tftpboot #define CONFIG_SYS_IMG_NAMEuImage +/* GPIO Support */ +#define CONFIG_MARVELL_GPIO + +/* PHY configuration */ +#define CONFIG_MII +#define CONFIG_CMD_MII +#define CONFIG_RESET_PHY_R +/* 88E3015 register definition */ +#define PHY_LED_PAR_SEL_REG22 +#define PHY_LED_MAN_REG25 +#define PHY_LED_VAL0x5b/* LINK LED1, ACT LED2 */ +/* GPIO Configuration for PHY */ +#define CONFIG_SYS_GPIO_PHY_RST104 /* GPIO104 */ + /* * mv-common.h should be defined after CMD configs since it used them * to enable certain macros -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 2/3] Armada100: Enable Ethernet support for GplugD
This patch enables ethernet support for Marvell GplugD board. Network related commands works. Signed-off-by: Ajay Bhargav ajay.bhar...@einfochips.com --- Changes for v2: - armada100_fec_initialize changed to armada100_fec_register Changes for v3: - fec base address as argument to armada100_fec_register arch/arm/include/asm/arch-armada100/armada100.h | 57 +++ arch/arm/include/asm/arch-armada100/mfp.h | 19 board/Marvell/gplugd/gplugd.c | 39 +++ include/configs/gplugd.h| 19 +++- 4 files changed, 132 insertions(+), 2 deletions(-) diff --git a/arch/arm/include/asm/arch-armada100/armada100.h b/arch/arm/include/asm/arch-armada100/armada100.h index 3d567eb..849638d 100644 --- a/arch/arm/include/asm/arch-armada100/armada100.h +++ b/arch/arm/include/asm/arch-armada100/armada100.h @@ -41,6 +41,10 @@ /* Functional Clock Selection Mask */ #define APBC_FNCLKSEL(x)(((x) 0xf) 4) +/* Fast Ethernet Controller Clock register definition */ +#define FE_CLK_RST 0x1 +#define FE_CLK_ENA 0x8 + /* Register Base Addresses */ #define ARMD1_DRAM_BASE0xB000 #define ARMD1_TIMER_BASE 0xD4014000 @@ -85,6 +89,59 @@ struct armd1mpmu_registers { }; /* + * Application Subsystem Power Management + * Refer Datasheet Appendix A.9 + */ +struct armd1apmu_registers { + u32 pcr;/* 0x000 */ + u32 ccr;/* 0x004 */ + u32 pad1; + u32 ccsr; /* 0x00C */ + u32 fc_timer; /* 0x010 */ + u32 pad2; + u32 ideal_cfg; /* 0x018 */ + u8 pad3[0x04C - 0x018 - 4]; + u32 lcdcrc; /* 0x04C */ + u32 cciccrc;/* 0x050 */ + u32 sd1crc; /* 0x054 */ + u32 sd2crc; /* 0x058 */ + u32 usbcrc; /* 0x05C */ + u32 nfccrc; /* 0x060 */ + u32 dmacrc; /* 0x064 */ + u32 pad4; + u32 buscrc; /* 0x06C */ + u8 pad5[0x07C - 0x06C - 4]; + u32 wake_clr; /* 0x07C */ + u8 pad6[0x090 - 0x07C - 4]; + u32 core_status;/* 0x090 */ + u32 rfsc; /* 0x094 */ + u32 imr;/* 0x098 */ + u32 irwc; /* 0x09C */ + u32 isr;/* 0x0A0 */ + u8 pad7[0x0B0 - 0x0A0 - 4]; + u32 mhst; /* 0x0B0 */ + u32 msr;/* 0x0B4 */ + u8 pad8[0x0C0 - 0x0B4 - 4]; + u32 msst; /* 0x0C0 */ + u32 pllss; /* 0x0C4 */ + u32 smb;/* 0x0C8 */ + u32 gccrc; /* 0x0CC */ + u8 pad9[0x0D4 - 0x0CC - 4]; + u32 smccrc; /* 0x0D4 */ + u32 pad10; + u32 xdcrc; /* 0x0DC */ + u32 sd3crc; /* 0x0E0 */ + u32 sd4crc; /* 0x0E4 */ + u8 pad11[0x0F0 - 0x0E4 - 4]; + u32 cfcrc; /* 0x0F0 */ + u32 mspcrc; /* 0x0F4 */ + u32 cmucrc; /* 0x0F8 */ + u32 fecrc; /* 0x0FC */ + u32 pciecrc;/* 0x100 */ + u32 epdcrc; /* 0x104 */ +}; + +/* * APB1 Clock Reset/Control Registers * Refer Datasheet Appendix A.10 */ diff --git a/arch/arm/include/asm/arch-armada100/mfp.h b/arch/arm/include/asm/arch-armada100/mfp.h index d6e0494..da76b58 100644 --- a/arch/arm/include/asm/arch-armada100/mfp.h +++ b/arch/arm/include/asm/arch-armada100/mfp.h @@ -64,6 +64,25 @@ #define MFP105_CI2C_SDA(MFP_REG(0x1a4) | MFP_AF1 | MFP_DRIVE_MEDIUM) #define MFP106_CI2C_SCL(MFP_REG(0x1a8) | MFP_AF1 | MFP_DRIVE_MEDIUM) +/* Fast Ethernet */ +#define MFP086_ETH_TXCLK (MFP_REG(0x158) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP087_ETH_TXEN(MFP_REG(0x15C) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP088_ETH_TXDQ3 (MFP_REG(0x160) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP089_ETH_TXDQ2 (MFP_REG(0x164) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP090_ETH_TXDQ1 (MFP_REG(0x168) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP091_ETH_TXDQ0 (MFP_REG(0x16C) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP092_ETH_CRS (MFP_REG(0x170) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP093_ETH_COL (MFP_REG(0x174) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP094_ETH_RXCLK (MFP_REG(0x178) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP095_ETH_RXER(MFP_REG(0x17C) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP096_ETH_RXDQ3 (MFP_REG(0x180) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP097_ETH_RXDQ2 (MFP_REG(0x184) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP098_ETH_RXDQ1 (MFP_REG(0x188) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP099_ETH_RXDQ0 (MFP_REG(0x18C) | MFP_AF5 | MFP_DRIVE_MEDIUM) +#define MFP100_ETH_MDC (MFP_REG(0x190) |
[U-Boot] [PATCH v3 1/3] net: Adds Fast Ethernet Controller driver for Armada100
This patch adds support for Fast Ethernet Controller driver for Armada100 series. Signed-off-by: Ajay Bhargav ajay.bhar...@einfochips.com --- Changes for v2: - removed random MAC generation - driver init function changed to register as per new naming convention - code cleanup (Thanks to Wolfgang, Marek Mike for tips) Changes for v3: - code cleanup arch/arm/include/asm/arch-armada100/armada100.h |1 + drivers/net/Makefile|1 + drivers/net/armada100_fec.c | 759 +++ drivers/net/armada100_fec.h | 232 +++ include/netdev.h|1 + 5 files changed, 994 insertions(+), 0 deletions(-) create mode 100644 drivers/net/armada100_fec.c create mode 100644 drivers/net/armada100_fec.h diff --git a/arch/arm/include/asm/arch-armada100/armada100.h b/arch/arm/include/asm/arch-armada100/armada100.h index d5d125a..3d567eb 100644 --- a/arch/arm/include/asm/arch-armada100/armada100.h +++ b/arch/arm/include/asm/arch-armada100/armada100.h @@ -59,6 +59,7 @@ #define ARMD1_MPMU_BASE0xD405 #define ARMD1_APMU_BASE0xD4282800 #define ARMD1_CPU_BASE 0xD4282C00 +#define ARMD1_FEC_BASE 0xC080 /* * Main Power Management (MPMU) Registers diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 819b197..34b4322 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -28,6 +28,7 @@ LIB := $(obj)libnet.o COBJS-$(CONFIG_DRIVER_3C589) += 3c589.o COBJS-$(CONFIG_PPC4xx_EMAC) += 4xx_enet.o COBJS-$(CONFIG_ALTERA_TSE) += altera_tse.o +COBJS-$(CONFIG_ARMADA100_FEC) += armada100_fec.o COBJS-$(CONFIG_DRIVER_AT91EMAC) += at91_emac.o COBJS-$(CONFIG_DRIVER_AX88180) += ax88180.o COBJS-$(CONFIG_BCM570x) += bcm570x.o diff --git a/drivers/net/armada100_fec.c b/drivers/net/armada100_fec.c new file mode 100644 index 000..9362fe1 --- /dev/null +++ b/drivers/net/armada100_fec.c @@ -0,0 +1,759 @@ +/* + * (C) Copyright 2011 + * eInfochips Ltd. www.einfochips.com + * Written-by: Ajay Bhargav ajay.bhar...@einfochips.com + * + * (C) Copyright 2010 + * Marvell Semiconductor www.marvell.com + * Contributor: Mahavir Jain mj...@marvell.com + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ + +#include common.h +#include net.h +#include malloc.h +#include miiphy.h +#include netdev.h +#include asm/types.h +#include asm/byteorder.h +#include linux/err.h +#include linux/mii.h +#include asm/io.h +#include asm/arch/armada100.h +#include armada100_fec.h + +#define PHY_ADR_REQ 0xFF /* Magic number to read/write PHY address */ + +#ifdef DEBUG +static int eth_dump_regs(struct eth_device *dev) +{ + struct armdfec_device *darmdfec = to_darmdfec(dev); + struct armdfec_reg *regs = darmdfec-regs; + unsigned int i = 0; + + printf(\noffset: phy_adr, value: 0x%x\n, readl(regs-phyadr)); + printf(offset: smi, value: 0x%x\n, readl(regs-smi)); + for (i = 0x400; i = 0x4e4; i += 4) + printf(offset: 0x%x, value: 0x%x\n, + i, readl(ARMD1_FEC_BASE + i)); + return 0; +} +#endif + +static int armdfec_phy_timeout(u32 *reg, u32 flag, int cond) +{ + u32 timeout = PHY_WAIT_ITERATIONS; + u32 reg_val; + + while (--timeout) { + reg_val = readl(reg); + if (cond (reg_val flag)) + break; + else if (!cond !(reg_val flag)) + break; + udelay(PHY_WAIT_MICRO_SECONDS); + } + return !timeout; +} + +static int smi_reg_read(const char *devname, u8 phy_addr, u8 phy_reg, + u16 *value) +{ + struct eth_device *dev = eth_get_dev_by_name(devname); + struct armdfec_device *darmdfec = to_darmdfec(dev); + struct armdfec_reg *regs = darmdfec-regs; + u32 val, reg_data; + + if (phy_addr == PHY_ADR_REQ phy_reg == PHY_ADR_REQ) { + reg_data = readl(regs-phyadr); + *value = (u16) (reg_data 0x1f); + return 0; + } + + /* check parameters */ + if (phy_addr PHY_MASK) { +
Re: [U-Boot] standalone application export eth_receive: undefined index
Okay, I have put in my commands file #include net.h So it could give me access to the eth_receive function. The strange thing is that when I use the eth_send function it doens't give any error. /Software/u-boot-1.3.3/board/ssysdatalogger/cmd_setup.c:25: undefined reference to `eth_receive' make: *** [u-boot] Fout 1 I know it is just some small switch somewhere but I don't see where I can find it. Thanks a lot Robin Theunis 2011/8/26 Wolfgang Denk w...@denx.de: Dear Robin Theunis, please keep the ML on Cc: In message CAMeaXtwEad=qubqyj_nyx+_ukryqmpnr8pv3uu0vxys2ebx...@mail.gmail.com you wrote: It will we a tool to update the environment variables over http/ a json request. It isn't a problem to opensource it. But how do I link my standalone application to u-boot? Don't make it a standalone application, but link it with the rest of the U-Boot code. 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 Misquotation is, in fact, the pride and privilege of the learned. A widely-read man never quotes accurately, for the rather obvious reason that he has read too widely. - Hesketh Pearson _Common Misquotations_ introduction ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] NAND: Add nand read.raw and write.raw commands
Dear Marek, On 08/26/2011 12:04 AM, Marek Vasut wrote: These commands should work around various hardware ECC and BCH methods. This is important for example in case where the user needs to write precisely what's in a buffer to a NAND page, with no interference of hardware ECC engine or such. I think I don't get it :) Where is the problem with writing this stuff to NAND now? If the ECC interferes there was a problem with the NAND Flash therefore the data is corrupted. Regards Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] Write MAC address whenever ethernet subsystem is initialized
Currently the ethernet MAC address is read from the 'ethaddr' environment variable into the dev-enetaddr field each time the network hardware is initialized, but it is written to the actual hardware only once at board startup. When 'ethaddr' is set or changed after startup the device can no longer receive packets because the hardware filter is still programmed to the old MAC. This patch moves the writing of the hardware address from eth_initialize (board startup) to eth_init (just before actually using the network). --- net/eth.c | 13 +++-- 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/net/eth.c b/net/eth.c index 6082c90..2b43ae7 100644 --- a/net/eth.c +++ b/net/eth.c @@ -261,11 +261,6 @@ int eth_initialize(bd_t *bis) memcpy(dev-enetaddr, env_enetaddr, 6); } - if (dev-write_hwaddr - !eth_mac_skip(eth_number) - is_valid_ether_addr(dev-enetaddr)) { - dev-write_hwaddr(dev); - } eth_number++; dev = dev-next; @@ -347,8 +342,14 @@ int eth_init(bd_t *bis) do { uchar env_enetaddr[6]; - if (eth_getenv_enetaddr_by_index(eth_number, env_enetaddr)) + if (eth_getenv_enetaddr_by_index(eth_number, env_enetaddr)) { memcpy(dev-enetaddr, env_enetaddr, 6); + if (dev-write_hwaddr + !eth_mac_skip(eth_number) + is_valid_ether_addr(dev-enetaddr)) { + dev-write_hwaddr(dev); + } + } ++eth_number; dev = dev-next; -- 1.7.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [GIT PULL] Pull request: u-boot-imx
Hi Albert, please pull from u-boot-imx: The following changes since commit 5557e86bb0793012057d5462976c2a902bc629ac: omap4: increase SRAM budget to fix build error (2011-08-21 10:14:51 +0200) are available in the git repository at: git://www.denx.de/git/u-boot-imx.git master David Jander (1): ARM: MX51: PLL errata workaround Fabio Estevam (1): mx53: ddr3: Update DD3 initialization Stefano Babic (17): MX35: MX35PDK: support additional RAM on CSD1 MX: MX35 / MX5: uniform clock command with powerpc IMX: uniform GPIO interface using GPIO framework MX25: make use of GPIO framework for MX25 processor MX31: make use of GPIO framework for MX31 processor MX5: make use of GPIO framework for MX5 processor MX35: make use of GPIO framework for MX35 processor MX31: QONG: make use of GPIO framework MX5: efikamx: make use of GPIO framework MX25: zmx25: make use of GPIO framework MX5: mx53ard: make use of GPIO framework MX5: mx53smd: make use of GPIO framework MX5: vision2: make use of GPIO framework MX5: mx53evk: make use of GPIO framework MX5: mx53loco: make use of GPIO framework MX35: mx35pdk: make use of GPIO framework MX5: mx51evk: make use of GPIO framework arch/arm/cpu/arm1136/mx35/generic.c|4 +- arch/arm/cpu/armv7/mx5/clock.c |4 +- arch/arm/cpu/armv7/mx5/lowlevel_init.S | 38 +++ .../arm/include/asm/arch-mx25/gpio.h | 42 arch/arm/include/asm/arch-mx25/imx-regs.h | 12 --- arch/arm/include/asm/arch-mx31/gpio.h | 35 ++ arch/arm/include/asm/arch-mx31/imx-regs.h |7 -- arch/arm/include/asm/arch-mx35/gpio.h | 40 +++ arch/arm/include/asm/arch-mx5/gpio.h | 35 ++ arch/arm/include/asm/arch-mx5/imx-regs.h | 12 ++-- board/davedenx/qong/fpga.c | 10 ++-- board/davedenx/qong/qong.c | 36 +- board/efikamx/efikamx.c| 62 +++--- board/freescale/mx35pdk/lowlevel_init.S|9 ++- board/freescale/mx35pdk/mx35pdk.c | 22 +-- board/freescale/mx51evk/mx51evk.c | 18 ++ board/freescale/mx53ard/imximage_dd3.cfg |6 +- board/freescale/mx53ard/mx53ard.c |8 +- board/freescale/mx53evk/mx53evk.c |6 +- board/freescale/mx53loco/imximage.cfg |6 +- board/freescale/mx53loco/mx53loco.c|6 +- board/freescale/mx53smd/imximage.cfg |6 +- board/freescale/mx53smd/mx53smd.c |4 +- board/syteco/zmx25/zmx25.c | 35 -- board/ttcontrol/vision2/vision2.c | 71 doc/README.imx5| 17 + drivers/gpio/mxc_gpio.c| 51 +- drivers/spi/mxc_spi.c |8 +- include/configs/mx35pdk.h |7 +- include/configs/mx51evk.h |1 + 30 files changed, 380 insertions(+), 238 deletions(-) rename include/mxc_gpio.h = arch/arm/include/asm/arch-mx25/gpio.h (59%) create mode 100644 arch/arm/include/asm/arch-mx31/gpio.h create mode 100644 arch/arm/include/asm/arch-mx35/gpio.h create mode 100644 arch/arm/include/asm/arch-mx5/gpio.h create mode 100644 doc/README.imx5 Thanks, Stefano -- = 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 V3 2/8] Add savebp command
Dear Andreas, On 08/25/2011 12:37 PM, Andreas Bießmann wrote: Dear Simon, Am 25.08.2011 10:33, schrieb Simon Schwarz: This adds a savebp command to the u-boot. Related config: CONFIG_CMD_SAVEBP activate/deactivate the command CONFIG_CMD_SAVEBP_NAND_OFS Offset in NAND to use CONFIG_SYS_NAND_SPL_KERNEL_OFFS Offset in NAND of direct boot kernel image to use in SPL This is not used in the code ... why defining it then (here)? Will move the description to the proper patch. CONFIG_SYS_SPL_ARGS_ADDR Address where the kernel boot arguments are expected - this is normally RAM-start + 0x100 (on ARM) Well this is gd-bd-bi_boot_params (at least on ARM), so why don't you use that parameter here? Because this is used in SPL where the bd struct is not fully initialized. Signed-off-by: Simon Schwarzsimonschwarz...@gmail.com --- V2 changes: CHG corrected bootm call. Now bootm is called with five parameters including Address of FDT in RAM. This fixes the hang on savebp fdt call. ADD debug output of the actual bootm parameter call CHG help message V3 changes: FIX added missing brackets --- common/Makefile |1 + common/cmd_savebp.c | 149 ++ include/configs/devkit8000.h |6 ++ where is the documentation? Last patch - will squash it. 3 files changed, 156 insertions(+), 0 deletions(-) create mode 100644 common/cmd_savebp.c diff --git a/common/Makefile b/common/Makefile index 124a427..0b42968 100644 --- a/common/Makefile +++ b/common/Makefile @@ -158,6 +158,7 @@ COBJS-$(CONFIG_USB_STORAGE) += usb_storage.o endif COBJS-$(CONFIG_CMD_XIMG) += cmd_ximg.o COBJS-$(CONFIG_YAFFS2) += cmd_yaffs2.o +COBJS-$(CONFIG_CMD_SAVEBP) += cmd_savebp.o # others COBJS-$(CONFIG_DDR_SPD) += ddr_spd.o diff --git a/common/cmd_savebp.c b/common/cmd_savebp.c new file mode 100644 index 000..4091ccb --- /dev/null +++ b/common/cmd_savebp.c @@ -0,0 +1,149 @@ +/* Copyright (C) 2011 + * Corscience GmbH Co. KG - Simon Schwarzschw...@corscience.de + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#includecommon.h +#includecommand.h + +#define TYPE_FDT0 +#define TYPE_ATAGS 1 should'nt this go into some header? How about enum here? Will change. + +static inline int str2off(const char *p, loff_t *num) +{ +char *endptr; + +*num = simple_strtoull(p,endptr, 16); +return *p != '\0' *endptr == '\0'; +} could be merged with the one in cmd_nand.c. Maybe move the one from cmd_nand.c to some header? Hm, what would be the best place for that? It's at least useful for mmc and nand. common.h? mtd_common.h? + +int do_savebp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ +loff_t offset; +int img_type = TYPE_ATAGS; +int ret = 0; +int bootm_argc = 5; +char *bootm_argsv[] = {do_bootm, xxx, 0x8200, -, +0x8100}; + +offset = (loff_t)CONFIG_CMD_SAVEBP_NAND_OFS; +bootm_argsv[2] = getenv(loadaddr); +/* - Validate args - */ +switch (argc) { +case 6: /* 4. fdt addr */ ^ wrong number? Changed. +if (strcmp(argv[5], -)) +strcpy(bootm_argsv[4], argv[5]); If one set '-' as fifth argument bootm_argsv will stay with your given 0x8100 ... shouldn't the default argument be pre-calculated at compile time. I guess the 0x8100 is CONFIG_SYS_SDRAM_BASE + 0x100 in your case (or tell it CONFIG_SYS_SPL_ARGS_ADDR). Will change. BTW: it is unsafe to use strcpy() here cause you may have some greater string in 'src' than in 'dst' you should use strncpy() with strlen(dst) as 'count' or even strdup() here. will do. In my opinion it would be best to use something like this here: ---8--- char *bootm_argsv[5]; bootm_argsv[0] = bootm; ... bootm_argsv[4] = strdup(argv[5]); ... ---8--- Or even bootm_argsv[4] = argv[5]; But that have to be investigated, I don't know currently if it will work. Will think about... +case 5: /* 5. initrd addr */ ^ wrong number? changed. snip +} +/* call
Re: [U-Boot] [GIT PULL] Pull request: u-boot-imx
On 08/26/2011 11:31 AM, Stefano Babic wrote: Hi Albert, Please do not apply my last pull request. It was sent errouneosly too fast Stefano -- = 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 V3 1/8] arm: Add Prep subcommand support to bootm
Dear Andreas, On 08/25/2011 11:40 AM, Andreas Bießmann wrote: Dear Simon, Am 25.08.2011 10:33, schrieb Simon Schwarz: Adds prep subcommand to bootm implementation of ARM. When bootm is called with the subcommand prep the function stops right after ATAGS creation and before announce_and_cleanup. This is used in savebp command Signed-off-by: Simon Schwarzsimonschwarz...@gmail.com V2 changes: nothing V3 changes: nothing --- arch/arm/lib/bootm.c | 116 +++-- common/cmd_bootm.c |2 +- 2 files changed, 65 insertions(+), 53 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 802e833..d3152ae 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -1,4 +1,7 @@ -/* +/* Copyright (C) 2011 + * Corscience GmbH Co. KG - Simon Schwarzschw...@corscience.de + * - Added prep subcommand support + * * (C) Copyright 2002 * Sysgo Real-Time Solutions, GmbHwww.elinos.com * Marius Groegermgroe...@sysgo.de @@ -55,7 +58,7 @@ static struct tag *params; static ulong get_sp(void); #if defined(CONFIG_OF_LIBFDT) -static int bootm_linux_fdt(int machid, bootm_headers_t *images); +static int bootm_linux_fdt(int machid, bootm_headers_t *images, int flag); #endif void arch_lmb_reserve(struct lmb *lmb) @@ -98,63 +101,67 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) bd_t*bd = gd-bd; char*s; int machid = bd-bi_arch_number; -void(*kernel_entry)(int zero, int arch, uint params); +void(*kernel_entry)(int zero, int arch, uint params) = NULL; This should not be necessary, kernel_entry would be on bss which should be initialized to zero by start.S. I added this because of compiler warnings that it could be used uninitialized. #ifdef CONFIG_CMDLINE_TAG char *commandline = getenv (bootargs); #endif - -if ((flag != 0) (flag != BOOTM_STATE_OS_GO)) -return 1; - -s = getenv (machid); -if (s) { -machid = simple_strtoul (s, NULL, 16); -printf (Using machid 0x%x from environment\n, machid); -} - -show_boot_progress (15); +if ((flag != 0) (!(flag BOOTM_STATE_OS_GO || + flag BOOTM_STATE_OS_PREP))) switch'n'case would be much cleaner here. And seperating the functionality into functions would be nice too. Hehe. Somehow I did know that this topic will come up. I intended to change the code as little as possible. So essentially this would mean to rewrite this to reflect the structure of the ppc version. Will do if there are no objections. If there are no objections I also would like to separate this patch from this series. This has some advantages: - Support for the prep subcommand is essential for saving the boot parameters. (if prep is in saving can also be done manually) - I think that there won't be much discussion about the usefulness of implementing this - just some about the how. +return 1; /* subcommand not implemented */ +else if ((flag == 0) || flag BOOTM_STATE_OS_PREP) { +s = getenv(machid); +if (s) { +strict_strtoul(s, 16, (long unsigned int *)machid); +printf(Using machid 0x%x from environment\n, machid); +} + +show_boot_progress(15); #ifdef CONFIG_OF_LIBFDT -if (images-ft_len) -return bootm_linux_fdt(machid, images); +if (images-ft_len) +return bootm_linux_fdt(machid, images, flag); #endif -kernel_entry = (void (*)(int, int, uint))images-ep; +kernel_entry = (void (*)(int, int, uint))images-ep; -debug (## Transferring control to Linux (at address %08lx) ...\n, - (ulong) kernel_entry); +debug(## Transferring control to Linux (at address %08lx) \ +...\n, (ulong) kernel_entry); #if defined (CONFIG_SETUP_MEMORY_TAGS) || \ defined (CONFIG_CMDLINE_TAG) || \ defined (CONFIG_INITRD_TAG) || \ defined (CONFIG_SERIAL_TAG) || \ defined (CONFIG_REVISION_TAG) -setup_start_tag (bd); +setup_start_tag(bd); #ifdef CONFIG_SERIAL_TAG -setup_serial_tag (params); +setup_serial_tag(params); #endif #ifdef CONFIG_REVISION_TAG -setup_revision_tag (params); +setup_revision_tag(params); #endif #ifdef CONFIG_SETUP_MEMORY_TAGS -setup_memory_tags (bd); +setup_memory_tags(bd); #endif #ifdef CONFIG_CMDLINE_TAG -setup_commandline_tag (bd, commandline); +setup_commandline_tag(bd, commandline); #endif #ifdef CONFIG_INITRD_TAG -if (images-rd_start images-rd_end) -setup_initrd_tag (bd, images-rd_start, images-rd_end); +if (images-rd_start images-rd_end) +setup_initrd_tag(bd, images-rd_start,
Re: [U-Boot] Why are have_console and env_valid not in gd-flags?
Dear Graeme Russ, In message CALButC+eK8wtKbKkEiS=Q5G+100P-bHv2euxE=qeqbboswt...@mail.gmail.com you wrote: Does anyone know why have_console and env_valid are not part of gd-flags? I know env_valid is tri-state, but it could still be put in flags as a double-bit I guess there are no specific reasons. Patches welcome. 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 The release of emotion is what keeps us health. Emotionally healthy. That may be, Doctor. However, I have noted that the healthy release of emotion is frequently unhealthy for those closest to you. -- McCoy and Spock, Plato's Stepchildren, stardate 5784.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC] fastboot gadget support
On 08/24/2011 09:34 PM, Remy Bohmer wrote: Hi, Hi, thanks for your time. 2011/8/10 Sebastian Andrzej Siewiorbige...@linutronix.de: It was tested before it has been re-written. It is possible that it is broken. It is posted for reference only not for merging. Looking at this code, I can already say that the way it is written is not suitable for mainline acceptance at all. If you at least would run the Linux checkpatch over it, it would result in an almost endless list of style warnings and errors ;-) Sure. I just wanted to avoid spending more time on it there are some high level mistakes. I may be missing something, but it appears to me that this particular patch for the fastboot framework makes several assumptions about: * if MMC is available (max 2 controllers, namely 0 or 1). Let' s say my hardware doe not support it, and I do not want to enable it due to codesize reasons... Why only two (0 / 1)? mmcwrite:X Y where X is the number of the controller and Y the partition name do support multiple controllers. The erase command does not it is erase:Y where Y is the partition name. If you want a ifdef around mmc code so you can disable it, this can be arranged :) * if NAND is available and it is either YAFFS or raw, what if I have UBI? NAND formats are not part of the fastboot protocol. For UBI you could use the raw format. If you want to rescue the erase counters than a per-partition flag has to be added (like it is the case for write.i and write.yaffs). * Or let's drop the MMC and NAND, and assume we only have a harddrive or USB storage on our board ;-) My understanding is that the MMC / NAND partition table is comming from EFI. So if you your requirement is usb disk media than you have to set interface.storage_medium to USB_STORAGE (or whatever we define it) and use the proper write command then. * Hardcoded NAND block sizes which are evil. This should be moved to a per-board configuration. * storage_medium is hardcoded set to NAND, never to EMMC, so what is the EMMC code doing here? most of fastboot_init() should be handled per-board. This includes the name of the product, storage media type and storage area for the download command. Furthermore: * Board code is mixed up with generic code. Yes, this has to be split up. * drivers/usb/dwc3/fastboot_oem.c, is a hook for custom / vendor extensions to the fastboot protocol. It will be most likely moved to board specific code. drivers/usb/dwc3/misc.c, Contains currently a hacky snprintf() which is not used by the fastboot code and should be part of the patch. sorry. drivers/usb/dwc3/sparse.c this contained custom unsparse code. It seemed to be used as some kind of RLE compression which did not make much sense and I left it out. contain code that has _nothing_ to do with USB. Yes, it will be moved to proper places. * generic files (for example like include/linux/usb/ch9.h) are adapted with changes not even used by the code. I have also a USB3 gadget in the pipe. I removed it prior the post but forgot about some changes. * Mix up of different licenses: U-boot is still GPLv2, while this patch contains Apache based licenses (Not sure if it conflicts with GPL, but it seems strange) Fastboot are based on BSD license. The sparse header file is the only part under the Apache v2 license. Since it is not compatible with v2 I leave the sparse code completely out. * it makes a lot of assumptions how the hardware looks like. This has to be defined somewhere and will be moved to board specific implementation. * It is not properly separated across different subsystems. There need to be a proper separation between drivers, library code, U-boot core code and board files. Everything that is board specific should go in board files. Okay, will split NAND-availability or partitioning is board specific, MMC as well, the only assumption you can make about hardware that should always be available is RAM, you can only not assume how much there is, and which address area is free. The protocol requires that the complete data is loaded into ram before anything is doen with it. So what options do I have to achieve this? The old code hardcoded size to 512/256 - 16 MiB on panda/blaze board. The buffer started physram + 16MiB. Should I continue this approach? NAND and MMC usage should be completely configurable per board. This will be done. * There need to be proper Documentation in the doc directory. I try to add something. * It would be great to have at least a demo tool in /tools or a commonly used OSS package that provides the tools, such that the mechanism can be tested as well. Okay. There is a so called fastboot tool in the wide android repository. I could copy it as-it or add a link to the git repository. Any preferences? That folder can be compiled on windows, linux and mac osx. The linux part requires libusb and is easy to use. The Windows edition requires a bunch of Android's SDK to get access to the USB
Re: [U-Boot] [PATCH V3 3/8] arm: Add savebp implementation for arm
Dear Andreas, On 08/25/2011 01:08 PM, Andreas Bießmann wrote: Dear Simon, Am 25.08.2011 10:33, schrieb Simon Schwarz: This adds the savebp implementation to the arm platform. please reorder your series and let this come before 'Add savebp command' cause that patch uses functionality from this one. Will do. Related CONFIGs: CONFIG_CMD_SAVEBP_WRITE_SIZE defines the size of the image to write Signed-off-by: Simon Schwarzsimonschwarz...@gmail.com --- V2 changes: DEL _cosmetic_ old comment V3 changes: nothing --- arch/arm/include/asm/savebp.h | 27 arch/arm/lib/Makefile |1 + arch/arm/lib/savebp.c | 91 + include/command.h |5 ++ include/configs/devkit8000.h |1 + documentation of CONFIG_CMD_SAVEBP_WRITE_SIZE is missing Will add. diff --git a/arch/arm/include/asm/savebp.h b/arch/arm/include/asm/savebp.h new file mode 100644 index 000..3774e45 --- /dev/null +++ b/arch/arm/include/asm/savebp.h @@ -0,0 +1,27 @@ +/* Copyright (C) 2011 + * Corscience GmbH Co. KG - Simon Schwarzschw...@corscience.de + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef _SAVEBP_H_ +#define _SAVEBP_H_ + +extern bootm_headers_t images; You made that available globally in your first patch of this series, please remove that from first patch and move to this one. ok. snip BTW while reading this patch I got another idea to solve problem 'how get we saved the boot information tostorage'. The required information regardless of whether it is ATAGS or FDT is only a blob at some place in ram after the 'bootm x' commands used in 'Add savebp command'. Saving a blob from location X with size Y to location Z is easy and already implemented. So the only required thing is to get the 'blob' prepared in RAM. In my opinion this could be a subcommand of bootm instead of a new command. How about: ---8--- # bootm savebp ...done boot information is @0x8100 with size 0x100 # nandecc hw # nand erase ... # nand write 8100 ... ---8--- This was actually my first implementation (although not with a switch): http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/102669 It was criticised because saving the parameter images is not the responsibility of bootm - which is true. Although adding a switch would be a cleaner solution than my first implementation - would that be acceptable? How about implementing it as bootm subcommand? regards Andreas Bießmann Regards thx for reviewing Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 16/17] MX31: mx31ads: make use of GPIO framework
Signed-off-by: Stefano Babic sba...@denx.de --- include/configs/mx31ads.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/configs/mx31ads.h b/include/configs/mx31ads.h index 3c61911..adb2ee1 100644 --- a/include/configs/mx31ads.h +++ b/include/configs/mx31ads.h @@ -65,6 +65,7 @@ #define CONFIG_MXC_SPI 1 #define CONFIG_DEFAULT_SPI_BUS 1 #define CONFIG_DEFAULT_SPI_MODE(SPI_MODE_0 | SPI_CS_HIGH) +#define CONFIG_MXC_GPIO #define CONFIG_FSL_PMIC #define CONFIG_FSL_PMIC_BUS1 -- 1.7.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 17/17] MX31: imx31_litekit: make use of GPIO framework
Signed-off-by: Stefano Babic sba...@denx.de --- include/configs/imx31_litekit.h |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h index 1131db0..b7f1cb3 100644 --- a/include/configs/imx31_litekit.h +++ b/include/configs/imx31_litekit.h @@ -63,6 +63,7 @@ #define CONFIG_MXC_UART1 #define CONFIG_SYS_MX31_UART1 1 +#define CONFIG_MXC_GPIO #define CONFIG_HARD_SPI1 #define CONFIG_MXC_SPI 1 -- 1.7.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] IMX: scb9328: drop warnings
Drop warning: passing argument 1 of 'get_ram_size' discards qualifiers from pointer target type Signed-off-by: Stefano Babic sba...@denx.de CC: Torsten Koschorrek koschor...@synertronixx.de --- board/scb9328/scb9328.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/board/scb9328/scb9328.c b/board/scb9328/scb9328.c index 2e31e8c..076c046 100644 --- a/board/scb9328/scb9328.c +++ b/board/scb9328/scb9328.c @@ -40,7 +40,7 @@ int board_init (void) int dram_init (void) { /* dram_init must store complete ramsize in gd-ram_size */ - gd-ram_size = get_ram_size((volatile void *)SCB9328_SDRAM_1, + gd-ram_size = get_ram_size((void *)SCB9328_SDRAM_1, SCB9328_SDRAM_1_SIZE); return 0; -- 1.7.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 4/8] omap-common/spl: Add linux boot to SPL
On 08/25/2011 01:28 PM, Andreas Bießmann wrote: Dear Simon, Am 25.08.2011 10:33, schrieb Simon Schwarz: This adds Linux booting to the SPL Related CONFIGs: CONFIG_SPL_OS_BOOT Activates/Deactivates the OS booting feature CONFIG_SPL_OS_BOOT_KEY defines the IO-pin number u-boot switch - if pressed u-boot is booted CONFIG_SYS_SPL_MACHID Machine ID of the used board CONFIG_SYS_NAND_SPL_KERNEL_OFFS Offset in NAND of direct boot kernel image to use in SPL CONFIG_SYS_SPL_ARGS_ADDR Address where the kernel boot arguments are expected - this is normaly RAM-begin + 0x100 Signed-off-by: Simon Schwarzsimonschwarz...@gmail.com --- V2 changes: nothing V3 changes: nothing --- arch/arm/cpu/armv7/omap-common/spl.c | 48 - include/configs/devkit8000.h |7 +++- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c index c76fea6..9c22c7a 100644 --- a/arch/arm/cpu/armv7/omap-common/spl.c +++ b/arch/arm/cpu/armv7/omap-common/spl.c @@ -35,6 +35,7 @@ #includeasm/arch/mmc_host_def.h #includei2c.h #includeimage.h +#includeasm/omap_gpio.h DECLARE_GLOBAL_DATA_PTR; @@ -63,6 +64,25 @@ void board_init_f(ulong dummy) relocate_code(CONFIG_SPL_STACK,gdata, CONFIG_SPL_TEXT_BASE); } +#ifdef CONFIG_SPL_OS_BOOT Is this required? -ffunction-sections and --gc-sections should do he job. true. Will change +/* Return the value of the U-boot key + * + * RETURN + * 0 if not pressed + * positiv if pressed + */ +int spl_uboot_key(void) +{ +int val = 0; +if (!omap_request_gpio(CONFIG_SPL_OS_BOOT_KEY)) { +omap_set_gpio_direction(CONFIG_SPL_OS_BOOT_KEY, 1); +val = omap_get_gpio_datain(CONFIG_SPL_OS_BOOT_KEY); +omap_free_gpio(CONFIG_SPL_OS_BOOT_KEY); +} +return !val; +} +#endif /* CONFIG_SPL_OS_BOOT */ + void spl_parse_image_header(const struct image_header *header) { u32 header_size = sizeof(struct image_header); @@ -90,7 +110,25 @@ void spl_parse_image_header(const struct image_header *header) } } -static void jump_to_image_no_args(void) +#ifdef CONFIG_SPL_OS_BOOT here too. too. +/* This function jumps to an image with argument. Normally an FDT or ATAGS + * image. + * arg: Pointer to paramter image in RAM + */ +void jump_to_image_linux(void *arg) +{ +debug(Entering kernel arg pointer: 0x%X\n, arg); +typedef void (*image_entry_arg_t)(int, int, void *) +__attribute__ ((noreturn)); +image_entry_arg_t image_entry = +(image_entry_arg_t) spl_image.entry_point; +/* cleanup_before_linux(); */ /*write SPL function for that*/ +image_entry(0, CONFIG_SYS_SPL_MACHID, arg); the MACHID is saved in gd-bd, couldn't this be used here? BTW: You missed setting CONFIG_SYS_SPL_MACHID in your board configuration header in this patch. Where is it done? In SPL gd is not fully initialized. CONFIG_SYS_SPL_MACHID is set see below in include/configs/devkit8000.h +} +void jump_to_image_linux(void *) __attribute__ ((noreturn)); +#endif + +void jump_to_image_no_args(void) { typedef void (*image_entry_noargs_t)(void)__attribute__ ((noreturn)); image_entry_noargs_t image_entry = @@ -99,8 +137,8 @@ static void jump_to_image_no_args(void) debug(image entry point: 0x%X\n, spl_image.entry_point); image_entry(); } - void jump_to_image_no_args(void) __attribute__ ((noreturn)); + void board_init_r(gd_t *id, ulong dummy) { u32 boot_device; @@ -134,6 +172,12 @@ void board_init_r(gd_t *id, ulong dummy) debug(Jumping to U-Boot\n); jump_to_image_no_args(); break; +#ifdef CONFIG_SPL_OS_BOOT +case IH_OS_LINUX: +debug(Jumping to Linux\n); +jump_to_image_linux((void *)CONFIG_SYS_SPL_ARGS_ADDR); +break; +#endif default: puts(Unsupported OS image.. Jumping nevertheless..\n); jump_to_image_no_args(); diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h index 4d0573c..3897ab4 100644 --- a/include/configs/devkit8000.h +++ b/include/configs/devkit8000.h @@ -38,7 +38,7 @@ #define CONFIG_OMAP34301 /* which is in a 3430 */ #define CONFIG_OMAP3_DEVKIT80001 /* working with DevKit8000 */ -#define CONFIG_SYS_TEXT_BASE0x80008000 +#define CONFIG_SYS_TEXT_BASE0x8010 #define CONFIG_SDRC/* The chip has SDRC controller */ @@ -328,7 +328,7 @@ #define CONFIG_SPL_MAX_SIZE0xB400 /* 45 K */ #define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK -#define CONFIG_SPL_BSS_START_ADDR 0x8000 /*CONFIG_SYS_SDRAM_BASE*/ +#define CONFIG_SPL_BSS_START_ADDR 0x8500 /* leave space for bootargs*/ #define CONFIG_SPL_BSS_MAX_SIZE
Re: [U-Boot] [PATCH V3 8/8] savebp: added Readme
On 08/25/2011 01:15 PM, Andreas Bießmann wrote: Dear Simon, Am 25.08.2011 10:33, schrieb Simon Schwarz: Adds a Readme for the savebp command This patch should be merged with 'Add savebp command' Signed-off-by: Simon Schwarzsimonschwarz...@gmail.com --- V2 changes: ADDED in V2 V3 changes: nothing --- doc/README.commands.savebp | 28 1 files changed, 28 insertions(+), 0 deletions(-) create mode 100644 doc/README.commands.savebp diff --git a/doc/README.commands.savebp b/doc/README.commands.savebp new file mode 100644 index 000..dc05ee0 --- /dev/null +++ b/doc/README.commands.savebp @@ -0,0 +1,28 @@ +The savebp (=save boot parameters) is used to save a boot parameter image to +non-volatile memory. + +To execute the command everything has to be in place as if bootm should be +used. +(kernel image, initrd-image, fdt-image etc.) + +Call is: +savebp [ftd|atags] [nand_offset] [kernel_addr] [initrd_addr] [fdt_addr] + +Only the first parameter [ftd|atags] is mandatory if the others are left blank +standard values are used. + +e.g: +savebp fdt 0x68 0x8200 0x8100 - +savebo atags + +typical call on OMAP3: +nandecc hw +nand read 0x8200 0x28 0x40 /* Read kernel image from NAND */ why read the kernel image here? Because bootm needs it. +tftpboot 0x8100 devkit8000.dtb /* Read fdt */ +savebp fdt 0x68 0x8200 0x8100 - /* Save the image */ + +Behind the scene--- +Atm the implementation is that we have /common/cmd_savebp.c which implements +the command tself and the subcommand calls to bootm. ^itself +Then the arch specific implementation of do_save_atags or do_savebp_fdt +in /arch/arm/lib is called. (therefore a errormessage should/could be added to common/cmd_savebp.c, if ARCH != ARM) will add. regrads Andreas Bießmann Regards Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 4/8] omap-common/spl: Add linux boot to SPL
Dear Simon Am 26.08.2011 12:17, schrieb Simon Schwarz: On 08/25/2011 01:28 PM, Andreas Bießmann wrote: Dear Simon, snip +/* This function jumps to an image with argument. Normally an FDT or ATAGS + * image. + * arg: Pointer to paramter image in RAM + */ +void jump_to_image_linux(void *arg) +{ +debug(Entering kernel arg pointer: 0x%X\n, arg); +typedef void (*image_entry_arg_t)(int, int, void *) +__attribute__ ((noreturn)); +image_entry_arg_t image_entry = +(image_entry_arg_t) spl_image.entry_point; +/* cleanup_before_linux(); */ /*write SPL function for that*/ +image_entry(0, CONFIG_SYS_SPL_MACHID, arg); the MACHID is saved in gd-bd, couldn't this be used here? BTW: You missed setting CONFIG_SYS_SPL_MACHID in your board configuration header in this patch. Where is it done? In SPL gd is not fully initialized. I see ... but how about using existing CONFIG_MACH_TYPE then? CONFIG_SYS_SPL_MACHID is set see below in include/configs/devkit8000.h Sorry for the noise, did not see it. regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 4/8] omap-common/spl: Add linux boot to SPL
Dear Andreas, On 08/26/2011 12:45 PM, Andreas Bießmann wrote: Dear Simon Am 26.08.2011 12:17, schrieb Simon Schwarz: On 08/25/2011 01:28 PM, Andreas Bießmann wrote: Dear Simon, snip +/* This function jumps to an image with argument. Normally an FDT or ATAGS + * image. + * arg: Pointer to paramter image in RAM + */ +void jump_to_image_linux(void *arg) +{ +debug(Entering kernel arg pointer: 0x%X\n, arg); +typedef void (*image_entry_arg_t)(int, int, void *) +__attribute__ ((noreturn)); +image_entry_arg_t image_entry = +(image_entry_arg_t) spl_image.entry_point; +/* cleanup_before_linux(); */ /*write SPL function for that*/ +image_entry(0, CONFIG_SYS_SPL_MACHID, arg); the MACHID is saved in gd-bd, couldn't this be used here? BTW: You missed setting CONFIG_SYS_SPL_MACHID in your board configuration header in this patch. Where is it done? In SPL gd is not fully initialized. I see ... but how about using existing CONFIG_MACH_TYPE then? done. CONFIG_SYS_SPL_MACHID is set see below in include/configs/devkit8000.h Sorry for the noise, did not see it. regards Andreas Bießmann regards Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 3/8] arm: Add savebp implementation for arm
Dear Simon, Am 26.08.2011 12:10, schrieb Simon Schwarz: Dear Andreas, snip BTW while reading this patch I got another idea to solve problem 'how get we saved the boot information tostorage'. The required information regardless of whether it is ATAGS or FDT is only a blob at some place in ram after the 'bootm x' commands used in 'Add savebp command'. Saving a blob from location X with size Y to location Z is easy and already implemented. So the only required thing is to get the 'blob' prepared in RAM. In my opinion this could be a subcommand of bootm instead of a new command. How about: ---8--- # bootm savebp ...done boot information is @0x8100 with size 0x100 # nandecc hw # nand erase ... # nand write 8100 ... ---8--- This was actually my first implementation (although not with a switch): http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/102669 It was criticised because saving the parameter images is not the responsibility of bootm - which is true. Although adding a switch would be a cleaner solution than my first implementation - would that be acceptable? How about implementing it as bootm subcommand? Another question, how often will one change the boot information for SPL booting? I guess most people will use the normal u-boot to test different configurations and start directly into the OS. When one has some satisfying configuration he will store this for SPL boot into flash regardless whether it is a separate command or a list of commands. The current solution (having savebp command utilize do_bootm()) couples these two commands in a way which may lead to problems in future (but I don't know what others think about ... Wolfgang?). I vote for a well documented guide or an example script to gather the boot information and store it for SPL booting (at least for this patch set). I know your bachelor thesis filing date is end of September and I would appreciate to have this functionality in before. The rest of this series seems quite good to me. Except for some minor changes to the arm-bootm prep command ... but read my answer to that patch. best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 0/8] SPL Linux boot
Dear Simon, In message 4e563136.2030...@gmail.com you wrote: A question ex ante: what is the bp in savebp supposed to mean? I ... It means save boot parameters - better proposals welcome. If it's not too much of trouble I would indeed ask you to change that name. Dismissing ecological considerations (should we save BP?), the ntroduction of such a command name would break a number of boards which use save as abbreviation for saveenv in their default configurations: FPS850L M5253DEMO M5329EVBM5475EVBTQM850L TQM860M FPS860L M5271EVBM5373EVBM5485EVBTQM850M TQM862L M5208EVBE M5272C3 M54451EVB NSCUTQM855L TQM862M M52277EVB M5275EVBM54451EVB TQM823L TQM855M TQM866M M52277EVB M5282EVBM54455EVB TQM823M TQM860L virtlab2 M5235EVBM53017EVB M54455EVB Yes, it has always been a bad idea to use abbreviated command names in environment settings, but it's being done again and again (myself not being immune to that temptation). So please let's use a different name, one that does not start with save. Also, I think we should try and make the approach a bit more generic. Your current implementation supports only NAND as storage. But what if we want to do the same when booting from SDCard? Maybe we should split the steps of extracting the FDT and ATAGS images and the process of actually writing them to persistent storage in two separate steps - for the second step we can then use existing standard commands, so only the export step is needed. As all this is about preparing for a SPL boot, I suggest we name the new command spl; the resulting user interface could be like this: spl export img addr [args ...] with img being either fdt or atags. [This would allow to add other SPL related commands easily in case we should need them. What do you think? 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 Have you lived in this village all your life?No, not yet. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 0/8] SPL Linux boot
Hi Wolfgang, On Friday 26 August 2011 05:06 PM, Wolfgang Denk wrote: Dear Simon, ... As all this is about preparing for a SPL boot, I suggest we name the new command spl; the resulting user interface could be like this: spl export img addr [args ...] How about skipping the spl part and have command named 'export', if that's not existing already? To me this sounds better than 'spl export': export img addr [args ...] best regards, Aneesh ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] top of tree build fails for beagleboard
On Wed, Aug 24, 2011 at 8:16 PM, Aneesh V ane...@ti.com wrote: There is already a fix in u-boot-arm for this. http://git.denx.de/?p=u-boot/u-boot-arm.git;a=commit;h=9ec6b678e7c17684cbe5cc0e521cad9ce7a2c281 Thanks Aneesh. btw, in case anyone else is interested in making top of tree u-boot-arm work with beagleboard/-xm, I should mention that it doesn't work properly with bbtoys-wifi. Also, the default config provided in the tree still uses ttyS2 whereas the newer omap kernels all use ttyO2 so the serial console goes quiet with top of tree u-boot. Details: echo makeubootarm_for_beaglexm ; git clone git://git.denx.de/u-boot-arm.git u-boot-arm/ ; make CROSS_COMPILE=arm-eabi- distclean make CROSS_COMPILE=arm-eabi- omap3_beagle_config make CROSS_COMPILE=arm-eabi- with Linux 2.6.39 built via OE gives: U-Boot 2011.06-07676-g5557e86 (Aug 25 2011 - 00:32:36) OMAP3630/3730-GP ES2.0, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz OMAP3 Beagle board + LPDDR/NAND I2C: ready DRAM: 512 MiB NAND: 0 MiB MMC: OMAP SD/MMC: 0 *** Warning - readenv() failed, using default environment In:serial Out: serial Err: serial Beagle xM Rev A Recognized BeagleBoardToys WiFi board Die ID #298600019ff8015eeaa10100301f Hit any key to stop autoboot: 0 SD/MMC found on device 0 reading uEnv.txt ** Unable to read uEnv.txt from mmc 0:1 ** reading uImage 3331756 bytes read Booting from mmc ... ## Booting kernel from Legacy Image at 8200 ... Image Name: Linux-2.6.39 Image Type: ARM Linux Kernel Image (uncompressed) Data Size:3331692 Bytes = 3.2 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... (goes quiet with this) If I manually modify bootargs and set console=ttyO2, then boots normally. But there seems to be a difference between u-boot-arm.git and OE's u-boot since wifi doesn't work when using u-boot-arm.git. Taking a quick look at OE's u-boot recipe shows: $ ls /home/test/oe/sources/openembedded/recipes/u-boot/u-boot-git/beagleboard/ 0001-OMAP3-Beagle-Pin-Mux-initialization-glitch-fix.patch 0007-OMAP3-Add-DSS-driver-for-OMAP3.patch 0013-OMAP3-BeagleBoard-updated-default-configuration.patch 0002-OMAP-Remove-omapfb.debug-y-from-Beagle-and-Overo-env.patch 0008-BeagleBoard-Added-userbutton-command.patch 0014-Corrected-LED-name-match-finding-avoiding-extraneous.patch 0003-omap3_beagle-enable-the-use-of-a-plain-text-file-nam.patch 0009-OMAP3-beagle-pass-expansionboard-name-in-bootargs.patch 0015-omap3_beagle-Switch-default-console-from-ttyS2-to-tt.patch 0004-OMAP3-BeagleBoard-Enable-pullups-on-i2c2.patch 0010-Enable-DSS-driver-for-Beagle.patch 0016-BeagleBoard-Load-kernel-via-MMC-ext2-not-fat.patch 0005-ARMV7-OMAP3-BeagleBoard-add-xM-rev-B-to-ID-table.patch 0011-Add-led-command.patch 0017-BeagleBoard-add-xM-rev-C-to-ID-table.patch 0006-OMAP3-BeagleBoard-add-more-expansionboard-IDs.patch 0012-BeagleBoard-Added-LED-driver.patch Most of these patches seem to already be in u-boot-arm but clearly something isn't merged yet. I'll try to figure it out if I have some time. Let me know if this is also a solved issue and I missed something. Thanks, jaya ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] USB: Add align(4) in __attribute__ ((packed)) for struct ehci_hccr and ehci_hcor
Dear Joel A Fernandes, In message 1313097765-3206-1-git-send-email-agnel.j...@gmail.com you wrote: From: Jason Kridner jkrid...@beagleboard.org Switched to align(4) to prevent byte access to soc registers in some gcc versions. ... -} __attribute__ ((packed)); +} __attribute__ ((packed, aligned(4))); Can we not rather get rid of this packed attribute alltogether? I know there has been a long discussion around this on lak and lkml, see for example here: http://thread.gmane.org/gmane.linux.kernel/1132033/focus=120777 And like for example Arnd I feel that this patch is not a cleanup. 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 It is easier to change the specification to fit the program than vice versa. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 1/8] arm: Add Prep subcommand support to bootm
Dear Simon, Am 26.08.2011 11:57, schrieb Simon Schwarz: Dear Andreas, On 08/25/2011 11:40 AM, Andreas Bießmann wrote: Dear Simon, snip void arch_lmb_reserve(struct lmb *lmb) @@ -98,63 +101,67 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) bd_t*bd = gd-bd; char*s; intmachid = bd-bi_arch_number; -void(*kernel_entry)(int zero, int arch, uint params); +void(*kernel_entry)(int zero, int arch, uint params) = NULL; This should not be necessary, kernel_entry would be on bss which should be initialized to zero by start.S. I added this because of compiler warnings that it could be used uninitialized. I see, you changed the flow of this function elementary. Sorry, did not realize that. #ifdef CONFIG_CMDLINE_TAG char *commandline = getenv (bootargs); #endif - -if ((flag != 0) (flag != BOOTM_STATE_OS_GO)) -return 1; - -s = getenv (machid); -if (s) { -machid = simple_strtoul (s, NULL, 16); -printf (Using machid 0x%x from environment\n, machid); -} - -show_boot_progress (15); +if ((flag != 0) (!(flag BOOTM_STATE_OS_GO || + flag BOOTM_STATE_OS_PREP))) switch'n'case would be much cleaner here. And seperating the functionality into functions would be nice too. Hehe. Somehow I did know that this topic will come up. I intended to change the code as little as possible. Well, switch'n'case is not correct here, sorry for misleading comment. So essentially this would mean to rewrite this to reflect the structure of the ppc version. Will do if there are no objections. +1 for rewrite, Albert how do you think about? If there are no objections I also would like to separate this patch from this series. This has some advantages: - Support for the prep subcommand is essential for saving the boot parameters. (if prep is in saving can also be done manually) - I think that there won't be much discussion about the usefulness of implementing this - just some about the how. I think it would be good idea to add the 'bootm prep' command to arm implementation of bootm in a separate step. snip +if (flag == 0 || flag BOOTM_STATE_OS_GO) { flag == 0? Shouldn't that be flag == BOOTM_STATE_OS_GO? flag = 0 means that no subcommand was issued - execute everything. again, sorry for the noise. snip best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 8/8] savebp: added Readme
Hello. On 25-08-2011 12:33, Simon Schwarz wrote: Adds a Readme for the savebp command Signed-off-by: Simon Schwarzsimonschwarz...@gmail.com [...] diff --git a/doc/README.commands.savebp b/doc/README.commands.savebp new file mode 100644 index 000..dc05ee0 --- /dev/null +++ b/doc/README.commands.savebp @@ -0,0 +1,28 @@ +The savebp (=save boot parameters) is used to save a boot parameter image to +non-volatile memory. + +To execute the command everything has to be in place as if bootm should be +used. +(kernel image, initrd-image, fdt-image etc.) + +Call is: +savebp [ftd|atags] [nand_offset] [kernel_addr] [initrd_addr] [fdt_addr] + +Only the first parameter [ftd|atags] is mandatory if the others are left blank +standard values are used. + +e.g: +savebp fdt 0x68 0x8200 0x8100 - +savebo atags + +typical call on OMAP3: +nandecc hw +nand read 0x8200 0x28 0x40 /* Read kernel image from NAND */ +tftpboot 0x8100 devkit8000.dtb /* Read fdt */ +savebp fdt 0x68 0x8200 0x8100 - /* Save the image */ + +Behind the scene--- +Atm the implementation is that we have /common/cmd_savebp.c which implements Only ATM. +the command tself and the subcommand calls to bootm. s/tself/itself/ +Then the arch specific implementation of do_save_atags or do_savebp_fdt +in /arch/arm/lib is called. WBR, Sergei ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 0/8] SPL Linux boot
Dear Aneesh V, In message 4e5787b7.1060...@ti.com you wrote: As all this is about preparing for a SPL boot, I suggest we name the new command spl; the resulting user interface could be like this: spl export img addr [args ...] How about skipping the spl part and have command named 'export', if that's not existing already? To me this sounds better than 'spl export': export img addr [args ...] I think the command name should establish a mental context to what er are doing. We may need additional commands in the context of SPL setup, so spl export serves a double purpose: it creates the context that we are doing something for SPL, and it allows for extensions. export alone could be about anything. See for example the environment handling - here we also provide a sub-command env export, but I (intentionally) never attempted to add export as direct command to export the environment variables. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de No matter where you go, there you are... - Buckaroo Banzai ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 0/8] SPL Linux boot
Dear Wolfgang, On 08/26/2011 01:36 PM, Wolfgang Denk wrote: Dear Simon, In message4e563136.2030...@gmail.com you wrote: A question ex ante: what is the bp in savebp supposed to mean? I ... It means save boot parameters - better proposals welcome. If it's not too much of trouble I would indeed ask you to change that name. Dismissing ecological considerations (should we save BP?), the ntroduction of such a command name would break a number of boards which use save as abbreviation for saveenv in their default configurations: FPS850L M5253DEMO M5329EVBM5475EVBTQM850L TQM860M FPS860L M5271EVBM5373EVBM5485EVBTQM850M TQM862L M5208EVBE M5272C3 M54451EVB NSCUTQM855L TQM862M M52277EVB M5275EVBM54451EVB TQM823L TQM855M TQM866M M52277EVB M5282EVBM54455EVB TQM823M TQM860L virtlab2 M5235EVBM53017EVB M54455EVB Yes, it has always been a bad idea to use abbreviated command names in environment settings, but it's being done again and again (myself not being immune to that temptation). So please let's use a different name, one that does not start with save. Ecological reasons accepted :) Also, I think we should try and make the approach a bit more generic. Your current implementation supports only NAND as storage. But what if we want to do the same when booting from SDCard? Agreed. Maybe we should split the steps of extracting the FDT and ATAGS images and the process of actually writing them to persistent storage in two separate steps - for the second step we can then use existing standard commands, so only the export step is needed. Essentially it would already be possible to extract FDT/ATAGS if arm bootm implementation would implement prep subcommand. I plan to split 1/8 from this set - see discussion for this patch. After that extract the images is just reading the start address and reading/calculating the size of them. As all this is about preparing for a SPL boot, I suggest we name the new command spl; the resulting user interface could be like this: spl exportimg addr [args ...] with img being either fdt or atags. [This would allow to add other SPL related commands easily in case we should need them. No objections. What do you think? Best regards, Wolfgang Denk Regards Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 0/8] SPL Linux boot
Dear Wolfgang, Am 26.08.2011 13:36, schrieb Wolfgang Denk: Dear Simon, In message 4e563136.2030...@gmail.com you wrote: A question ex ante: what is the bp in savebp supposed to mean? I ... It means save boot parameters - better proposals welcome. snip Also, I think we should try and make the approach a bit more generic. Your current implementation supports only NAND as storage. But what if we want to do the same when booting from SDCard? Maybe we should split the steps of extracting the FDT and ATAGS images and the process of actually writing them to persistent storage in two separate steps - for the second step we can then use existing standard commands, so only the export step is needed. Well the 'export' step can already be done by exiting commands. e.g. bootm start bootm loados bootm ramdisk (if CONFIG_SYS_BOOT_RAMDISK_HIGH) bootm fdt (if CONFIG_OF_LIBFDT) bootm cmdline bootm bdt bootm prep Now the required date is ready to use at gd-bd-bi_boot_params, this information should the board maintainer/user know as (for arm boards) it is always set in board_init(). The data can now be written with already available commands regardless whether they are nand or nor or fat/ext/ubi... write commands. All this could be done in a new command or one can utilize a self written script ... The main parts of Simon's series are 'gather boot information' (make it possible for arm), 'safe boot information' (the question discussed in this mail' and 'use spl to start linux'. In my opinion (with knowledge of his bachelor thesis filing date) the parts 'gather boot information' and 'use spl to start linux' are most important cause the part 'safe boot information' can currently be done with existing commands. As all this is about preparing for a SPL boot, I suggest we name the new command spl; the resulting user interface could be like this: spl export img addr [args ...] with img being either fdt or atags. [This would allow to add other SPL related commands easily in case we should need them. Nevertheless +1 for spl in the new command name (only export as suggested by Aneesh) is a bit weak. best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 00/16] ARM: board removal
This is a repost of the remaining patches from my earlier ARM: board removal series. No change log is given, as there were actually no changes at all, I just rebased the patches against the current u-boot-arm.git/master branch. Signed-off-by: Wolfgang Denk w...@denx.de Cc: Albert ARIBAUD albert.u.b...@aribaud.net Wolfgang Denk (16): ARM: remove broken armadillo board ARM: remove broken B2 board ARM: remove broken edb93xx boards ARM: remove broken lpd7a40x boards ARM: remove broken mx1fs2 board ARM: remove broken netstar board ARM: remove broken sbc2410x board ARM: remove broken smdk2400 board ARM: remove broken versatile boards. ARM: remove broken voiceblue board ARM: remove broken at91cap9adk board ARM: remove broken cmc_pu2 board ARM: remove broken csb637 board ARM: remove broken kb9202 board ARM: remove broken m501sk board ARM: remove broken at91rm9200dk board MAINTAINERS| 15 - MAKEALL| 19 - Makefile | 11 - README |2 +- board/armadillo/Makefile | 55 -- board/armadillo/armadillo.c| 72 --- board/armadillo/config.mk | 29 - board/armadillo/flash.c| 340 --- board/armadillo/lowlevel_init.S| 66 --- board/armltd/versatile/Makefile| 51 -- board/armltd/versatile/lowlevel_init.S | 34 -- board/armltd/versatile/split_by_variant.sh | 42 -- board/armltd/versatile/versatile.c | 111 board/atmel/at91cap9adk/Makefile | 56 -- board/atmel/at91cap9adk/at91cap9adk.c | 352 board/atmel/at91cap9adk/config.mk |1 - board/atmel/at91cap9adk/led.c | 43 -- board/atmel/at91cap9adk/partition.c| 39 -- board/atmel/at91rm9200dk/Makefile | 56 -- board/atmel/at91rm9200dk/at91rm9200dk.c| 167 -- board/atmel/at91rm9200dk/config.mk |1 - board/atmel/at91rm9200dk/flash.c | 504 - board/atmel/at91rm9200dk/led.c | 80 --- board/atmel/at91rm9200dk/mux.c | 29 - board/atmel/at91rm9200dk/partition.c | 40 -- board/cmc_pu2/Makefile | 50 -- board/cmc_pu2/cmc_pu2.c| 192 --- board/cmc_pu2/config.mk|3 - board/cmc_pu2/flash.c | 469 --- board/cmc_pu2/load_sernum_ethaddr.c| 113 board/csb637/Makefile | 50 -- board/csb637/config.mk |1 - board/csb637/csb637.c | 94 --- board/dave/B2/B2.c | 139 - board/dave/B2/Makefile | 55 -- board/dave/B2/config.mk| 30 - board/dave/B2/flash.c | 76 --- board/dave/B2/lowlevel_init.S | 167 -- board/edb93xx/Makefile | 50 -- board/edb93xx/config.mk| 33 -- board/edb93xx/early_udelay.h | 34 -- board/edb93xx/edb93xx.c| 110 board/edb93xx/flash_cfg.c | 38 -- board/edb93xx/pll_cfg.c| 58 -- board/edb93xx/pll_cfg.h| 72 --- board/edb93xx/sdram_cfg.c | 146 - board/edb93xx/sdram_cfg.h | 144 - board/kb9202/Makefile | 53 -- board/kb9202/config.mk |1 - board/kb9202/kb9202.c | 107 board/lpd7a40x/Makefile| 51 -- board/lpd7a40x/config.mk | 38 -- board/lpd7a40x/flash.c | 490 board/lpd7a40x/lowlevel_init.S | 212 --- board/lpd7a40x/lpd7a40x.c | 93 --- board/m501sk/Makefile | 50 -- board/m501sk/config.mk |1 - board/m501sk/eeprom.c | 102 board/m501sk/m501sk.c | 203 --- board/m501sk/m501sk.h | 167 -- board/mx1fs2/Makefile | 51 -- board/mx1fs2/config.mk | 10 - board/mx1fs2/flash.c | 849 board/mx1fs2/intel.h | 99 board/mx1fs2/lowlevel_init.S | 188 -- board/mx1fs2/mx1fs2.c | 122 board/netstar/Makefile | 95 --- board/netstar/config.mk| 11 - board/netstar/crcek.S | 241 board/netstar/crcek.h |3 - board/netstar/crcit.c | 87 --- board/netstar/eeprom.c | 218 --- board/netstar/netstar.c| 129
[U-Boot] [PATCH v2 03/16] ARM: remove broken edb93xx boards
Remove edb9301, edb9302, edb9302a, edb9307, edb9307a, edb9312, edb9315 and edb9315a boards. Signed-off-by: Wolfgang Denk w...@denx.de --- MAKEALL |8 -- Makefile | 10 -- board/edb93xx/Makefile | 50 board/edb93xx/config.mk | 33 - board/edb93xx/early_udelay.h | 34 -- board/edb93xx/edb93xx.c | 110 - board/edb93xx/flash_cfg.c| 38 -- board/edb93xx/pll_cfg.c | 58 - board/edb93xx/pll_cfg.h | 72 --- board/edb93xx/sdram_cfg.c| 146 --- board/edb93xx/sdram_cfg.h| 144 -- doc/README.scrapyard |8 ++ include/configs/edb93xx.h| 269 -- 13 files changed, 8 insertions(+), 972 deletions(-) delete mode 100644 board/edb93xx/Makefile delete mode 100644 board/edb93xx/config.mk delete mode 100644 board/edb93xx/early_udelay.h delete mode 100644 board/edb93xx/edb93xx.c delete mode 100644 board/edb93xx/flash_cfg.c delete mode 100644 board/edb93xx/pll_cfg.c delete mode 100644 board/edb93xx/pll_cfg.h delete mode 100644 board/edb93xx/sdram_cfg.c delete mode 100644 board/edb93xx/sdram_cfg.h delete mode 100644 include/configs/edb93xx.h diff --git a/MAKEALL b/MAKEALL index 63315fb..289cd8b 100755 --- a/MAKEALL +++ b/MAKEALL @@ -318,14 +318,6 @@ LIST_ARM9=\ aspenite\ da830evm\ da850evm\ - edb9301 \ - edb9302 \ - edb9302a\ - edb9307 \ - edb9307a\ - edb9312 \ - edb9315 \ - edb9315a\ edminiv2\ guruplug\ imx27lite \ diff --git a/Makefile b/Makefile index 676dc29..6cafb99 100644 --- a/Makefile +++ b/Makefile @@ -851,16 +851,6 @@ tx25_config: unconfig @echo CONFIG_NAND_U_BOOT = y $(obj)include/config.mk @$(MKCONFIG) $@ arm arm926ejs tx25 karo mx25 -edb9301_config \ -edb9302_config \ -edb9302a_config \ -edb9307_config \ -edb9307a_config \ -edb9312_config \ -edb9315_config \ -edb9315a_config: unconfig - @$(MKCONFIG) -n $@ -t $(@:_config=) edb93xx arm arm920t edb93xx - ep93xx - # ## XScale Systems # diff --git a/board/edb93xx/Makefile b/board/edb93xx/Makefile deleted file mode 100644 index dcaed06..000 --- a/board/edb93xx/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# -# (C) Copyright 2003-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := edb93xx.o flash_cfg.o pll_cfg.o sdram_cfg.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak .depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/edb93xx/config.mk b/board/edb93xx/config.mk deleted file mode 100644 index fab59ef..000 --- a/board/edb93xx/config.mk +++ /dev/null @@ -1,33 +0,0 @@ -LDSCRIPT := $(SRCTREE)/arch/arm/cpu/arm920t/ep93xx/u-boot.lds - -ifdef CONFIG_EDB9301 -CONFIG_SYS_TEXT_BASE = 0x0570 -endif - -ifdef CONFIG_EDB9302 -CONFIG_SYS_TEXT_BASE = 0x0570 -endif - -ifdef CONFIG_EDB9302A -CONFIG_SYS_TEXT_BASE = 0xc570 -endif - -ifdef CONFIG_EDB9307 -CONFIG_SYS_TEXT_BASE = 0x01f0 -endif - -ifdef CONFIG_EDB9307A -CONFIG_SYS_TEXT_BASE = 0xc1f0 -endif - -ifdef CONFIG_EDB9312 -CONFIG_SYS_TEXT_BASE = 0x01f0 -endif - -ifdef CONFIG_EDB9315
[U-Boot] [PATCH v2 01/16] ARM: remove broken armadillo board
Signed-off-by: Wolfgang Denk w...@denx.de Cc: Rowel Atienza ro...@diwalabs.com --- MAINTAINERS |4 - MAKEALL |1 - board/armadillo/Makefile| 55 --- board/armadillo/armadillo.c | 72 board/armadillo/config.mk | 29 board/armadillo/flash.c | 340 --- board/armadillo/lowlevel_init.S | 66 boards.cfg |1 - doc/README.scrapyard|1 + include/configs/armadillo.h | 157 -- 10 files changed, 1 insertions(+), 725 deletions(-) delete mode 100644 board/armadillo/Makefile delete mode 100644 board/armadillo/armadillo.c delete mode 100644 board/armadillo/config.mk delete mode 100644 board/armadillo/flash.c delete mode 100644 board/armadillo/lowlevel_init.S delete mode 100644 include/configs/armadillo.h diff --git a/MAINTAINERS b/MAINTAINERS index f895e9a..adf8bf2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -560,10 +560,6 @@ Albert ARIBAUD albert.u.b...@aribaud.net edminiv2ARM926EJS (Orion5x SoC) -Rowel Atienza ro...@diwalabs.com - - armadillo ARM720T - Stefano Babic sba...@denx.de ea20davinci diff --git a/MAKEALL b/MAKEALL index 26685fb..63be391 100755 --- a/MAKEALL +++ b/MAKEALL @@ -301,7 +301,6 @@ LIST_SA=$(boards_by_cpu sa1100) # LIST_ARM7=\ - armadillo \ B2 \ ep7312 \ evb4510 \ diff --git a/board/armadillo/Makefile b/board/armadillo/Makefile deleted file mode 100644 index 3b52452..000 --- a/board/armadillo/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# -# (C) Copyright 2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# (C) Copyright 2002 -# Sysgo Real-Time Solutions, GmbH www.elinos.com -# Marius Groeger mgroe...@sysgo.de -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := armadillo.o flash.o -SOBJS := lowlevel_init.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/armadillo/armadillo.c b/board/armadillo/armadillo.c deleted file mode 100644 index a825144..000 --- a/board/armadillo/armadillo.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH www.elinos.com - * Marius Groeger mgroe...@sysgo.de - * - * (C) Copyright 2005 Rowel Atienza ro...@diwalabs.com - * Armadillo board HT1070 - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h -#include netdev.h -#include clps7111.h - -DECLARE_GLOBAL_DATA_PTR; - -/* - */ - - -/* - * Miscelaneous platform dependent initialisations - */ - -int board_init (void) -{ - /* Activate LED flasher */ -
[U-Boot] [PATCH v2 02/16] ARM: remove broken B2 board
Signed-off-by: Wolfgang Denk w...@denx.de Cc: Andrea Scian andrea.sc...@dave-tech.it --- MAINTAINERS |4 - MAKEALL |1 - board/dave/B2/B2.c| 139 -- board/dave/B2/Makefile| 55 --- board/dave/B2/config.mk | 30 -- board/dave/B2/flash.c | 76 -- board/dave/B2/lowlevel_init.S | 167 --- boards.cfg|1 - doc/README.scrapyard |1 + include/configs/B2.h | 216 - 10 files changed, 1 insertions(+), 689 deletions(-) delete mode 100644 board/dave/B2/B2.c delete mode 100644 board/dave/B2/Makefile delete mode 100644 board/dave/B2/config.mk delete mode 100644 board/dave/B2/flash.c delete mode 100644 board/dave/B2/lowlevel_init.S delete mode 100644 include/configs/B2.h diff --git a/MAINTAINERS b/MAINTAINERS index adf8bf2..03ba243 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -842,10 +842,6 @@ Michael Schwingen mich...@schwingen.org actux4 xscale/ixp dvlhost xscale/ixp -Andrea Scian andrea.sc...@dave-tech.it - - B2 ARM7TDMI (S3C44B0X) - Nick Thompson nick.thomp...@gefanuc.com da830evmARM926EJS (DA830/OMAP-L137) diff --git a/MAKEALL b/MAKEALL index 63be391..63315fb 100755 --- a/MAKEALL +++ b/MAKEALL @@ -301,7 +301,6 @@ LIST_SA=$(boards_by_cpu sa1100) # LIST_ARM7=\ - B2 \ ep7312 \ evb4510 \ impa7 \ diff --git a/board/dave/B2/B2.c b/board/dave/B2/B2.c deleted file mode 100644 index 096ebbd..000 --- a/board/dave/B2/B2.c +++ /dev/null @@ -1,139 +0,0 @@ -/* - * (C) Copyright 2004 - * DAVE Srl - * http://www.dave-tech.it - * http://www.wawnet.biz - * mailto:i...@wawnet.biz - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h -#include netdev.h -#include asm/hardware.h - -DECLARE_GLOBAL_DATA_PTR; - -/* - * Miscelaneous platform dependent initialization - */ - -int board_init (void) -{ - u32 temp; - - /* Configuration Port Control Register*/ - /* Port A */ - PCONA = 0x3ff; - - /* Port B */ - PCONB = 0xff; - PDATB = 0x; - - /* Port C */ - /* - PCONC = 0xff55ff15; - PDATC = 0x0; - PUPC = 0x; - */ - - /* Port D */ - /* - PCOND = 0x; - PUPD = 0xff; - */ - - /* Port E */ - PCONE = 0x0001aaa9; - PDATE = 0x0; - PUPE = 0xff; - - /* Port F */ - PCONF = 0x124955; - PDATF = 0xff; /* B2-eth_reset tied high level */ - /* - PUPF = 0x1e3; - */ - - /* Port G */ - PUPG = 0x1; - PCONG = 0x3; /*PG0= EINT0= ETH_INT prepared for linux kernel*/ - - INTMSK = 0x03fffeff; - INTCON = 0x05; - -/* - Configure chip ethernet interrupt as High level - Port G EINT 0-7 EINT0 - CHIP ETHERNET -*/ - temp = EXTINT; - temp = ~0x7; -temp |= 0x1; /*LEVEL_HIGH*/ - EXTINT = temp; - -/* - Reset SMSC LAN91C96 chip -*/ -temp= PCONF; -temp |= 0x0040; -PCONF = temp; - - /* Reset high */ -temp = PDATF; -temp |= (1 3); -PDATF = temp; - -/* Short delay */ -for (temp=0;temp10;temp++) -{ - /* NOP */ -} - -/* Reset low */ -temp = PDATF; -temp = ~(1 3); -PDATF = temp; - - /* arch number MACH_TYPE_MBA44B0 */ - gd-bd-bi_arch_number = MACH_TYPE_S3C44B0; - - /* location of boot parameters */ - gd-bd-bi_boot_params = 0x0c000100; - - return 0; -} - -int dram_init (void) -{ - gd-bd-bi_dram[0].start = PHYS_SDRAM_1; - gd-bd-bi_dram[0].size = PHYS_SDRAM_1_SIZE; - - return (0); -} - -#ifdef CONFIG_CMD_NET -int board_eth_init(bd_t *bis) -{ - int rc = 0; -#ifdef CONFIG_LAN91C96 - rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE); -#endif - return rc; -} -#endif diff --git a/board/dave/B2/Makefile b/board/dave/B2/Makefile deleted
[U-Boot] [PATCH v2 06/16] ARM: remove broken netstar board
Signed-off-by: Wolfgang Denk w...@denx.de --- MAKEALL |1 - Makefile |1 - board/netstar/Makefile| 95 --- board/netstar/config.mk | 11 -- board/netstar/crcek.S | 241 -- board/netstar/crcek.h |3 - board/netstar/crcit.c | 87 -- board/netstar/eeprom.c| 218 -- board/netstar/netstar.c | 129 board/netstar/setup.S | 284 - boards.cfg|1 - doc/README.scrapyard |1 + include/configs/netstar.h | 245 -- 13 files changed, 1 insertions(+), 1316 deletions(-) delete mode 100644 board/netstar/Makefile delete mode 100644 board/netstar/config.mk delete mode 100644 board/netstar/crcek.S delete mode 100644 board/netstar/crcek.h delete mode 100644 board/netstar/crcit.c delete mode 100644 board/netstar/eeprom.c delete mode 100644 board/netstar/netstar.c delete mode 100644 board/netstar/setup.S delete mode 100644 include/configs/netstar.h diff --git a/MAKEALL b/MAKEALL index 8eaa0d5..ce987e8 100755 --- a/MAKEALL +++ b/MAKEALL @@ -326,7 +326,6 @@ LIST_ARM9= \ magnesium \ mv88f6281gtw_ge \ mx1ads \ - netstar \ nhk8815 \ nhk8815_onenand \ omap1510inn \ diff --git a/Makefile b/Makefile index 6cafb99..699a752 100644 --- a/Makefile +++ b/Makefile @@ -932,7 +932,6 @@ clean: $(obj)tools/ncb $(obj)tools/ubsha1 @rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image}\ $(obj)board/matrix_vision/*/bootscript.img \ - $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin} \ $(obj)board/voiceblue/eeprom \ $(obj)u-boot.lds \ $(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs] \ diff --git a/board/netstar/Makefile b/board/netstar/Makefile deleted file mode 100644 index 7230a2f..000 --- a/board/netstar/Makefile +++ /dev/null @@ -1,95 +0,0 @@ -# -# (C) Copyright 2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# (C) Copyright 2005 -# Ladislav Michl, 2N Telekomunikace, mi...@2n.cz -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := netstar.o -SOBJS := setup.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -LOAD_ADDR = 0x1040 - -# - -all: $(obj).depend $(LIB) $(obj)eeprom.srec $(obj)eeprom.bin \ - $(obj)crcek.srec $(obj)crcek.bin $(obj)crcit - -$(LIB):$(OBJS) $(SOBJS) - $(call cmd_link_o_target, $^) - -$(obj)eeprom_start.o: - echo b eeprom | $(CC) $(AFLAGS) -c -x assembler -o $@ - - -$(obj)eeprom: $(obj)eeprom_start.o $(obj)eeprom.o - $(LD) -Ttext $(LOAD_ADDR) -e eeprom -o $@ $^ \ - -L$(obj)../../examples/standalone -lstubs \ - $(PLATFORM_LIBS) - -$(obj)eeprom.srec: $(obj)eeprom - $(OBJCOPY) -S -O srec $(:.o=) $@ - -$(obj)eeprom.bin: $(obj)eeprom - $(OBJCOPY) -S -O binary $ $@ - -$(obj)crcek.srec: $(obj)crcek.o - $(LD) -g -Ttext 0x -e crcek -o $(:.o=) $^ - $(OBJCOPY) -S -O srec $(:.o=) $@ - -$(obj)crcek.bin: $(obj)crcek.srec - $(OBJCOPY) -I srec -O binary $ $@ - -$(obj)crcit: $(obj)crcit.o $(obj)crc32.o - $(HOSTCC) $(HOSTCFLAGS) -o $@ $^ - -$(obj)crcit.o: crcit.c - $(HOSTCC) $(HOSTCFLAGS) -o $@ -c $ - -$(obj)crc32.o: $(SRCTREE)/lib/crc32.c - $(HOSTCC) $(HOSTCFLAGS) -DUSE_HOSTCC -I$(TOPDIR)/include \ - -o $@ -c $ - -clean: - rm -f $(SOBJS) $(OBJS) \ - $(obj)eeprom_start.o $(obj)eeprom.o \ - $(obj)eeprom $(obj)eeprom.srec $(obj)eeprom.bin \ -
[U-Boot] [PATCH v2 04/16] ARM: remove broken lpd7a40x boards
Remove lpd7a400 and lpd7a404 boards. Signed-off-by: Wolfgang Denk w...@denx.de --- MAKEALL|1 - board/lpd7a40x/Makefile| 51 board/lpd7a40x/config.mk | 38 --- board/lpd7a40x/flash.c | 490 board/lpd7a40x/lowlevel_init.S | 212 - board/lpd7a40x/lpd7a40x.c | 93 boards.cfg |2 - doc/README.scrapyard |1 + include/configs/lpd7a400-10.h | 80 --- include/configs/lpd7a400.h | 117 -- include/configs/lpd7a404-10.h | 80 --- include/configs/lpd7a404.h | 117 -- 12 files changed, 1 insertions(+), 1281 deletions(-) delete mode 100644 board/lpd7a40x/Makefile delete mode 100644 board/lpd7a40x/config.mk delete mode 100644 board/lpd7a40x/flash.c delete mode 100644 board/lpd7a40x/lowlevel_init.S delete mode 100644 board/lpd7a40x/lpd7a40x.c delete mode 100644 include/configs/lpd7a400-10.h delete mode 100644 include/configs/lpd7a400.h delete mode 100644 include/configs/lpd7a404-10.h delete mode 100644 include/configs/lpd7a404.h diff --git a/MAKEALL b/MAKEALL index 289cd8b..1f6baba 100755 --- a/MAKEALL +++ b/MAKEALL @@ -323,7 +323,6 @@ LIST_ARM9= \ imx27lite \ jadecpu \ km_kirkwood \ - lpd7a400\ magnesium \ mv88f6281gtw_ge \ mx1ads \ diff --git a/board/lpd7a40x/Makefile b/board/lpd7a40x/Makefile deleted file mode 100644 index 3aeb2fb..000 --- a/board/lpd7a40x/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := lpd7a40x.o flash.o -SOBJS := lowlevel_init.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/lpd7a40x/config.mk b/board/lpd7a40x/config.mk deleted file mode 100644 index 003e707..000 --- a/board/lpd7a40x/config.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -# Logic ZOOM LH7A400 SDK board w/Logic LH7A400-10 card engine -# w/Sharp LH7A400 SoC (ARM920T) cpu -# - -# -# 32 or 64 MB SDRAM on SDCSC0 @ 0xc000 -# -# Linux-Kernel is @ 0xC0008000, entry 0xc0008000 -# params @ 0xc100 -# optionally with a ramdisk at 0xc030 -# -# we load ourself to 0xc1fc (32M - 256K) -# -# download area is 0xc0f0 -# - -CONFIG_SYS_TEXT_BASE = 0xc1fc -#CONFIG_SYS_TEXT_BASE = 0x diff --git a/board/lpd7a40x/flash.c b/board/lpd7a40x/flash.c deleted file mode 100644 index f5c0713..000 --- a/board/lpd7a40x/flash.c +++ /dev/null @@ -1,490 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH www.elinos.com - * Marius Groeger mgroe...@sysgo.de - * - * (C) Copyright
[U-Boot] [PATCH v2 12/16] ARM: remove broken cmc_pu2 board
Signed-off-by: Wolfgang Denk w...@denx.de --- board/cmc_pu2/Makefile | 50 board/cmc_pu2/cmc_pu2.c | 192 -- board/cmc_pu2/config.mk |3 - board/cmc_pu2/flash.c | 469 --- board/cmc_pu2/load_sernum_ethaddr.c | 113 - boards.cfg |1 - doc/README.scrapyard|1 + include/configs/cmc_pu2.h | 238 -- 8 files changed, 1 insertions(+), 1066 deletions(-) delete mode 100644 board/cmc_pu2/Makefile delete mode 100644 board/cmc_pu2/cmc_pu2.c delete mode 100644 board/cmc_pu2/config.mk delete mode 100644 board/cmc_pu2/flash.c delete mode 100644 board/cmc_pu2/load_sernum_ethaddr.c delete mode 100644 include/configs/cmc_pu2.h diff --git a/board/cmc_pu2/Makefile b/board/cmc_pu2/Makefile deleted file mode 100644 index a60f2e9..000 --- a/board/cmc_pu2/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# -# (C) Copyright 2003-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := cmc_pu2.o flash.o load_sernum_ethaddr.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/cmc_pu2/cmc_pu2.c b/board/cmc_pu2/cmc_pu2.c deleted file mode 100644 index 0ac851c..000 --- a/board/cmc_pu2/cmc_pu2.c +++ /dev/null @@ -1,192 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH www.elinos.com - * Marius Groeger mgroe...@sysgo.de - * - * Modified for CMC_PU2 (removed Smart Media support) by Gary Jennejohn - * (2004) ga...@denx.de - * - * Modified for CMC_BASIC by Martin Krause (2005), TQ-Systems GmbH - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h -#include asm/mach-types.h -#include asm/arch/AT91RM9200.h -#include asm/io.h -#include netdev.h -#if defined(CONFIG_DRIVER_ETHER) -#include at91rm9200_net.h -#include dm9161.h -#endif - -DECLARE_GLOBAL_DATA_PTR; - -/* - */ -/* - * Miscelaneous platform dependent initialisations - */ -#define CMC_HP_BASIC 1 -#define CMC_PU22 -#define CMC_BASIC 4 - -int hw_detect (void); - -int board_init (void) -{ - AT91PS_PIO piob = AT91C_BASE_PIOB; - AT91PS_PIO pioc = AT91C_BASE_PIOC; - - /* Enable Ctrlc */ - console_init_f (); - - /* Correct IRDA resistor problem */ - /* Set PA23_TXD in Output */ - /* (AT91PS_PIO) AT91C_BASE_PIOA-PIO_OER = AT91C_PA23_TXD2; */ - - /* memory and cpu-speed are setup before relocation */ - /* so we do _nothing_ here */ - - /* PIOB and PIOC clock enabling */ - *AT91C_PMC_PCER = 1 AT91C_ID_PIOB; - *AT91C_PMC_PCER = 1 AT91C_ID_PIOC; - - /* -* configure PC0-PC3 as input without pull ups, so RS485 driver enable -*
[U-Boot] [PATCH v2 05/16] ARM: remove broken mx1fs2 board
Signed-off-by: Wolfgang Denk w...@denx.de --- MAKEALL |1 - board/mx1fs2/Makefile| 51 --- board/mx1fs2/config.mk | 10 - board/mx1fs2/flash.c | 849 -- board/mx1fs2/intel.h | 99 - board/mx1fs2/lowlevel_init.S | 188 -- board/mx1fs2/mx1fs2.c| 122 -- boards.cfg |1 - doc/README.scrapyard |1 + include/configs/mx1fs2.h | 305 --- 10 files changed, 1 insertions(+), 1626 deletions(-) delete mode 100644 board/mx1fs2/Makefile delete mode 100644 board/mx1fs2/config.mk delete mode 100644 board/mx1fs2/flash.c delete mode 100644 board/mx1fs2/intel.h delete mode 100644 board/mx1fs2/lowlevel_init.S delete mode 100644 board/mx1fs2/mx1fs2.c delete mode 100644 include/configs/mx1fs2.h diff --git a/MAKEALL b/MAKEALL index 1f6baba..8eaa0d5 100755 --- a/MAKEALL +++ b/MAKEALL @@ -326,7 +326,6 @@ LIST_ARM9= \ magnesium \ mv88f6281gtw_ge \ mx1ads \ - mx1fs2 \ netstar \ nhk8815 \ nhk8815_onenand \ diff --git a/board/mx1fs2/Makefile b/board/mx1fs2/Makefile deleted file mode 100644 index c55b695..000 --- a/board/mx1fs2/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := mx1fs2.o flash.o -SOBJS := lowlevel_init.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/mx1fs2/config.mk b/board/mx1fs2/config.mk deleted file mode 100644 index eb4d046..000 --- a/board/mx1fs2/config.mk +++ /dev/null @@ -1,10 +0,0 @@ -# -# This config file is used for compilation of IMX sources -# -# You might change location of U-Boot in memory by setting right CONFIG_SYS_TEXT_BASE. -# This allows for example having one copy located at the end of ram and stored -# in flash device and later on while developing use other location to test -# the code in RAM device only. -# - -CONFIG_SYS_TEXT_BASE = 0x08f0 diff --git a/board/mx1fs2/flash.c b/board/mx1fs2/flash.c deleted file mode 100644 index da4ebe6..000 --- a/board/mx1fs2/flash.c +++ /dev/null @@ -1,849 +0,0 @@ -/* - * (C) 2000-2004 Wolfgang Denk, DENX Software Engineering, w...@denx.de. - * (C) 2003 August Hoeraendl, Logotronic GmbH - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#undef CONFIG_FLASH_16BIT - -#include common.h - -#define FLASH_BANK_SIZE MX1FS2_FLASH_BANK_SIZE -#define MAIN_SECT_SIZE MX1FS2_FLASH_SECT_SIZE - -flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; /* info for FLASH chips */ - -/* - * NOTE - CONFIG_FLASH_16BIT means the CPU interface is 16-bit, it - *has nothing to do with
[U-Boot] [PATCH v2 15/16] ARM: remove broken m501sk board
Signed-off-by: Wolfgang Denk w...@denx.de --- board/m501sk/Makefile| 50 -- board/m501sk/config.mk |1 - board/m501sk/eeprom.c| 102 - board/m501sk/m501sk.c| 203 - board/m501sk/m501sk.h| 167 - boards.cfg |1 - doc/README.scrapyard |1 + include/configs/m501sk.h | 228 -- 8 files changed, 1 insertions(+), 752 deletions(-) delete mode 100644 board/m501sk/Makefile delete mode 100644 board/m501sk/config.mk delete mode 100644 board/m501sk/eeprom.c delete mode 100644 board/m501sk/m501sk.c delete mode 100644 board/m501sk/m501sk.h delete mode 100644 include/configs/m501sk.h diff --git a/board/m501sk/Makefile b/board/m501sk/Makefile deleted file mode 100644 index 439e99f..000 --- a/board/m501sk/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# -# (C) Copyright 2003 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := m501sk.o eeprom.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/m501sk/config.mk b/board/m501sk/config.mk deleted file mode 100644 index 2077692..000 --- a/board/m501sk/config.mk +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SYS_TEXT_BASE = 0x21f0 diff --git a/board/m501sk/eeprom.c b/board/m501sk/eeprom.c deleted file mode 100644 index d1a46f3..000 --- a/board/m501sk/eeprom.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Add by Alan Lu, 07-29-2005 - * For ATMEL AT24C16 EEPROM - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h -#include i2c.h -#ifdef CONFIG_SYS_EEPROM_AT24C16 -#undef DEBUG - -void eeprom_init(void) -{ -#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) - i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); -#endif -} - -int eeprom_read(unsigned dev_addr, unsigned offset, uchar *buffer, - unsigned cnt) -{ - int page, count = 0, i = 0; - page = offset / 0x100; - i = offset % 0x100; - - while (count cnt) { - if (i2c_read(dev_addr|page, i++, 1, buffer+count++, 1) != 0) - return 1; - if (i 0xff) { - page++; - i = 0; - } - } - - return 0; -} - -/* - * for CONFIG_SYS_I2C_EEPROM_ADDR_LEN == 2 (16-bit EEPROM address) offset is - * 0x000n for EEPROM address selectors at n, offset in EEPROM. - * - * for CONFIG_SYS_I2C_EEPROM_ADDR_LEN == 1 (8-bit EEPROM page address) offset is - * 0x0nxx for EEPROM address selectors and page number at n. - */ -int eeprom_write(unsigned dev_addr, unsigned offset, uchar *buffer, - unsigned cnt) -{ - int page, i = 0, count = 0; - - page = offset / 0x100; - i = offset %
[U-Boot] [PATCH v2 10/16] ARM: remove broken voiceblue board
Signed-off-by: Wolfgang Denk w...@denx.de --- MAKEALL |1 - board/voiceblue/Makefile| 74 --- board/voiceblue/config.mk |1 - board/voiceblue/eeprom.c| 218 - board/voiceblue/setup.S | 280 --- board/voiceblue/voiceblue.c | 80 boards.cfg |1 - doc/README.scrapyard|1 + include/configs/voiceblue.h | 241 - 9 files changed, 1 insertions(+), 896 deletions(-) delete mode 100644 board/voiceblue/Makefile delete mode 100644 board/voiceblue/config.mk delete mode 100644 board/voiceblue/eeprom.c delete mode 100644 board/voiceblue/setup.S delete mode 100644 board/voiceblue/voiceblue.c delete mode 100644 include/configs/voiceblue.h diff --git a/MAKEALL b/MAKEALL index d6d04b7..b230ff1 100755 --- a/MAKEALL +++ b/MAKEALL @@ -346,7 +346,6 @@ LIST_ARM9= \ spear320\ spear600\ VCMA9 \ - voiceblue \ davinci_dvevm \ davinci_schmoogie \ davinci_sffsdr \ diff --git a/board/voiceblue/Makefile b/board/voiceblue/Makefile deleted file mode 100644 index e16b195..000 --- a/board/voiceblue/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de -# -# (C) Copyright 2005 -# Ladislav Michl, 2N Telekomunikace, mi...@2n.cz -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := voiceblue.o -SOBJS := setup.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -LOAD_ADDR = 0x1040 - -# - -all: $(obj).depend $(LIB) $(obj)eeprom.srec $(obj)eeprom.bin - -$(LIB):$(OBJS) $(SOBJS) - $(call cmd_link_o_target, $^) - -$(obj)eeprom_start.o: - echo b eeprom | $(CC) $(AFLAGS) -c -x assembler -o $@ - - -$(obj)eeprom: $(obj)eeprom_start.o $(obj)eeprom.o - $(LD) -Ttext $(LOAD_ADDR) -e eeprom -o $@ $^ \ - -L$(obj)../../examples/standalone -lstubs \ - $(PLATFORM_LIBS) - -$(obj)eeprom.srec: $(obj)eeprom - $(OBJCOPY) -S -O srec $(:.o=) $@ - -$(obj)eeprom.bin: $(obj)eeprom - $(OBJCOPY) -S -O binary $ $@ - -clean: - rm -f $(SOBJS) $(OBJS) $(obj)eeprom \ - $(obj)eeprom.srec $(obj)eeprom.bin \ - $(obj)eeprom.o $(obj)eeprom_start.o - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/voiceblue/config.mk b/board/voiceblue/config.mk deleted file mode 100644 index 412b57d..000 --- a/board/voiceblue/config.mk +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SYS_TEXT_BASE = 0x13FD diff --git a/board/voiceblue/eeprom.c b/board/voiceblue/eeprom.c deleted file mode 100644 index aa6baca..000 --- a/board/voiceblue/eeprom.c +++ /dev/null @@ -1,218 +0,0 @@ -/* - * (C) Copyright 2005 - * Ladislav Michl, 2N Telekomunikace, mi...@2n.cz - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * Some code shamelessly stolen back from Robin Getz. - */ - -#include common.h -#include
[U-Boot] [PATCH v2 11/16] ARM: remove broken at91cap9adk board
Signed-off-by: Wolfgang Denk w...@denx.de Cc: Stelian Pop stelian@leadtechdesign.com --- MAINTAINERS |1 - board/atmel/at91cap9adk/Makefile | 56 -- board/atmel/at91cap9adk/at91cap9adk.c | 352 - board/atmel/at91cap9adk/config.mk |1 - board/atmel/at91cap9adk/led.c | 43 board/atmel/at91cap9adk/partition.c | 39 boards.cfg|1 - doc/README.scrapyard |1 + include/configs/at91cap9adk.h | 218 9 files changed, 1 insertions(+), 711 deletions(-) delete mode 100644 board/atmel/at91cap9adk/Makefile delete mode 100644 board/atmel/at91cap9adk/at91cap9adk.c delete mode 100644 board/atmel/at91cap9adk/config.mk delete mode 100644 board/atmel/at91cap9adk/led.c delete mode 100644 board/atmel/at91cap9adk/partition.c delete mode 100644 include/configs/at91cap9adk.h diff --git a/MAINTAINERS b/MAINTAINERS index 4de0231..d57ed58 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -783,7 +783,6 @@ Manikandan Pillai mani.pil...@ti.com Stelian Pop stelian@leadtechdesign.com - at91cap9adk ARM926EJS (AT91CAP9 SoC) at91sam9260ek ARM926EJS (AT91SAM9260 SoC) at91sam9261ek ARM926EJS (AT91SAM9261 SoC) at91sam9263ek ARM926EJS (AT91SAM9263 SoC) diff --git a/board/atmel/at91cap9adk/Makefile b/board/atmel/at91cap9adk/Makefile deleted file mode 100644 index 2eec0ce..000 --- a/board/atmel/at91cap9adk/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# -# (C) Copyright 2003-2008 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# (C) Copyright 2008 -# Stelian Pop stelian@leadtechdesign.com -# Lead Tech Design www.leadtechdesign.com -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS-y+= at91cap9adk.o -COBJS-y+= led.o -COBJS-$(CONFIG_HAS_DATAFLASH) += partition.o - -SRCS:= $(SOBJS:.o=.S) $(COBJS-y:.o=.c) -OBJS:= $(addprefix $(obj),$(COBJS-y)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/atmel/at91cap9adk/at91cap9adk.c b/board/atmel/at91cap9adk/at91cap9adk.c deleted file mode 100644 index 2ab8bc2..000 --- a/board/atmel/at91cap9adk/at91cap9adk.c +++ /dev/null @@ -1,352 +0,0 @@ -/* - * (C) Copyright 2007-2008 - * Stelian Pop stelian@leadtechdesign.com - * Lead Tech Design www.leadtechdesign.com - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h -#include asm/arch/at91cap9.h -#include asm/arch/at91cap9_matrix.h -#include asm/arch/at91sam9_smc.h -#include asm/arch/at91_common.h -#include asm/arch/at91_pmc.h -#include asm/arch/at91_rstc.h -#include asm/arch/clk.h -#include asm/arch/gpio.h -#include asm/arch/io.h -#include asm/arch/hardware.h -#include lcd.h -#include atmel_lcdc.h -#if defined(CONFIG_RESET_PHY_R) defined(CONFIG_MACB) -#include net.h -#endif -#include netdev.h - -#define MP_BLOCK_3_BASE0xFDF0 -
[U-Boot] [PATCH v2 07/16] ARM: remove broken sbc2410x board
Signed-off-by: Wolfgang Denk w...@denx.de --- MAKEALL|1 - board/sbc2410x/Makefile| 51 - board/sbc2410x/config.mk | 23 -- board/sbc2410x/flash.c | 433 board/sbc2410x/lowlevel_init.S | 163 --- board/sbc2410x/sbc2410x.c | 193 -- boards.cfg |1 - doc/README.scrapyard |1 + include/configs/sbc2410x.h | 220 9 files changed, 1 insertions(+), 1085 deletions(-) delete mode 100644 board/sbc2410x/Makefile delete mode 100644 board/sbc2410x/config.mk delete mode 100644 board/sbc2410x/flash.c delete mode 100644 board/sbc2410x/lowlevel_init.S delete mode 100644 board/sbc2410x/sbc2410x.c delete mode 100644 include/configs/sbc2410x.h diff --git a/MAKEALL b/MAKEALL index ce987e8..a485b95 100755 --- a/MAKEALL +++ b/MAKEALL @@ -338,7 +338,6 @@ LIST_ARM9= \ openrd_ultimate \ portl2 \ rd6281a \ - sbc2410x\ scb9328 \ sheevaplug \ smdk2400\ diff --git a/board/sbc2410x/Makefile b/board/sbc2410x/Makefile deleted file mode 100644 index 2b3b781..000 --- a/board/sbc2410x/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := sbc2410x.o flash.o -SOBJS := lowlevel_init.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/sbc2410x/config.mk b/board/sbc2410x/config.mk deleted file mode 100644 index bc01a2d..000 --- a/board/sbc2410x/config.mk +++ /dev/null @@ -1,23 +0,0 @@ -# -# (C) Copyright 2002 -# Gary Jennejohn, DENX Software Engineering, ga...@denx.de -# David Mueller, ELSOFT AG, d.muel...@elsoft.ch -# -# SAMSUNG SMDK2410 board with S3C2410X (ARM920T) cpu -# -# see http://www.samsung.com/ for more information on SAMSUNG -# - -# -# SMDK2410 has 1 bank of 64 MB DRAM -# -# 3000' to 3400' -# -# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000 -# optionally with a ramdisk at 3080' -# -# we load ourself to 33F8' -# -# download area is 3300' - -CONFIG_SYS_TEXT_BASE = 0x33F8 diff --git a/board/sbc2410x/flash.c b/board/sbc2410x/flash.c deleted file mode 100644 index d209a6f..000 --- a/board/sbc2410x/flash.c +++ /dev/null @@ -1,433 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH www.elinos.com - * Alex Zuepke a...@sysgo.de - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h - -ulong myflush (void); - -#define FLASH_BANK_SIZEPHYS_FLASH_SIZE -#define MAIN_SECT_SIZE 0x1/* 64 KB */ - -flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; -
[U-Boot] [PATCH v2 13/16] ARM: remove broken csb637 board
Signed-off-by: Wolfgang Denk w...@denx.de --- board/csb637/Makefile| 50 board/csb637/config.mk |1 - board/csb637/csb637.c| 94 -- boards.cfg |1 - doc/README.scrapyard |1 + include/configs/csb637.h | 196 -- 6 files changed, 1 insertions(+), 342 deletions(-) delete mode 100644 board/csb637/Makefile delete mode 100644 board/csb637/config.mk delete mode 100644 board/csb637/csb637.c delete mode 100644 include/configs/csb637.h diff --git a/board/csb637/Makefile b/board/csb637/Makefile deleted file mode 100644 index a5484ae..000 --- a/board/csb637/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# -# (C) Copyright 2003-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := csb637.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/csb637/config.mk b/board/csb637/config.mk deleted file mode 100644 index e2cc8a6..000 --- a/board/csb637/config.mk +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SYS_TEXT_BASE = 0x23fc diff --git a/board/csb637/csb637.c b/board/csb637/csb637.c deleted file mode 100644 index d7fdcc4..000 --- a/board/csb637/csb637.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (C) Copyright 2005 REA Elektronik GmbH www.rea.de - * Anders Larsen alar...@rea.de - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h -#include asm/arch/AT91RM9200.h -#include netdev.h -#include asm/io.h -#if defined(CONFIG_DRIVER_ETHER) -#include at91rm9200_net.h -#include bcm5221.h -#endif - -DECLARE_GLOBAL_DATA_PTR; - -/* - */ -/* - * Miscelaneous platform dependent initialisations - */ - -int board_init (void) -{ - /* Enable Ctrlc */ - console_init_f (); - - /* memory and cpu-speed are setup before relocation */ - /* so we do _nothing_ here */ - - /* arch number of CSB637-Board */ - gd-bd-bi_arch_number = MACH_TYPE_CSB637; - /* adress of boot parameters */ - gd-bd-bi_boot_params = PHYS_SDRAM + 0x100; - - return 0; -} - -int dram_init (void) -{ - gd-bd-bi_dram[0].start = PHYS_SDRAM; - gd-bd-bi_dram[0].size = PHYS_SDRAM_SIZE; - return 0; -} - -#ifdef CONFIG_DRIVER_ETHER -#if defined(CONFIG_CMD_NET) - -/* - * Name: - * at91rm9200_GetPhyInterface - * Description: - * Initialise the interface functions to the PHY - * Arguments: - * None - * Return value: - * None - */ -void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops) -{ - p_phyops-Init = bcm5221_InitPhy; - p_phyops-IsPhyConnected = bcm5221_IsPhyConnected; - p_phyops-GetLinkSpeed = bcm5221_GetLinkSpeed; - p_phyops-AutoNegotiate = bcm5221_AutoNegotiate; -} - -#endif -#endif /*
[U-Boot] [PATCH v2 08/16] ARM: remove broken smdk2400 board
Signed-off-by: Wolfgang Denk w...@denx.de Cc: Gary Jennejohn ga...@denx.de --- MAINTAINERS|4 - MAKEALL|1 - board/samsung/smdk2400/Makefile| 51 board/samsung/smdk2400/config.mk | 25 -- board/samsung/smdk2400/flash.c | 492 board/samsung/smdk2400/lowlevel_init.S | 163 --- board/samsung/smdk2400/smdk2400.c | 125 boards.cfg |1 - doc/README.scrapyard |1 + include/configs/smdk2400.h | 189 10 files changed, 1 insertions(+), 1051 deletions(-) delete mode 100644 board/samsung/smdk2400/Makefile delete mode 100644 board/samsung/smdk2400/config.mk delete mode 100644 board/samsung/smdk2400/flash.c delete mode 100644 board/samsung/smdk2400/lowlevel_init.S delete mode 100644 board/samsung/smdk2400/smdk2400.c delete mode 100644 include/configs/smdk2400.h diff --git a/MAINTAINERS b/MAINTAINERS index 03ba243..4927d4b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -682,10 +682,6 @@ Grazvydas Ignotas nota...@gmail.com omap3_pandora ARM ARMV7 (OMAP3xx SoC) -Gary Jennejohn ga...@denx.de - - smdk2400ARM920T - Matthias Kaehlcke matth...@kaehlcke.net edb9301 ARM920T (EP9301) edb9302 ARM920T (EP9302) diff --git a/MAKEALL b/MAKEALL index a485b95..73a053d 100755 --- a/MAKEALL +++ b/MAKEALL @@ -340,7 +340,6 @@ LIST_ARM9= \ rd6281a \ scb9328 \ sheevaplug \ - smdk2400\ smdk2410\ spear300\ spear310\ diff --git a/board/samsung/smdk2400/Makefile b/board/samsung/smdk2400/Makefile deleted file mode 100644 index 0c45d02..000 --- a/board/samsung/smdk2400/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := smdk2400.o flash.o -SOBJS := lowlevel_init.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/samsung/smdk2400/config.mk b/board/samsung/smdk2400/config.mk deleted file mode 100644 index 4c27dc3..000 --- a/board/samsung/smdk2400/config.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# (C) Copyright 2002 -# Gary Jennejohn, DENX Software Engineering, ga...@denx.de -# -# SAMSUNG board with S3C2400X (ARM920T) CPU -# -# see http://www.samsung.com/ for more information on SAMSUNG -# - -# -# SAMSUNG has 1 bank of 32 MB DRAM -# -# 0C00' to 0E00' -# -# Linux-Kernel is expected to be at 0cf0', entry 0cf0' -# optionally with a ramdisk at 0c80' -# -# we load ourself to 0CF8 (must be high enough not to be -# overwritten by the uncompessing Linux kernel) -# -# download area is 0C80' -# - - -CONFIG_SYS_TEXT_BASE = 0x0CF8 diff --git a/board/samsung/smdk2400/flash.c b/board/samsung/smdk2400/flash.c deleted file mode 100644 index 47382fe..000 --- a/board/samsung/smdk2400/flash.c +++ /dev/null @@ -1,492 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH www.elinos.com - * Marius Groeger mgroe...@sysgo.de - * - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, ga...@denx.de - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free
[U-Boot] [PATCH v2 09/16] ARM: remove broken versatile boards.
Signed-off-by: Wolfgang Denk w...@denx.de --- MAINTAINERS|2 - MAKEALL|3 - README |2 +- board/armltd/versatile/Makefile| 51 -- board/armltd/versatile/lowlevel_init.S | 34 board/armltd/versatile/split_by_variant.sh | 42 - board/armltd/versatile/versatile.c | 111 doc/README.scrapyard |1 + include/configs/versatile.h| 252 9 files changed, 2 insertions(+), 496 deletions(-) delete mode 100644 board/armltd/versatile/Makefile delete mode 100644 board/armltd/versatile/lowlevel_init.S delete mode 100755 board/armltd/versatile/split_by_variant.sh delete mode 100644 board/armltd/versatile/versatile.c delete mode 100644 include/configs/versatile.h diff --git a/MAINTAINERS b/MAINTAINERS index 4927d4b..4de0231 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -545,8 +545,6 @@ Unknown / orphaned boards: EVB64260MPC7xx_74xx integratorcpvarious - versatile ARM926EJ-S - versatile ARM926EJ-S # diff --git a/MAKEALL b/MAKEALL index 73a053d..d6d04b7 100755 --- a/MAKEALL +++ b/MAKEALL @@ -346,9 +346,6 @@ LIST_ARM9= \ spear320\ spear600\ VCMA9 \ - versatile \ - versatileab \ - versatilepb \ voiceblue \ davinci_dvevm \ davinci_schmoogie \ diff --git a/README b/README index 0886987..d3bcb14 100644 --- a/README +++ b/README @@ -532,7 +532,7 @@ The following options need to be configured: If you have Amba PrimeCell PL010 or PL011 UARTs on your board, define this to a list of base addresses for each (supported) - port. See e.g. include/configs/versatile.h + port. CONFIG_PL011_SERIAL_RLCR diff --git a/board/armltd/versatile/Makefile b/board/armltd/versatile/Makefile deleted file mode 100644 index 3470328..000 --- a/board/armltd/versatile/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := versatile.o -SOBJS := lowlevel_init.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/armltd/versatile/lowlevel_init.S b/board/armltd/versatile/lowlevel_init.S deleted file mode 100644 index bdfce2d..000 --- a/board/armltd/versatile/lowlevel_init.S +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Board specific setup info - * - * (C) Copyright 2003, ARM Ltd. - * Philippe Robin, philippe.ro...@arm.com - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - *
[U-Boot] [PATCH v2 14/16] ARM: remove broken kb9202 board
Signed-off-by: Wolfgang Denk w...@denx.de --- board/kb9202/Makefile| 53 - board/kb9202/config.mk |1 - board/kb9202/kb9202.c| 107 - boards.cfg |1 - doc/README.scrapyard |1 + include/configs/kb9202.h | 196 -- 6 files changed, 1 insertions(+), 358 deletions(-) delete mode 100644 board/kb9202/Makefile delete mode 100644 board/kb9202/config.mk delete mode 100644 board/kb9202/kb9202.c delete mode 100644 include/configs/kb9202.h diff --git a/board/kb9202/Makefile b/board/kb9202/Makefile deleted file mode 100644 index 49be161..000 --- a/board/kb9202/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -# -# (C) Copyright 2003-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# -# Adapted for KwikByte KB920x boards - APR2005 -# -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS := kb9202.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) - $(call cmd_link_o_target, $(OBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/kb9202/config.mk b/board/kb9202/config.mk deleted file mode 100644 index 2077692..000 --- a/board/kb9202/config.mk +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SYS_TEXT_BASE = 0x21f0 diff --git a/board/kb9202/kb9202.c b/board/kb9202/kb9202.c deleted file mode 100644 index 3164cc5..000 --- a/board/kb9202/kb9202.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH www.elinos.com - * Marius Groeger mgroe...@sysgo.de - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -/* - * Adapted for KwikByte KB920x board from at91rm9200dk.c: 22APR2005 - */ - -#include common.h -#include asm/arch/AT91RM9200.h -#include asm/io.h -#include netdev.h -#if defined(CONFIG_DRIVER_ETHER) -#include at91rm9200_net.h -#include lxt971a.h -#endif - -DECLARE_GLOBAL_DATA_PTR; - -/* - * Miscelaneous platform dependent initialisations - */ - -void lowlevel_init(void) { - /* Required by assembly functions - do nothing */ -} - -int board_init (void) -{ - /* Enable Ctrlc */ - console_init_f (); - - /* memory and cpu-speed are setup before relocation */ - /* so we do _nothing_ here */ - - gd-bd-bi_arch_number = MACH_TYPE_KB9200; - - /* adress of boot parameters */ - gd-bd-bi_boot_params = PHYS_SDRAM + 0x100; - - return 0; -} - -int dram_init (void) -{ - gd-bd-bi_dram[0].start = PHYS_SDRAM; - gd-bd-bi_dram[0].size = PHYS_SDRAM_SIZE; - return 0; -} - -#ifdef CONFIG_DRIVER_ETHER -#if defined(CONFIG_CMD_NET) - -unsigned int lxt972_IsPhyConnected (AT91PS_EMAC p_mac); -UCHAR lxt972_GetLinkSpeed (AT91PS_EMAC p_mac); -UCHAR lxt972_InitPhy (AT91PS_EMAC p_mac); -UCHAR lxt972_AutoNegotiate (AT91PS_EMAC p_mac, int *status); - -/* - * Name: - * at91rm9200_GetPhyInterface - * Description: - * Initialise the interface functions to the PHY - * Arguments: - * None - * Return value: - *
[U-Boot] [PATCH v2 16/16] ARM: remove broken at91rm9200dk board
Signed-off-by: Wolfgang Denk w...@denx.de --- board/atmel/at91rm9200dk/Makefile | 56 board/atmel/at91rm9200dk/at91rm9200dk.c | 167 -- board/atmel/at91rm9200dk/config.mk |1 - board/atmel/at91rm9200dk/flash.c| 504 --- board/atmel/at91rm9200dk/led.c | 80 - board/atmel/at91rm9200dk/mux.c | 29 -- board/atmel/at91rm9200dk/partition.c| 40 --- boards.cfg |1 - doc/README.scrapyard|1 + include/configs/at91rm9200dk.h | 202 10 files changed, 1 insertions(+), 1080 deletions(-) delete mode 100644 board/atmel/at91rm9200dk/Makefile delete mode 100644 board/atmel/at91rm9200dk/at91rm9200dk.c delete mode 100644 board/atmel/at91rm9200dk/config.mk delete mode 100644 board/atmel/at91rm9200dk/flash.c delete mode 100644 board/atmel/at91rm9200dk/led.c delete mode 100644 board/atmel/at91rm9200dk/mux.c delete mode 100644 board/atmel/at91rm9200dk/partition.c delete mode 100644 include/configs/at91rm9200dk.h diff --git a/board/atmel/at91rm9200dk/Makefile b/board/atmel/at91rm9200dk/Makefile deleted file mode 100644 index bc3dbc6..000 --- a/board/atmel/at91rm9200dk/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# -# (C) Copyright 2003-2006 -# Wolfgang Denk, DENX Software Engineering, w...@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB= $(obj)lib$(BOARD).o - -COBJS-y += $(BOARD).o -COBJS-y += flash.o -COBJS-y += led.o -ifdef CONFIG_HAS_DATAFLASH -COBJS-$(CONFIG_DATAFLASH_MMC_SELECT) += mux.o -COBJS-y += partition.o -endif - -SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS-y)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB):$(obj).depend $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) - -clean: - rm -f $(SOBJS) $(OBJS) - -distclean: clean - rm -f $(LIB) core *.bak $(obj).depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# diff --git a/board/atmel/at91rm9200dk/at91rm9200dk.c b/board/atmel/at91rm9200dk/at91rm9200dk.c deleted file mode 100644 index 49b5fe3..000 --- a/board/atmel/at91rm9200dk/at91rm9200dk.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH www.elinos.com - * Marius Groeger mgroe...@sysgo.de - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include common.h -#include exports.h -#include netdev.h -#include asm/arch/AT91RM9200.h -#include asm/io.h - -#if defined(CONFIG_DRIVER_ETHER) -#include at91rm9200_net.h -#include dm9161.h -#endif - -DECLARE_GLOBAL_DATA_PTR; - -/* - */ -/* - * Miscelaneous platform dependent initialisations - */ - -int board_init (void) -{ - /* Enable Ctrlc */ - console_init_f (); - - /* Correct IRDA resistor problem */ - /* Set PA23_TXD in Output */ - ((AT91PS_PIO) AT91C_BASE_PIOA)-PIO_OER = AT91C_PA23_TXD2; - - /* memory and cpu-speed are setup before relocation */ - /* so we do _nothing_ here */ - - /* arch number of AT91RM9200DK-Board */ - gd-bd-bi_arch_number = MACH_TYPE_AT91RM9200DK; - /* adress of boot
Re: [U-Boot] [PATCH] Write MAC address whenever ethernet subsystem is initialized
Hello. On 26-08-2011 13:24, Ingo van Lil wrote: Currently the ethernet MAC address is read from the 'ethaddr' environment variable into the dev-enetaddr field each time the network hardware is initialized, but it is written to the actual hardware only once at board startup. When 'ethaddr' is set or changed after startup the device can no longer receive packets because the hardware filter is still programmed to the old MAC. This patch moves the writing of the hardware address from eth_initialize (board startup) to eth_init (just before actually using the network). You didn't sign off the patch... WBR, Sergei ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] Write MAC address whenever ethernet subsystem is initialized
Currently the ethernet MAC address is read from the 'ethaddr' environment variable into the dev-enetaddr field each time the network hardware is initialized, but it is written to the actual hardware only once at board startup. When 'ethaddr' is set or changed after startup the device can no longer receive packets because the hardware filter is still programmed to the old MAC. This patch moves the writing of the hardware address from eth_initialize (board startup) to eth_init (just before actually using the network). Signed-off-by: Ingo van Lil ing...@gmx.de --- net/eth.c | 13 +++-- 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/net/eth.c b/net/eth.c index 6082c90..2b43ae7 100644 --- a/net/eth.c +++ b/net/eth.c @@ -261,11 +261,6 @@ int eth_initialize(bd_t *bis) memcpy(dev-enetaddr, env_enetaddr, 6); } - if (dev-write_hwaddr - !eth_mac_skip(eth_number) - is_valid_ether_addr(dev-enetaddr)) { - dev-write_hwaddr(dev); - } eth_number++; dev = dev-next; @@ -347,8 +342,14 @@ int eth_init(bd_t *bis) do { uchar env_enetaddr[6]; - if (eth_getenv_enetaddr_by_index(eth_number, env_enetaddr)) + if (eth_getenv_enetaddr_by_index(eth_number, env_enetaddr)) { memcpy(dev-enetaddr, env_enetaddr, 6); + if (dev-write_hwaddr + !eth_mac_skip(eth_number) + is_valid_ether_addr(dev-enetaddr)) { + dev-write_hwaddr(dev); + } + } ++eth_number; dev = dev-next; -- 1.7.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/8] net: emaclite: Change driver name and add address
Current xilinx emaclite use net multi registration but doesn't support several emaclites interfaces. Changing driver name with adding address to name is the first step how to distiguish several drivers. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/net/xilinx_emaclite.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index 3c7c250..8d170a3 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -350,7 +350,7 @@ int xilinx_emaclite_initialize (bd_t *bis, int base_addr) return -1; memset(dev, 0, sizeof(*dev)); - sprintf(dev-name, Xilinx_Emaclite); + sprintf(dev-name, Xelite.%x, base_addr); dev-iobase = base_addr; dev-priv = 0; -- 1.5.5.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/8] net: emaclite: Remove deviceid property
Cleanup structure. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/net/xilinx_emaclite.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index 8d170a3..2a5c5e1 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -67,7 +67,6 @@ typedef struct { u32 baseaddress;/* Base address for device (IPIF) */ u32 nexttxbuffertouse; /* Next TX buffer to write to */ u32 nextrxbuffertouse; /* Next RX buffer to read from */ - uchar deviceid; /* Unique ID of device - for future */ } xemaclite; static xemaclite emaclite; -- 1.5.5.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 3/8] net: emaclite: Use calloc instead of malloc
Simplify driver logic and clear eth_device structure in one command. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/net/xilinx_emaclite.c |3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index 2a5c5e1..28aab97 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -344,11 +344,10 @@ int xilinx_emaclite_initialize (bd_t *bis, int base_addr) { struct eth_device *dev; - dev = malloc(sizeof(*dev)); + dev = calloc(1, sizeof(*dev)); if (dev == NULL) return -1; - memset(dev, 0, sizeof(*dev)); sprintf(dev-name, Xelite.%x, base_addr); dev-iobase = base_addr; -- 1.5.5.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 4/8] net: emaclite: Remove baseaddress from xemaclite
Use dev-iobase instead of baseaddress. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/net/xilinx_emaclite.c | 34 -- 1 files changed, 16 insertions(+), 18 deletions(-) diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index 28aab97..d71b3a5 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -64,7 +64,6 @@ #define XEL_RSR_RECV_IE_MASK 0x0008UL typedef struct { - u32 baseaddress;/* Base address for device (IPIF) */ u32 nexttxbuffertouse; /* Next TX buffer to write to */ u32 nextrxbuffertouse; /* Next RX buffer to read from */ } xemaclite; @@ -136,33 +135,32 @@ static int emaclite_init(struct eth_device *dev, bd_t *bis) { debug (EmacLite Initialization Started\n); memset (emaclite, 0, sizeof (xemaclite)); - emaclite.baseaddress = dev-iobase; /* * TX - TX_PING TX_PONG initialization */ /* Restart PING TX */ - out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET, 0); + out_be32 (dev-iobase + XEL_TSR_OFFSET, 0); /* Copy MAC address */ xemaclite_alignedwrite (dev-enetaddr, - emaclite.baseaddress, ENET_ADDR_LENGTH); + dev-iobase, ENET_ADDR_LENGTH); /* Set the length */ - out_be32 (emaclite.baseaddress + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH); + out_be32 (dev-iobase + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH); /* Update the MAC address in the EMAC Lite */ - out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET, XEL_TSR_PROG_MAC_ADDR); + out_be32 (dev-iobase + XEL_TSR_OFFSET, XEL_TSR_PROG_MAC_ADDR); /* Wait for EMAC Lite to finish with the MAC address update */ - while ((in_be32 (emaclite.baseaddress + XEL_TSR_OFFSET) + while ((in_be32 (dev-iobase + XEL_TSR_OFFSET) XEL_TSR_PROG_MAC_ADDR) != 0) ; #ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG /* The same operation with PONG TX */ - out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0); - xemaclite_alignedwrite (dev-enetaddr, emaclite.baseaddress + + out_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0); + xemaclite_alignedwrite (dev-enetaddr, dev-iobase + XEL_BUFFER_OFFSET, ENET_ADDR_LENGTH); - out_be32 (emaclite.baseaddress + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH); - out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, + out_be32 (dev-iobase + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH); + out_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, XEL_TSR_PROG_MAC_ADDR); - while ((in_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + + while ((in_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET) XEL_TSR_PROG_MAC_ADDR) != 0) ; #endif @@ -170,9 +168,9 @@ static int emaclite_init(struct eth_device *dev, bd_t *bis) * RX - RX_PING RX_PONG initialization */ /* Write out the value to flush the RX buffer */ - out_be32 (emaclite.baseaddress + XEL_RSR_OFFSET, XEL_RSR_RECV_IE_MASK); + out_be32 (dev-iobase + XEL_RSR_OFFSET, XEL_RSR_RECV_IE_MASK); #ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG - out_be32 (emaclite.baseaddress + XEL_RSR_OFFSET + XEL_BUFFER_OFFSET, + out_be32 (dev-iobase + XEL_RSR_OFFSET + XEL_BUFFER_OFFSET, XEL_RSR_RECV_IE_MASK); #endif @@ -220,16 +218,16 @@ static int emaclite_send (struct eth_device *dev, volatile void *ptr, int len) if (!maxtry) { printf (Error: Timeout waiting for ethernet TX buffer\n); /* Restart PING TX */ - out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET, 0); + out_be32 (dev-iobase + XEL_TSR_OFFSET, 0); #ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG - out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + + out_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0); #endif return -1; } /* Determine the expected TX buffer address */ - baseaddress = (emaclite.baseaddress + emaclite.nexttxbuffertouse); + baseaddress = (dev-iobase + emaclite.nexttxbuffertouse); /* Determine if the expected buffer address is empty */ reg = in_be32 (baseaddress + XEL_TSR_OFFSET); @@ -285,7 +283,7 @@ static int emaclite_recv(struct eth_device *dev) u32 reg; u32 baseaddress; - baseaddress = emaclite.baseaddress + emaclite.nextrxbuffertouse; + baseaddress = dev-iobase + emaclite.nextrxbuffertouse; reg = in_be32 (baseaddress + XEL_RSR_OFFSET); debug (Testing data at address 0x%x\n, baseaddress); if ((reg XEL_RSR_RECV_DONE_MASK) == XEL_RSR_RECV_DONE_MASK) { -- 1.5.5.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 6/8] net: emaclite: Setup RX/TX ping pong for every instance
Setup RX/TX ping-pong buffer for every emaclite IP separately. The next patch move initialization directly to board code. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/net/xilinx_emaclite.c | 122 +++-- 1 files changed, 68 insertions(+), 54 deletions(-) diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index b157c7f..ac6c783 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -66,6 +66,8 @@ struct xemaclite { u32 nexttxbuffertouse; /* Next TX buffer to write to */ u32 nextrxbuffertouse; /* Next RX buffer to read from */ + u32 txpp; /* TX ping pong buffer */ + u32 rxpp; /* RX ping pong buffer */ }; static u32 etherrxbuff[PKTSIZE_ALIGN/4]; /* Receive buffer */ @@ -131,6 +133,7 @@ static void emaclite_halt(struct eth_device *dev) static int emaclite_init(struct eth_device *dev, bd_t *bis) { + struct xemaclite *emaclite = dev-priv; debug (EmacLite Initialization Started\n); /* @@ -149,27 +152,27 @@ static int emaclite_init(struct eth_device *dev, bd_t *bis) while ((in_be32 (dev-iobase + XEL_TSR_OFFSET) XEL_TSR_PROG_MAC_ADDR) != 0) ; -#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG - /* The same operation with PONG TX */ - out_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0); - xemaclite_alignedwrite (dev-enetaddr, dev-iobase + - XEL_BUFFER_OFFSET, ENET_ADDR_LENGTH); - out_be32 (dev-iobase + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH); - out_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, - XEL_TSR_PROG_MAC_ADDR); - while ((in_be32 (dev-iobase + XEL_TSR_OFFSET + - XEL_BUFFER_OFFSET) XEL_TSR_PROG_MAC_ADDR) != 0) ; -#endif + if (emaclite-txpp) { + /* The same operation with PONG TX */ + out_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, 0); + xemaclite_alignedwrite (dev-enetaddr, dev-iobase + + XEL_BUFFER_OFFSET, ENET_ADDR_LENGTH); + out_be32 (dev-iobase + XEL_TPLR_OFFSET, ENET_ADDR_LENGTH); + out_be32 (dev-iobase + XEL_TSR_OFFSET + XEL_BUFFER_OFFSET, + XEL_TSR_PROG_MAC_ADDR); + while ((in_be32 (dev-iobase + XEL_TSR_OFFSET + + XEL_BUFFER_OFFSET) XEL_TSR_PROG_MAC_ADDR) != 0) ; + } /* * RX - RX_PING RX_PONG initialization */ /* Write out the value to flush the RX buffer */ out_be32 (dev-iobase + XEL_RSR_OFFSET, XEL_RSR_RECV_IE_MASK); -#ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG - out_be32 (dev-iobase + XEL_RSR_OFFSET + XEL_BUFFER_OFFSET, - XEL_RSR_RECV_IE_MASK); -#endif + + if (emaclite-rxpp) + out_be32 (dev-iobase + XEL_RSR_OFFSET + XEL_BUFFER_OFFSET, + XEL_RSR_RECV_IE_MASK); debug (EmacLite Initialization complete\n); return 0; @@ -219,10 +222,10 @@ static int emaclite_send (struct eth_device *dev, volatile void *ptr, int len) printf (Error: Timeout waiting for ethernet TX buffer\n); /* Restart PING TX */ out_be32 (dev-iobase + XEL_TSR_OFFSET, 0); -#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG - out_be32 (dev-iobase + XEL_TSR_OFFSET + - XEL_BUFFER_OFFSET, 0); -#endif + if (emaclite-txpp) { + out_be32 (dev-iobase + XEL_TSR_OFFSET + + XEL_BUFFER_OFFSET, 0); + } return -1; } @@ -235,9 +238,9 @@ static int emaclite_send (struct eth_device *dev, volatile void *ptr, int len) ((in_be32 ((baseaddress) + XEL_TSR_OFFSET) XEL_TSR_XMIT_ACTIVE_MASK) == 0)) { -#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG - emaclite-nexttxbuffertouse ^= XEL_BUFFER_OFFSET; -#endif + if (emaclite-txpp) + emaclite-nexttxbuffertouse ^= XEL_BUFFER_OFFSET; + debug (Send packet from 0x%x\n, baseaddress); /* Write the frame to the buffer */ xemaclite_alignedwrite ((void *) ptr, baseaddress, len); @@ -251,28 +254,31 @@ static int emaclite_send (struct eth_device *dev, volatile void *ptr, int len) out_be32 (baseaddress + XEL_TSR_OFFSET, reg); return 0; } -#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG - /* Switch to second buffer */ - baseaddress ^= XEL_BUFFER_OFFSET; - /* Determine if the expected buffer address is empty */ - reg = in_be32 (baseaddress + XEL_TSR_OFFSET); - if (((reg XEL_TSR_XMIT_BUSY_MASK) == 0) -((in_be32 ((baseaddress) + XEL_TSR_OFFSET) -XEL_TSR_XMIT_ACTIVE_MASK) == 0)) { - debug (Send packet from 0x%x\n, baseaddress); - /*
[U-Boot] [PATCH 7/8] net: emaclite: Free allocated space for device
Free allocated space for device when allocating failed for private data. Signed-off-by: Michal Simek mon...@monstr.eu --- drivers/net/xilinx_emaclite.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index ac6c783..e0b6ce5 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -356,8 +356,10 @@ int xilinx_emaclite_initialize (bd_t *bis, int base_addr) return -1; emaclite = calloc(1, sizeof(struct xemaclite)); - if (emaclite == NULL) + if (emaclite == NULL) { + free(dev); return -1; + } dev-priv = emaclite; -- 1.5.5.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 8/8] net: emaclite: Move RX/TX ping pong initialization to board
Init RX/TX ping pong directly in boards not in the driver. Signed-off-by: Michal Simek mon...@monstr.eu --- .../xilinx/microblaze-generic/microblaze-generic.c | 11 ++- drivers/net/xilinx_emaclite.c | 10 +++--- include/netdev.h |2 +- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c index 183e4dc..1a6e568 100644 --- a/board/xilinx/microblaze-generic/microblaze-generic.c +++ b/board/xilinx/microblaze-generic/microblaze-generic.c @@ -77,6 +77,15 @@ int board_eth_init(bd_t *bis) * returning -1 will force cpu_eth_init() to be called. */ #ifdef CONFIG_XILINX_EMACLITE - return xilinx_emaclite_initialize(bis, XILINX_EMACLITE_BASEADDR); + u32 txpp = 0; + u32 rxpp = 0; +# ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG + txpp = 1; +# endif +# ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG + rxpp = 1; +# endif + return xilinx_emaclite_initialize(bis, XILINX_EMACLITE_BASEADDR, + txpp, rxpp); #endif } diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index e0b6ce5..cbf82d9 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -346,7 +346,7 @@ static int emaclite_recv(struct eth_device *dev) } -int xilinx_emaclite_initialize (bd_t *bis, int base_addr) +int xilinx_emaclite_initialize (bd_t *bis, int base_addr, int txpp, int rxpp) { struct eth_device *dev; struct xemaclite *emaclite; @@ -363,12 +363,8 @@ int xilinx_emaclite_initialize (bd_t *bis, int base_addr) dev-priv = emaclite; -#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG - emaclite-txpp = 1; -#endif -#ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG - emaclite-rxpp = 1; -#endif + emaclite-txpp = txpp; + emaclite-rxpp = rxpp; sprintf(dev-name, Xelite.%x, base_addr); diff --git a/include/netdev.h b/include/netdev.h index 6f0a971..5abafbc 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -90,7 +90,7 @@ int smc9_initialize(u8 dev_num, int base_addr); int tsi108_eth_initialize(bd_t *bis); int uec_standard_init(bd_t *bis); int uli526x_initialize(bd_t *bis); -int xilinx_emaclite_initialize (bd_t *bis, int base_addr); +int xilinx_emaclite_initialize (bd_t *bis, int base_addr, int txpp, int rxpp); int sh_eth_initialize(bd_t *bis); int dm9000_initialize(bd_t *bis); int fecmxc_initialize(bd_t *bis); -- 1.5.5.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Device driver name - NET_MULTI
Hi, I have met with the problem where I setup longer network driver name than was allocated space in eth_device structure. That's why I think that registration code should check it. What do you think? Thanks, Michal ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH] net: Check network device driver name
If name is longer than allocated space NAMESIZE mac address is rewritten which show error message like: Error message: Warning: Xlltemac.8700 MAC addresses don't match: Address in SROM is 30:00:00:00:00:00 Address in environment is 00:0a:35:00:6a:04 Signed-off-by: Michal Simek mon...@monstr.eu --- net/eth.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/net/eth.c b/net/eth.c index 3aad71f..54231b1 100644 --- a/net/eth.c +++ b/net/eth.c @@ -191,6 +191,13 @@ static void eth_current_changed(void) int eth_register(struct eth_device *dev) { struct eth_device *d; + + if (strlen(dev-name) NAMESIZE) { + printf(Long(%d%d) network driver name for %s\n, + strlen(dev-name), NAMESIZE, dev-name); + return 0; + } + if (!eth_devices) { eth_current = eth_devices = dev; eth_current_changed(); -- 1.5.5.6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 09/16] ARM: remove broken versatile boards.
On 08/26/2011 02:25 PM, Wolfgang Denk wrote: Signed-off-by: Wolfgang Denk w...@denx.de --- MAINTAINERS|2 - MAKEALL|3 - README |2 +- board/armltd/versatile/Makefile| 51 -- board/armltd/versatile/lowlevel_init.S | 34 board/armltd/versatile/split_by_variant.sh | 42 - board/armltd/versatile/versatile.c | 111 doc/README.scrapyard |1 + include/configs/versatile.h| 252 9 files changed, 2 insertions(+), 496 deletions(-) delete mode 100644 board/armltd/versatile/Makefile delete mode 100644 board/armltd/versatile/lowlevel_init.S delete mode 100755 board/armltd/versatile/split_by_variant.sh delete mode 100644 board/armltd/versatile/versatile.c delete mode 100644 include/configs/versatile.h Hi Wolfgang, your patch removes also the possibility to run the versatilepb board in qemu environment (target versatileqemu in boards.cfg). For that I sent a patch that it is already in mainline (commit d388298a59ba375c76597b8f95b560afa971a0fb). I will suggest to remove only the split_by_variant.sh file in this patch. Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] Global Data: Flagify have_console and env_valid
Signed-off-by: Graeme Russ graeme.r...@gmail.com --- arch/arm/include/asm/global_data.h|5 ++- arch/avr32/include/asm/global_data.h |5 ++- arch/blackfin/include/asm/global_data.h |5 ++- arch/blackfin/lib/board.c |2 - arch/m68k/include/asm/global_data.h |5 ++- arch/microblaze/include/asm/global_data.h |5 ++- arch/mips/include/asm/global_data.h |5 ++- arch/nios2/include/asm/global_data.h |5 ++- arch/powerpc/cpu/mpc5xxx/i2c.c| 20 ++-- arch/powerpc/cpu/mpc8xx/i2c.c | 12 arch/powerpc/include/asm/global_data.h|5 ++- arch/sh/include/asm/global_data.h |5 ++- arch/sparc/include/asm/global_data.h |5 ++- arch/x86/include/asm/global_data.h| 36 +++--- board/edb93xx/edb93xx.c |2 +- board/matrix_vision/common/mv_common.c|2 +- board/zeus/zeus.c |2 +- common/console.c |4 +- common/env_common.c |6 ++-- common/env_dataflash.c|6 ++-- common/env_eeprom.c | 36 +++--- common/env_flash.c| 26 common/env_mgdisk.c |2 +- common/env_mmc.c |2 +- common/env_nand.c | 45 +++- common/env_nowhere.c |2 +- common/env_nvram.c|4 +- common/env_onenand.c |4 +- common/env_sf.c | 31 +++ drivers/i2c/ppc4xx_i2c.c |2 +- drivers/i2c/soft_i2c.c|6 ++-- include/environment.h | 18 +++ 32 files changed, 177 insertions(+), 143 deletions(-) diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 4fc51fd..b190aa1 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -37,9 +37,7 @@ typedef struct global_data { bd_t*bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base;/* base address of frame buffer */ #ifdef CONFIG_FSL_ESDHC unsigned long sdhc_clk; @@ -88,6 +86,9 @@ typedef struct global_data { #defineGD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */ #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm (r8) diff --git a/arch/avr32/include/asm/global_data.h b/arch/avr32/include/asm/global_data.h index 4ef8fc5..010b358 100644 --- a/arch/avr32/include/asm/global_data.h +++ b/arch/avr32/include/asm/global_data.h @@ -37,10 +37,8 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long stack_end; /* highest stack address */ - unsigned long have_console; /* serial_init() was called */ unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of env struct */ - unsigned long env_valid; /* Checksum of env valid? */ unsigned long cpu_hz; /* cpu core clock frequency */ #if defined(CONFIG_LCD) void*fb_base; /* framebuffer address */ @@ -60,6 +58,9 @@ typedef struct global_data { #defineGD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */ #define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm(r5) diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h index eba5e93..73dbeed 100644 --- a/arch/blackfin/include/asm/global_data.h +++ b/arch/blackfin/include/asm/global_data.h @@ -44,10 +44,8 @@ typedef struct
[U-Boot] [PATCH V2] Global Data: Flagify have_console and env_valid
Signed-off-by: Graeme Russ graeme.r...@gmail.com --- Changes since V1: - In common/console.c, gd-flags = GD_FLG_HAVE_CONSOLE change to |= arch/arm/include/asm/global_data.h|5 ++- arch/avr32/include/asm/global_data.h |5 ++- arch/blackfin/include/asm/global_data.h |5 ++- arch/blackfin/lib/board.c |2 - arch/m68k/include/asm/global_data.h |5 ++- arch/microblaze/include/asm/global_data.h |5 ++- arch/mips/include/asm/global_data.h |5 ++- arch/nios2/include/asm/global_data.h |5 ++- arch/powerpc/cpu/mpc5xxx/i2c.c| 20 ++-- arch/powerpc/cpu/mpc8xx/i2c.c | 12 arch/powerpc/include/asm/global_data.h|5 ++- arch/sh/include/asm/global_data.h |5 ++- arch/sparc/include/asm/global_data.h |5 ++- arch/x86/include/asm/global_data.h| 36 +++--- board/edb93xx/edb93xx.c |2 +- board/matrix_vision/common/mv_common.c|2 +- board/zeus/zeus.c |2 +- common/console.c |4 +- common/env_common.c |6 ++-- common/env_dataflash.c|6 ++-- common/env_eeprom.c | 36 +++--- common/env_flash.c| 26 common/env_mgdisk.c |2 +- common/env_mmc.c |2 +- common/env_nand.c | 45 +++- common/env_nowhere.c |2 +- common/env_nvram.c|4 +- common/env_onenand.c |4 +- common/env_sf.c | 31 +++ drivers/i2c/ppc4xx_i2c.c |2 +- drivers/i2c/soft_i2c.c|6 ++-- include/environment.h | 18 +++ 32 files changed, 177 insertions(+), 143 deletions(-) diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 4fc51fd..b190aa1 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -37,9 +37,7 @@ typedef struct global_data { bd_t*bd; unsigned long flags; unsigned long baudrate; - unsigned long have_console; /* serial_init() was called */ unsigned long env_addr; /* Address of Environment struct */ - unsigned long env_valid; /* Checksum of Environment valid? */ unsigned long fb_base;/* base address of frame buffer */ #ifdef CONFIG_FSL_ESDHC unsigned long sdhc_clk; @@ -88,6 +86,9 @@ typedef struct global_data { #defineGD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */ #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm (r8) diff --git a/arch/avr32/include/asm/global_data.h b/arch/avr32/include/asm/global_data.h index 4ef8fc5..010b358 100644 --- a/arch/avr32/include/asm/global_data.h +++ b/arch/avr32/include/asm/global_data.h @@ -37,10 +37,8 @@ typedef struct global_data { unsigned long flags; unsigned long baudrate; unsigned long stack_end; /* highest stack address */ - unsigned long have_console; /* serial_init() was called */ unsigned long reloc_off; /* Relocation Offset */ unsigned long env_addr; /* Address of env struct */ - unsigned long env_valid; /* Checksum of env valid? */ unsigned long cpu_hz; /* cpu core clock frequency */ #if defined(CONFIG_LCD) void*fb_base; /* framebuffer address */ @@ -60,6 +58,9 @@ typedef struct global_data { #defineGD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in out) */ #define GD_FLG_ENV_READY 0x00080 /* Environment imported into hash table */ +#define GD_FLG_HAVE_CONSOLE0x00100 /* serial_init() was called */ +#define GD_FLG_PRI_ENV_VALID 0x00200 /* Primary environment valid */ +#define GD_FLG_RED_ENV_VALID 0x00400 /* Redundant environment valid */ #define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm(r5) diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h index eba5e93..73dbeed 100644 ---
Re: [U-Boot] Pull request: u-boot-usb
Dear Remy Bohmer, In message CANqCtQ+G1H7FmZ2qb6Su8NOqyF9h9mJP=81xfe_dsgrrecr...@mail.gmail.com you wrote: The following changes since commit fa82f871c8dbc9a15e8dc274b3f99dd5fa0da458: Convert ISO-8859 files to UTF-8 (2011-08-04 23:34:02 +0200) are available in the git repository at: git://git.denx.de/u-boot-usb.git master Jason Cooper (1): usb: increase non-bulk timeout for slow chipsets. Marek Vasut (2): USB: Set portnr so USB1.1 and 1.0 devices work on EHCI controllers USB: Move USB_PRINTF() out of ifdef in usb_scan_devices() Nobuhiro Iwamatsu (1): usb: r8a66597: Fix argument mistake of inl Simon Glass (4): Add support for SMSC95XX USB 2.0 10/100MBit Ethernet Adapter Add Ethernet hardware MAC address framework to usbnet Add documentation for USB Host Networking Put common autoload code into auto_load() function board/davinci/common/misc.c |2 +- common/usb.c|3 +- doc/README.usb | 157 - drivers/net/designware.c|2 +- drivers/usb/eth/Makefile|1 + drivers/usb/eth/smsc95xx.c | 879 +++ drivers/usb/eth/usb_ether.c | 16 +- drivers/usb/host/r8a66597.h |2 +- include/net.h | 25 ++- include/usb.h |2 +- include/usb_ether.h | 13 + net/bootp.c | 76 ++--- net/eth.c | 64 ++-- 13 files changed, 1165 insertions(+), 77 deletions(-) create mode 100644 drivers/usb/eth/smsc95xx.c Applied, thanks. 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 We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise. - Larry Wall in 1991nov13.194420.28...@netlabs.com ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Please pull u-boot-ubi/master
Dear Stefan Roese, In message 201108191727.32539...@denx.de you wrote: please pull the following fix: The following changes since commit fa82f871c8dbc9a15e8dc274b3f99dd5fa0da458: Convert ISO-8859 files to UTF-8 (2011-08-04 23:34:02 +0200) are available in the git repository at: git://www.denx.de/git/u-boot-ubi.git master Wolfgang Denk (1): ubifs: Fix bad free() sequence in ubifs_finddir() fs/ubifs/ubifs.c |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) Applied, thanks. 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 We do not colonize. We conquer. We rule. There is no other way for us. -- Rojan, By Any Other Name, stardate 4657.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [GIT PULL] Pull request: u-boot-imx
Hi Albert, please pull from u-boot-imx: The following changes since commit 5557e86bb0793012057d5462976c2a902bc629ac: omap4: increase SRAM budget to fix build error (2011-08-21 10:14:51 +0200) are available in the git repository at: git://www.denx.de/git/u-boot-imx.git master David Jander (1): ARM: MX51: PLL errata workaround Fabio Estevam (1): mx53: ddr3: Update DD3 initialization Stefano Babic (20): MX35: MX35PDK: support additional RAM on CSD1 MX: MX35 / MX5: uniform clock command with powerpc IMX: uniform GPIO interface using GPIO framework MX25: make use of GPIO framework for MX25 processor MX31: make use of GPIO framework for MX31 processor MX5: make use of GPIO framework for MX5 processor MX35: make use of GPIO framework for MX35 processor MX31: QONG: make use of GPIO framework MX5: efikamx: make use of GPIO framework MX25: zmx25: make use of GPIO framework MX5: mx53ard: make use of GPIO framework MX5: mx53smd: make use of GPIO framework MX5: vision2: make use of GPIO framework MX5: mx53evk: make use of GPIO framework MX5: mx53loco: make use of GPIO framework MX35: mx35pdk: make use of GPIO framework MX5: mx51evk: make use of GPIO framework MX31: mx31ads: make use of GPIO framework MX31: imx31_litekit: make use of GPIO framework IMX: scb9328: drop warnings arch/arm/cpu/arm1136/mx35/generic.c|4 +- arch/arm/cpu/armv7/mx5/clock.c |4 +- arch/arm/cpu/armv7/mx5/lowlevel_init.S | 38 +++ .../arm/include/asm/arch-mx25/gpio.h | 42 arch/arm/include/asm/arch-mx25/imx-regs.h | 12 --- arch/arm/include/asm/arch-mx31/gpio.h | 35 ++ arch/arm/include/asm/arch-mx31/imx-regs.h |7 -- arch/arm/include/asm/arch-mx35/gpio.h | 40 +++ arch/arm/include/asm/arch-mx5/gpio.h | 35 ++ arch/arm/include/asm/arch-mx5/imx-regs.h | 12 ++-- board/davedenx/qong/fpga.c | 10 ++-- board/davedenx/qong/qong.c | 36 +- board/efikamx/efikamx.c| 62 +++--- board/freescale/mx35pdk/lowlevel_init.S|9 ++- board/freescale/mx35pdk/mx35pdk.c | 22 +-- board/freescale/mx51evk/mx51evk.c | 18 ++ board/freescale/mx53ard/imximage_dd3.cfg |6 +- board/freescale/mx53ard/mx53ard.c |8 +- board/freescale/mx53evk/mx53evk.c |6 +- board/freescale/mx53loco/imximage.cfg |6 +- board/freescale/mx53loco/mx53loco.c|6 +- board/freescale/mx53smd/imximage.cfg |6 +- board/freescale/mx53smd/mx53smd.c |4 +- board/scb9328/scb9328.c|2 +- board/syteco/zmx25/zmx25.c | 35 -- board/ttcontrol/vision2/vision2.c | 71 doc/README.imx5| 17 + drivers/gpio/mxc_gpio.c| 51 +- drivers/spi/mxc_spi.c |8 +- include/configs/imx31_litekit.h|1 + include/configs/mx31ads.h |1 + include/configs/mx35pdk.h |7 +- include/configs/mx51evk.h |1 + 33 files changed, 383 insertions(+), 239 deletions(-) rename include/mxc_gpio.h = arch/arm/include/asm/arch-mx25/gpio.h (59%) create mode 100644 arch/arm/include/asm/arch-mx31/gpio.h create mode 100644 arch/arm/include/asm/arch-mx35/gpio.h create mode 100644 arch/arm/include/asm/arch-mx5/gpio.h create mode 100644 doc/README.imx5 Thanks, Stefano -- = 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] NAND: Add nand read.raw and write.raw commands
On Friday, August 26, 2011 09:57:17 AM Simon Schwarz wrote: Dear Marek, On 08/26/2011 12:04 AM, Marek Vasut wrote: These commands should work around various hardware ECC and BCH methods. This is important for example in case where the user needs to write precisely what's in a buffer to a NAND page, with no interference of hardware ECC engine or such. I think I don't get it :) Where is the problem with writing this stuff to NAND now? If the ECC interferes there was a problem with the NAND Flash therefore the data is corrupted. It's not an issue with data corruption. For example in my case, if nand_write_skip_bad() is called, HW ECC writes the ECC information in various places in the page. But if done this way, exactly what's in the buffer is written to the page. Cheers Regards Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ppc460: read get_sys_info from CPR registers instead of STRP registers
Hi Stefan, Yes. Mike, could you please re-send your patch with this suggested split? Marri, could you please test this result on an 460SX board? And perhaps send send a patch to fix potentially remaining 460SX issues? *[Tirumala Marri] *Sure we will test Mike’s fix on our 460Sx board. Once Mike’s patch accepted we will post follow-up patch for 460Sx changes. * * *Regards,* *Marri* ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 1/3] net: Adds Fast Ethernet Controller driver for Armada100
On Friday, August 26, 2011 08:36:51 AM Ajay Bhargav wrote: This patch adds support for Fast Ethernet Controller driver for Armada100 series. Signed-off-by: Ajay Bhargav ajay.bhar...@einfochips.com Hi, please don't forget to CC me next time ;-) [...] +static int smi_reg_read(const char *devname, u8 phy_addr, u8 phy_reg, + u16 *value) +{ + struct eth_device *dev = eth_get_dev_by_name(devname); + struct armdfec_device *darmdfec = to_darmdfec(dev); + struct armdfec_reg *regs = darmdfec-regs; + u32 val, reg_data; + + if (phy_addr == PHY_ADR_REQ phy_reg == PHY_ADR_REQ) { + reg_data = readl(regs-phyadr); + *value = (u16) (reg_data 0x1f); Do you need this cast? + return 0; + } + + /* check parameters */ + if (phy_addr PHY_MASK) { + printf(Err..(%s) Invalid phy address: 0x%X\n, + __func__, phy_addr); Maybe a firm A100 FEC: Invalid phy address (address = 0x%x)\n would be better, fix that Err.. and Err globally please. + return -EINVAL; + } + if (phy_reg PHY_MASK) { + printf(Err..(%s) Invalid register offset: 0x%X\n, + __func__, phy_reg); + return -EINVAL; + } + + /* wait for the SMI register to become available */ + if (armdfec_phy_timeout(regs-smi, SMI_BUSY, FALSE)) { + printf(Error (%s) PHY busy timeout\n, __func__); + return -1; + } + + writel((phy_addr 16) | (phy_reg 21) | SMI_OP_R, regs-smi); + + /* now wait for the data to be valid */ + if (armdfec_phy_timeout(regs-smi, SMI_R_VALID, TRUE)) { + val = readl(regs-smi); + printf(Err (%s) PHY Read timeout, val=0x%x\n, __func__, val); + return -1; + } + val = readl(regs-smi); + *value = val 0x; + + return 0; +} + +static int smi_reg_write(const char *devname, + u8 phy_addr, u8 phy_reg, u16 value) +{ + struct eth_device *dev = eth_get_dev_by_name(devname); + struct armdfec_device *darmdfec = to_darmdfec(dev); + struct armdfec_reg *regs = darmdfec-regs; + + if (phy_addr == PHY_ADR_REQ phy_reg == PHY_ADR_REQ) { + clrsetbits_le32(regs-phyadr, 0x1f, value 0x1f); + return 0; + } + + /* check parameters */ + if (phy_addr PHY_MASK) { + printf(Err..(%s) Invalid phy address\n, __func__); + return -EINVAL; + } + if (phy_reg PHY_MASK) { + printf(Err..(%s) Invalid register offset\n, __func__); + return -EINVAL; + } + + /* wait for the SMI register to become available */ + if (armdfec_phy_timeout(regs-smi, SMI_BUSY, FALSE)) { + printf(Error (%s) PHY busy timeout\n, __func__); + return -1; + } + + writel((phy_addr 16) | (phy_reg 21) | SMI_OP_W | (value 0x), + regs-smi); + return 0; +} + +/* + * Abort any transmit and receive operations and put DMA + * in idle state. AT and AR bits are cleared upon entering + * in IDLE state. So poll those bits to verify operation. + */ +static void abortdma(struct eth_device *dev) +{ + struct armdfec_device *darmdfec = to_darmdfec(dev); + struct armdfec_reg *regs = darmdfec-regs; + int delay; + int maxretries = 40; + u32 tmp; + while (--maxretries) { That way it won't get negative and you can check below for if (!maxretries) + while (maxretries--) { + writel(SDMA_CMD_AR | SDMA_CMD_AT, regs-sdma_cmd); + udelay(100); + + delay = 10; + while (delay--) { This will go negative and the check below will be true for -1.Fix this to while (--delay) { + tmp = readl(regs-sdma_cmd); + if (!(tmp (SDMA_CMD_AR | SDMA_CMD_AT))) + break; + udelay(10); + } + if (delay) + break; + } + + if (maxretries = 0) + printf(%s : DMA Stuck\n, __func__); +} See two comments above. + +static inline u32 nibble_swapping_32_bit(u32 x) +{ + return (((x) 0xf0f0f0f0) 4) | (((x) 0x0f0f0f0f) 4); +} + +static inline u32 nibble_swapping_16_bit(u32 x) +{ + return (((x) 0xf0f0) 4) | (((x) 0x0f0f) 4); +} + +static inline u32 flip_4_bits(u32 x) +{ + return (((x) 0x01) 3) | (((x) 0x002) 1) + | (((x) 0x04) 1) | (((x) 0x008) 3); +} + +/* + * This function will calculate the hash function of the address. + * depends on the hash mode and hash size. + * Inputs + * mach - the 2 most significant bytes of the MAC address. + * macl - the 4 least significant bytes of the MAC address. + * Outputs + * return the calculated entry. + */ +static u32
Re: [U-Boot] [PATCH v2 01/16] ARM: remove broken armadillo board
On Friday, August 26, 2011 02:25:33 PM Wolfgang Denk wrote: Signed-off-by: Wolfgang Denk w...@denx.de Cc: Rowel Atienza ro...@diwalabs.com --- MAINTAINERS |4 - MAKEALL |1 - board/armadillo/Makefile| 55 --- board/armadillo/armadillo.c | 72 board/armadillo/config.mk | 29 board/armadillo/flash.c | 340 --- board/armadillo/lowlevel_init.S | 66 boards.cfg |1 - doc/README.scrapyard|1 + include/configs/armadillo.h | 157 -- 10 files changed, 1 insertions(+), 725 deletions(-) delete mode 100644 board/armadillo/Makefile delete mode 100644 board/armadillo/armadillo.c delete mode 100644 board/armadillo/config.mk delete mode 100644 board/armadillo/flash.c delete mode 100644 board/armadillo/lowlevel_init.S delete mode 100644 include/configs/armadillo.h This one can be fixed with such a patch, though I dunno if it's worth it. diff --git a/include/configs/armadillo.h b/include/configs/armadillo.h index d0d0998..8a2d2b7 100644 --- a/include/configs/armadillo.h +++ b/include/configs/armadillo.h @@ -135,6 +135,8 @@ #define PHYS_FLASH_SIZE0x0040 /* 4 MB */ #define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1 +#defineCONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +#defineCONFIG_SYS_INIT_SP_ADDR (PHYS_SDRAM_1 + CONFIG_STACKSIZE) /*--- * FLASH and environment organization ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] Fix fw_env bug for multi-sector environments on NOR flash
When storing u-boot environment variables on a NOR flash using multiple sectors, the following error occurs when writing changes using fw_setenv. /etc # cat fw_env.config /dev/mtd12 0x 0x2 0x1 2 /etc # fw_setenv test test End of range reached, aborting Error: can't write fw_env to flash The reason for the error is that although both sectors are written in one pass, the loop for the write is executed twice because the processed variable is incremented by the incorrect amount. Signed-off-by: Yiyang Fei yiyang@barco.com --- tools/env/fw_env.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index ed6b53f..e6b2cae 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -880,9 +880,8 @@ static int flash_write_buf (int dev, int fd, void *buf, size_t count, ioctl (fd, MEMLOCK, erase); - processed += blocklen; - block_seek = 0; - blockstart += blocklen; + processed += erasesize; + blockstart += erasesize; } if (write_total count) -- 1.7.2.5 Sorry for the disclaimer...it is out of my control. Yiyang Fei ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Fix fw_env bug for multi-sector environments on NOR flash
Dear Fei, Yiyang, Please make sure to send your patches as plain text, NOT as HTML! In message c2a5d1386c6db94198f2a5c8368eae6c1465a...@dulmex02.barco.com you wrote: ... tools/env/fw_env.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index ed6b53f..e6b2cae 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -880,9 +880,8 @@ static int flash_write_buf (int dev, int fd, void *buf, size_t count, Sorry, but this patch is totally corrupted - long lines are wrapped, white space is mangled, and additional empty lines have been inserted. This does not apply. 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 We, the unwilling, led by the unknowing, are doing the impossible for the ungrateful. We have done so much, for so long, with so little, we are now qualified to do anything with nothing. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] NAND: Add nand read.raw and write.raw commands
On 08/26/2011 04:49 PM, Marek Vasut wrote: On Friday, August 26, 2011 09:57:17 AM Simon Schwarz wrote: Dear Marek, On 08/26/2011 12:04 AM, Marek Vasut wrote: These commands should work around various hardware ECC and BCH methods. This is important for example in case where the user needs to write precisely what's in a buffer to a NAND page, with no interference of hardware ECC engine or such. I think I don't get it :) Where is the problem with writing this stuff to NAND now? If the ECC interferes there was a problem with the NAND Flash therefore the data is corrupted. It's not an issue with data corruption. For example in my case, if nand_write_skip_bad() is called, HW ECC writes the ECC information in various places in the page. But if done this way, exactly what's in the buffer is written to the page. But isn't then the HW ECC misconfigured? AFAIK ECC information should be written only to the OOB never into the normal page. I'am really not sure if I understand the patch - it seems to me that you are writing/reading the oob while this collides with the description that you want to write data. Could you explain further what exactly the patch is supposed to do? Regards Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V3 4/8] omap-common/spl: Add linux boot to SPL
On 08/26/2011 01:22 PM, Simon Schwarz wrote: Dear Andreas, On 08/26/2011 12:45 PM, Andreas Bießmann wrote: Dear Simon Am 26.08.2011 12:17, schrieb Simon Schwarz: On 08/25/2011 01:28 PM, Andreas Bießmann wrote: Dear Simon, snip +/* This function jumps to an image with argument. Normally an FDT or ATAGS + * image. + * arg: Pointer to paramter image in RAM + */ +void jump_to_image_linux(void *arg) +{ + debug(Entering kernel arg pointer: 0x%X\n, arg); + typedef void (*image_entry_arg_t)(int, int, void *) + __attribute__ ((noreturn)); + image_entry_arg_t image_entry = + (image_entry_arg_t) spl_image.entry_point; + /* cleanup_before_linux(); */ /*write SPL function for that*/ + image_entry(0, CONFIG_SYS_SPL_MACHID, arg); the MACHID is saved in gd-bd, couldn't this be used here? BTW: You missed setting CONFIG_SYS_SPL_MACHID in your board configuration header in this patch. Where is it done? In SPL gd is not fully initialized. I see ... but how about using existing CONFIG_MACH_TYPE then? done. I correct myself: not done. If I use CONFIG_MACH_TYPE u-boot doesn't boot any more. This seems to be a bug in handling this define. Any ideas on this? Regards Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 5/7] powerpc/mpc83xx: Migrate from spd_sdram to unified DDR driver
Wolfgang, On Fri, 2011-08-26 at 00:31 +0200, Wolfgang Denk wrote: Dear York Sun, In message 1314308192.29220.29.camel@oslab-l1 you wrote: I am introducing it to this file as it is already being used somewhere else. If you are trying to enforce this new policy, please start with brand new files/typedefs, as you pointed out in my another patch. I will be happy to fix that. It is in no way a new policy that U-Boot uses the Linux CodingStyle as model. We've been doing this for years. It's just that checkpatch allows for more regular and more strict tests for violations. I am going to follow the style and not to add new typedefs. For the existing typedef, I will keep using them. In this case, it is an existing typedef, just for another platform. Fixing it alone will cause more troubles. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 5/7] powerpc/mpc83xx: Migrate from spd_sdram to unified DDR driver
Dear York Sun, In message 1314378058.20734.25.camel@oslab-l1 you wrote: I am going to follow the style and not to add new typedefs. For the existing typedef, I will keep using them. In this case, it is an existing typedef, just for another platform. Fixing it alone will cause more troubles. I understand why you would prefer such an interpretation... But the fact is, you are adding new code that contains typedef's (and it does not matter at all if other code in other places does the same or not). Please don't misunderstand me - I can accept if you prefer not to fix this problem now, but rather address it later, in a separate patch. But it is technically wrong to claim you were not adding new typedef's. Checkpatch complains not without reason. 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 organization dries up if you don't challenge it with growth. - Mark Shepherd, former President and CEO of Texas Instruments ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 5/7] powerpc/mpc83xx: Migrate from spd_sdram to unified DDR driver
On Fri, 2011-08-26 at 20:12 +0200, Wolfgang Denk wrote: Dear York Sun, In message 1314378058.20734.25.camel@oslab-l1 you wrote: I am going to follow the style and not to add new typedefs. For the existing typedef, I will keep using them. In this case, it is an existing typedef, just for another platform. Fixing it alone will cause more troubles. I understand why you would prefer such an interpretation... But the fact is, you are adding new code that contains typedef's (and it does not matter at all if other code in other places does the same or not). Please don't misunderstand me - I can accept if you prefer not to fix this problem now, but rather address it later, in a separate patch. But it is technically wrong to claim you were not adding new typedef's. Checkpatch complains not without reason. OK. I do prefer not to fix it now if you can accept it. Are you implying we should fix all the existing typedefs? That will be a lot of cleanup. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [Patch v2 1/7] powerpc/mpc8xxx: Fix DDR code for empty first DIMM slot and enable DQS_en
Check second DIMM slot in case the first one is empty. Honor DQS enable option for SDRAM mode register. Signed-off-by: York Sun york...@freescale.com --- arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c | 19 ++- arch/powerpc/include/asm/fsl_ddr_sdram.h |4 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c b/arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c index 3824aad..eb8d8e3 100644 --- a/arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c +++ b/arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c @@ -146,7 +146,7 @@ static void set_csn_config(int dimm_number, int i, fsl_ddr_cfg_regs_t *ddr, break; case 2: if ((dimm_number == 0 dimm_params[0].n_ranks 2) || \ - (dimm_number 1 dimm_params[dimm_number].n_ranks 0)) + (dimm_number = 1 dimm_params[dimm_number].n_ranks 0)) go_config = 1; break; case 3: @@ -617,7 +617,7 @@ static void set_ddr_sdram_cfg_2(fsl_ddr_cfg_regs_t *ddr, unsigned int sr_ie = 0; /* Self-refresh interrupt enable */ unsigned int dll_rst_dis; /* DLL reset disable */ unsigned int dqs_cfg; /* DQS configuration */ - unsigned int odt_cfg; /* ODT configuration */ + unsigned int odt_cfg = 0; /* ODT configuration */ unsigned int num_pr;/* Number of posted refreshes */ unsigned int obc_cfg; /* On-The-Fly Burst Chop Cfg */ unsigned int ap_en; /* Address Parity Enable */ @@ -625,15 +625,16 @@ static void set_ddr_sdram_cfg_2(fsl_ddr_cfg_regs_t *ddr, unsigned int rcw_en = 0;/* Register Control Word Enable */ unsigned int md_en = 0; /* Mirrored DIMM Enable */ unsigned int qd_en = 0; /* quad-rank DIMM Enable */ + int i; dll_rst_dis = 1;/* Make this configurable */ dqs_cfg = popts-DQS_config; - if (popts-cs_local_opts[0].odt_rd_cfg - || popts-cs_local_opts[0].odt_wr_cfg) { - /* FIXME */ - odt_cfg = 2; - } else { - odt_cfg = 0; + for (i = 0; i CONFIG_CHIP_SELECTS_PER_CTRL; i++) { + if (popts-cs_local_opts[i].odt_rd_cfg + || popts-cs_local_opts[i].odt_wr_cfg) { + odt_cfg = SDRAM_CFG2_ODT_ONLY_READ; + break; + } } num_pr = 1; /* Make this configurable */ @@ -1018,7 +1019,7 @@ static void set_ddr_sdram_mode(fsl_ddr_cfg_regs_t *ddr, #if defined(CONFIG_FSL_DDR2) const unsigned int mclk_ps = get_memory_clk_period_ps(); #endif - + dqs_en = !popts-DQS_config; rtt = fsl_ddr_get_rtt(); al = additive_latency; diff --git a/arch/powerpc/include/asm/fsl_ddr_sdram.h b/arch/powerpc/include/asm/fsl_ddr_sdram.h index bc063ea..5b6e8d9 100644 --- a/arch/powerpc/include/asm/fsl_ddr_sdram.h +++ b/arch/powerpc/include/asm/fsl_ddr_sdram.h @@ -92,6 +92,10 @@ typedef ddr3_spd_eeprom_t generic_spd_eeprom_t; #define SDRAM_CFG2_D_INIT 0x0010 #define SDRAM_CFG2_ODT_CFG_MASK0x0060 +#define SDRAM_CFG2_ODT_NEVER 0 +#define SDRAM_CFG2_ODT_ONLY_WRITE 1 +#define SDRAM_CFG2_ODT_ONLY_READ 2 +#define SDRAM_CFG2_ODT_ALWAYS 3 #define TIMING_CFG_2_CPO_MASK 0x0F80 -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [Patch v2 3/7] powerpc/mpc8xxx: Fix picos_to_mclk() and get_memory_clk_period_ps()
Reduce the calculation error to 1ps. Signed-off-by: York Sun york...@freescale.com --- arch/powerpc/cpu/mpc8xxx/ddr/util.c | 26 +++--- 1 files changed, 11 insertions(+), 15 deletions(-) diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/util.c b/arch/powerpc/cpu/mpc8xxx/ddr/util.c index 104d360..c644131 100644 --- a/arch/powerpc/cpu/mpc8xxx/ddr/util.c +++ b/arch/powerpc/cpu/mpc8xxx/ddr/util.c @@ -20,7 +20,8 @@ #define ULL_8FS 0xULL /* - * Round mclk_ps to nearest 10 ps in memory controller code. + * Round up mclk_ps to nearest 1 ps in memory controller code + * if the error is 0.5ps or more. * * If an imprecise data rate is too high due to rounding error * propagation, compute a suitably rounded mclk_ps to compute @@ -32,42 +33,37 @@ unsigned int get_memory_clk_period_ps(void) unsigned int result; /* Round to nearest 10ps, being careful about 64-bit multiply/divide */ - unsigned long long mclk_ps = ULL_2E12; - - /* Add 5*data_rate, for rounding */ - mclk_ps += 5*(unsigned long long)data_rate; + unsigned long long rem, mclk_ps = ULL_2E12; /* Now perform the big divide, the result fits in 32-bits */ - do_div(mclk_ps, data_rate); - result = mclk_ps; + rem = do_div(mclk_ps, data_rate); + result = (rem = (data_rate 1)) ? mclk_ps + 1 : mclk_ps; - /* We still need to round to 10ps */ - return 10 * (result/10); + return result; } /* Convert picoseconds into DRAM clock cycles (rounding up if needed). */ unsigned int picos_to_mclk(unsigned int picos) { unsigned long long clks, clks_rem; + unsigned long data_rate = get_ddr_freq(0); /* Short circuit for zero picos */ if (!picos) return 0; /* First multiply the time by the data rate (32x32 = 64) */ - clks = picos * (unsigned long long)get_ddr_freq(0); - + clks = picos * (unsigned long long)data_rate; /* * Now divide by 5^12 and track the 32-bit remainder, then divide * by 2*(2^12) using shifts (and updating the remainder). */ clks_rem = do_div(clks, UL_5POW12); - clks_rem = 13; - clks_rem |= clks (UL_2POW13-1); + clks_rem += (clks (UL_2POW13-1)) * UL_5POW12; clks = 13; - /* If we had a remainder, then round up */ - if (clks_rem) + /* If we had a remainder greater than the 1ps error, then round up */ + if (clks_rem data_rate) clks++; /* Clamp to the maximum representable value */ -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [Patch v2 2/7] powerpc/mpc8xxx: Add SPD EEPROM address for single controller 2 slots
The two slots on the same controller have different addresses. Signed-off-by: York Sun york...@freescale.com --- arch/powerpc/cpu/mpc8xxx/ddr/main.c | 11 +++ 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/main.c b/arch/powerpc/cpu/mpc8xxx/ddr/main.c index 249fd7d..5699b0c 100644 --- a/arch/powerpc/cpu/mpc8xxx/ddr/main.c +++ b/arch/powerpc/cpu/mpc8xxx/ddr/main.c @@ -34,14 +34,17 @@ extern void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs, u8 spd_i2c_addr[CONFIG_NUM_DDR_CONTROLLERS][CONFIG_DIMM_SLOTS_PER_CTLR] = { [0][0] = SPD_EEPROM_ADDRESS, }; -#endif -#if (CONFIG_NUM_DDR_CONTROLLERS == 2) (CONFIG_DIMM_SLOTS_PER_CTLR == 1) +#elif (CONFIG_NUM_DDR_CONTROLLERS == 1) (CONFIG_DIMM_SLOTS_PER_CTLR == 2) +u8 spd_i2c_addr[CONFIG_NUM_DDR_CONTROLLERS][CONFIG_DIMM_SLOTS_PER_CTLR] = { + [0][0] = SPD_EEPROM_ADDRESS1, /* controller 1 */ + [0][1] = SPD_EEPROM_ADDRESS2, /* controller 1 */ +}; +#elif (CONFIG_NUM_DDR_CONTROLLERS == 2) (CONFIG_DIMM_SLOTS_PER_CTLR == 1) u8 spd_i2c_addr[CONFIG_NUM_DDR_CONTROLLERS][CONFIG_DIMM_SLOTS_PER_CTLR] = { [0][0] = SPD_EEPROM_ADDRESS1, /* controller 1 */ [1][0] = SPD_EEPROM_ADDRESS2, /* controller 2 */ }; -#endif -#if (CONFIG_NUM_DDR_CONTROLLERS == 2) (CONFIG_DIMM_SLOTS_PER_CTLR == 2) +#elif (CONFIG_NUM_DDR_CONTROLLERS == 2) (CONFIG_DIMM_SLOTS_PER_CTLR == 2) u8 spd_i2c_addr[CONFIG_NUM_DDR_CONTROLLERS][CONFIG_DIMM_SLOTS_PER_CTLR] = { [0][0] = SPD_EEPROM_ADDRESS1, /* controller 1 */ [0][1] = SPD_EEPROM_ADDRESS2, /* controller 1 */ -- 1.7.0.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [Patch v2 4/7] powerpc/mpc8xxx: Add DDR2 to unified DDR driver
DDR2 has different ODT table and values. Adding table according to Samsung application note. Fix additive latency calculation to avoid interger underflow. Signed-off-by: York Sun york...@freescale.com --- .../cpu/mpc8xxx/ddr/lc_common_dimm_params.c|3 +- arch/powerpc/cpu/mpc8xxx/ddr/options.c | 214 +++- arch/powerpc/include/asm/fsl_ddr_sdram.h |7 + doc/README.fsl-ddr | 52 + 4 files changed, 274 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/lc_common_dimm_params.c b/arch/powerpc/cpu/mpc8xxx/ddr/lc_common_dimm_params.c index 8132e68..20c7db0 100644 --- a/arch/powerpc/cpu/mpc8xxx/ddr/lc_common_dimm_params.c +++ b/arch/powerpc/cpu/mpc8xxx/ddr/lc_common_dimm_params.c @@ -448,7 +448,8 @@ compute_lowest_common_dimm_parameters(const dimm_params_t *dimm_params, #if defined(CONFIG_FSL_DDR2) if (lowest_good_caslat 4) { - additive_latency = picos_to_mclk(tRCD_ps) - lowest_good_caslat; + additive_latency = (picos_to_mclk(tRCD_ps) lowest_good_caslat) + ? picos_to_mclk(tRCD_ps) - lowest_good_caslat : 0; if (mclk_to_picos(additive_latency) tRCD_ps) { additive_latency = picos_to_mclk(tRCD_ps); debug(setting additive_latency to %u because it was diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/options.c b/arch/powerpc/cpu/mpc8xxx/ddr/options.c index bd9c466..7fc5494 100644 --- a/arch/powerpc/cpu/mpc8xxx/ddr/options.c +++ b/arch/powerpc/cpu/mpc8xxx/ddr/options.c @@ -33,6 +33,7 @@ typedef struct { unsigned int odt_rtt_wr; } dynamic_odt_t; +#ifdef CONFIG_FSL_DDR3 static const dynamic_odt_t single_Q[4] = { { /* cs0 */ FSL_DDR_ODT_NEVER, @@ -262,7 +263,218 @@ static const dynamic_odt_t odt_unknown[4] = { DDR3_RTT_OFF } }; +#else /* CONFIG_FSL_DDR3 */ +static const dynamic_odt_t single_Q[4] = { + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0} +}; +static const dynamic_odt_t single_D[4] = { + { /* cs0 */ + FSL_DDR_ODT_NEVER, + FSL_DDR_ODT_ALL, + DDR2_RTT_150_OHM, + DDR2_RTT_OFF + }, + { /* cs1 */ + FSL_DDR_ODT_NEVER, + FSL_DDR_ODT_NEVER, + DDR2_RTT_OFF, + DDR2_RTT_OFF + }, + {0, 0, 0, 0}, + {0, 0, 0, 0} +}; + +static const dynamic_odt_t single_S[4] = { + { /* cs0 */ + FSL_DDR_ODT_NEVER, + FSL_DDR_ODT_ALL, + DDR2_RTT_150_OHM, + DDR2_RTT_OFF + }, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, +}; + +static const dynamic_odt_t dual_DD[4] = { + { /* cs0 */ + FSL_DDR_ODT_OTHER_DIMM, + FSL_DDR_ODT_OTHER_DIMM, + DDR2_RTT_75_OHM, + DDR2_RTT_OFF + }, + { /* cs1 */ + FSL_DDR_ODT_NEVER, + FSL_DDR_ODT_NEVER, + DDR2_RTT_OFF, + DDR2_RTT_OFF + }, + { /* cs2 */ + FSL_DDR_ODT_OTHER_DIMM, + FSL_DDR_ODT_OTHER_DIMM, + DDR2_RTT_75_OHM, + DDR2_RTT_OFF + }, + { /* cs3 */ + FSL_DDR_ODT_NEVER, + FSL_DDR_ODT_NEVER, + DDR2_RTT_OFF, + DDR2_RTT_OFF + } +}; + +static const dynamic_odt_t dual_DS[4] = { + { /* cs0 */ + FSL_DDR_ODT_OTHER_DIMM, + FSL_DDR_ODT_OTHER_DIMM, + DDR2_RTT_75_OHM, + DDR2_RTT_OFF + }, + { /* cs1 */ + FSL_DDR_ODT_NEVER, + FSL_DDR_ODT_NEVER, + DDR2_RTT_OFF, + DDR2_RTT_OFF + }, + { /* cs2 */ + FSL_DDR_ODT_OTHER_DIMM, + FSL_DDR_ODT_OTHER_DIMM, + DDR2_RTT_75_OHM, + DDR2_RTT_OFF + }, + {0, 0, 0, 0} +}; + +static const dynamic_odt_t dual_SD[4] = { + { /* cs0 */ + FSL_DDR_ODT_OTHER_DIMM, + FSL_DDR_ODT_OTHER_DIMM, + DDR2_RTT_75_OHM, + DDR2_RTT_OFF + }, + {0, 0, 0, 0}, + { /* cs2 */ + FSL_DDR_ODT_OTHER_DIMM, + FSL_DDR_ODT_OTHER_DIMM, + DDR2_RTT_75_OHM, + DDR2_RTT_OFF + }, + { /* cs3 */ + FSL_DDR_ODT_NEVER, + FSL_DDR_ODT_NEVER, + DDR2_RTT_OFF, + DDR2_RTT_OFF + } +}; + +static const dynamic_odt_t dual_SS[4] = { + { /* cs0 */ + FSL_DDR_ODT_OTHER_DIMM, + FSL_DDR_ODT_OTHER_DIMM, + DDR2_RTT_75_OHM, + DDR2_RTT_OFF + }, + {0, 0, 0, 0}, +
[U-Boot] [Patch v2 5/7] powerpc/mpc83xx: Migrate from spd_sdram to unified DDR driver
Unified DDR driver is maintained for better performance, robustness and bug fixes. Upgrading to use unified DDR driver for MPC83xx takes advantage of overall improvement. It requires changes for board files to customize platform-dependent parameters. To utilize the unified DDR driver, a board needs to define CONFIG_FSL_DDRx in the header file. No more boards will be accepted without such definition. Note: the workaround for erratum DDR6 for the very old MPC834x Rev 1.0/1.1 and MPC8360 Rev 1.1/1.2 parts is not migrated to unified driver. Signed-off-by: Kim Phillips kim.phill...@freescale.com Signed-off-by: York Sun york...@freescale.com --- Makefile |1 + arch/powerpc/cpu/mpc83xx/Makefile| 20 +- arch/powerpc/cpu/mpc83xx/ecc.c | 18 -- arch/powerpc/cpu/mpc83xx/law.c | 61 arch/powerpc/cpu/mpc83xx/speed.c |9 +++ arch/powerpc/cpu/mpc85xx/ddr-gen2.c |8 ++- arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c |4 +- arch/powerpc/cpu/mpc8xxx/ddr/util.c |9 ++- arch/powerpc/include/asm/config.h|5 +- arch/powerpc/include/asm/immap_83xx.h| 117 +- common/Makefile |8 ++- include/common.h |4 +- 12 files changed, 245 insertions(+), 19 deletions(-) create mode 100644 arch/powerpc/cpu/mpc83xx/law.c diff --git a/Makefile b/Makefile index 689fddb..16f015e 100644 --- a/Makefile +++ b/Makefile @@ -252,6 +252,7 @@ LIBS += drivers/power/libpower.o LIBS += drivers/spi/libspi.o ifeq ($(CPU),mpc83xx) LIBS += drivers/qe/libqe.o +LIBS += arch/powerpc/cpu/mpc8xxx/ddr/libddr.o LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o endif ifeq ($(CPU),mpc85xx) diff --git a/arch/powerpc/cpu/mpc83xx/Makefile b/arch/powerpc/cpu/mpc83xx/Makefile index 3979b6f..b353036 100644 --- a/arch/powerpc/cpu/mpc83xx/Makefile +++ b/arch/powerpc/cpu/mpc83xx/Makefile @@ -34,7 +34,6 @@ COBJS-y += cpu.o COBJS-y += cpu_init.o COBJS-y += speed.o COBJS-y += interrupts.o -COBJS-y += spd_sdram.o COBJS-y += ecc.o COBJS-$(CONFIG_QE) += qe_io.o COBJS-$(CONFIG_FSL_SERDES) += serdes.o @@ -42,6 +41,13 @@ COBJS-$(CONFIG_PCI) += pci.o COBJS-$(CONFIG_PCIE) += pcie.o COBJS-$(CONFIG_OF_LIBFDT) += fdt.o +ifdef CONFIG_FSL_DDR2 +COBJS-$(CONFIG_MPC8349) += ddr-gen2.o +else +COBJS-y += spd_sdram.o +endif +COBJS-$(CONFIG_FSL_DDR2) += law.o + COBJS := $(COBJS-y) SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) @@ -52,6 +58,18 @@ all: $(obj).depend $(START) $(LIB) $(LIB):$(OBJS) $(call cmd_link_o_target, $(OBJS)) +$(obj)ddr-gen1.c: + @rm -f $(obj)ddr-gen1.c + ln -sf $(SRCTREE)/arch/powerpc/cpu/mpc85xx/ddr-gen1.c $(obj)ddr-gen1.c + +$(obj)ddr-gen2.c: + @rm -f $(obj)ddr-gen2.c + ln -sf $(SRCTREE)/arch/powerpc/cpu/mpc85xx/ddr-gen2.c $(obj)ddr-gen2.c + +$(obj)ddr-gen3.c: + @rm -f $(obj)ddr-gen3.c + ln -sf $(SRCTREE)/arch/powerpc/cpu/mpc85xx/ddr-gen3.c $(obj)ddr-gen3.c + # # defines $(obj).depend target diff --git a/arch/powerpc/cpu/mpc83xx/ecc.c b/arch/powerpc/cpu/mpc83xx/ecc.c index f8eab96..717365c 100644 --- a/arch/powerpc/cpu/mpc83xx/ecc.c +++ b/arch/powerpc/cpu/mpc83xx/ecc.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Freescale Semiconductor, Inc. + * Copyright (C) 2007-2011 Freescale Semiconductor, Inc. * * Dave Liu dave...@freescale.com * based on the contribution of Marian Balakowicz m...@semihalf.com @@ -20,8 +20,12 @@ #if defined(CONFIG_DDR_ECC) defined(CONFIG_DDR_ECC_CMD) void ecc_print_status(void) { - volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; - volatile ddr83xx_t *ddr = immap-ddr; + immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; +#ifdef CONFIG_FSL_DDR2 + ccsr_ddr_t *ddr = immap-ddr; +#else + ddr83xx_t *ddr = immap-ddr; +#endif printf(\nECC mode: %s\n\n, (ddr-sdram_cfg SDRAM_CFG_ECC_EN) ? ON : OFF); @@ -100,8 +104,12 @@ void ecc_print_status(void) int do_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) { - volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; - volatile ddr83xx_t *ddr = immap-ddr; + immap_t *immap = (immap_t *) CONFIG_SYS_IMMR; +#ifdef CONFIG_FSL_DDR2 + ccsr_ddr_t *ddr = immap-ddr; +#else + ddr83xx_t *ddr = immap-ddr; +#endif volatile u32 val; u64 *addr; u32 count; diff --git a/arch/powerpc/cpu/mpc83xx/law.c b/arch/powerpc/cpu/mpc83xx/law.c new file mode 100644 index 000..66c88b6 --- /dev/null +++ b/arch/powerpc/cpu/mpc83xx/law.c @@ -0,0 +1,61 @@ +/* + * Copyright 2011 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * Version 2 as published by the Free Software
[U-Boot] [Patch v2 6/7] powerpc/mpc8349emds: Migrate from spd_sdram to unified DDR driver
Update MPC8349EMDS to use unified DDR driver instead of spd_sdram.c. The unified driver can initialize data using DDR controller. No need to use DMA if just to initialze for ECC. Signed-off-by: York Sun york...@freescale.com Signed-off-by: Kim Phillips kim.phill...@freescale.com --- board/freescale/mpc8349emds/Makefile |1 + board/freescale/mpc8349emds/ddr.c | 107 + board/freescale/mpc8349emds/mpc8349emds.c | 26 --- include/configs/MPC8349EMDS.h | 16 4 files changed, 139 insertions(+), 11 deletions(-) create mode 100644 board/freescale/mpc8349emds/ddr.c diff --git a/board/freescale/mpc8349emds/Makefile b/board/freescale/mpc8349emds/Makefile index 4f76eab..601c3bf 100644 --- a/board/freescale/mpc8349emds/Makefile +++ b/board/freescale/mpc8349emds/Makefile @@ -27,6 +27,7 @@ LIB = $(obj)lib$(BOARD).o COBJS-y += $(BOARD).o COBJS-$(CONFIG_PCI) += pci.o +COBJS-$(CONFIG_FSL_DDR2) += ddr.o COBJS := $(COBJS-y) SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) diff --git a/board/freescale/mpc8349emds/ddr.c b/board/freescale/mpc8349emds/ddr.c new file mode 100644 index 000..0209c1e --- /dev/null +++ b/board/freescale/mpc8349emds/ddr.c @@ -0,0 +1,107 @@ +/* + * Copyright 2011 Freescale Semiconductor, Inc. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include common.h + +#include asm/fsl_ddr_sdram.h +#include asm/fsl_ddr_dimm_params.h + +struct board_specific_parameters { + u32 datarate_mhz_low; + u32 datarate_mhz_high; + u32 n_ranks; + u32 clk_adjust; + u32 cpo; + u32 write_data_delay; + u32 force_2T; +}; + +const struct board_specific_parameters board_specific_parameters_udimm[][20] = { + { + /* +* memory controller 0 +*lo| hi| num| clk| cpo|wrdata|2T +* mhz| mhz|ranks|adjst|| delay| +*/ + { 0, 300,2,4, 4,2, 0}, + {301, 365,2,4, 6,2, 0}, + {366, 450,2,4, 7,2, 0}, + {451, 850,2,4, 31,2, 0}, + { 0, 300,1,4, 4,2, 0}, + {301, 365,1,4, 6,2, 0}, + {366, 450,1,4, 7,2, 0}, + {451, 850,1,4, 31,2, 0} + } +}; + +void fsl_ddr_board_options(memctl_options_t *popts, + dimm_params_t *pdimm, + unsigned int ctrl_num) +{ + const struct board_specific_parameters *pbsp; + u32 num_params; + u32 i, dimm_num; + ulong ddr_freq; + + if (ctrl_num != 0) /* we have only one controller */ + return; + for (i = 0; i CONFIG_DIMM_SLOTS_PER_CTLR; i++) { + if (pdimm[i].n_ranks) + break; + } + if (i = CONFIG_DIMM_SLOTS_PER_CTLR)/* no DIMM */ + return; + + dimm_num = i; + pbsp = (board_specific_parameters_udimm[ctrl_num][0]); + num_params = sizeof(board_specific_parameters_udimm[ctrl_num]) / + sizeof(board_specific_parameters_udimm[0][0]); + + /* Get clk_adjust, cpo, write_data_delay,2T, according to the board ddr +* freqency and n_banks specified in board_specific_parameters table. +*/ + ddr_freq = get_ddr_freq(0) / 100; + for (i = 0; i num_params; i++) { + if (ddr_freq = pbsp-datarate_mhz_low + ddr_freq = pbsp-datarate_mhz_high + pdimm[dimm_num].n_ranks == pbsp-n_ranks) { + popts-clk_adjust = pbsp-clk_adjust; + popts-cpo_override = pbsp-cpo; + popts-write_data_delay = pbsp-write_data_delay; + popts-twoT_en = pbsp-force_2T; + break; + } + pbsp++; + } + + if (i == num_params) { + printf(Warning: board specific timing not found + for data rate %lu MT/s!\n, ddr_freq); + } + + /* +* Factors to consider for half-strength driver enable: +* -
Re: [U-Boot] [PATCH] NAND: Add nand read.raw and write.raw commands
Dear Simon Schwarz, In message 4e57cb52.5000...@gmail.com you wrote: But isn't then the HW ECC misconfigured? AFAIK ECC information should be written only to the OOB never into the normal page. I'am really not sure if I understand the patch - it seems to me that you are writing/reading the oob while this collides with the description that you want to write data. Could you explain further what exactly the patch is supposed to do? There are some SoCs with quite funny requiremnts regarding the organization of NAND they expect for their ROM boot loader. The Freescale (or rather SigmaTel) i.MX28 is one of them. I think Marek needs this feature to format the NAND in such a way that booting from NAND works on i.MX28 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 The inappropriate cannot be beautiful. - Frank Lloyd Wright _The Future of Architecture_ (1953) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] beagleboard: enable HUB power on all variants of the BeagleBoard
On Wed, Aug 24, 2011 at 10:30 PM, Jason Kridner jkrid...@beagleboard.org wrote: On Wed, Aug 24, 2011 at 11:22 PM, Marek Vasut marek.va...@gmail.com wrote: On Thursday, August 25, 2011 12:47:41 AM Joel A Fernandes wrote: From: Christian Spielberger c.spielber...@bct-electronic.com Signed-off-by: Joel A Fernandes joelag...@ti.com Cc: Eric Bأ�nard e...@eukrea.com Cc: Christian Spielberger c.spielber...@bct-electronic.com --- Pushing this patch myself as no one else did. Previous discussions: http://article.gmane.org/gmane.comp.boot-loaders.u-boot/105663/ http://article.gmane.org/gmane.comp.boot-loaders.u-boot/101540/ board/ti/beagle/beagle.c | 10 +- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c index 13fe39b..9d65e9e 100644 --- a/board/ti/beagle/beagle.c +++ b/board/ti/beagle/beagle.c @@ -332,7 +332,15 @@ int misc_init_r(void) setenv(expansion_config.env_var, expansion_config.env_setting); twl4030_power_init(); - twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); + switch (get_board_revision()) { + case REVISION_XM_C: + case REVISION_C4: + twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); + break; + default: + twl4030_led_init(TWL4030_LED_LEDEN_LEDBON); + break; + } Please excuse if this is a duplicate, but I'm configuring a new mail tool and I don't think my other message got sent. It is XM_A and XM_B that are odd-balls, so the correct code should be something like: + switch (get_board_revision()) { + case REVISION_XM_A: + case REVISION_XM_B: + twl4030_led_init(TWL4030_LED_LEDEN_LEDBON); /* LEDA signal set low */ + break; + default: + twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); + break; Hi Jason, I think it should be: + switch (get_board_revision()) { + case REVISION_XM_A: + case REVISION_XM_B: + twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); /* LEDA signal set low */ + break; + default: + twl4030_led_init(TWL4030_LED_LEDEN_LEDBON); + break; Here's the equivalent in the linux kernel board file (default is GPIOF_OUT_INIT_LOW) printk(KERN_INFO OMAP3 Beagle Rev: xM Ax/Bx\n); omap3_beagle_version = OMAP3BEAGLE_BOARD_XM; beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH; Let me know your comments. thanks, Joel ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] powerpc/mpc8568mds: set pci1_hose.config_table after fsl_setup_hose
On Aug 24, 2011, at 12:20 AM, Zhao Chenhui wrote: The function fsl_setup_hose clears the variable pci1_hose. Set pci1_hose.config_table after it. Signed-off-by: Zhao Chenhui chenhui.z...@freescale.com --- board/freescale/mpc8568mds/mpc8568mds.c | 11 +-- 1 files changed, 5 insertions(+), 6 deletions(-) applied to 85xx - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/3] powerpc/mpc8610hpcd: set pci1_hose.config_table after fsl_setup_hose
On Aug 24, 2011, at 12:20 AM, Zhao Chenhui wrote: The function fsl_setup_hose clears the variable pci1_hose. Set pci1_hose.config_table after it. Signed-off-by: Zhao Chenhui chenhui.z...@freescale.com --- board/freescale/mpc8610hpcd/mpc8610hpcd.c | 11 +-- 1 files changed, 5 insertions(+), 6 deletions(-) applied to 85xx - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/3] powerpc/mpc8610hpcd: set pci1_hose.config_table after fsl_setup_hose
On Aug 24, 2011, at 12:20 AM, Zhao Chenhui wrote: The function fsl_setup_hose clears the variable pci1_hose. Set pci1_hose.config_table after it. Signed-off-by: Zhao Chenhui chenhui.z...@freescale.com --- board/freescale/mpc8610hpcd/mpc8610hpcd.c | 11 +-- 1 files changed, 5 insertions(+), 6 deletions(-) applied to 85xx - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] git fetch failure
Today, I tried to run git fetch http://git.denx.de/u-boot.git but got the following error error: Unable to find dbf545f2d11cd3118c6c8b54122adfbe799ea1b8 under http://git.denx.de/u-boot.git Cannot obtain needed blob dbf545f2d11cd3118c6c8b54122adfbe799ea1b8 while processing commit fe0ddffac1ce63de71fe8e6398c4784937b52c84. error: Fetch failed. fe0ddffac1ce63de71fe8e6398c4784937b52c84 seems to be the HEAD of the repository. I'm not totally new to git, but this one has me stumped. Any ideas? thanks, Chris. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2] powerpc/85xx: Enable internal USB UTMI PHY on p204x/p3041/p50x0
On Jun 30, 2011, at 11:11 PM, Kumar Gala wrote: Signed-off-by: Kumar Gala ga...@kernel.crashing.org --- arch/powerpc/include/asm/config_mpc85xx.h |5 + 1 files changed, 5 insertions(+), 0 deletions(-) applied to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] git fetch failure
On Fri, Aug 26, 2011 at 02:59:41PM -0400, Christopher Harvey wrote: Today, I tried to run git fetch http://git.denx.de/u-boot.git but got the following error error: Unable to find dbf545f2d11cd3118c6c8b54122adfbe799ea1b8 under http://git.denx.de/u-boot.git Cannot obtain needed blob dbf545f2d11cd3118c6c8b54122adfbe799ea1b8 while processing commit fe0ddffac1ce63de71fe8e6398c4784937b52c84. error: Fetch failed. fe0ddffac1ce63de71fe8e6398c4784937b52c84 seems to be the HEAD of the repository. I'm not totally new to git, but this one has me stumped. Any ideas? thanks, Chris. I forgot to mention, I'm behind a firewall. Everything else seems to be working fine, I can even clone the u-boot git without trouble. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] [v3] powerpc/85xx: introduce and document CONFIG_SYS_CCSRBAR macros
On Aug 4, 2011, at 6:03 PM, Timur Tabi wrote: Introduce the CONFIG_SYS_CCSRBAR_PHYS_HIGH and CONFIG_SYS_CCSRBAR_PHYS_LOW macros, which contain the high and low portions of CONFIG_SYS_CCSRBAR_PHYS. This is necessary for the assembly-language code that relocates CCSR, since the assembler does not understand 64-bit constants. CONFIG_SYS_CCSRBAR_PHYS is automatically defined from the CONFIG_SYS_CCSRBAR_PHYS_HIGH and CONFIG_SYS_CCSRBAR_PHYS_LOW macros, so it should not be defined in a board header file. Similarly, CONFIG_SYS_CCSRBAR_DEFAULT is defined for each SOC in config_mpc85xx.h, so it should also not be defined in the board header file. CONFIG_SYS_CCSR_DO_NOT_RELOCATE is a short-cut macro that guarantees that CONFIG_SYS_CCSRBAR_PHYS is set to the same value as CONFIG_SYS_CCSRBAR_DEFAULT, and so CCSR will not be relocated. Since CONFIG_SYS_CCSRBAR_DEFAULT is locked to a fixed value, multi-stage U-Boot builds (e.g. NAND) are required to relocate CCSR only during the last stage (i.e. the real U-Boot). All other stages should define CONFIG_SYS_CCSR_DO_NOT_RELOCATE to ensure that CCSR is not relocated. README is updated with descriptions of all the CONFIG_SYS_CCSRBAR_xxx macros. Signed-off-by: Timur Tabi ti...@freescale.com --- applied to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] powerpc/85xx: relocate CCSR before creating the initial RAM area
On Aug 5, 2011, at 10:36 AM, Timur Tabi wrote: Before main memory (DDR) is initialized, the on-chip L1 cache is used as a memory area for the stack and the global data (gd_t) structure. This is called the initial RAM area, or initram. The L1 cache is locked and the TLBs point to a non-existent address (so that there's no chance it will overlap main memory or any device). The L1 cache is also configured not to write out to memory or the L2 cache, so everything stays in the L1 cache. One of the things we might do while running out of initram is relocate CCSR. On reset, CCSR is typically located at some high 32-bit address, like 0xfe00, and this may not be the best place for CCSR. For example, on 36-bit systems, CCSR is relocated to 0xffe00, near the top of 36-bit memory space. On some future Freescale SOCs, the L1 cache will be forced to write to the backing store, so we can no longer have the TLBs point to non-existent address. Instead, we will point the TLBs to an unused area in CCSR. In order for this technique to work, CCSR needs to be relocated before the initram memory is enabled. Unlike the original CCSR relocation code in cpu_init_early_f(), the TLBs we create now for relocating CCSR are deleted after the relocation is finished. cpu_init_early_f() will still need to create a TLB for CCSR (at the new location) for normal U-Boot purposes. This is done to keep the impact to existing U-Boot code minimal and to better isolate the CCSR relocation code. Signed-off-by: Timur Tabi ti...@freescale.com --- arch/powerpc/cpu/mpc85xx/cpu_init_early.c | 58 --- arch/powerpc/cpu/mpc85xx/start.S | 234 + 2 files changed, 234 insertions(+), 58 deletions(-) applied to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2] powerpc/85xx: Add support for new P102x/P2020 RDB style boards
On Aug 4, 2011, at 10:44 AM, Kumar Gala wrote: From: Li Yang le...@freescale.com The following boards share a common design but with minor variations between them: P1020MSBG-PC P1020RDB-PC P1020UTM-PC P1021RDB-PC P1024RDB P1025RDB P2020RDB-PC The P1020RDB-PC shares its roots in the existing P1020RDB board design, however uses DDR3 instead of DDR2. P2020RDB-PC differs from the P102x RDB-PC with 64-bit DDR and 100Mhz SYSCLK. Key features on these boards include: * DDR3 * NOR flash * NAND flash (on RDB's only) * SPI flash (on RDB's only) * SDHC/MMC card slot * VSC7385 Ethernet switch (on P1020MBG, P1020RDB, P1021RDB) * PCIE slot and mini-PCIE slots As these boards use soldered DDR chips not regular DIMMs, an on-board EEPROM is used to store SPD data. In case of absent or corrupted SPD, falling back to timing data embedded in the source code will be used. Raw timing data is extracted from DDR chip datasheet. Different speeds of DDR are supported with this approach. ODT option is forced to fit this set of boards, again because they don't have regular DIMMs. CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS is defined as 5ms to meet specification for writing timing. VSC firmware Address is defined by default in config file for eTSEC1. SD width is based off DIP switch. DIP switch is detected on the board by reading i2c bus and setting the appropriate mux values. Some boards have QE module in the silicon (P1021 and P1025). QE and eLBC have pins multiplexing. QE function needs to be disabled to access Nor Flash and CPLD. QE-UEC and QE-UART can be enabled for linux kernel by setting qe in hwconfig. In addition, QE-UEC and QE-TDM also have pins multiplexing, to enable QE-TDM for linux kernel, set qe;tdm in hwconfig. Syntax is as below 'setenv hwconfig qe' to enable QE UEC/UART and disable Nor-Flash/CPLD. 'setenv hwconfig 'qe;tdm'' to enalbe QE TDM and disable Nor-Flash/CPLD. Signed-off-by: York Sun york...@freescale.com Signed-off-by: Li Yang le...@freescale.com Signed-off-by: Zhao Chenhui b26...@freescale.com Signed-off-by: Matthew McClintock m...@freescale.com Signed-off-by: Poonam Aggrwal poonam.aggr...@freescale.com Signed-off-by: Priyanka Jain priyanka.j...@freescale.com Signed-off-by: Tang Yuantian b29...@freescale.com Signed-off-by: ramneek.mehresh ramneek.mehr...@freescale.com Signed-off-by: Prabhakar Kushwaha prabha...@freescale.com Signed-off-by: Matthew McClintock m...@freescale.com Signed-off-by: Xie Xiaobo x@freescale.com Signed-off-by: Kumar Gala ga...@kernel.crashing.org Signed-off-by: Jerry Huang chang-ming.hu...@freescale.com Signed-off-by: Akhil Goyal akhil.go...@freescale.com --- v2: * cleaned up useless typedef * cleaned up some trailing whitespace * changes based on CCSR cleanup patch applied to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 0/7][v2] powerpc/85xx: P1010RDB
On Aug 5, 2011, at 9:44 AM, Kumar Gala wrote: Patch series adds support for P1010RDB, NAND support (for IFC on P1010) and various errata fixes for P1010. V2 changes: * re-work based on CCSRBAR cleanup patches * white space fixes * checkpatch cleanup fixes * rework 'dummy' udelay in nand spl code applied 1-7, with commit message fix to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] powerpc/85xx: Fix compile warnings/errors if CONFIG_SYS_DPAA_FMAN isn't set
On Aug 1, 2011, at 1:20 AM, Kumar Gala wrote: Add ifdef protection around fman specific code related to device tree clock setup. If we dont have CONFIG_SYS_DPAA_FMAN defined we shouldn't be executing this code. Signed-off-by: Kumar Gala ga...@kernel.crashing.org --- arch/powerpc/cpu/mpc85xx/fdt.c |4 arch/powerpc/cpu/mpc85xx/portals.c |5 - 2 files changed, 8 insertions(+), 1 deletions(-) applied to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 0/2] fdt helper cleanup related to phandle support.
On Aug 1, 2011, at 1:22 AM, Kumar Gala wrote: Jerry, Please review and Ack. I would like this to go via 85xx tree as the fman ethernet driver code depends on these changes. thanks applied to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/5] powerpc/85xx: Add support for FMan ethernet in Independent mode
On Aug 2, 2011, at 2:33 AM, Kumar Gala wrote: The Frame Manager (FMan) on QorIQ SoCs with DPAA (datapath acceleration architecture) is the ethernet contoller block. Normally it is utilized via Queue Manager (Qman) and Buffer Manager (Bman). However for boot usage the FMan supports a mode similar to QE or CPM ethernet collers called Independent mode. Additionally the FMan block supports multiple 1g and 10g interfaces as a single entity in the system rather than each controller being managed uniquely. This means we have to initialize all of Fman regardless of the number of interfaces we utilize. Different SoCs support different combinations of the number of FMan as well as the number of 1g 10g interfaces support per Fman. We add support for the following SoCs: * P1023 - 1 Fman, 2x1g * P4080 - 2 Fman, each Fman has 4x1g and 1x10g * P204x/P3041/P5020 - 1 Fman, 5x1g, 1x10g Signed-off-by: Dave Liu dave...@freescale.com Signed-off-by: Andy Fleming aflem...@freescale.com Signed-off-by: Timur Tabi ti...@freescale.com Signed-off-by: Roy Zang tie-fei.z...@freescale.com Signed-off-by: Dai Haruki dai.har...@freescale.com Signed-off-by: Kim Phillips kim.phill...@freescale.com Signed-off-by: Ioana Radulescu ruxandra.radule...@freescale.com Signed-off-by: Lei Xu b33...@freescale.com Signed-off-by: Mingkai Hu mingkai...@freescale.com Signed-off-by: Scott Wood scottw...@freescale.com Signed-off-by: Shaohui Xie b21...@freescale.com Signed-off-by: Kumar Gala ga...@kernel.crashing.org --- * Removed static variable being init to 0 * Removed volatile from places it can be removed from Makefile |1 + arch/powerpc/cpu/mpc85xx/cpu_init.c |5 + arch/powerpc/cpu/mpc8xxx/cpu.c|4 + arch/powerpc/include/asm/config.h |5 + arch/powerpc/include/asm/fsl_dtsec.h | 244 arch/powerpc/include/asm/fsl_fman.h | 257 - arch/powerpc/include/asm/fsl_tgec.h | 215 +++ arch/powerpc/include/asm/immap_85xx.h | 23 +- drivers/net/Makefile |1 + drivers/net/fm/Makefile | 61 +++ drivers/net/fm/dtsec.c| 181 + drivers/net/fm/eth.c | 670 + drivers/net/fm/fm.c | 432 + drivers/net/fm/fm.h | 154 drivers/net/fm/init.c | 208 ++ drivers/net/fm/p1023.c| 68 drivers/net/fm/p4080.c| 94 + drivers/net/fm/p5020.c| 85 + drivers/net/fm/tgec.c | 119 ++ drivers/net/fm/tgec_phy.c | 139 +++ include/fm_eth.h | 114 ++ 21 files changed, 3068 insertions(+), 12 deletions(-) create mode 100644 arch/powerpc/include/asm/fsl_dtsec.h create mode 100644 arch/powerpc/include/asm/fsl_tgec.h create mode 100644 drivers/net/fm/Makefile create mode 100644 drivers/net/fm/dtsec.c create mode 100644 drivers/net/fm/eth.c create mode 100644 drivers/net/fm/fm.c create mode 100644 drivers/net/fm/fm.h create mode 100644 drivers/net/fm/init.c create mode 100644 drivers/net/fm/p1023.c create mode 100644 drivers/net/fm/p4080.c create mode 100644 drivers/net/fm/p5020.c create mode 100644 drivers/net/fm/tgec.c create mode 100644 drivers/net/fm/tgec_phy.c create mode 100644 include/fm_eth.h Wolfgang, Any issue merging this into 85xx next tree? [ and the other patches in the series ] - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] powerpc/mpc8548cds: Cleanup mpc8548cds.c
On Aug 24, 2011, at 12:20 AM, Zhao Chenhui wrote: Remove unnecessary or dead code/includes. Signed-off-by: Zhao Chenhui chenhui.z...@freescale.com --- board/freescale/mpc8548cds/mpc8548cds.c |7 --- 1 files changed, 0 insertions(+), 7 deletions(-) applied to 85xx next - k ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot