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