Skip to content

Commit ca4e2ac

Browse files
fancerbroonie
authored andcommitted
spi: dw: Add Baikal-T1 SPI Controller bindings
These controllers are based on the DW APB SSI IP-core and embedded into the SoC, so two of them are equipped with IRQ, DMA, 64 words FIFOs and 4 native CS, while another one as being utilized by the Baikal-T1 System Boot Controller has got a very limited resources: no IRQ, no DMA, only a single native chip-select and just 8 bytes Tx/Rx FIFOs available. That's why we have to mark the IRQ to be optional for the later interface. The SPI controller embedded into the Baikal-T1 System Boot Controller can be also used to directly access an external SPI flash by means of a dedicated FSM. The corresponding MMIO region availability is switchable by the embedded multiplexor, which phandle can be specified in the dts node. * We added a new example to test out the non-standard Baikal-T1 System Boot SPI Controller DT binding. Co-developed-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru> Signed-off-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20201007235511.4935-21-Sergey.Semin@baikalelectronics.ru Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent abf0090 commit ca4e2ac

1 file changed

Lines changed: 31 additions & 2 deletions

File tree

Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,21 @@ allOf:
2222
properties:
2323
reg:
2424
minItems: 2
25+
- if:
26+
properties:
27+
compatible:
28+
contains:
29+
enum:
30+
- baikal,bt1-sys-ssi
31+
then:
32+
properties:
33+
mux-controls:
34+
maxItems: 1
35+
required:
36+
- mux-controls
37+
else:
38+
required:
39+
- interrupts
2540

2641
properties:
2742
compatible:
@@ -46,12 +61,16 @@ properties:
4661
- const: snps,dw-apb-ssi
4762
- description: Intel Keem Bay SPI Controller
4863
const: intel,keembay-ssi
64+
- description: Baikal-T1 SPI Controller
65+
const: baikal,bt1-ssi
66+
- description: Baikal-T1 System Boot SPI Controller
67+
const: baikal,bt1-sys-ssi
4968

5069
reg:
5170
minItems: 1
5271
items:
5372
- description: DW APB SSI controller memory mapped registers
54-
- description: SPI MST region map
73+
- description: SPI MST region map or directly mapped SPI ROM
5574

5675
interrupts:
5776
maxItems: 1
@@ -129,7 +148,6 @@ required:
129148
- reg
130149
- "#address-cells"
131150
- "#size-cells"
132-
- interrupts
133151
- clocks
134152

135153
examples:
@@ -151,4 +169,15 @@ examples:
151169
rx-sample-delay-ns = <7>;
152170
};
153171
};
172+
- |
173+
spi@1f040100 {
174+
compatible = "baikal,bt1-sys-ssi";
175+
reg = <0x1f040100 0x900>,
176+
<0x1c000000 0x1000000>;
177+
#address-cells = <1>;
178+
#size-cells = <0>;
179+
mux-controls = <&boot_mux>;
180+
clocks = <&ccu_sys>;
181+
clock-names = "ssi_clk";
182+
};
154183
...

0 commit comments

Comments
 (0)