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
>
>
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).