All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Frank Li <Frank.Li@nxp.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Stefan Wahren <wahrenst@gmx.net>,
	"open list:NETWORKING DRIVERS" <netdev@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	imx@lists.linux.dev
Subject: Re: [PATCH v2 1/1] dt-bindings: net: convert qca,qca7000.txt yaml format
Date: Fri, 6 Jun 2025 08:28:18 -0500	[thread overview]
Message-ID: <20250606132818.GA1246648-robh@kernel.org> (raw)
In-Reply-To: <20250602224402.1047281-1-Frank.Li@nxp.com>

On Mon, Jun 02, 2025 at 06:44:01PM -0400, Frank Li wrote:
> 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.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change in v2
> - add Ethernet over UART" description here back
> - add add check reg choose spi-peripheral-props.yaml
> - move spi related properties in if-then branch
> - move uart related properies in if-else branch
> ---
>  .../devicetree/bindings/net/qca,qca7000.txt   |  87 ---------------
>  .../devicetree/bindings/net/qca,qca7000.yaml  | 104 ++++++++++++++++++
>  MAINTAINERS                                   |   2 +-
>  3 files changed, 105 insertions(+), 88 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/qca,qca7000.txt
>  create mode 100644 Documentation/devicetree/bindings/net/qca,qca7000.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/qca,qca7000.txt b/Documentation/devicetree/bindings/net/qca,qca7000.txt
> deleted file mode 100644
> index 8f5ae0b84eec2..0000000000000
> --- a/Documentation/devicetree/bindings/net/qca,qca7000.txt
> +++ /dev/null
> @@ -1,87 +0,0 @@
> -* Qualcomm QCA7000
> -
> -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.
> -
> -Required properties:
> -- compatible	    : Should be "qca,qca7000"
> -- reg		    : Should specify the SPI chip select
> -- interrupts	    : The first cell should specify the index of the source
> -		      interrupt and the second cell should specify the trigger
> -		      type as rising edge
> -- spi-cpha	    : Must be set
> -- spi-cpol	    : Must be set
> -
> -Optional properties:
> -- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at.
> -		      Numbers smaller than 1000000 or greater than 16000000
> -		      are invalid. Missing the property will set the SPI
> -		      frequency to 8000000 Hertz.
> -- qca,legacy-mode   : 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.
> -
> -The MAC address will be determined using the optional properties
> -defined in ethernet.txt.
> -
> -SPI Example:
> -
> -/* Freescale i.MX28 SPI master*/
> -ssp2: spi@80014000 {
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -	compatible = "fsl,imx28-spi";
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&spi2_pins_a>;
> -
> -	qca7000: 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 ];
> -	};
> -};
> -
> -(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.
> -
> -Required properties:
> -- compatible        : Should be "qca,qca7000"
> -
> -Optional properties:
> -- local-mac-address : see ./ethernet.txt
> -- current-speed     : current baud rate of QCA7000 which defaults to 115200
> -		      if absent, see also ../serial/serial.yaml
> -
> -UART Example:
> -
> -/* Freescale i.MX28 UART */
> -auart0: serial@8006a000 {
> -	compatible = "fsl,imx28-auart", "fsl,imx23-auart";
> -	reg = <0x8006a000 0x2000>;
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&auart0_2pins_a>;
> -
> -	qca7000: ethernet {
> -		compatible = "qca,qca7000";
> -		local-mac-address = [ A0 B0 C0 D0 E0 F0 ];
> -		current-speed = <38400>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/net/qca,qca7000.yaml b/Documentation/devicetree/bindings/net/qca,qca7000.yaml
> new file mode 100644
> index 0000000000000..5258288132968
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/qca,qca7000.yaml
> @@ -0,0 +1,104 @@
> +# 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
> +
> +if:
> +  required:
> +    - reg
> +
> +then:
> +  properties:
> +    spi-cpha: true
> +
> +    spi-cpol: true
> +
> +    spi-max-frequency:
> +      default: 8000000
> +      maximum: 16000000
> +      minimum: 1000000
> +
> +    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: /schemas/spi/spi-peripheral-props.yaml#
> +    - $ref: ethernet-controller.yaml#

ethernet-controller.yaml should be moved out of the 'if' schemas.

> +
> +else:
> +  properties:
> +    current-speed:
> +      default: 115200
> +
> +  allOf:
> +    - $ref: /schemas/serial/serial-peripheral-props.yaml#
> +    - $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>;
> +        };
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c14da518a214c..6416ada9900af 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -20295,7 +20295,7 @@ QUALCOMM ATHEROS QCA7K ETHERNET DRIVER
>  M:	Stefan Wahren <wahrenst@gmx.net>
>  L:	netdev@vger.kernel.org
>  S:	Maintained
> -F:	Documentation/devicetree/bindings/net/qca,qca7000.txt
> +F:	Documentation/devicetree/bindings/net/qca,qca7000.yaml
>  F:	drivers/net/ethernet/qualcomm/qca*
>  
>  QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
> -- 
> 2.34.1
> 

      parent reply	other threads:[~2025-06-06 13:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-02 22:44 [PATCH v2 1/1] dt-bindings: net: convert qca,qca7000.txt yaml format Frank Li
2025-06-03  0:45 ` Jakub Kicinski
2025-06-06 13:28 ` Rob Herring [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250606132818.GA1246648-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=Frank.Li@nxp.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=imx@lists.linux.dev \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=wahrenst@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.