18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/spi/allwinner,sun6i-a31-spi.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Allwinner A31 SPI Controller Device Tree Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciallOf:
108c2ecf20Sopenharmony_ci  - $ref: "spi-controller.yaml"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cimaintainers:
138c2ecf20Sopenharmony_ci  - Chen-Yu Tsai <wens@csie.org>
148c2ecf20Sopenharmony_ci  - Maxime Ripard <mripard@kernel.org>
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciproperties:
178c2ecf20Sopenharmony_ci  "#address-cells": true
188c2ecf20Sopenharmony_ci  "#size-cells": true
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  compatible:
218c2ecf20Sopenharmony_ci    oneOf:
228c2ecf20Sopenharmony_ci      - const: allwinner,sun6i-a31-spi
238c2ecf20Sopenharmony_ci      - const: allwinner,sun8i-h3-spi
248c2ecf20Sopenharmony_ci      - items:
258c2ecf20Sopenharmony_ci          - enum:
268c2ecf20Sopenharmony_ci              - allwinner,sun8i-r40-spi
278c2ecf20Sopenharmony_ci              - allwinner,sun50i-h6-spi
288c2ecf20Sopenharmony_ci          - const: allwinner,sun8i-h3-spi
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  reg:
318c2ecf20Sopenharmony_ci    maxItems: 1
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  interrupts:
348c2ecf20Sopenharmony_ci    maxItems: 1
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  clocks:
378c2ecf20Sopenharmony_ci    items:
388c2ecf20Sopenharmony_ci      - description: Bus Clock
398c2ecf20Sopenharmony_ci      - description: Module Clock
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  clock-names:
428c2ecf20Sopenharmony_ci    items:
438c2ecf20Sopenharmony_ci      - const: ahb
448c2ecf20Sopenharmony_ci      - const: mod
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  resets:
478c2ecf20Sopenharmony_ci    maxItems: 1
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  dmas:
508c2ecf20Sopenharmony_ci    items:
518c2ecf20Sopenharmony_ci      - description: RX DMA Channel
528c2ecf20Sopenharmony_ci      - description: TX DMA Channel
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci  dma-names:
558c2ecf20Sopenharmony_ci    items:
568c2ecf20Sopenharmony_ci      - const: rx
578c2ecf20Sopenharmony_ci      - const: tx
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci  num-cs: true
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_cipatternProperties:
628c2ecf20Sopenharmony_ci  "^.*@[0-9a-f]+":
638c2ecf20Sopenharmony_ci    type: object
648c2ecf20Sopenharmony_ci    properties:
658c2ecf20Sopenharmony_ci      reg:
668c2ecf20Sopenharmony_ci        items:
678c2ecf20Sopenharmony_ci          minimum: 0
688c2ecf20Sopenharmony_ci          maximum: 4
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci      spi-rx-bus-width:
718c2ecf20Sopenharmony_ci        const: 1
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci      spi-tx-bus-width:
748c2ecf20Sopenharmony_ci        const: 1
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_cirequired:
778c2ecf20Sopenharmony_ci  - compatible
788c2ecf20Sopenharmony_ci  - reg
798c2ecf20Sopenharmony_ci  - interrupts
808c2ecf20Sopenharmony_ci  - clocks
818c2ecf20Sopenharmony_ci  - clock-names
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciadditionalProperties: false
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciexamples:
868c2ecf20Sopenharmony_ci  - |
878c2ecf20Sopenharmony_ci    spi1: spi@1c69000 {
888c2ecf20Sopenharmony_ci        compatible = "allwinner,sun6i-a31-spi";
898c2ecf20Sopenharmony_ci        reg = <0x01c69000 0x1000>;
908c2ecf20Sopenharmony_ci        interrupts = <0 66 4>;
918c2ecf20Sopenharmony_ci        clocks = <&ahb1_gates 21>, <&spi1_clk>;
928c2ecf20Sopenharmony_ci        clock-names = "ahb", "mod";
938c2ecf20Sopenharmony_ci        resets = <&ahb1_rst 21>;
948c2ecf20Sopenharmony_ci        #address-cells = <1>;
958c2ecf20Sopenharmony_ci        #size-cells = <0>;
968c2ecf20Sopenharmony_ci    };
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci  - |
998c2ecf20Sopenharmony_ci    spi0: spi@1c68000 {
1008c2ecf20Sopenharmony_ci        compatible = "allwinner,sun8i-h3-spi";
1018c2ecf20Sopenharmony_ci        reg = <0x01c68000 0x1000>;
1028c2ecf20Sopenharmony_ci        interrupts = <0 65 4>;
1038c2ecf20Sopenharmony_ci        clocks = <&ccu 30>, <&ccu 82>;
1048c2ecf20Sopenharmony_ci        clock-names = "ahb", "mod";
1058c2ecf20Sopenharmony_ci        dmas = <&dma 23>, <&dma 23>;
1068c2ecf20Sopenharmony_ci        dma-names = "rx", "tx";
1078c2ecf20Sopenharmony_ci        resets = <&ccu 15>;
1088c2ecf20Sopenharmony_ci        #address-cells = <1>;
1098c2ecf20Sopenharmony_ci        #size-cells = <0>;
1108c2ecf20Sopenharmony_ci    };
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci...
113