mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
This binding documented clock-names, but never bothered to document what the name should be, rendering the property useless to software. It's not a required property, so it can just be removed without harming any software that conjured up it's own name for the clock, as they could not rely on it being there to begin with. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/20260303-spoils-snowbird-99f6e3a2dae3@spud Signed-off-by: Mark Brown <broonie@kernel.org>
153 lines
3.4 KiB
YAML
153 lines
3.4 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/spi/microchip,mpfs-spi.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Microchip FPGA {Q,}SPI Controllers
|
|
|
|
description:
|
|
SPI and QSPI controllers on Microchip PolarFire SoC and the "soft"/
|
|
fabric IP cores they are based on
|
|
|
|
maintainers:
|
|
- Conor Dooley <conor.dooley@microchip.com>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- microchip,mpfs-qspi
|
|
- microchip,pic64gx-qspi
|
|
- const: microchip,coreqspi-rtl-v2
|
|
- enum:
|
|
- microchip,coreqspi-rtl-v2 # FPGA QSPI
|
|
- microchip,corespi-rtl-v5 # FPGA CoreSPI
|
|
- microchip,mpfs-spi
|
|
- items:
|
|
- const: microchip,pic64gx-spi
|
|
- const: microchip,mpfs-spi
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
microchip,apb-datawidth:
|
|
description: APB bus data width in bits.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [8, 16, 32]
|
|
default: 8
|
|
|
|
microchip,frame-size:
|
|
description: |
|
|
Number of bits per SPI frame, as configured in Libero.
|
|
In Motorola and TI modes, this corresponds directly
|
|
to the requested frame size. For NSC mode this is set
|
|
to 9 + the required data frame size.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 4
|
|
maximum: 32
|
|
default: 8
|
|
|
|
microchip,protocol-configuration:
|
|
description: CoreSPI protocol selection. Determines operating mode
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum:
|
|
- motorola
|
|
- ti
|
|
- nsc
|
|
default: motorola
|
|
|
|
microchip,motorola-mode:
|
|
description: Motorola SPI mode selection
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 3]
|
|
default: 3
|
|
|
|
microchip,ssel-active:
|
|
description: |
|
|
Keep SSEL asserted between frames when using the Motorola protocol.
|
|
When present, the controller keeps SSEL active across contiguous
|
|
transfers and deasserts only when the overall transfer completes.
|
|
type: boolean
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
|
|
allOf:
|
|
- $ref: spi-controller.yaml#
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: microchip,mpfs-spi
|
|
then:
|
|
properties:
|
|
num-cs:
|
|
default: 1
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: microchip,mpfs-spi
|
|
not:
|
|
required:
|
|
- cs-gpios
|
|
then:
|
|
properties:
|
|
num-cs:
|
|
maximum: 1
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: microchip,corespi-rtl-v5
|
|
then:
|
|
properties:
|
|
num-cs:
|
|
minimum: 1
|
|
maximum: 8
|
|
default: 8
|
|
|
|
fifo-depth:
|
|
minimum: 1
|
|
maximum: 32
|
|
default: 4
|
|
|
|
else:
|
|
properties:
|
|
microchip,apb-datawidth: false
|
|
microchip,frame-size: false
|
|
microchip,protocol-configuration: false
|
|
microchip,motorola-mode: false
|
|
microchip,ssel-active: false
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include "dt-bindings/clock/microchip,mpfs-clock.h"
|
|
spi@20108000 {
|
|
compatible = "microchip,mpfs-spi";
|
|
reg = <0x20108000 0x1000>;
|
|
clocks = <&clkcfg CLK_SPI0>;
|
|
interrupt-parent = <&plic>;
|
|
interrupts = <54>;
|
|
};
|
|
...
|