1*bf92ffb0SFrank Li# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*bf92ffb0SFrank Li%YAML 1.2 3*bf92ffb0SFrank Li--- 4*bf92ffb0SFrank Li$id: http://devicetree.org/schemas/net/qca,qca7000.yaml# 5*bf92ffb0SFrank Li$schema: http://devicetree.org/meta-schemas/core.yaml# 6*bf92ffb0SFrank Li 7*bf92ffb0SFrank Lititle: Qualcomm QCA7000 8*bf92ffb0SFrank Li 9*bf92ffb0SFrank Limaintainers: 10*bf92ffb0SFrank Li - Frank Li <Frank.Li@nxp.com> 11*bf92ffb0SFrank Li 12*bf92ffb0SFrank Lidescription: | 13*bf92ffb0SFrank Li The QCA7000 is a serial-to-powerline bridge with a host interface which could 14*bf92ffb0SFrank Li be configured either as SPI or UART slave. This configuration is done by 15*bf92ffb0SFrank Li the QCA7000 firmware. 16*bf92ffb0SFrank Li 17*bf92ffb0SFrank Li (a) Ethernet over SPI 18*bf92ffb0SFrank Li 19*bf92ffb0SFrank Li In order to use the QCA7000 as SPI device it must be defined as a child of a 20*bf92ffb0SFrank Li SPI master in the device tree. 21*bf92ffb0SFrank Li 22*bf92ffb0SFrank Li (b) Ethernet over UART 23*bf92ffb0SFrank Li 24*bf92ffb0SFrank Li In order to use the QCA7000 as UART slave it must be defined as a child of a 25*bf92ffb0SFrank Li UART master in the device tree. It is possible to preconfigure the UART 26*bf92ffb0SFrank Li settings of the QCA7000 firmware, but it's not possible to change them during 27*bf92ffb0SFrank Li runtime 28*bf92ffb0SFrank Li 29*bf92ffb0SFrank Liproperties: 30*bf92ffb0SFrank Li compatible: 31*bf92ffb0SFrank Li const: qca,qca7000 32*bf92ffb0SFrank Li 33*bf92ffb0SFrank Li reg: 34*bf92ffb0SFrank Li maxItems: 1 35*bf92ffb0SFrank Li 36*bf92ffb0SFrank Li interrupts: 37*bf92ffb0SFrank Li maxItems: 1 38*bf92ffb0SFrank Li 39*bf92ffb0SFrank Li qca,legacy-mode: 40*bf92ffb0SFrank Li $ref: /schemas/types.yaml#/definitions/flag 41*bf92ffb0SFrank Li description: 42*bf92ffb0SFrank Li Set the SPI data transfer of the QCA7000 to legacy mode. 43*bf92ffb0SFrank Li In this mode the SPI master must toggle the chip select 44*bf92ffb0SFrank Li between each data word. In burst mode these gaps aren't 45*bf92ffb0SFrank Li necessary, which is faster. This setting depends on how 46*bf92ffb0SFrank Li the QCA7000 is setup via GPIO pin strapping. If the 47*bf92ffb0SFrank Li property is missing the driver defaults to burst mode. 48*bf92ffb0SFrank Li 49*bf92ffb0SFrank LiallOf: 50*bf92ffb0SFrank Li - $ref: ethernet-controller.yaml# 51*bf92ffb0SFrank Li 52*bf92ffb0SFrank Li - if: 53*bf92ffb0SFrank Li required: 54*bf92ffb0SFrank Li - reg 55*bf92ffb0SFrank Li 56*bf92ffb0SFrank Li then: 57*bf92ffb0SFrank Li properties: 58*bf92ffb0SFrank Li spi-cpha: true 59*bf92ffb0SFrank Li 60*bf92ffb0SFrank Li spi-cpol: true 61*bf92ffb0SFrank Li 62*bf92ffb0SFrank Li spi-max-frequency: 63*bf92ffb0SFrank Li default: 8000000 64*bf92ffb0SFrank Li maximum: 16000000 65*bf92ffb0SFrank Li minimum: 1000000 66*bf92ffb0SFrank Li 67*bf92ffb0SFrank Li allOf: 68*bf92ffb0SFrank Li - $ref: /schemas/spi/spi-peripheral-props.yaml# 69*bf92ffb0SFrank Li 70*bf92ffb0SFrank Li else: 71*bf92ffb0SFrank Li properties: 72*bf92ffb0SFrank Li current-speed: 73*bf92ffb0SFrank Li default: 115200 74*bf92ffb0SFrank Li 75*bf92ffb0SFrank Li qca,legacy-mode: false 76*bf92ffb0SFrank Li 77*bf92ffb0SFrank Li allOf: 78*bf92ffb0SFrank Li - $ref: /schemas/serial/serial-peripheral-props.yaml# 79*bf92ffb0SFrank Li 80*bf92ffb0SFrank LiunevaluatedProperties: false 81*bf92ffb0SFrank Li 82*bf92ffb0SFrank Liexamples: 83*bf92ffb0SFrank Li - | 84*bf92ffb0SFrank Li #include <dt-bindings/interrupt-controller/irq.h> 85*bf92ffb0SFrank Li 86*bf92ffb0SFrank Li spi { 87*bf92ffb0SFrank Li #address-cells = <1>; 88*bf92ffb0SFrank Li #size-cells = <0>; 89*bf92ffb0SFrank Li 90*bf92ffb0SFrank Li ethernet@0 { 91*bf92ffb0SFrank Li compatible = "qca,qca7000"; 92*bf92ffb0SFrank Li reg = <0x0>; 93*bf92ffb0SFrank Li interrupt-parent = <&gpio3>; 94*bf92ffb0SFrank Li interrupts = <25 IRQ_TYPE_EDGE_RISING>; 95*bf92ffb0SFrank Li spi-cpha; 96*bf92ffb0SFrank Li spi-cpol; 97*bf92ffb0SFrank Li spi-max-frequency = <8000000>; 98*bf92ffb0SFrank Li local-mac-address = [ a0 b0 c0 d0 e0 f0 ]; 99*bf92ffb0SFrank Li }; 100*bf92ffb0SFrank Li }; 101*bf92ffb0SFrank Li 102*bf92ffb0SFrank Li - | 103*bf92ffb0SFrank Li serial { 104*bf92ffb0SFrank Li ethernet { 105*bf92ffb0SFrank Li compatible = "qca,qca7000"; 106*bf92ffb0SFrank Li local-mac-address = [ a0 b0 c0 d0 e0 f0 ]; 107*bf92ffb0SFrank Li current-speed = <38400>; 108*bf92ffb0SFrank Li }; 109*bf92ffb0SFrank Li }; 110