mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
Convert the SPI-NOR binding to DT schema format. Like other memory chips, the compatible strings are a mess with vendor prefixes not being used consistently and some compatibles not documented. The resulting schema passes on 'compatible' checks for most in tree users with the exception of some oddballs. I dropped the 'm25p.*-nonjedec' compatible strings as these don't appear to be used anywhere. Cc: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Richard Weinberger <richard@nod.at> Cc: Vignesh Raghavendra <vigneshr@ti.com> Cc: linux-mtd@lists.infradead.org Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20210202175340.3902494-1-robh@kernel.org
103 lines
3.1 KiB
YAML
103 lines
3.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mtd/jedec,spi-nor.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: SPI NOR flash ST M25Pxx (and similar) serial flash chips
|
|
|
|
maintainers:
|
|
- Rob Herring <robh@kernel.org>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- pattern: "^((((micron|spansion|st),)?\
|
|
(m25p(40|80|16|32|64|128)|\
|
|
n25q(32b|064|128a11|128a13|256a|512a|164k)))|\
|
|
atmel,at25df(321a|641|081a)|\
|
|
everspin,mr25h(10|40|128|256)|\
|
|
(mxicy|macronix),mx25l(4005a|1606e|6405d|8005|12805d|25635e)|\
|
|
(mxicy|macronix),mx25u(4033|4035)|\
|
|
(spansion,)?s25fl(128s|256s1|512s|008k|064k|164k)|\
|
|
(sst|microchip),sst25vf(016b|032b|040b)|\
|
|
(sst,)?sst26wf016b|\
|
|
(sst,)?sst25wf(040b|080)|\
|
|
winbond,w25x(80|32)|\
|
|
(winbond,)?w25q(16|32(w|dw)?|64(dw)?|80bl|128(fw)?|256))$"
|
|
- const: jedec,spi-nor
|
|
- items:
|
|
- enum:
|
|
- issi,is25lp016d
|
|
- micron,mt25qu02g
|
|
- mxicy,mx25r1635f
|
|
- mxicy,mx25u6435f
|
|
- mxicy,mx25v8035f
|
|
- spansion,s25sl12801
|
|
- spansion,s25fs512s
|
|
- const: jedec,spi-nor
|
|
- const: jedec,spi-nor
|
|
description:
|
|
Must also include "jedec,spi-nor" for any SPI NOR flash that can be
|
|
identified by the JEDEC READ ID opcode (0x9F).
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
spi-max-frequency: true
|
|
spi-rx-bus-width: true
|
|
spi-tx-bus-width: true
|
|
|
|
m25p,fast-read:
|
|
type: boolean
|
|
description:
|
|
Use the "fast read" opcode to read data from the chip instead of the usual
|
|
"read" opcode. This opcode is not supported by all chips and support for
|
|
it can not be detected at runtime. Refer to your chips' datasheet to check
|
|
if this is supported by your chip.
|
|
|
|
broken-flash-reset:
|
|
type: boolean
|
|
description:
|
|
Some flash devices utilize stateful addressing modes (e.g., for 32-bit
|
|
addressing) which need to be managed carefully by a system. Because these
|
|
sorts of flash don't have a standardized software reset command, and
|
|
because some systems don't toggle the flash RESET# pin upon system reset
|
|
(if the pin even exists at all), there are systems which cannot reboot
|
|
properly if the flash is left in the "wrong" state. This boolean flag can
|
|
be used on such systems, to denote the absence of a reliable reset
|
|
mechanism.
|
|
|
|
label: true
|
|
|
|
partitions:
|
|
type: object
|
|
|
|
'#address-cells': true
|
|
'#size-cells': true
|
|
|
|
patternProperties:
|
|
# Note: use 'partitions' node for new users
|
|
'^partition@':
|
|
type: object
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
spi {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "spansion,m25p80", "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <40000000>;
|
|
m25p,fast-read;
|
|
};
|
|
};
|
|
...
|