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