Message ID | 1451266467-15377-5-git-send-email-bjorn.andersson@sonymobile.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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> > --- <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@linaro.org> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Dec 29, 2015 at 11:03 AM, Bjorn Andersson <bjorn@kryo.se> 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. > 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 linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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"; + }; + }; +};
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