Commit 6f51ab94 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MTD updates from Richard Weinberger:
 "MTD core changes:
   - partition parser: Support MTD names containing one or more colons.
   - mtdblock: clear cache_state to avoid writing to bad blocks
     repeatedly.

  Raw NAND core changes:
   - Stop using nand_release(), patched all drivers.
   - Give more information about the ECC weakness when not matching the
     chip's requirement.
   - MAINTAINERS updates.
   - Support emulated SLC mode on MLC NANDs.
   - Support "constrained" controllers, adapt the core and ONFI/JEDEC
     table parsing and Micron's code.
   - Take check_only into account.
   - Add an invalid ECC mode to discriminate with valid ones.
   - Return an enum from of_get_nand_ecc_algo().
   - Drop OOB_FIRST placement scheme.
   - Introduce nand_extract_bits().
   - Ensure a consistent bitflips numbering.
   - BCH lib:
      - Allow easy bit swapping.
      - Rework a little bit the exported function names.
   - Fix nand_gpio_waitrdy().
   - Propage CS selection to sub operations.
   - Add a NAND_NO_BBM_QUIRK flag.
   - Give the possibility to verify a read operation is supported.
   - Add a helper to check supported operations.
   - Avoid indirect access to ->data_buf().
   - Rename the use_bufpoi variables.
   - Fix comments about the use of bufpoi.
   - Rename a NAND chip option.
   - Reorder the nand_chip->options flags.
   - Translate obscure bitfields into readable macros.
   - Timings:
      - Fix default values.
      - Add mode information to the timings structure.

  Raw NAND controller driver changes:
   - Fixed many error paths.
   - Arasan
      - New driver
   - Au1550nd:
      - Various cleanups
      - Migration to ->exec_op()
   - brcmnand:
      - Misc cleanup.
      - Support v2.1-v2.2 controllers.
      - Remove unused including <linux/version.h>.
      - Correctly verify erased pages.
      - Fix Hamming OOB layout.
   - Cadence
      - Make cadence_nand_attach_chip static.
   - Cafe:
      - Set the NAND_NO_BBM_QUIRK flag
   - cmx270:
      - Remove this controller driver.
   - cs553x:
      - Misc cleanup
      - Migration to ->exec_op()
   - Davinci:
      - Misc cleanup.
      - Migration to ->exec_op()
   - Denali:
      - Add more delays before latching incoming data
   - Diskonchip:
      - Misc cleanup
      - Migration to ->exec_op()
   - Fsmc:
      - Change to non-atomic bit operations.
   - GPMI:
      - Use nand_extract_bits()
      - Fix runtime PM imbalance.
   - Ingenic:
      - Migration to exec_op()
      - Fix the RB gpio active-high property on qi, lb60
      - Make qi_lb60_ooblayout_ops static.
   - Marvell:
      - Misc cleanup and small fixes
   - Nandsim:
      - Fix the error paths, driver wide.
   - Omap_elm:
      - Fix runtime PM imbalance.
   - STM32_FMC2:
      - Misc cleanups (error cases, comments, timeout valus, cosmetic
        changes).

  SPI NOR core changes:
   - Add, update support and fix few flashes.
   - Prepare BFPT parsing for JESD216 rev D.
   - Kernel doc fixes.

  CFI changes:
   - Support the absence of protection registers for Intel CFI flashes.
   - Replace zero-length array with flexible-arrays"

* tag 'mtd/for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (208 commits)
  mtd: clear cache_state to avoid writing to bad blocks repeatedly
  mtd: parser: cmdline: Support MTD names containing one or more colons
  mtd: physmap_of_gemini: remove defined but not used symbol 'syscon_match'
  mtd: rawnand: Add an invalid ECC mode to discriminate with valid ones
  mtd: rawnand: Return an enum from of_get_nand_ecc_algo()
  mtd: rawnand: Drop OOB_FIRST placement scheme
  mtd: rawnand: Avoid a typedef
  mtd: Fix typo in mtd_ooblayout_set_databytes() description
  mtd: rawnand: Stop using nand_release()
  mtd: rawnand: nandsim: Reorganize ns_cleanup_module()
  mtd: rawnand: nandsim: Rename a label in ns_init_module()
  mtd: rawnand: nandsim: Manage lists on error in ns_init_module()
  mtd: rawnand: nandsim: Fix the label pointing on nand_cleanup()
  mtd: rawnand: nandsim: Free erase_block_wear on error
  mtd: rawnand: nandsim: Use an additional label when freeing the nandsim object
  mtd: rawnand: nandsim: Stop using nand_release()
  mtd: rawnand: nandsim: Free the partition names in ns_free()
  mtd: rawnand: nandsim: Free the allocated device on error in ns_init()
  mtd: rawnand: nandsim: Free partition names on error in ns_init()
  mtd: rawnand: nandsim: Fix the two ns_alloc_device() error paths
  ...
