07 Jun, 2014

1 commit

  • GPMC controller needs to be configured based on bus-width of the NAND device
    connected to it. Also, dynamic detection of NAND bus-width from on-chip ONFI
    parameters is not possible in following situations:
    SPL: SPL NAND drivers does not support ONFI parameter reading.
    U-boot: GPMC controller iniitalization is done in omap_gpmc.c:board_nand_init()
    which is called before probing for devices, hence any ONFI parameter
    information is not available during GPMC initialization.

    Thus, OMAP NAND driver expected board developers to explicitely write GPMC
    configurations specific to NAND device attached on board in board files itself.
    But this was troublesome for board manufacturers as they need to dive into
    lengthy platform & SoC documents to find details of GPMC registers and
    appropriate configurations to get NAND device working.

    This patch instead adds existing CONFIG_SYS_NAND_BUSWIDTH_16BIT to board config
    hich indicates that connected NAND device has x16 bus-width. And then based on
    this config GPMC driver itself initializes itself based on NAND bus-width. This
    keeps board developers free from knowing GPMC controller specific internals.

    Signed-off-by: Pekon Gupta

    pekon gupta
     

05 Mar, 2014

1 commit

  • OMAP NAND driver can detect Page-size and OOB-size of NAND device from ONFI
    params or nand_id[] table. And based on that it defines ECC layout.
    This patch
    1) removes following board configs used for defining NAND ECC layout
    - GPMC_NAND_ECC_LP_x16_LAYOUT (for large page x16 NAND)
    - GPMC_NAND_ECC_LP_x8_LAYOUT (for large page x8 NAND)
    - GPMC_NAND_ECC_SP_x16_LAYOUT (for small page x16 NAND)
    - GPMC_NAND_ECC_SP_x8_LAYOUT (for small page x8 NAND)

    2) removes unused #defines in common omap_gpmc.h depending on above configs

    Build tested using: ./MAKEALL -s am33xx -s omap3 -s omap4 -s omap5

    Signed-off-by: Pekon Gupta

    pekon gupta
     

25 Nov, 2013

1 commit


22 Nov, 2013

1 commit

  • This patch adds new CONFIG_NAND_OMAP_ECCSCHEME, replacing other distributed
    CONFIG_xx used for selecting NAND ecc-schemes.
    This patch aims at solving following issues.

    1) Currently ecc-scheme is tied to SoC platform, which prevents user to select
    other ecc-schemes also supported in hardware. like;
    - most of OMAP3 SoC platforms use only 1-bit Hamming ecc-scheme, inspite
    the fact that they can use higher ecc-schemes like 8-bit ecc-schemes with
    software based error detection (OMAP_ECC_BCH4_CODE_HW_DETECTION_SW).
    - most of AM33xx SoC plaforms use 8-bit BCH ecc-scheme for now, but hardware
    supports BCH16 ecc-scheme also.

    2) Different platforms use different CONFIG_xx to select ecc-schemes, which
    adds confusion for user while migrating platforms.
    - *CONFIG_NAND_OMAP_ELM* which enables ELM hardware engine, selects only
    8-bit BCH ecc-scheme with h/w based error-correction (OMAP_ECC_BCH8_CODE_HW)
    whereas ELM hardware engine supports other ecc-schemes also like; BCH4,
    and BCH16 (in future).
    - *CONFIG_NAND_OMAP_BCH8* selects 8-bit BCH ecc-scheme with s/w based error
    correction (OMAP_ECC_BCH8_CODE_HW_DETECTION_SW).
    - *CONFIG_SPL_NAND_SOFTECC* selects 1-bit Hamming ecc-scheme using s/w library

    Thus adding new *CONFIG_NAND_OMAP_ECCSCHEME* de-couples ecc-scheme dependency
    on SoC platform and NAND driver. And user can select ecc-scheme independently
    foreach board.
    However, selection some hardware based ecc-schemes (OMAP_ECC_BCHx_CODE_HW) still
    depends on presence of ELM hardware engine on SoC. (Refer doc/README.nand)

    Signed-off-by: Pekon Gupta

    pekon gupta
     

13 Nov, 2013

