Commit ce1bf979 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-20170212' of git://git.infradead.org/linux-mtd

Pull MTD updates from Brian Norris:
 "MTD updates for 4.11:

  General:
   - new kernel API for retrieving max bad blocks per die (not used yet)
   - track (and expose via sysfs) a partition's device tree node
   - support a "label" device tree property for naming an MTD

  NAND:
   - sunxi: avoid busy-waiting for NAND events
   - ifc: fix ECC handling on IFC v1.0
   - OX820: add explicit dependency on ARCH_OXNAS in Kconfig
   - core: add a new manufacture ID and fix a kernel-doc warning
   - fsmc: kill pdata support
   - lpc32xx_slc: remove unneeded NULL check
   - support dynamic "max bad blocks" detection via ONFI

  SPI NOR:
   - add support for the 4-byte address instruction set
   - add support for new memory parts
   - add support to S3AN memories
   - add support to the Intel SPI controller
   - add support to the Aspeed AST2400 and AST2550 controllers
   - support max SPI message sizes in m25p80_read()
   - fixes for the Candence and Freescale QSPI drivers

  Other:
   - add support for Gemini flash probing
   - bcm47xxsflash: add support for reading outside memory-mapped window
   - bcm47xxparts: extend to support multiple TRX partitions
   - misc fixes and typos

  Extra note: we've pulled in an MFD subtree from Lee Jones as a
  dependency for a new Intel SPI NOR driver"

[ Kudos to Brian for sending pull request a week early:

   "I refuse to acknowledge the existence of 4.10-rc8 and am therefore
    sending our MTD changes for 4.11 now"

  which is all good ]

* tag 'for-linus-20170212' of git://git.infradead.org/linux-mtd: (52 commits)
  mtd: aspeed: remove redundant dev_err call in aspeed_smc_probe()
  dt-bindings: mtd: add a common label property to all mtd devices
  mtd: name the mtd device with an optional label property
  mtd: physmap_of: fixup gemini/versatile dependencies
  mtd: spi-nor: cqspi: remove redundant dead code on error return check
  Documentation: mtk-quadspi: update DT bindings
  mtd: fsl-quadspi: Rename SEQID_QUAD_READ to SEQID_READ
  mtd:fsl-quadspi:use the property fields of SPI-NOR
  mtd: spi-nor: Add support for gd25q16
  mtd: spi-nor: Fix S3AN addressing calculation
  mtd: aspeed: fix compile warning in aspeed_smc_read_from_ahb()
  mtd: spi-nor: add dt support for Everspin MRAMs
  mtd: spi-nor: Add lock/unlock support for f25l32pa
  mtd: spi-nor: add a stateless method to support memory size above 128Mib
  mtd: spi-nor: rename SPINOR_OP_* macros of the 4-byte address op codes
  mtd: m25p80: consider max message size in m25p80_read
  mtd: spi-nor: bindings for the Aspeed memory controllers
  mtd: aspeed: add memory controllers for the Aspeed AST2400 SoC
  mtd: spi-nor: add memory controllers for the Aspeed AST2500 SoC
  mtd: spi-nor: remove WARN_ONCE() message in spi_nor_write()
  ...
parents c470abd4 d91f6cee
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
* Aspeed Firmware Memory controller
* Aspeed SPI Flash Memory Controller

The Firmware Memory Controller in the Aspeed AST2500 SoC supports
three chip selects, two of which are always of SPI type and the third
can be SPI or NOR type flash. These bindings only describe SPI.

The two SPI flash memory controllers in the AST2500 each support two
chip selects.

Required properties:
  - compatible : Should be one of
	"aspeed,ast2400-fmc" for the AST2400 Firmware Memory Controller
	"aspeed,ast2400-spi" for the AST2400 SPI Flash memory Controller
	"aspeed,ast2500-fmc" for the AST2500 Firmware Memory Controller
	"aspeed,ast2500-spi" for the AST2500 SPI flash memory controllers

  - reg : the first contains the control register location and length,
          the second contains the memory window mapping address and length
  - #address-cells : must be 1 corresponding to chip select child binding
  - #size-cells : must be 0 corresponding to chip select child binding

Optional properties:
  - interrupts : Should contain the interrupt for the dma device if an
    FMC

The child nodes are the SPI flash modules which must have a compatible
property as specified in bindings/mtd/jedec,spi-nor.txt

Optionally, the child node can contain properties for SPI mode (may be
ignored):
  - spi-max-frequency - max frequency of spi bus


Example:
fmc: fmc@1e620000 {
	compatible = "aspeed,ast2500-fmc";
	reg = < 0x1e620000 0x94
		0x20000000 0x02000000 >;
	#address-cells = <1>;
	#size-cells = <0>;
	interrupts = <19>;
	flash@0 {
		reg = < 0 >;
		compatible = "jedec,spi-nor";
		/* spi-max-frequency = <>; */
		/* m25p,fast-read; */
		#address-cells = <1>;
		#size-cells = <1>;
	};
};
+15 −0
Original line number Diff line number Diff line
* Common properties of all MTD devices

Optional properties:
- label: user-defined MTD device name. Can be used to assign user
  friendly names to MTD devices (instead of the flash model or flash
  controller based name) in order to ease flash device identification
  and/or describe what they are used for.

Example:

	flash@0 {
		label = "System-firmware";

		/* flash type specific properties */
	};
+24 −0
Original line number Diff line number Diff line
Flash device on Cortina Systems Gemini SoC

This flash is regular CFI compatible (Intel or AMD extended) flash chips with
some special bits that can be controlled by the machine's system controller.

Required properties:
- compatible : must be "cortina,gemini-flash", "cfi-flash";
- reg : memory address for the flash chip
- syscon : must be a phandle to the system controller
- bank-width : width in bytes of flash interface, should be <2>

For the rest of the properties, see mtd-physmap.txt.

The device tree may optionally contain sub-nodes describing partitions of the
address space. See partition.txt for more detail.

Example:

flash@30000000 {
	compatible = "cortina,gemini-flash", "cfi-flash";
	reg = <0x30000000 0x01000000>;
	syscon = <&syscon>;
	bank-width = <2>;
};
+2 −0
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@ Required properties:
                 at25df641
                 at26df081a
                 mr25h256
                 mr25h10
                 mr25h40
                 mx25l4005a
                 mx25l1606e
                 mx25l6405d
+7 −1
Original line number Diff line number Diff line
* Serial NOR flash controller for MTK MT81xx (and similar)

Required properties:
- compatible: 	  should be "mediatek,mt8173-nor";
- compatible: 	  The possible values are:
		  "mediatek,mt2701-nor"
		  "mediatek,mt7623-nor"
		  "mediatek,mt8173-nor"
		  For mt8173, compatible should be "mediatek,mt8173-nor".
		  For every other SoC, should contain both the SoC-specific compatible string
		  and "mediatek,mt8173-nor".
- reg: 		  physical base address and length of the controller's register
- clocks: 	  the phandle of the clocks needed by the nor controller
- clock-names: 	  the names of the clocks
Loading