Skip to content

Commit d335371

Browse files
committed
Merge tag 'mtd/for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux
Pull mtd updates from Miquel Raynal: "MTD core changes: - Call of_platform_populate() for MTD partitions - Check devicetree alias for index - mtdoops: - Add a timestamp to the mtdoops header. - Create a header structure for the saved mtdoops. - Fix the size of the header read buffer. - mtdblock: Warn if opened on NAND - Bindings: - reserved-memory: Support MTD/block device - jedec,spi-nor: remove unneeded properties - Extend fixed-partitions binding - Add Sercomm (Suzhou) Corporation vendor prefix MTD driver changes: - st_spi_fsm: add missing clk_disable_unprepare() in stfsm_remove() - phram: - Allow cached mappings - Allow probing via reserved-memory - maps: ixp4xx: Drop driver - bcm47xxpart: Print correct offset on read error CFI driver changes: - Rename chip_ready variables - Add S29GL064N ID definition - Use chip_ready() for write on S29GL064N - Move and rename chip_check/chip_ready/chip_good_for_write NAND core changes: - Print offset instead of page number for bad blocks Raw NAND controller drivers: - Cadence: Fix possible null-ptr-deref in cadence_nand_dt_probe() - CS553X: simplify the return expression of cs553x_write_ctrl_byte() - Davinci: Remove redundant unsigned comparison to zero - Denali: Use managed device resources - GPMI: - Add large oob bch setting support - Rename the variable ecc_chunk_size - Uninline the gpmi_check_ecc function - Add strict ecc strength check - Refactor BCH geometry settings function - Intel: Fix possible null-ptr-deref in ebu_nand_probe() - MPC5121: Check before clk_disable_unprepare() not needed - Mtk: - MTD_NAND_ECC_MEDIATEK should depend on ARCH_MEDIATEK - Also parse the default nand-ecc-engine property if available - Make mtk_ecc.c a separated module - OMAP ELM: - Convert the bindings to yaml - Describe the bindings for AM64 ELM - Add support for its compatible - Renesas: Use runtime PM instead of the raw clock API and update the bindings accordingly - Rockchip: Check before clk_disable_unprepare() not needed - TMIO: Check return value after calling platform_get_resource() Raw NAND chip driver: - Kioxia: Add support for TH58NVG3S0HBAI4 and TC58NVG0S3HTA00 SPI-NAND chip drivers: - Gigadevice: - Add support for: - GD5FxGM7xExxG - GD5F{2,4}GQ5xExxG - GD5F1GQ5RExxG - GD5FxGQ4xExxG - Fix Quad IO for GD5F1GQ5UExxG - XTX: Add support for XT26G0xA SPI NOR core changes: - Read back written SR value to make sure the write was done correctly. - Introduce a common function for Read ID that manufacturer drivers can use to verify the Octal DTR switch worked correctly. - Add helpers for read/write any register commands so manufacturer drivers don't open code it every time. - Clarify rdsr dummy cycles documentation. - Add debugfs entry to expose internal flash parameters and state. SPI NOR manufacturer drivers changes: - Add support for Winbond W25Q512NW-IM, and Eon EN25QH256A. - Move spi_nor_write_ear() to Winbond module since only Winbond flashes use it. - Rework Micron and Cypress Octal DTR enable methods to improve readability. - Use the common Read ID function to verify switch to Octal DTR mode for Micron and Cypress flashes. - Skip polling status on volatile register writes for Micron and Cypress flashes since the operation is instant" * tag 'mtd/for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (68 commits) mtd: st_spi_fsm: add missing clk_disable_unprepare() in stfsm_remove() dt-bindings: mtd: partitions: Extend fixed-partitions binding dt-bindings: Add Sercomm (Suzhou) Corporation vendor prefix mtd: phram: Allow cached mappings mtd: call of_platform_populate() for MTD partitions mtd: rawnand: renesas: Use runtime PM instead of the raw clock API dt-bindings: mtd: renesas: Fix the NAND controller description mtd: rawnand: mpc5121: Check before clk_disable_unprepare() not needed mtd: rawnand: rockchip: Check before clk_disable_unprepare() not needed mtd: nand: MTD_NAND_ECC_MEDIATEK should depend on ARCH_MEDIATEK mtd: rawnand: cs553x: simplify the return expression of cs553x_write_ctrl_byte() mtd: rawnand: kioxia: Add support for TH58NVG3S0HBAI4 mtd: spi-nor: debugfs: fix format specifier mtd: spi-nor: support eon en25qh256a variant mtd: spi-nor: winbond: add support for W25Q512NW-IM mtd: spi-nor: expose internal parameters via debugfs mtd: spi-nor: export spi_nor_hwcaps_pp2cmd() mtd: spi-nor: move spi_nor_write_ear() to winbond module mtd: spi-nor: amend the rdsr dummy cycles documentation mtd: cfi_cmdset_0002: Rename chip_ready variables ...
2 parents 076f222 + 2c51d0d commit d335371

