Skip to content

Commit 3c5d127

Browse files
committed
Merge tag 'mtd/for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux
Pull MTD updates from Miquel Raynal: "MTD: - The Carillo Ranch driver has been removed - Top level mtd bindings have received a couple of improvements (references, selects) - The ssfdc driver received few minor adjustments - The usual load of misc/small improvements and fixes Raw NAND: - The main series brought is an update of the Broadcom support to support all BCMBCA SoCs and their specificity (ECC, write protection, configuration straps), plus a few misc fixes and changes in the main driver. Device tree updates are also part of this PR, initially because of a misunderstanding on my side. - The STM32_FMC2 controller driver is also upgraded to properly support MP1 and MP25 SoCs. - A new compatible is added for an Atmel flavor. - Among all these feature changes, there is as well a load of continuous read related fixes, avoiding more corner conditions and clarifying the logic. Finally a few miscellaneous fixes are made to the core, the lpx32xx_mlc, fsl_lbc, Meson and Atmel controller driver, as well as final one in the Hynix vendor driver. SPI-NAND: - The ESMT support has been extended to match 5 bytes ID to avoid collisions. Winbond support on its side receives support for W25N04KV chips. SPI NOR: - SPI NOR gets the non uniform erase code cleaned. We stopped using bitmasks for erase types and flags, and instead introduced dedicated members. We then passed the SPI NOR erase map to MTD. Users can now determine the erase regions and make informed decisions on partitions size. - An optional interrupt property is now described in the bindings" * tag 'mtd/for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (50 commits) mtd: rawnand: Ensure continuous reads are well disabled mtd: rawnand: Constrain even more when continuous reads are enabled mtd: rawnand: brcmnand: Add support for getting ecc setting from strap mtd: rawnand: brcmnand: fix sparse warnings mtd: nand: raw: atmel: Fix comment in timings preparation mtd: rawnand: Ensure all continuous terms are always in sync mtd: rawnand: Add a helper for calculating a page index mtd: rawnand: Fix and simplify again the continuous read derivations mtd: rawnand: hynix: remove @nand_technology kernel-doc description dt-bindings: atmel-nand: add microchip,sam9x7-pmecc mtd: rawnand: brcmnand: Support write protection setting from dts mtd: rawnand: brcmnand: Add BCMBCA read data bus interface mtd: rawnand: brcmnand: Rename bcm63138 nand driver arm64: dts: broadcom: bcmbca: Update router boards arm64: dts: broadcom: bcmbca: Add NAND controller node ARM: dts: broadcom: bcmbca: Add NAND controller node mtd: spi-nor: core: correct type of i mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map mtd: spi-nor: core: get rid of SNOR_OVERLAID_REGION flag mtd: spi-nor: core: get rid of SNOR_LAST_REGION flag ...
2 parents 2b3a419 + 09888e9 commit 3c5d127

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+980
-656
lines changed

Documentation/devicetree/bindings/mtd/atmel-nand.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ Required properties:
5656
"atmel,sama5d4-pmecc"
5757
"atmel,sama5d2-pmecc"
5858
"microchip,sam9x60-pmecc"
59+
"microchip,sam9x7-pmecc", "atmel,at91sam9g45-pmecc"
5960
- reg: should contain 2 register ranges. The first one is pointing to the PMECC
6061
block, and the second one to the PMECC_ERRLOC block.
6162

Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ title: Broadcom STB NAND Controller
99
maintainers:
1010
- Brian Norris <computersforpeace@gmail.com>
1111
- Kamal Dasu <kdasu.kdev@gmail.com>
12+
- William Zhang <william.zhang@broadcom.com>
1213

1314
description: |
1415
The Broadcom Set-Top Box NAND controller supports low-level access to raw NAND
@@ -18,9 +19,10 @@ description: |
1819
supports basic PROGRAM and READ functions, among other features.
1920
2021
This controller was originally designed for STB SoCs (BCM7xxx) but is now
21-
available on a variety of Broadcom SoCs, including some BCM3xxx, BCM63xx, and
22-
iProc/Cygnus. Its history includes several similar (but not fully register
23-
compatible) versions.
22+
available on a variety of Broadcom SoCs, including some BCM3xxx, MIPS based
23+
Broadband SoC (BCM63xx), ARM based Broadband SoC (BCMBCA) and iProc/Cygnus.
24+
Its history includes several similar (but not fully register compatible)
25+
versions.
2426
2527
-- Additional SoC-specific NAND controller properties --
2628
@@ -53,7 +55,7 @@ properties:
5355
- brcm,brcmnand-v7.2
5456
- brcm,brcmnand-v7.3
5557
- const: brcm,brcmnand
56-
- description: BCM63138 SoC-specific NAND controller
58+
- description: BCMBCA SoC-specific NAND controller
5759
items:
5860
- const: brcm,nand-bcm63138
5961
- enum:
@@ -111,6 +113,13 @@ properties:
111113
earlier versions of this core that include WP
112114
type: boolean
113115

