xref: /freebsd/sys/contrib/device-tree/Bindings/spi/amlogic,meson-gx-spicc.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2019 BayLibre, SAS
3%YAML 1.2
4---
5$id: "http://devicetree.org/schemas/spi/amlogic,meson-gx-spicc.yaml#"
6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8title: Amlogic Meson SPI Communication Controller
9
10maintainers:
11  - Neil Armstrong <narmstrong@baylibre.com>
12
13allOf:
14  - $ref: "spi-controller.yaml#"
15
16description: |
17  The Meson SPICC is a generic SPI controller for general purpose Full-Duplex
18  communications with dedicated 16 words RX/TX PIO FIFOs.
19
20properties:
21  compatible:
22    enum:
23      - amlogic,meson-gx-spicc # SPICC controller on Amlogic GX and compatible SoCs
24      - amlogic,meson-axg-spicc # SPICC controller on Amlogic AXG and compatible SoCs
25      - amlogic,meson-g12a-spicc # SPICC controller on Amlogic G12A and compatible SoCs
26
27  interrupts:
28    maxItems: 1
29
30  reg:
31    maxItems: 1
32
33  resets:
34    maxItems: 1
35
36  clocks:
37    minItems: 1
38    maxItems: 2
39    items:
40      - description: controller register bus clock
41      - description: baud rate generator and delay control clock
42
43  clock-names:
44    minItems: 1
45    maxItems: 2
46
47if:
48  properties:
49    compatible:
50      contains:
51        enum:
52          - amlogic,meson-g12a-spicc
53
54then:
55  properties:
56    clocks:
57      minItems: 2
58
59    clock-names:
60      items:
61        - const: core
62        - const: pclk
63
64else:
65  properties:
66    clocks:
67      maxItems: 1
68
69    clock-names:
70      items:
71        - const: core
72
73required:
74  - compatible
75  - reg
76  - interrupts
77  - clocks
78  - clock-names
79
80unevaluatedProperties: false
81
82examples:
83  - |
84    spi@c1108d80 {
85          compatible = "amlogic,meson-gx-spicc";
86          reg = <0xc1108d80 0x80>;
87          interrupts = <112>;
88          clocks = <&clk81>;
89          clock-names = "core";
90          #address-cells = <1>;
91          #size-cells = <0>;
92
93          ethernet-switch@0 {
94              compatible = "micrel,ks8995m";
95              spi-max-frequency = <1000000>;
96              reg = <0>;
97          };
98    };
99
100