zephyr/dts/bindings/spi/spi-device.yaml

61 lines
1.9 KiB
YAML

# Copyright (c) 2018, I-SENSE group of ICCS
# SPDX-License-Identifier: Apache-2.0
# Common fields for SPI devices
include: [base.yaml, power.yaml]
on-bus: spi
properties:
reg:
required: true
spi-max-frequency:
type: int
required: true
description: Maximum clock frequency of device's SPI interface in Hz
duplex:
type: int
default: 0
description: |
Duplex mode, full or half. By default it's always full duplex thus 0
as this is, by far, the most common mode.
Use the macros not the actual enum value, here is the concordance
list (see dt-bindings/spi/spi.h)
0 SPI_FULL_DUPLEX
2048 SPI_HALF_DUPLEX
enum:
- 0
- 2048
frame-format:
type: int
default: 0
description: |
Motorola or TI frame format. By default it's always Motorola's,
thus 0 as this is, by far, the most common format.
Use the macros not the actual enum value, here is the concordance
list (see dt-bindings/spi/spi.h)
0 SPI_FRAME_FORMAT_MOTOROLA
32768 SPI_FRAME_FORMAT_TI
enum:
- 0
- 32768
spi-cpol:
type: boolean
description: |
SPI clock polarity which indicates the clock idle state.
If it is used, the clock idle state is logic high; otherwise, low.
spi-cpha:
type: boolean
description: |
SPI clock phase that indicates on which edge data is sampled.
If it is used, data is sampled on the second edge; otherwise, on the first edge.
spi-hold-cs:
type: boolean
description: |
In some cases, it is necessary for the master to manage SPI chip select
under software control, so that multiple spi transactions can be performed
without releasing it. A typical use case is variable length SPI packets
where the first spi transaction reads the length and the second spi transaction
reads length bytes.