1# Copyright (c) 2018 Peter Bigot Consulting, LLC
2# Copyright (c) 2019-2020 Nordic Semiconductor ASA
3# SPDX-License-Identifier: Apache-2.0
4
5# Common properties used by nodes describing serial flash devices that
6# are compatible with the JESD216 Serial Flash Discoverable Parameters
7# specification.
8#
9# This allows encoding the entire BFP block in devicetree to avoid
10# reading at runtime, while still allowing the driver to pull out extra
11# data of interest, such as erase sizes.
12#
13# Alternatively the BFP block can be absent, but critical fields like
14# size can be provided directly along with the JEDEC ID of the expected
15# device to verify its presence at runtime.
16#
17# Only properties supported by parameter tables documented in the
18# JESD216 standards should be listed in this binding include file.
19
20properties:
21  jedec-id:
22    type: uint8-array
23    description: JEDEC ID as manufacturer ID, memory type, memory density
24
25  size:
26    type: int
27    description: flash capacity in bits
28
29  sfdp-bfp:
30    type: uint8-array
31    description: |
32      Contains the 32-bit words in little-endian byte order from the
33      JESD216 Serial Flash Discoverable Parameters Basic Flash
34      Parameters table.  This provides flash-specific configuration
35      information in cases were runtime retrieval of SFDP data
36      is not desired.
37
38  quad-enable-requirements:
39    type: string
40    enum:
41      - "NONE"
42      - "S2B1v1"
43      - "S1B6"
44      - "S2B7"
45      - "S2B1v4"
46      - "S2B1v5"
47      - "S2B1v6"
48    description: |
49      Quad Enable Requirements value from JESD216 BFP DW15.
50
51      Use NONE if the device detects 1-1-4 and 1-4-4 modes by the
52      instruction.  Use S1B6 if QE is bit 6 of the first status register
53      byte, and can be configured by reading then writing one byte with
54      RDSR and WRSR.  For other fields see the specification.
55
56  enter-4byte-addr:
57    type: int
58    description: |
59      Enter 4-Byte Addressing value from JESD216 BFP DW16
60
61      This property is ignored if the device is configured to use SFDP data
62      from the sfdp-bfp property (CONFIG_SPI_NOR_SFDP_DEVICETREE) or to read
63      SFDP properties at runtime (CONFIG_SPI_NOR_SFDP_RUNTIME).
64
65      For CONFIG_SPI_NOR_SFDP_MINIMAL this is the 8-bit value from bits 31:24
66      of DW16 identifying ways a device can be placed into 4-byte addressing
67      mode.  If provided as a non-zero value the driver assumes that 4-byte
68      addressing is require to access the full address range, and
69      automatically puts the device into 4-byte address mode when the device
70      is initialized.
71
72  page-size:
73    type: int
74    description: |
75      Number of bytes in a page from JESD216 BFP DW11
76
77      This property is only used in the CONFIG_SPI_NOR_SFDP_MINIMAL configuration.
78      It is ignored if the device is configured to use SFDP data
79      from the sfdp-bfp property (CONFIG_SPI_NOR_SFDP_DEVICETREE) or
80      if the SFDP parameters are read from the device at
81      runtime (CONFIG_SPI_NOR_SFDP_RUNTIME).
82
83      The default value is 256 bytes if the value is not specified.
84