2020-05-29 21:25:43 +03:00
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id : http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml#
$schema : http://devicetree.org/meta-schemas/core.yaml#
title : Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface
maintainers :
- Mark Brown <broonie@kernel.org>
allOf :
- $ref : "spi-controller.yaml#"
- if :
properties :
compatible :
contains :
enum :
- mscc,ocelot-spi
- mscc,jaguar2-spi
then :
properties :
reg :
minItems : 2
2020-10-08 02:55:09 +03:00
- if :
properties :
compatible :
contains :
enum :
- baikal,bt1-sys-ssi
then :
properties :
mux-controls :
maxItems : 1
required :
- mux-controls
else :
required :
- interrupts
2020-05-29 21:25:43 +03:00
properties :
compatible :
oneOf :
- description : Generic DW SPI Controller
enum :
- snps,dw-apb-ssi
- snps,dwc-ssi-1.01a
- description : Microsemi Ocelot/Jaguar2 SoC SPI Controller
items :
- enum :
- mscc,ocelot-spi
- mscc,jaguar2-spi
- const : snps,dw-apb-ssi
2020-08-24 22:30:08 +02:00
- description : Microchip Sparx5 SoC SPI Controller
const : microchip,sparx5-spi
2020-05-29 21:25:43 +03:00
- description : Amazon Alpine SPI Controller
const : amazon,alpine-dw-apb-ssi
- description : Renesas RZ/N1 SPI Controller
items :
- const : renesas,rzn1-spi
- const : snps,dw-apb-ssi
- description : Intel Keem Bay SPI Controller
const : intel,keembay-ssi
2020-10-08 02:55:09 +03:00
- description : Baikal-T1 SPI Controller
const : baikal,bt1-ssi
- description : Baikal-T1 System Boot SPI Controller
const : baikal,bt1-sys-ssi
2020-12-06 10:18:15 +09:00
- description : Canaan Kendryte K210 SoS SPI Controller
const : canaan,k210-spi
2021-05-06 13:52:59 +02:00
- description : Renesas RZ/N1 SPI Controller
items :
- enum :
- renesas,r9a06g032-spi # RZ/N1D
- renesas,r9a06g033-spi # RZ/N1S
- const : renesas,rzn1-spi # RZ/N1
2020-05-29 21:25:43 +03:00
reg :
minItems : 1
items :
- description : DW APB SSI controller memory mapped registers
2020-10-08 02:55:09 +03:00
- description : SPI MST region map or directly mapped SPI ROM
2020-05-29 21:25:43 +03:00
interrupts :
maxItems : 1
clocks :
minItems : 1
items :
- description : SPI Controller reference clock source
- description : APB interface clock source
clock-names :
minItems : 1
items :
- const : ssi_clk
- const : pclk
resets :
maxItems : 1
reset-names :
const : spi
reg-io-width :
$ref : /schemas/types.yaml#/definitions/uint32
description : I/O register width (in bytes) implemented by this device
default : 4
enum : [ 2 , 4 ]
num-cs :
default : 4
minimum : 1
maximum : 4
dmas :
items :
- description : TX DMA Channel
- description : RX DMA Channel
dma-names :
items :
- const : tx
- const : rx
2020-08-24 22:30:08 +02:00
rx-sample-delay-ns :
default : 0
2022-05-25 16:00:53 -05:00
description : |
Default value of the rx-sample-delay-ns property.
2020-08-24 22:30:08 +02:00
This value will be used if the property is not explicitly defined
2022-05-25 16:00:53 -05:00
for a SPI slave device.
SPI Rx sample delay offset, unit is nanoseconds.
The delay from the default sample time before the actual sample of the
rxd input signal occurs. The "rx_sample_delay" is an optional feature
of the designware controller, and the upper limit is also subject to
controller configuration.
2020-08-24 22:30:08 +02:00
2020-05-29 21:25:43 +03:00
patternProperties :
"^.*@[0-9a-f]+$" :
type : object
properties :
reg :
minimum : 0
maximum : 3
unevaluatedProperties : false
required :
- compatible
- reg
- "#address-cells"
- "#size-cells"
- clocks
examples :
- |
spi@fff00000 {
compatible = "snps,dw-apb-ssi";
reg = <0xfff00000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <0 154 4>;
clocks = <&spi_m_clk>;
num-cs = <2>;
cs-gpios = <&gpio0 13 0>,
<&gpio0 14 0>;
2020-08-24 22:30:08 +02:00
rx-sample-delay-ns = <3>;
2021-09-20 19:57:13 +05:30
flash@1 {
2020-08-24 22:30:08 +02:00
compatible = "spi-nand";
reg = <1>;
rx-sample-delay-ns = <7>;
};
2020-05-29 21:25:43 +03:00
};
2020-10-08 02:55:09 +03:00
- |
spi@1f040100 {
compatible = "baikal,bt1-sys-ssi";
reg = <0x1f040100 0x900>,
<0x1c000000 0x1000000>;
#address-cells = <1>;
#size-cells = <0>;
mux-controls = <&boot_mux>;
clocks = <&ccu_sys>;
clock-names = "ssi_clk";
};
2020-05-29 21:25:43 +03:00
...