diff --git a/boards/arm/adafruit_feather_stm32f405/adafruit_feather_stm32f405.dts b/boards/arm/adafruit_feather_stm32f405/adafruit_feather_stm32f405.dts index 138e2729df8ba..022c08d9d2b27 100644 --- a/boards/arm/adafruit_feather_stm32f405/adafruit_feather_stm32f405.dts +++ b/boards/arm/adafruit_feather_stm32f405/adafruit_feather_stm32f405.dts @@ -59,7 +59,6 @@ reg = <0>; spi-max-frequency = <80000000>; size = <0x200000>; - has-be32k; has-dpd; t-enter-dpd = <20000>; t-exit-dpd = <100000>; diff --git a/boards/arm/black_f407ve/black_f407ve.dts b/boards/arm/black_f407ve/black_f407ve.dts index 84964de8ff0dc..7d22c7fc16e98 100644 --- a/boards/arm/black_f407ve/black_f407ve.dts +++ b/boards/arm/black_f407ve/black_f407ve.dts @@ -112,7 +112,6 @@ t-enter-dpd = <4000>; t-exit-dpd = <25000>; jedec-id = [ef 40 15]; - has-be32k; }; }; diff --git a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts index 78081106b6cdd..e67ff808ec3f8 100644 --- a/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts +++ b/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_common.dts @@ -143,7 +143,6 @@ t-enter-dpd = <4000>; t-exit-dpd = <25000>; jedec-id = [ef 40 15]; - has-be32k; }; }; diff --git a/boards/arm/efr32_radio/efr32_radio.dtsi b/boards/arm/efr32_radio/efr32_radio.dtsi index 39779c9e3e1c7..6ae0ac4056a66 100644 --- a/boards/arm/efr32_radio/efr32_radio.dtsi +++ b/boards/arm/efr32_radio/efr32_radio.dtsi @@ -77,7 +77,6 @@ reg = <0>; spi-max-frequency = <33000000>; size = <0x800000>; - has-be32k; jedec-id = [c2 28 14]; }; }; diff --git a/boards/arm/frdm_k82f/frdm_k82f.dts b/boards/arm/frdm_k82f/frdm_k82f.dts index e556908104fce..b6e8cef88ab50 100644 --- a/boards/arm/frdm_k82f/frdm_k82f.dts +++ b/boards/arm/frdm_k82f/frdm_k82f.dts @@ -198,7 +198,6 @@ wp-gpios = <&gpioe 3 0>; reset-gpios = <&gpioe 0 0>; size = <0x2000000>; - has-be32k; jedec-id = [c2 25 36]; }; }; diff --git a/boards/arm/pinnacle_100_dvk/pinnacle_100_dvk.dts b/boards/arm/pinnacle_100_dvk/pinnacle_100_dvk.dts index b3f9b45fbcf2d..1a596279e30da 100644 --- a/boards/arm/pinnacle_100_dvk/pinnacle_100_dvk.dts +++ b/boards/arm/pinnacle_100_dvk/pinnacle_100_dvk.dts @@ -169,7 +169,6 @@ label = "MX25R64"; jedec-id = [c2 28 17]; size = <67108864>; - has-be32k; has-dpd; t-enter-dpd = <10000>; t-exit-dpd = <35000>; diff --git a/boards/riscv/rv32m1_vega/rv32m1_vega.dtsi b/boards/riscv/rv32m1_vega/rv32m1_vega.dtsi index 5811ebff0839d..0a5ef324c8028 100644 --- a/boards/riscv/rv32m1_vega/rv32m1_vega.dtsi +++ b/boards/riscv/rv32m1_vega/rv32m1_vega.dtsi @@ -145,7 +145,6 @@ arduino_spi: &lpspi0 { label = "MX25R32"; jedec-id = [c2 28 16]; size = <33554432>; - has-be32k; }; }; diff --git a/dts/bindings/mtd/jedec,jesd216.yaml b/dts/bindings/mtd/jedec,jesd216.yaml new file mode 100644 index 0000000000000..c25c75ba43fe3 --- /dev/null +++ b/dts/bindings/mtd/jedec,jesd216.yaml @@ -0,0 +1,45 @@ +# Copyright (c) 2018 Peter Bigot Consulting, LLC +# Copyright (c) 2019-2020 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +# Common properties used by nodes describing serial flash devices that +# are compatible with the JESD216 Serial Flash Discoverable Parameters +# specification. +# +# This allows encoding the entire BFP block in devicetree to avoid +# reading at runtime, while still allowing the driver to pull out extra +# data of interest, such as erase sizes. +# +# Alternatively the BFP block can be absent, but critical fields like +# size can be provided directly along with the JEDEC ID of the expected +# device to verify its presence at runtime. +# +# Only properties supported by parameter tables documented in the +# JESD216 standards should be listed in this binding include file. + +properties: + jedec-id: + type: uint8-array + required: false + description: JEDEC ID as manufacturer ID, memory type, memory density + + size: + type: int + required: false + description: flash capacity in bits + + 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 retrieval of SFDP data + is not desired. + + has-be32k: + type: boolean + required: false + deprecated: true + description: Not used after Zephyr 2.3.0 diff --git a/dts/bindings/mtd/jedec,spi-nor-common.yaml b/dts/bindings/mtd/jedec,spi-nor-common.yaml index 432827b9a35cc..882fefa303fac 100644 --- a/dts/bindings/mtd/jedec,spi-nor-common.yaml +++ b/dts/bindings/mtd/jedec,spi-nor-common.yaml @@ -3,28 +3,17 @@ # SPDX-License-Identifier: Apache-2.0 # Common properties used by nodes describing M25P80-compatible SPI NOR -# serial flash devices. +# serial flash devices, regardless of which Zephyr driver is being used. +# +# This extends JESD216-defined features with additional functionality +# that may be specific to the vendor of a M25P80-compatible device and +# only supported in certain drivers. Any information that can be +# obtained from standardized SFDP parameter blocks should be in +# jedec,jesd216.yaml instead. -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 +include: "jedec,jesd216.yaml" +properties: requires-ulbpr: type: boolean required: false @@ -89,8 +78,3 @@ properties: 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 diff --git a/samples/drivers/jesd216/boards/nrf52840dk_nrf52840.overlay b/samples/drivers/jesd216/boards/nrf52840dk_nrf52840.overlay index ede9850a2b93c..329e88ec8d6ab 100644 --- a/samples/drivers/jesd216/boards/nrf52840dk_nrf52840.overlay +++ b/samples/drivers/jesd216/boards/nrf52840dk_nrf52840.overlay @@ -29,7 +29,6 @@ ]; size = <67108864>; - has-be32k; has-dpd; t-enter-dpd = <10000>; dpd-wakeup-sequence = <30000 20 45000>; diff --git a/tests/drivers/build_all/spi.dtsi b/tests/drivers/build_all/spi.dtsi index 1f650ab3281af..3c8d4d984363d 100644 --- a/tests/drivers/build_all/spi.dtsi +++ b/tests/drivers/build_all/spi.dtsi @@ -138,7 +138,6 @@ test_spi_spi_nor: spi-nor@d { hold-gpios = <&test_gpio 0 0>; reset-gpios = <&test_gpio 0 0>; jedec-id = []; - /* has-be32k; */ /* requires-ulbpr; */ /* has-dpd; */ size = <0>;