The Prism54 SPI driver hardcodes GPIO numbers and expects users to
pass them as module parameters, apparently a relic from its life as a
staging driver. This works because there is only one user, the Nokia
N8x0 tablet.
Convert this to the gpio descriptor interface and move the gpio
line information into devicetree to improve this and simplify the
code at the same time.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---Can you please change that to: Christian Lamparter <chunkeey@xxxxxxxxx> ?
As I don't have an N8x0, this is completely untested.
I listed the driver authors (Johannes and Christian) as the maintainers
of the binding document, but I don't know if they actually have this
hardware. It might be better to list someone who is actually using it.
Among the various chip identifications, I wasn't sure which one to
use for the compatible string and the name of the binding document.
I picked st,stlc4560 as that was cited as the version in the N800
on multiple websites.
---
.../bindings/net/wireless/st,stlc45xx.yaml | 64 +++++++++++++++++
MAINTAINERS | 1 +
arch/arm/boot/dts/omap2.dtsi | 4 ++
arch/arm/boot/dts/omap2420-n8x0-common.dtsi | 12 ++++
arch/arm/mach-omap2/board-n8x0.c | 18 -----
drivers/net/wireless/intersil/p54/p54spi.c | 69 +++++++------------
drivers/net/wireless/intersil/p54/p54spi.h | 3 +
7 files changed, 109 insertions(+), 62 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml
diff --git a/Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml b/Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml
new file mode 100644
index 000000000000..45bc4fab409a
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/wireless/st,stlc45xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ST/Intersil/Conexant stlc45xx/p54spi/cx3110x SPI wireless device
+
+maintainers:
+ - Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
+ - Christian Lamparter <chunkeey@xxxxxx>
+description: |
+ The SPI variant of the Intersil Prism54 wireless device was sold
+ under a variety of names, including ST Microelectronics STLC5460
+ and Conexant CX3110x.
+
+allOf:
+ - $ref: ieee80211.yaml#
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+ compatible:
+ enum:
+ - st,stlc4550
+ - st,stlc4560
+ - isil,p54spi
+ - cnxt,3110x
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ power-gpios:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ gpio {
+ gpio-controller;
+ #gpio-cells = <1>;
+ #interupt-cells = <1>;
+ };
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ wifi@0 {
+ reg = <0>;
+ compatible = "st,stlc4560";
+ spi-max-frequency = <48000000>;
+ interrupts-extended = <&gpio 23>;
+ power-gpios = <&gpio 1>;
+ };
+ };