95 lines
2.8 KiB
YAML
95 lines
2.8 KiB
YAML
# Copyright (c) 2024, Ambiq Micro Inc. <www.ambiq.com>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Common fields for MSPI controllers
|
|
|
|
include: base.yaml
|
|
|
|
bus: mspi
|
|
|
|
properties:
|
|
clock-frequency:
|
|
type: int
|
|
description: |
|
|
Clock frequency the MSPI peripheral is being driven at, in Hz.
|
|
"#address-cells":
|
|
required: true
|
|
const: 1
|
|
"#size-cells":
|
|
required: true
|
|
const: 0
|
|
|
|
op-mode:
|
|
type: string
|
|
enum:
|
|
- "MSPI_CONTROLLER"
|
|
- "MSPI_PERIPHERAL"
|
|
description: |
|
|
Indicate MSPI controller or peripheral mode of the controller.
|
|
The controller driver may use this during initialization.
|
|
|
|
duplex:
|
|
type: string
|
|
enum:
|
|
- "MSPI_HALF_DUPLEX"
|
|
- "MSPI_FULL_DUPLEX"
|
|
description: |
|
|
Indicate MSPI Duplex mode, full or half.
|
|
The controller driver may check this setting against its
|
|
capabilities.
|
|
|
|
dqs-support:
|
|
type: boolean
|
|
description: |
|
|
Indicate whether the hardware supports DQS.
|
|
The controller driver may check this setting against its
|
|
capabilities.
|
|
|
|
software-multiperipheral:
|
|
type: boolean
|
|
description: |
|
|
Indicate whether the controller driver enables support for
|
|
software managed multi peripheral feature.
|
|
At the minimum, the controller driver should use it to allow
|
|
or disallow calling mspi_dev_config with MSPI_DEVICE_CONFIG_NONE.
|
|
|
|
ce-gpios:
|
|
type: phandle-array
|
|
description: |
|
|
An array of chip select GPIOs to use. Each element
|
|
in the array specifies a GPIO. The index in the array
|
|
corresponds to the child node that the CE gpio controls.
|
|
|
|
Example:
|
|
|
|
mspi@... {
|
|
ce-gpios = <&gpio0 23 GPIO_ACTIVE_LOW>,
|
|
<&gpio1 10 GPIO_ACTIVE_LOW>,
|
|
...;
|
|
|
|
mspi-device@0 {
|
|
reg = <0>;
|
|
...
|
|
};
|
|
mspi-device@1 {
|
|
reg = <1>;
|
|
...
|
|
};
|
|
...
|
|
};
|
|
|
|
The child node "mspi-device@0" specifies a mspi device with
|
|
chip select controller gpio0, pin 23, and devicetree
|
|
GPIO flags GPIO_ACTIVE_LOW. Similarly, "mspi-device@1" has CE GPIO
|
|
controller gpio1, pin 10, and flags GPIO_ACTIVE_LOW. Additional
|
|
devices can be configured in the same way.
|
|
|
|
If unsure about the flags cell, GPIO_ACTIVE_LOW is generally a safe
|
|
choice for a typical "CEn" pin. GPIO_ACTIVE_HIGH may be used if
|
|
intervening hardware inverts the signal to the peripheral device or
|
|
the line itself is active high.
|
|
|
|
Regardless of whether the CE pin may need software control or MSPI
|
|
controller has dedicated CE pin, this field should be defined to
|
|
help manage multiple devices on the same MSPI controller.
|