linux-loongson/Documentation/devicetree/bindings/net/qca,qca7000.yaml
Frank Li bf92ffb0d3 dt-bindings: net: convert qca,qca7000.txt yaml format
Convert qca,qca7000.txt yaml format.

Additional changes:
- add refs: spi-peripheral-props.yaml, serial-peripheral-props.yaml and
  ethernet-controller.yaml.
- simple spi and uart node name.
- use low case for mac address in examples.
- add check reg choose spi-peripheral-props.yaml or
  spi-peripheral-props.yaml.

Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250618184417.2169745-1-Frank.Li@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-06-23 16:28:28 -07:00

110 lines
2.6 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/qca,qca7000.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm QCA7000
maintainers:
- Frank Li <Frank.Li@nxp.com>
description: |
The QCA7000 is a serial-to-powerline bridge with a host interface which could
be configured either as SPI or UART slave. This configuration is done by
the QCA7000 firmware.
(a) Ethernet over SPI
In order to use the QCA7000 as SPI device it must be defined as a child of a
SPI master in the device tree.
(b) Ethernet over UART
In order to use the QCA7000 as UART slave it must be defined as a child of a
UART master in the device tree. It is possible to preconfigure the UART
settings of the QCA7000 firmware, but it's not possible to change them during
runtime
properties:
compatible:
const: qca,qca7000
reg:
maxItems: 1
interrupts:
maxItems: 1
qca,legacy-mode:
$ref: /schemas/types.yaml#/definitions/flag
description:
Set the SPI data transfer of the QCA7000 to legacy mode.
In this mode the SPI master must toggle the chip select
between each data word. In burst mode these gaps aren't
necessary, which is faster. This setting depends on how
the QCA7000 is setup via GPIO pin strapping. If the
property is missing the driver defaults to burst mode.
allOf:
- $ref: ethernet-controller.yaml#
- if:
required:
- reg
then:
properties:
spi-cpha: true
spi-cpol: true
spi-max-frequency:
default: 8000000
maximum: 16000000
minimum: 1000000
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
else:
properties:
current-speed:
default: 115200
qca,legacy-mode: false
allOf:
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
spi {
#address-cells = <1>;
#size-cells = <0>;
ethernet@0 {
compatible = "qca,qca7000";
reg = <0x0>;
interrupt-parent = <&gpio3>;
interrupts = <25 IRQ_TYPE_EDGE_RISING>;
spi-cpha;
spi-cpol;
spi-max-frequency = <8000000>;
local-mac-address = [ a0 b0 c0 d0 e0 f0 ];
};
};
- |
serial {
ethernet {
compatible = "qca,qca7000";
local-mac-address = [ a0 b0 c0 d0 e0 f0 ];
current-speed = <38400>;
};
};