57 files changed

Lines changed: 1730 additions & 820 deletions

Some content is hidden

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

Documentation/devicetree/bindings/mtd/elm.txt

Lines changed: 0 additions & 16 deletions
This file was deleted.

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ properties:
5050
minItems: 1
5151
maxItems: 2
5252

53-
spi-max-frequency: true
54-
spi-rx-bus-width: true
55-
spi-tx-bus-width: true
56-
5753
m25p,fast-read:
5854
type: boolean
5955
description:
@@ -74,8 +70,6 @@ properties:
7470
be used on such systems, to denote the absence of a reliable reset
7571
mechanism.
7672

77-
label: true
78-
7973
partitions:
8074
type: object
8175

@@ -99,8 +93,6 @@ examples:
9993
#size-cells = <0>;
10094
10195
flash@0 {
102-
#address-cells = <1>;
103-
#size-cells = <1>;
10496
compatible = "spansion,m25p80", "jedec,spi-nor";
10597
reg = <0>;
10698
spi-max-frequency = <40000000>;

Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,36 @@ maintainers:
1919

2020
properties:
2121
compatible:
22-
const: fixed-partitions
22+
oneOf:
23+
- const: fixed-partitions
24+
- items:
25+
- const: sercomm,sc-partitions
26+
- const: fixed-partitions
2327

2428
"#address-cells": true
2529

2630
"#size-cells": true
2731

2832
patternProperties:
2933
"@[0-9a-f]+$":
30-
$ref: "partition.yaml#"
34+
allOf:
35+
- $ref: "partition.yaml#"
36+
- if:
37+
properties:
38+
compatible:
39+
contains:
40+
const: sercomm,sc-partitions
41+
then:
42+
properties:
43+
sercomm,scpart-id:
44+
description: Partition id in Sercomm partition map. Mtd
45+
parser uses this id to find a record in the partition map
46+
containing offset and size of the current partition. The
47+
values from partition map overrides partition offset and
48+
size defined in reg property of the dts. Frequently these
49+
values are the same, but may differ if device has bad
50+
eraseblocks on a flash.
51+
$ref: /schemas/types.yaml#/definitions/uint32
3152

3253
required:
3354
- "#address-cells"
@@ -52,6 +73,7 @@ examples:
5273
reg = <0x0100000 0x200000>;
5374
};
5475
};
76+
5577
- |
5678
partitions {
5779
compatible = "fixed-partitions";
@@ -64,6 +86,7 @@ examples:
6486
reg = <0x00000000 0x1 0x00000000>;
6587
};
6688
};
89+
6790
- |
6891
partitions {
6992
compatible = "fixed-partitions";
@@ -82,6 +105,7 @@ examples:
82105
reg = <0x2 0x00000000 0x1 0x00000000>;
83106
};
84107
};
108+
85109
- |
86110
partitions {
87111
compatible = "fixed-partitions";
@@ -119,3 +143,30 @@ examples:
119143
};
120144
};
121145
};
146+
147+
- |
148+
partitions {
149+
compatible = "sercomm,sc-partitions", "fixed-partitions";
150+
#address-cells = <1>;
151+
#size-cells = <1>;
152+
153+
partition@0 {
154+
label = "u-boot";
155+
reg = <0x0 0x100000>;
156+
sercomm,scpart-id = <0>;
157+
read-only;
158+
};
159+
160+
partition@100000 {
161+
label = "dynamic partition map";
162+
reg = <0x100000 0x100000>;
163+
sercomm,scpart-id = <1>;
164+
};
165+
166+
partition@200000 {
167+
label = "Factory";
168+
reg = <0x200000 0x100000>;
169+
sercomm,scpart-id = <2>;
170+
read-only;
171+
};
172+
};