parents 6f630784 5788ccf3
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/arasan,nand-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Arasan NAND Flash Controller with ONFI 3.1 support device tree bindings

allOf:
  - $ref: "nand-controller.yaml"

maintainers:
  - Naga Sureshkumar Relli <naga.sureshkumar.relli@xilinx.com>

properties:
  compatible:
    oneOf:
      - items:
        - enum:
          - xlnx,zynqmp-nand-controller
        - enum:
          - arasan,nfc-v3p10

  reg:
    maxItems: 1

  clocks:
    items:
      - description: Controller clock
      - description: NAND bus clock

  clock-names:
    items:
      - const: controller
      - const: bus

  interrupts:
    maxItems: 1

  "#address-cells": true
  "#size-cells": true

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

additionalProperties: true

examples:
  - |
    nfc: nand-controller@ff100000 {
        compatible = "xlnx,zynqmp-nand-controller", "arasan,nfc-v3p10";
        reg = <0x0 0xff100000 0x0 0x1000>;
        clock-names = "controller", "bus";
        clocks = <&clk200>, <&clk100>;
        interrupt-parent = <&gic>;
        interrupts = <0 14 4>;
        #address-cells = <1>;
        #size-cells = <0>;
    };
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ Required properties:
                     "brcm,brcmnand" and an appropriate version compatibility
                     string, like "brcm,brcmnand-v7.0"
                     Possible values:
                         brcm,brcmnand-v2.1
                         brcm,brcmnand-v2.2
                         brcm,brcmnand-v4.0
                         brcm,brcmnand-v5.0
                         brcm,brcmnand-v6.0
+3 −0
Original line number Diff line number Diff line
@@ -61,6 +61,9 @@ Optional properties:
  clobbered.
- lock : Do not unlock the partition at initialization time (not supported on
  all devices)
- slc-mode: This parameter, if present, allows one to emulate SLC mode on a
  partition attached to an MLC NAND thus making this partition immune to
  paired-pages corruptions

Examples:

+4 −2
Original line number Diff line number Diff line
@@ -276,8 +276,10 @@ unregisters the partitions in the MTD layer.
    #ifdef MODULE
    static void __exit board_cleanup (void)
    {
        /* Release resources, unregister device */
        nand_release (mtd_to_nand(board_mtd));
        /* Unregister device */
        WARN_ON(mtd_device_unregister(board_mtd));
        /* Release resources */
        nand_cleanup(mtd_to_nand(board_mtd));

        /* unmap physical address */
        iounmap(baseaddr);
+9 −4
Original line number Diff line number Diff line
@@ -1305,6 +1305,13 @@ S: Supported
W:	http://www.aquantia.com
F:	drivers/net/ethernet/aquantia/atlantic/aq_ptp*
ARASAN NAND CONTROLLER DRIVER
M:	Naga Sureshkumar Relli <nagasure@xilinx.com>
L:	linux-mtd@lists.infradead.org
S:	Maintained
F:	Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml
F:	drivers/mtd/nand/raw/arasan-nand-controller.c
ARC FRAMEBUFFER DRIVER
M:	Jaya Kumar <jayalk@intworks.biz>
S:	Maintained
@@ -3778,9 +3785,8 @@ F: Documentation/devicetree/bindings/media/cdns,*.txt
F:	drivers/media/platform/cadence/cdns-csi2*
CADENCE NAND DRIVER
M:	Piotr Sroka <piotrs@cadence.com>
L:	linux-mtd@lists.infradead.org
S:	Maintained
S:	Orphan
F:	Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt
F:	drivers/mtd/nand/raw/cadence-nand-controller.c
@@ -10853,9 +10859,8 @@ F: Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
F:	drivers/i2c/busses/i2c-mt7621.c
MEDIATEK NAND CONTROLLER DRIVER
M:	Xiaolei Li <xiaolei.li@mediatek.com>
L:	linux-mtd@lists.infradead.org
S:	Maintained
S:	Orphan
F:	Documentation/devicetree/bindings/mtd/mtk-nand.txt
F:	drivers/mtd/nand/raw/mtk_*
Loading