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>
This commit is contained in:
Jonathan Neuschäfer 2022-11-24 20:13:58 +01:00 committed by Mark Brown
parent 9838c18247
commit dd71cd4dd6
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
1 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,66 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/nuvoton,wpcm450-fiu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nuvoton WPCM450 Flash Interface Unit (FIU)
maintainers:
- Jonathan Neuschäfer <j.neuschaefer@gmx.net>
allOf:
- $ref: /schemas/spi/spi-controller.yaml#
properties:
compatible:
const: nuvoton,wpcm450-fiu
reg:
items:
- description: FIU registers
- description: Memory-mapped flash contents
reg-names:
items:
- const: control
- const: memory
interrupts:
maxItems: 1
clocks:
maxItems: 1
nuvoton,shm:
$ref: /schemas/types.yaml#/definitions/phandle
description: a phandle to the SHM block (see ../arm/nuvoton,shm.yaml)
required:
- compatible
- reg
- clocks
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/nuvoton,wpcm450-clk.h>
spi@c8000000 {
compatible = "nuvoton,wpcm450-fiu";
reg = <0xc8000000 0x1000>, <0xc0000000 0x4000000>;
#address-cells = <1>;
#size-cells = <0>;
reg-names = "control", "memory";
clocks = <&clk WPCM450_CLK_FIU>;
nuvoton,shm = <&shm>;
flash@0 {
compatible = "jedec,spi-nor";
};
};
shm: syscon@c8001000 {
compatible = "nuvoton,wpcm450-shm", "syscon";
reg = <0xc8001000 0x1000>;
};