xref: /freebsd/sys/contrib/device-tree/Bindings/spi/fsl,spi.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
1*8ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8ccc0d23SEmmanuel Vadot%YAML 1.2
3*8ccc0d23SEmmanuel Vadot---
4*8ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/spi/fsl,spi.yaml#
5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8ccc0d23SEmmanuel Vadot
7*8ccc0d23SEmmanuel Vadottitle: Freescale SPI (Serial Peripheral Interface) controller
8*8ccc0d23SEmmanuel Vadot
9*8ccc0d23SEmmanuel Vadotmaintainers:
10*8ccc0d23SEmmanuel Vadot  - J. Neuschäfer <j.ne@posteo.net>
11*8ccc0d23SEmmanuel Vadot
12*8ccc0d23SEmmanuel Vadotproperties:
13*8ccc0d23SEmmanuel Vadot  compatible:
14*8ccc0d23SEmmanuel Vadot    enum:
15*8ccc0d23SEmmanuel Vadot      - fsl,spi
16*8ccc0d23SEmmanuel Vadot      - aeroflexgaisler,spictrl
17*8ccc0d23SEmmanuel Vadot
18*8ccc0d23SEmmanuel Vadot  reg:
19*8ccc0d23SEmmanuel Vadot    maxItems: 1
20*8ccc0d23SEmmanuel Vadot
21*8ccc0d23SEmmanuel Vadot  cell-index:
22*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
23*8ccc0d23SEmmanuel Vadot    description: |
24*8ccc0d23SEmmanuel Vadot      QE SPI subblock index.
25*8ccc0d23SEmmanuel Vadot      0: QE subblock SPI1
26*8ccc0d23SEmmanuel Vadot      1: QE subblock SPI2
27*8ccc0d23SEmmanuel Vadot
28*8ccc0d23SEmmanuel Vadot  mode:
29*8ccc0d23SEmmanuel Vadot    description: SPI operation mode
30*8ccc0d23SEmmanuel Vadot    enum:
31*8ccc0d23SEmmanuel Vadot      - cpu
32*8ccc0d23SEmmanuel Vadot      - cpu-qe
33*8ccc0d23SEmmanuel Vadot
34*8ccc0d23SEmmanuel Vadot  interrupts:
35*8ccc0d23SEmmanuel Vadot    maxItems: 1
36*8ccc0d23SEmmanuel Vadot
37*8ccc0d23SEmmanuel Vadot  clock-frequency:
38*8ccc0d23SEmmanuel Vadot    description: input clock frequency to non FSL_SOC cores
39*8ccc0d23SEmmanuel Vadot
40*8ccc0d23SEmmanuel Vadot  cs-gpios: true
41*8ccc0d23SEmmanuel Vadot
42*8ccc0d23SEmmanuel Vadot  fsl,spisel_boot:
43*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
44*8ccc0d23SEmmanuel Vadot    description:
45*8ccc0d23SEmmanuel Vadot      For the MPC8306 and MPC8309, specifies that the SPISEL_BOOT signal is used
46*8ccc0d23SEmmanuel Vadot      as chip select for a slave device. Use reg = <number of gpios> in the
47*8ccc0d23SEmmanuel Vadot      corresponding child node, i.e. 0 if the cs-gpios property is not present.
48*8ccc0d23SEmmanuel Vadot
49*8ccc0d23SEmmanuel Vadotrequired:
50*8ccc0d23SEmmanuel Vadot  - compatible
51*8ccc0d23SEmmanuel Vadot  - reg
52*8ccc0d23SEmmanuel Vadot  - mode
53*8ccc0d23SEmmanuel Vadot  - interrupts
54*8ccc0d23SEmmanuel Vadot
55*8ccc0d23SEmmanuel VadotallOf:
56*8ccc0d23SEmmanuel Vadot  - $ref: spi-controller.yaml#
57*8ccc0d23SEmmanuel Vadot
58*8ccc0d23SEmmanuel VadotunevaluatedProperties: false
59*8ccc0d23SEmmanuel Vadot
60*8ccc0d23SEmmanuel Vadotexamples:
61*8ccc0d23SEmmanuel Vadot  - |
62*8ccc0d23SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
63*8ccc0d23SEmmanuel Vadot
64*8ccc0d23SEmmanuel Vadot    spi@4c0 {
65*8ccc0d23SEmmanuel Vadot        compatible = "fsl,spi";
66*8ccc0d23SEmmanuel Vadot        reg = <0x4c0 0x40>;
67*8ccc0d23SEmmanuel Vadot        cell-index = <0>;
68*8ccc0d23SEmmanuel Vadot        interrupts = <82 0>;
69*8ccc0d23SEmmanuel Vadot        mode = "cpu";
70*8ccc0d23SEmmanuel Vadot        cs-gpios = <&gpio 18 IRQ_TYPE_EDGE_RISING          // device reg=<0>
71*8ccc0d23SEmmanuel Vadot                    &gpio 19 IRQ_TYPE_EDGE_RISING>;        // device reg=<1>
72*8ccc0d23SEmmanuel Vadot    };
73*8ccc0d23SEmmanuel Vadot
74*8ccc0d23SEmmanuel Vadot...
75