mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-05 03:25:22 +00:00
Use the new SFDP infrastructure to read the supported erase type sizes and commands from the Basic Flash Parameters block. This removes the need for explicit reference to most block sizes from this driver. We're also seeing devices where the page size is not 256 bytes. Accommodate them. Signed-off-by: Peter A. Bigot <pab@pabigot.com>
97 lines
3.2 KiB
YAML
97 lines
3.2 KiB
YAML
# Copyright (c) 2018 Peter Bigot Consulting, LLC
|
|
# Copyright (c) 2019 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Common properties used by nodes describing M25P80-compatible SPI NOR
|
|
# serial flash devices.
|
|
|
|
properties:
|
|
jedec-id:
|
|
type: uint8-array
|
|
required: false
|
|
description: JEDEC ID as manufacturer ID, memory type, memory density
|
|
|
|
sfdp-bfp:
|
|
type: uint8-array
|
|
required: false
|
|
description: |
|
|
Contains the 32-bit words in little-endian byte order from the
|
|
JESD216 Serial Flash Discoverable Parameters Basic Flash
|
|
Parameters table. This provides flash-specific configuration
|
|
information in cases were runtime configuration is not desired.
|
|
|
|
has-be32k:
|
|
type: boolean
|
|
required: false
|
|
description: Not used after Zephyr 2.3.0
|
|
|
|
requires-ulbpr:
|
|
type: boolean
|
|
required: false
|
|
description: |
|
|
Indicates the device requires the ULBPR (0x98) command.
|
|
|
|
Some flash chips such as the Microchip SST26VF series have a block
|
|
protection register that initializes to write-protected. Use this
|
|
property to indicate that the BPR must be unlocked before write
|
|
operations can proceed.
|
|
|
|
has-dpd:
|
|
type: boolean
|
|
required: false
|
|
description: |
|
|
Indicates the device supports the DPD (0xB9) command.
|
|
|
|
Use this property to indicate the flash chip supports the Deep
|
|
Power-Down mode that is entered by command 0xB9 to reduce power
|
|
consumption below normal standby levels. Use of this property
|
|
implies that the RDPD (0xAB) Release from Deep Power Down command
|
|
is also supported. (On some chips this command functions as Read
|
|
Electronic Signature; see t-enter-dpd).
|
|
|
|
dpd-wakeup-sequence:
|
|
type: array
|
|
required: false
|
|
description: |
|
|
Specifies wakeup durations for devices without RDPD.
|
|
|
|
Some devices (Macronix MX25R in particular) wake from deep power
|
|
down by a timed sequence of CSn toggles rather than the RDPD
|
|
command. This property specifies three durations measured in
|
|
nanoseconds, in this order:
|
|
(1) tDPDD (Delay Time for Release from Deep Power-Down Mode)
|
|
(2) tCDRP (CSn Toggling Time before Release from Deep Power-Down Mode)
|
|
(3) tRDP (Recovery Time for Release from Deep Power-Down Mode)
|
|
|
|
Absence of this property indicates that the RDPD command should be
|
|
used to wake the chip from Deep Power-Down mode.
|
|
|
|
t-enter-dpd:
|
|
type: int
|
|
required: false
|
|
description: |
|
|
Duration required to complete the DPD command.
|
|
|
|
This provides the duration, in nanoseconds, that CSn must be
|
|
remain deasserted after issuing DPD before the chip will enter
|
|
deep power down.
|
|
|
|
If not provided the driver does not enforce a delay.
|
|
|
|
t-exit-dpd:
|
|
type: int
|
|
required: false
|
|
description: |
|
|
Duration required to complete the RDPD command.
|
|
|
|
This provides the duration, in nanoseconds, that CSn must be
|
|
remain deasserted after issuing RDPD before the chip will exit
|
|
deep power down and be ready to receive additional commands.
|
|
|
|
If not provided the driver does not enforce a delay.
|
|
|
|
size:
|
|
type: int
|
|
required: false
|
|
description: flash capacity in bits
|