Describe the bus topology for PCIe domain 4 and add the ath12k
calibration variant so that the board file (calibration data) can be
loaded.
Signed-off-by: Patrick Wildt <patrick@blueri.se>
---
.../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 ++++++++++
2 files changed, 19 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
index fbff558f5b07..f569f0fbd1fc 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
@@ -635,6 +635,15 @@ &pcie4_phy {
status = "okay";
};
+&pcie4_port0 {
+ wifi@0 {
+ compatible = "pci17cb,1107";
+ reg = <0x10000 0x0 0x0 0x0 0x0>;
+
+ qcom,ath12k-calibration-variant = "LES790";
+ };
+};
+
&pcie6a {
perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index 7bca5fcd7d52..70eeacd4f9ad 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -3085,6 +3085,16 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
phy-names = "pciephy";
status = "disabled";
+
+ pcie4_port0: pcie@0 {
+ device_type = "pci";
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ bus-range = <0x01 0xff>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
pcie4_phy: phy@1c0e000 {
--
2.45.2
On Mon, Jul 15, 2024 at 09:40:41PM +0200, Patrick Wildt wrote:
> Describe the bus topology for PCIe domain 4 and add the ath12k
> calibration variant so that the board file (calibration data) can be
> loaded.
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -3085,6 +3085,16 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> phy-names = "pciephy";
>
> status = "disabled";
> +
> + pcie4_port0: pcie@0 {
> + device_type = "pci";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + bus-range = <0x01 0xff>;
Hi Patrick, what's the purpose of this bus-range? IIUC this describes
a Root Port, where we can read and configure the secondary/subordinate
bus numbers from the RP config space, so it seems like we don't need
to describe them here.
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges;
> + };
> };
>
> pcie4_phy: phy@1c0e000 {
> --
> 2.45.2
>
On Mon, Jul 15, 2024 at 09:40:41PM +0200, Patrick Wildt wrote:
> Describe the bus topology for PCIe domain 4 and add the ath12k
> calibration variant so that the board file (calibration data) can be
> loaded.
>
> Signed-off-by: Patrick Wildt <patrick@blueri.se>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 ++++++++++
> 2 files changed, 19 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> index fbff558f5b07..f569f0fbd1fc 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> @@ -635,6 +635,15 @@ &pcie4_phy {
> status = "okay";
> };
>
> +&pcie4_port0 {
> + wifi@0 {
> + compatible = "pci17cb,1107";
> + reg = <0x10000 0x0 0x0 0x0 0x0>;
> +
> + qcom,ath12k-calibration-variant = "LES790";
> + };
> +};
> +
> &pcie6a {
> perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
> wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index 7bca5fcd7d52..70eeacd4f9ad 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -3085,6 +3085,16 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> phy-names = "pciephy";
>
> status = "disabled";
> +
> + pcie4_port0: pcie@0 {
> + device_type = "pci";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + bus-range = <0x01 0xff>;
> +
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges;
> + };
> };
>
> pcie4_phy: phy@1c0e000 {
> --
> 2.45.2
>
>
--
மணிவண்ணன் சதாசிவம்
On Mon, Jul 15, 2024 at 09:40:41PM GMT, Patrick Wildt wrote:
> Describe the bus topology for PCIe domain 4 and add the ath12k
> calibration variant so that the board file (calibration data) can be
> loaded.
>
> Signed-off-by: Patrick Wildt <patrick@blueri.se>
> ---
> .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 ++++++++++
> 2 files changed, 19 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> index fbff558f5b07..f569f0fbd1fc 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> @@ -635,6 +635,15 @@ &pcie4_phy {
> status = "okay";
> };
>
> +&pcie4_port0 {
> + wifi@0 {
> + compatible = "pci17cb,1107";
> + reg = <0x10000 0x0 0x0 0x0 0x0>;
> +
> + qcom,ath12k-calibration-variant = "LES790";
It doesn't look like it follows the rest of the calibration variants.
Something like "Lenovo_Y7x" or "Lenovo_Yoga7x" sounds more logical.
> + };
> +};
> +
> &pcie6a {
> perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
> wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index 7bca5fcd7d52..70eeacd4f9ad 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -3085,6 +3085,16 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> phy-names = "pciephy";
>
> status = "disabled";
> +
> + pcie4_port0: pcie@0 {
> + device_type = "pci";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + bus-range = <0x01 0xff>;
> +
> + #address-cells = <3>;
> + #size-cells = <2>;
> + ranges;
> + };
> };
>
> pcie4_phy: phy@1c0e000 {
> --
> 2.45.2
>
--
With best wishes
Dmitry
Am Tue, Jul 16, 2024 at 12:51:53AM +0300 schrieb Dmitry Baryshkov:
> On Mon, Jul 15, 2024 at 09:40:41PM GMT, Patrick Wildt wrote:
> > Describe the bus topology for PCIe domain 4 and add the ath12k
> > calibration variant so that the board file (calibration data) can be
> > loaded.
> >
> > Signed-off-by: Patrick Wildt <patrick@blueri.se>
> > ---
> > .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
> > arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 ++++++++++
> > 2 files changed, 19 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> > index fbff558f5b07..f569f0fbd1fc 100644
> > --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> > +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> > @@ -635,6 +635,15 @@ &pcie4_phy {
> > status = "okay";
> > };
> >
> > +&pcie4_port0 {
> > + wifi@0 {
> > + compatible = "pci17cb,1107";
> > + reg = <0x10000 0x0 0x0 0x0 0x0>;
> > +
> > + qcom,ath12k-calibration-variant = "LES790";
>
> It doesn't look like it follows the rest of the calibration variants.
>
> Something like "Lenovo_Y7x" or "Lenovo_Yoga7x" sounds more logical.
This is what's both in the DSDT
Device (WLN)
{
[...]
Name (BDFE, "BDF_LES790")
and kvalo's board-2.bin for this machine:
$ strings board-2.bin | grep LES
bus=pci,vendor=17cb,device=1107,subsystem-vendor=17aa,subsystem-device=e0e9,qmi-chip-id=2,qmi-board-id=255,variant=LES790
I don't think we can hand-pick these strings, they come from whoever
decided upon them and fed them into ACPI tables and QC's binaries.
On Tue, Jul 16, 2024 at 12:01:28AM GMT, Patrick Wildt wrote:
> Am Tue, Jul 16, 2024 at 12:51:53AM +0300 schrieb Dmitry Baryshkov:
> > On Mon, Jul 15, 2024 at 09:40:41PM GMT, Patrick Wildt wrote:
> > > Describe the bus topology for PCIe domain 4 and add the ath12k
> > > calibration variant so that the board file (calibration data) can be
> > > loaded.
> > >
> > > Signed-off-by: Patrick Wildt <patrick@blueri.se>
> > > ---
> > > .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
> > > arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 ++++++++++
> > > 2 files changed, 19 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> > > index fbff558f5b07..f569f0fbd1fc 100644
> > > --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> > > +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
> > > @@ -635,6 +635,15 @@ &pcie4_phy {
> > > status = "okay";
> > > };
> > >
> > > +&pcie4_port0 {
> > > + wifi@0 {
> > > + compatible = "pci17cb,1107";
> > > + reg = <0x10000 0x0 0x0 0x0 0x0>;
> > > +
> > > + qcom,ath12k-calibration-variant = "LES790";
> >
> > It doesn't look like it follows the rest of the calibration variants.
> >
> > Something like "Lenovo_Y7x" or "Lenovo_Yoga7x" sounds more logical.
>
> This is what's both in the DSDT
>
> Device (WLN)
> {
> [...]
> Name (BDFE, "BDF_LES790")
>
> and kvalo's board-2.bin for this machine:
>
> $ strings board-2.bin | grep LES
> bus=pci,vendor=17cb,device=1107,subsystem-vendor=17aa,subsystem-device=e0e9,qmi-chip-id=2,qmi-board-id=255,variant=LES790
>
> I don't think we can hand-pick these strings, they come from whoever
> decided upon them and fed them into ACPI tables and QC's binaries.
Ack, if Kalle has already selected this string, we can't argue.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
--
With best wishes
Dmitry
On 16.07.2024 12:01 AM, Patrick Wildt wrote:
> Am Tue, Jul 16, 2024 at 12:51:53AM +0300 schrieb Dmitry Baryshkov:
>> On Mon, Jul 15, 2024 at 09:40:41PM GMT, Patrick Wildt wrote:
>>> Describe the bus topology for PCIe domain 4 and add the ath12k
>>> calibration variant so that the board file (calibration data) can be
>>> loaded.
>>>
>>> Signed-off-by: Patrick Wildt <patrick@blueri.se>
>>> ---
>>> .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
>>> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 ++++++++++
>>> 2 files changed, 19 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
>>> index fbff558f5b07..f569f0fbd1fc 100644
>>> --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
>>> +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
>>> @@ -635,6 +635,15 @@ &pcie4_phy {
>>> status = "okay";
>>> };
>>>
>>> +&pcie4_port0 {
>>> + wifi@0 {
>>> + compatible = "pci17cb,1107";
>>> + reg = <0x10000 0x0 0x0 0x0 0x0>;
>>> +
>>> + qcom,ath12k-calibration-variant = "LES790";
>>
>> It doesn't look like it follows the rest of the calibration variants.
>>
>> Something like "Lenovo_Y7x" or "Lenovo_Yoga7x" sounds more logical.
>
> This is what's both in the DSDT
>
> Device (WLN)
> {
> [...]
> Name (BDFE, "BDF_LES790")
>
> and kvalo's board-2.bin for this machine:
>
> $ strings board-2.bin | grep LES
> bus=pci,vendor=17cb,device=1107,subsystem-vendor=17aa,subsystem-device=e0e9,qmi-chip-id=2,qmi-board-id=255,variant=LES790
>
> I don't think we can hand-pick these strings, they come from whoever
> decided upon them and fed them into ACPI tables and QC's binaries.
Huh, great nod from qca!
Looks like there's even a bit more hw supported in there..
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
On 16.07.2024 1:00 AM, Konrad Dybcio wrote:
> On 16.07.2024 12:01 AM, Patrick Wildt wrote:
>> Am Tue, Jul 16, 2024 at 12:51:53AM +0300 schrieb Dmitry Baryshkov:
>>> On Mon, Jul 15, 2024 at 09:40:41PM GMT, Patrick Wildt wrote:
>>>> Describe the bus topology for PCIe domain 4 and add the ath12k
>>>> calibration variant so that the board file (calibration data) can be
>>>> loaded.
>>>>
>>>> Signed-off-by: Patrick Wildt <patrick@blueri.se>
>>>> ---
>>>> .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
>>>> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 ++++++++++
>>>> 2 files changed, 19 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
>>>> index fbff558f5b07..f569f0fbd1fc 100644
>>>> --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
>>>> @@ -635,6 +635,15 @@ &pcie4_phy {
>>>> status = "okay";
>>>> };
>>>>
>>>> +&pcie4_port0 {
>>>> + wifi@0 {
>>>> + compatible = "pci17cb,1107";
>>>> + reg = <0x10000 0x0 0x0 0x0 0x0>;
>>>> +
>>>> + qcom,ath12k-calibration-variant = "LES790";
>>>
>>> It doesn't look like it follows the rest of the calibration variants.
>>>
>>> Something like "Lenovo_Y7x" or "Lenovo_Yoga7x" sounds more logical.
>>
>> This is what's both in the DSDT
>>
>> Device (WLN)
>> {
>> [...]
>> Name (BDFE, "BDF_LES790")
>>
>> and kvalo's board-2.bin for this machine:
>>
>> $ strings board-2.bin | grep LES
>> bus=pci,vendor=17cb,device=1107,subsystem-vendor=17aa,subsystem-device=e0e9,qmi-chip-id=2,qmi-board-id=255,variant=LES790
>>
>> I don't think we can hand-pick these strings, they come from whoever
>> decided upon them and fed them into ACPI tables and QC's binaries.
>
> Huh, great nod from qca!
> Looks like there's even a bit more hw supported in there..
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Ref: https://git.codelinaro.org/clo/ath-firmware/ath12k-firmware/-/blob/main/WCN7850/hw2.0/board-2.bin
Konrad
© 2016 - 2026 Red Hat, Inc.