0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/spi/allwinner,sun6i-a31-spi.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Allwinner A31 SPI Controller Device Tree Bindings
0008
0009 allOf:
0010 - $ref: "spi-controller.yaml"
0011
0012 maintainers:
0013 - Chen-Yu Tsai <wens@csie.org>
0014 - Maxime Ripard <mripard@kernel.org>
0015
0016 properties:
0017 "#address-cells": true
0018 "#size-cells": true
0019
0020 compatible:
0021 oneOf:
0022 - const: allwinner,sun6i-a31-spi
0023 - const: allwinner,sun8i-h3-spi
0024 - items:
0025 - enum:
0026 - allwinner,sun8i-r40-spi
0027 - allwinner,sun50i-h6-spi
0028 - allwinner,sun50i-h616-spi
0029 - allwinner,suniv-f1c100s-spi
0030 - const: allwinner,sun8i-h3-spi
0031
0032 reg:
0033 maxItems: 1
0034
0035 interrupts:
0036 maxItems: 1
0037
0038 clocks:
0039 items:
0040 - description: Bus Clock
0041 - description: Module Clock
0042
0043 clock-names:
0044 items:
0045 - const: ahb
0046 - const: mod
0047
0048 resets:
0049 maxItems: 1
0050
0051 dmas:
0052 items:
0053 - description: RX DMA Channel
0054 - description: TX DMA Channel
0055
0056 dma-names:
0057 items:
0058 - const: rx
0059 - const: tx
0060
0061 num-cs: true
0062
0063 patternProperties:
0064 "^.*@[0-9a-f]+":
0065 type: object
0066 properties:
0067 reg:
0068 items:
0069 minimum: 0
0070 maximum: 4
0071
0072 spi-rx-bus-width:
0073 const: 1
0074
0075 spi-tx-bus-width:
0076 const: 1
0077
0078 required:
0079 - compatible
0080 - reg
0081 - interrupts
0082 - clocks
0083 - clock-names
0084
0085 additionalProperties: false
0086
0087 examples:
0088 - |
0089 spi1: spi@1c69000 {
0090 compatible = "allwinner,sun6i-a31-spi";
0091 reg = <0x01c69000 0x1000>;
0092 interrupts = <0 66 4>;
0093 clocks = <&ahb1_gates 21>, <&spi1_clk>;
0094 clock-names = "ahb", "mod";
0095 resets = <&ahb1_rst 21>;
0096 #address-cells = <1>;
0097 #size-cells = <0>;
0098 };
0099
0100 - |
0101 spi0: spi@1c68000 {
0102 compatible = "allwinner,sun8i-h3-spi";
0103 reg = <0x01c68000 0x1000>;
0104 interrupts = <0 65 4>;
0105 clocks = <&ccu 30>, <&ccu 82>;
0106 clock-names = "ahb", "mod";
0107 dmas = <&dma 23>, <&dma 23>;
0108 dma-names = "rx", "tx";
0109 resets = <&ccu 15>;
0110 #address-cells = <1>;
0111 #size-cells = <0>;
0112 };
0113
0114 ...