Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mtd/jedec,spi-nor.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: SPI NOR flash ST M25Pxx (and similar) serial flash chips
0008 
0009 maintainers:
0010   - Rob Herring <robh@kernel.org>
0011 
0012 allOf:
0013   - $ref: "mtd.yaml#"
0014   - $ref: /schemas/spi/spi-peripheral-props.yaml#
0015 
0016 properties:
0017   compatible:
0018     oneOf:
0019       - items:
0020           - pattern: "^((((micron|spansion|st),)?\
0021               (m25p(40|80|16|32|64|128)|\
0022               n25q(32b|064|128a11|128a13|256a|512a|164k)))|\
0023               atmel,at25df(321a|641|081a)|\
0024               everspin,mr25h(10|40|128|256)|\
0025               (mxicy|macronix),mx25l(4005a|1606e|6405d|8005|12805d|25635e)|\
0026               (mxicy|macronix),mx25u(4033|4035)|\
0027               (spansion,)?s25fl(128s|256s1|512s|008k|064k|164k)|\
0028               (sst|microchip),sst25vf(016b|032b|040b)|\
0029               (sst,)?sst26wf016b|\
0030               (sst,)?sst25wf(040b|080)|\
0031               winbond,w25x(80|32)|\
0032               (winbond,)?w25q(16|32(w|dw)?|64(dw)?|80bl|128(fw)?|256))$"
0033           - const: jedec,spi-nor
0034       - items:
0035           - enum:
0036               - issi,is25lp016d
0037               - micron,mt25qu02g
0038               - mxicy,mx25r1635f
0039               - mxicy,mx25u6435f
0040               - mxicy,mx25v8035f
0041               - spansion,s25sl12801
0042               - spansion,s25fs512s
0043           - const: jedec,spi-nor
0044       - const: jedec,spi-nor
0045     description:
0046       Must also include "jedec,spi-nor" for any SPI NOR flash that can be
0047       identified by the JEDEC READ ID opcode (0x9F).
0048 
0049   reg:
0050     minItems: 1
0051     maxItems: 2
0052 
0053   m25p,fast-read:
0054     type: boolean
0055     description:
0056       Use the "fast read" opcode to read data from the chip instead of the usual
0057       "read" opcode. This opcode is not supported by all chips and support for
0058       it can not be detected at runtime. Refer to your chips' datasheet to check
0059       if this is supported by your chip.
0060 
0061   broken-flash-reset:
0062     type: boolean
0063     description:
0064       Some flash devices utilize stateful addressing modes (e.g., for 32-bit
0065       addressing) which need to be managed carefully by a system. Because these
0066       sorts of flash don't have a standardized software reset command, and
0067       because some systems don't toggle the flash RESET# pin upon system reset
0068       (if the pin even exists at all), there are systems which cannot reboot
0069       properly if the flash is left in the "wrong" state. This boolean flag can
0070       be used on such systems, to denote the absence of a reliable reset
0071       mechanism.
0072 
0073   partitions:
0074     type: object
0075 
0076   '#address-cells': true
0077   '#size-cells': true
0078 
0079 patternProperties:
0080   # Note: use 'partitions' node for new users
0081   '^partition@':
0082     type: object
0083 
0084   "^otp(-[0-9]+)?$":
0085     type: object
0086 
0087 unevaluatedProperties: false
0088 
0089 examples:
0090   - |
0091     spi {
0092         #address-cells = <1>;
0093         #size-cells = <0>;
0094 
0095         flash@0 {
0096             compatible = "spansion,m25p80", "jedec,spi-nor";
0097             reg = <0>;
0098             spi-max-frequency = <40000000>;
0099             m25p,fast-read;
0100         };
0101     };
0102 ...