All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: "David S . Miller" <davem@davemloft.net>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	"Tony Lindgren" <tony@atomide.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"David Lechner" <david@lechnology.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	devicetree@vger.kernel.org, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH 2/3] dt-bindings: net: wireless: ti,wlcore: Convert to json-schema
Date: Tue, 19 Oct 2021 16:05:05 -0500	[thread overview]
Message-ID: <YW8zAR0aeSduLRoD@robh.at.kernel.org> (raw)
In-Reply-To: <23a2fbc46255a988e5d36f6c14abb7130480d200.1634646975.git.geert+renesas@glider.be>

On Tue, Oct 19, 2021 at 02:43:12PM +0200, Geert Uytterhoeven wrote:
> The Texas Instruments Wilink 6/7/8 (wl12xx/wl18xx) Wireless LAN
> Controllers can be connected via SPI or via SDIO.
> Convert the two Device Tree binding documents to json-schema, and merge
> them into a single document.
> 
> Add missing ti,wl1285 compatible value.
> Add missing interrupt-names property.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>   - The wlcore driver is marked orphan in MAINTAINERS.  Both Tony and
>     Russell made recent bugfixes, and my not-so-random coin picked Tony
>     as a suitable maintainer.  Please scream if not appropriate.
>   - How to express if a property is required when connected to a
>     specific bus type?

There isn't a (simple) way within this schema, but IIRC the spi bus 
schema already requires 'reg' in child nodes.

Otherwise, looks good and I'll queue.

