xref: /freebsd/sys/contrib/device-tree/Bindings/spi/ingenic,spi.yaml (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/spi/ingenic,spi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ingenic SoCs SPI controller devicetree bindings
8
9maintainers:
10  - Artur Rojek <contact@artur-rojek.eu>
11  - Paul Cercueil <paul@crapouillou.net>
12
13allOf:
14  - $ref: /schemas/spi/spi-controller.yaml#
15
16properties:
17  compatible:
18    oneOf:
19      - enum:
20          - ingenic,jz4750-spi
21          - ingenic,jz4780-spi
22      - items:
23          - enum:
24              - ingenic,jz4760-spi
25              - ingenic,jz4770-spi
26          - const: ingenic,jz4750-spi
27
28  reg:
29    maxItems: 1
30
31  interrupts:
32    maxItems: 1
33
34  clocks:
35    maxItems: 1
36
37  dmas:
38    maxItems: 2
39    minItems: 2
40
41  dma-names:
42    items:
43      - const: rx
44      - const: tx
45
46required:
47  - compatible
48  - reg
49  - interrupts
50  - clocks
51  - dmas
52  - dma-names
53
54unevaluatedProperties: false
55
56examples:
57  - |
58    #include <dt-bindings/clock/ingenic,jz4770-cgu.h>
59    spi@10043000 {
60      compatible = "ingenic,jz4770-spi", "ingenic,jz4750-spi";
61      reg = <0x10043000 0x1c>;
62      #address-cells = <1>;
63      #size-cells = <0>;
64
65      interrupt-parent = <&intc>;
66      interrupts = <8>;
67
68      clocks = <&cgu JZ4770_CLK_SSI0>;
69
70      dmas = <&dmac1 23 0xffffffff>, <&dmac1 22 0xffffffff>;
71      dma-names = "rx", "tx";
72    };
73