* [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 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
[parent not found: <1451266467-15377-5-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>]
* 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
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).