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