1. 22 11月, 2013 9 次提交
    • P
      mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform · d016dc42
      pekon gupta 提交于
      BCH8_ECC scheme implemented in omap_gpmc.c driver has following favours
      +-----------------------------------+-----------------+-----------------+
      |ECC Scheme                         | ECC Calculation | Error Detection |
      +-----------------------------------+-----------------+-----------------+
      |OMAP_ECC_BCH8_CODE_HW              |GPMC             |ELM H/W engine   |
      |OMAP_ECC_BCH8_CODE_HW_DETECTION_SW |GPMC             |S/W BCH library  |
      +-----------------------------------+-----------------+-----------------+
      
      Current implementation limits the BCH8_CODE_HW only for AM33xx device family.
      (using CONFIG_AM33XX). However, other SoC families (like TI81xx) also have
      ELM hardware module, and can support ECC error detection using ELM.
      
      This patch
      - removes CONFIG_AM33xx
      	Thus this driver can be reused by all devices having ELM h/w engine.
      - adds omap_select_ecc_scheme()
      	A common function to handle ecc-scheme related configurations. This
      	can be used both during device-probe and via user-space u-boot commads
      	to change ecc-scheme. During device probe ecc-scheme is selected based
      	on CONFIG_NAND_OMAP_ELM or CONFIG_NAND_OMAP_BCH8
      - enables CONFIG_BCH
      	S/W library (lib/bch.c) required by OMAP_ECC_BCHx_CODE_HW_DETECTION_SW
        	is enabled by CONFIG_BCH.
      - enables CONFIG_SYS_NAND_ONFI_DETECTION
      	for auto-detection of ONFI compliant NAND devices
      - updates following README doc
      	doc/README.nand
      	board/ti/am335x/README
      	doc/README.omap3
      Signed-off-by: NPekon Gupta <pekon@ti.com>
      [scottwood@freescale.com: fixed unused variable warning]
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      d016dc42
    • P
      mtd: nand: omap: make am33xx/elm.c as common driver for all OMAPx and AMxxxx platforms · beba5f04
      pekon gupta 提交于
      ELM hardware engine which is used for ECC error detection, is present on all
      latest OMAP SoC (like OMAP4xxx, OMAP5xxx, DRA7xxx, AM33xx, AM43xx). Thus ELM
      driver should be moved to common drivers/mtd/nand/ folder so that all SoC
      having on-chip ELM hardware engine can re-use it.
      This patch has following changes:
      - mv arch/arm/include/asm/arch-am33xx/elm.h arch/arm/include/asm/omap_elm.h
      - mv arch/arm/cpu/armv7/am33xx/elm.c drivers/mtd/nand/omap_elm.c
      - update Makefiles
      - update #include <asm/elm.h>
      - add CONFIG_NAND_OMAP_ELM to compile driver/mtd/nand/omap_elm.c
      	and include in all board configs using AM33xx SoC platform.
      Signed-off-by: NPekon Gupta <pekon@ti.com>
      beba5f04
    • W
      mtd: atmel_nand: use dev_xxx instead of printk · c0dc3dec
      Wu, Josh 提交于
      Signed-off-by: NJosh Wu <josh.wu@atmel.com>
      c0dc3dec
    • W
      mtd: atmel_nand: don't print bit correction message in driver · c55cc573
      Wu, Josh 提交于
      Since for some MLC nand, bit errors happened too often. Just disable it
      to avoid noise
      Signed-off-by: NJosh Wu <josh.wu@atmel.com>
      c55cc573
    • W
      sama5d3xek: support larger than 4G nand flash · d02a60a1
      Wu, Josh 提交于
      Signed-off-by: NJosh Wu <josh.wu@atmel.com>
      d02a60a1
    • W
      mtd: atmel_nand: enable PMECC support for 8k bytes page NAND flash · 16dddef6
      Wu, Josh 提交于
      increase the delay to 75us to support the 8k bytes page nand flash
      Signed-off-by: NJosh Wu <josh.wu@atmel.com>
      16dddef6
    • P
      board/c29xpcie: Add support of 8K page size NAND flash · affd520f
      Prabhakar Kushwaha 提交于
      Defines constants required to support 8K page size NAND flash.
      Signed-off-by: NPrabhakar Kushwaha <prabhakar@freescale.com>
      affd520f
    • P
      mtd/ifc: Add support of 8K page size NAND flash · 71220f80
      Prabhakar Kushwaha 提交于
      Current IFC driver supports till 4K page size NAND flash.
      Add support of 8K NAND flash
        - Program Spare region size in csor_ext
        - Add nand_ecclayout for 4 bit & 8 bit ecc
        - Defines constants
        - Add support of 8K NAND boot.
      Signed-off-by: NPrabhakar Kushwaha <prabhakar@freescale.com>
      CC: Liu Po <po.liu@freescale.com>
      71220f80
    • P
      mtd: move & update nand_ecclayout structure (plus board changes) · 68ec9c85
      Prabhakar Kushwaha 提交于
      nand_ecclayout is present in mtd.h at Linux.
      Move this structure to mtd.h to comply with Linux.
      
      Also, increase the ecc placement locations to 640 to suport device having
      writesize/oobsize of 8KB/640B. This means that the maximum oobsize has gone
      up to 640 bytes and consequently the maximum ecc placement locations have
      also gone up to 640.
      
      Changes from Prabhabkar's version (squashed into one patch to preserve
      bisectability):
       - Added _LARGE to MTD_MAX_*_ENTRIES
      
         This makes the names match current Linux source, and resolves
         a conflict between
         http://patchwork.ozlabs.org/patch/280488/
         and
         http://patchwork.ozlabs.org/patch/284513/
      
         The former was posted first and is closer to matching Linux, but
         unlike Linux it does not add _LARGE to the names.  The second adds
         _LARGE to one of the names, and depends on it in a subsequent patch
         (http://patchwork.ozlabs.org/patch/284512/).
      
       - Made max oobfree/eccpos configurable, and used this on tricorder,
         alpr, ASH405, T4160QDS, and T4240QDS (these boards failed to build
         for me without doing so, due to a size increase).
      
         On tricorder SPL, this saves 2576 bytes (and makes the SPL build
         again) versus the new default of 640 eccpos and 32 oobfree, and
         saves 336 bytes versus the old default of 128 eccpos and 8 oobfree.
      Signed-off-by: NPrabhakar Kushwaha <prabhakar@freescale.com>
      CC: Vipin Kumar <vipin.kumar@st.com>
      [scottwood@freescale.com: changes as described above]
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Cc: Thomas Weber <weber@corscience.de>
      Cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: York Sun <yorksun@freescale.com>
      Cc: Tom Rini <trini@ti.com>
      Reviewed-by: NStefan Roese <sr@denx.de>
      68ec9c85
  2. 14 11月, 2013 2 次提交
    • P
      driver/mtd/ifc: Read Status while programming NAND flash · ed5ac34a
      Prabhakar Kushwaha 提交于
      as per controller description,
        "While programming a NAND flash, status read should never skipped.
         Because it may happen that a new command is issued to the NAND Flash,
         even when the device has not yet finished processing the previous request.
         This may result in unpredictable behaviour."
      
      IFC controller never polls for R/B signal after command send. It just return
      control to software. This behaviour may not occur with NAND flash access.
      because new commands are sent after polling R/B signal. But it may happen
      in scenario where GPCM-ASIC and NAND flash device are working simultaneously.
      
      Update the controller driver to take care of this requirement
      Signed-off-by: NPrabhakar Kushwaha <prabhakar@freescale.com>
      ed5ac34a
    • B
      MTD: atmel_nand: support for software BCH ECC · 7604a3f9
      Bo Shen 提交于
      Add possible to use software BCH ECC for atmel nand driver
      Signed-off-by: NBo Shen <voice.shen@gmail.com>
      7604a3f9
  3. 12 11月, 2013 10 次提交
  4. 11 11月, 2013 3 次提交
    • D
      time: fix gcc warnings on MIPS64 · d770f396
      Daniel Schwierzeck 提交于
      Commit 8dfafdde introduced
      new gcc warnings on MIPS64:
      
      time.c: In function 'tick_to_time':
      time.c:59:2: warning: comparison of distinct pointer types lacks a cast [enabled by default]
      time.c:59:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default]
      In file included from time.c:10:0:
      ./u-boot-mips/include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *'
      time.c: In function 'usec_to_tick':
      time.c:76:2: warning: comparison of distinct pointer types lacks a cast [enabled by default]
      time.c:76:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default]
      In file included from time.c:10:0:
      ./u-boot-mips/include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *'
      Signed-off-by: NDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
      d770f396
    • T
      Merge branch 'master' of git://git.denx.de/u-boot-mips · 60390d70
      Tom Rini 提交于
      60390d70
    • P
      malta: arch/mips/include/asm/malta.h SPDX license tag · a3e80904
      Paul Burton 提交于
      This patch replaces the GPL-2.0 text with a GPL-2.0
      SPDX-License-Identifier tag, and adds Imagination Technologies copyright
      following my recent changes.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      a3e80904
  5. 10 11月, 2013 16 次提交
    • A
      Merge branch 'iu-boot/master' into 'u-boot-arm/master' · 85b8c5c4
      Albert ARIBAUD 提交于
      Conflicts:
      	arch/arm/cpu/arm926ejs/mxs/Makefile
      	board/compulab/cm_t35/Makefile
      	board/corscience/tricorder/Makefile
      	board/ppcag/bg0900/Makefile
      	drivers/bootcount/Makefile
      	include/configs/omap4_common.h
      	include/configs/pdnb3.h
      
      Makefile conflicts are due to additions/removals of
      object files on the ARM branch vs KBuild introduction
      on the main branch. Resolution consists in adjusting
      the list of object files in the main branch version.
      This also applies to two files which are not listed
      as conflicting but had to be modified:
      
      	board/compulab/common/Makefile
      	board/udoo/Makefile
      
      include/configs/omap4_common.h conflicts are due to
      the OMAP4 conversion to ti_armv7_common.h on the ARM
      side, and CONFIG_SYS_HZ removal on the main side.
      Resolution is to convert as this icludes removal of
      CONFIG_SYS_HZ.
      
      include/configs/pdnb3.h is due to a removal on ARM side.
      Trivial resolution is to remove the file.
      
      Note: 'git show' will also list two files just because
      they are new:
      
      	include/configs/am335x_igep0033.h
      	include/configs/omap3_igep00x0.h
      85b8c5c4
    • G
      malta: define CONFIG_MEMSIZE_IN_BYTES · ab41305d
      Gabor Juhos 提交于
      The memsize environment variable must contain the
      memory size in bytes on the Malta board. Otherwise
      Linux will use wrong memory size which causes a kernel
      panic.
      
      Define CONFIG_MEMSIZE_IN_BYTES in malta.h to avoid
      that.
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
      Cc: Paul Burton <paul.burton@imgtec.com>
      ab41305d
    • P
      malta: add myself to maintainers · f577b42f
      Paul Burton 提交于
      This patch adds me as a maintainer of the malta(el) board(s). I have
      access to physical Malta boards and the desire for U-boot to run well on
      them.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      f577b42f
    • P
      malta: add script & instructions to flash U-boot · 024fba54
      Paul Burton 提交于
      This patch adds a script which may be used with MIPS Navigator Console
      and a MIPS Nagivator Probe in order to flash U-boot to a MIPS Malta
      development board.
      
      Please see the newly added doc/README.malta for usage instructions.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      024fba54
    • P
      malta: setup PIIX4 interrupt route · 81f98bbd
      Paul Burton 提交于
      Without setting up the PIRQ[A:D] interrupt routes, PCI interrupts will
      be left disabled. Linux does not set up this routing but relies upon it
      having been set up by the bootloader, reading back the IRQ lines which
      the PIRQ[A:D] signals have been routed to.
      
      This patch routes PIRQA & PIRQB to IRQ 10, and PIRQC & PIRQD to IRQ 11.
      This matches the setup used by YAMON.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      81f98bbd
    • P
      malta: store environment in flash · fba6f45c
      Paul Burton 提交于
      Allow the environment to be stored in the monitor flash of a Malta
      board. The environment is stored in the final 128KB of the flash, which
      both leaves the majority of the flash available for U-boot code and also
      matches the location which YAMON uses.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      fba6f45c
    • P
      malta: enable RTC support · 3ced12a0
      Paul Burton 提交于
      This is actually required in order for a Linux kernel to boot
      successfully on a physical Malta board. Without enabling the RTC, a
      Malta Linux kernel will get stuck in its estimate_frequencies function
      on boot.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      3ced12a0
    • P
      malta: disable L2 caches · e174bd74
      Paul Burton 提交于
      Malta boards may be used with cores which support L2 caches, however
      U-boot does not yet support L2 cache for MIPS. Thus for the moment we'll
      disable L2 caches by setting the L2B bit in Config2. This is specific to
      MTI/Imagination MIPS cores which is why this is done for the Malta board
      rather than generically.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      e174bd74
    • P
      malta: remove cache size definitions · 14b4e1a6
      Paul Burton 提交于
      These will now be detected at runtime, allowing a single U-boot
      configuration to function correctly with different bitstreams. Without
      this you may need to re-configure, re-build and re-flash U-boot to your
      Malta if you flash a new bitstream with a different cache configuration
      to your old bitstream.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      14b4e1a6
    • P
      malta: enable CONFIG_PCNET_79C973, PCNET_HAS_PROM, CONFIG_CMD_DHCP · e0878af8
      Paul Burton 提交于
      This model of the pcnet is used in current Malta boards, at least in the
      Malta-R rev 3. Enable support for it.
      
      The Malta also has the ethernet controller PROM containing its MAC
      address, so enable support for that in order to read that MAC address.
      
      DHCP is a very useful feature to have available for many networks,
      enable support for it also.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      e0878af8
    • P
      malta: display "U-boot" on the LCD screen · e0ada631
      Paul Burton 提交于
      Displaying a message on the LCD screen is a simple yet effective way to
      show the user that the board has booted successfully.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      e0ada631
    • P
      malta: support for coreFPGA6 boards · baf37f06
      Paul Burton 提交于
      This patch adds support for running on Malta boards using coreFPGA6
      core cards, including support for the msc01 system controller used
      with them. The system controller is detected at runtime allowing one
      U-boot binary to run on a Malta with either.
      
      Due to the PCI I/O base differing between Maltas using gt64120 & msc01
      system controllers, the UART setup is modified slightly. A second UART
      is added so that there is one pointing at the correct address for each
      system controller. The Malta board then defines its own
      default_serial_console function to select the correct one at runtime.
      The incorrect UART will simply not function.
      
      Tested on:
        - A coreFPGA6 Malta running interAptiv and proAptiv bitstreams, both
          with and without an L2 cache.
        - QEMU.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      baf37f06
    • P
      malta: setup super I/O UARTs · a257f626
      Paul Burton 提交于
      On a real Malta the Super I/O needs to be configured before we are able
      to access the UARTs. This patch performs that configuration, setting up
      the UARTs in the same way that YAMON would.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      a257f626
    • P
      qemu-malta: rename to just "malta" · 7a9d109b
      Paul Burton 提交于
      This is in preparation for adapting this board to function correctly on
      a physical MIPS Malta board. The board is moved into an "imgtec" vendor
      directory at the same time in order to ready us for any other boards
      supported by Imagination in the future.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      7a9d109b
    • P
      pci.h: allow inclusion in assembly source · fa5cec03
      Paul Burton 提交于
      This patch simply #ifdef's out the C-specific parts of pci.h when it is
      included by an assembly file. This will allow the macros it contains to
      be used from assembly source as will be done in a followup commit adding
      support for more modern MIPS Malta boards.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      fa5cec03
    • P
      pcnet: enable the NOUFLO feature · 62715a2c
      Paul Burton 提交于
      On relatively slow boards (such as the MIPS Malta with an FPGA core
      card) it can be extremely common for transmits to underflow - to the
      point where it appears they simply do not work at all. Setting the
      NOUFLO bit causes the ethernet controller to not begin transmission on
      the wire until a transmit start point is reached. Setting that transmit
      start point to the full packet will cause the controller to only
      transmit the packet once it has buffered it entirely thus preventing any
      transmit underflows from occuring and allowing the controller to
      function on slower boards.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      62715a2c