xref: /linux/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1ecff0272SSergiu Moga# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2ecff0272SSergiu Moga# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
3ecff0272SSergiu Moga%YAML 1.2
4ecff0272SSergiu Moga---
5ecff0272SSergiu Moga$id: http://devicetree.org/schemas/spi/atmel,at91rm9200-spi.yaml#
6ecff0272SSergiu Moga$schema: http://devicetree.org/meta-schemas/core.yaml#
7ecff0272SSergiu Moga
8ecff0272SSergiu Mogatitle: Atmel SPI device
9ecff0272SSergiu Moga
10ecff0272SSergiu Mogamaintainers:
11c0f7ae27STudor Ambarus  - Tudor Ambarus <tudor.ambarus@linaro.org>
12ecff0272SSergiu Moga
13ecff0272SSergiu MogaallOf:
14ecff0272SSergiu Moga  - $ref: spi-controller.yaml#
15ecff0272SSergiu Moga
16ecff0272SSergiu Mogaproperties:
17ecff0272SSergiu Moga  compatible:
18ecff0272SSergiu Moga    oneOf:
19ecff0272SSergiu Moga      - const: atmel,at91rm9200-spi
20ecff0272SSergiu Moga      - items:
21*3048dc8bSNicolas Ferre          - enum:
22*3048dc8bSNicolas Ferre              - microchip,sam9x60-spi
23*3048dc8bSNicolas Ferre              - microchip,sam9x7-spi
24*3048dc8bSNicolas Ferre              - microchip,sama7d65-spi
25ecff0272SSergiu Moga          - const: atmel,at91rm9200-spi
26ecff0272SSergiu Moga
27ecff0272SSergiu Moga  reg:
28ecff0272SSergiu Moga    maxItems: 1
29ecff0272SSergiu Moga
30ecff0272SSergiu Moga  interrupts:
31ecff0272SSergiu Moga    maxItems: 1
32ecff0272SSergiu Moga
33ecff0272SSergiu Moga  clock-names:
34ecff0272SSergiu Moga    contains:
35ecff0272SSergiu Moga      const: spi_clk
36ecff0272SSergiu Moga
37ecff0272SSergiu Moga  clocks:
38ecff0272SSergiu Moga    maxItems: 1
39ecff0272SSergiu Moga
400b2eafe1SSergiu Moga  dmas:
410b2eafe1SSergiu Moga    items:
420b2eafe1SSergiu Moga      - description: TX DMA Channel
430b2eafe1SSergiu Moga      - description: RX DMA Channel
440b2eafe1SSergiu Moga
450b2eafe1SSergiu Moga  dma-names:
460b2eafe1SSergiu Moga    items:
470b2eafe1SSergiu Moga      - const: tx
480b2eafe1SSergiu Moga      - const: rx
490b2eafe1SSergiu Moga
50ecff0272SSergiu Moga  atmel,fifo-size:
51ecff0272SSergiu Moga    $ref: /schemas/types.yaml#/definitions/uint32
52ecff0272SSergiu Moga    description: |
53ecff0272SSergiu Moga      Maximum number of data the RX and TX FIFOs can store for FIFO
54ecff0272SSergiu Moga      capable SPI controllers.
55ecff0272SSergiu Moga    enum: [ 16, 32 ]
56ecff0272SSergiu Moga
57ecff0272SSergiu Mogarequired:
58ecff0272SSergiu Moga  - compatible
59ecff0272SSergiu Moga  - reg
60ecff0272SSergiu Moga  - interrupts
61ecff0272SSergiu Moga  - clock-names
62ecff0272SSergiu Moga  - clocks
63ecff0272SSergiu Moga
64ecff0272SSergiu MogaunevaluatedProperties: false
65ecff0272SSergiu Moga
66ecff0272SSergiu Mogaexamples:
67ecff0272SSergiu Moga  - |
68ecff0272SSergiu Moga    #include <dt-bindings/gpio/gpio.h>
69ecff0272SSergiu Moga    #include <dt-bindings/interrupt-controller/irq.h>
70ecff0272SSergiu Moga
71ecff0272SSergiu Moga    spi1: spi@fffcc000 {
72ecff0272SSergiu Moga        compatible = "atmel,at91rm9200-spi";
73ecff0272SSergiu Moga        reg = <0xfffcc000 0x4000>;
74ecff0272SSergiu Moga        interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
75ecff0272SSergiu Moga        #address-cells = <1>;
76ecff0272SSergiu Moga        #size-cells = <0>;
77ecff0272SSergiu Moga        clocks = <&spi1_clk>;
78ecff0272SSergiu Moga        clock-names = "spi_clk";
79ecff0272SSergiu Moga        cs-gpios = <&pioB 3 GPIO_ACTIVE_HIGH>;
80ecff0272SSergiu Moga        atmel,fifo-size = <32>;
81ecff0272SSergiu Moga
82ecff0272SSergiu Moga        mmc@0 {
83ecff0272SSergiu Moga            compatible = "mmc-spi-slot";
84ecff0272SSergiu Moga            reg = <0>;
85ecff0272SSergiu Moga            gpios = <&pioC 4 GPIO_ACTIVE_HIGH>;    /* CD */
86ecff0272SSergiu Moga            spi-max-frequency = <25000000>;
87ecff0272SSergiu Moga        };
88ecff0272SSergiu Moga    };
89