* [PATCH 0/4] WCN36xx convert to mainline SMD interface
@ 2015-12-28 1:34 Bjorn Andersson
2015-12-28 1:34 ` [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding Bjorn Andersson
0 siblings, 1 reply; 7+ messages in thread
From: Bjorn Andersson @ 2015-12-28 1:34 UTC (permalink / raw)
To: Eugene Krasnikov, Kalle Valo
Cc: Ian Campbell, Mark Rutland, Pawel Moll, Rob Herring, devicetree,
fengwei.yin, linux-arm-msm, linux-kernel, linux-wireless, netdev,
wcn36xx
The mainline kernel now has the necessary implementations for SMD, SMSM and
WCNSS_CTRL. This series provides the changes necessary for the wcn36xx driver
to utilize this infrastructure and make this driver work in mainline.
A driver for loading the WCNSS firmware, through remoteproc, has been posted
here [1]. Upon starting this the necessary SMD channels will be registered,
which triggers the probe of the wcn36xx driver.
With this, the only missing piece for having fully working Qualcomm WiFi in
mainline is the RPM clock-controller, needed by the remoteproc driver for doing
XO calibration during boot of the WCNSS core. This is being worked on
separately.
[1] https://lkml.org/lkml/2015/12/27/185
Bjorn Andersson (4):
wcn36xx: Fold indication payload into message header
wcn36xx: Change indication list lock to spinlock
wcn36xx: Transition driver to SMD client
dt: binding: Add Qualcomm wcn36xx WiFi binding
.../bindings/net/wireless/qcom,wcn36xx-wifi.txt | 76 ++++++++++++++
drivers/net/wireless/ath/wcn36xx/Kconfig | 2 +-
drivers/net/wireless/ath/wcn36xx/dxe.c | 16 +--
drivers/net/wireless/ath/wcn36xx/main.c | 111 ++++++++++++---------
drivers/net/wireless/ath/wcn36xx/smd.c | 51 +++++-----
drivers/net/wireless/ath/wcn36xx/smd.h | 6 +-
drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 23 ++---
7 files changed, 188 insertions(+), 97 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
--
2.5.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding
2015-12-28 1:34 [PATCH 0/4] WCN36xx convert to mainline SMD interface Bjorn Andersson
@ 2015-12-28 1:34 ` Bjorn Andersson
2015-12-29 18:34 ` Rob Herring
[not found] ` <1451266467-15377-5-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
0 siblings, 2 replies; 7+ messages in thread
From: Bjorn Andersson @ 2015-12-28 1:34 UTC (permalink / raw)
To: Eugene Krasnikov, Ian Campbell, Kalle Valo, Mark Rutland,
Pawel Moll, Rob Herring
Cc: devicetree, fengwei.yin, linux-arm-msm, linux-kernel,
linux-wireless, netdev, wcn36xx
Add binding representing the Qualcomm wcn3620/60/80 WiFi block.
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
.../bindings/net/wireless/qcom,wcn36xx-wifi.txt | 76 ++++++++++++++++++++++
1 file changed, 76 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
new file mode 100644
index 000000000000..7b314b9f30af
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
@@ -0,0 +1,76 @@
+Qualcomm WCN36xx WiFi Binding
+
+This binding describes the Qualcomm WCN36xx WiFi hardware. The hardware block
+is part of the Qualcomm WCNSS core, a WiFi/BT/FM combo chip, found in a variety
+of Qualcomm platforms.
+
+- compatible:
+ Usage: required
+ Value type: <string>
+ Definition: must be one of:
+ "qcom,wcn3620-wlan",
+ "qcom,wcn3660-wlan",
+ "qcom,wcn3680-wlan"
+
+- qcom,smd-channel:
+ Usage: required
+ Value type: <string>
+ Definition: standard SMD property specifying the SMD channel used for
+ communication with the WiFi firmware
+
+- interrupts:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: should specify the two IRQs for tx and rx respectively
+
+- qcom,wcnss-mmio:
+ Usage: required
+ Value type: <prop-encoed-array>
+ Definition: should specify base address and size of the WiFi related
+ registers of WCNSS
+
+- qcom,state:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: should specify the tx-enable and tx-ring-empty state
+ references
+
+- qcom,state-names:
+ Usage: required
+ Value type: <stringlist>
+ Definition: name of the states, must be "tx-enable", "tx-rings-empty";
+
+- local-mac-address:
+ Usage: optional
+ Value type: <prop-encoded-array> encoded as array of hex numbers
+ Definition: specifies MAC address that was assigned to the network
+ device described by the node containing this property.
+
+= EXAMPLE
+The following example represents a SMD node, with one edge representing the
+"pronto" subsystem, with the wcn3680 WiFi device described; as found on the
+8974 platform.
+
+smd {
+ compatible = "qcom,smd";
+
+ pronto {
+ interrupts = <0 142 1>;
+
+ qcom,ipc = <&apcs 8 17>;
+ qcom,smd-edge = <6>;
+
+ wifi {
+ compatible = "qcom,wcn3680-wlan";
+ qcom,smd-channels = "WLAN_CTRL";
+
+ interrupts = <0 145 0>, <0 146 0>;
+ interrupt-names = "tx", "rx";
+
+ qcom,wcnss-mmio = <0xfb000000 0x21b000>;
+
+ qcom,state = <&apps_smsm 10>, <&apps_smsm 9>;
+ qcom,state-names = "tx-enable", "tx-rings-empty";
+ };
+ };
+};
--
2.5.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding
2015-12-28 1:34 ` [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding Bjorn Andersson
@ 2015-12-29 18:34 ` Rob Herring
2015-12-29 19:03 ` Bjorn Andersson
[not found] ` <1451266467-15377-5-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
1 sibling, 1 reply; 7+ messages in thread
From: Rob Herring @ 2015-12-29 18:34 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Eugene Krasnikov, Ian Campbell, Kalle Valo, Mark Rutland,
Pawel Moll, devicetree, fengwei.yin, linux-arm-msm, linux-kernel,
linux-wireless, netdev, wcn36xx
On Sun, Dec 27, 2015 at 05:34:27PM -0800, Bjorn Andersson wrote:
> Add binding representing the Qualcomm wcn3620/60/80 WiFi block.
> Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---
> .../bindings/net/wireless/qcom,wcn36xx-wifi.txt | 76 ++++++++++++++++++++++
> 1 file changed, 76 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> new file mode 100644
> index 000000000000..7b314b9f30af
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> @@ -0,0 +1,76 @@
> +Qualcomm WCN36xx WiFi Binding
> +
> +This binding describes the Qualcomm WCN36xx WiFi hardware. The hardware block
> +is part of the Qualcomm WCNSS core, a WiFi/BT/FM combo chip, found in a variety
> +of Qualcomm platforms.
Are BT/FM functions completely separate? If so, separate bindings are
okay. If not, then we need to describe the full chip.
Rob
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding
2015-12-29 18:34 ` Rob Herring
@ 2015-12-29 19:03 ` Bjorn Andersson
2015-12-29 23:27 ` Rob Herring
2016-01-25 17:50 ` Bjorn Andersson
0 siblings, 2 replies; 7+ messages in thread
From: Bjorn Andersson @ 2015-12-29 19:03 UTC (permalink / raw)
To: Rob Herring
Cc: Eugene Krasnikov, Ian Campbell, Kalle Valo, Mark Rutland,
Pawel Moll, devicetree, fengwei.yin, linux-arm-msm, linux-kernel,
linux-wireless, netdev, wcn36xx
On Tue 29 Dec 10:34 PST 2015, Rob Herring wrote:
> On Sun, Dec 27, 2015 at 05:34:27PM -0800, Bjorn Andersson wrote:
> > Add binding representing the Qualcomm wcn3620/60/80 WiFi block.
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> > ---
> > .../bindings/net/wireless/qcom,wcn36xx-wifi.txt | 76 ++++++++++++++++++++++
> > 1 file changed, 76 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> >
> > diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> > new file mode 100644
> > index 000000000000..7b314b9f30af
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> > @@ -0,0 +1,76 @@
> > +Qualcomm WCN36xx WiFi Binding
> > +
> > +This binding describes the Qualcomm WCN36xx WiFi hardware. The hardware block
> > +is part of the Qualcomm WCNSS core, a WiFi/BT/FM combo chip, found in a variety
> > +of Qualcomm platforms.
>
> Are BT/FM functions completely separate? If so, separate bindings are
> okay. If not, then we need to describe the full chip.
>
It's three different hardware blocks (WiFi, BT and FM-radio) with shared
RF-hardware and an ARM core for control logic.
There seems to be some control commands going towards the BT part that
controls coexistence properties of the RF-hardware, but other than that
I see it as logically separate blocks.
So I think it's fine to model this as separate pieces in DT.
Regards,
Bjorn
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding
[not found] ` <1451266467-15377-5-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
@ 2015-12-29 19:11 ` Andy Gross
0 siblings, 0 replies; 7+ messages in thread
From: Andy Gross @ 2015-12-29 19:11 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Eugene Krasnikov, Ian Campbell, Kalle Valo, Mark Rutland,
Pawel Moll, Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA,
fengwei.yin-QSEj5FYQhm4dnm+yROfE0A,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA,
wcn36xx-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Sun, Dec 27, 2015 at 05:34:27PM -0800, Bjorn Andersson wrote:
> Add binding representing the Qualcomm wcn3620/60/80 WiFi block.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
> ---
<snip>
> +
> +- qcom,wcnss-mmio:
> + Usage: required
> + Value type: <prop-encoed-array>
nit: encoded
> + Definition: should specify base address and size of the WiFi related
> + registers of WCNSS
> +
> +- qcom,state:
> + Usage: required
> + Value type: <prop-encoded-array>
> + Definition: should specify the tx-enable and tx-ring-empty state
> + references
> +
<snip>
Otherwise looks good.
Reviewed-by: Andy Gross <andy.gross-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding
2015-12-29 19:03 ` Bjorn Andersson
@ 2015-12-29 23:27 ` Rob Herring
2016-01-25 17:50 ` Bjorn Andersson
1 sibling, 0 replies; 7+ messages in thread
From: Rob Herring @ 2015-12-29 23:27 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Eugene Krasnikov, Ian Campbell, Kalle Valo, Mark Rutland,
Pawel Moll, devicetree, fengwei.yin, linux-arm-msm, linux-kernel,
linux-wireless, netdev, wcn36xx
On Tue, Dec 29, 2015 at 11:03:57AM -0800, Bjorn Andersson wrote:
> On Tue 29 Dec 10:34 PST 2015, Rob Herring wrote:
>
> > On Sun, Dec 27, 2015 at 05:34:27PM -0800, Bjorn Andersson wrote:
> > > Add binding representing the Qualcomm wcn3620/60/80 WiFi block.
> > > Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> > > ---
> > > .../bindings/net/wireless/qcom,wcn36xx-wifi.txt | 76 ++++++++++++++++++++++
> > > 1 file changed, 76 insertions(+)
> > > create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> > >
> > > diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> > > new file mode 100644
> > > index 000000000000..7b314b9f30af
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
> > > @@ -0,0 +1,76 @@
> > > +Qualcomm WCN36xx WiFi Binding
> > > +
> > > +This binding describes the Qualcomm WCN36xx WiFi hardware. The hardware block
> > > +is part of the Qualcomm WCNSS core, a WiFi/BT/FM combo chip, found in a variety
> > > +of Qualcomm platforms.
> >
> > Are BT/FM functions completely separate? If so, separate bindings are
> > okay. If not, then we need to describe the full chip.
> >
>
> It's three different hardware blocks (WiFi, BT and FM-radio) with shared
> RF-hardware and an ARM core for control logic.
>
> There seems to be some control commands going towards the BT part that
> controls coexistence properties of the RF-hardware, but other than that
> I see it as logically separate blocks.
>
>
> So I think it's fine to model this as separate pieces in DT.
Okay.
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding
2015-12-29 19:03 ` Bjorn Andersson
2015-12-29 23:27 ` Rob Herring
@ 2016-01-25 17:50 ` Bjorn Andersson
1 sibling, 0 replies; 7+ messages in thread
From: Bjorn Andersson @ 2016-01-25 17:50 UTC (permalink / raw)
To: Rob Herring
Cc: Eugene Krasnikov, Ian Campbell, Kalle Valo, Mark Rutland,
Pawel Moll, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
yfw, linux-arm-msm,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-wireless, netdev, wcn36xx
On Tue, Dec 29, 2015 at 11:03 AM, Bjorn Andersson <bjorn-UYDU3/A3LUY@public.gmane.org> wrote:
> On Tue 29 Dec 10:34 PST 2015, Rob Herring wrote:
>
>> On Sun, Dec 27, 2015 at 05:34:27PM -0800, Bjorn Andersson wrote:
>> > Add binding representing the Qualcomm wcn3620/60/80 WiFi block.
>> > Signed-off-by: Bjorn Andersson <bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
>> > ---
>> > .../bindings/net/wireless/qcom,wcn36xx-wifi.txt | 76 ++++++++++++++++++++++
>> > 1 file changed, 76 insertions(+)
>> > create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
>> >
>> > diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
>> > new file mode 100644
>> > index 000000000000..7b314b9f30af
>> > --- /dev/null
>> > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,wcn36xx-wifi.txt
>> > @@ -0,0 +1,76 @@
>> > +Qualcomm WCN36xx WiFi Binding
>> > +
>> > +This binding describes the Qualcomm WCN36xx WiFi hardware. The hardware block
>> > +is part of the Qualcomm WCNSS core, a WiFi/BT/FM combo chip, found in a variety
>> > +of Qualcomm platforms.
>>
>> Are BT/FM functions completely separate? If so, separate bindings are
>> okay. If not, then we need to describe the full chip.
>>
>
> It's three different hardware blocks (WiFi, BT and FM-radio) with shared
> RF-hardware and an ARM core for control logic.
>
> There seems to be some control commands going towards the BT part that
> controls coexistence properties of the RF-hardware, but other than that
> I see it as logically separate blocks.
>
>
> So I think it's fine to model this as separate pieces in DT.
>
After more testing I've concluded that there is a timing dependency
between the WiFi driver and the wcnss_ctrl driver. If the WiFi driver
starts communicating with the WLAN subsystem in the WCNSS block before
we have finished uploading the NV data to the WCNSS core further
communication will fail.
So looks like I need to remodel this slightly to take this into account :/
Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-01-25 17:50 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-28 1:34 [PATCH 0/4] WCN36xx convert to mainline SMD interface Bjorn Andersson
2015-12-28 1:34 ` [PATCH 4/4] dt: binding: Add Qualcomm wcn36xx WiFi binding Bjorn Andersson
2015-12-29 18:34 ` Rob Herring
2015-12-29 19:03 ` Bjorn Andersson
2015-12-29 23:27 ` Rob Herring
2016-01-25 17:50 ` Bjorn Andersson
[not found] ` <1451266467-15377-5-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
2015-12-29 19:11 ` Andy Gross
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).