# 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.