15de04175SJohan Jonker# SPDX-License-Identifier: GPL-2.0
25de04175SJohan Jonker%YAML 1.2
35de04175SJohan Jonker---
45de04175SJohan Jonker$id: http://devicetree.org/schemas/spi/spi-rockchip.yaml#
55de04175SJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
65de04175SJohan Jonker
75de04175SJohan Jonkertitle: Rockchip SPI Controller
85de04175SJohan Jonker
95de04175SJohan Jonkerdescription:
105de04175SJohan Jonker  The Rockchip SPI controller is used to interface with various devices such
115de04175SJohan Jonker  as flash and display controllers using the SPI communication interface.
125de04175SJohan Jonker
135de04175SJohan JonkerallOf:
14*99a7fa0eSKrzysztof Kozlowski  - $ref: spi-controller.yaml#
155de04175SJohan Jonker
165de04175SJohan Jonkermaintainers:
175de04175SJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
185de04175SJohan Jonker
195de04175SJohan Jonker# Everything else is described in the common file
205de04175SJohan Jonkerproperties:
215de04175SJohan Jonker  compatible:
225de04175SJohan Jonker    oneOf:
235de04175SJohan Jonker      - const: rockchip,rk3036-spi
245de04175SJohan Jonker      - const: rockchip,rk3066-spi
255de04175SJohan Jonker      - const: rockchip,rk3228-spi
265de04175SJohan Jonker      - const: rockchip,rv1108-spi
275de04175SJohan Jonker      - items:
285de04175SJohan Jonker          - enum:
295de04175SJohan Jonker              - rockchip,px30-spi
30b04c2a19SJohan Jonker              - rockchip,rk3128-spi
315de04175SJohan Jonker              - rockchip,rk3188-spi
325de04175SJohan Jonker              - rockchip,rk3288-spi
33db7dd939SJohan Jonker              - rockchip,rk3308-spi
346ac12131SJohan Jonker              - rockchip,rk3328-spi
355de04175SJohan Jonker              - rockchip,rk3368-spi
365de04175SJohan Jonker              - rockchip,rk3399-spi
3707fb78a7SNicolas Frattaroli              - rockchip,rk3568-spi
38fb43eb0aSSebastian Reichel              - rockchip,rk3588-spi
39c58c7e9bSJon Lin              - rockchip,rv1126-spi
405de04175SJohan Jonker          - const: rockchip,rk3066-spi
415de04175SJohan Jonker
425de04175SJohan Jonker  reg:
435de04175SJohan Jonker    maxItems: 1
445de04175SJohan Jonker
455de04175SJohan Jonker  interrupts:
465de04175SJohan Jonker    maxItems: 1
475de04175SJohan Jonker
485de04175SJohan Jonker  clocks:
495de04175SJohan Jonker    items:
505de04175SJohan Jonker      - description: transfer-clock
515de04175SJohan Jonker      - description: peripheral clock
525de04175SJohan Jonker
535de04175SJohan Jonker  clock-names:
545de04175SJohan Jonker    items:
555de04175SJohan Jonker      - const: spiclk
565de04175SJohan Jonker      - const: apb_pclk
575de04175SJohan Jonker
585de04175SJohan Jonker  dmas:
595de04175SJohan Jonker    items:
605de04175SJohan Jonker      - description: TX DMA Channel
615de04175SJohan Jonker      - description: RX DMA Channel
625de04175SJohan Jonker
635de04175SJohan Jonker  dma-names:
645de04175SJohan Jonker    items:
655de04175SJohan Jonker      - const: tx
665de04175SJohan Jonker      - const: rx
675de04175SJohan Jonker
685de04175SJohan Jonker  rx-sample-delay-ns:
695de04175SJohan Jonker    default: 0
705de04175SJohan Jonker    description:
715de04175SJohan Jonker      Nano seconds to delay after the SCLK edge before sampling Rx data
725de04175SJohan Jonker      (may need to be fine tuned for high capacitance lines).
735de04175SJohan Jonker      If not specified 0 will be used.
745de04175SJohan Jonker
755de04175SJohan Jonker  pinctrl-names:
765de04175SJohan Jonker    minItems: 1
775de04175SJohan Jonker    items:
785de04175SJohan Jonker      - const: default
795de04175SJohan Jonker      - const: sleep
805de04175SJohan Jonker    description:
815de04175SJohan Jonker      Names for the pin configuration(s); may be "default" or "sleep",
825de04175SJohan Jonker      where the "sleep" configuration may describe the state
835de04175SJohan Jonker      the pins should be in during system suspend.
845de04175SJohan Jonker
8583e5335bSJohan Jonker  power-domains:
8683e5335bSJohan Jonker    maxItems: 1
8783e5335bSJohan Jonker
885de04175SJohan Jonkerrequired:
895de04175SJohan Jonker  - compatible
905de04175SJohan Jonker  - reg
915de04175SJohan Jonker  - interrupts
925de04175SJohan Jonker  - clocks
935de04175SJohan Jonker  - clock-names
945de04175SJohan Jonker
956fdc6e23SRob HerringunevaluatedProperties: false
966fdc6e23SRob Herring
975de04175SJohan Jonkerexamples:
985de04175SJohan Jonker  - |
995de04175SJohan Jonker    #include <dt-bindings/clock/rk3188-cru-common.h>
1005de04175SJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
1015de04175SJohan Jonker    #include <dt-bindings/interrupt-controller/irq.h>
1025de04175SJohan Jonker    spi0: spi@ff110000 {
1035de04175SJohan Jonker      compatible = "rockchip,rk3066-spi";
1045de04175SJohan Jonker      reg = <0xff110000 0x1000>;
1055de04175SJohan Jonker      interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1065de04175SJohan Jonker      clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
1075de04175SJohan Jonker      clock-names = "spiclk", "apb_pclk";
1085de04175SJohan Jonker      dmas = <&pdma1 11>, <&pdma1 12>;
1095de04175SJohan Jonker      dma-names = "tx", "rx";
1105de04175SJohan Jonker      pinctrl-0 = <&spi1_pins>;
1115de04175SJohan Jonker      pinctrl-1 = <&spi1_sleep>;
1125de04175SJohan Jonker      pinctrl-names = "default", "sleep";
1135de04175SJohan Jonker      rx-sample-delay-ns = <10>;
1145de04175SJohan Jonker      #address-cells = <1>;
1155de04175SJohan Jonker      #size-cells = <0>;
1165de04175SJohan Jonker    };
117