xref: /freebsd-src/sys/contrib/device-tree/Bindings/spi/atmel,quadspi.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/spi/atmel,quadspi.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
7e67e8565SEmmanuel Vadottitle: Atmel Quad Serial Peripheral Interface (QSPI)
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10*8bab661aSEmmanuel Vadot  - Tudor Ambarus <tudor.ambarus@linaro.org>
11e67e8565SEmmanuel Vadot
12e67e8565SEmmanuel VadotallOf:
13e67e8565SEmmanuel Vadot  - $ref: spi-controller.yaml#
14e67e8565SEmmanuel Vadot
15e67e8565SEmmanuel Vadotproperties:
16e67e8565SEmmanuel Vadot  compatible:
17e67e8565SEmmanuel Vadot    enum:
18e67e8565SEmmanuel Vadot      - atmel,sama5d2-qspi
19e67e8565SEmmanuel Vadot      - microchip,sam9x60-qspi
20e67e8565SEmmanuel Vadot      - microchip,sama7g5-qspi
21e67e8565SEmmanuel Vadot      - microchip,sama7g5-ospi
22e67e8565SEmmanuel Vadot
23e67e8565SEmmanuel Vadot  reg:
24e67e8565SEmmanuel Vadot    items:
25e67e8565SEmmanuel Vadot      - description: base registers
26e67e8565SEmmanuel Vadot      - description: mapped memory
27e67e8565SEmmanuel Vadot
28e67e8565SEmmanuel Vadot  reg-names:
29e67e8565SEmmanuel Vadot    items:
30e67e8565SEmmanuel Vadot      - const: qspi_base
31e67e8565SEmmanuel Vadot      - const: qspi_mmap
32e67e8565SEmmanuel Vadot
33e67e8565SEmmanuel Vadot  clocks:
34e67e8565SEmmanuel Vadot    minItems: 1
35e67e8565SEmmanuel Vadot    items:
36e67e8565SEmmanuel Vadot      - description: peripheral clock
37e67e8565SEmmanuel Vadot      - description: system clock or generic clock, if available
38e67e8565SEmmanuel Vadot
39e67e8565SEmmanuel Vadot  clock-names:
40e67e8565SEmmanuel Vadot    minItems: 1
41e67e8565SEmmanuel Vadot    items:
42e67e8565SEmmanuel Vadot      - const: pclk
43e67e8565SEmmanuel Vadot      - enum: [ qspick, gclk ]
44e67e8565SEmmanuel Vadot
45e67e8565SEmmanuel Vadot  interrupts:
46e67e8565SEmmanuel Vadot    maxItems: 1
47e67e8565SEmmanuel Vadot
48e67e8565SEmmanuel Vadot  dmas:
49e67e8565SEmmanuel Vadot    items:
50e67e8565SEmmanuel Vadot      - description: tx DMA channel
51e67e8565SEmmanuel Vadot      - description: rx DMA channel
52e67e8565SEmmanuel Vadot
53e67e8565SEmmanuel Vadot  dma-names:
54e67e8565SEmmanuel Vadot    items:
55e67e8565SEmmanuel Vadot      - const: tx
56e67e8565SEmmanuel Vadot      - const: rx
57e67e8565SEmmanuel Vadot
58e67e8565SEmmanuel Vadot  '#address-cells':
59e67e8565SEmmanuel Vadot    const: 1
60e67e8565SEmmanuel Vadot
61e67e8565SEmmanuel Vadot  '#size-cells':
62e67e8565SEmmanuel Vadot    const: 0
63e67e8565SEmmanuel Vadot
64e67e8565SEmmanuel Vadotrequired:
65e67e8565SEmmanuel Vadot  - compatible
66e67e8565SEmmanuel Vadot  - reg
67e67e8565SEmmanuel Vadot  - reg-names
68e67e8565SEmmanuel Vadot  - interrupts
69e67e8565SEmmanuel Vadot  - clocks
70e67e8565SEmmanuel Vadot  - clock-names
71e67e8565SEmmanuel Vadot  - '#address-cells'
72e67e8565SEmmanuel Vadot  - '#size-cells'
73e67e8565SEmmanuel Vadot
74e67e8565SEmmanuel VadotunevaluatedProperties: false
75e67e8565SEmmanuel Vadot
76e67e8565SEmmanuel Vadotexamples:
77e67e8565SEmmanuel Vadot  - |
78e67e8565SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
79e67e8565SEmmanuel Vadot    #include <dt-bindings/clock/at91.h>
80e67e8565SEmmanuel Vadot    spi@f0020000 {
81e67e8565SEmmanuel Vadot        compatible = "atmel,sama5d2-qspi";
82e67e8565SEmmanuel Vadot        reg = <0xf0020000 0x100>, <0xd0000000 0x8000000>;
83e67e8565SEmmanuel Vadot        reg-names = "qspi_base", "qspi_mmap";
84e67e8565SEmmanuel Vadot        interrupts = <52 IRQ_TYPE_LEVEL_HIGH 7>;
85e67e8565SEmmanuel Vadot        clocks = <&pmc PMC_TYPE_PERIPHERAL 52>;
86e67e8565SEmmanuel Vadot        clock-names = "pclk";
87e67e8565SEmmanuel Vadot        #address-cells = <1>;
88e67e8565SEmmanuel Vadot        #size-cells = <0>;
89e67e8565SEmmanuel Vadot        pinctrl-names = "default";
90e67e8565SEmmanuel Vadot        pinctrl-0 = <&pinctrl_spi0_default>;
91e67e8565SEmmanuel Vadot
92e67e8565SEmmanuel Vadot        flash@0 {
93e67e8565SEmmanuel Vadot            compatible = "jedec,spi-nor";
94e67e8565SEmmanuel Vadot            spi-max-frequency = <50000000>;
95e67e8565SEmmanuel Vadot            reg = <0>;
96e67e8565SEmmanuel Vadot            spi-rx-bus-width = <4>;
97e67e8565SEmmanuel Vadot            spi-tx-bus-width = <4>;
98e67e8565SEmmanuel Vadot        };
99e67e8565SEmmanuel Vadot    };
100