1. 21 Nov, 2013 9 commits
    • pekon gupta's avatar
      mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform · d016dc42
      pekon gupta authored
      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
      - enables CONFIG_BCH
      	S/W library (lib/bch.c) required by OMAP_ECC_BCHx_CODE_HW_DETECTION_SW
        	is enabled by CONFIG_BCH.
      	for auto-detection of ONFI compliant NAND devices
      - updates following README doc
      Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
      [scottwood@freescale.com: fixed unused variable warning]
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
    • pekon gupta's avatar
      mtd: nand: omap: make am33xx/elm.c as common driver for all OMAPx and AMxxxx platforms · beba5f04
      pekon gupta authored
      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: default avatarPekon Gupta <pekon@ti.com>
    • Wu, Josh's avatar
      mtd: atmel_nand: use dev_xxx instead of printk · c0dc3dec
      Wu, Josh authored
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
    • Wu, Josh's avatar
      mtd: atmel_nand: don't print bit correction message in driver · c55cc573
      Wu, Josh authored
      Since for some MLC nand, bit errors happened too often. Just disable it
      to avoid noise
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
    • Wu, Josh's avatar
      sama5d3xek: support larger than 4G nand flash · d02a60a1
      Wu, Josh authored
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
    • Wu, Josh's avatar
      mtd: atmel_nand: enable PMECC support for 8k bytes page NAND flash · 16dddef6
      Wu, Josh authored
      increase the delay to 75us to support the 8k bytes page nand flash
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
    • Prabhakar Kushwaha's avatar
      board/c29xpcie: Add support of 8K page size NAND flash · affd520f
      Prabhakar Kushwaha authored
      Defines constants required to support 8K page size NAND flash.
      Signed-off-by: default avatarPrabhakar Kushwaha <prabhakar@freescale.com>
    • Prabhakar Kushwaha's avatar
      mtd/ifc: Add support of 8K page size NAND flash · 71220f80
      Prabhakar Kushwaha authored
      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: default avatarPrabhakar Kushwaha <prabhakar@freescale.com>
      CC: Liu Po <po.liu@freescale.com>
    • Prabhakar Kushwaha's avatar
      mtd: move & update nand_ecclayout structure (plus board changes) · 68ec9c85
      Prabhakar Kushwaha authored
      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
       - Added _LARGE to MTD_MAX_*_ENTRIES
         This makes the names match current Linux source, and resolves
         a conflict between
         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
       - 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: default avatarPrabhakar Kushwaha <prabhakar@freescale.com>
      CC: Vipin Kumar <vipin.kumar@st.com>
      [scottwood@freescale.com: changes as described above]
      Signed-off-by: default avatarScott 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: default avatarStefan Roese <sr@denx.de>
  2. 14 Nov, 2013 1 commit
    • Prabhakar Kushwaha's avatar
      driver/mtd/ifc: Read Status while programming NAND flash · ed5ac34a
      Prabhakar Kushwaha authored
      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: default avatarPrabhakar Kushwaha <prabhakar@freescale.com>
  3. 13 Nov, 2013 1 commit
  4. 12 Nov, 2013 9 commits
  5. 11 Nov, 2013 4 commits
    • Wolfgang Denk's avatar
      MPC824x: remove obsolete "PN62" board · 649acfe1
      Wolfgang Denk authored
      The MPC824x processors have long reached EOL, and the PN62 board has
      not seen any board-specific updates for more than a decade.  It is now
      causing build issues.  Instead of wasting time on things nobody is
      interested in any more, we rather drop this board.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      cc: Tom Rini <trini@ti.com>
    • Daniel Schwierzeck's avatar
      time: fix gcc warnings on MIPS64 · d770f396
      Daniel Schwierzeck authored
      Commit 8dfafdde
      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: default avatarDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
    • Tom Rini's avatar
    • Paul Burton's avatar
      malta: arch/mips/include/asm/malta.h SPDX license tag · a3e80904
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
  6. 09 Nov, 2013 16 commits
    • Albert ARIBAUD's avatar
      Merge branch 'iu-boot/master' into 'u-boot-arm/master' · 85b8c5c4
      Albert ARIBAUD authored
      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:
      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
      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:
    • Gabor Juhos's avatar
      malta: define CONFIG_MEMSIZE_IN_BYTES · ab41305d
      Gabor Juhos authored
      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
      Define CONFIG_MEMSIZE_IN_BYTES in malta.h to avoid
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
      Cc: Paul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: add myself to maintainers · f577b42f
      Paul Burton authored
      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
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: add script & instructions to flash U-boot · 024fba54
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: setup PIIX4 interrupt route · 81f98bbd
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: store environment in flash · fba6f45c
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: enable RTC support · 3ced12a0
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: disable L2 caches · e174bd74
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: remove cache size definitions · 14b4e1a6
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: enable CONFIG_PCNET_79C973, PCNET_HAS_PROM, CONFIG_CMD_DHCP · e0878af8
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: display "U-boot" on the LCD screen · e0ada631
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: support for coreFPGA6 boards · baf37f06
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      malta: setup super I/O UARTs · a257f626
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      qemu-malta: rename to just "malta" · 7a9d109b
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      pci.h: allow inclusion in assembly source · fa5cec03
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>
    • Paul Burton's avatar
      pcnet: enable the NOUFLO feature · 62715a2c
      Paul Burton authored
      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: default avatarPaul Burton <paul.burton@imgtec.com>