05 May, 2013

2 commits

  • Legacy iomux support is no longer needed now that all boards have been converted
    to iomux-v3.

    Signed-off-by: Benoît Thébaudeau
    Reviewed-by: Marek Vasut

    Benoît Thébaudeau
     
  • Add support for generic NAND SPL via the SPL framework into the
    mxc_nand_spl driver. This is basically just a simple rename and
    publication of the already implemented functions. To avoid the
    bare-bones functions getting in the way of the NAND_SPL, build
    them only if CONFIG_SPL_FRAMEWORK is not defined.

    Also make sure the requested payload is aligned to full pages,
    otherwise this simple driver fails to load the last page.

    Signed-off-by: Marek Vasut
    Cc: Albert ARIBAUD
    Cc: Benoît Thébaudeau
    Cc: Fabio Estevam
    Cc: Scott Wood
    Cc: Stefano Babic
    Cc: Tom Rini
    Acked-by: Scott Wood

    Marek Vasut
     

28 Apr, 2013

2 commits


22 Apr, 2013

3 commits


14 Apr, 2013

4 commits


13 Apr, 2013

3 commits

  • The glitch in the SPI clock line, which commit 3cea335c34 (spi: mxc_spi: Fix spi
    clock glitch durant reset) solved, is back now and itwas re-introduced by
    commit d36b39bf0d (spi: mxc_spi: Fix ECSPI reset handling).

    Actually the glitch is happening due to always toggling between slave mode
    and master mode by configuring the CHANNEL_MODE bits in this reset function.

    Since the spi driver only supports master mode, set the mode for all channels
    always to master mode in order to have a stable, "glitch-free" SPI clock line.

    Signed-off-by: Fabio Estevam

    Fabio Estevam
     
  • Conflicts:
    drivers/video/exynos_fb.c

    Albert ARIBAUD
     
  • If CONFIG_NAND_ECC_BCH is set use 4-bit error correction code instead of
    the 1-bit error correction code on the NAND device.

    Signed-off-by: Gerlando Falauto
    Signed-off-by: Holger Brunck
    cc: Valentin Longchamp
    cc: Prafulla Wadaskar
    Acked-by: Prafulla Wadaskar
    Acked-by: Scott Wood

    Gerlando Falauto
     

12 Apr, 2013

10 commits


10 Apr, 2013

3 commits

  • Support for NAND storage devices to work with the DFU framework.

    Signed-off-by: Pantelis Antoniou
    Signed-off-by: Tom Rini
    Acked-by: Scott Wood

    Pantelis Antoniou
     
  • We make these two functions take a size_t pointer to how much space
    was used on NAND to read or write the buffer (when reads/writes happen)
    so that bad blocks can be accounted for. We also make them take an
    loff_t limit on how much data can be read or written. This means that
    we can now catch the case of when writing to a partition would exceed
    the partition size due to bad blocks. To do this we also need to make
    check_skip_len count not just complete blocks used but partial ones as
    well. All callers of nand_(read|write)_skip_bad are adjusted to call
    these with the most sensible limits available.

    The changes were started by Pantelis and finished by Tom.

    Signed-off-by: Pantelis Antoniou
    Signed-off-by: Tom Rini

    Tom Rini
     
  • Previously we didn't support upload/download larger than available
    memory. This is pretty bad when you have to update your root filesystem
    for example.

    This patch removes that limitation (and the crashes when you transfered
    any file larger than 4MB) by making raw image writes be done in chunks
    and making file maximum size be configurable.

    The sequence number is a 16 bit counter; make sure we handle rollover
    correctly. This fixes the wrong transfers for large (> 256MB) images.

    Also utilize a variable to handle initialization, so that we don't rely
    on just the counter sent by the host.

    Signed-off-by: Pantelis Antoniou
    Signed-off-by: Tom Rini

    Pantelis Antoniou
     

09 Apr, 2013

1 commit

  • Following commit:
    "cmd_ext4: BREAK and correct ext4write parameter order"
    SHA1:0171d52c410cbaa9290b1b214e695697c835bfe5

    introduced cleanup of ext4write semantics to be consistent with other
    filesystem's writing commands (e.g. fatwrite).
    This commit provides correct ext4write command generation at DFU eMMC
    code.

    Signed-off-by: Lukasz Majewski
    Signed-off-by: Kyungmin Park

    Łukasz Majewski
     

08 Apr, 2013