Documentation/devicetree/bindings/mtd/renesas-nandc.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,15 @@ properties:
3636
- const: hclk
3737
- const: eclk
3838

39+
power-domains:
40+
maxItems: 1
41+
3942
required:
4043
- compatible
4144
- reg
4245
- clocks
4346
- clock-names
47+
- power-domains
4448
- interrupts
4549

4650
unevaluatedProperties: false
@@ -56,6 +60,7 @@ examples:
5660
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
5761
clocks = <&sysctrl R9A06G032_HCLK_NAND>, <&sysctrl R9A06G032_CLK_NAND>;
5862
clock-names = "hclk", "eclk";
63+
power-domains = <&sysctrl>;
5964
#address-cells = <1>;
6065
#size-cells = <0>;
6166
};
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mtd/ti,elm.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Texas Instruments Error Location Module (ELM).
8+
9+
maintainers:
10+
- Roger Quadros <rogerq@kernel.org>
11+
12+
description:
13+
ELM module is used together with GPMC and NAND Flash to detect
14+
errors and the location of the error based on BCH algorithms
15+
so they can be corrected if possible.
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- ti,am3352-elm
21+
- ti,am64-elm
22+
23+
reg:
24+
maxItems: 1
25+
26+
interrupts:
27+
maxItems: 1
28+
29+
clocks:
30+
maxItems: 1
31+
description: Functional clock.
32+
33+
clock-names:
34+
items:
35+
- const: fck
36+
37+
power-domains:
38+
maxItems: 1
39+
40+
ti,hwmods:
41+
description:
42+
Name of the HWMOD associated with ELM. This is for legacy
43+
platforms only.
44+
$ref: /schemas/types.yaml#/definitions/string
45+
deprecated: true
46+
47+
required:
48+
- compatible
49+
- reg
50+
- interrupts
51+
52+
allOf:
53+
- if:
54+
properties:
55+
compatible:
56+
contains:
57+
const: ti,am64-elm
58+
then:
59+
required:
60+
- clocks
61+
- clock-names
62+
- power-domains
63+
64+
additionalProperties: false
65+
66+
examples:
67+
- |
68+
elm: ecc@0 {
69+
compatible = "ti,am3352-elm";
70+
reg = <0x0 0x2000>;
71+
interrupts = <4>;
72+
};
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/reserved-memory/phram.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MTD/block device in RAM
8+
9+
description: |
10+
Specifies that the reserved memory region can be used as an MTD or block
11+
device.
12+
13+
The "phram" node is named after the "MTD in PHysical RAM" driver which
14+
provides an implementation of this functionality in Linux.
15+
16+
maintainers:
17+
- Vincent Whitchurch <vincent.whitchurch@axis.com>
18+
19+
allOf:
20+
- $ref: "reserved-memory.yaml"
21+
- $ref: "/schemas/mtd/mtd.yaml"
22+
23+
properties:
24+
compatible:
25+
const: phram
26+
27+
reg:
28+
description: region of memory that can be used as an MTD/block device
29+
30+
required:
31+
- compatible
32+
- reg
33+
34+
unevaluatedProperties: false
35+
36+
examples:
37+
- |
38+
reserved-memory {
39+
#address-cells = <1>;
40+
#size-cells = <1>;
41+
42+
phram: flash@12340000 {
43+
compatible = "phram";
44+
label = "rootfs";
45+
reg = <0x12340000 0x00800000>;
46+
};
47+
};

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,6 +1082,8 @@ patternProperties:
10821082
description: Sensirion AG
10831083
"^sensortek,.*":
10841084
description: Sensortek Technology Corporation
1085+
"^sercomm,.*":
1086+
description: Sercomm (Suzhou) Corporation
10851087
"^sff,.*":
10861088
description: Small Form Factor Committee
10871089
"^sgd,.*":

0 commit comments

Comments
 (0)