Re: [U-Boot] [PATCH v2] configs: imx: Make CONFIG_SYS_PROMPT uniform across FSL boards
Hi Fabio, On 04/11/2013 00:50, Fabio Estevam wrote: Hi Stefano, On Fri, Nov 1, 2013 at 8:12 AM, Fabio Estevam fabio.este...@freescale.com wrote: There is no real benefit in adding the board name into U-boot's prompt, so remove the custom CONFIG_SYS_PROMPT definitions so that the standard = prompt is used across FSL boards. Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- Changes since v1: - Remove CONFIG_SYS_PROMPT completely, instead of replacing with '=' Forgot to mention that this patch depends on Rob's: http://patchwork.ozlabs.org/patch/279334/ Right, I am tracking Rob's patch before including yours. 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-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/4] at91: add defines for reset type
Hi Heiko, On 11/04/2013 07:40 AM, Heiko Schocher wrote: From: Roger Meier r.me...@siemens.com Signed-off-by: Roger Meier r.me...@siemens.com Acked-by: Bo Shen voice.s...@atmel.com Reviewed-by: Heiko Schocher h...@denx.de Cc: Andreas Bießmann andreas.de...@googlemail.com --- changes for v2: - add Acked-by from Bo Shen --- arch/arm/include/asm/arch-at91/at91_rstc.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/include/asm/arch-at91/at91_rstc.h b/arch/arm/include/asm/arch-at91/at91_rstc.h index 423cf51..a942342 100644 --- a/arch/arm/include/asm/arch-at91/at91_rstc.h +++ b/arch/arm/include/asm/arch-at91/at91_rstc.h @@ -38,4 +38,11 @@ typedef struct at91_rstc { #define AT91_RSTC_SR_NRSTL 0x0001 +#define AT91_RSTC_RSTTYP (7 8)/* Reset Type */ +#define AT91_RSTC_RSTTYP_GENERAL (0 8) +#define AT91_RSTC_RSTTYP_WAKEUP (1 8) +#define AT91_RSTC_RSTTYP_WATCHDOG(2 8) +#define AT91_RSTC_RSTTYP_SOFTWARE(3 8) +#define AT91_RSTC_RSTTYP_USER(4 8) + #endif ... looks good to me. 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 v2 2/4] arm, at91: add function for waiting if reset ends
Hi Heiko, On 11/04/2013 07:40 AM, Heiko Schocher wrote: add function for waiting if reset ends. If reset never ends, timeout and print an error message. Signed-off-by: Heiko Schocher h...@denx.de Cc: Bo Shen voice.s...@atmel.com Cc: Andreas Bießmann andreas.de...@googlemail.com --- - changes for v2: - new in v2 --- arch/arm/cpu/arm926ejs/at91/reset.c| 15 +++ arch/arm/include/asm/arch-at91/at91_rstc.h | 1 + 2 files changed, 16 insertions(+) diff --git a/arch/arm/cpu/arm926ejs/at91/reset.c b/arch/arm/cpu/arm926ejs/at91/reset.c index e67f47b..03b661c 100644 --- a/arch/arm/cpu/arm926ejs/at91/reset.c +++ b/arch/arm/cpu/arm926ejs/at91/reset.c @@ -27,3 +27,18 @@ void reset_cpu(ulong ignored) while (1) ; } + +void at91_wait_for_reset(int timeout) this looks like millisecond timeout. +{ + struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; + int count = 0; + + while (!(readl(rstc-sr) AT91_RSTC_SR_NRSTL)) { + if (count = timeout) { + printf(reset timeout.\n); + return; + } + udelay(10); + timeout++; + } +} diff --git a/arch/arm/include/asm/arch-at91/at91_rstc.h b/arch/arm/include/asm/arch-at91/at91_rstc.h index a942342..7f4e59f 100644 --- a/arch/arm/include/asm/arch-at91/at91_rstc.h +++ b/arch/arm/include/asm/arch-at91/at91_rstc.h @@ -23,6 +23,7 @@ typedef struct at91_rstc { u32 mr; /* Reset Controller Mode Register */ } at91_rstc_t; Could you please add kernel-doc style documentation here to point that out? +void at91_wait_for_reset(int timeout); #endif /* __ASSEMBLY__ */ #define AT91_RSTC_KEY0xA500 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 v2 3/4] arm, at91: add Siemens board taurus and axm
On 11/04/2013 07:40 AM, Heiko Schocher wrote: enable support for the siemens AT91SAM9G20 based boards taurus and axm. Signed-off-by: Roger Meier r.me...@siemens.com Reviewed-by: Heiko Schocher h...@denx.de Cc: Andreas Bießmann andreas.de...@googlemail.com Cc: Bo Shen voice.s...@atmel.com --- - changes for v2: - add comments from bo shen - use gpio api - remove unneccessary comment - use at91_wait_for_reset() - remove unneccessary code in board file - Coding Style cleanup (tabs and unneccessary 1 after config define removed) - add commit message - add comments from Andreas Bießmann andreas.de...@googlemail.com: - detect sdram size on startup without read dram setting - get rid of MACH_TYPE definition in config file --- board/siemens/taurus/Makefile | 38 + board/siemens/taurus/taurus.c | 186 ++ boards.cfg| 2 + include/configs/taurus.h | 159 4 files changed, 385 insertions(+) create mode 100644 board/siemens/taurus/Makefile create mode 100644 board/siemens/taurus/taurus.c create mode 100644 include/configs/taurus.h diff --git a/board/siemens/taurus/Makefile b/board/siemens/taurus/Makefile new file mode 100644 index 000..9c288b7 --- /dev/null +++ b/board/siemens/taurus/Makefile @@ -0,0 +1,38 @@ +# +# Makefile for Siemens TAURUS (AT91SAM9G20) based board +# (C) Copyright 2013 Siemens AG +# +# Based on: +# U-Boot file: board/atmel/at91sam9260ek/Makefile +# +# (C) Copyright 2003-2008 +# Wolfgang Denk, DENX Software Engineering, w...@denx.de. +# +# (C) Copyright 2008 +# Stelian Pop stel...@popies.net +# Lead Tech Design www.leadtechdesign.com +# +# SPDX-License-Identifier: GPL-2.0+ +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS-y += taurus.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)) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c new file mode 100644 index 000..66d55d6 --- /dev/null +++ b/board/siemens/taurus/taurus.c @@ -0,0 +1,186 @@ +/* + * Board functions for Siemens TAURUS (AT91SAM9G20) based boards + * (C) Copyright Siemens AG + * + * Based on: + * U-Boot file: board/atmel/at91sam9260ek/at91sam9260ek.c + * + * (C) Copyright 2007-2008 + * Stelian Pop stel...@popies.net + * Lead Tech Design www.leadtechdesign.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include common.h +#include asm/io.h +#include asm/arch/at91sam9260_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/gpio.h +#include asm/arch/at91sam9_sdramc.h +#include atmel_mci.h + +#if defined(CONFIG_RESET_PHY_R) defined(CONFIG_MACB) minor complaint: I think we can include net.h unconditionally here. +# include net.h +#endif +#include netdev.h + +DECLARE_GLOBAL_DATA_PTR; + +#ifdef CONFIG_CMD_NAND +static void taurus_nand_hw_init(void) +{ + struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC; + struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX; + unsigned long csa; + + /* Assign CS3 to NAND/SmartMedia Interface */ + csa = readl(matrix-ebicsa); + csa |= AT91_MATRIX_CS3A_SMC_SMARTMEDIA; + writel(csa, matrix-ebicsa); + + /* Configure SMC CS3 for NAND/SmartMedia */ + writel(AT91_SMC_SETUP_NWE(2) | AT91_SMC_SETUP_NCS_WR(0) | +AT91_SMC_SETUP_NRD(2) | AT91_SMC_SETUP_NCS_RD(0), +smc-cs[3].setup); + writel(AT91_SMC_PULSE_NWE(4) | AT91_SMC_PULSE_NCS_WR(3) | +AT91_SMC_PULSE_NRD(4) | AT91_SMC_PULSE_NCS_RD(3), +smc-cs[3].pulse); + writel(AT91_SMC_CYCLE_NWE(7) | AT91_SMC_CYCLE_NRD(7), +smc-cs[3].cycle); + writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE | +AT91_SMC_MODE_EXNW_DISABLE | +AT91_SMC_MODE_DBW_8 | +AT91_SMC_MODE_TDF_CYCLE(3), +smc-cs[3].mode); + + /* Configure RDY/BSY */ + at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1); + + /* Enable NandFlash */ + at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1); +} +#endif + +#ifdef CONFIG_MACB +static void taurus_macb_hw_init(void) +{ + struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; + struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; + unsigned long erstl; + + /*
Re: [U-Boot] [PATCH] wandboard: README: Include the quad version
On 04/11/2013 00:51, Fabio Estevam wrote: Hi Stefano, On Thu, Sep 26, 2013 at 11:10 PM, Fabio Estevam feste...@gmail.com wrote: From: Fabio Estevam fabio.este...@freescale.com Wandboard quad was not ported into U-boot at the time of writing the README. Add it to the list of Wandboard variants. Signed-off-by: Fabio Estevam fabio.este...@freescale.com Could this one be applied? Sure ! 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-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 4/4] arm, at91: add siemens corvus board
Hi Heiko, On 11/04/2013 07:40 AM, Heiko Schocher wrote: enable support for the siemens AT91SAM9G20 based board corvus. Signed-off-by: Boris Schmidt boris.schm...@siemens.com Reviewed-by: Heiko Schocher h...@denx.de Cc: Andreas Bießmann andreas.de...@googlemail.com Cc: Bo Shen voice.s...@atmel.com --- - changes for v2: - add comments from Bo Shen - use gpio api - remove unneccessary comment - use at91_wait_for_reset() - remove unneccessary code in board file - Coding Style cleanup (tabs and unneccessary 1 after config define removed, use .xxx = x notation for initializing structs) - remove reset_phy() - remove CONFIG_SYS_MEMTEST_x defines, as mtest command is not used on this board. - changes load address - delete lcd support - add comments from Andreas Bießmann: - rearrange some init calls - remove some unneeded ifdef --- board/siemens/corvus/Makefile | 39 board/siemens/corvus/board.c | 216 ++ boards.cfg| 1 + include/configs/corvus.h | 165 4 files changed, 421 insertions(+) create mode 100644 board/siemens/corvus/Makefile create mode 100644 board/siemens/corvus/board.c create mode 100644 include/configs/corvus.h diff --git a/board/siemens/corvus/Makefile b/board/siemens/corvus/Makefile new file mode 100644 index 000..88981d8 --- /dev/null +++ b/board/siemens/corvus/Makefile @@ -0,0 +1,39 @@ +# +# Makefile for siemens CORVUS (AT91SAM9G45) based board +# (C) Copyright 2013 Siemens AG +# +# Based on: +# U-Boot file: board/atmel/at91sam9m10g45ek/Makefile +# +# (C) Copyright 2003-2008 +# Wolfgang Denk, DENX Software Engineering, w...@denx.de. +# +# (C) Copyright 2008 +# Stelian Pop stel...@popies.net +# Lead Tech Design www.leadtechdesign.com +# +# SPDX-License-Identifier: GPL-2.0+ +# + + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).o + +COBJS-y += board.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)) + +# + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +# diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c new file mode 100644 index 000..11f0d49 --- /dev/null +++ b/board/siemens/corvus/board.c @@ -0,0 +1,216 @@ +/* + * Board functions for Siemens CORVUS (AT91SAM9G45) based board + * (C) Copyright 2013 Siemens AG + * + * Based on: + * U-Boot file: board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c + * (C) Copyright 2007-2008 + * Stelian Pop stel...@popies.net + * Lead Tech Design www.leadtechdesign.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + + +#include common.h +#include asm/io.h +#include asm/arch/at91sam9g45_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/gpio.h +#include asm/arch/clk.h +#include lcd.h +#include atmel_lcdc.h +#if defined(CONFIG_RESET_PHY_R) defined(CONFIG_MACB) +#include net.h +#endif +#include netdev.h +#include spi.h + +DECLARE_GLOBAL_DATA_PTR; + +#ifdef CONFIG_CMD_NAND +static void corvus_nand_hw_init(void) +{ + struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC; + struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX; + struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; + unsigned long csa; + + /* Enable CS3 */ + csa = readl(matrix-ebicsa); + csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA; + writel(csa, matrix-ebicsa); + + /* Configure SMC CS3 for NAND/SmartMedia */ + writel(AT91_SMC_SETUP_NWE(1) | AT91_SMC_SETUP_NCS_WR(0) | +AT91_SMC_SETUP_NRD(1) | AT91_SMC_SETUP_NCS_RD(0), +smc-cs[3].setup); + writel(AT91_SMC_PULSE_NWE(4) | AT91_SMC_PULSE_NCS_WR(3) | +AT91_SMC_PULSE_NRD(3) | AT91_SMC_PULSE_NCS_RD(2), +smc-cs[3].pulse); + writel(AT91_SMC_CYCLE_NWE(7) | AT91_SMC_CYCLE_NRD(4), +smc-cs[3].cycle); + writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE | +AT91_SMC_MODE_EXNW_DISABLE | +#ifdef CONFIG_SYS_NAND_DBW_16 +AT91_SMC_MODE_DBW_16 | +#else /* CONFIG_SYS_NAND_DBW_8 */ +AT91_SMC_MODE_DBW_8 | +#endif +AT91_SMC_MODE_TDF_CYCLE(3), +smc-cs[3].mode); + + writel(1 ATMEL_ID_PIOC, pmc-pcer); + + /* Configure RDY/BSY */ + at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1); + + /* Enable NandFlash */ +
Re: [U-Boot] [PATCH] wandboard: README: Include the quad version
On 27/09/2013 04:10, Fabio Estevam wrote: From: Fabio Estevam fabio.este...@freescale.com Wandboard quad was not ported into U-boot at the time of writing the README. Add it to the list of Wandboard variants. Signed-off-by: Fabio Estevam fabio.este...@freescale.com --- Applied to u-boot-imx, thanks. 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-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] i2c: mxs_i2c: Squash endless loop
Hi Marek, On 02/11/2013 18:23, Marek Vasut wrote: + if (!timeout) { + debug(MXS I2C: Failed receiving data!\n); + return -EINVAL; + } + This is a real error and not a debug information. IMHO it should be better to print the error unconditionally with puts/printf, reporting that the timer elapsed. 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-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 2/4] arm, at91: add function for waiting if reset ends
Dear Heiko, In message 1383547247-7017-3-git-send-email...@denx.de you wrote: add function for waiting if reset ends. If reset never ends, timeout and print an error message. I think this patch needs some rework. First, I think we should point out in the commit mnessage that we're not talking about a general hardware reset here (how could the code be running if the CPU was helt in reset?), but that we are actually talking about the PHY reset. arch/arm/cpu/arm926ejs/at91/reset.c| 15 +++ arch/arm/include/asm/arch-at91/at91_rstc.h | 1 + 2 files changed, 16 insertions(+) Second, while I highly appreciate your effort to identify and factor out common code, we should then actually use this new common function to replace all the occurrences of that common code - i. e. I would expect to see modifications at least in the following files: board/BuS/vl_ma2sc/vl_ma2sc.c board/afeb9260/afeb9260.c board/atmel/at91sam9260ek/at91sam9260ek.c board/atmel/at91sam9263ek/at91sam9263ek.c board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c board/bluewater/snapper9260/snapper9260.c board/calao/sbc35_a9g20/sbc35_a9g20.c board/eukrea/cpu9260/cpu9260.c board/taskit/stamp9g20/stamp9g20.c Third, I think we should not only replace the waiting for the end og the PHY reset loop (and add a timeout to it), but instead we should factor out the whole block of code performing the PHY reset. From what I've seen, the following piece of code is repeated identical (except for formatting) in all these files: erstl = readl(rstc-mr) AT91_RSTC_MR_ERSTL_MASK; /* Need to reset PHY - 500ms reset */ writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | AT91_RSTC_MR_URSTEN, rstc-mr); writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST, rstc-cr); /* Wait for end hardware reset */ while (!(readl(rstc-sr) AT91_RSTC_SR_NRSTL)) ; /* Restore NRST value */ writel(AT91_RSTC_KEY | erstl | AT91_RSTC_MR_URSTEN, rstc-mr); So we should factor out all of this (and probably call the function at91_phy_reset() then?). Are thwere any AT91 experts out there who actually understand this code? In my (very limited) understanding, NRST is the microcon- troller reset pin, so Wait for end hardware reset (and polling AT91_RSTC_SR_NRSTL) does not make much sense - how could this code be running if the microprocessor was helt in reset? After asserting the AT91_RSTC_CR_EXTRST (external reset) we are probably waiting for something else? +void at91_wait_for_reset(int timeout) +{ + struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; + int count = 0; + + while (!(readl(rstc-sr) AT91_RSTC_SR_NRSTL)) { + if (count = timeout) { + printf(reset timeout.\n); + return; + } + udelay(10); + timeout++; + } +} Finally, you should fix the code so that it really times out - this code will not, as you initialize count as zero and then wait for count = timeout, but you never change count; instead you increment timeout, so you might have to wait for up to INT_MAX * 10 us or about 6 hours... ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] mxs_gpio: fix the handling in gpio_direction_output()
Hi Michael, On 03/11/2013 22:59, Michael Heimpold wrote: Setting the direction and an output value should be done by 1) set the desired output value, 2) switch to output. If this is done in the inverse order, there can be a glitch on the GPIO line. This patch fixes this by using the order as described above. Signed-off-by: Michael Heimpold m...@heimpold.de --- drivers/gpio/mxs_gpio.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/mxs_gpio.c b/drivers/gpio/mxs_gpio.c index d9a7a3a..da0199b 100644 --- a/drivers/gpio/mxs_gpio.c +++ b/drivers/gpio/mxs_gpio.c @@ -95,10 +95,10 @@ int gpio_direction_output(unsigned gpio, int value) struct mxs_register_32 *reg = (struct mxs_register_32 *)(MXS_PINCTRL_BASE + offset); - writel(1 PAD_PIN(gpio), reg-reg_set); - gpio_set_value(gpio, value); + writel(1 PAD_PIN(gpio), reg-reg_set); + Yes, we had the same fix for mxc (commit 04c79cbd5f8f773aa7823feec6e77862e7e6426f) Acked-by: Stefano Babic sba...@denx.de 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-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 3/4] arm, at91: add Siemens board taurus and axm
Hello Andreas, Am 04.11.2013 09:43, schrieb Andreas Bießmann: On 11/04/2013 07:40 AM, Heiko Schocher wrote: enable support for the siemens AT91SAM9G20 based boards taurus and axm. Signed-off-by: Roger Meierr.me...@siemens.com Reviewed-by: Heiko Schocherh...@denx.de Cc: Andreas Bießmannandreas.de...@googlemail.com Cc: Bo Shenvoice.s...@atmel.com --- - changes for v2: - add comments from bo shen - use gpio api - remove unneccessary comment - use at91_wait_for_reset() - remove unneccessary code in board file - Coding Style cleanup (tabs and unneccessary 1 after config define removed) - add commit message - add comments from Andreas Bießmannandreas.de...@googlemail.com: - detect sdram size on startup without read dram setting - get rid of MACH_TYPE definition in config file --- board/siemens/taurus/Makefile | 38 + board/siemens/taurus/taurus.c | 186 ++ boards.cfg| 2 + include/configs/taurus.h | 159 4 files changed, 385 insertions(+) create mode 100644 board/siemens/taurus/Makefile create mode 100644 board/siemens/taurus/taurus.c create mode 100644 include/configs/taurus.h diff --git a/board/siemens/taurus/Makefile b/board/siemens/taurus/Makefile new file mode 100644 index 000..9c288b7 --- /dev/null +++ b/board/siemens/taurus/Makefile [...] diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c new file mode 100644 index 000..66d55d6 --- /dev/null +++ b/board/siemens/taurus/taurus.c @@ -0,0 +1,186 @@ +/* + * Board functions for Siemens TAURUS (AT91SAM9G20) based boards + * (C) Copyright Siemens AG + * + * Based on: + * U-Boot file: board/atmel/at91sam9260ek/at91sam9260ek.c + * + * (C) Copyright 2007-2008 + * Stelian Popstel...@popies.net + * Lead Tech Designwww.leadtechdesign.com + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#includecommon.h +#includeasm/io.h +#includeasm/arch/at91sam9260_matrix.h +#includeasm/arch/at91sam9_smc.h +#includeasm/arch/at91_common.h +#includeasm/arch/at91_pmc.h +#includeasm/arch/at91_rstc.h +#includeasm/arch/gpio.h +#includeasm/arch/at91sam9_sdramc.h +#includeatmel_mci.h + +#if defined(CONFIG_RESET_PHY_R) defined(CONFIG_MACB) minor complaint: I think we can include net.h unconditionally here. removed. +# includenet.h +#endif +#includenetdev.h + +DECLARE_GLOBAL_DATA_PTR; + +#ifdef CONFIG_CMD_NAND +static void taurus_nand_hw_init(void) +{ + struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC; + struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX; + unsigned long csa; + + /* Assign CS3 to NAND/SmartMedia Interface */ + csa = readl(matrix-ebicsa); + csa |= AT91_MATRIX_CS3A_SMC_SMARTMEDIA; + writel(csa,matrix-ebicsa); + + /* Configure SMC CS3 for NAND/SmartMedia */ + writel(AT91_SMC_SETUP_NWE(2) | AT91_SMC_SETUP_NCS_WR(0) | + AT91_SMC_SETUP_NRD(2) | AT91_SMC_SETUP_NCS_RD(0), + smc-cs[3].setup); + writel(AT91_SMC_PULSE_NWE(4) | AT91_SMC_PULSE_NCS_WR(3) | + AT91_SMC_PULSE_NRD(4) | AT91_SMC_PULSE_NCS_RD(3), + smc-cs[3].pulse); + writel(AT91_SMC_CYCLE_NWE(7) | AT91_SMC_CYCLE_NRD(7), + smc-cs[3].cycle); + writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE | + AT91_SMC_MODE_EXNW_DISABLE | + AT91_SMC_MODE_DBW_8 | + AT91_SMC_MODE_TDF_CYCLE(3), + smc-cs[3].mode); + + /* Configure RDY/BSY */ + at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1); + + /* Enable NandFlash */ + at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1); +} +#endif + +#ifdef CONFIG_MACB +static void taurus_macb_hw_init(void) +{ + struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; + struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; + unsigned long erstl; + + /* Enable EMAC clock */ + writel(1 ATMEL_ID_EMAC0,pmc-pcer); Is it required to enable the MACB clock before PHY reset? It will be done later on in at91_macb_hw_init() in any case. Hmm.. this is done in more at91 boards ... Hmm.. seems we should look, if we can make this function common? If I see this correct, only the pin setup is board specific, or? + + /* +* Disable pull-up on: +* RXDV (PA17) = PHY normal mode (not Test mode) +* ERX0 (PA14) = PHY ADDR0 +* ERX1 (PA15) = PHY ADDR1 +* ERX2 (PA25) = PHY ADDR2 +* ERX3 (PA26) = PHY ADDR3 +* ECRS (PA28) = PHY ADDR4 = PHYADDR = 0x0 +* +* PHY has internal pull-down +*/ + at91_set_pio_pullup(AT91_PIO_PORTA, 14, 0); + at91_set_pio_pullup(AT91_PIO_PORTA, 15, 0); + at91_set_pio_pullup(AT91_PIO_PORTA, 17, 0); + at91_set_pio_pullup(AT91_PIO_PORTA, 25, 0); + at91_set_pio_pullup(AT91_PIO_PORTA, 26,
Re: [U-Boot] [PATCH v2 2/4] arm, at91: add function for waiting if reset ends
Hello Wolfgang, Am 04.11.2013 10:03, schrieb Wolfgang Denk: Dear Heiko, In message1383547247-7017-3-git-send-email...@denx.de you wrote: add function for waiting if reset ends. If reset never ends, timeout and print an error message. I think this patch needs some rework. First, I think we should point out in the commit mnessage that we're not talking about a general hardware reset here (how could the code be running if the CPU was helt in reset?), but that we are actually talking about the PHY reset. arch/arm/cpu/arm926ejs/at91/reset.c| 15 +++ arch/arm/include/asm/arch-at91/at91_rstc.h | 1 + 2 files changed, 16 insertions(+) Second, while I highly appreciate your effort to identify and factor out common code, we should then actually use this new common function to replace all the occurrences of that common code - i. e. I would expect to see modifications at least in the following files: board/BuS/vl_ma2sc/vl_ma2sc.c board/afeb9260/afeb9260.c board/atmel/at91sam9260ek/at91sam9260ek.c board/atmel/at91sam9263ek/at91sam9263ek.c board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c board/bluewater/snapper9260/snapper9260.c board/calao/sbc35_a9g20/sbc35_a9g20.c board/eukrea/cpu9260/cpu9260.c board/taskit/stamp9g20/stamp9g20.c Yep, full ack, do this in the next version Third, I think we should not only replace the waiting for the end og the PHY reset loop (and add a timeout to it), but instead we should factor out the whole block of code performing the PHY reset. From what I've seen, the following piece of code is repeated identical (except for formatting) in all these files: erstl = readl(rstc-mr) AT91_RSTC_MR_ERSTL_MASK; /* Need to reset PHY - 500ms reset */ writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | AT91_RSTC_MR_URSTEN,rstc-mr); writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST,rstc-cr); /* Wait for end hardware reset */ while (!(readl(rstc-sr) AT91_RSTC_SR_NRSTL)) ; /* Restore NRST value */ writel(AT91_RSTC_KEY | erstl | AT91_RSTC_MR_URSTEN, rstc-mr); So we should factor out all of this (and probably call the function at91_phy_reset() then?). Yes. Are thwere any AT91 experts out there who actually understand this code? In my (very limited) understanding, NRST is the microcon- troller reset pin, so Wait for end hardware reset (and polling AT91_RSTC_SR_NRSTL) does not make much sense - how could this code be running if the microprocessor was helt in reset? After asserting the AT91_RSTC_CR_EXTRST (external reset) we are probably waiting for something else? Good question! +void at91_wait_for_reset(int timeout) +{ + struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; + int count = 0; + + while (!(readl(rstc-sr) AT91_RSTC_SR_NRSTL)) { + if (count= timeout) { + printf(reset timeout.\n); + return; + } + udelay(10); + timeout++; + } +} Finally, you should fix the code so that it really times out - this code will not, as you initialize count as zero and then wait for count= timeout, but you never change count; instead you increment timeout, so you might have to wait for up to INT_MAX * 10 us or about 6 hours... Good catch! Thanks bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Pull request: u-boot-blackfin
Hi Tom, Please pull the following patches from u-boot-blackfin into your tree. Thanks Sonic Zhang The following changes since commit 509dca7a11aad394d781a9d31a7bfa6692562741: Merge branch 'master' of git://git.denx.de/u-boot-video (2013-10-30 08:36:48 -0400) are available in the git repository at: git://git.denx.de/u-boot-blackfin.git master for you to fetch changes up to cae4d0403c0863176f228d410d6a29b3f4b9d595: blackfin: Move machine specific gpio_port_t structure back to blackfin arch folder. (2013-11-04 16:50:46 +0800) Masahiro Yamada (1): blackfin: fix a warning in arch/blackfin/cpu/cpu.c Steven Miao (1): blackfin: Move machine specific gpio_port_t structure back to blackfin arch folder. arch/blackfin/cpu/Makefile | 2 +- arch/blackfin/cpu/cpu.c | 3 +++ arch/blackfin/cpu/gpio.c | 17 + arch/blackfin/include/asm/gpio.h | 3 +++ drivers/gpio/adi_gpio2.c | 17 - 5 files changed, 24 insertions(+), 18 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] arm: at91: support for the Calao USB-A9263 board (based on AT91SAM9263)
Dear Mateusz Kulikowski, On 11/01/2013 08:26 PM, Mateusz Kulikowski wrote: On 29.10.2013 10:12, Andreas Bießmann wrote: + +/*define the area offsets*/ +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = { +{0x, 0x1FFF, FLAG_PROTECT_SET, 0, Bootstrap}, +{0x2000, 0x3FFF, FLAG_PROTECT_CLEAR, 0, Environment}, +{0x4000, 0x, FLAG_PROTECT_SET, 0, U-Boot}, +}; I would really like to see that removed. The dataflash thing is another part on my todo list. The common mtd code can handle these devices too (see for example at91sam9n12ek, at91sam9x5ek, ethernut5 sam5d3xek and top9000). I did some short testing on that for at91sam9263ek (at home, never sent to the list) and it worked basically. Will see if I find it this evening, clean up and post it this evening CET. What kind of Dataflash have you used? Dataflash on Calao (at45db021b) does not have read-id command. It also has different command set than more recent version (*021d). It may be tricky to probe and operate it without modifying SPI drivers. Sorry, haven't realized that. I have to check which dataflash was attached to that board. For now I will move partition code to main board file; If I figure out how to handle that Dataflash - I'll update the code. fine! snip As for the memory concerns, I did little test: - enabled debugs in board_[fr].c (they print nicely memory layout), - Filled u-boot binary with commands/garbage to reach max size supported by AT91bootstrap (200704) - Flashed, booted the board. Below - log (parts): log U-Boot 2013.10-00122-g509dca7-dirty (Nov 01 2013 - 20:09:46) U-Boot code: 23F0 - 23F2C570 BSS: - 23F31498 Your code uses 23f0 up to 23f31498, is 197.15 KiB CPU: AT91SAM9263 Crystal frequency: 12 MHz CPU clock: 180 MHz Master clock : 90 MHz DRAM: Monitor len: 00031498 Ram size: 0400 Ram top: 2400 TLB table from 23ff to 23ff4000 Reserving 197k for U-Boot at: 23fbe000 Reserving 152k for malloc() at: 23f98000 Reserving 84 Bytes for Board Info at: 23f97fac Reserving 176 Bytes for Global Data at: 23f97efc The relocated environment will use the top of RAM down to 23f97efc RAM Configuration: Bank #0: 2000 DRAM: 64 MiB New Stack Pointer is: 23f97ed0 Relocation Offset is: 000be000 Relocating to 23fbe000, new gd at 23f97efc, sp at 23f97ed0 image_copy: 23f0 23f2c570 - @setup_reloc() image_copy: 23fbe000 23fea570 - @board_init_r() WARNING: Caches not enabled Now running in RAM - U-Boot at: 23fbe000 /log If I understand correctly, this means that we have plenty of space between start of stack, and end of non-relocated U-Boot (. _plenty_ of space is not true here (in my understanding), but 410 KiB will be enough ;) 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 v2 4/4] arm, at91: add siemens corvus board
Hello Andreas, Am 04.11.2013 09:53, schrieb Andreas Bießmann: Hi Heiko, On 11/04/2013 07:40 AM, Heiko Schocher wrote: enable support for the siemens AT91SAM9G20 based board corvus. Signed-off-by: Boris Schmidtboris.schm...@siemens.com Reviewed-by: Heiko Schocherh...@denx.de Cc: Andreas Bießmannandreas.de...@googlemail.com Cc: Bo Shenvoice.s...@atmel.com --- - changes for v2: - add comments from Bo Shen - use gpio api - remove unneccessary comment - use at91_wait_for_reset() - remove unneccessary code in board file - Coding Style cleanup (tabs and unneccessary 1 after config define removed, use .xxx = x notation for initializing structs) - remove reset_phy() - remove CONFIG_SYS_MEMTEST_x defines, as mtest command is not used on this board. - changes load address - delete lcd support - add comments from Andreas Bießmann: - rearrange some init calls - remove some unneeded ifdef --- board/siemens/corvus/Makefile | 39 board/siemens/corvus/board.c | 216 ++ boards.cfg| 1 + include/configs/corvus.h | 165 4 files changed, 421 insertions(+) create mode 100644 board/siemens/corvus/Makefile create mode 100644 board/siemens/corvus/board.c create mode 100644 include/configs/corvus.h diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c new file mode 100644 index 000..11f0d49 --- /dev/null +++ b/board/siemens/corvus/board.c @@ -0,0 +1,216 @@ [...] +#ifdef CONFIG_MACB +static void corvus_macb_hw_init(void) +{ + struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; + struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; + unsigned long erstl; + + /* Enable clock */ + writel(1 ATMEL_ID_EMAC,pmc-pcer); + + /* +* Disable pull-up on: +* RXDV (PA15) = PHY normal mode (not Test mode) +* ERX0 (PA12) = PHY ADDR0 +* ERX1 (PA13) = PHY ADDR1 = PHYADDR = 0x0 +* +* PHY has internal pull-down +*/ + at91_set_pio_pullup(AT91_PIO_PORTA, 15, 0); + at91_set_pio_pullup(AT91_PIO_PORTA, 12, 0); + at91_set_pio_pullup(AT91_PIO_PORTA, 13, 0); Here applies the same statement as for the taurus board: Could you please wait for 'ATMEL_LEGACY' PIO API change or provide at91 portmux API (I think the AVR32 portmux API is a good starting point). Yes. + + erstl = readl(rstc-mr) AT91_RSTC_MR_ERSTL_MASK; + + /* Need to reset PHY - 500ms reset */ + writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | + AT91_RSTC_MR_URSTEN,rstc-mr); + + writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST,rstc-cr); + + /* Wait for end of reset */ + at91_wait_for_reset(100); You say above, that this will be 500ms reset pulse ... but wait just 100ms. Is that Ok? Please also check the taurus board. We should rework this as Wolfgang suggested, or? + /* Restore NRST value */ + writel(AT91_RSTC_KEY | erstl | AT91_RSTC_MR_URSTEN, + rstc-mr); + + /* Re-enable pull-up */ + at91_set_pio_pullup(AT91_PIO_PORTA, 15, 1); + at91_set_pio_pullup(AT91_PIO_PORTA, 12, 1); + at91_set_pio_pullup(AT91_PIO_PORTA, 13, 1); + + /* And the pins. */ + at91_macb_hw_init(); +} +#endif + +int board_early_init_f(void) +{ + at91_seriald_hw_init(); + return 0; +} + +int board_init(void) +{ + /* address of boot parameters */ + gd-bd-bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; + +#ifdef CONFIG_CMD_NAND + corvus_nand_hw_init(); +#endif +#ifdef CONFIG_ATMEL_SPI + at91_spi0_hw_init(1 4); +#endif +#ifdef CONFIG_HAS_DATAFLASH + at91_spi0_hw_init(1 0); +#endif +#ifdef CONFIG_MACB + corvus_macb_hw_init(); +#endif +#ifdef CONFIG_CMD_USB + at91sam9m10g45ek_usb_hw_init(); NAK, this is located in another board file (at91sam9m10g45ek), please adopt. reworked. +#endif + return 0; +} + +#ifdef CONFIG_RESET_PHY_R Why provide empty reset_phy? Just remove the CONFIG_RESET_PHY_R in board config. removed. [...] diff --git a/include/configs/corvus.h b/include/configs/corvus.h new file mode 100644 index 000..b864562 --- /dev/null +++ b/include/configs/corvus.h @@ -0,0 +1,165 @@ [...] +/* LED */ +#define CONFIG_AT91_LED +#defineCONFIG_RED_LED AT91_PIN_PD31 /* this is the user1 led */ +#defineCONFIG_GREEN_LEDAT91_PIN_PD0/* this is the user2 led */ Could you please remove thetab between 'define' and defined name. removed. [...] bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 4/4] arm, at91: add siemens corvus board
Hello Heiko, On 11/04/2013 10:53 AM, Heiko Schocher wrote: Am 04.11.2013 09:53, schrieb Andreas Bießmann: On 11/04/2013 07:40 AM, Heiko Schocher wrote: snip +erstl = readl(rstc-mr) AT91_RSTC_MR_ERSTL_MASK; + +/* Need to reset PHY - 500ms reset */ +writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | +AT91_RSTC_MR_URSTEN,rstc-mr); + +writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST,rstc-cr); + +/* Wait for end of reset */ +at91_wait_for_reset(100); You say above, that this will be 500ms reset pulse ... but wait just 100ms. Is that Ok? Please also check the taurus board. We should rework this as Wolfgang suggested, or? Could you please give me a pointer? I can't remember what Wolfgang suggested here. 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] [RFC PATCH 2/2] usb: dfu: correct dfu buffer inited value
Hi Bo, After dfu buffer is initialized, the buffer should be all available, while not 0. Initialize its value to min(dfu_buf_size, dfu-r_left). Signed-off-by: Bo Shen voice.s...@atmel.com --- drivers/dfu/dfu.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index 65c6984..b8c8aa4 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -288,7 +288,7 @@ int dfu_read(struct dfu_entity *dfu, void *buf, int size, int blk_seq_num) dfu-offset = 0; dfu-i_buf_end = dfu_get_buf() + dfu_buf_size; dfu-i_buf = dfu-i_buf_start; - dfu-b_left = 0; + dfu-b_left = min(dfu_buf_size, dfu-r_left); I've testd in on Trats. It causes dfu read to be performed two times. Could you write a more verbose message to explain the problem that you are trying to solve? I can _only_ suppose that you want to read/write data from/to NAND memory. So, I'm curious why dfu-util breaks with your setup but works at am335x. Both chips are supposed to use dfu_nand.c for performing NAND read/write. dfu-bad_skip = 0; -- Best regards, Lukasz Majewski Samsung RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 4/4] arm, at91: add siemens corvus board
Hello Andreas, Am 04.11.2013 11:15, schrieb Andreas Bießmann: Hello Heiko, On 11/04/2013 10:53 AM, Heiko Schocher wrote: Am 04.11.2013 09:53, schrieb Andreas Bießmann: On 11/04/2013 07:40 AM, Heiko Schocher wrote: snip +erstl = readl(rstc-mr) AT91_RSTC_MR_ERSTL_MASK; + +/* Need to reset PHY - 500ms reset */ +writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | +AT91_RSTC_MR_URSTEN,rstc-mr); + +writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST,rstc-cr); + +/* Wait for end of reset */ +at91_wait_for_reset(100); You say above, that this will be 500ms reset pulse ... but wait just 100ms. Is that Ok? Please also check the taurus board. We should rework this as Wolfgang suggested, or? Could you please give me a pointer? I can't remember what Wolfgang suggested here. See Wolfgangs comment to my arm, at91: add function for waiting if reset ends patch: http://lists.denx.de/pipermail/u-boot/2013-November/166061.html bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 2/4] arm, at91: add function for waiting if reset ends
Dear Wolfgang, On 11/04/2013 10:03 AM, Wolfgang Denk wrote: In message 1383547247-7017-3-git-send-email...@denx.de you wrote: add function for waiting if reset ends. If reset never ends, timeout and print an error message. I think this patch needs some rework. First, I think we should point out in the commit mnessage that we're not talking about a general hardware reset here (how could the code be running if the CPU was helt in reset?), but that we are actually talking about the PHY reset. arch/arm/cpu/arm926ejs/at91/reset.c| 15 +++ arch/arm/include/asm/arch-at91/at91_rstc.h | 1 + 2 files changed, 16 insertions(+) Second, while I highly appreciate your effort to identify and factor out common code, we should then actually use this new common function to replace all the occurrences of that common code - i. e. I would expect to see modifications at least in the following files: board/BuS/vl_ma2sc/vl_ma2sc.c board/afeb9260/afeb9260.c board/atmel/at91sam9260ek/at91sam9260ek.c board/atmel/at91sam9263ek/at91sam9263ek.c board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c board/bluewater/snapper9260/snapper9260.c board/calao/sbc35_a9g20/sbc35_a9g20.c board/eukrea/cpu9260/cpu9260.c board/taskit/stamp9g20/stamp9g20.c Full ACK. Third, I think we should not only replace the waiting for the end og the PHY reset loop (and add a timeout to it), but instead we should factor out the whole block of code performing the PHY reset. From what I've seen, the following piece of code is repeated identical (except for formatting) in all these files: erstl = readl(rstc-mr) AT91_RSTC_MR_ERSTL_MASK; Get and save the length of reset pulse. /* Need to reset PHY - 500ms reset */ writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | AT91_RSTC_MR_URSTEN, rstc-mr); Setup reset pulse for nearly 500ms (2^(13 + 1) slow clock cycles), disable user reset interrupt but enable the user reset. writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST, rstc-cr); perform the external reset (but no processor nor internal peripherial) IOW pull the NRST line low. /* Wait for end hardware reset */ while (!(readl(rstc-sr) AT91_RSTC_SR_NRSTL)) ; Read the status register until the reset line NRST has high level. /* Restore NRST value */ writel(AT91_RSTC_KEY | erstl | AT91_RSTC_MR_URSTEN, rstc-mr); restore pulse length So we should factor out all of this (and probably call the function at91_phy_reset() then?). Full ACK. Are thwere any AT91 experts out there who actually understand this code? In my (very limited) understanding, NRST is the microcon- troller reset pin, so Wait for end hardware reset (and polling AT91_RSTC_SR_NRSTL) does not make much sense - how could this code be running if the microprocessor was helt in reset? After asserting the AT91_RSTC_CR_EXTRST (external reset) we are probably waiting for something else? Please read above. AT91 can setup the reset target (core, peripherial, external pin). We do only pull the line but do not reset the CPU nor internal peripherial. +void at91_wait_for_reset(int timeout) +{ +struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; +int count = 0; + +while (!(readl(rstc-sr) AT91_RSTC_SR_NRSTL)) { +if (count = timeout) { +printf(reset timeout.\n); +return; +} +udelay(10); +timeout++; +} +} Finally, you should fix the code so that it really times out - this code will not, as you initialize count as zero and then wait for count = timeout, but you never change count; instead you increment timeout, so you might have to wait for up to INT_MAX * 10 us or about 6 hours... good catch! 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 v2 4/4] arm, at91: add siemens corvus board
Hello Heiko, On 11/04/2013 10:53 AM, Heiko Schocher wrote: Am 04.11.2013 09:53, schrieb Andreas Bießmann: On 11/04/2013 07:40 AM, Heiko Schocher wrote: snip + +erstl = readl(rstc-mr) AT91_RSTC_MR_ERSTL_MASK; + +/* Need to reset PHY - 500ms reset */ +writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | +AT91_RSTC_MR_URSTEN,rstc-mr); + +writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST,rstc-cr); + +/* Wait for end of reset */ +at91_wait_for_reset(100); You say above, that this will be 500ms reset pulse ... but wait just 100ms. Is that Ok? Please also check the taurus board. We should rework this as Wolfgang suggested, or? Sounds good. I wonder if exactly that would be the task of CONFIG_RESET_PHY_R. snip +#ifdef CONFIG_RESET_PHY_R Why provide empty reset_phy? Just remove the CONFIG_RESET_PHY_R in board config. removed. Best regards Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Festival Shutdown : U-Boot Digest, Vol 66, Issue 4
Hi, Due to Diwali Festival, SLS will be closed from Oct. 31th to Nov. 6th. We will return on Nov. 7th to the office. For urgent matter please call on 001-408-852-0067. For more information about Diwali: http://en.wikipedia.org/wiki/Diwali Regards, Hemal Patel ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 3/4] arm, at91: add Siemens board taurus and axm
Hello Heiko, On 11/04/2013 10:09 AM, Heiko Schocher wrote: Am 04.11.2013 09:43, schrieb Andreas Bießmann: On 11/04/2013 07:40 AM, Heiko Schocher wrote: snip +#ifdef CONFIG_MACB +static void taurus_macb_hw_init(void) +{ +struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; +struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; +unsigned long erstl; + +/* Enable EMAC clock */ +writel(1 ATMEL_ID_EMAC0,pmc-pcer); Is it required to enable the MACB clock before PHY reset? It will be done later on in at91_macb_hw_init() in any case. Hmm.. this is done in more at91 boards ... Hmm.. seems we should look, if we can make this function common? If I see this correct, only the pin setup is board specific, or? That's true. How could we provide the gpio setup to a common function then? I think we should go with some at91_phy_reset() which should preferably run before enabling the (e)macb (would that be true for CONFIG_RESET_PHY_R?). I haven't checked it but think it would be Ok to enable the (e)macb peripheral clock when enabling the peripheral. Therefore the 'Enable EMAC clock' above could be removed. _All_ at91_macb_hw_init() should therefore enable the peripheral clock ... unfortunately some do not at the moment. snip +/* USB */ +#if defined(CONFIG_BOARD_TAURUS) +#define CONFIG_USB_ATMEL +#define CONFIG_USB_OHCI_NEW +#define CONFIG_SYS_USB_OHCI_CPU_INIT +#define CONFIG_SYS_USB_OHCI_REGS_BASE0x0050 +#define CONFIG_SYS_USB_OHCI_SLOT_NAMEat91sam9260 +#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS2LEGA What does '2LEGA' mean here? Hups... This should be: #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS2 Hmm... I do not find this in my patch file I send with git-sendmail Also in the mailarchive: http://lists.denx.de/pipermail/u-boot/2013-November/166040.html I could not find 2LEGA ... But in Patchwork, there is a 2LEGA ... http://patchwork.ozlabs.org/patch/288117/ I can't find it in the patch ... It seems, thats something introduced from you? Yea, maybe some cursor jump around in MUA while writing 'ATMEL_LEGACY'. Sorry for the trouble. 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 v2 3/5] usb, g_dnl: make iSerialNumber board configurable
Hi Heiko, add the possibility to set the iSerialNumber board specific. Default value for iSerialNumber is 0x0. This value can changed board specific through the new function g_dnl_set_serialnumber() which must be called from the board specific function g_dnl_bind_fixup(). Signed-off-by: Heiko Schocher h...@denx.de Cc: Marek Vasut marek.va...@gmail.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Kyungmin Park kyungmin.p...@samsung.com I tried to apply the patch to the newest origin/master (SHA1: 509dca7a11aad394d781a9d31a7bfa6692562741). Unfortunately it failed due to some previous patches applied to g_dnl.c file. Please rebase on top of origin/master --- changes for v2: - as Lukasz Majewski suggested, remove CONFIG_G_DNL_SERIAL_STRING define --- drivers/usb/gadget/g_dnl.c | 20 include/g_dnl.h| 1 + 2 files changed, 21 insertions(+) diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 40868c0..7a3d507 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -32,6 +32,9 @@ #define STRING_PRODUCT 2 /* Index of String Descriptor describing this configuration */ #define STRING_USBDOWN 2 +/* Index of String serial */ +#define STRING_SERIAL 3 +#define MAX_STRING_SERIAL32 /* Number of supported configurations */ #define CONFIGURATION_NUMBER 1 @@ -39,8 +42,16 @@ static const char shortname[] = usb_dnl_; static const char product[] = USB download gadget; +static char g_dnl_serial[MAX_STRING_SERIAL]; static const char manufacturer[] = CONFIG_G_DNL_MANUFACTURER; +void g_dnl_set_serialnumber(char *s) +{ + memset(g_dnl_serial, 0, MAX_STRING_SERIAL); + if (strlen(s) MAX_STRING_SERIAL) + strncpy(g_dnl_serial, s, strlen(s)); +} + static struct usb_device_descriptor device_desc = { .bLength = sizeof device_desc, .bDescriptorType = USB_DT_DEVICE, @@ -52,6 +63,7 @@ static struct usb_device_descriptor device_desc = { .idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM), .idProduct = __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM), .iProduct = STRING_PRODUCT, + .iSerialNumber = STRING_SERIAL, .bNumConfigurations = 1, }; @@ -62,6 +74,7 @@ static struct usb_device_descriptor device_desc = { static struct usb_string g_dnl_string_defs[] = { {.s = manufacturer}, {.s = product}, + {.s = g_dnl_serial}, { } /* end of list */ }; @@ -145,6 +158,13 @@ static int g_dnl_bind(struct usb_composite_dev *cdev) g_dnl_string_defs[1].id = id; device_desc.iProduct = id; + id = usb_string_id(cdev); + if (id 0) + return id; + + g_dnl_string_defs[2].id = id; + device_desc.iSerialNumber = id; + g_dnl_bind_fixup(device_desc); ret = g_dnl_config_register(cdev); if (ret) diff --git a/include/g_dnl.h b/include/g_dnl.h index 2b2f11a..be3114f 100644 --- a/include/g_dnl.h +++ b/include/g_dnl.h @@ -13,6 +13,7 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *); int g_dnl_register(const char *s); void g_dnl_unregister(void); +void g_dnl_set_serialnumber(char *); /* USB initialization declaration - board specific */ void board_usb_init(void); -- Best regards, Lukasz Majewski Samsung RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Minutes from the U-Boot Mini Summit 2013
Hi, [...] - Encourage custodians to delegate separable parts to new custodians (Lukasz volunteered for USB DFU) In the meantime we have setup a new repo for this custodianship[1] and are happy that Lukasz takes on this new responsibility. As discussed the other custodians are invited to propose comparable split-offs to get the work into more manageable areas of responsibility. Cheers Detlev [1] http://git.denx.de/?p=u-boot/u-boot-dfu.git;a=summary -- Another helpful hint for successful MIME processing: application/msword; rm -f %s; description=MS Word Text; -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] i2c: mxs_i2c: Squash endless loop
Hi Stefano, Hi Marek, On 02/11/2013 18:23, Marek Vasut wrote: + if (!timeout) { + debug(MXS I2C: Failed receiving data!\n); + return -EINVAL; + } + This is a real error and not a debug information. IMHO it should be better to print the error unconditionally with puts/printf, reporting that the timer elapsed. Returning -EINVAL will make the i2c stack trigger an output, so having it duplicated here is pointless I believe. Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
Hello Tom, Am 29.10.2013 12:30, schrieb Heiko Schocher: Hello Igor, Am 29.10.2013 12:07, schrieb Igor Grinberg: On 10/28/13 08:19, Heiko Schocher wrote: Hello Igor, Am 27.10.2013 08:30, schrieb Igor Grinberg: Hi Heiko, On 10/22/13 11:03, Heiko Schocher wrote: - add omap24xx driver to new multibus/multiadpater support - adapted all config files, which uses this driver Tested on the am335x based siemens boards rut, dxr2 and pxm2 posted here: http://patchwork.ozlabs.org/patch/263211/ Signed-off-by: Heiko Schocherh...@denx.de Tested-by: Tom Rinitr...@ti.com Cc: Lars Poeschelpoesc...@lemonage.de Cc: Steve Sakomansako...@gmail.com Cc: Thomas Weberwe...@corscience.de Cc: Tom Rixtom@windriver.com Cc: Grazvydas Ignotasnota...@gmail.com Cc: Enric Balletbo i Serraeballe...@iseebcn.com Cc: Luca Ceresoliluca.ceres...@comelit.it Cc: Igor Grinberggrinb...@compulab.co.il Cc: Ilya Yanokya...@emcraft.com Cc: Stefano Babicsba...@denx.de Cc: Nishanth Menonn...@ti.com Cc: Pali Rohárpali.ro...@gmail.com Cc: Peter Baradapeter.bar...@logicpd.com Cc: Nagendra T Snagen...@mistralsolutions.com Cc: Michael Jonesmichael.jo...@matrix-vision.de Cc: Raphael Assenatr...@8d.com [...] [...] diff --git a/board/compulab/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h index 02ffbb1..a07559d 100644 --- a/board/compulab/cm_t35/eeprom.h +++ b/board/compulab/cm_t35/eeprom.h @@ -10,7 +10,7 @@ #ifndef _EEPROM_ #define _EEPROM_ -#ifdef CONFIG_DRIVER_OMAP34XX_I2C +#ifdef CONFIG_SYS_I2C_OMAP34XX int cm_t3x_eeprom_read_mac_addr(uchar *buf); u32 cm_t3x_eeprom_get_board_rev(void); #else Please, rebase on top of: http://patchwork.ozlabs.org/patch/275284/ which should be applied any time soon. Otherwise, Acked-by: Igor Grinberggrinb...@compulab.co.il Hmm.. I cannot see, that your patch is accepted ... but I looked in it, and it looks good to me. So, I propose to add this patch to the i2c tree, so I do the necessary changes in my patch when applying it to the i2c tree (as they are trivial changes) ... Well, I have no problem with that, but we need to take into account that there are several more patches (unrelated to i2c) on the mailing list waiting for approval/apply and depend on my series. Ok. @Tom: Is this OK for you? I think, it would be better to apply my series to u-boot-ti and you can pull from it to the i2c tree? Hmm.. u-boot-i2c is based on u-boot.git not on u-boot-ti, and I did not want to change this. I can of course rebase my patch against u-boot-ti when Tom added your patch to u-boot-ti and resend it, and tom pick up my patch ... Tom, what do you think? bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] i2c: mxs_i2c: Squash endless loop
Hi Marek, On 04/11/2013 12:50, Marek Vasut wrote: Hi Stefano, Hi Marek, On 02/11/2013 18:23, Marek Vasut wrote: + if (!timeout) { + debug(MXS I2C: Failed receiving data!\n); + return -EINVAL; + } + This is a real error and not a debug information. IMHO it should be better to print the error unconditionally with puts/printf, reporting that the timer elapsed. Returning -EINVAL will make the i2c stack trigger an output, so having it duplicated here is pointless I believe. Agree on that. But then, should we not return -ETIMEDOUT (-110) ? We should print the error code in the i2c stack (do_i2c_read) instead of checking only if the return value is not null, as we do now. 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-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] i2c: mxs_i2c: Squash endless loop
Hello Stefano, Marek, Am 04.11.2013 13:03, schrieb Stefano Babic: Hi Marek, On 04/11/2013 12:50, Marek Vasut wrote: Hi Stefano, Hi Marek, On 02/11/2013 18:23, Marek Vasut wrote: + if (!timeout) { + debug(MXS I2C: Failed receiving data!\n); + return -EINVAL; + } + This is a real error and not a debug information. IMHO it should be better to print the error unconditionally with puts/printf, reporting that the timer elapsed. Returning -EINVAL will make the i2c stack trigger an output, so having it duplicated here is pointless I believe. Agree on that. But then, should we not return -ETIMEDOUT (-110) ? We Yes, that should be -ETIMEDOUT should print the error code in the i2c stack (do_i2c_read) instead of checking only if the return value is not null, as we do now. Yep, printing in do_i2c_read() the error code would be nice. Patches are welcome :-) bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 0/5] arm, am33xx: update for the am33xx based siemens boards
Hi Heiko, On Mon, Nov 4, 2013 at 2:02 AM, Heiko Schocher h...@denx.de wrote: Patch 1 introduces bootcount support for the 3 siemens boards. As there is no other possibility on this boards, the bootcounter is stored in the environment. To prevent a saveenv on all reboots, a upgrade_available U-Boot Environment variable is introduced. I must be missing something here but as commented on v1 [1], could you clarify why the scratchpad register in RTC that should be persistent is not used? Regards, Vaibhav [1] http://www.mail-archive.com/u-boot@lists.denx.de/msg124429.html ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 4/5] usb, g_dnl: make bcdDevice value configurable
add the possibility to set the bcdDevice number board specific. Therefore the weak function g_dnl_get_board_bcd_device_number() is introduced. Used on the siemens boards. Signed-off-by: Heiko Schocher h...@denx.de Acked-by: Lukasz Majewski l.majew...@samsung.com Cc: Marek Vasut marek.va...@gmail.com Cc: Kyungmin Park kyungmin.p...@samsung.com --- - changes for v3 rebase against current u-boot/master 509dca7a11aad394d781a9d31a7bfa6692562741 - changes for v2: add Acked-by from Lukasz Majewski --- drivers/usb/gadget/g_dnl.c | 23 +++ 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 8dc3d9f..dd95afe 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -147,6 +147,23 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) return 0; } +__weak int g_dnl_get_board_bcd_device_number(int gcnum) +{ + return gcnum; +} + +static int g_dnl_get_bcd_device_number(struct usb_composite_dev *cdev) +{ + struct usb_gadget *gadget = cdev-gadget; + int gcnum; + + gcnum = usb_gadget_controller_number(gadget); + if (gcnum 0) + gcnum += 0x200; + + return g_dnl_get_board_bcd_device_number(gcnum); +} + static int g_dnl_bind(struct usb_composite_dev *cdev) { struct usb_gadget *gadget = cdev-gadget; @@ -181,11 +198,9 @@ static int g_dnl_bind(struct usb_composite_dev *cdev) if (ret) goto error; - gcnum = usb_gadget_controller_number(gadget); - - debug(gcnum: %d\n, gcnum); + gcnum = g_dnl_get_bcd_device_number(cdev); if (gcnum = 0) - device_desc.bcdDevice = cpu_to_le16(0x0200 + gcnum); + device_desc.bcdDevice = cpu_to_le16(gcnum); else { debug(%s: controller '%s' not recognized\n, shortname, gadget-name); -- 1.8.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 1/5] bootcount: store bootcount var in environment
If no softreset save registers are found on the hardware bootcount is stored in the environment. To prevent a saveenv on all reboots, the environment variable upgrade_available is introduced. If upgrade_available is 0, bootcount is always 0 therefore no need to save the environment on u-boot boot, if upgrade_available is 1 bootcount is incremented in the environment and environment gets written on u-boot start. So the Userspace Applikation must set the upgrade_available and bootcount variable to 0 (for example with fw_setenv), if a boot was successfully. Signed-off-by: Heiko Schocher h...@denx.de --- - changes for v3 rebase against current u-boot/master 509dca7a11aad394d781a9d31a7bfa6692562741 - changes for v2 none --- README| 16 drivers/bootcount/Makefile| 1 + drivers/bootcount/bootcount_env.c | 29 + 3 files changed, 46 insertions(+) create mode 100644 drivers/bootcount/bootcount_env.c diff --git a/README b/README index d06e7a0..1aeae7e 100644 --- a/README +++ b/README @@ -784,6 +784,22 @@ The following options need to be configured: as a convenience, when switching between booting from RAM and NFS. +- Bootcount: + CONFIG_BOOTCOUNT_LIMIT + Implements a mechanism for detecting a repeating reboot + cycle, see: + http://www.denx.de/wiki/view/DULG/UBootBootCountLimit + + CONFIG_BOOTCOUNT_ENV + If no softreset save registers are found on the hardware + bootcount is stored in the environment. To prevent a + saveenv on all reboots, the environment variable + upgrade_available is used. If upgrade_available is + 0, bootcount is always 0, if upgrade_available is + 1 bootcount is incremented in the environment. + So the Userspace Applikation must set the upgrade_available + and bootcount variable to 0, if a boot was successfully. + - Pre-Boot Commands: CONFIG_PREBOOT diff --git a/drivers/bootcount/Makefile b/drivers/bootcount/Makefile index 2b517b6..8ec0423 100644 --- a/drivers/bootcount/Makefile +++ b/drivers/bootcount/Makefile @@ -11,6 +11,7 @@ COBJS-$(CONFIG_AT91SAM9XE)+= bootcount_at91.o COBJS-$(CONFIG_BLACKFIN) += bootcount_blackfin.o COBJS-$(CONFIG_SOC_DA8XX) += bootcount_davinci.o COBJS-$(CONFIG_BOOTCOUNT_RAM) += bootcount_ram.o +COBJS-$(CONFIG_BOOTCOUNT_ENV) += bootcount_env.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c) diff --git a/drivers/bootcount/bootcount_env.c b/drivers/bootcount/bootcount_env.c new file mode 100644 index 000..2d6e8db --- /dev/null +++ b/drivers/bootcount/bootcount_env.c @@ -0,0 +1,29 @@ +/* + * (C) Copyright 2013 + * Heiko Schocher, DENX Software Engineering, h...@denx.de. + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#include common.h + +void bootcount_store(ulong a) +{ + int upgrade_available = getenv_ulong(upgrade_available, 10, 0); + + if (upgrade_available) { + setenv_ulong(bootcount, a); + saveenv(); + } +} + +ulong bootcount_load(void) +{ + int upgrade_available = getenv_ulong(upgrade_available, 10, 0); + ulong val = 0; + + if (upgrade_available) + val = getenv_ulong(bootcount, 10, 0); + + return val; +} -- 1.8.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 3/5] usb, g_dnl: make iSerialNumber board configurable
add the possibility to set the iSerialNumber board specific. Default value for iSerialNumber is 0x0. This value can changed board specific through the new function g_dnl_set_serialnumber() which must be called from the board specific function g_dnl_bind_fixup(). Signed-off-by: Heiko Schocher h...@denx.de Cc: Marek Vasut marek.va...@gmail.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Kyungmin Park kyungmin.p...@samsung.com --- - changes for v3 rebase against current u-boot/master 509dca7a11aad394d781a9d31a7bfa6692562741 changes for v2: - as Lukasz Majewski suggested, remove CONFIG_G_DNL_SERIAL_STRING define --- drivers/usb/gadget/g_dnl.c | 20 include/g_dnl.h| 1 + 2 files changed, 21 insertions(+) diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 43f413a..8dc3d9f 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -33,6 +33,9 @@ #define STRING_PRODUCT 2 /* Index of String Descriptor describing this configuration */ #define STRING_USBDOWN 2 +/* Index of String serial */ +#define STRING_SERIAL 3 +#define MAX_STRING_SERIAL 32 /* Number of supported configurations */ #define CONFIGURATION_NUMBER 1 @@ -40,8 +43,16 @@ static const char shortname[] = usb_dnl_; static const char product[] = USB download gadget; +static char g_dnl_serial[MAX_STRING_SERIAL]; static const char manufacturer[] = CONFIG_G_DNL_MANUFACTURER; +void g_dnl_set_serialnumber(char *s) +{ + memset(g_dnl_serial, 0, MAX_STRING_SERIAL); + if (strlen(s) MAX_STRING_SERIAL) + strncpy(g_dnl_serial, s, strlen(s)); +} + static struct usb_device_descriptor device_desc = { .bLength = sizeof device_desc, .bDescriptorType = USB_DT_DEVICE, @@ -53,6 +64,7 @@ static struct usb_device_descriptor device_desc = { .idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM), .idProduct = __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM), .iProduct = STRING_PRODUCT, + .iSerialNumber = STRING_SERIAL, .bNumConfigurations = 1, }; @@ -63,6 +75,7 @@ static struct usb_device_descriptor device_desc = { static struct usb_string g_dnl_string_defs[] = { {.s = manufacturer}, {.s = product}, + {.s = g_dnl_serial}, { } /* end of list */ }; @@ -156,6 +169,13 @@ static int g_dnl_bind(struct usb_composite_dev *cdev) g_dnl_string_defs[1].id = id; device_desc.iProduct = id; + id = usb_string_id(cdev); + if (id 0) + return id; + + g_dnl_string_defs[2].id = id; + device_desc.iSerialNumber = id; + g_dnl_bind_fixup(device_desc, cdev-driver-name); ret = g_dnl_config_register(cdev); if (ret) diff --git a/include/g_dnl.h b/include/g_dnl.h index de669fb..8f813c2 100644 --- a/include/g_dnl.h +++ b/include/g_dnl.h @@ -13,5 +13,6 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *, const char *); int g_dnl_register(const char *s); void g_dnl_unregister(void); +void g_dnl_set_serialnumber(char *); #endif /* __G_DOWNLOAD_H_ */ -- 1.8.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 0/5] arm, am33xx: update for the am33xx based siemens boards
Patch 1 introduces bootcount support for the 3 siemens boards. As there is no other possibility on this boards, the bootcounter is stored in the environment. To prevent a saveenv on all reboots, a upgrade_available U-Boot Environment variable is introduced. Patch 2 makes the enabling of the RTC32K OSC configurable, as on the dxr2 board it is not used, and http://www.denx.de/wiki/view/U-Boot/DesignPrinciples#2_Keep_it_Fast says not enable things not used ... Patch 3 adds an option to set the iSerialNumber board specific, which is used on the 3 siemens boards. Patch 4 adds an option to set the bcdDevice number board specific, which is used on the 3 siemens boards. Patch 5 contains a lot of updates for the siemens boards, see commit message for detailed information. already posted patches on which this patchserie is based: [U-Boot,v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework http://patchwork.ozlabs.org/patch/285390/ [U-Boot] net, phy: fix AR8031 phy_mask http://patchwork.ozlabs.org/patch/276944/ [U-Boot,2/3] net, phy: fix NULL pointer deference http://patchwork.ozlabs.org/patch/272797/ changes for v2: - added comments from Lukasz Majewski for the USB DFU related parts changes for v3: - rebase against current u-boot/master 509dca7a11aad394d781a9d31a7bfa6692562741 Heiko Schocher (4): bootcount: store bootcount var in environment arm, am33x: make RTC32K OSC enable configurable usb, g_dnl: make iSerialNumber board configurable usb, g_dnl: make bcdDevice value configurable Samuel Egli (1): arm, am335x: update for the siemens boards README | 19 arch/arm/cpu/armv7/am33xx/board.c | 4 + board/siemens/common/factoryset.c | 24 - board/siemens/common/factoryset.h | 2 + board/siemens/dxr2/board.c | 11 +-- board/siemens/dxr2/board.h | 9 +- board/siemens/dxr2/mux.c | 158 + board/siemens/pxm2/board.c | 3 +- board/siemens/rut/board.c | 51 +-- drivers/bootcount/Makefile | 1 + drivers/bootcount/bootcount_env.c | 29 ++ drivers/usb/gadget/g_dnl.c | 43 - include/configs/dxr2.h | 13 ++- include/configs/pxm2.h | 7 +- include/configs/rut.h | 10 ++- include/configs/siemens-am33x-common.h | 69 ++ include/configs/ti_am335x_common.h | 1 + include/g_dnl.h| 1 + 18 files changed, 399 insertions(+), 56 deletions(-) create mode 100644 drivers/bootcount/bootcount_env.c Cc: Tom Rini tr...@ti.com Cc: Marek Vasut marek.va...@gmail.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Kyungmin Park kyungmin.p...@samsung.com Cc: Samuel Egli samuel.e...@siemens.com Cc: Pascal Bach pascal.b...@siemens.com Cc: Roger Meier r.me...@siemens.com Cc: Matthias Michel matthias.mic...@siemens.com -- 1.8.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 5/5] arm, am335x: update for the siemens boards
From: Samuel Egli samuel.e...@siemens.com - dxr2: define unused pins as input - do not enable RTC32K OSC on dxr2 board - update default environment - add splashpos=m,m to default environment, so splash screen is always centered. - adapt environment for bootcount feature - add altbootcmd to default environment - rut: SPL add early reset pulse for eth-phy, maXTouch and display - rut: display timing aenderungen - siemens boards: adapt for background color = white - add boutcount feature for the siemens boards store the bootcount in the environment, as we have no softreset save registers on this hardware. Use therefore the CONFIG_BOOTCOUNT_ENV bootcount driver. - change spi mode from 3 to 0 for the lcd init - add gpio pin for lcd reset with state 0 and add mdelay - siemens boards: use own USB id's - add dfu serial and device number for siemens boards Add for the siemens boards the possibility to define in dfu mode, the iSerialNumber and the bcdDevice fields in the USB Device descriptor. - fix upgrade mechanism based on bootcount Correct location of saveenv and remove not active variable. Add CONFIG_BOOT_RETRY_TIME and CONFIG_RESET_TO_RETRY to reboot board in case of empty kernel partition. Without these defines an empty kernel partition leads to an abort of boot process and one remains in u-boot prompt. - general cleanup of dxr2, pxm2 and rut boards all: * Remove net boot from bootcmd Ping can cause a crash on boards without ethernet phy. net_nfs command is used only for development * Add reset at the end of bootcmd In order to have an immediate reset of the boot when bootcmd fails, add reset at the end of bootcmd. rut: * add nand_img_size dxr2: * update nand_img_size * ddr3 timings updated with iocontrol property that can be modified via eeprom. New default parameters from software leveling with draco ES2. Signed-off-by: Samuel Egli samuel.e...@siemens.com Signed-off-by: Pascal Bach pascal.b...@siemens.com Signed-off-by: Roger Meier r.me...@siemens.com Signed-off-by: Heiko Schocher h...@denx.de Cc: Matthias Michel matthias.mic...@siemens.com Cc: Tom Rini tr...@ti.com --- - changes for v3 rebase against current u-boot/master 509dca7a11aad394d781a9d31a7bfa6692562741 changes for v2: - remove CONFIG_G_DNL_SERIAL_STRING --- board/siemens/common/factoryset.c | 24 - board/siemens/common/factoryset.h | 2 + board/siemens/dxr2/board.c | 11 +-- board/siemens/dxr2/board.h | 9 +- board/siemens/dxr2/mux.c | 158 + board/siemens/pxm2/board.c | 3 +- board/siemens/rut/board.c | 51 +-- include/configs/dxr2.h | 13 ++- include/configs/pxm2.h | 7 +- include/configs/rut.h | 10 ++- include/configs/siemens-am33x-common.h | 69 ++ 11 files changed, 305 insertions(+), 52 deletions(-) diff --git a/board/siemens/common/factoryset.c b/board/siemens/common/factoryset.c index fbe7997..266dbbb 100644 --- a/board/siemens/common/factoryset.c +++ b/board/siemens/common/factoryset.c @@ -15,7 +15,8 @@ #include asm/arch/sys_proto.h #include asm/unaligned.h #include net.h -#include usbdescriptors.h +#include errno.h +#include g_dnl.h #include factoryset.h #define EEPR_PG_SZ 0x80 @@ -224,8 +225,20 @@ int factoryset_read_eeprom(int i2c_addr) MAX_STRING_LENGTH)) { debug(display name: %s\n, factory_dat.disp_name); } - #endif + if (0 = get_factory_record_val(cp, size, (uchar *)DEV, + (uchar *)num, factory_dat.serial, + MAX_STRING_LENGTH)) { + debug(serial number: %s\n, factory_dat.serial); + } + if (0 = get_factory_record_val(cp, size, (uchar *)DEV, + (uchar *)ver, buf, + MAX_STRING_LENGTH)) { + factory_dat.version = simple_strtoul((char *)buf, + NULL, 16); + debug(version number: %d\n, factory_dat.version); + } + return 0; err: @@ -279,6 +292,13 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) { put_unaligned(factory_dat.usb_vendor_id, dev-idVendor); put_unaligned(factory_dat.usb_product_id, dev-idProduct); + g_dnl_set_serialnumber((char *)factory_dat.serial); + return 0; } + +int g_dnl_get_board_bcd_device_number(int gcnum) +{ + return factory_dat.version; +} #endif /* defined(CONFIG_SPL_BUILD) */ diff --git a/board/siemens/common/factoryset.h b/board/siemens/common/factoryset.h index 445f384..4d6de10 100644 --- a/board/siemens/common/factoryset.h +++ b/board/siemens/common/factoryset.h @@ -18,6 +18,8 @@ struct
Re: [U-Boot] [PATCH 00/18] Third step towards Kbuild: Convert rest of makefiles
Dear Masahiro Yamada, Dear Tom Rini, On 10/21/2013 04:53 AM, Masahiro Yamada wrote: snip cover letter for Kbuild introduction what is the time line for integrating Kbuild? I have some changes which would also touch makefiles and wonder if I should wait for Kbuild integration. 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 v3 2/5] arm, am33x: make RTC32K OSC enable configurable
As http://www.denx.de/wiki/view/U-Boot/DesignPrinciples#2_Keep_it_Fast states: Initialize devices only when they are needed within U-Boot enable the RTC32K OSC only, if CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC is enabled. Enable this in ti_am335x_common.h, so all boards in mainline should work as before. Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com --- On the dxr2 board the RTC32K_OSC it is not used, so disable it for this board, done in the 5th patch of this patchserie arm-am335x-update-for-the-siemens-boards - changes for v3 rebase against current u-boot/master 509dca7a11aad394d781a9d31a7bfa6692562741 - changes for v2 none --- README | 3 +++ arch/arm/cpu/armv7/am33xx/board.c | 4 include/configs/ti_am335x_common.h | 1 + 3 files changed, 8 insertions(+) diff --git a/README b/README index 1aeae7e..5fb835f 100644 --- a/README +++ b/README @@ -4325,6 +4325,9 @@ Low Level (hardware related) configuration options: NOTE : currently only supported on AM335x platforms. +- CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC: + Enables the RTC32K OSC on AM33xx based plattforms + Freescale QE/FMAN Firmware Support: --- diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c index a31bf40..7465ec5 100644 --- a/arch/arm/cpu/armv7/am33xx/board.c +++ b/arch/arm/cpu/armv7/am33xx/board.c @@ -148,6 +148,7 @@ __weak void am33xx_spl_board_init(void) do_setup_dpll(dpll_mpu_regs, dpll_mpu_opp100); } +#if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC) static void rtc32k_enable(void) { struct rtc_regs *rtc = (struct rtc_regs *)RTC_BASE; @@ -163,6 +164,7 @@ static void rtc32k_enable(void) /* Enable the RTC 32K OSC by setting bits 3 and 6. */ writel((1 3) | (1 6), rtc-osc); } +#endif static void uart_soft_reset(void) { @@ -231,8 +233,10 @@ void s_init(void) #if defined(CONFIG_SPL_BUILD) || defined(CONFIG_NOR_BOOT) prcm_init(); set_mux_conf_regs(); +#if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC) /* Enable RTC32K clock */ rtc32k_enable(); +#endif sdram_init(); #endif } diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h index d2e34ae..3441b0a 100644 --- a/include/configs/ti_am335x_common.h +++ b/include/configs/ti_am335x_common.h @@ -18,6 +18,7 @@ #define CONFIG_SYS_CACHELINE_SIZE 64 #define CONFIG_MAX_RAM_BANK_SIZE (1024 20)/* 1GB */ #define CONFIG_SYS_TIMERBASE 0x4804 /* Use Timer2 */ +#define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC #include asm/arch/omap.h -- 1.8.3.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] i2c: mxs_i2c: Squash endless loop
Hi Heiko, Hello Stefano, Marek, Am 04.11.2013 13:03, schrieb Stefano Babic: Hi Marek, On 04/11/2013 12:50, Marek Vasut wrote: Hi Stefano, Hi Marek, On 02/11/2013 18:23, Marek Vasut wrote: +if (!timeout) { +debug(MXS I2C: Failed receiving data! \n); +return -EINVAL; +} + This is a real error and not a debug information. IMHO it should be better to print the error unconditionally with puts/printf, reporting that the timer elapsed. Returning -EINVAL will make the i2c stack trigger an output, so having it duplicated here is pointless I believe. Agree on that. But then, should we not return -ETIMEDOUT (-110) ? We Yes, that should be -ETIMEDOUT Full ACK. should print the error code in the i2c stack (do_i2c_read) instead of checking only if the return value is not null, as we do now. Yep, printing in do_i2c_read() the error code would be nice. Patches are welcome :-) OK, shall I also print out an error message then? Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 0/5] arm, am33xx: update for the am33xx based siemens boards
Hello Bedia, Am 04.11.2013 13:45, schrieb Vaibhav Bedia: Hi Heiko, On Mon, Nov 4, 2013 at 2:02 AM, Heiko Schocherh...@denx.de wrote: Patch 1 introduces bootcount support for the 3 siemens boards. As there is no other possibility on this boards, the bootcounter is stored in the environment. To prevent a saveenv on all reboots, a upgrade_available U-Boot Environment variable is introduced. I must be missing something here but as commented on v1 [1], could you clarify why the scratchpad register in RTC that should be persistent is not used? Regards, Vaibhav [1] http://www.mail-archive.com/u-boot@lists.denx.de/msg124429.html Hups, missed this EMail ... :-( Hmm.. some boards from siemens do not use the RTC, so this approach is not possible here ... bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] i2c: mxs_i2c: Squash endless loop
Hello Marek, Am 04.11.2013 14:13, schrieb Marek Vasut: Hi Heiko, Hello Stefano, Marek, Am 04.11.2013 13:03, schrieb Stefano Babic: Hi Marek, On 04/11/2013 12:50, Marek Vasut wrote: Hi Stefano, Hi Marek, On 02/11/2013 18:23, Marek Vasut wrote: + if (!timeout) { + debug(MXS I2C: Failed receiving data! \n); + return -EINVAL; + } + This is a real error and not a debug information. IMHO it should be better to print the error unconditionally with puts/printf, reporting that the timer elapsed. Returning -EINVAL will make the i2c stack trigger an output, so having it duplicated here is pointless I believe. Agree on that. But then, should we not return -ETIMEDOUT (-110) ? We Yes, that should be -ETIMEDOUT Full ACK. should print the error code in the i2c stack (do_i2c_read) instead of checking only if the return value is not null, as we do now. Yep, printing in do_i2c_read() the error code would be nice. Patches are welcome :-) OK, shall I also print out an error message then? You mean in the mxs i2c driver? I think, this is not needed, as Stefano suggested. bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2] i2c: mxs_i2c: Squash endless loop
The endless waiting for a bit to be set can cause a hang, add a timeout so we prevent such situation. A testcase for such a hang is below. The testcase assumes a device to be present at address 0x50 and a device to NOT be present at address 0x42 . Also note that the sleep 1 induced delays are imperative for this bug to manifest . i2c read 0x42 0x0.2 0x10 0x4200 ; sleep 1 ; \ i2c read 0x50 0x0.2 0x10 0x4200 ; sleep 1 ; \ i2c read 0x42 0x0.2 0x10 0x4200 The expected result of the above command is: Error reading the chip. Error reading the chip. While without this patch, we observe a hang in the last read from 0x42 precisely when waiting for this bit to be set. Signed-off-by: Marek Vasut ma...@denx.de Cc: Fabio Estevam fabio.este...@freescale.com Cc: Heiko Schocher h...@denx.de Cc: Stefano Babic sba...@denx.de --- drivers/i2c/mxs_i2c.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) V2: Replace -EINVAL with -ETIMEDOUT diff --git a/drivers/i2c/mxs_i2c.c b/drivers/i2c/mxs_i2c.c index 46106b7..a298c95 100644 --- a/drivers/i2c/mxs_i2c.c +++ b/drivers/i2c/mxs_i2c.c @@ -150,6 +150,7 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len) { struct mxs_i2c_regs *i2c_regs = (struct mxs_i2c_regs *)MXS_I2C0_BASE; uint32_t tmp = 0; + int timeout = MXS_I2C_MAX_TIMEOUT; int ret; int i; @@ -169,9 +170,17 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len) for (i = 0; i len; i++) { if (!(i 3)) { - while (readl(i2c_regs-hw_i2c_queuestat) - I2C_QUEUESTAT_RD_QUEUE_EMPTY) - ; + while (--timeout) { + tmp = readl(i2c_regs-hw_i2c_queuestat); + if (!(tmp I2C_QUEUESTAT_RD_QUEUE_EMPTY)) + break; + } + + if (!timeout) { + debug(MXS I2C: Failed receiving data!\n); + return -ETIMEDOUT; + } + tmp = readl(i2c_regs-hw_i2c_queuedata); } buffer[i] = tmp 0xff; -- 1.8.4.rc3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] i2c: mxs_i2c: Squash endless loop
Dear Heiko Schocher, Hello Marek, Am 04.11.2013 14:13, schrieb Marek Vasut: Hi Heiko, Hello Stefano, Marek, Am 04.11.2013 13:03, schrieb Stefano Babic: Hi Marek, On 04/11/2013 12:50, Marek Vasut wrote: Hi Stefano, Hi Marek, On 02/11/2013 18:23, Marek Vasut wrote: + if (!timeout) { + debug(MXS I2C: Failed receiving data! \n); + return -EINVAL; + } + This is a real error and not a debug information. IMHO it should be better to print the error unconditionally with puts/printf, reporting that the timer elapsed. Returning -EINVAL will make the i2c stack trigger an output, so having it duplicated here is pointless I believe. Agree on that. But then, should we not return -ETIMEDOUT (-110) ? We Yes, that should be -ETIMEDOUT Full ACK. should print the error code in the i2c stack (do_i2c_read) instead of checking only if the return value is not null, as we do now. Yep, printing in do_i2c_read() the error code would be nice. Patches are welcome :-) OK, shall I also print out an error message then? You mean in the mxs i2c driver? I think, this is not needed, as Stefano suggested. OK, thanks! V2 out. Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 0/5] arm, am33xx: update for the am33xx based siemens boards
On Mon, Nov 4, 2013 at 8:15 AM, Heiko Schocher h...@denx.de wrote: [...] Hups, missed this EMail ... :-( No problem. Happens all the time :) Hmm.. some boards from siemens do not use the RTC, so this approach is not possible here ... By unused do you mean it's not powered up or is it simply not programmed? Even if the RTC is not programmed the register would still be there. I don't have a board with me to check the behavior but i am guessing the RTC functionality doesn't need to be used to make use of the scratchpad registers. Regards, Vaibhav ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/04/2013 01:56 AM, Heiko Schocher wrote: Hello Tom, Am 29.10.2013 12:30, schrieb Heiko Schocher: Hello Igor, Am 29.10.2013 12:07, schrieb Igor Grinberg: On 10/28/13 08:19, Heiko Schocher wrote: Hello Igor, Am 27.10.2013 08:30, schrieb Igor Grinberg: Hi Heiko, On 10/22/13 11:03, Heiko Schocher wrote: - add omap24xx driver to new multibus/multiadpater support - adapted all config files, which uses this driver Tested on the am335x based siemens boards rut, dxr2 and pxm2 posted here: http://patchwork.ozlabs.org/patch/263211/ Signed-off-by: Heiko Schocherh...@denx.de Tested-by: Tom Rinitr...@ti.com Cc: Lars Poeschelpoesc...@lemonage.de Cc: Steve Sakomansako...@gmail.com Cc: Thomas Weberwe...@corscience.de Cc: Tom Rixtom@windriver.com Cc: Grazvydas Ignotasnota...@gmail.com Cc: Enric Balletbo i Serraeballe...@iseebcn.com Cc: Luca Ceresoliluca.ceres...@comelit.it Cc: Igor Grinberggrinb...@compulab.co.il Cc: Ilya Yanokya...@emcraft.com Cc: Stefano Babicsba...@denx.de Cc: Nishanth Menonn...@ti.com Cc: Pali Rohárpali.ro...@gmail.com Cc: Peter Baradapeter.bar...@logicpd.com Cc: Nagendra T Snagen...@mistralsolutions.com Cc: Michael Jonesmichael.jo...@matrix-vision.de Cc: Raphael Assenatr...@8d.com [...] [...] diff --git a/board/compulab/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h index 02ffbb1..a07559d 100644 --- a/board/compulab/cm_t35/eeprom.h +++ b/board/compulab/cm_t35/eeprom.h @@ -10,7 +10,7 @@ #ifndef _EEPROM_ #define _EEPROM_ -#ifdef CONFIG_DRIVER_OMAP34XX_I2C +#ifdef CONFIG_SYS_I2C_OMAP34XX int cm_t3x_eeprom_read_mac_addr(uchar *buf); u32 cm_t3x_eeprom_get_board_rev(void); #else Please, rebase on top of: http://patchwork.ozlabs.org/patch/275284/ which should be applied any time soon. Otherwise, Acked-by: Igor Grinberggrinb...@compulab.co.il Hmm.. I cannot see, that your patch is accepted ... but I looked in it, and it looks good to me. So, I propose to add this patch to the i2c tree, so I do the necessary changes in my patch when applying it to the i2c tree (as they are trivial changes) ... Well, I have no problem with that, but we need to take into account that there are several more patches (unrelated to i2c) on the mailing list waiting for approval/apply and depend on my series. Ok. @Tom: Is this OK for you? I think, it would be better to apply my series to u-boot-ti and you can pull from it to the i2c tree? Hmm.. u-boot-i2c is based on u-boot.git not on u-boot-ti, and I did not want to change this. I can of course rebase my patch against u-boot-ti when Tom added your patch to u-boot-ti and resend it, and tom pick up my patch ... Tom, what do you think? You should keep your tree based on u-boot/master. I actually grabbed Igor's patches Friday for u-boot-ti but didn't get a chance to send out replies to everything I picked up before packing it up for the weekend. - -- Tom -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSd6OQAAoJENk4IS6UOR1WQA8P/3vRW0UDmLNmKi9N4BpqqPsh ZBeO2zbsnsLcUvRO/aeQD92cTY1c4WljPj7rFcutWmOwODGzG1CGvDnlcSaV/ENG qjsn6mbM9zZm/HjNtP/bDPlvhVsKhbO42MMQL6jX+9F5ZdsQewQRAG0QhNTbejFo cswtmM4SIFax5xVR+LJzqrX0vMdnLf+4Qy5jBJ7j14f/WV0Z+qme7t92xFvQC1ts qSZkpSsGOC6ZhgdWkK2PXUh1mW+9jJ6senGIS0UV/87kDjv3iIl+CeD2eVxX+3wW 4kqL23HdR1wZnv7trS9Sn9p7oeJv6k8PJQaZoC9ZC/CFfypoA5D9L6FidWRjuOYB bRXFmflHMls8dMwyosHMsRaIlVto1caHXhPH+z3I3xAQl3e/Ax8y5JrEsh5OABKQ ZEo9aamL4YPuOklAHfd+Gtnn+kgbyzyKYRLrFljxT0g3lAi5UkFeYYRYLMnMOW23 ZQX6K998KYUsdJwi2caMnxmzrpmlTHZp+VfSxouzW+WACmYcJPfOPeUMMI8L29nR 89r7ODjkI93NrbS5pt8rWq3XXYwnVbBZHCBfu5cdw0ytOKedbaIduk4bjvU7HvAj XecI95It00ze7mhFwsvlSe3K/G2FlRIywjHQpXCDam3rOF7fDesCHbF6n6ByEfnQ WH6I+L3z1GeVYdAFBTRv =96H9 -END PGP SIGNATURE- ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 05/18] avr32: convert makefiles to Kbuild style
On 10/21/2013 04:53 AM, Masahiro Yamada wrote: Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Cc: Andreas Bießmann andreas.de...@googlemail.com --- arch/avr32/cpu/Makefile | 40 --- arch/avr32/cpu/at32ap700x/Makefile| 22 +-- arch/avr32/lib/Makefile | 28 board/atmel/atngw100/Makefile | 21 +- board/atmel/atngw100mkii/Makefile | 21 +- board/atmel/atstk1000/Makefile| 21 +- board/earthlcd/favr-32-ezkit/Makefile | 21 +- board/in-circuit/grasshopper/Makefile | 21 +- board/mimc/mimc200/Makefile | 21 +- board/miromico/hammerhead/Makefile| 21 +- 10 files changed, 21 insertions(+), 216 deletions(-) diff --git a/arch/avr32/cpu/Makefile b/arch/avr32/cpu/Makefile index 7e648fd..5e11721 100644 Reviewed-by: Andreas Bießmann andreas.de...@googlemail.com ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4 0/6] Second step towards Kbuild: Descend down like Kbuild
On Thu, Oct 17, 2013 at 08:38:50PM +0900, Masahiro Yamada wrote: I have been just wondering why the U-Boot top Makefile is so dirty. It is sprinkled with SoC-specific code as follows: ifneq ($(CONFIG_OMAP_COMMON),) LIBS-y += $(CPUDIR)/omap-common/libomap-common.o endif ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs vf610)) LIBS-y += arch/$(ARCH)/imx-common/libimx-common.o endif ifeq ($(SOC),s5pc1xx) LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o endif ifeq ($(SOC),exynos) LIBS-y += $(CPUDIR)/s5p-common/libs5p-common.o endif ifneq ($(CONFIG_TEGRA),) LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o endif And it describes drivers not right under the top directory, which should be essentially cared by drivers/Makefile. LIBS-y += drivers/bios_emulator/libatibiosemu.o LIBS-y += drivers/block/libblock.o LIBS-$(CONFIG_BOOTCOUNT_LIMIT) += drivers/bootcount/libbootcount.o LIBS-y += drivers/crypto/libcrypto.o LIBS-y += drivers/dma/libdma.o ... This series adds the directory descending feature like Kbuild. 1/6 tweaks scripts/Makefile.build to support 'obj-y += foo/' syntax. If the build system finds 'foo/' (trailed by a slash), it visits foo directory. 2/6-6/6 demonstarate how we can refactor makefiles with this syntax. 2/6: Move some drivers LIBS from top Makefile to drivers/Makefile 3/6: Move some fs LIBS from top Makefile to fs/Makefile 4/6: Move Tegra specific lines from top Makefile under arch/arm/ 5/6: Move OMAP specific lines from top Makefile under arch/arm/ 6/6: Move Samsung SoC specific lines from top Makefile under arch/arm/ Note: This series uses [PATCH v3]First step towards Kbuild: Use Kbuild-style makefiles (19 patch files). as a prerequisite. Please apply them first. I believe no boards are broken by this refactoring. In order to confirm my claim, I compiled all boards except nds32 and nios2 architrecutures. (I could not get an appropriate prebuilt cross compilers for those two arch.) For arm, avr32, sandbox, x86, I could perfectly compile all boards without any warnings. For the other architectures, I could compile some boards and I could not the others. But the SUMMARY result is still the same after applying this series. In addition I compared all the error and warning messages for all boards and they are the same. This means these patches do not introduce any additional errors, warnings. Cc: Simon Glass s...@chromium.org Cc: Tom Rini tr...@ti.com Masahiro Yamada (6): Makefile: support descending down to subdirectories drivers: move some drivers to drivers/Makefile fs: move some file system to fs/Makefile ARM: tegra: move Tegra specific code under arch/arm/ ARM: omap: move OMAP specific code under arch/arm/ ARM: s5pc, exynos: move Samsung ARM SoC specific code under arch/arm/ Makefile | 44 +++ arch/arm/cpu/Makefile | 2 ++ arch/arm/cpu/arm720t/Makefile | 2 ++ arch/arm/cpu/armv7/Makefile | 9 + board/LEOX/elpt860/u-boot.lds | 1 - board/tqc/tqm8xx/u-boot.lds | 4 ++-- drivers/Makefile | 15 +++ fs/Makefile | 11 +++ scripts/Makefile.build| 15 +++ spl/Makefile | 14 +- 10 files changed, 60 insertions(+), 57 deletions(-) create mode 100644 arch/arm/cpu/Makefile create mode 100644 drivers/Makefile For the series, applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 00/18] Third step towards Kbuild: Convert rest of makefiles
On Mon, Oct 21, 2013 at 11:53:23AM +0900, Masahiro Yamada wrote: This series uses the followings as prerequisites: - First step towards Kbuild: Use Kbuild style makefiles (19 patch files) - Second step towards Kbuild: Descend down like Kbuild (6 patch files) In 'First step towards Kbuild' series, I changed more than 150 makefiles. And in this series, I have changed the remainders, more than 600 makefiles. After applying first step thru third step, all makefiles under arch/, board/, drivers/, api/, common/, disk/, dts/, fs/, lib/, net/, post/, test/ are converted to Kbuild style. ( doc/, tools/, nand_spl/, example/ have not been changed yet. I'm planning to convert these directories. But I need something prepared before that: hostprogs-y, etc.) Before converting makefiles to Kbuild style, I want to fix some makefile. This is done in 01/18 and 02/18. 01/18 fixes the link error of sparc architecture. Please see the snippet of arch/sparc/lib/Makefile: LIB = $(obj)lib$(ARCH).o SOBJS = COBJS = board.o cache.o interrupts.o time.o COBJS-$(CONFIG_CMD_BOOTM) += bootm.o SRCS:= $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS:= $(addprefix $(obj),$(SOBJS) $(COBJS)) $(LIB): $(obj).depend $(OBJS) $(call cmd_link_o_target, $(OBJS)) Both COBJS and COBJS-y are used. But this makefile missed to add $(COBJS-y) to OBJS. So, bootm.o is never compiled. Here, you will notice the advantage of switching to Kbuild style. Makefiles in sub-directories have very similar form. But there exists a slight difference for each Makefile. For ex. some makefiles use COBJS and the others use COBJS-y. Some use both of them mixed, and sometimes a mistake like above happens. We should use consistently use obj-y, for both C and Assembler objects. 02/18 fixes arch/sh/cpu/{sh2,sh3,sh4}/Makefile. The snippet is as follows: LIB = $(obj)lib$(CPU).o SOBJS = start.o COBJS = cpu.o interrupts.o watchdog.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)) start.o is linked into lib$(CPU).o, but it shouldn't. 03/18 thru 15/18 convert arch-specific, board-specific makefiles. 16/18, 17/18 convert commonly used directories. 16/18 shows another big advantage of switching to Kbuild style. Check how simply post/Makefile was re-written by using obj-$(CONFIG-FOO) += foo/ systax. 18/18 convert the rest of makefiles and abolishes the support for U-Boot conventional makefile. After this commit, we cannot use U-Boot style makefiles any more. (exception: doc/, tools/, nand_spl/, example/ directory) Going forward, we must use only Kbuild style makefiles. Take care when you add a new makefile! Of course, I tested carefully this series. I built as many boards as possible over all architectures. Here is the site I downloaded the prebuilt crosstools from: - arm, avr32, m68k, mips, openrisc, powerpc, x86: ftp://ftp.kernel.org/pub/tools/crosstool/files/bin/x86_64/ - blackfin, microblaze, nds32, nios2, sh, sparc: http://dev.gentoo.org/~vapier/u-boot/ I could not build some boards because the boards are already broken before this series or the crosstools are not suitable. But I could build more than 1100 target boards and I confirmed this series does no harm. - 02 thru 18 did not break any boards. - 02 thru 15 and 17, 18 did not change output ELF files at all. This was check by comparing md5sum. - It was difficult to simply compare md5sum for patch 16 because it changes how the objects are linked under post/ directory. But I confirmed 16 did not change the section size. Note: For comparing md5sum, there are some items you should take into account: Disabling time stamp, version, compiling in the same path, linking the objects in the same order... For detailed, refer to [U-Boot] [PATCH 00/19] First step towards Kbuild: Use Kbuild style makefiles Message-Id: 20130917093533.738a.aa925...@jp.panasonic.com Note2: I confirmed this series can be applied on v2013.10 tag + First step towards Kbuild: Use Kbuild style makefiles (19 patch files) + Second step towards Kbuild: Descend down like Kbuild (6 patch files) Cc: Simon Glass s...@chromium.org Cc: Tom Rini tr...@ti.com Cc: Wolfgang Denk w...@denx.de Cc: Gerhard Sittig g...@denx.de Masahiro Yamada (18): sparc: fix a link error sh: Do not include start.o in lib$(CPU).o sparc: convert makefiles to Kbuild style sh: convert makefiles to Kbuild style avr32: convert makefiles to Kbuild style openrisc: convert makefiles to Kbuild style microblaze: convert makefiles to Kbuild style mips: convert makefiles to Kbuild style nds32: convert makefiles to Kbuild style nios2:
Re: [U-Boot] [PATCH v3 00/19] First step towards Kbuild: Use Kbuild style makefiles
On Thu, Oct 17, 2013 at 05:34:46PM +0900, Masahiro Yamada wrote: Kbuild in U-Boot has been talked for a while and RFC patches were posted by Simon Glass. (Refer to RFC: Add Kbuild system to U-Boot posted by Simon, May 12, 2013) Simon's effort is a good start point but varous critical features were missing from his patch series. I have also been eager to introduce Kbuild to U-Boot. So I have been working on this task for a while with a little different migration path from Simon's way. At last I succeeded to build a few boards with support of SPL build, Out-of-tree build, correct output file names, which were missing from Simon's patches. While I were working on my local branch, the build system and makefiles in U-Boot master repository always kept changing, of course. Now my fruit got too old to fit with the current u-boot/master anymore. But if someone is interested in my work, I can push my local branch to somewhere in my GitHub space. (RFC quality, but might be helpful for just discussions) I recognize those patches are so rough that they could support only a few ARM boards. Perfectly covering all architectures and all boards without breaking any U-Boot features is a too big task for a sigle indivisual. Even if I could do that, the patch series would be extremely big size and the adjustment for U-Boot would be complecated. So the review would probably take very long time. Along with the review process, as time goes by, the posted patches would become not appled to the master branch. So we would need to repeat post, review, fix, rebase on the master and post again, review, ... again and again for a very big patch series. I began to be wondering whether it is really possible to switch to Kbuild in this way. So I decided to begin with what I can do, one by one. By stepping little by litte, we can get close to Kbuild and finally we will arrive at our goal. I think this strategy is more realistic rather than adding a big change at one time. Before importing a real Kbuild, I'd like to adjust our makefiles in the form suitable for Kbuild. First of all, this series converts makefiles in sub directories to Kbuild style. What this series do is quite simple: - Moving common lines in sub makefiles to a new file 'scripts/Makefile.build' - Renaming COBJS-y and SOBJS-y to obj-y in each sub makefile. - A little bit more tweaks That's all. 01/19 creates scripts/Makefile.build and tweaks Makefile and spl/Makefile to use scripts/Makefile.build. U-Boot conventional makefiles are like this: include $(TOPDIR)/config.mk LIB = $(obj)libfoo.o COBJS := ... COBJS += ... SOBJS := ... SRCS:= $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS:= $(addprefix $(obj),$(COBJS) $(SOBJS)) all: $(obj).depend $(LIB) $(LIB): $(OBJS) $(call cmd_link_o_target, $(OBJS)) # include $(SRCTREE)/rules.mk sinclude $(obj).depend # Top and bottom parts are common in almost all makefiles. Writing those lines in all makefiles is a big waste. So common lines have been pushed into scripts/Makefile.build. In addition, scripts/Makefile.build includes a glue code for supporting 'obj-y'. Be aware U-Boot conventional (non-Kbuild) makefile sytle is still supported. So we can change sub makefiles little by little in the following patches. 02/19-19/19 change sub makefiles into a Kbuild suitable form using obj-y. In order to avoid creating a big patch file, they are divided by CPU architectures and categories. 02/19-07/19: refactor under arch/arm/ 08/19-16/19: refactor libraries which are commonly used for all architectures 17/19 : refactor under arch/sandbox 18/19 : refactor under arch/powerpc/ 19/19 : refactor under board/ti/ Conversion rule is pretty easy: (1) Delete common parts at top and bottom. (2) Rename COBJS - obj-y SOBJS - obj-y COBJS-$(CONFIG_FOO) - obj-$(CONFIG_FOO) SOBJS-$(CONFIG_FOO) - obj-$(CONFIG_FOO) START - extra-y We can convert almost automatically althogh in some cases we may need to tweak a little. I refactored more than 150 makefiles in this series. But we still have more than 600 makefiles. (Most of them reside under board/ directory) We can convert them lator little by little. Your contribution is welcome! :-) Note1: This series breaks _NO_ features in U-Boot beucase it just moves common parts into scripts/Makefile.build In order to prove this series does no harm, I compiled all boards excepts nds32 and nios2 architectures and checked md5sum matching for ./u-boot (and spl/u-boot-spl if it exists). I tried md5sum for version 1 and I did the same thing again for version 2. I confirmed md5sum
Re: [U-Boot] [PATCH] board/keymile/kmp204x/Makefile: Convert to SPDX tag
On Fri, Nov 01, 2013 at 10:27:32AM -0400, Tom Rini wrote: Signed-off-by: Tom Rini tr...@ti.com --- board/keymile/kmp204x/Makefile | 15 +-- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/board/keymile/kmp204x/Makefile b/board/keymile/kmp204x/Makefile index 1fdb346..64eb37c 100644 --- a/board/keymile/kmp204x/Makefile +++ b/board/keymile/kmp204x/Makefile @@ -5,20 +5,7 @@ # 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 +# SPDX-License-Identifier: GPL-2.0+ # Applied to u-boot/master. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] board: powerpc: convert more makefiles to Kbuild style
On Fri, Nov 01, 2013 at 10:26:26AM -0400, Tom Rini wrote: Cc: Masahiro Yamada yamad...@jp.panasonic.com Cc: Wolfgang Denk w...@denx.de Cc: Kim Phillips kim.phill...@freescale.com Cc: York Sun york...@freescale.com Signed-off-by: Tom Rini tr...@ti.com --- board/freescale/t1040qds/Makefile | 36 +--- board/keymile/kmp204x/Makefile| 21 + 2 files changed, 6 insertions(+), 51 deletions(-) diff --git a/board/freescale/t1040qds/Makefile b/board/freescale/t1040qds/Makefile index 8f0057b..a2dba6f 100644 --- a/board/freescale/t1040qds/Makefile +++ b/board/freescale/t1040qds/Makefile @@ -4,34 +4,8 @@ # SPDX-License-Identifier: GPL-2.0+ # -include $(TOPDIR)/config.mk - -LIB = $(obj)lib$(BOARD).o - -COBJS-y += $(BOARD).o -COBJS-y += ddr.o -COBJS-$(CONFIG_PCI) += pci.o -COBJS-y += law.o -COBJS-y += tlb.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)) - -clean: - rm -f $(OBJS) $(SOBJS) - -distclean: clean - rm -f $(LIB) core *.bak .depend - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# +obj-y+= $(BOARD).o +obj-y+= ddr.o +obj-$(CONFIG_PCI) += pci.o +obj-y+= law.o +obj-y+= tlb.o diff --git a/board/keymile/kmp204x/Makefile b/board/keymile/kmp204x/Makefile index 35d17ce..1fdb346 100644 --- a/board/keymile/kmp204x/Makefile +++ b/board/keymile/kmp204x/Makefile @@ -21,28 +21,9 @@ # MA 02111-1307 USA # -include $(TOPDIR)/config.mk ifneq ($(OBJTREE),$(SRCTREE)) $(shell mkdir -p $(obj)../common) endif -LIB = $(obj)lib$(BOARD).o - -COBJS:= $(BOARD).o ddr.o eth.o tlb.o pci.o law.o \ +obj-y:= $(BOARD).o ddr.o eth.o tlb.o pci.o law.o \ ../common/common.o ../common/ivm.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)) - -# - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -# Applied to u-boot/master. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/4] am33xx, davinci: Create and use asm/davinci_rtc.h
On Wed, Aug 28, 2013 at 09:00:28AM -0400, Tom Rini wrote: Create a common header file for the RTC IP block that is shared between davinci and am33xx. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] ARM: OMAP4: Convert to ti_armv7_common.h
On Tue, Sep 03, 2013 at 07:47:18PM +0530, Lokesh Vutla wrote: Update omap4_common.h to use ti_armv7_common.h Testing: * Boot tested on OMAP4430 ES2.1 OMAP4460 ES1.1 SDP, OMAP4 PANDA/PANDA ES * Verified ./MAKEALL -s omap Signed-off-by: Lokesh Vutla lokeshvu...@ti.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/4] bootcount_davinci: Switch to scratch register #2
On Wed, Aug 28, 2013 at 09:00:29AM -0400, Tom Rini wrote: The RTC IP block here provides 3 scratch registers. Currently when using DeepSleep on am335x the scratch0/1 registers are used so moving ourself to scratch2 makes cooperation easier. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/4] drivers/rtc/davinci.c: Reference DAVINCI_RTC_BASE more directly
On Wed, Aug 28, 2013 at 09:00:27AM -0400, Tom Rini wrote: We shouldn't rely on a define to hide this cast for us. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 4/4] TI:am33xx: Add bootcount support to ti_am335x_common.h
On Wed, Aug 28, 2013 at 09:00:30AM -0400, Tom Rini wrote: Enable the bootcount driver for am335x in general. We leave adding a bootlimit and altbootcmd to the environment to the board ports. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v2, 1/2] nand, davinci: add special UBL ecc position
On Fri, Sep 06, 2013 at 05:21:23AM +0200, Heiko Schocher wrote: enable the RBL/UBL ECC layout through CONFIG_NAND_6BYTES_OOB_FREE_10BYTES_ECC define see for more info: http://processors.wiki.ti.com/index.php/DM365_Nand_ECC_layout Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com Cc: Scott Wood scottw...@freescale.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, 1/2] cm-t35: move the eeprom code to common place
On Mon, Sep 16, 2013 at 09:49:58PM +0300, Igor Grinberg wrote: Compulab boards use the same eeprom code, so move the eeprom related code to live under board/compulab/common directory. Also make several adjustments to eeprom functions namespace, so it will be generic for compulab boards. Signed-off-by: Igor Grinberg grinb...@compulab.co.il Tested-by: Nikita Kiryanov nik...@compulab.co.il Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, 2/2] cm-t35: move the display code to common place
On Mon, Sep 16, 2013 at 09:49:59PM +0300, Igor Grinberg wrote: Compulab OMAP3 boards use the same display initialization code. Move the display initialization code to live under board/compulab/common directory. Signed-off-by: Igor Grinberg grinb...@compulab.co.il Tested-by: Nikita Kiryanov nik...@compulab.co.il Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, 01/13] tricorder: remove lcdmode from bootargs
On Fri, Sep 06, 2013 at 03:04:46PM +0200, Andreas Bie??mann wrote: From: Thomas Weber thomas.we...@corscience.de Signed-off-by: Thomas Weber thomas.we...@corscience.de Signed-off-by: Andreas Bie??mann andreas.biessm...@corscience.de Applied to u-boot-ti/master along with the rest of the series, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v2, 2/2] arm, da85x: update for the ipam390 board
On Fri, Sep 06, 2013 at 05:21:24AM +0200, Heiko Schocher wrote: - switch to correct ecc layout used by the RBL enable CONFIG_NAND_6BYTES_OOB_FREE_10BYTES_ECC - update default environment - change A2CR to correct value for UART boot mode - adapt cs3cfg timings for nand - change LED bootmode signalization Signed-off-by: Heiko Schocher h...@denx.de Cc: Tom Rini tr...@ti.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v3, 1/2] ARM: IGEP0033: rename config file to am335x_igep0033.h
On Sat, Sep 21, 2013 at 03:04:23AM +0200, Javier Martinez Canillas wrote: There seems to be a naming convention for the configuration files for boards using the same SoC family. This makes easier to do changes that affect different boards based on the same SoC. Since the IGEP COM AQUILA use TI AM335x processors, is better to rename its board config to use this naming scheme. Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk Acked-by: Enric Balletbo i Serra eballe...@iseebcn.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] am335x: Enable CONFIG_OMAP_WATCHDOG support
On Tue, Oct 01, 2013 at 12:32:04PM -0400, Tom Rini wrote: There is a board-specific portion for calling watchdog enable itself, in main U-Boot. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v3, 2/2] OMAP3: igep00x0: rename config file to omap3_igep00x0.h
On Sat, Sep 21, 2013 at 03:04:25AM +0200, Javier Martinez Canillas wrote: There seems to be a naming convention for the configuration files for boards using the same SoC family. This makes easier to do changes that affect different boards based on the same SoC. Since the IGEPv2 board and the IGEP COM Module use a TI OMAP35xx/DM37xx processor, is better to rename its board config to use this naming scheme. Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk Acked-by: Enric Balletbo i Serra eballe...@iseebcn.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] dra7xx_evm: Enabled UART-boot mode and add dra7xx_evm_uart3 build
On Fri, Oct 04, 2013 at 02:52:02PM -0400, Tom Rini wrote: From: Minal Shah minal.s...@ti.com UART booting is supported on this SoC, but via UART3 rather than UART1. Because of this we must change the board to use UART3 for all console access (only one UART is exposed on this board and a slight HW mod is required to switch UARTs). Signed-off-by: Minal Shah minal.s...@ti.com [trini: Make apply to mainline, reword commit] Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] TI:armv7: Change CONFIG_SYS_SPL_ARGS_ADDR to a higher address
On Fri, Oct 04, 2013 at 10:51:40AM -0400, Tom Rini wrote: With changes to increase the size of the device tree (required to move more data out of the kernel and into DT), loading the args at the old address leads to us overwriting things later on. To correct this, load the args file to where we load the device tree anyhow. This is also safe for non-DT booting as in either case we use r2 to pass in the location of things. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,2/3] cm_t35: turn on GPIO commands
On Mon, Oct 07, 2013 at 05:28:50PM +0300, Nikita Kiryanov wrote: Turn on GPIO commands for cm-t35 and cm-t3730. Signed-off-by: Nikita Kiryanov nik...@compulab.co.il Signed-off-by: Igor Grinberg grinb...@compulab.co.il Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, 1/3] cm_t35: reduce default bootdelay to 3 seconds
On Mon, Oct 07, 2013 at 05:28:49PM +0300, Nikita Kiryanov wrote: Current default bootdelay of 10 seconds is too long. Reduce default bootdelay to 3 seconds. Signed-off-by: Nikita Kiryanov nik...@compulab.co.il Signed-off-by: Igor Grinberg grinb...@compulab.co.il Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] TI:omap5: Add rdaddr, use consistent loadaddr values
On Fri, Oct 18, 2013 at 06:04:19PM -0400, Tom Rini wrote: rdaddr was missing which is a common location for loading ramdisks to. loadaddr was higher than it needs to be, so use the same value other TI platforms use. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,V3] ARM: OMAP5: DDR3: Change io settings
On Thu, Oct 17, 2013 at 04:35:38PM +0530, SRICHARAN R wrote: The change from 0x64656465 to 0x64646464 is to remove the weak pull enabled on DQS, nDQS lines. This pulls the differential signals in the same direction which is not intended. So disabling the weak pulls improves signal integrity. On the uEVM there are 4 DDR3 devices. The VREF for 2 of the devices is powered by the OMAP's VREF_CA_OUT pins. The VREF on the other 2 devices is powered by the OMAP's VREF_DQ_OUT pins. So the net effect here is that only half of the DDR3 devices were being supplied a VREF! This was clearly a mistake. The second change improves the robustness of the interface and was specifically seen to cure corruption observed at high temperatures on some boards. With the above two changes better memory stability was observed with extended temperature ranges around 100C. Signed-off-by: Sricharan R r.sricha...@ti.com Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,V2,3/3] cm_t35: update lcd predefines
On Mon, Oct 07, 2013 at 06:55:46PM +0300, Nikita Kiryanov wrote: Current predefines do not fit cm-t3730 very well (some of them produce artifacts in the image). Update LCD predefines to accommodate both cm-t35 and cm-t3730 modules. Signed-off-by: Nikita Kiryanov nik...@compulab.co.il Signed-off-by: Igor Grinberg grinb...@compulab.co.il Applied to u-boot-ti/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Pull request: u-boot-ti
Hello, The following changes since commit 304db0b38cfb04cfdb05a740d5ef27da06ea98ea: arm: Remove IXP425 boards pdnb3 and scpu (2013-10-17 09:28:08 +0200) are available in the git repository at: git://git.denx.de/u-boot-ti.git master for you to fetch changes up to f6723794fd8f3362c4f3b5d0f36607a6a6f107b2: TI:omap5: Add rdaddr, use consistent loadaddr values (2013-11-01 15:56:00 -0400) Andreas Bie??mann (10): tricorder: update flash partitioning tricorder: use generic provided loadaddr tricorder: add configuration for a flashcard u-boot tricorder: add cmdline history tricorder: add mtdparts to environment tricorder: add tricordereeprom command tricorder: panic() on unknown board tricorder: add led support tricorder: read kernel directly from NAND tricorder: support 256MiB SDRAM on revision D Heiko Schocher (2): nand, davinci: add special UBL ecc position arm, da85x: update for the ipam390 board Igor Grinberg (2): cm-t35: move the eeprom code to common place cm-t35: move the display code to common place Javier Martinez Canillas (2): ARM: IGEP0033: rename config file to am335x_igep0033.h OMAP3: igep00x0: rename config file to omap3_igep00x0.h Lokesh Vutla (1): ARM: OMAP4: Convert to ti_armv7_common.h Minal Shah (1): dra7xx_evm: Enabled UART-boot mode and add dra7xx_evm_uart3 build Nikita Kiryanov (3): cm_t35: reduce default bootdelay to 3 seconds cm_t35: turn on GPIO commands cm_t35: update lcd predefines SRICHARAN R (1): ARM: OMAP5: DDR3: Change io settings Thomas Weber (3): tricorder: remove lcdmode from bootargs tricorder: Make u-boot faster tricorder: switch to alternative memtest Tom Rini (7): drivers/rtc/davinci.c: Reference DAVINCI_RTC_BASE more directly am33xx, davinci: Create and use asm/davinci_rtc.h bootcount_davinci: Switch to scratch register #2 TI:am33xx: Add bootcount support to ti_am335x_common.h am335x: Enable CONFIG_OMAP_WATCHDOG support TI:armv7: Change CONFIG_SYS_SPL_ARGS_ADDR to a higher address TI:omap5: Add rdaddr, use consistent loadaddr values arch/arm/cpu/armv7/am33xx/board.c |7 +- arch/arm/cpu/armv7/omap-common/boot-common.c |4 + arch/arm/include/asm/arch-am33xx/cpu.h |9 - arch/arm/include/asm/arch-davinci/hardware.h | 38 --- arch/arm/include/asm/arch-omap5/omap.h |4 +- arch/arm/include/asm/arch-omap5/spl.h |1 + arch/arm/include/asm/davinci_rtc.h | 52 board/Barix/ipam390/ipam390-ais-uart.cfg |2 +- board/Barix/ipam390/ipam390.c | 29 +-- board/compulab/cm_t35/Makefile |3 - board/compulab/cm_t35/cm_t35.c |7 +- board/compulab/common/Makefile | 36 +++ board/compulab/{cm_t35 = common}/eeprom.c | 51 ++-- board/compulab/{cm_t35 = common}/eeprom.h |8 +- .../{cm_t35/display.c = common/omap3_display.c} |8 +- board/corscience/tricorder/Makefile|2 +- board/corscience/tricorder/led.c | 80 +++ board/corscience/tricorder/tricorder-eeprom.c | 251 board/corscience/tricorder/tricorder-eeprom.h | 41 board/corscience/tricorder/tricorder.c | 126 +- board/corscience/tricorder/tricorder.h |4 +- board/enbw/enbw_cmc/enbw_cmc.c |1 + board/ti/am335x/board.c|6 + boards.cfg | 16 +- drivers/bootcount/Makefile |1 + drivers/bootcount/bootcount_davinci.c | 13 +- drivers/mtd/nand/davinci_nand.c| 12 + drivers/rtc/davinci.c |8 +- include/configs/{igep0033.h = am335x_igep0033.h} |0 include/configs/cm_t35.h |3 +- include/configs/dra7xx_evm.h |9 +- include/configs/ipam390.h | 35 ++- include/configs/{igep00x0.h = omap3_igep00x0.h} |0 include/configs/omap4_common.h | 188 +++ include/configs/omap4_panda.h |2 - include/configs/omap4_sdp4430.h|2 - include/configs/omap5_common.h |7 +- include/configs/ti_am335x_common.h | 14 ++ include/configs/ti_armv7_common.h |2 +- include/configs/tricorder.h| 155 +--- 40 files changed, 876 insertions(+), 361 deletions(-) create mode 100644 arch/arm/include/asm/davinci_rtc.h create mode 100644 board/compulab/common/Makefile rename board/compulab/{cm_t35 =
Re: [U-Boot] Pull request: u-boot-mmc 31102013
On Thu, Oct 31, 2013 at 10:03:26AM +0200, Pantelis Antoniou wrote: Hi Tom, The following changes since commit 509dca7a11aad394d781a9d31a7bfa6692562741: Merge branch 'master' of git://git.denx.de/u-boot-video (2013-10-30 08:36:48 -0400) are available in the git repository at: git://git.denx.de/u-boot-mmc.git master for you to fetch changes up to ef38f3ffb97331725b00dce667da3aefa0a75340: powerpc/esdhc: Add 3.3v voltage support in esdhc capacity register (2013-10-31 09:55:34 +0200) Haijun.Zhang (4): powerpc/esdhc: Map register for eSDHC Host Controller V3.0 Powerpc/esdhc: Add simple description of esdhc register esdhc: memset mmc struct before putting into use powerpc/esdhc: Add 3.3v voltage support in esdhc capacity register Jaehoon Chung (1): mmc: dw_mmc: change the callback function name. Oliver Metz (1): mmc: Fix erase_grp_size for partitioned card Przemyslaw Marczak (1): mmc: sdhci: Avoid commands errors by simple timeout adaptation. Rajeshwari Shinde (1): DWMMC: SMDK5420: Disable SMU for eMMC arch/arm/include/asm/arch-exynos/dwmmc.h | 13 + drivers/mmc/dw_mmc.c | 17 ++--- drivers/mmc/exynos_dw_mmc.c | 5 - drivers/mmc/fsl_esdhc.c | 69 - drivers/mmc/mmc.c| 17 + drivers/mmc/sdhci.c | 35 --- include/configs/T4240QDS.h | 1 + include/dwmmc.h | 5 - include/mmc.h| 2 ++ 9 files changed, 123 insertions(+), 41 deletions(-) Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Pull request: u-boot-blackfin
On Mon, Nov 04, 2013 at 05:09:03PM +0800, Sonic Zhang wrote: Hi Tom, Please pull the following patches from u-boot-blackfin into your tree. Thanks Sonic Zhang The following changes since commit 509dca7a11aad394d781a9d31a7bfa6692562741: Merge branch 'master' of git://git.denx.de/u-boot-video (2013-10-30 08:36:48 -0400) are available in the git repository at: git://git.denx.de/u-boot-blackfin.git master for you to fetch changes up to cae4d0403c0863176f228d410d6a29b3f4b9d595: blackfin: Move machine specific gpio_port_t structure back to blackfin arch folder. (2013-11-04 16:50:46 +0800) Masahiro Yamada (1): blackfin: fix a warning in arch/blackfin/cpu/cpu.c Steven Miao (1): blackfin: Move machine specific gpio_port_t structure back to blackfin arch folder. arch/blackfin/cpu/Makefile | 2 +- arch/blackfin/cpu/cpu.c | 3 +++ arch/blackfin/cpu/gpio.c | 17 + arch/blackfin/include/asm/gpio.h | 3 +++ drivers/gpio/adi_gpio2.c | 17 - 5 files changed, 24 insertions(+), 18 deletions(-) Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 3/5] usb, g_dnl: make iSerialNumber board configurable
Hi Heiko, add the possibility to set the iSerialNumber board specific. Default value for iSerialNumber is 0x0. This value can changed board specific through the new function g_dnl_set_serialnumber() which must be called from the board specific function g_dnl_bind_fixup(). Tested-by: Lukasz Majewski l.majew...@samsung.com Test HW: TRATS. I will apply it to u-boot-dfu. Signed-off-by: Heiko Schocher h...@denx.de Cc: Marek Vasut marek.va...@gmail.com Cc: Lukasz Majewski l.majew...@samsung.com Cc: Kyungmin Park kyungmin.p...@samsung.com --- - changes for v3 rebase against current u-boot/master 509dca7a11aad394d781a9d31a7bfa6692562741 changes for v2: - as Lukasz Majewski suggested, remove CONFIG_G_DNL_SERIAL_STRING define --- drivers/usb/gadget/g_dnl.c | 20 include/g_dnl.h| 1 + 2 files changed, 21 insertions(+) diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 43f413a..8dc3d9f 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -33,6 +33,9 @@ #define STRING_PRODUCT 2 /* Index of String Descriptor describing this configuration */ #define STRING_USBDOWN 2 +/* Index of String serial */ +#define STRING_SERIAL 3 +#define MAX_STRING_SERIAL32 /* Number of supported configurations */ #define CONFIGURATION_NUMBER 1 @@ -40,8 +43,16 @@ static const char shortname[] = usb_dnl_; static const char product[] = USB download gadget; +static char g_dnl_serial[MAX_STRING_SERIAL]; static const char manufacturer[] = CONFIG_G_DNL_MANUFACTURER; +void g_dnl_set_serialnumber(char *s) +{ + memset(g_dnl_serial, 0, MAX_STRING_SERIAL); + if (strlen(s) MAX_STRING_SERIAL) + strncpy(g_dnl_serial, s, strlen(s)); +} + static struct usb_device_descriptor device_desc = { .bLength = sizeof device_desc, .bDescriptorType = USB_DT_DEVICE, @@ -53,6 +64,7 @@ static struct usb_device_descriptor device_desc = { .idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM), .idProduct = __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM), .iProduct = STRING_PRODUCT, + .iSerialNumber = STRING_SERIAL, .bNumConfigurations = 1, }; @@ -63,6 +75,7 @@ static struct usb_device_descriptor device_desc = { static struct usb_string g_dnl_string_defs[] = { {.s = manufacturer}, {.s = product}, + {.s = g_dnl_serial}, { } /* end of list */ }; @@ -156,6 +169,13 @@ static int g_dnl_bind(struct usb_composite_dev *cdev) g_dnl_string_defs[1].id = id; device_desc.iProduct = id; + id = usb_string_id(cdev); + if (id 0) + return id; + + g_dnl_string_defs[2].id = id; + device_desc.iSerialNumber = id; + g_dnl_bind_fixup(device_desc, cdev-driver-name); ret = g_dnl_config_register(cdev); if (ret) diff --git a/include/g_dnl.h b/include/g_dnl.h index de669fb..8f813c2 100644 --- a/include/g_dnl.h +++ b/include/g_dnl.h @@ -13,5 +13,6 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *, const char *); int g_dnl_register(const char *s); void g_dnl_unregister(void); +void g_dnl_set_serialnumber(char *); #endif /* __G_DOWNLOAD_H_ */ -- Best regards, Lukasz Majewski Samsung RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/6] video: remove AT91 legacy API from bus_vcxk
Am 2013-10-30 15:18, schrieb Andreas Bießmann: Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- drivers/video/bus_vcxk.c | 15 --- 1 file changed, 15 deletions(-) diff --git a/drivers/video/bus_vcxk.c b/drivers/video/bus_vcxk.c index 0138bca..60a5cc5 100644 --- a/drivers/video/bus_vcxk.c +++ b/drivers/video/bus_vcxk.c @@ -20,7 +20,6 @@ vu_long *vcxk_bws_long = ((vu_long *) (CONFIG_SYS_VCXK_BASE)); #ifndef VCBITMASK #define VCBITMASK(bitno)(0x0001 (bitno % 16)) #endif -#ifndef CONFIG_AT91_LEGACY at91_pio_t *pio = (at91_pio_t *) AT91_PIO_BASE; #define VCXK_INIT_PIN(PORT, PIN, DDR, I0O1) \ do { \ @@ -37,20 +36,6 @@ at91_pio_t *pio = (at91_pio_t *) AT91_PIO_BASE; #define VCXK_ACKNOWLEDGE \ (!(readl(pio-CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT.pdsr) \ CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN)) -#else - #define VCXK_INIT_PIN(PORT, PIN, DDR, I0O1) \ - ((AT91PS_PIO) PORT)-PIO_PER = PIN; \ - ((AT91PS_PIO) PORT)-DDR = PIN; \ - ((AT91PS_PIO) PORT)-PIO_MDDR = PIN; \ - if (!I0O1) ((AT91PS_PIO) PORT)-PIO_PPUER = PIN; - - #define VCXK_SET_PIN(PORT, PIN) ((AT91PS_PIO) PORT)-PIO_SODR = PIN; - #define VCXK_CLR_PIN(PORT, PIN) ((AT91PS_PIO) PORT)-PIO_CODR = PIN; - - #define VCXK_ACKNOWLEDGE\ - (!(((AT91PS_PIO) CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT)-\ - PIO_PDSR CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN)) -#endif #elif defined(CONFIG_MCF52x2) #include asm/m5282.h #ifndef VCBITMASK Acked-by: Jens Scharsig (BuS Elektronik) e...@bus-elektronik.de ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/6] video: remove AT91 legacy API from bus_vcxk
On Wed, 30 Oct 2013 15:18:17 +0100 Andreas Bießmann andreas.de...@googlemail.com wrote: Signed-off-by: Andreas Bießmann andreas.de...@googlemail.com --- drivers/video/bus_vcxk.c | 15 --- 1 file changed, 15 deletions(-) Acked-by: Anatolij Gustschin ag...@denx.de ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 3/5] usb, g_dnl: make iSerialNumber board configurable
Hello Lukasz, Am 04.11.2013 16:12, schrieb Lukasz Majewski: Hi Heiko, add the possibility to set the iSerialNumber board specific. Default value for iSerialNumber is 0x0. This value can changed board specific through the new function g_dnl_set_serialnumber() which must be called from the board specific function g_dnl_bind_fixup(). Tested-by: Lukasz Majewskil.majew...@samsung.com Test HW: TRATS. I will apply it to u-boot-dfu. Thanks! bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Add support for TechNexion edm1-cf-imx6 SoM
Hi Tapani, On Tue, Sep 10, 2013 at 11:47 AM, Stefano Babic sba...@denx.de wrote: We are worried that we might not familiar enough with u-boot development to get such changes accepted in reasonable time. I do not know what you mean for a reasonable time. Merge window is closed, that is patchsets adding new features will not be merged in the next release 2013.10. The next release should be 2013.01, and there are chances to get them merged. Do you plan to send a new version of the patch that adds support for booting a single binary on the mx6q/dl/solo? Regards, Fabio Estevam ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 3/5] usb, g_dnl: make iSerialNumber board configurable
Dear Lukasz Majewski, Hi Heiko, add the possibility to set the iSerialNumber board specific. Default value for iSerialNumber is 0x0. This value can changed board specific through the new function g_dnl_set_serialnumber() which must be called from the board specific function g_dnl_bind_fixup(). Tested-by: Lukasz Majewski l.majew...@samsung.com Test HW: TRATS. I will apply it to u-boot-dfu. Is this u-boot-dfu a new thing ? Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 0/5] arm, am33xx: update for the am33xx based siemens boards
Dear Vaibhav Bedia, On Mon, Nov 4, 2013 at 8:15 AM, Heiko Schocher h...@denx.de wrote: [...] Hups, missed this EMail ... :-( No problem. Happens all the time :) Hmm.. some boards from siemens do not use the RTC, so this approach is not possible here ... By unused do you mean it's not powered up or is it simply not programmed? Even if the RTC is not programmed the register would still be there. I don't have a board with me to check the behavior but i am guessing the RTC functionality doesn't need to be used to make use of the scratchpad registers. If your hardware's IP block's clock are not ungated, the register access to that IP block will usually not work. Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Add support for TechNexion edm1-cf-imx6 SoM
On 11/04/2013 10:28 AM, Fabio Estevam wrote: Hi Tapani, On Tue, Sep 10, 2013 at 11:47 AM, Stefano Babic sba...@denx.de wrote: We are worried that we might not familiar enough with u-boot development to get such changes accepted in reasonable time. I do not know what you mean for a reasonable time. Merge window is closed, that is patchsets adding new features will not be merged in the next release 2013.10. The next release should be 2013.01, and there are chances to get them merged. Do you plan to send a new version of the patch that adds support for booting a single binary on the mx6q/dl/solo? BTW, I have updated patches to consolidate the IOMUX registers, and they include updates to board/freescale/titanium. Should I re-base them on top of the patches which move titanium into board/barco? It seems that this change is likely to be applied once Stefano waits the requisite 48 hours... Please advise, Eric ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Add support for TechNexion edm1-cf-imx6 SoM
On Mon, Nov 4, 2013 at 3:37 PM, Eric Nelson eric.nel...@boundarydevices.com wrote: On 11/04/2013 10:28 AM, Fabio Estevam wrote: Hi Tapani, On Tue, Sep 10, 2013 at 11:47 AM, Stefano Babic sba...@denx.de wrote: We are worried that we might not familiar enough with u-boot development to get such changes accepted in reasonable time. I do not know what you mean for a reasonable time. Merge window is closed, that is patchsets adding new features will not be merged in the next release 2013.10. The next release should be 2013.01, and there are chances to get them merged. Do you plan to send a new version of the patch that adds support for booting a single binary on the mx6q/dl/solo? BTW, I have updated patches to consolidate the IOMUX registers, and they include updates to board/freescale/titanium. Should I re-base them on top of the patches which move titanium into board/barco? It makes sense to base on this patch, for sure. -- Otavio Salvador O.S. Systems http://www.ossystems.com.brhttp://code.ossystems.com.br Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] Add support for TechNexion edm1-cf-imx6 SoM
Hi Eric, On 04/11/2013 18:37, Eric Nelson wrote: On 11/04/2013 10:28 AM, Fabio Estevam wrote: Hi Tapani, On Tue, Sep 10, 2013 at 11:47 AM, Stefano Babic sba...@denx.de wrote: We are worried that we might not familiar enough with u-boot development to get such changes accepted in reasonable time. I do not know what you mean for a reasonable time. Merge window is closed, that is patchsets adding new features will not be merged in the next release 2013.10. The next release should be 2013.01, and there are chances to get them merged. Do you plan to send a new version of the patch that adds support for booting a single binary on the mx6q/dl/solo? BTW, I have updated patches to consolidate the IOMUX registers, and they include updates to board/freescale/titanium. Should I re-base them on top of the patches which move titanium into board/barco? Yes, please do it ! I think your patches will be the base for the other ones, and I would like we can merge your efforts soon.. It seems that this change is likely to be applied once Stefano waits the requisite 48 hours... ;-D Regards, Stefano -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] spi: tegra: clear RDY bit prior to every transfer
From: Yen Lin ye...@nvidia.com The RDY bit indicates that a transfer is complete. This needs to be cleared by SW before every single HW transaction, rather than only at the start of each SW transaction (those being made up of n HW transactions). It seems that earlier HW may have cleared this bit autonomously when starting a new transfer, and hence this code was not needed in practice. However, this is generally a good idea in all cases. In Tegra124, the HW behaviour appears to have changed, and SW must explicitly clear this bit. Otherwise, SW will believe that transfers have completed when they have not, and may e.g. read stale data from the RX FIFO. Signed-off-by: Yen Lin ye...@nvidia.com [swarren, rewrote commit description, unified duplicate RDY clearing code and moved it right before the start of the HW transaction, unconditionally exit loop after reading RX data, rather than checking if TX FIFO is empty, since it is guaranteed to be] Signed-off-by: Stephen Warren swar...@nvidia.com --- I assume this patch will be applied to the SPI tree since it's an SPI- related patch. Tom Warren recently posted a series which renames the Tegra114 SPI driver, although I think I persuaded him that wasn't a good idea. Either way, this patch should merge fine with that, since Tom's patch was mostly a rename and hence won't conflict. With this patch and Tom's recent initial Tegra124 support patches applied, I can use tegra-uboot-flasher to write U-Boot to SPI flash on Venice2. Without this patch, the SPI writes failed. drivers/spi/tegra114_spi.c | 21 - 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/drivers/spi/tegra114_spi.c b/drivers/spi/tegra114_spi.c index 4d2af48..810fa47 100644 --- a/drivers/spi/tegra114_spi.c +++ b/drivers/spi/tegra114_spi.c @@ -289,9 +289,6 @@ int tegra114_spi_xfer(struct spi_slave *slave, unsigned int bitlen, reg = readl(regs-fifo_status); writel(reg, regs-fifo_status); - /* clear ready bit */ - setbits_le32(regs-xfer_status, SPI_XFER_STS_RDY); - clrsetbits_le32(regs-command1, SPI_CMD1_CS_SW_VAL, SPI_CMD1_RX_EN | SPI_CMD1_TX_EN | SPI_CMD1_LSBY_FE | (slave-cs SPI_CMD1_CS_SEL_SHIFT)); @@ -305,7 +302,6 @@ int tegra114_spi_xfer(struct spi_slave *slave, unsigned int bitlen, /* handle data in 32-bit chunks */ while (num_bytes 0) { int bytes; - int is_read = 0; int tm, i; tmpdout = 0; @@ -319,6 +315,9 @@ int tegra114_spi_xfer(struct spi_slave *slave, unsigned int bitlen, num_bytes -= bytes; + /* clear ready bit */ + setbits_le32(regs-xfer_status, SPI_XFER_STS_RDY); + clrsetbits_le32(regs-command1, SPI_CMD1_BIT_LEN_MASK SPI_CMD1_BIT_LEN_SHIFT, (bytes * 8 - 1) SPI_CMD1_BIT_LEN_SHIFT); @@ -329,20 +328,14 @@ int tegra114_spi_xfer(struct spi_slave *slave, unsigned int bitlen, * Wait for SPI transmit FIFO to empty, or to time out. * The RX FIFO status will be read and cleared last */ - for (tm = 0, is_read = 0; tm SPI_TIMEOUT; ++tm) { + for (tm = 0; tm SPI_TIMEOUT; ++tm) { u32 fifo_status, xfer_status; - fifo_status = readl(regs-fifo_status); - - /* We can exit when we've had both RX and TX activity */ - if (is_read - (fifo_status SPI_FIFO_STS_TX_FIFO_EMPTY)) - break; - xfer_status = readl(regs-xfer_status); if (!(xfer_status SPI_XFER_STS_RDY)) continue; + fifo_status = readl(regs-fifo_status); if (fifo_status SPI_FIFO_STS_ERR) { debug(%s: got a fifo error: , __func__); if (fifo_status SPI_FIFO_STS_TX_FIFO_OVF) @@ -367,7 +360,6 @@ int tegra114_spi_xfer(struct spi_slave *slave, unsigned int bitlen, if (!(fifo_status SPI_FIFO_STS_RX_FIFO_EMPTY)) { tmpdin = readl(regs-rx_fifo); - is_read = 1; /* swap bytes read in */ if (din != NULL) { @@ -377,6 +369,9 @@ int tegra114_spi_xfer(struct spi_slave *slave, unsigned int bitlen, } din += bytes; } + + /* We can exit when we've had both RX and TX */ + break; } } -- 1.8.1.5 ___ U-Boot mailing list
Re: [U-Boot] net: macb: get DMA bus width from design config register
Dear Bo Shen, Bo Shen voice.s...@atmel.com writes: Get DMA bus width from design config register Signed-off-by: Bo Shen voice.s...@atmel.com --- drivers/net/macb.c | 20 +++- drivers/net/macb.h | 11 +++ 2 files changed, 30 insertions(+), 1 deletion(-) applied to u-boot-atmel/master, thanks! 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] ARM: ATMEL: eb_cpux9k2: fix TEXT_BASE for ramboot target
Dear e...@bus-elektronik.de, e...@bus-elektronik.de e...@bus-elektronik.de writes: From: Jens Scharsig (BuS Elektronik) e...@bus-elektronik.de Since more functions are enabled, the eb_cpux9k2_ram target does not boot. This patch changed the TEXT_BASE, that the code fits between TEXT_BASE and ram end. Signed-off-by: Jens Scharsig (BuS Elektronik) e...@bus-elektronik.de --- include/configs/eb_cpux9k2.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) applied to u-boot-atmel/master, thanks! 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] [U-Boot,1/2] arm: atmel: at91sam9n12ek: add usb host support
Dear Bo Shen, Bo Shen voice.s...@atmel.com writes: Add usb host support for at91sam9n12ek board. Signed-off-by: Bo Shen voice.s...@atmel.com --- arch/arm/include/asm/arch-at91/at91_pmc.h |2 ++ board/atmel/at91sam9n12ek/at91sam9n12ek.c | 11 +++ drivers/usb/host/ohci-at91.c | 11 +-- include/configs/at91sam9n12ek.h | 12 4 files changed, 34 insertions(+), 2 deletions(-) applied to u-boot-atmel/master, thanks! 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] [U-Boot,2/2] arm: atmel: get rid of too many ifdeffery
Dear Bo Shen, Bo Shen voice.s...@atmel.com writes: Get rid of too many ifdeffery in usb ohci driver Add following two configuration for USB clock selecting - CONFIG_USB_ATMEL_CLK_SEL_PLLB: using PLLB as usb ohci input clock - CONFIG_USB_ATMEL_CLK_SEL_UPLL: using UPLL as usb ohci input clock Signed-off-by: Bo Shen voice.s...@atmel.com --- drivers/usb/host/ohci-at91.c| 14 -- include/configs/afeb9260.h |1 + include/configs/at91rm9200ek.h |1 + include/configs/at91sam9260ek.h |1 + include/configs/at91sam9261ek.h |1 + include/configs/at91sam9263ek.h |1 + include/configs/at91sam9n12ek.h |1 + include/configs/at91sam9x5ek.h |3 ++- include/configs/cpu9260.h |1 + include/configs/cpuat91.h |1 + include/configs/eb_cpux9k2.h|1 + include/configs/ethernut5.h |1 + include/configs/meesc.h |1 + include/configs/otc570.h|1 + include/configs/pm9261.h|1 + include/configs/pm9263.h|1 + include/configs/pm9g45.h|1 + include/configs/sama5d3xek.h|1 + include/configs/sbc35_a9g20.h |1 + include/configs/snapper9260.h |1 + include/configs/stamp9g20.h |1 + include/configs/top9000.h |1 + include/configs/vl_ma2sc.h |1 + 23 files changed, 27 insertions(+), 11 deletions(-) applied to u-boot-atmel/master, thanks! 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] [U-Boot,v2,1/4] at91: add defines for reset type
Dear Heiko Schocher, Heiko Schocher h...@denx.de writes: From: Roger Meier r.me...@siemens.com Signed-off-by: Roger Meier r.me...@siemens.com Acked-by: Bo Shen voice.s...@atmel.com Reviewed-by: Heiko Schocher h...@denx.de Cc: Andreas Bießmann andreas.de...@googlemail.com --- changes for v2: - add Acked-by from Bo Shen --- arch/arm/include/asm/arch-at91/at91_rstc.h | 7 +++ 1 file changed, 7 insertions(+) applied to u-boot-atmel/master, thanks! Best regards, Andreas Bießmann ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PULL] u-boot-atmel/master - u-boot-arm/master
Dear Albert Aribaud, please pull u-boot-atmel/master into u-boot-arm/master. The following changes since commit 304db0b38cfb04cfdb05a740d5ef27da06ea98ea: arm: Remove IXP425 boards pdnb3 and scpu (2013-10-17 09:28:08 +0200) are available in the git repository at: git://git.denx.de/u-boot-atmel.git master for you to fetch changes up to c12f941bece9ed79efccfe9e4a9fd977da6975f9: at91: add defines for reset type (2013-11-04 20:32:39 +0100) Bo Shen (3): net: macb: get DMA bus width from design config register arm: atmel: at91sam9n12ek: add usb host support arm: atmel: get rid of too many ifdeffery Jens Scharsig (BuS Elektronik) (1): ARM: ATMEL: eb_cpux9k2: fix TEXT_BASE for ramboot target Roger Meier (1): at91: add defines for reset type arch/arm/include/asm/arch-at91/at91_pmc.h |2 ++ arch/arm/include/asm/arch-at91/at91_rstc.h |7 +++ board/atmel/at91sam9n12ek/at91sam9n12ek.c | 11 +++ drivers/net/macb.c | 20 +++- drivers/net/macb.h | 11 +++ drivers/usb/host/ohci-at91.c | 19 ++- include/configs/afeb9260.h |1 + include/configs/at91rm9200ek.h |1 + include/configs/at91sam9260ek.h|1 + include/configs/at91sam9261ek.h|1 + include/configs/at91sam9263ek.h|1 + include/configs/at91sam9n12ek.h| 13 + include/configs/at91sam9x5ek.h |3 ++- include/configs/cpu9260.h |1 + include/configs/cpuat91.h |1 + include/configs/eb_cpux9k2.h |4 +++- include/configs/ethernut5.h|1 + include/configs/meesc.h|1 + include/configs/otc570.h |1 + include/configs/pm9261.h |1 + include/configs/pm9263.h |1 + include/configs/pm9g45.h |1 + include/configs/sama5d3xek.h |1 + include/configs/sbc35_a9g20.h |1 + include/configs/snapper9260.h |1 + include/configs/stamp9g20.h|1 + include/configs/top9000.h |1 + include/configs/vl_ma2sc.h |1 + 28 files changed, 97 insertions(+), 12 deletions(-) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 0/5] arm, am33xx: update for the am33xx based siemens boards
Hi Marek, On Mon, Nov 4, 2013 at 12:34 PM, Marek Vasut ma...@denx.de wrote: Dear Vaibhav Bedia, On Mon, Nov 4, 2013 at 8:15 AM, Heiko Schocher h...@denx.de wrote: [...] Hups, missed this EMail ... :-( No problem. Happens all the time :) Hmm.. some boards from siemens do not use the RTC, so this approach is not possible here ... By unused do you mean it's not powered up or is it simply not programmed? Even if the RTC is not programmed the register would still be there. I don't have a board with me to check the behavior but i am guessing the RTC functionality doesn't need to be used to make use of the scratchpad registers. If your hardware's IP block's clock are not ungated, the register access to that IP block will usually not work. Yes, i understand that. However, in this case AFAICT the interface clock is always present and hence it should be possible to use the RTC registers. Moreover, i just noticed Tom applied a bootcount patch for AM335x [1] which does use the scratchpad register that i am pointing to. So unless there's some other board level difference that i am missing it should work. Regards, Vaibhav [1] http://lists.denx.de/pipermail/u-boot/2013-August/161593.html ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] ARM: pxa: Fix CONFIG_SYS_HZ on PXA
The PXA incorrectly uses CONFIG_SYS_HZ, which should be 1000 across U-Boot. Fix this. Signed-off-by: Marek Vasut ma...@denx.de Cc: Tom Rini tr...@ti.com Cc: Albert Aribaud albert.u.b...@aribaud.net --- include/configs/balloon3.h | 10 +- include/configs/palmld.h | 10 +- include/configs/palmtc.h | 10 +- include/configs/scb9328.h | 6 +++--- include/configs/zipitz2.h | 10 +- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/include/configs/balloon3.h b/include/configs/balloon3.h index cbf2853..d90e29b 100644 --- a/include/configs/balloon3.h +++ b/include/configs/balloon3.h @@ -86,7 +86,7 @@ * Clock Configuration */ #undef CONFIG_SYS_CLKS_IN_HZ -#defineCONFIG_SYS_HZ 325 /* Timer @ 325 Hz */ +#defineCONFIG_SYS_HZ 1000 #defineCONFIG_SYS_CPUSPEED 0x290 /* 520MHz */ /* @@ -129,10 +129,10 @@ #defineCONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 -#defineCONFIG_SYS_FLASH_ERASE_TOUT (2*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_WRITE_TOUT (2*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_LOCK_TOUT (2*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_UNLOCK_TOUT(2*CONFIG_SYS_HZ) +#defineCONFIG_SYS_FLASH_ERASE_TOUT 24 +#defineCONFIG_SYS_FLASH_WRITE_TOUT 24 +#defineCONFIG_SYS_FLASH_LOCK_TOUT 24 +#defineCONFIG_SYS_FLASH_UNLOCK_TOUT24 #defineCONFIG_SYS_FLASH_PROTECTION #defineCONFIG_ENV_IS_IN_FLASH #else diff --git a/include/configs/palmld.h b/include/configs/palmld.h index 0302090..9479300 100644 --- a/include/configs/palmld.h +++ b/include/configs/palmld.h @@ -118,7 +118,7 @@ * Clock Configuration */ #undef CONFIG_SYS_CLKS_IN_HZ -#defineCONFIG_SYS_HZ 325 /* Timer @ 325 Hz */ +#defineCONFIG_SYS_HZ 1000 #defineCONFIG_SYS_CPUSPEED 0x210 /* 416MHz ; N=2,L=16 */ /* @@ -161,10 +161,10 @@ #defineCONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 -#defineCONFIG_SYS_FLASH_ERASE_TOUT (25*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_WRITE_TOUT (25*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_LOCK_TOUT (25*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_UNLOCK_TOUT(25*CONFIG_SYS_HZ) +#defineCONFIG_SYS_FLASH_ERASE_TOUT 24 +#defineCONFIG_SYS_FLASH_WRITE_TOUT 24 +#defineCONFIG_SYS_FLASH_LOCK_TOUT 24 +#defineCONFIG_SYS_FLASH_UNLOCK_TOUT24 #defineCONFIG_SYS_FLASH_PROTECTION #defineCONFIG_ENV_IS_IN_FLASH 1 diff --git a/include/configs/palmtc.h b/include/configs/palmtc.h index d838356..05d677b 100644 --- a/include/configs/palmtc.h +++ b/include/configs/palmtc.h @@ -120,7 +120,7 @@ * Clock Configuration */ #undef CONFIG_SYS_CLKS_IN_HZ -#defineCONFIG_SYS_HZ 3686400 /* Timer @ 3686400 Hz */ +#defineCONFIG_SYS_HZ 1000 #defineCONFIG_SYS_CPUSPEED 0x161 /* 400MHz;L=1 M=3 T=1 */ /* @@ -158,10 +158,10 @@ #defineCONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 -#defineCONFIG_SYS_FLASH_ERASE_TOUT (2*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_WRITE_TOUT (2*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_LOCK_TOUT (2*CONFIG_SYS_HZ) -#defineCONFIG_SYS_FLASH_UNLOCK_TOUT(2*CONFIG_SYS_HZ) +#defineCONFIG_SYS_FLASH_ERASE_TOUT 24 +#defineCONFIG_SYS_FLASH_WRITE_TOUT 24 +#defineCONFIG_SYS_FLASH_LOCK_TOUT 24 +#defineCONFIG_SYS_FLASH_UNLOCK_TOUT24 #defineCONFIG_SYS_FLASH_PROTECTION #defineCONFIG_ENV_IS_IN_FLASH 1 diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h index a09310c..c0048ac 100644 --- a/include/configs/scb9328.h +++ b/include/configs/scb9328.h @@ -69,7 +69,7 @@ #define CONFIG_SYS_MEMTEST_START 0x0810/* memtest test area */ #define CONFIG_SYS_MEMTEST_END 0x08F0 -#define CONFIG_SYS_HZ 3686400 /* incrementer freq: 3.6864 MHz */ +#define CONFIG_SYS_HZ 1000 #define CONFIG_SYS_CPUSPEED0x141/* core clock - register value */ #define CONFIG_BAUDRATE 115200 @@ -143,8 +143,8 @@ now.*/ #undef CONFIG_SYS_FLASH_CFI -#define CONFIG_SYS_FLASH_ERASE_TOUT(2*CONFIG_SYS_HZ)/* timeout for Erase operation */ -#define CONFIG_SYS_FLASH_WRITE_TOUT(2*CONFIG_SYS_HZ)/* timeout for Write operation */ +#define CONFIG_SYS_FLASH_ERASE_TOUT24/* timeout for Erase operation */ +#define CONFIG_SYS_FLASH_WRITE_TOUT24/* timeout for Write operation */ #define CONFIG_SYS_FLASH_BASE SCB9328_FLASH_BASE diff --git a/include/configs/zipitz2.h
[U-Boot] [PATCH] boards.cfg: update email address for ti814x_evm maintainer
Update my email address as ti814x_evm maintainer to save people some frustrating bounces and non-response. Signed-off-by: Matt Porter matt.por...@linaro.org --- boards.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards.cfg b/boards.cfg index 5e10125..cd6bec4 100644 --- a/boards.cfg +++ b/boards.cfg @@ -264,7 +264,7 @@ Active arm armv7 am33xx ti am335x Active arm armv7 am33xx ti am335x am335x_evm_uart5 am335x_evm:SERIAL6,CONS_INDEX=1,NAND Tom Rini tr...@ti.com Active arm armv7 am33xx ti am335x am335x_evm_usbspl am335x_evm:SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT Tom Rini tr...@ti.com Active arm armv7 am33xx ti am43xx am43xx_evm am43xx_evm:SERIAL1,CONS_INDEX=1 - -Active arm armv7 am33xx ti ti814x ti814x_evm - Matt Porter mpor...@ti.com +Active arm armv7 am33xx ti ti814x ti814x_evm - Matt Porter matt.por...@linaro.org Active arm armv7 am33xx ti ti816x ti816x_evm - - Active arm armv7 at91atmel sama5d3xek sama5d3xek_mmc sama5d3xek:SAMA5D3,SYS_USE_MMC Bo Shen voice.s...@atmel.com Active arm armv7 at91atmel sama5d3xek sama5d3xek_nandflash sama5d3xek:SAMA5D3,SYS_USE_NANDFLASH Bo Shen voice.s...@atmel.com -- 1.8.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 0/6] Add support for SPI based DataImage LCD panel
On Wed, Oct 16, 2013 at 05:23:23PM +0300, Nikita Kiryanov wrote: This patch ports the Linux driver for DataImage SCF0403852GGU04 and SCF0403526GGU20 LCD panels into U-Boot. As a preparation step, variable SPI word length support is added to omap3_spi and the generic SPI interface. Finally, the driver is used in cm_t35 board. The SPI changes were tested with a Beagle I2C/SPI/MDIO Protocol Analyzer, and also with a DataImage SCF0403 lcd as part of the DataImage driver test. Patch number 6 depends on http://patchwork.ozlabs.org/patch/275283/ Cc: Tom Rini tr...@ti.com Cc: Anatolij Gustschin ag...@denx.de Cc: Igor Grinberg grinb...@compulab.co.il Cc: Jagannadha Sutradharudu Teki jagannadh.t...@gmail.com Changes in V2: - Rebased on top of latest U-Boot - New patches: 1) spi: omap3: remove semicolon from #define 2) spi: define SPI_XFER_ONCE 3) omap3_dss: define DSS_ONOFF 1 is a preliminary cleanup suggested by Gerhard Sittig and Igor Grinberg 2 and 3 are splitting off some new #defines to separate patches - Moved wordlen to generic spi_slave struct, and added generic implementation for spi_set_wordlen which only updates the struct without touching the hardware (Igor Grinberg) - Updated wordlen in hardware just before doing SPI transactions, not when changing wordlen (Igor Grinberg) - OMAP3 specific check of wordlen value from old implementation of spi_set_wordlen moved to xfer. It refines the more general check done in the new spi_set_wordlen. - Fixed comment style in spi.h following a rebase on top of latest U-Boot - Added SPDX-License-Identifier to all new files (Anatolij Gustschin) - s/printf/puts for not formatted strings in scf0403 driver (Anatolij Gustschin) - Do not fail scf0403 driver init if an invalid reset_gpio is given (Igor Grinberg) Nikita Kiryanov (6): spi: omap3: remove semicolon from #define spi: omap3: add support for more word lengths spi: define SPI_XFER_ONCE lcd: add DataImage SCF0403x LCD panel support omap3_dss: define DSS_ONOFF cm_t35: use scf0403 driver arch/arm/include/asm/arch-omap3/dss.h | 9 +- board/compulab/cm_t35/cm_t35.c| 12 ++ board/compulab/common/omap3_display.c | 46 +- drivers/spi/omap3_spi.c | 71 +--- drivers/spi/omap3_spi.h | 8 +- drivers/spi/spi.c | 13 ++ drivers/video/Makefile| 1 + drivers/video/scf0403_lcd.c | 296 ++ include/configs/cm_t35.h | 3 + include/scf0403_lcd.h | 11 ++ include/spi.h | 17 ++ 11 files changed, 456 insertions(+), 31 deletions(-) create mode 100644 drivers/video/scf0403_lcd.c create mode 100644 include/scf0403_lcd.h Did the mailing list eat the CC? I expect these changes to come in via the spi tree, since Anatolij acked the other parts. Thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] am335x_evm: Fix CONS_INDEX numbering
From: Andrew Bradford and...@bradfordembedded.com Commit f6d1f6e4a58edae4776937647381a43fea5e83a5 broke selection of UARTs other than UART0 for am335x_evm configurations by setting CONS_INDEX to 1 for all configurations. Revert the CONS_INDEX changes. Signed-off-by: Andrew Bradford and...@bradfordembedded.com --- boards.cfg | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/boards.cfg b/boards.cfg index 5e10125..f4a026c 100644 --- a/boards.cfg +++ b/boards.cfg @@ -257,11 +257,11 @@ Active arm armv7 am33xx ti am335x Active arm armv7 am33xx ti am335x am335x_evm_nor am335x_evm:SERIAL1,CONS_INDEX=1,NAND,NOR Tom Rini tr...@ti.com Active arm armv7 am33xx ti am335x am335x_evm_norboot am335x_evm:SERIAL1,CONS_INDEX=1,NOR,NOR_BOOT Tom Rini tr...@ti.com Active arm armv7 am33xx ti am335x am335x_evm_spiboot am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOT Tom Rini tr...@ti.com -Active arm armv7 am33xx ti am335x am335x_evm_uart1 am335x_evm:SERIAL2,CONS_INDEX=1,NAND Tom Rini tr...@ti.com -Active arm armv7 am33xx ti am335x am335x_evm_uart2 am335x_evm:SERIAL3,CONS_INDEX=1,NAND Tom Rini tr...@ti.com -Active arm armv7 am33xx ti am335x am335x_evm_uart3 am335x_evm:SERIAL4,CONS_INDEX=1,NAND Tom Rini tr...@ti.com -Active arm armv7 am33xx ti am335x am335x_evm_uart4 am335x_evm:SERIAL5,CONS_INDEX=1,NAND Tom Rini tr...@ti.com -Active arm armv7 am33xx ti am335x am335x_evm_uart5 am335x_evm:SERIAL6,CONS_INDEX=1,NAND Tom Rini tr...@ti.com +Active arm armv7 am33xx ti am335x am335x_evm_uart1 am335x_evm:SERIAL2,CONS_INDEX=2,NAND Tom Rini tr...@ti.com +Active arm armv7 am33xx ti am335x am335x_evm_uart2 am335x_evm:SERIAL3,CONS_INDEX=3,NAND Tom Rini tr...@ti.com +Active arm armv7 am33xx ti am335x am335x_evm_uart3 am335x_evm:SERIAL4,CONS_INDEX=4,NAND Tom Rini tr...@ti.com +Active arm armv7 am33xx ti am335x am335x_evm_uart4 am335x_evm:SERIAL5,CONS_INDEX=5,NAND Tom Rini tr...@ti.com +Active arm armv7 am33xx ti am335x am335x_evm_uart5 am335x_evm:SERIAL6,CONS_INDEX=6,NAND Tom Rini tr...@ti.com Active arm armv7 am33xx ti am335x am335x_evm_usbspl am335x_evm:SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT Tom Rini tr...@ti.com Active arm armv7 am33xx ti am43xx am43xx_evm am43xx_evm:SERIAL1,CONS_INDEX=1 - Active arm armv7 am33xx ti ti814x ti814x_evm - Matt Porter mpor...@ti.com --
Re: [U-Boot] config: Add a default CONFIG_SYS_PROMPT
On Mon, Sep 30, 2013 at 05:11:48PM -0500, Rob Herring wrote: From: Rob Herring rob.herr...@calxeda.com The definitions for CONFIG_SYS_PROMPT are varied with little reason other than to display the board name. Over half the definitions are == , so make this the default. The rest of the boards remain unchanged to avoid breaking any external scripts expecting a certain prompt. Signed-off-by: Rob Herring rob.herr...@calxeda.com Reviewed-by: Fabio Estevam fabio.este...@freescale.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 0/9] Consolidate timer code
On Fri, Oct 04, 2013 at 10:22:39AM -0500, Rob Herring wrote: From: Rob Herring rob.herr...@calxeda.com Much of the timer code is re-implemented for each platform/arch yet it is all pretty much the same code. This series introduces a common implementation of timer functions and simplifies the platform code down to 2 or 3 config defines or 2 simple functions. It is intended for platforms with 32-bit freerunning timers. I've converted SH and a couple of ARM platforms as an example, but there are many more still that can be converted. This probably could be extended to work with 16-bit timers as well. I've compiled on ARM, SH4, and PPC. For the series, applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] pxe: fix handling of absolute paths
On Fri, Oct 18, 2013 at 01:04:42PM -0500, Rob Herring wrote: From: Rob Herring rob.herr...@calxeda.com pxelinux and syslinux differ in their handling of absolute paths in menu files. A pxelinux path is aways prepended with the bootfile path while syslinux allows for absolute paths. u-boot was always treating a leading / as an absolute path breaking some pxelinux setups. Fix this by adding a flag to distinguish pxelinux vs. syslinux behavior. Reported-by: Ian Campbell ian.campb...@citrix.com Signed-off-by: Rob Herring rob.herr...@calxeda.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 0/3] Consolidate CONFIG_SYS_HZ definition
On Fri, Oct 04, 2013 at 08:40:02AM -0500, Rob Herring wrote: From: Rob Herring rob.herr...@calxeda.com Since CONFIG_SYS_HZ is required to be 1000, this series consolidates the definition to a common definition and removes it from platform config headers. I split this version into 3 patches to pass maillist filters. The only other change is moving the warning for CONFIG_SYS_HZ != 1000 into lib/time.c so there is only 1 warning per config rather than every include of config_fallbacks.h. For the series, applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 00/15] MIPS Malta board support
Hi Paul, 2013/10/23 Paul Burton paul.bur...@imgtec.com: This series adds support for booting on a physical MIPS Malta board using a coreFPGA6 core card. The first 6 patches lay some groundwork, then the next 8 genericise the existing qemu-malta board to also function on a physical Malta. In the final patch I stake my claim upon, errm I mean step up to support :), the malta(el) board(s). Paul Burton (15): mips32: detect L1 cache sizes if they're not defined pcnet: code style cleanup pcnet: s/le16_to_cpu/cpu_to_le16/ in pcnet_send pcnet: add cache flushing invalidation pcnet: enable the NOUFLO feature pci.h: allow inclusion in assembly source qemu-malta: rename to just malta malta: setup super I/O UARTs malta: support for coreFPGA6 boards malta: display U-boot on the LCD screen malta: enable CONFIG_PCNET_79C973, PCNET_HAS_PROM, CONFIG_CMD_DHCP malta: remove cache size definitions malta: disable L2 caches malta: add script instructions to flash U-boot malta: add myself to maintainers could you please rebase to current master and adapt to Makefile/KBuild changes? After that I'll merge your series, thanks. -- - Daniel ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/5] i.MX6DQ/DLS: remove useless mux/pad declarations
Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com --- arch/arm/include/asm/arch-mx6/mx6dl_pins.h | 78 arch/arm/include/asm/arch-mx6/mx6q_pins.h | 82 -- 2 files changed, 160 deletions(-) diff --git a/arch/arm/include/asm/arch-mx6/mx6dl_pins.h b/arch/arm/include/asm/arch-mx6/mx6dl_pins.h index 94f49c0..63ea4da 100644 --- a/arch/arm/include/asm/arch-mx6/mx6dl_pins.h +++ b/arch/arm/include/asm/arch-mx6/mx6dl_pins.h @@ -424,70 +424,6 @@ enum { MX6_PAD_DRAM_CAS__MMDC_DRAM_CAS = IOMUX_PAD(0x0464, NO_MUX_I, 0, 0x, 0, 0), MX6_PAD_DRAM_CS0__MMDC_DRAM_CS_0= IOMUX_PAD(0x0468, NO_MUX_I, 0, 0x, 0, 0), MX6_PAD_DRAM_CS1__MMDC_DRAM_CS_1= IOMUX_PAD(0x046C, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D0__MMDC_DRAM_D_0 = IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D1__MMDC_DRAM_D_1 = IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D10__MMDC_DRAM_D_10= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D11__MMDC_DRAM_D_11= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D12__MMDC_DRAM_D_12= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D13__MMDC_DRAM_D_13= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D14__MMDC_DRAM_D_14= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D15__MMDC_DRAM_D_15= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D16__MMDC_DRAM_D_16= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D17__MMDC_DRAM_D_17= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D18__MMDC_DRAM_D_18= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D19__MMDC_DRAM_D_19= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D2__MMDC_DRAM_D_2 = IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D20__MMDC_DRAM_D_20= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D21__MMDC_DRAM_D_21= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D22__MMDC_DRAM_D_22= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D23__MMDC_DRAM_D_23= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D24__MMDC_DRAM_D_24= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D25__MMDC_DRAM_D_25= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D26__MMDC_DRAM_D_26= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D27__MMDC_DRAM_D_27= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D28__MMDC_DRAM_D_28= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D29__MMDC_DRAM_D_29= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D3__MMDC_DRAM_D_3 = IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D30__MMDC_DRAM_D_30= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D31__MMDC_DRAM_D_31= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D32__MMDC_DRAM_D_32= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D33__MMDC_DRAM_D_33= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D34__MMDC_DRAM_D_34= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D35__MMDC_DRAM_D_35= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D36__MMDC_DRAM_D_36= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D37__MMDC_DRAM_D_37= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D38__MMDC_DRAM_D_38= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D39__MMDC_DRAM_D_39= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D4__MMDC_DRAM_D_4 = IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D40__MMDC_DRAM_D_40= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D41__MMDC_DRAM_D_41= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D42__MMDC_DRAM_D_42= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D43__MMDC_DRAM_D_43= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D44__MMDC_DRAM_D_44= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D45__MMDC_DRAM_D_45= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), - MX6_PAD_DRAM_D46__MMDC_DRAM_D_46= IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x, 0, 0), -