mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Add new bindings for the v2 Marvell xSPI overlay: marvell,cn10-xspi-nor compatible string. This new compatible string distinguishes between the original and modified xSPI block. Also add an optional base for the xfer register set with an additional reg field to allocate the xSPI Marvell overlay XFER block. Signed-off-by: Witold Sadowski <wsadowski@marvell.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/20240724154739.582367-2-wsadowski@marvell.com Signed-off-by: Mark Brown <broonie@kernel.org>
102 lines
2.3 KiB
YAML
102 lines
2.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
# Copyright 2020-21 Cadence
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/spi/cdns,xspi.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Cadence XSPI Controller
|
|
|
|
maintainers:
|
|
- Parshuram Thombare <pthombar@cadence.com>
|
|
|
|
description: |
|
|
The XSPI controller allows SPI protocol communication in
|
|
single, dual, quad or octal wire transmission modes for
|
|
read/write access to slaves such as SPI-NOR flash.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- cdns,xspi-nor
|
|
- marvell,cn10-xspi-nor
|
|
|
|
reg:
|
|
items:
|
|
- description: address and length of the controller register set
|
|
- description: address and length of the Slave DMA data port
|
|
- description: address and length of the auxiliary registers
|
|
- description: address and length of the xfer registers
|
|
minItems: 3
|
|
|
|
reg-names:
|
|
items:
|
|
- const: io
|
|
- const: sdma
|
|
- const: aux
|
|
- const: xfer
|
|
minItems: 3
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
|
|
allOf:
|
|
- $ref: spi-controller.yaml#
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- marvell,cn10-xspi-nor
|
|
then:
|
|
properties:
|
|
reg:
|
|
minItems: 4
|
|
reg-names:
|
|
minItems: 4
|
|
else:
|
|
properties:
|
|
reg:
|
|
maxItems: 3
|
|
reg-names:
|
|
maxItems: 3
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
bus {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
xspi: spi@a0010000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "cdns,xspi-nor";
|
|
reg = <0x0 0xa0010000 0x0 0x1040>,
|
|
<0x0 0xb0000000 0x0 0x1000>,
|
|
<0x0 0xa0020000 0x0 0x100>;
|
|
reg-names = "io", "sdma", "aux";
|
|
interrupts = <0 90 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-parent = <&gic>;
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
spi-max-frequency = <75000000>;
|
|
reg = <0>;
|
|
};
|
|
|
|
flash@1 {
|
|
compatible = "jedec,spi-nor";
|
|
spi-max-frequency = <75000000>;
|
|
reg = <1>;
|
|
};
|
|
};
|
|
};
|