[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aEhPTXHHulIP5MqG@lizhi-Precision-Tower-5810>
Date: Tue, 10 Jun 2025 11:29:17 -0400
From: Frank Li <Frank.li@....com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Stefan Wahren <wahrenst@....net>,
"open list:NETWORKING DRIVERS" <netdev@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>, imx@...ts.linux.dev
Subject: Re: [PATCH v3 1/1] dt-bindings: net: convert qca,qca7000.txt yaml
format
On Tue, Jun 10, 2025 at 09:24:40AM +0200, Krzysztof Kozlowski wrote:
> On Fri, Jun 06, 2025 at 11:51:17AM GMT, Frank Li wrote:
> > +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
> > +
> > +if:
>
> Please put this if: inside allOf: section, so you won't need to
> re-indent it when adding one more if-clause.
>
> > + required:
> > + - reg
> > +
> > +then:
> > + properties:
> > + spi-cpha: true
> > +
> > + spi-cpol: true
> > +
> > + spi-max-frequency:
> > + default: 8000000
> > + maximum: 16000000
> > + minimum: 1000000
> > +
> > + qca,legacy-mode:
>
> This should be defined in top-level properties and you only do:
> "foo: false" in "else:" part.
>
> > + $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: /schemas/spi/spi-peripheral-props.yaml#
>
> This should be part of top-level allOf.
>
> > +
> > +else:
> > + properties:
> > + current-speed:
> > + default: 115200
> > +
> > + allOf:
> > + - $ref: /schemas/serial/serial-peripheral-props.yaml#
>
> Same here.
If it is one top, how to disable all properties in serial-peripheral-props.yaml
if it connect to spi (reg exist).
Frank
>
> > +
> > +allOf:
> > + - $ref: ethernet-controller.yaml#
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + spi {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + ethernet@0 {
> > + compatible = "qca,qca7000";
> > + reg = <0x0>;
> > + interrupt-parent = <&gpio3>; /* GPIO Bank 3 */
> > + interrupts = <25 0x1>; /* Index: 25, rising edge */
> > + spi-cpha; /* SPI mode: CPHA=1 */
> > + spi-cpol; /* SPI mode: CPOL=1 */
> > + spi-max-frequency = <8000000>; /* freq: 8 MHz */
> > + 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>;
> > + };
>
> Best regards,
> Krzysztof
>
Powered by blists - more mailing lists