xref: /freebsd/sys/contrib/device-tree/Bindings/spi/ingenic,spi.yaml (revision f81cdf24ba5436367377f7c8e8f51f6df2a75ca7)
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
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,jz4775-spi
22          - ingenic,jz4780-spi
23          - ingenic,x1000-spi
24          - ingenic,x2000-spi
25      - items:
26          - enum:
27              - ingenic,jz4760-spi
28              - ingenic,jz4770-spi
29          - const: ingenic,jz4750-spi
30
31  reg:
32    maxItems: 1
33
34  interrupts:
35    maxItems: 1
36
37  clocks:
38    maxItems: 1
39
40  dmas:
41    maxItems: 2
42    minItems: 2
43
44  dma-names:
45    items:
46      - const: rx
47      - const: tx
48
49required:
50  - compatible
51  - reg
52  - interrupts
53  - clocks
54  - dmas
55  - dma-names
56
57unevaluatedProperties: false
58
59examples:
60  - |
61    #include <dt-bindings/clock/ingenic,jz4770-cgu.h>
62    spi@10043000 {
63      compatible = "ingenic,jz4770-spi", "ingenic,jz4750-spi";
64      reg = <0x10043000 0x1c>;
65      #address-cells = <1>;
66      #size-cells = <0>;
67
68      interrupt-parent = <&intc>;
69      interrupts = <8>;
70
71      clocks = <&cgu JZ4770_CLK_SSI0>;
72
73      dmas = <&dmac1 23 0xffffffff>, <&dmac1 22 0xffffffff>;
74      dma-names = "rx", "tx";
75    };
76