# 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 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 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>; }; };