116+
brcm,wp-not-connected:
117+
description:
118+
Use this property when WP pin is not physically wired to the NAND chip.
119+
Write protection feature cannot be used. By default, controller assumes
120+
the pin is connected and feature is used.
121+
$ref: /schemas/types.yaml#/definitions/flag
122+
114123
patternProperties:
115124
"^nand@[a-f0-9]$":
116125
type: object
@@ -137,6 +146,15 @@ patternProperties:
137146
layout.
138147
$ref: /schemas/types.yaml#/definitions/uint32
139148

149+
brcm,nand-ecc-use-strap:
150+
description:
151+
This property requires the host system to get the ECC related
152+
settings from the SoC NAND boot strap configuration instead of
153+
the generic NAND ECC settings. This is a common hardware design
154+
on BCMBCA based boards. This strap ECC option and generic NAND
155+
ECC option can not be specified at the same time.
156+
$ref: /schemas/types.yaml#/definitions/flag
157+
140158
unevaluatedProperties: false
141159

142160
allOf:
@@ -177,19 +195,35 @@ allOf:
177195
- const: iproc-idm
178196
- const: iproc-ext
179197
- if:
198+
required:
199+
- interrupts
180200
properties:
181201
interrupts:
182202
minItems: 2
183203
then:
184204
required:
185205
- interrupt-names
186206

207+
- if:
208+
patternProperties:
209+
"^nand@[a-f0-9]$":
210+
required:
211+
- brcm,nand-ecc-use-strap
212+
then:
213+
patternProperties:
214+
"^nand@[a-f0-9]$":
215+
properties:
216+
nand-ecc-strength: false
217+
nand-ecc-step-size: false
218+
nand-ecc-maximize: false
219+
nand-ecc-algo: false
220+
brcm,nand-oob-sector-size: false
221+
187222
unevaluatedProperties: false
188223

189224
required:
190225
- reg
191226
- reg-names
192-
- interrupts
193227

194228
examples:
195229
- |

Documentation/devicetree/bindings/mtd/davinci-nand.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Deprecated properties:
6868
false.
6969

7070
Nand device bindings may contain additional sub-nodes describing partitions of
71-
the address space. See partition.txt for more detail. The NAND Flash timing
71+
the address space. See mtd.yaml for more detail. The NAND Flash timing
7272
values must be programmed in the chip select’s node of AEMIF
7373
memory-controller (see Documentation/devicetree/bindings/memory-controllers/
7474
davinci-aemif.txt).

Documentation/devicetree/bindings/mtd/flctl-nand.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The DMA fields are not used yet in the driver but are listed here for
1515
completing the bindings.
1616

1717
The device tree may optionally contain sub-nodes describing partitions of the
18-
address space. See partition.txt for more detail.
18+
address space. See mtd.yaml for more detail.
1919

2020
Example:
2121

Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Deprecated properties:
2222
(R/B# pins not connected).
2323

2424
Each flash chip described may optionally contain additional sub-nodes
25-
describing partitions of the address space. See partition.txt for more
25+
describing partitions of the address space. See mtd.yaml for more
2626
detail.
2727

2828
Examples:

Documentation/devicetree/bindings/mtd/gpio-control-nand.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Optional properties:
2626
read to ensure that the GPIO accesses have completed.
2727

2828
The device tree may optionally contain sub-nodes describing partitions of the
29-
address space. See partition.txt for more detail.
29+
address space. See mtd.yaml for more detail.
3030

3131
Examples:
3232

Documentation/devicetree/bindings/mtd/gpmi-nand.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ maintainers:
1212
description: |
1313
The GPMI nand controller provides an interface to control the NAND
1414
flash chips. The device tree may optionally contain sub-nodes
15-
describing partitions of the address space. See partition.txt for
15+
describing partitions of the address space. See mtd.yaml for
1616
more detail.
1717
1818
properties:

Documentation/devicetree/bindings/mtd/hisi504-nand.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ The following ECC strength and step size are currently supported:
2222
- nand-ecc-strength = <16>, nand-ecc-step-size = <1024>
2323

2424
Flash chip may optionally contain additional sub-nodes describing partitions of
25-
the address space. See partition.txt for more detail.
25+
the address space. See mtd.yaml for more detail.
2626

2727
Example:
2828

Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ properties:
5252
minItems: 1
5353
maxItems: 2
5454

55+
interrupts:
56+
maxItems: 1
57+
5558
m25p,fast-read:
5659
type: boolean
5760
description:

Documentation/devicetree/bindings/mtd/mtd.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ maintainers:
1010
- Miquel Raynal <miquel.raynal@bootlin.com>
1111
- Richard Weinberger <richard@nod.at>
1212

13+
select: false
14+
1315
properties:
1416
$nodename:
1517
pattern: "^(flash|.*sram|nand)(@.*)?$"

0 commit comments

Comments
 (0)