Commit 74cae210 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MTD updates from Richard Weinberger:
 "MTD core changes:

   - Dynamic partition support

   - Fix deadlock in sm_ftl

   - Various refcount fixes in maps, partitions and parser code

   - Integer overflow fixes in mtdchar

   - Support for Sercomm partitions

  NAND driver changes:

   - Clockrate fix for arasan

   - Add ATO25D1GA support

   - Double free fix for meson driver

   - Fix probe/remove methods in cafe NAND

   - Support unprotected spare data pages in qcom_nandc

  SPI NOR core changes:

   - move SECT_4K_PMC flag out of the core as it's a vendor specific
     flag

   - s/addr_width/addr_nbytes/g: address width means the number of IO
     lines used for the address, whereas in the code it is used as the
     number of address bytes.

   - do not change nor->addr_nbytes at SFDP parsing time. At the SFDP
     parsing time we should not change members of struct spi_nor, but
     instead fill members of struct spi_nor_flash_parameters which could
     later on be used by the callers.

   - track flash's internal address mode so that we can use 4B opcodes
     together with opcodes that don't have a 4B opcode correspondent.

  SPI NOR manufacturer drivers changes:

   - esmt: Rename "f25l32qa" flash name to "f25l32qa-2s".

   - micron-st: Skip FSR reading if SPI controller does not support it
     to allow flashes that support FSR to work even when attached to
     such SPI controllers.

   - spansion: Add s25hl-t/s25hs-t IDs and fixups"

* tag 'mtd/for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (53 commits)
  mtd: core: check partition before dereference
  mtd: spi-nor: fix spi_nor_spimem_setup_op() call in spi_nor_erase_{sector,chip}()
  mtd: spi-nor: spansion: Add s25hl-t/s25hs-t IDs and fixups
  mtd: spi-nor: spansion: Add local function to discover page size
  mtd: spi-nor: core: Track flash's internal address mode
  mtd: spi-nor: core: Return error code from set_4byte_addr_mode()
  mtd: spi-nor: Do not change nor->addr_nbytes at SFDP parsing time
  mtd: spi-nor: core: Shrink the storage size of the flash_info's addr_nbytes
  mtd: spi-nor: s/addr_width/addr_nbytes
  mtd: spi-nor: esmt: Use correct name of f25l32qa
  mtd: spi-nor: micron-st: Skip FSR reading if SPI controller does not support it
  MAINTAINERS: Use my kernel.org email
  mtd: rawnand: arasan: Fix clock rate in NV-DDR
  mtd: rawnand: arasan: Update NAND bus clock instead of system clock
  mtd: core: introduce of support for dynamic partitions
  dt-bindings: mtd: partitions: add additional example for qcom,smem-part
  dt-bindings: mtd: partitions: support label/name only partition
  mtd: spi-nor: move SECT_4K_PMC special handling
  mtd: dataflash: Add SPI ID table
  mtd: hyperbus: rpc-if: Fix RPM imbalance in probe error path
  ...
parents 79b7e67b 7ec4cdb3
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -37,6 +37,4 @@ examples:
        compatible = "fsl,imx27-nand";
        reg = <0xd8000000 0x1000>;
        interrupts = <29>;
        nand-bus-width = <8>;
        nand-ecc-mode = "hw";
    };
+18 −2
Original line number Diff line number Diff line
@@ -11,6 +11,17 @@ description: |
  relative offset and size specified. Depending on partition function extra
  properties can be used.

  A partition may be dynamically allocated by a specific parser at runtime.
  In this specific case, a specific suffix is required to the node name.
  Everything after 'partition-' will be used as the partition name to compare
  with the one dynamically allocated by the specific parser.
  If the partition contains invalid char a label can be provided that will
  be used instead of the node name to make the comparison.
  This is used to assign an OF node to the dynamiccally allocated partition
  so that subsystem like NVMEM can provide an OF node and declare NVMEM cells.
  The OF node will be assigned only if the partition label declared match the
  one assigned by the parser at runtime.

maintainers:
  - Rafał Miłecki <rafal@milecki.pl>

@@ -41,7 +52,12 @@ properties:
      immune to paired-pages corruptions
    type: boolean

required:
  - reg
if:
  not:
    required: [ reg ]
then:
  properties:
    $nodename:
      pattern: '^partition-.*$'

additionalProperties: true
+27 −0
Original line number Diff line number Diff line
@@ -19,6 +19,10 @@ properties:
  compatible:
    const: qcom,smem-part

patternProperties:
  "^partition-[0-9a-z]+$":
    $ref: partition.yaml#

required:
  - compatible

@@ -31,3 +35,26 @@ examples:
            compatible = "qcom,smem-part";
        };
    };

  - |
    /* Example declaring dynamic partition */
    flash {
      partitions {
        compatible = "qcom,smem-part";

        partition-art {
          compatible = "nvmem-cells";
          #address-cells = <1>;
          #size-cells = <1>;
          label = "0:art";

          macaddr_art_0: macaddr@0 {
            reg = <0x0 0x6>;
          };

          macaddr_art_6: macaddr@6 {
            reg = <0x6 0x6>;
          };
        };
      };
    };
+27 −0
Original line number Diff line number Diff line
@@ -102,6 +102,31 @@ allOf:
            - const: rx
            - const: cmd

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq806x-nand

    then:
      properties:
        qcom,boot-partitions:
          $ref: /schemas/types.yaml#/definitions/uint32-matrix
          items:
            items:
              - description: offset
              - description: size
          description:
            Boot partition use a different layout where the 4 bytes of spare
            data are not protected by ECC. Use this to declare these special
            partitions by defining first the offset and then the size.

            It's in the form of <offset1 size1 offset2 size2 offset3 ...>
            and should be declared in ascending order.

            Refer to the ipq8064 example on how to use this special binding.

required:
  - compatible
  - reg
@@ -135,6 +160,8 @@ examples:
        nand-ecc-strength = <4>;
        nand-bus-width = <8>;

        qcom,boot-partitions = <0x0 0x58a0000>;

        partitions {
          compatible = "fixed-partitions";
          #address-cells = <1>;
+1 −1
Original line number Diff line number Diff line
@@ -19130,7 +19130,7 @@ F: drivers/pinctrl/spear/
SPI NOR SUBSYSTEM
M:	Tudor Ambarus <tudor.ambarus@microchip.com>
M:	Pratyush Yadav <p.yadav@ti.com>
M:	Pratyush Yadav <pratyush@kernel.org>
R:	Michael Walle <michael@walle.cc>
L:	linux-mtd@lists.infradead.org
S:	Maintained
Loading