1. 16 5月, 2015 2 次提交
  2. 13 5月, 2015 1 次提交
  3. 06 4月, 2015 1 次提交
    • B
      Documentation: devicetree: m25p80: add "nor-jedec" binding · 8ff16cf7
      Brian Norris 提交于
      Almost all flash that are "compatible" with m25p80 support the JEDEC
      READ ID opcode (0x9F), and in fact, that is often the only thing that is
      used to differentiate them. Let's add a compatible string that
      represents this lowest common denominator of compatibility.
      
      Device trees can still specify manufacturer/device names in addition,
      but (until some reason is found to differentiate between them through
      device tree) software will likely want to bind just against the generic
      name, and avoid unnecessarily growing its device ID binding tables.
      
      This is related to the work of commit a5b7616c ("mtd:
      m25p80,spi-nor: Fix module aliases for m25p80"), which showed that
      maintaining these device tables as stable device-tree/modalias binding
      tables is not a worthwhile burden for mostly-comptatible flash.
      
      At the same time, let's update the binding doc to point to the
      m25p_ids[] ID list instead of spi_nor_ids[]. The former can be used for
      device tree bindings, but the latter cannot. In the future, we should
      pare down the m25p_ids[] list to only those IDs which are actually used
      in device trees.
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Cc: Rafał Miłecki <zajec5@gmail.com>
      Reviewed-by: NMarek Vasut <marex@denx.de>
      8ff16cf7
  4. 25 3月, 2015 1 次提交
  5. 27 2月, 2015 1 次提交
  6. 08 2月, 2015 1 次提交
  7. 29 1月, 2015 1 次提交
  8. 21 1月, 2015 1 次提交
  9. 10 1月, 2015 2 次提交
  10. 23 12月, 2014 1 次提交
  11. 06 11月, 2014 1 次提交
  12. 05 11月, 2014 1 次提交
  13. 30 10月, 2014 1 次提交
  14. 22 10月, 2014 1 次提交
  15. 23 9月, 2014 1 次提交
  16. 17 9月, 2014 1 次提交
  17. 26 8月, 2014 2 次提交
  18. 28 7月, 2014 1 次提交
  19. 22 5月, 2014 1 次提交
  20. 21 5月, 2014 2 次提交
  21. 05 5月, 2014 1 次提交
  22. 15 4月, 2014 1 次提交
  23. 20 3月, 2014 1 次提交
  24. 11 3月, 2014 1 次提交
  25. 04 1月, 2014 7 次提交
  26. 07 11月, 2013 2 次提交
    • P
      mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes · c66d0391
      Pekon Gupta 提交于
      OMAP NAND driver currently supports multiple flavours of 1-bit Hamming
      ecc-scheme, like:
      - OMAP_ECC_HAMMING_CODE_DEFAULT
      	1-bit hamming ecc code using software library
      - OMAP_ECC_HAMMING_CODE_HW
      	1-bit hamming ecc-code using GPMC h/w engine
      - OMAP_ECC_HAMMING_CODE_HW_ROMCODE
      	1-bit hamming ecc-code using GPMC h/w engin with ecc-layout compatible
      	to ROM code.
      
      This patch combines above multiple ecc-schemes into single implementation:
      - OMAP_ECC_HAM1_CODE_HW
      	1-bit hamming ecc-code using GPMC h/w engine with ROM-code compatible
      	ecc-layout.
      Signed-off-by: NPekon Gupta <pekon@ti.com>
      Reviewed-by: NFelipe Balbi <balbi@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Tested-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      c66d0391
    • P
      ARM: OMAP2+: cleaned-up DT support of various ECC schemes · ac65caf5
      Pekon Gupta 提交于
      OMAP NAND driver support multiple ECC scheme, which can used in different
      flavours, depending on in-build Hardware engines present on SoC.
      
      This patch updates following in DT bindings related to sectionion of ecc-schemes
      - ti,elm-id: replaces elm_id (maintains backward compatibility)
      - ti,nand-ecc-opts: selection of h/w or s/w implementation of an ecc-scheme
      	depends on ti,elm-id. (supported values ham1, bch4, and bch8)
      - maintain backward compatibility to deprecated DT bindings (sw, hw, hw-romcode)
      
      Below table shows different flavours of ecc-schemes supported by OMAP devices
      +---------------------------------------+---------------+---------------+
      | ECC scheme                            |ECC calculation|Error detection|
      +---------------------------------------+---------------+---------------+
      |OMAP_ECC_HAM1_CODE_HW                  |H/W (GPMC)     |S/W            |
      +---------------------------------------+---------------+---------------+
      |OMAP_ECC_BCH8_CODE_HW_DETECTION_SW     |H/W (GPMC)     |S/W            |
      |(requires CONFIG_MTD_NAND_ECC_BCH)     |               |               |
      +---------------------------------------+---------------+---------------+
      |OMAP_ECC_BCH8_CODE_HW                  |H/W (GPMC)     |H/W (ELM)      |
      |(requires CONFIG_MTD_NAND_OMAP_BCH &&  |               |               |
      | ti,elm-id in DT)                      |               |               |
      +---------------------------------------+---------------+---------------+
      
      To optimize footprint of omap2-nand driver, selection of some ECC schemes
      also require enabling following Kconfigs, in addition to setting appropriate
      DT bindings
      - Kconfig:CONFIG_MTD_NAND_ECC_BCH        error detection done in software
      - Kconfig:CONFIG_MTD_NAND_OMAP_BCH       error detection done by h/w engine
      Signed-off-by: NPekon Gupta <pekon@ti.com>
      Reviewed-by: NFelipe Balbi <balbi@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Tested-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      ac65caf5
  27. 06 8月, 2013 3 次提交
    • J
      mtd: ofpart: add compatible check for child nodes · e79265ba
      Josh Wu 提交于
      In case that the nand device will support some features like Nand Flash
      Controller, we want to make the sub feature as a sub node of nand device.
      
      Use such organization it is easy to enable/disable feature, also it is back
      compatible and more readable.
      
      If the sub-node has a compatible property then it is a driver not partition.
      Signed-off-by: NJosh Wu <josh.wu@atmel.com>
      Acked-by: NBrian Norris <computersforpeace@gmail.com>
      Acked-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      [ added a missing newline -Brian ]
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      e79265ba
    • J
      mtd: atmel_nand: enable Nand Flash Controller (NFC) write via sram · 6054d4d5
      Josh Wu 提交于
      This patch enable writing nand flash via NFC SRAM. It will minimize the CPU
      overhead. The SRAM write only support ECC_NONE and ECC_HW with PMECC.
      
      To enable this NFC write by SRAM feature, you can add a string in dts under
      NFC driver node.
      
      This driver has been tested on SAMA5D3X-EK with JFFS2, YAFFS2, UBIFS and
      mtd-utils.
      
      Here is part of mtd_speedtest (writing test) result, compare with non-NFC
      writing, it reduces %65 cpu load with loss %12 speed.
      
      - commands use to test:
        # insmod /mnt/mtd_speedtest.ko dev=2 &
        # top -n 30 -d 1 | grep speedtest
      
      - test result:
      =================================================
      mtd_speedtest: MTD device: 2
      mtd_speedtest: MTD device size 41943040, eraseblock size 131072, page size 2048, count of eraseblocks 320, pages per eraseblock 64, OOB size 64
      mtd_speedtest: testing eraseblock write speed
        509   495 root     D     1164   0%   7% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%   8% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%   5% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock write speed is 5194 KiB/s
      mtd_speedtest: testing page write speed
        509   495 root     D     1164   0%  32% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  27% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  25% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  30% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page write speed is 5024 KiB/s
      Signed-off-by: NJosh Wu <josh.wu@atmel.com>
      Acked-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      6054d4d5
    • J
      mtd: atmel_nand: add Nand Flash Controller (NFC) support · 7dc37de7
      Josh Wu 提交于
      Nand Flash Controller (NFC) can handle automatic transfers, sending the
      commands and address cycles to the NAND Flash.
      
      To use NFC in this driver, user needs to add NFC child node in nand flash
      driver. The NFC child node includes NFC's compatible string and regiters
      of the address and size of NFC command registers, NFC registers (embedded
      in HSMC) and NFC SRAM.
      Also user need to set up the HSMC irq, which use to check whether nfc
      command is finish or not.
      
      This driver has been tested on SAMA5D3X-EK board with JFFS2, YAFFS,
      UBIFS and mtd-utils.
      
      I put the part of the mtd_speedtest result here for your information.
      >From the mtd_speedtest, we can see the NFC will reduce the %50 of cpu load
      when writing nand flash. No change when reading.
      In the meantime, the speed will be slow about %8.
      
      - commands use to test:
          #insmod /mnt/mtd_speedtest.ko dev=2 &
          #top -n 30 -d 1 | grep speedtest
      
      - test result:
      
      Before the patch:
      =================================================
      mtd_speedtest: MTD device: 2
      mtd_speedtest: MTD device size 41943040, eraseblock size 131072, page size 2048, count of eraseblocks 320, pages per eraseblock 64, OOB size 64
        515   495 root     R     1164   0%  93% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  98% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  99% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock write speed is 5768 KiB/s
      mtd_speedtest: testing eraseblock read speed
        515   495 root     R     1164   0%  92% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  94% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock read speed is 5932 KiB/s
      mtd_speedtest: testing page write speed
        515   495 root     R     1164   0%  94% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  98% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  98% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page write speed is 5770 KiB/s
      mtd_speedtest: testing page read speed
        515   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  89% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page read speed is 5910 KiB/s
      
      After the patch:
      =================================================
      mtd_speedtest: MTD device: 2
      mtd_speedtest: MTD device size 41943040, eraseblock size 131072, page size 2048, count of eraseblocks 320, pages per eraseblock 64, OOB size 64
      mtd_speedtest: testing eraseblock write speed
        509   495 root     D     1164   0%  49% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  50% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  47% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock write speed is 5370 KiB/s
      mtd_speedtest: testing eraseblock read speed
        509   495 root     R     1164   0%  92% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  95% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock read speed is 5715 KiB/s
      mtd_speedtest: testing page write speed
        509   495 root     D     1164   0%  48% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  47% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  50% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page write speed is 5224 KiB/s
      mtd_speedtest: testing page read speed
        509   495 root     R     1164   0%  89% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  94% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  93% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page read speed is 5641 KiB/s
      Signed-off-by: NJosh Wu <josh.wu@atmel.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      7dc37de7