Skip to content
Snippets Groups Projects
  1. Nov 20, 2014
    • Masahiro Yamada's avatar
      include: move various macros to include/linux/kernel.h · cba1da49
      Masahiro Yamada authored
      
      U-Boot has imported various utility macros from Linux
      scattering them to various places without consistency.
      
      In include/common.h are min, max, min3, max3, ARRAY_SIZE, ALIGN,
      container_of, DIV_ROUND_UP, etc.
      In include/linux/compat.h are min_t, max_t, round_up, round_down,
      etc.
      We also have duplicated defines of min_t in some *.c files.
      
      Moreover, we are suffering from too cluttered include/common.h.
      
      This commit moves various macros that originate in
      include/linux/kernel.h of Linux to their original position.
      
      Note:
      This commit simply moves the macros; the macros roundup,
      min, max, min2, max3, ARRAY_SIZE are different
      from those of Linux at this point.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      cba1da49
  2. Oct 27, 2014
  3. Oct 26, 2014
  4. Oct 25, 2014
  5. Oct 23, 2014
  6. Sep 24, 2014
    • Jeroen Hofstee's avatar
      compiler_gcc: prevent redefining attributes · 0a5051ce
      Jeroen Hofstee authored
      
      The libc headers on FreeBSD and likely related projects as well contain an
      header file, cdefs.h which provides similiar functionality as linux/compiler.h.
      It provides compiler independent defines like __weak __packed, to allow
      compiling with multiple compilers which might have a different syntax for such
      extension.
      
      Since that header file is included in multiple standard headers, like stddef.h
      and stdarg.h, multiple definitions of those defines will be present if both are
      included. When compiling u-boot the compiler will warn about it hundreds of
      times since e.g. common.h will include both files indirectly.
      
      commit 7ea50d52 "compiler_gcc: do not redefine
      __gnu_attributes" prevented such redefinitions, but this was undone by commit
      fb8ffd7c "compiler*.h: sync
      include/linux/compiler*.h with Linux 3.16".
      
      Add the checks back where necessary to prevent such warnings.
      
      As the original patch this checkpatch warning is ignored:
      "WARNING: Adding new packed members is to be done with care"
      
      Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Tom Rini <trini@ti.com>
      Signed-off-by: default avatarJeroen Hofstee <jeroen@myspectrum.nl>
      Acked-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      0a5051ce
  7. Sep 16, 2014
  8. Sep 09, 2014
  9. Aug 25, 2014
    • Heiko Schocher's avatar
      mtd,ubi,ubifs: sync with linux v3.15 · 4e67c571
      Heiko Schocher authored
      
      snyc with linux v3.15:
      
      commit 1860e379875dfe7271c649058aeddffe5afd9d0d
      Author: Linus Torvalds <torvalds@linux-foundation.org>
      Date:   Sun Jun 8 11:19:54 2014 -0700
      
          Linux 3.15
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Tom Rini <trini@ti.com>
      4e67c571
    • Heiko Schocher's avatar
      mtd, ubi, ubifs: update for the sync with linux v3.14 · ddf7bcfa
      Heiko Schocher authored
      
      while playing with the new mtd/ubi/ubifs sync, found some
      small updates for it:
      
      - add del_mtd_partition() to include/linux/mtd/mtd
      - mtd: add a debug_printf
      - remove some not used functions
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Tom Rini <trini@ti.com>
      ddf7bcfa
    • Heiko Schocher's avatar
      mtd, ubi, ubifs: resync with Linux-3.14 · ff94bc40
      Heiko Schocher authored
      
      resync ubi subsystem with linux:
      
      commit 455c6fdbd219161bd09b1165f11699d6d73de11c
      Author: Linus Torvalds <torvalds@linux-foundation.org>
      Date:   Sun Mar 30 20:40:15 2014 -0700
      
          Linux 3.14
      
      A nice side effect of this, is we introduce UBI Fastmap support
      to U-Boot.
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Signed-off-by: default avatarTom Rini <trini@ti.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Sergey Lapin <slapin@ossfans.org>
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Joerg Krause <jkrause@posteo.de>
      ff94bc40
    • Heiko Schocher's avatar
      lib, linux: move linux specific defines to linux/compat.h · 0c06db59
      Heiko Schocher authored
      
      - move linux specific defines from usb and video code
        into linux/compat.h
      - move common linux specific defines from include/ubi_uboot.h
        to linux/compat.h
      - add for new mtd/ubi/ubifs sync new needed linux specific
        defines to linux/compat.h
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Anatolij Gustschin <agust@denx.de>
      [trini: Add spin_lock_irqsave/spin_unlock_irqrestore dummies from
      usb/lin_gadet_compat.h]
      Signed-off-by: default avatarTom Rini <trini@ti.com>
      0c06db59
    • Heiko Schocher's avatar
      linux include: add ERR_CAST · cc96c9a7
      Heiko Schocher authored
      
      add missing ERR_CAST to linux/err.h as it is needed for ubi/ubifs support
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      cc96c9a7
    • Heiko Schocher's avatar
      lib, list_sort: add list_sort from linux 3.14 · c068d44a
      Heiko Schocher authored
      
      from linux 3.14:
      
      commit 455c6fdbd219161bd09b1165f11699d6d73de11c
      Author: Linus Torvalds <torvalds@linux-foundation.org>
      Date:   Sun Mar 30 20:40:15 2014 -0700
      
          Linux 3.14
      
      Needed for the MTD/UBI/UBIFS resync
      
      Just copied the files from Linux, and added in the c-file
      the "#define __UBOOT__" for adding U-Boot special code. In
      this case we use this just for adding including U-Boot
      headers.
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Sergey Lapin <slapin@ossfans.org>
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Tom Rini <trini@ti.com>
      c068d44a
    • Heiko Schocher's avatar
      lib, rbtree: resync with Linux-3.14 · 9dd228b5
      Heiko Schocher authored
      
      resync with linux:
      
      commit 455c6fdbd219161bd09b1165f11699d6d73de11c
      Author: Linus Torvalds <torvalds@linux-foundation.org>
      Date:   Sun Mar 30 20:40:15 2014 -0700
      
          Linux 3.14
      
      Needed for the MTD/UBI/UBIFS resync
      
      Just copied the files from Linux, changed the license file header,
      and add in the c-file:
      
      +#define __UBOOT__
       #include <linux/rbtree_augmented.h>
      +#ifndef __UBOOT__
       #include <linux/export.h>
      +#else
      +#include <ubi_uboot.h>
      +#endif
      
      so, it compiles for U-Boot.
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Sergey Lapin <slapin@ossfans.org>
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Tom Rini <trini@ti.com>
      9dd228b5
  10. Jul 30, 2014
  11. Jul 22, 2014
  12. Jun 06, 2014
    • pekon gupta's avatar
      mtd: nand: omap: add support for BCH16_ECC - NAND driver updates · 46840f66
      pekon gupta authored
      
      This patch add support for BCH16_ECC to omap_gpmc driver.
      
      *need to BCH16 ECC scheme*
      With newer SLC Flash technologies and MLC NAND, and large densities, pagesizes
      Flash devices have become more suspectible to bit-flips. Thus stronger
      ECC schemes are required for protecting the data.
      But stronger ECC schemes have come with larger-sized ECC syndromes which require
      more space in OOB/Spare. This puts constrains like;
      (a) BCH16_ECC can correct 16 bit-flips per 512Bytes of data.
      (b) BCH16_ECC generates 26-bytes of ECC syndrome / 512B.
      Due to (b) this scheme can only be used with NAND devices which have enough
      OOB to satisfy following equation:
      OOBsize per page >= 26 * (page-size / 512)
      
      Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
      46840f66
    • pekon gupta's avatar
      mtd: nand: omap_gpmc: use macro for register definitions · 8d13a730
      pekon gupta authored
      
      GPMC can support simultaneous processing of 8 512Byte data chunks, in parallel
      
      Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
      8d13a730
    • David Mosberger's avatar
      mtd: nand: fix GET/SET_FEATURES address on 16-bit devices · 6e1899e6
      David Mosberger authored
      
      As per following Sections in ONFI Spec, GET_FEATURES and SET_FEATURES also need
      byte-addressing on 16-bit devices.
      
      *Section: Target Initialization"
      "The Read ID and Read Parameter Page commands only use the lower 8-bits of the
       data bus. The host shall not issue commands that use a word data width on x16
       devices until the host determines the device supports a 16-bit data bus width
       in the parameter page."
      
      *Section: Bus Width Requirements*
      "When the host supports a 16-bit bus width, only data is transferred at the
       16-bit width. All address and command line transfers shall use only the lower
       8-bits of the data bus. During command transfers, the host may place any value
       on the upper 8-bits of the data bus. During address transfers, the host shall
       set the upper 8-bits of the data bus to 00h."
      
      So porting following commit from linux kernel
          commit e34fcb07a6d57411de6e15a47724fbe92c5caa42
          Author: David Mosberger <davidm@egauge.net>  (preserving authorship)
          mtd: nand: fix GET/SET_FEATURES address on 16-bit devices
      
      Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
      6e1899e6
    • Brian Norris's avatar
      mtd: nand: force NAND_CMD_READID onto 8-bit bus · 27ce9e42
      Brian Norris authored
      
      As per following Sections in ONFI Spec, NAND_CMD_READID should use only
      lower 8-bit for transfering command, address and data even on x16 NAND device.
      
      *Section: Target Initialization"
      "The Read ID and Read Parameter Page commands only use the lower 8-bits of the
       data bus. The host shall not issue commands that use a word data width on x16
       devices until the host determines the device supports a 16-bit data bus width
       in the parameter page."
      
      *Section: Bus Width Requirements*
      "When the host supports a 16-bit bus width, only data is transferred at the
       16-bit width. All address and command line transfers shall use only the lower
       8-bits of the data bus. During command transfers, the host may place any value
       on the upper 8-bits of the data bus. During address transfers, the host shall
       set the upper 8-bits of the data bus to 00h."
      
      Thus porting  following commit from linux-kernel to ensure that column address
      is not altered to align to x16 bus when issuing NAND_CMD_READID command.
      
          commit 3dad2344e92c6e1aeae42df1c4824f307c51bcc7
          mtd: nand: force NAND_CMD_READID onto 8-bit bus
          Author: Brian Norris <computersforpeace@gmail.com> (preserving authorship)
      
          The NAND command helpers tend to automatically shift the column address
          for x16 bus devices, since most commands expect a word address, not a
          byte address. The Read ID command, however, expects an 8-bit address
          (i.e., 0x00, 0x20, or 0x40 should not be translated to 0x00, 0x10, or
          0x20).
      
          This fixes the column address for a few drivers which imitate the
          nand_base defaults.
      
      Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
      27ce9e42
    • pekon gupta's avatar
      mtd: nand: omap_elm: use macros for register definitions · 0439d752
      pekon gupta authored
      
      This patch adds macros for following parameters of ELM Hardware engine
       - ELM_MAX_CHANNELS: ELM can process 8 data streams simultaneously
       - ELM_MAX_ERRORS: ELM can detect upto 16 ECC error when using BCH16 scheme
      
      Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
      Reviewed-by: default avatarStefan Roese <sr@denx.de>
      0439d752
    • pekon gupta's avatar
      mtd: nand: omap_elm: use bch_type instead of nibble count to differentiate between BCH4/BCH8/BCH16 · 41bbe4dd
      pekon gupta authored
      
      ELM hardware engine support ECC error detection for multiple ECC strengths like
       +------+------------------------+
       |Type  | ECC syndrome length    |
       +------+------------------------+
       |BCH4  | 6.5 bytes = 13 nibbles |
       |BCH8  | 13 byte = 26 nibbles   |
       |BCH16 | 26 bytes = 52 nibbles  |
       +------+------------------------+
      
      Current implementation of omap_elm driver uses ECC syndrom length (in 'nibbles')
      to differentiate between BCH4/BCH8/BCH16. This patch replaces it with 'bch_type'
      
      Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
      Reviewed-by: default avatarStefan Roese <sr@denx.de>
      41bbe4dd
  13. Apr 17, 2014
  14. Mar 05, 2014
  15. Mar 04, 2014
  16. Jan 24, 2014
  17. Jan 09, 2014
  18. Nov 21, 2013
    • 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
      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: 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>
      68ec9c85
  19. Nov 08, 2013
  20. Oct 20, 2013
Loading