Skip to content

Commit dd71cd4

Browse files
neuschaeferbroonie
authored andcommitted
spi: Add Nuvoton WPCM450 Flash Interface Unit (FIU) bindings
The Flash Interface Unit (FIU) is the SPI flash controller in the Nuvoton WPCM450 BMC SoC. It supports four chip selects, and direct (memory-mapped) access to 16 MiB per chip. Larger flash chips can be accessed by software-defined SPI transfers. The FIU in newer NPCM7xx SoCs is not compatible with the WPCM450 FIU. Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20221124191400.287918-2-j.neuschaefer@gmx.net Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 9838c18 commit dd71cd4

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/nuvoton,wpcm450-fiu.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Nuvoton WPCM450 Flash Interface Unit (FIU)
8+
9+
maintainers:
10+
- Jonathan Neuschäfer <j.neuschaefer@gmx.net>
11+
12+
allOf:
13+
- $ref: /schemas/spi/spi-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: nuvoton,wpcm450-fiu
18+
19+
reg:
20+
items:
21+
- description: FIU registers
22+
- description: Memory-mapped flash contents
23+
24+
reg-names:
25+
items:
26+
- const: control
27+
- const: memory
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
clocks:
33+
maxItems: 1
34+
35+
nuvoton,shm:
36+
$ref: /schemas/types.yaml#/definitions/phandle
37+
description: a phandle to the SHM block (see ../arm/nuvoton,shm.yaml)
38+
39+
required:
40+
- compatible
41+
- reg
42+
- clocks
43+
44+
unevaluatedProperties: false
45+
46+
examples:
47+
- |
48+
#include <dt-bindings/clock/nuvoton,wpcm450-clk.h>
49+
spi@c8000000 {
50+
compatible = "nuvoton,wpcm450-fiu";
51+
reg = <0xc8000000 0x1000>, <0xc0000000 0x4000000>;
52+
#address-cells = <1>;
53+
#size-cells = <0>;
54+
reg-names = "control", "memory";
55+
clocks = <&clk WPCM450_CLK_FIU>;
56+
nuvoton,shm = <&shm>;
57+
58+
flash@0 {
59+
compatible = "jedec,spi-nor";
60+
};
61+
};
62+
63+
shm: syscon@c8001000 {
64+
compatible = "nuvoton,wpcm450-shm", "syscon";
65+
reg = <0xc8001000 0x1000>;
66+
};

0 commit comments

Comments
 (0)