> ---
>  .../devicetree/bindings/net/ti-bluetooth.txt  |   2 +-
>  .../bindings/net/wireless/ti,wlcore,spi.txt   |  57 --------
>  .../bindings/net/wireless/ti,wlcore.txt       |  45 ------
>  .../bindings/net/wireless/ti,wlcore.yaml      | 134 ++++++++++++++++++
>  arch/arm/boot/dts/omap3-gta04a5.dts           |   2 +-
>  5 files changed, 136 insertions(+), 104 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/wireless/ti,wlcore,spi.txt
>  delete mode 100644 Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
>  create mode 100644 Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/ti-bluetooth.txt b/Documentation/devicetree/bindings/net/ti-bluetooth.txt
> index f48c17b38f5851de..3c01cfc1e12dc132 100644
> --- a/Documentation/devicetree/bindings/net/ti-bluetooth.txt
> +++ b/Documentation/devicetree/bindings/net/ti-bluetooth.txt
> @@ -13,7 +13,7 @@ and GPS over what's called "shared transport". The shared transport is
>  standard BT HCI protocol with additional channels for the other functions.
>  
>  TI WiLink devices also have a separate WiFi interface as described in
> -wireless/ti,wlcore.txt.
> +wireless/ti,wlcore.yaml.
>  
>  This bindings follows the UART slave device binding in ../serial/serial.yaml.
>  
> diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wlcore,spi.txt b/Documentation/devicetree/bindings/net/wireless/ti,wlcore,spi.txt
> deleted file mode 100644
> index cb5c9e1569ca5300..0000000000000000
> --- a/Documentation/devicetree/bindings/net/wireless/ti,wlcore,spi.txt
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -* Texas Instruments wl12xx/wl18xx wireless lan controller
> -
> -The wl12xx/wl18xx chips can be connected via SPI or via SDIO. This
> -document describes the binding for the SPI connected chip.
> -
> -Required properties:
> -- compatible :          Should be one of the following:
> -    * "ti,wl1271"
> -    * "ti,wl1273"
> -    * "ti,wl1281"
> -    * "ti,wl1283"
> -    * "ti,wl1801"
> -    * "ti,wl1805"
> -    * "ti,wl1807"
> -    * "ti,wl1831"
> -    * "ti,wl1835"
> -    * "ti,wl1837"
> -- reg :                 Chip select address of device
> -- spi-max-frequency :   Maximum SPI clocking speed of device in Hz
> -- interrupts :          Should contain parameters for 1 interrupt line.
> -- vwlan-supply :        Point the node of the regulator that powers/enable the
> -                        wl12xx/wl18xx chip
> -
> -Optional properties:
> -- ref-clock-frequency : Reference clock frequency (should be set for wl12xx)
> -- clock-xtal :          boolean, clock is generated from XTAL
> -
> -- Please consult Documentation/devicetree/bindings/spi/spi-bus.txt
> -  for optional SPI connection related properties,
> -
> -Examples:
> -
> -For wl12xx family:
> -&spi1 {
> -	wlcore: wlcore@1 {
> -		compatible = "ti,wl1271";
> -		reg = <1>;
> -		spi-max-frequency = <48000000>;
> -		interrupt-parent = <&gpio3>;
> -		interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
> -		vwlan-supply = <&vwlan_fixed>;
> -		clock-xtal;
> -		ref-clock-frequency = <38400000>;
> -	};
> -};
> -
> -For wl18xx family:
> -&spi0 {
> -	wlcore: wlcore@0 {
> -		compatible = "ti,wl1835";
> -		reg = <0>;
> -		spi-max-frequency = <48000000>;
> -		interrupt-parent = <&gpio0>;
> -		interrupts = <27 IRQ_TYPE_EDGE_RISING>;
> -		vwlan-supply = <&vwlan_fixed>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt b/Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
> deleted file mode 100644
> index 9306c4dadd46aea7..0000000000000000
> --- a/Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -TI Wilink 6/7/8 (wl12xx/wl18xx) SDIO devices
> -
> -This node provides properties for controlling the wilink wireless device. The
> -node is expected to be specified as a child node to the SDIO controller that
> -connects the device to the system.
> -
> -Required properties:
> - - compatible: should be one of the following:
> -    * "ti,wl1271"
> -    * "ti,wl1273"
> -    * "ti,wl1281"
> -    * "ti,wl1283"
> -    * "ti,wl1285"
> -    * "ti,wl1801"
> -    * "ti,wl1805"
> -    * "ti,wl1807"
> -    * "ti,wl1831"
> -    * "ti,wl1835"
> -    * "ti,wl1837"
> - - interrupts : specifies attributes for the out-of-band interrupt.
> -
> -Optional properties:
> - - ref-clock-frequency : ref clock frequency in Hz
> - - tcxo-clock-frequency : tcxo clock frequency in Hz
> -
> -Note: the *-clock-frequency properties assume internal clocks. In case of external
> -clock, new bindings (for parsing the clock nodes) have to be added.
> -
> -Example:
> -
> -&mmc3 {
> -	vmmc-supply = <&wlan_en_reg>;
> -	bus-width = <4>;
> -	cap-power-off-card;
> -	keep-power-in-suspend;
> -
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -	wlcore: wlcore@2 {
> -		compatible = "ti,wl1835";
> -		reg = <2>;
> -		interrupt-parent = <&gpio0>;
> -		interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml b/Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml
> new file mode 100644
> index 0000000000000000..8dd164d10290082a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml
> @@ -0,0 +1,134 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/wireless/ti,wlcore.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments Wilink 6/7/8 (wl12xx/wl18xx) Wireless LAN Controller
> +
> +maintainers:
> +  - Tony Lindgren <tony@atomide.com>
> +
> +description:
> +  The wl12xx/wl18xx chips can be connected via SPI or via SDIO.
> +  Note that the *-clock-frequency properties assume internal clocks.  In case
> +  of external clocks, new bindings (for parsing the clock nodes) have to be
> +  added.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ti,wl1271
> +      - ti,wl1273
> +      - ti,wl1281
> +      - ti,wl1283
> +      - ti,wl1285
> +      - ti,wl1801
> +      - ti,wl1805
> +      - ti,wl1807
> +      - ti,wl1831
> +      - ti,wl1835
> +      - ti,wl1837
> +
> +  reg:
> +    maxItems: 1
> +    description:
> +      This is required when connected via SPI, and optional when connected via
> +      SDIO.
> +
> +  spi-max-frequency: true
> +
> +  interrupts:
> +    minItems: 1
> +    maxItems: 2
> +
> +  interrupt-names:
> +    items:
> +      - const: irq
> +      - const: wakeup
> +
> +  vwlan-supply:
> +    description:
> +      Points to the node of the regulator that powers/enable the wl12xx/wl18xx
> +      chip.  This is required when connected via SPI.
> +
> +
> +  ref-clock-frequency:
> +    description: Reference clock frequency.
> +
> +  tcxo-clock-frequency:
> +    description: TCXO clock frequency.
> +
> +  clock-xtal:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: Indicates that the clock is generated from XTAL.
> +
> +required:
> +  - compatible
> +  - interrupts
> +
> +if:
> +  properties:
> +    compatible:
> +      contains:
> +        enum:
> +          - ti,wl1271
> +          - ti,wl1273
> +          - ti,wl1281
> +          - ti,wl1283
> +then:
> +  required:
> +    - ref-clock-frequency
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    // For wl12xx family:
> +    spi1 {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            wlcore1: wlcore@1 {
> +                    compatible = "ti,wl1271";
> +                    reg = <1>;
> +                    spi-max-frequency = <48000000>;
> +                    interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
> +                    vwlan-supply = <&vwlan_fixed>;
> +                    clock-xtal;
> +                    ref-clock-frequency = <38400000>;
> +            };
> +    };
> +
> +    // For wl18xx family:
> +    spi2 {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            wlcore2: wlcore@0 {
> +                    compatible = "ti,wl1835";
> +                    reg = <0>;
> +                    spi-max-frequency = <48000000>;
> +                    interrupts = <27 IRQ_TYPE_EDGE_RISING>;
> +                    vwlan-supply = <&vwlan_fixed>;
> +            };
> +    };
> +
> +    // SDIO example:
> +    mmc3 {
> +            vmmc-supply = <&wlan_en_reg>;
> +            bus-width = <4>;
> +            cap-power-off-card;
> +            keep-power-in-suspend;
> +
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            wlcore3: wlcore@2 {
> +                    compatible = "ti,wl1835";
> +                    reg = <2>;
> +                    interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
> +            };
> +    };
> diff --git a/arch/arm/boot/dts/omap3-gta04a5.dts b/arch/arm/boot/dts/omap3-gta04a5.dts
> index a2ba4030cf279683..0b5bd73888771438 100644
> --- a/arch/arm/boot/dts/omap3-gta04a5.dts
> +++ b/arch/arm/boot/dts/omap3-gta04a5.dts
> @@ -79,7 +79,7 @@ OMAP3_CORE1_IOPAD(0x2138, PIN_INPUT | MUX_MODE4) /* gpin114 */
>  
>  /*
>   * for WL183x module see
> - * Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
> + * Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml
>   */
>  
>  &wifi_pwrseq {
> -- 
> 2.25.1
> 
> 

  reply	other threads:[~2021-10-19 21:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-19 12:43 [PATCH 0/3] dt-bindings: net: TI wlcore json schema conversion and fix Geert Uytterhoeven
2021-10-19 12:43 ` [PATCH 1/3] ARM: dts: motorola-mapphone: Drop second ti,wlcore compatible value Geert Uytterhoeven
2021-10-19 22:23   ` Sebastian Reichel
2021-10-19 12:43 ` [PATCH 2/3] dt-bindings: net: wireless: ti,wlcore: Convert to json-schema Geert Uytterhoeven
2021-10-19 21:05   ` Rob Herring [this message]
2021-10-20 14:21   ` Rob Herring
2021-10-19 12:43 ` [PATCH 3/3] dt-bindings: net: ti,bluetooth: " Geert Uytterhoeven
2021-10-19 15:41   ` David Lechner
2021-10-19 15:48     ` Geert Uytterhoeven
2021-10-20 14:22   ` Rob Herring
2021-10-19 13:33 ` [PATCH 0/3] dt-bindings: net: TI wlcore json schema conversion and fix Kalle Valo
2021-10-19 13:48   ` Geert Uytterhoeven
2021-10-19 14:05     ` Kalle Valo

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=YW8zAR0aeSduLRoD@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=bcousson@baylibre.com \
    --cc=davem@davemloft.net \
    --cc=david@lechnology.com \
    --cc=devicetree@vger.kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=kuba@kernel.org \
    --cc=kvalo@codeaurora.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=sre@kernel.org \
    --cc=tony@atomide.com \
    /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.