[4/4] arm64: dts: qcom: sm6115p-j606f: Enable ATH10K WiFi

Message ID 20230406-topic-lenovo_features-v1-4-c73a5180e48e@linaro.org
State New
Headers
Series Tab P11 features |

Commit Message

Konrad Dybcio April 6, 2023, 3:25 p.m. UTC
  Enable the onboard QCA Wi-Fi. HW identifiers for reference:
qmi chip_id 0x320 chip_family 0x4001 board_id 0xff soc_id 0x400e0000

Firmware sources:
/vendor/firmware_mnt/image/wlanmdsp.bin -> qcom/.../wlanmdsp.mbn
/vendor/firmware_mnt/image/bdwlan.bXX [1] -> [2] -> ath10k/.../board-2.bin
[3] -> ath10k/.../firmware-5.bin

Not sure where 3 comes from on the device itself, gotta investigate that..

According to [4], it's called WCN3990_STRAIT.

[1] XX = board_id printed when the file is missing or by your downstream
kernel firmware loader in the dmesg; if XX=ff, use bdwlan.bin

[2] https://github.com/jhugo/linux/blob/5.5rc2_wifi/README
[3] https://github.com/kvalo/ath10k-firmware/blob/master/WCN3990/hw1.0/HL3.1/WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1/firmware-5.bin
[4] https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn/-/blob/LA.VENDOR.1.0.r1-20700-WAIPIO.QSSI13.0/hif/src/hif_hw_version.h#L55

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Dmitry Baryshkov April 6, 2023, 5:51 p.m. UTC | #1
On 06/04/2023 18:25, Konrad Dybcio wrote:
> Enable the onboard QCA Wi-Fi. HW identifiers for reference:
> qmi chip_id 0x320 chip_family 0x4001 board_id 0xff soc_id 0x400e0000
> 
> Firmware sources:
> /vendor/firmware_mnt/image/wlanmdsp.bin -> qcom/.../wlanmdsp.mbn
> /vendor/firmware_mnt/image/bdwlan.bXX [1] -> [2] -> ath10k/.../board-2.bin
> [3] -> ath10k/.../firmware-5.bin
> 
> Not sure where 3 comes from on the device itself, gotta investigate that..
> 
> According to [4], it's called WCN3990_STRAIT.
> 
> [1] XX = board_id printed when the file is missing or by your downstream
> kernel firmware loader in the dmesg; if XX=ff, use bdwlan.bin

Since the board_id is 0xff, please add qcom,ath10k-calibration-variant

Ideally, could you please send the bdwlan to ath10k for inclusion, see 
https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles .

> 
> [2] https://github.com/jhugo/linux/blob/5.5rc2_wifi/README
> [3] https://github.com/kvalo/ath10k-firmware/blob/master/WCN3990/hw1.0/HL3.1/WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1/firmware-5.bin
> [4] https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn/-/blob/LA.VENDOR.1.0.r1-20700-WAIPIO.QSSI13.0/hif/src/hif_hw_version.h#L55
> 
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
>   arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> index 2aac25171dec..4ba8e59a27d8 100644
> --- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> +++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> @@ -315,6 +315,14 @@ &usb_hsphy {
>   	status = "okay";
>   };
>   
> +&wifi {
> +	vdd-0.8-cx-mx-supply = <&pm6125_l8>;
> +	vdd-1.8-xo-supply = <&pm6125_l16>;
> +	vdd-1.3-rfa-supply = <&pm6125_l17>;
> +	vdd-3.3-ch0-supply = <&pm6125_l23>;
> +	status = "okay";
> +};
> +
>   &xo_board {
>   	clock-frequency = <19200000>;
>   };
>
  
Konrad Dybcio April 6, 2023, 6:32 p.m. UTC | #2
On 6.04.2023 19:51, Dmitry Baryshkov wrote:
> On 06/04/2023 18:25, Konrad Dybcio wrote:
>> Enable the onboard QCA Wi-Fi. HW identifiers for reference:
>> qmi chip_id 0x320 chip_family 0x4001 board_id 0xff soc_id 0x400e0000
>>
>> Firmware sources:
>> /vendor/firmware_mnt/image/wlanmdsp.bin -> qcom/.../wlanmdsp.mbn
>> /vendor/firmware_mnt/image/bdwlan.bXX [1] -> [2] -> ath10k/.../board-2.bin
>> [3] -> ath10k/.../firmware-5.bin
>>
>> Not sure where 3 comes from on the device itself, gotta investigate that..
>>
>> According to [4], it's called WCN3990_STRAIT.
>>
>> [1] XX = board_id printed when the file is missing or by your downstream
>> kernel firmware loader in the dmesg; if XX=ff, use bdwlan.bin
> 
> Since the board_id is 0xff, please add qcom,ath10k-calibration-variant
Do I make up a name, or is there some convention?

