xref: /linux/Documentation/devicetree/bindings/spi/atmel,quadspi.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1001a41d2STudor Ambarus# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2001a41d2STudor Ambarus%YAML 1.2
3001a41d2STudor Ambarus---
4001a41d2STudor Ambarus$id: http://devicetree.org/schemas/spi/atmel,quadspi.yaml#
5001a41d2STudor Ambarus$schema: http://devicetree.org/meta-schemas/core.yaml#
6001a41d2STudor Ambarus
7001a41d2STudor Ambarustitle: Atmel Quad Serial Peripheral Interface (QSPI)
8001a41d2STudor Ambarus
9001a41d2STudor Ambarusmaintainers:
10*c0f7ae27STudor Ambarus  - Tudor Ambarus <tudor.ambarus@linaro.org>
11001a41d2STudor Ambarus
12001a41d2STudor AmbarusallOf:
13001a41d2STudor Ambarus  - $ref: spi-controller.yaml#
14001a41d2STudor Ambarus
15001a41d2STudor Ambarusproperties:
16001a41d2STudor Ambarus  compatible:
17001a41d2STudor Ambarus    enum:
18001a41d2STudor Ambarus      - atmel,sama5d2-qspi
19001a41d2STudor Ambarus      - microchip,sam9x60-qspi
2077850bdaSTudor Ambarus      - microchip,sama7g5-qspi
2177850bdaSTudor Ambarus      - microchip,sama7g5-ospi
22001a41d2STudor Ambarus
23001a41d2STudor Ambarus  reg:
24001a41d2STudor Ambarus    items:
25001a41d2STudor Ambarus      - description: base registers
26001a41d2STudor Ambarus      - description: mapped memory
27001a41d2STudor Ambarus
28001a41d2STudor Ambarus  reg-names:
29001a41d2STudor Ambarus    items:
30001a41d2STudor Ambarus      - const: qspi_base
31001a41d2STudor Ambarus      - const: qspi_mmap
32001a41d2STudor Ambarus
33001a41d2STudor Ambarus  clocks:
34001a41d2STudor Ambarus    minItems: 1
35001a41d2STudor Ambarus    items:
36001a41d2STudor Ambarus      - description: peripheral clock
3777850bdaSTudor Ambarus      - description: system clock or generic clock, if available
38001a41d2STudor Ambarus
39001a41d2STudor Ambarus  clock-names:
40001a41d2STudor Ambarus    minItems: 1
41001a41d2STudor Ambarus    items:
42001a41d2STudor Ambarus      - const: pclk
4377850bdaSTudor Ambarus      - enum: [ qspick, gclk ]
44001a41d2STudor Ambarus
45001a41d2STudor Ambarus  interrupts:
46001a41d2STudor Ambarus    maxItems: 1
47001a41d2STudor Ambarus
4877850bdaSTudor Ambarus  dmas:
4977850bdaSTudor Ambarus    items:
5077850bdaSTudor Ambarus      - description: tx DMA channel
5177850bdaSTudor Ambarus      - description: rx DMA channel
5277850bdaSTudor Ambarus
5377850bdaSTudor Ambarus  dma-names:
5477850bdaSTudor Ambarus    items:
5577850bdaSTudor Ambarus      - const: tx
5677850bdaSTudor Ambarus      - const: rx
5777850bdaSTudor Ambarus
58001a41d2STudor Ambarus  '#address-cells':
59001a41d2STudor Ambarus    const: 1
60001a41d2STudor Ambarus
61001a41d2STudor Ambarus  '#size-cells':
62001a41d2STudor Ambarus    const: 0
63001a41d2STudor Ambarus
64001a41d2STudor Ambarusrequired:
65001a41d2STudor Ambarus  - compatible
66001a41d2STudor Ambarus  - reg
67001a41d2STudor Ambarus  - reg-names
68001a41d2STudor Ambarus  - interrupts
69001a41d2STudor Ambarus  - clocks
70001a41d2STudor Ambarus  - clock-names
71001a41d2STudor Ambarus  - '#address-cells'
72001a41d2STudor Ambarus  - '#size-cells'
73001a41d2STudor Ambarus
74001a41d2STudor AmbarusunevaluatedProperties: false
75001a41d2STudor Ambarus
76001a41d2STudor Ambarusexamples:
77001a41d2STudor Ambarus  - |
78001a41d2STudor Ambarus    #include <dt-bindings/interrupt-controller/irq.h>
79001a41d2STudor Ambarus    #include <dt-bindings/clock/at91.h>
80001a41d2STudor Ambarus    spi@f0020000 {
81001a41d2STudor Ambarus        compatible = "atmel,sama5d2-qspi";
82001a41d2STudor Ambarus        reg = <0xf0020000 0x100>, <0xd0000000 0x8000000>;
83001a41d2STudor Ambarus        reg-names = "qspi_base", "qspi_mmap";
84001a41d2STudor Ambarus        interrupts = <52 IRQ_TYPE_LEVEL_HIGH 7>;
85001a41d2STudor Ambarus        clocks = <&pmc PMC_TYPE_PERIPHERAL 52>;
86001a41d2STudor Ambarus        clock-names = "pclk";
87001a41d2STudor Ambarus        #address-cells = <1>;
88001a41d2STudor Ambarus        #size-cells = <0>;
89001a41d2STudor Ambarus        pinctrl-names = "default";
90001a41d2STudor Ambarus        pinctrl-0 = <&pinctrl_spi0_default>;
91001a41d2STudor Ambarus
92001a41d2STudor Ambarus        flash@0 {
93001a41d2STudor Ambarus            compatible = "jedec,spi-nor";
94001a41d2STudor Ambarus            spi-max-frequency = <50000000>;
95001a41d2STudor Ambarus            reg = <0>;
96001a41d2STudor Ambarus            spi-rx-bus-width = <4>;
97001a41d2STudor Ambarus            spi-tx-bus-width = <4>;
98001a41d2STudor Ambarus        };
99001a41d2STudor Ambarus    };
100