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