I see Johan used "LE_X13S" in commit 2702f54f400ad3979632cdb76553772414f4c5e3.
Should I go with "LE_P11"?

> 
> Ideally, could you please send the bdwlan to ath10k for inclusion, see https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles .
The legal situation is ambiguous at best :/

Konrad
> 
>>
>> [2] https://github.com/jhugo/linux/blob/5.5rc2_wifi/README
>> [3] https://github.com/kvalo/ath10k-firmware/blob/master/WCN3990/hw1.0/HL3.1/WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1/firmware-5.bin
>> [4] https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn/-/blob/LA.VENDOR.1.0.r1-20700-WAIPIO.QSSI13.0/hif/src/hif_hw_version.h#L55
>>
>> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>> ---
>>   arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
>> index 2aac25171dec..4ba8e59a27d8 100644
>> --- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
>> @@ -315,6 +315,14 @@ &usb_hsphy {
>>       status = "okay";
>>   };
>>   +&wifi {
>> +    vdd-0.8-cx-mx-supply = <&pm6125_l8>;
>> +    vdd-1.8-xo-supply = <&pm6125_l16>;
>> +    vdd-1.3-rfa-supply = <&pm6125_l17>;
>> +    vdd-3.3-ch0-supply = <&pm6125_l23>;
>> +    status = "okay";
>> +};
>> +
>>   &xo_board {
>>       clock-frequency = <19200000>;
>>   };
>>
>
  
Dmitry Baryshkov April 6, 2023, 6:56 p.m. UTC | #3
On Thu, 6 Apr 2023 at 21:32, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
>
>
> On 6.04.2023 19:51, Dmitry Baryshkov wrote:
> > On 06/04/2023 18:25, Konrad Dybcio wrote:
> >> Enable the onboard QCA Wi-Fi. HW identifiers for reference:
> >> qmi chip_id 0x320 chip_family 0x4001 board_id 0xff soc_id 0x400e0000
> >>
> >> Firmware sources:
> >> /vendor/firmware_mnt/image/wlanmdsp.bin -> qcom/.../wlanmdsp.mbn
> >> /vendor/firmware_mnt/image/bdwlan.bXX [1] -> [2] -> ath10k/.../board-2.bin
> >> [3] -> ath10k/.../firmware-5.bin
> >>
> >> Not sure where 3 comes from on the device itself, gotta investigate that..
> >>
> >> According to [4], it's called WCN3990_STRAIT.
> >>
> >> [1] XX = board_id printed when the file is missing or by your downstream
> >> kernel firmware loader in the dmesg; if XX=ff, use bdwlan.bin
> >
> > Since the board_id is 0xff, please add qcom,ath10k-calibration-variant
> Do I make up a name, or is there some convention?
>
> I see Johan used "LE_X13S" in commit 2702f54f400ad3979632cdb76553772414f4c5e3.
> Should I go with "LE_P11"?

I think Lenovo_P11 or LENOVO_P11 might be better.

>
> >
> > Ideally, could you please send the bdwlan to ath10k for inclusion, see https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles .
> The legal situation is ambiguous at best :/

