1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/spi/spi-peripheral-props.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Peripheral-specific properties for a SPI bus.
8
9description:
10  Many SPI controllers need to add properties to peripheral devices. They could
11  be common properties like spi-max-frequency, spi-cpha, etc. or they could be
12  controller specific like delay in clock or data lines, etc. These properties
13  need to be defined in the peripheral node because they are per-peripheral and
14  there can be multiple peripherals attached to a controller. All those
15  properties are listed here. The controller specific properties should go in
16  their own separate schema that should be referenced from here.
17
18maintainers:
19  - Pratyush Yadav <p.yadav@ti.com>
20
21properties:
22  reg:
23    minItems: 1
24    maxItems: 256
25    items:
26      items:
27        - minimum: 0
28          maximum: 256
29    description:
30      Chip select used by the device.
31
32  spi-3wire:
33    $ref: /schemas/types.yaml#/definitions/flag
34    description:
35      The device requires 3-wire mode.
36
37  spi-cpha:
38    $ref: /schemas/types.yaml#/definitions/flag
39    description:
40      The device requires shifted clock phase (CPHA) mode.
41
42  spi-cpol:
43    $ref: /schemas/types.yaml#/definitions/flag
44    description:
45      The device requires inverse clock polarity (CPOL) mode.
46
47  spi-cs-high:
48    $ref: /schemas/types.yaml#/definitions/flag
49    description:
50      The device requires the chip select active high.
51
52  spi-lsb-first:
53    $ref: /schemas/types.yaml#/definitions/flag
54    description:
55      The device requires the LSB first mode.
56
57  spi-max-frequency:
58    $ref: /schemas/types.yaml#/definitions/uint32
59    description:
60      Maximum SPI clocking speed of the device in Hz.
61
62  spi-rx-bus-width:
63    description:
64      Bus width to the SPI bus used for read transfers.
65      If 0 is provided, then no RX will be possible on this device.
66    $ref: /schemas/types.yaml#/definitions/uint32
67    enum: [0, 1, 2, 4, 8]
68    default: 1
69
70  spi-rx-delay-us:
71    description:
72      Delay, in microseconds, after a read transfer.
73
74  spi-tx-bus-width:
75    description:
76      Bus width to the SPI bus used for write transfers.
77      If 0 is provided, then no TX will be possible on this device.
78    $ref: /schemas/types.yaml#/definitions/uint32
79    enum: [0, 1, 2, 4, 8]
80    default: 1
81
82  spi-tx-delay-us:
83    description:
84      Delay, in microseconds, after a write transfer.
85
86# The controller specific properties go here.
87allOf:
88  - $ref: cdns,qspi-nor-peripheral-props.yaml#
89
90additionalProperties: true
91