19c12e34aSPragnesh Patel# SPDX-License-Identifier: GPL-2.0
29c12e34aSPragnesh Patel%YAML 1.2
39c12e34aSPragnesh Patel---
49c12e34aSPragnesh Patel$id: http://devicetree.org/schemas/spi/spi-sifive.yaml#
59c12e34aSPragnesh Patel$schema: http://devicetree.org/meta-schemas/core.yaml#
69c12e34aSPragnesh Patel
79c12e34aSPragnesh Pateltitle: SiFive SPI controller
89c12e34aSPragnesh Patel
99c12e34aSPragnesh Patelmaintainers:
109c12e34aSPragnesh Patel  - Pragnesh Patel <pragnesh.patel@sifive.com>
119c12e34aSPragnesh Patel  - Paul Walmsley  <paul.walmsley@sifive.com>
129c12e34aSPragnesh Patel  - Palmer Dabbelt <palmer@sifive.com>
139c12e34aSPragnesh Patel
149c12e34aSPragnesh PatelallOf:
159c12e34aSPragnesh Patel  - $ref: "spi-controller.yaml#"
169c12e34aSPragnesh Patel
179c12e34aSPragnesh Patelproperties:
189c12e34aSPragnesh Patel  compatible:
199c12e34aSPragnesh Patel    items:
20*76347344SYash Shah      - enum:
21*76347344SYash Shah          - sifive,fu540-c000-spi
22*76347344SYash Shah          - sifive,fu740-c000-spi
239c12e34aSPragnesh Patel      - const: sifive,spi0
249c12e34aSPragnesh Patel
259c12e34aSPragnesh Patel    description:
269c12e34aSPragnesh Patel      Should be "sifive,<chip>-spi" and "sifive,spi<version>".
279c12e34aSPragnesh Patel      Supported compatible strings are -
28*76347344SYash Shah      "sifive,fu540-c000-spi" and "sifive,fu740-c000-spi" for the SiFive SPI v0
29*76347344SYash Shah      as integrated onto the SiFive FU540 and FU740 chip resp, and "sifive,spi0"
30*76347344SYash Shah      for the SiFive SPI v0 IP block with no chip integration tweaks.
319c12e34aSPragnesh Patel      Please refer to sifive-blocks-ip-versioning.txt for details
329c12e34aSPragnesh Patel
339c12e34aSPragnesh Patel      SPI RTL that corresponds to the IP block version numbers can be found here -
349c12e34aSPragnesh Patel      https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/spi
359c12e34aSPragnesh Patel
369c12e34aSPragnesh Patel  reg:
37e2f233ecSRob Herring    minItems: 1
38e2f233ecSRob Herring    items:
39e2f233ecSRob Herring      - description: SPI registers region
40e2f233ecSRob Herring      - description: Memory mapped flash region
419c12e34aSPragnesh Patel
429c12e34aSPragnesh Patel  interrupts:
439c12e34aSPragnesh Patel    maxItems: 1
449c12e34aSPragnesh Patel
459c12e34aSPragnesh Patel  clocks:
469c12e34aSPragnesh Patel    maxItems: 1
479c12e34aSPragnesh Patel
489c12e34aSPragnesh Patel    description:
499c12e34aSPragnesh Patel      Must reference the frequency given to the controller
509c12e34aSPragnesh Patel
519c12e34aSPragnesh Patel  sifive,fifo-depth:
529c12e34aSPragnesh Patel    description:
539c12e34aSPragnesh Patel      Depth of hardware queues; defaults to 8
543d21a460SRob Herring    $ref: "/schemas/types.yaml#/definitions/uint32"
553d21a460SRob Herring    enum: [8]
563d21a460SRob Herring    default: 8
579c12e34aSPragnesh Patel
589c12e34aSPragnesh Patel  sifive,max-bits-per-word:
599c12e34aSPragnesh Patel    description:
609c12e34aSPragnesh Patel      Maximum bits per word; defaults to 8
613d21a460SRob Herring    $ref: "/schemas/types.yaml#/definitions/uint32"
623d21a460SRob Herring    enum: [0, 1, 2, 3, 4, 5, 6, 7, 8]
633d21a460SRob Herring    default: 8
649c12e34aSPragnesh Patel
659c12e34aSPragnesh Patelrequired:
669c12e34aSPragnesh Patel  - compatible
679c12e34aSPragnesh Patel  - reg
689c12e34aSPragnesh Patel  - interrupts
699c12e34aSPragnesh Patel  - clocks
709c12e34aSPragnesh Patel
716fdc6e23SRob HerringunevaluatedProperties: false
726fdc6e23SRob Herring
739c12e34aSPragnesh Patelexamples:
749c12e34aSPragnesh Patel  - |
759c12e34aSPragnesh Patel    spi: spi@10040000 {
769c12e34aSPragnesh Patel      compatible = "sifive,fu540-c000-spi", "sifive,spi0";
77fba56184SRob Herring      reg = <0x10040000 0x1000>, <0x20000000 0x10000000>;
789c12e34aSPragnesh Patel      interrupt-parent = <&plic>;
799c12e34aSPragnesh Patel      interrupts = <51>;
809c12e34aSPragnesh Patel      clocks = <&tlclk>;
819c12e34aSPragnesh Patel      #address-cells = <1>;
829c12e34aSPragnesh Patel      #size-cells = <0>;
839c12e34aSPragnesh Patel      sifive,fifo-depth = <8>;
849c12e34aSPragnesh Patel      sifive,max-bits-per-word = <8>;
859c12e34aSPragnesh Patel    };
869c12e34aSPragnesh Patel
879c12e34aSPragnesh Patel...
88