zephyr/dts/bindings/memory-controllers/renesas,smartbond-nor-psram...

261 lines
7.6 KiB
YAML

# Copyright (c) 2023 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0
description: Renesas Smartbond(tm) NOR/PSRAM controller
include: base.yaml
compatible: "renesas,smartbond-nor-psram"
properties:
reg:
required: true
is-ram:
type: boolean
description: |
If present, the memory controller will be configured to drive PSRAM devices.
dev-size:
type: int
required: true
description: |
Memory size/capacity in bits.
dev-type:
type: int
required: true
description: |
Device type, part of device ID, used to verify the memory device used.
dev-density:
type: int
required: true
description: |
Device density, part of device ID, used to verify the memory device used.
[7:0] should reflect the density value itself and [15:8] should reflect
the mask that should be applied to the returned device ID value.
This is because part of its byte value might contain invalid bits.
dev-id:
type: int
required: true
description: |
Manufacturer ID, part of device ID, used to verify the memory device used.
reset-delay-us:
type: int
required: true
description: |
Time in microseconds (us) the memory device can accept the next command following a SW reset.
read-cs-idle-min-ns:
type: int
required: true
description: |
Min. time, in nanoseconds, the #CS line should remain inactive between
the transmission of two different instructions.
erase-cs-idle-min-ns:
type: int
description: |
Min. time, in nanoseconds, the #CS line should remain inactive after the execution
of a write enable, erase, erase suspend or erase resume instruction. This setting
is not used if is-ram property is present.
enter-qpi-cmd:
type: int
description: |
Command to enter the QPI mode supported by a memory device
(should be transmitted in single bus mode).
exit-qpi-cmd:
type: int
description: |
Command to exit the QPI mode supported by a memory device
(should be transmitted in quad bus mode).
enter-qpi-mode:
type: boolean
description: |
If present, the memory device will enter the QPI mode which typically reflects that
all bytes be sent in quad bus mode. It's a pre-requisite that read and write
commands, that should be read-cmd and write-cmd respectively, reflect the QPI mode.
read-cmd:
type: int
default: 0x03
description: |
Read command for single/burst read accesses in auto mode. Default value is the opcode
for single mode which is supported by all memory devices.
write-cmd:
type: int
default: 0x02
description: |
Write command for single/burst write accesses in auto mode. Default value is the opcode
for single mode which is supported by all memory devices.
clock-mode:
type: string
enum:
- "spi-mode0"
- "spi-mode3"
default: "spi-mode0"
description: |
Clock mode when #CS is idle/inactive
- Mode0: #CLK is low when #CS is inactive
- Mode3: #CLK is high when #CS is inactive
Mode0 is selected by default as it should be supported by all memory devices.
addr-range:
type: string
enum:
- "addr-range-24bit"
- "addr-range-32bit"
default: "addr-range-24bit"
description: |
Address size to use in auto mode. In 24-bit mode up to 16MB can be
accessed whilst in 32-bit mode up to 32MB can be accessed which is
the max. address space supported by QSPICx. Default value is 24-bit
mode which is supported by all memory devices.
clock-div:
type: int
description: |
Clock divider for QSPIC2 controller. The clock path of
this block is always DIV1 which reflects the current
system clock.
tcem-max-us:
type: int
description: |
If a non zero value is applied, then Tcem should be taken into
consideration by QSPIC2 so that it can split a burst read/write
access in case the total time exceeds the defined value
(at the cost of extra cycles required for re-sending the instruction,
address and dummy bytes, if any). This setting is meaningful only if
is-ram is present. This value reflects the max. time in microseconds
the #CS line can be driven low in a write/read burst access
(required for the auto-refresh mechanism, when supported).
dummy-bytes-count:
type: string
required: true
enum:
- "dummy-bytes-count0"
- "dummy-bytes-count1"
- "dummy-bytes-count2"
- "dummy-bytes-count4"
description: |
Number of dummy bytes to send for single/burst read access in auto mode.
extra-byte-enable:
type: boolean
description: |
If present, the extra byte will be sent after the dummy bytes, if any.
This should be useful if 3 dummy bytes are required. In such a case,
dummy-bytes-count should be set to 2.
extra-byte:
type: int
description: |
Extra byte to be sent, if extra-byte-enable is present.
rx-addr-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
default: "single-spi"
description: |
Describes the mode of SPI bus during the address phase for single/burst
read accesses in auto mode. Default value is single mode which should be
supported by all memory devices.
rx-inst-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
default: "single-spi"
description: |
Describes the mode of SPI bus during the instruction phase for single/burst
read accesses in auto mode. Default value is single mode which should be
supported by all memory devices.
rx-data-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
default: "single-spi"
description: |
Describes the mode of SPI bus during the data phase for single/burst
read accesses in auto mode. Default value is single mode which should
be supported by all memory devices.
rx-dummy-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
default: "single-spi"
description: |
Describes the mode of SPI bus during the dummy bytes phase for single/burst
read accesses in auto mode. The single mode should be supported by all
memory devices.
rx-extra-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
description: |
Describes the mode of SPI bus during the extra byte phase for single/burst
read accesses in auto mode. Default value is single mode which should be
supported by all memory devices.
tx-addr-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
default: "single-spi"
description: |
Describes the mode of SPI bus during the address phase for single/burst
write accesses in auto mode. Default value is single mode which should
be supported by all memory devices.
tx-inst-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
default: "single-spi"
description: |
Describes the mode of SPI bus during the instruction phase for single/burst
write accesses in auto mode. The single mode should be supported by all
memory devices.
tx-data-mode:
type: string
enum:
- "single-spi"
- "dual-spi"
- "quad-spi"
default: "single-spi"
description: |
Describes the mode of SPI bus during the data phase for single/burst
write accesses in auto mode. Default value is single mode which should
be supported by all memory devices.