6 commits

  • The kernel states:

    ---88---

    And we do so in u-boot.

    This implementation uses the same layout for BCH8 but it is fix. The current
    provided layout does only work with 64 Byte OOB.

    Signed-off-by: Andreas Bießmann
    Cc: Tom Rini
    Cc: Ilya Yanok
    Cc: Scott Wood
    Cc: Mansoor Ahamed
    Cc: Thomas Weber

    Andreas Bießmann
     
  • With uppcoming BCH support on OMAP devices we need to decide between differnt
    algorithms when switching the ECC engine. Currently we support 1-bit hammign
    and 8-bit BCH on HW backend.

    In order to switch between differnet ECC algorithms we need to change the
    interface of omap_nand_switch_ecc() also.

    Signed-off-by: Andreas Bießmann
    Cc: Tom Rini
    Cc: Thomas Weber

    Andreas Bießmann
     
  • arch/arm/include/asm/arch-am33xx/omap_gpmc.h and
    arch/arm/include/asm/arch-omap3/omap_gpmc.h are almost the same, consolidate
    the common parts into a new header.

    Introduce a new asm/omap_gpmc.h which defines the command part and pulls in
    the architecture specific one.

    Signed-off-by: Andreas Bießmann
    Cc: Tom Rini
    Reviewed-by: Tom Rini

    Andreas Bießmann
     
  • Flush UART3 xmit on enable if TEMT is broken

    On some OMAP3 devices when UART3 is configured for boot mode before SPL starts
    only THRE bit is set. We have to empty the transmitter before initialization
    starts. This patch avoids the use of CONFIG_SYS_NS16550_BROKEN_TEMT.

    Signed-off-by: Manfred Huber
    Tested-by: Javier Martinez Canillas
    Tested-by: Andreas Bießmann

    Manfred Huber
     
  • Do not config MUSB to highspeed mode if CONFIG_USB_GADGET_DUALSPEED
    is not set, in which case Ether gadget only operates in fullspeed.

    Reviewed-by: Tom Rini
    Signed-off-by: Bin Liu

    Bin Liu
     
  • On TI AM335x devices, MUSB has bulk split/combine feature enabled
    in the ConfigData register, but the current MUSB driver does not
    support it yet. Therefore, disable the feature for now, until the
    driver adds the support.

    One usecase which is broken because of this feature is that Ether
    gadget stops working in Fullspeed mode (by un-defining
    CONFIG_USB_GADGET_DUALSPEED)

    After desabled this feature, MUSB driver send packets in proper size
    (no more than 64 bytes) in Fullspeed mode.

    This has been validated with Ether gadget in Fullspeed mode on AM335x
    EVM.

    Signed-off-by: Bin Liu

    Bin Liu
     

05 Apr, 2013

1 commit


04 Apr, 2013

5 commits

  • Albert ARIBAUD
     
  • Albert ARIBAUD
     
  • Reviewing the ECSPI reset handling shows two issues:

    1. For the enable/reset bit (MXC_CSPICTRL_EN) in the control reg
    (ECSPIx_CONGREG) the i.MX6 technical reference manual states:

    -- cut --
    ECSPIx_CONREG[0]: EN: Writing zero to this bit disables the block
    and resets the internal logic with the exception of the ECSPI_CONREG.
    -- cut --

    Note the exception mentioned: The CONREG itself isn't reset.

    Fix this by manually writing the reset value 0 to the whole register.
    This sets the EN bit to zero, too (i.e. includes the old
    ~MXC_CSPICTRL_EN).

    2. We want to reset the whole SPI block here. So it makes no sense
    to first read the old value of the CONREG and write it back, later.
    This will give us the old (historic/random) value of the CONREG back.
    And doesn't reset the CONREG.

    To get a clean CONREG after the reset of the block, too, don't use
    the old (historic/random) value of the CONREG while doing the reset.
    And read the clean CONREG after the reset.

    This was found while working on a SPI boot device where the i.MX6 boot
    ROM has already initialized the SPI block. The initialization by the
    boot ROM might be different to what the U-Boot driver wants to configure.
    I.e. we need a clean reset of SPI block, including the CONREG.

    Signed-off-by: Dirk Behme
    CC: Stefano Babic
    CC: Fabio Estevam

    Dirk Behme
     
  • Apparently, CONFIG_SYS_HZ must be 1000. Change this, and fix the timer
    driver to conform to this.

    Have the timer implementation export a custom API get_timer_us() for use
    by the BCM2835 MMC API, which needs us resolution for a HW workaround.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • This fixes this build warning:

    Configuring for qemu_mips64 - Board: qemu-mips64, Options: SYS_BIG_ENDIAN
    text data bss dec hex filename
    215344 13082 218720 447146 6d2aa qemu_mips64/u-boot
    cfi_flash.c: In function 'flash_map':
    cfi_flash.c:217:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

    Signed-off-by: Stefan Roese
    Cc: Tom Rini

    Stefan Roese