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      minimum: 0
27      maximum: 256
28    description:
29      Chip select used by the device.
30
31  spi-3wire:
32    $ref: /schemas/types.yaml#/definitions/flag
33    description:
34      The device requires 3-wire mode.
35
36  spi-cpha:
37    $ref: /schemas/types.yaml#/definitions/flag
38    description:
39      The device requires shifted clock phase (CPHA) mode.
40
41  spi-cpol:
42    $ref: /schemas/types.yaml#/definitions/flag
43    description:
44      The device requires inverse clock polarity (CPOL) mode.
45
46  spi-cs-high:
47    $ref: /schemas/types.yaml#/definitions/flag
48    description:
49      The device requires the chip select active high.
50
51  spi-lsb-first:
52    $ref: /schemas/types.yaml#/definitions/flag
53    description:
54      The device requires the LSB first mode.
55
56  spi-max-frequency:
57    $ref: /schemas/types.yaml#/definitions/uint32
58    description:
59      Maximum SPI clocking speed of the device in Hz.
60
61  spi-rx-bus-width:
62    description:
63      Bus width to the SPI bus used for read transfers.
64      If 0 is provided, then no RX will be possible on this device.
65    $ref: /schemas/types.yaml#/definitions/uint32
66    enum: [0, 1, 2, 4, 8]
67    default: 1
68
69  spi-rx-delay-us:
70    description:
71      Delay, in microseconds, after a read transfer.
72
73  spi-tx-bus-width:
74    description:
75      Bus width to the SPI bus used for write transfers.
76      If 0 is provided, then no TX will be possible on this device.
77    $ref: /schemas/types.yaml#/definitions/uint32
78    enum: [0, 1, 2, 4, 8]
79    default: 1
80
81  spi-tx-delay-us:
82    description:
83      Delay, in microseconds, after a write transfer.
84
85# The controller specific properties go here.
86allOf:
87  - $ref: cdns,qspi-nor-peripheral-props.yaml#
88
89additionalProperties: true
90