As usual :-(

>
> Konrad
> >
> >>
> >> [2] https://github.com/jhugo/linux/blob/5.5rc2_wifi/README
> >> [3] https://github.com/kvalo/ath10k-firmware/blob/master/WCN3990/hw1.0/HL3.1/WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1/firmware-5.bin
> >> [4] https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn/-/blob/LA.VENDOR.1.0.r1-20700-WAIPIO.QSSI13.0/hif/src/hif_hw_version.h#L55
> >>
> >> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> >> ---
> >>   arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 8 ++++++++
> >>   1 file changed, 8 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> >> index 2aac25171dec..4ba8e59a27d8 100644
> >> --- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> >> +++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
> >> @@ -315,6 +315,14 @@ &usb_hsphy {
> >>       status = "okay";
> >>   };
> >>   +&wifi {
> >> +    vdd-0.8-cx-mx-supply = <&pm6125_l8>;
> >> +    vdd-1.8-xo-supply = <&pm6125_l16>;
> >> +    vdd-1.3-rfa-supply = <&pm6125_l17>;
> >> +    vdd-3.3-ch0-supply = <&pm6125_l23>;
> >> +    status = "okay";
> >> +};
> >> +
> >>   &xo_board {
> >>       clock-frequency = <19200000>;
> >>   };
> >>
> >
  
Dmitry Baryshkov April 7, 2023, 1:27 p.m. UTC | #4
On 06/04/2023 21:56, Dmitry Baryshkov wrote:
> On Thu, 6 Apr 2023 at 21:32, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>>
>>
>>
>> On 6.04.2023 19:51, Dmitry Baryshkov wrote:
>>> On 06/04/2023 18:25, Konrad Dybcio wrote:
>>>> Enable the onboard QCA Wi-Fi. HW identifiers for reference:
>>>> qmi chip_id 0x320 chip_family 0x4001 board_id 0xff soc_id 0x400e0000
>>>>
>>>> Firmware sources:
>>>> /vendor/firmware_mnt/image/wlanmdsp.bin -> qcom/.../wlanmdsp.mbn
>>>> /vendor/firmware_mnt/image/bdwlan.bXX [1] -> [2] -> ath10k/.../board-2.bin
>>>> [3] -> ath10k/.../firmware-5.bin
>>>>
>>>> Not sure where 3 comes from on the device itself, gotta investigate that..
>>>>
>>>> According to [4], it's called WCN3990_STRAIT.
>>>>
>>>> [1] XX = board_id printed when the file is missing or by your downstream
>>>> kernel firmware loader in the dmesg; if XX=ff, use bdwlan.bin
>>>
>>> Since the board_id is 0xff, please add qcom,ath10k-calibration-variant
>> Do I make up a name, or is there some convention?
>>
>> I see Johan used "LE_X13S" in commit 2702f54f400ad3979632cdb76553772414f4c5e3.
>> Should I go with "LE_P11"?
> 
> I think Lenovo_P11 or LENOVO_P11 might be better.


An update here:

Kalle added a board file for Yoga C630 using the id 
'bus=snoc,qmi-board-id=ff,qmi-chip-id=30214,variant=Lenovo_C630'. So, I 
think, we should use 'Lenovo_P11' here.

> 
>>
>>>
>>> Ideally, could you please send the bdwlan to ath10k for inclusion, see https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles .
>> The legal situation is ambiguous at best :/
> 
> As usual :-(
> 
>>
>> Konrad
>>>
>>>>
>>>> [2] https://github.com/jhugo/linux/blob/5.5rc2_wifi/README
>>>> [3] https://github.com/kvalo/ath10k-firmware/blob/master/WCN3990/hw1.0/HL3.1/WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1/firmware-5.bin
>>>> [4] https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn/-/blob/LA.VENDOR.1.0.r1-20700-WAIPIO.QSSI13.0/hif/src/hif_hw_version.h#L55
>>>>
>>>> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>>>> ---
>>>>    arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts | 8 ++++++++
>>>>    1 file changed, 8 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
>>>> index 2aac25171dec..4ba8e59a27d8 100644
>>>> --- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
>>>> @@ -315,6 +315,14 @@ &usb_hsphy {
>>>>        status = "okay";
>>>>    };
>>>>    +&wifi {
>>>> +    vdd-0.8-cx-mx-supply = <&pm6125_l8>;
>>>> +    vdd-1.8-xo-supply = <&pm6125_l16>;
>>>> +    vdd-1.3-rfa-supply = <&pm6125_l17>;
>>>> +    vdd-3.3-ch0-supply = <&pm6125_l23>;
>>>> +    status = "okay";
>>>> +};
>>>> +
>>>>    &xo_board {
>>>>        clock-frequency = <19200000>;
>>>>    };
>>>>
>>>
> 
> 
>
  

Patch

diff --git a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
index 2aac25171dec..4ba8e59a27d8 100644
--- a/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
+++ b/arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts
@@ -315,6 +315,14 @@  &usb_hsphy {
 	status = "okay";
 };
 
+&wifi {
+	vdd-0.8-cx-mx-supply = <&pm6125_l8>;
+	vdd-1.8-xo-supply = <&pm6125_l16>;
+	vdd-1.3-rfa-supply = <&pm6125_l17>;
+	vdd-3.3-ch0-supply = <&pm6125_l23>;
+	status = "okay";
+};
+
 &xo_board {
 	clock-frequency = <19200000>;
 };