1 commit

  • - 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 Schocher
    Tested-by: Tom Rini
    Cc: Lars Poeschel
    Cc: Steve Sakoman
    Cc: Thomas Weber
    Cc: Tom Rix
    Cc: Grazvydas Ignotas
    Cc: Enric Balletbo i Serra
    Cc: Luca Ceresoli
    Cc: Igor Grinberg
    Cc: Ilya Yanok
    Cc: Stefano Babic
    Cc: Nishanth Menon
    Cc: Pali Rohár
    Cc: Peter Barada
    Cc: Nagendra T S
    Cc: Michael Jones
    Cc: Raphael Assenat
    Acked-by: Igor Grinberg
    Acked-by: Stefano Babic

    Heiko Schocher
     

05 Nov, 2013

1 commit


15 Oct, 2013

2 commits


15 Aug, 2013

1 commit


24 Jul, 2013

1 commit


08 Jun, 2013

1 commit


02 Mar, 2013

1 commit


29 Jan, 2013

1 commit


27 Nov, 2012

1 commit

  • Some small SPLs do not use nand_base.c, and a subset of those also
    require a special driver. Some SPLs need software ECC but others can't
    fit it.

    All existing boards that specify CONFIG_SPL_NAND_SUPPORT have these
    symbols added to preserve existing behavior.

    Signed-off-by: Scott Wood
    --
    v2: use positive logic for including bits of NAND, rather than
    a MINIMAL symbol that excludes things.

    Scott Wood
     

23 Oct, 2012

1 commit


02 Oct, 2012

1 commit


28 Sep, 2012

1 commit

  • Add a new flag, CONFIG_SPL_FRAMEWORK to opt into the common/spl SPL
    framework, enable on all of the previously using boards. We move the
    spl_ymodem.c portion to common/ and spl_mmc.c to drivers/mmc/. We leave
    the NAND one in-place as we plan to replace it later in this series.

    We use common/spl to avoid linker problems with respect to merging
    constant strings in objects. Otherwise all strings in common/ will be
    linked in and kept which grows SPL in size too much.

    Signed-off-by: Tom Rini

    Tom Rini
     

01 Sep, 2012

3 commits


21 Jun, 2012

1 commit


15 May, 2012

1 commit

  • With older toolchains it is possible to not fit entirely into the 45KB
    that we had assigned to SPL. Adjust to allow for 8KB of stack (which
    should be more than required) and 54KB of text/data.

    Cc: Vaibhav Hiremath
    Cc: Nagendra T S
    Cc: Thomas Weber
    Cc: Ilya Yanok
    Cc: Steve Sakoman
    Cc: Stefano Babic
    Signed-off-by: Tom Rini
    Acked-by: Stefano Babic
    Acked-by: Vaibhav Hiremath

    Tom Rini
     

28 Mar, 2012

2 commits


27 Jan, 2012

1 commit

  • Currently nand_spl_simple puts it's temp data at 0x10000 offset in SDRAM
    which is likely to contain already loaded data.
    The patch saves the oob data and the ecc on the stack replacing
    the fixed address in RAM.

    Signed-off-by: Stefano Babic
    CC: Ilya Yanok
    CC: Scott Wood
    CC: Tom Rini
    CC: Simon Schwarz
    CC: Wolfgang Denk
    Signed-off-by: Scott Wood

    Stefano Babic
     

07 Dec, 2011

6 commits


10 Nov, 2011

1 commit

  • The devkit8000 ships with either a 128MB or 256MB NAND chip. In
    order for SPL to work with 256MB NAND CONFIG_SYS_NAND_5_ADDR_CYCLE
    needs to be set. After talking with Scott Wood this should be
    safe to set even for smaller NAND chips.

    Cc: Scott Wood
    Cc: Frederik Kriewitz
    Cc: Albert ARIBAUD
    Signed-off-by: Tom Rini
    Signed-off-by: Sandeep Paulraj

    Tom Rini
     

28 Oct, 2011

2 commits


06 Oct, 2011

1 commit


01 Oct, 2011

2 commits


04 Sep, 2011

1 commit


04 Aug, 2011

1 commit


13 May, 2011

1 commit