1*0e19118aSJonas Gorski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2*0e19118aSJonas Gorski%YAML 1.2
3*0e19118aSJonas Gorski---
4*0e19118aSJonas Gorski$id: http://devicetree.org/schemas/spi/brcm,bcm63xx-spi.yaml#
5*0e19118aSJonas Gorski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e19118aSJonas Gorski
7*0e19118aSJonas Gorskititle: Broadcom BCM6348/BCM6358 SPI controller
8*0e19118aSJonas Gorski
9*0e19118aSJonas Gorskimaintainers:
10*0e19118aSJonas Gorski  - Jonas Gorski <jonas.gorski@gmail.com>
11*0e19118aSJonas Gorski
12*0e19118aSJonas Gorskidescription: |
13*0e19118aSJonas Gorski  Broadcom "Low Speed" SPI controller found in many older MIPS based Broadband
14*0e19118aSJonas Gorski  SoCs.
15*0e19118aSJonas Gorski
16*0e19118aSJonas Gorski  This controller has a limitation that can not keep the chip select line active
17*0e19118aSJonas Gorski  between the SPI transfers within the same SPI message. This can terminate the
18*0e19118aSJonas Gorski  transaction to some SPI devices prematurely. The issue can be worked around by
19*0e19118aSJonas Gorski  the controller's prepend mode.
20*0e19118aSJonas Gorski
21*0e19118aSJonas GorskiallOf:
22*0e19118aSJonas Gorski  - $ref: spi-controller.yaml#
23*0e19118aSJonas Gorski
24*0e19118aSJonas Gorskiproperties:
25*0e19118aSJonas Gorski  compatible:
26*0e19118aSJonas Gorski    oneOf:
27*0e19118aSJonas Gorski      - items:
28*0e19118aSJonas Gorski          - enum:
29*0e19118aSJonas Gorski              - brcm,bcm6368-spi
30*0e19118aSJonas Gorski              - brcm,bcm6362-spi
31*0e19118aSJonas Gorski              - brcm,bcm63268-spi
32*0e19118aSJonas Gorski          - const: brcm,bcm6358-spi
33*0e19118aSJonas Gorski      - enum:
34*0e19118aSJonas Gorski          - brcm,bcm6348-spi
35*0e19118aSJonas Gorski          - brcm,bcm6358-spi
36*0e19118aSJonas Gorski
37*0e19118aSJonas Gorski  reg:
38*0e19118aSJonas Gorski    maxItems: 1
39*0e19118aSJonas Gorski
40*0e19118aSJonas Gorski  clocks:
41*0e19118aSJonas Gorski    items:
42*0e19118aSJonas Gorski      - description: SPI master reference clock
43*0e19118aSJonas Gorski
44*0e19118aSJonas Gorski  clock-names:
45*0e19118aSJonas Gorski    items:
46*0e19118aSJonas Gorski      - const: spi
47*0e19118aSJonas Gorski
48*0e19118aSJonas Gorski  interrupts:
49*0e19118aSJonas Gorski    maxItems: 1
50*0e19118aSJonas Gorski
51*0e19118aSJonas Gorskirequired:
52*0e19118aSJonas Gorski  - compatible
53*0e19118aSJonas Gorski  - reg
54*0e19118aSJonas Gorski  - clocks
55*0e19118aSJonas Gorski  - clock-names
56*0e19118aSJonas Gorski  - interrupts
57*0e19118aSJonas Gorski
58*0e19118aSJonas GorskiunevaluatedProperties: false
59*0e19118aSJonas Gorski
60*0e19118aSJonas Gorskiexamples:
61*0e19118aSJonas Gorski  - |
62*0e19118aSJonas Gorski    spi@10000800 {
63*0e19118aSJonas Gorski        compatible = "brcm,bcm6368-spi", "brcm,bcm6358-spi";
64*0e19118aSJonas Gorski        reg = <0x10000800 0x70c>;
65*0e19118aSJonas Gorski        interrupts = <1>;
66*0e19118aSJonas Gorski        clocks = <&clkctl 9>;
67*0e19118aSJonas Gorski        clock-names = "spi";
68*0e19118aSJonas Gorski        num-cs = <5>;
69*0e19118aSJonas Gorski        #address-cells = <1>;
70*0e19118aSJonas Gorski        #size-cells = <0>;
71*0e19118aSJonas Gorski    };
72