1*b610d533SAlex Elder# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*b610d533SAlex Elder%YAML 1.2 3*b610d533SAlex Elder--- 4*b610d533SAlex Elder$id: http://devicetree.org/schemas/spi/spacemit,k1-spi.yaml# 5*b610d533SAlex Elder$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b610d533SAlex Elder 7*b610d533SAlex Eldertitle: SpacemiT K1 SoC Serial Peripheral Interface (SPI) 8*b610d533SAlex Elder 9*b610d533SAlex Eldermaintainers: 10*b610d533SAlex Elder - Alex Elder <elder@kernel.org> 11*b610d533SAlex Elder 12*b610d533SAlex Elderdescription: 13*b610d533SAlex Elder The SpacemiT K1 SoC implements a SPI controller that has two 32-entry 14*b610d533SAlex Elder FIFOs, for transmit and receive. Details are currently available in 15*b610d533SAlex Elder section 18.2.1 of the K1 User Manual, found in the SpacemiT Keystone 16*b610d533SAlex Elder K1 Documentation[1]. The controller transfers words using PIO. DMA 17*b610d533SAlex Elder transfers are supported as well, if both TX and RX DMA channels are 18*b610d533SAlex Elder specified, 19*b610d533SAlex Elder 20*b610d533SAlex Elder [1] https://developer.spacemit.com/documentation 21*b610d533SAlex Elder 22*b610d533SAlex ElderallOf: 23*b610d533SAlex Elder - $ref: /schemas/spi/spi-controller.yaml# 24*b610d533SAlex Elder 25*b610d533SAlex Elderproperties: 26*b610d533SAlex Elder compatible: 27*b610d533SAlex Elder const: spacemit,k1-spi 28*b610d533SAlex Elder 29*b610d533SAlex Elder reg: 30*b610d533SAlex Elder maxItems: 1 31*b610d533SAlex Elder 32*b610d533SAlex Elder clocks: 33*b610d533SAlex Elder items: 34*b610d533SAlex Elder - description: Core clock 35*b610d533SAlex Elder - description: Bus clock 36*b610d533SAlex Elder 37*b610d533SAlex Elder clock-names: 38*b610d533SAlex Elder items: 39*b610d533SAlex Elder - const: core 40*b610d533SAlex Elder - const: bus 41*b610d533SAlex Elder 42*b610d533SAlex Elder resets: 43*b610d533SAlex Elder maxItems: 1 44*b610d533SAlex Elder 45*b610d533SAlex Elder interrupts: 46*b610d533SAlex Elder maxItems: 1 47*b610d533SAlex Elder 48*b610d533SAlex Elder dmas: 49*b610d533SAlex Elder items: 50*b610d533SAlex Elder - description: RX DMA channel 51*b610d533SAlex Elder - description: TX DMA channel 52*b610d533SAlex Elder 53*b610d533SAlex Elder dma-names: 54*b610d533SAlex Elder items: 55*b610d533SAlex Elder - const: rx 56*b610d533SAlex Elder - const: tx 57*b610d533SAlex Elder 58*b610d533SAlex Elderrequired: 59*b610d533SAlex Elder - compatible 60*b610d533SAlex Elder - reg 61*b610d533SAlex Elder - clocks 62*b610d533SAlex Elder - clock-names 63*b610d533SAlex Elder - resets 64*b610d533SAlex Elder - interrupts 65*b610d533SAlex Elder 66*b610d533SAlex ElderunevaluatedProperties: false 67*b610d533SAlex Elder 68*b610d533SAlex Elderexamples: 69*b610d533SAlex Elder - | 70*b610d533SAlex Elder 71*b610d533SAlex Elder #include <dt-bindings/clock/spacemit,k1-syscon.h> 72*b610d533SAlex Elder spi@d401c000 { 73*b610d533SAlex Elder compatible = "spacemit,k1-spi"; 74*b610d533SAlex Elder reg = <0xd401c000 0x30>; 75*b610d533SAlex Elder #address-cells = <1>; 76*b610d533SAlex Elder #size-cells = <0>; 77*b610d533SAlex Elder clocks = <&syscon_apbc CLK_SSP3>, 78*b610d533SAlex Elder <&syscon_apbc CLK_SSP3_BUS>; 79*b610d533SAlex Elder clock-names = "core", "bus"; 80*b610d533SAlex Elder resets = <&syscon_apbc RESET_SSP3>; 81*b610d533SAlex Elder interrupts = <55>; 82*b610d533SAlex Elder dmas = <&pdma 20>, <&pdma 19>; 83*b610d533SAlex Elder dma-names = "rx", "tx"; 84*b610d533SAlex Elder }; 85