diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-19 15:47:41 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-19 15:47:41 -0500 |
| commit | ca2a88f56aa385890c7fd4ce9d2722b0848ca990 (patch) | |
| tree | 935fd9cec938677d6529db203f24d803ed5f0b19 /Documentation/devicetree | |
| parent | 3935e89505a1c3ab3f3b0c7ef0eae54124f48905 (diff) | |
| parent | d4d4f1bf6a343b25220fdcdf559fd593dd3e25a7 (diff) | |
Merge tag 'for-linus-20121219' of git://git.infradead.org/linux-mtd
Pull MTD updates from David Woodhouse:
- Various cleanups especially in NAND tests
- Add support for NAND flash on BCMA bus
- DT support for sh_flctl and denali NAND drivers
- Kill obsolete/superceded drivers (fortunet, nomadik_nand)
- Fix JFFS2 locking bug in ENOMEM failure path
- New SPI flash chips, as usual
- Support writing in 'reliable mode' for DiskOnChip G4
- Debugfs support in nandsim
* tag 'for-linus-20121219' of git://git.infradead.org/linux-mtd: (96 commits)
mtd: nand: typo in nand_id_has_period() comments
mtd: nand/gpio: use io{read,write}*_rep accessors
mtd: block2mtd: throttle writes by calling balance_dirty_pages_ratelimited.
mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems
mtd: nand/docg4: fix and improve read of factory bbt
mtd: nand/docg4: reserve bb marker area in ecclayout
mtd: nand/docg4: add support for writing in reliable mode
mtd: mxc_nand: reorder part_probes to let cmdline override other sources
mtd: mxc_nand: fix unbalanced clk_disable() in error path
mtd: nandsim: Introduce debugfs infrastructure
mtd: physmap_of: error checking to prevent a NULL pointer dereference
mtg: docg3: potential divide by zero in doc_write_oob()
mtd: bcm47xxnflash: writing support
mtd: tests/read: initialize buffer for whole next page
mtd: at91: atmel_nand: return bit flips for the PMECC read_page()
mtd: fix recovery after failed write-buffer operation in cfi_cmdset_0002.c
mtd: nand: onfi need to be probed in 8 bits mode
mtd: nand: add NAND_BUSWIDTH_AUTO to autodetect bus width
mtd: nand: print flash size during detection
mted: nand_wait_ready timeout fix
...
Diffstat (limited to 'Documentation/devicetree')
6 files changed, 117 insertions, 7 deletions
diff --git a/Documentation/devicetree/bindings/arm/davinci/nand.txt b/Documentation/devicetree/bindings/arm/davinci/nand.txt index 49fc7ada929..3545ea704b5 100644 --- a/Documentation/devicetree/bindings/arm/davinci/nand.txt +++ b/Documentation/devicetree/bindings/arm/davinci/nand.txt | |||
| @@ -23,6 +23,9 @@ Recommended properties : | |||
| 23 | - ti,davinci-nand-buswidth: buswidth 8 or 16 | 23 | - ti,davinci-nand-buswidth: buswidth 8 or 16 |
| 24 | - ti,davinci-nand-use-bbt: use flash based bad block table support. | 24 | - ti,davinci-nand-use-bbt: use flash based bad block table support. |
| 25 | 25 | ||
| 26 | nand device bindings may contain additional sub-nodes describing | ||
| 27 | partitions of the address space. See partition.txt for more detail. | ||
| 28 | |||
| 26 | Example(da850 EVM ): | 29 | Example(da850 EVM ): |
| 27 | nand_cs3@62000000 { | 30 | nand_cs3@62000000 { |
| 28 | compatible = "ti,davinci-nand"; | 31 | compatible = "ti,davinci-nand"; |
| @@ -35,4 +38,9 @@ nand_cs3@62000000 { | |||
| 35 | ti,davinci-ecc-mode = "hw"; | 38 | ti,davinci-ecc-mode = "hw"; |
| 36 | ti,davinci-ecc-bits = <4>; | 39 | ti,davinci-ecc-bits = <4>; |
| 37 | ti,davinci-nand-use-bbt; | 40 | ti,davinci-nand-use-bbt; |
| 41 | |||
| 42 | partition@180000 { | ||
| 43 | label = "ubifs"; | ||
| 44 | reg = <0x180000 0x7e80000>; | ||
| 45 | }; | ||
| 38 | }; | 46 | }; |
diff --git a/Documentation/devicetree/bindings/mtd/denali-nand.txt b/Documentation/devicetree/bindings/mtd/denali-nand.txt new file mode 100644 index 00000000000..b04d03a1d49 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/denali-nand.txt | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | * Denali NAND controller | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | - compatible : should be "denali,denali-nand-dt" | ||
| 5 | - reg : should contain registers location and length for data and reg. | ||
| 6 | - reg-names: Should contain the reg names "nand_data" and "denali_reg" | ||
| 7 | - interrupts : The interrupt number. | ||
| 8 | - dm-mask : DMA bit mask | ||
| 9 | |||
| 10 | The device tree may optionally contain sub-nodes describing partitions of the | ||
| 11 | address space. See partition.txt for more detail. | ||
| 12 | |||
| 13 | Examples: | ||
| 14 | |||
| 15 | nand: nand@ff900000 { | ||
| 16 | #address-cells = <1>; | ||
| 17 | #size-cells = <1>; | ||
| 18 | compatible = "denali,denali-nand-dt"; | ||
| 19 | reg = <0xff900000 0x100000>, <0xffb80000 0x10000>; | ||
| 20 | reg-names = "nand_data", "denali_reg"; | ||
| 21 | interrupts = <0 144 4>; | ||
| 22 | dma-mask = <0xffffffff>; | ||
| 23 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/flctl-nand.txt b/Documentation/devicetree/bindings/mtd/flctl-nand.txt new file mode 100644 index 00000000000..427f46dc60a --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/flctl-nand.txt | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | FLCTL NAND controller | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | - compatible : "renesas,shmobile-flctl-sh7372" | ||
| 5 | - reg : Address range of the FLCTL | ||
| 6 | - interrupts : flste IRQ number | ||
| 7 | - nand-bus-width : bus width to NAND chip | ||
| 8 | |||
| 9 | Optional properties: | ||
| 10 | - dmas: DMA specifier(s) | ||
| 11 | - dma-names: name for each DMA specifier. Valid names are | ||
| 12 | "data_tx", "data_rx", "ecc_tx", "ecc_rx" | ||
| 13 | |||
| 14 | The DMA fields are not used yet in the driver but are listed here for | ||
| 15 | completing the bindings. | ||
| 16 | |||
| 17 | The device tree may optionally contain sub-nodes describing partitions of the | ||
| 18 | address space. See partition.txt for more detail. | ||
| 19 | |||
| 20 | Example: | ||
| 21 | |||
| 22 | flctl@e6a30000 { | ||
| 23 | #address-cells = <1>; | ||
| 24 | #size-cells = <1>; | ||
| 25 | compatible = "renesas,shmobile-flctl-sh7372"; | ||
| 26 | reg = <0xe6a30000 0x100>; | ||
| 27 | interrupts = <0x0d80>; | ||
| 28 | |||
| 29 | nand-bus-width = <16>; | ||
| 30 | |||
| 31 | dmas = <&dmac 1 /* data_tx */ | ||
| 32 | &dmac 2;> /* data_rx */ | ||
| 33 | dma-names = "data_tx", "data_rx"; | ||
| 34 | |||
| 35 | system@0 { | ||
| 36 | label = "system"; | ||
| 37 | reg = <0x0 0x8000000>; | ||
| 38 | }; | ||
| 39 | |||
| 40 | userdata@8000000 { | ||
| 41 | label = "userdata"; | ||
| 42 | reg = <0x8000000 0x10000000>; | ||
| 43 | }; | ||
| 44 | |||
| 45 | cache@18000000 { | ||
| 46 | label = "cache"; | ||
| 47 | reg = <0x18000000 0x8000000>; | ||
| 48 | }; | ||
| 49 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/fsmc-nand.txt b/Documentation/devicetree/bindings/mtd/fsmc-nand.txt index e2c663b354d..e3ea32e7de3 100644 --- a/Documentation/devicetree/bindings/mtd/fsmc-nand.txt +++ b/Documentation/devicetree/bindings/mtd/fsmc-nand.txt | |||
| @@ -3,9 +3,7 @@ | |||
| 3 | Required properties: | 3 | Required properties: |
| 4 | - compatible : "st,spear600-fsmc-nand" | 4 | - compatible : "st,spear600-fsmc-nand" |
| 5 | - reg : Address range of the mtd chip | 5 | - reg : Address range of the mtd chip |
| 6 | - reg-names: Should contain the reg names "fsmc_regs" and "nand_data" | 6 | - reg-names: Should contain the reg names "fsmc_regs", "nand_data", "nand_addr" and "nand_cmd" |
| 7 | - st,ale-off : Chip specific offset to ALE | ||
| 8 | - st,cle-off : Chip specific offset to CLE | ||
| 9 | 7 | ||
| 10 | Optional properties: | 8 | Optional properties: |
| 11 | - bank-width : Width (in bytes) of the device. If not present, the width | 9 | - bank-width : Width (in bytes) of the device. If not present, the width |
| @@ -19,10 +17,10 @@ Example: | |||
| 19 | #address-cells = <1>; | 17 | #address-cells = <1>; |
| 20 | #size-cells = <1>; | 18 | #size-cells = <1>; |
| 21 | reg = <0xd1800000 0x1000 /* FSMC Register */ | 19 | reg = <0xd1800000 0x1000 /* FSMC Register */ |
| 22 | 0xd2000000 0x4000>; /* NAND Base */ | 20 | 0xd2000000 0x0010 /* NAND Base DATA */ |
| 23 | reg-names = "fsmc_regs", "nand_data"; | 21 | 0xd2020000 0x0010 /* NAND Base ADDR */ |
| 24 | st,ale-off = <0x20000>; | 22 | 0xd2010000 0x0010>; /* NAND Base CMD */ |
| 25 | st,cle-off = <0x10000>; | 23 | reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; |
| 26 | 24 | ||
| 27 | bank-width = <1>; | 25 | bank-width = <1>; |
| 28 | nand-skip-bbtscan; | 26 | nand-skip-bbtscan; |
diff --git a/Documentation/devicetree/bindings/mtd/m25p80.txt b/Documentation/devicetree/bindings/mtd/m25p80.txt new file mode 100644 index 00000000000..6d3d5760947 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/m25p80.txt | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | * MTD SPI driver for ST M25Pxx (and similar) serial flash chips | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | - #address-cells, #size-cells : Must be present if the device has sub-nodes | ||
| 5 | representing partitions. | ||
| 6 | - compatible : Should be the manufacturer and the name of the chip. Bear in mind | ||
| 7 | the DT binding is not Linux-only, but in case of Linux, see the | ||
| 8 | "m25p_ids" table in drivers/mtd/devices/m25p80.c for the list of | ||
| 9 | supported chips. | ||
| 10 | - reg : Chip-Select number | ||
| 11 | - spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at | ||
| 12 | |||
| 13 | Optional properties: | ||
| 14 | - m25p,fast-read : Use the "fast read" opcode to read data from the chip instead | ||
| 15 | of the usual "read" opcode. This opcode is not supported by | ||
| 16 | all chips and support for it can not be detected at runtime. | ||
| 17 | Refer to your chips' datasheet to check if this is supported | ||
| 18 | by your chip. | ||
| 19 | |||
| 20 | Example: | ||
| 21 | |||
| 22 | flash: m25p80@0 { | ||
| 23 | #address-cells = <1>; | ||
| 24 | #size-cells = <1>; | ||
| 25 | compatible = "spansion,m25p80"; | ||
| 26 | reg = <0>; | ||
| 27 | spi-max-frequency = <40000000>; | ||
| 28 | m25p,fast-read; | ||
| 29 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt index 94de19b8f16..dab7847fc80 100644 --- a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt +++ b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt | |||
| @@ -23,6 +23,9 @@ file systems on embedded devices. | |||
| 23 | unaligned accesses as implemented in the JFFS2 code via memcpy(). | 23 | unaligned accesses as implemented in the JFFS2 code via memcpy(). |
| 24 | By defining "no-unaligned-direct-access", the flash will not be | 24 | By defining "no-unaligned-direct-access", the flash will not be |
| 25 | exposed directly to the MTD users (e.g. JFFS2) any more. | 25 | exposed directly to the MTD users (e.g. JFFS2) any more. |
| 26 | - linux,mtd-name: allow to specify the mtd name for retro capability with | ||
