[PATCH] ath10k: Add BMI parameters to fix calibration from DT/pre-cal

akolli at codeaurora.org akolli at codeaurora.org
Mon Dec 11 05:20:09 PST 2017


On 2017-12-08 19:10, Sven Eckelmann wrote:
> On Freitag, 8. Dezember 2017 18:05:38 CET akolli at codeaurora.org wrote:
>> On 2017-12-08 17:42, Sven Eckelmann wrote:
>> > On Donnerstag, 25. Mai 2017 16:21:23 CET akolli at qti.qualcomm.com wrote:
>> >> From: Anilkumar Kolli <akolli at qti.qualcomm.com>
>> >>
>> >> QCA99X0, QCA9888, QCA9984 supports calibration data in
>> >> either OTP or DT/pre-cal file. Current ath10k supports
>> >> Calibration data from OTP only.
> [...]
>> > Just tried this on an QCA9984 which doesn't seem to have the
>> > calibration data in the PCI EEPROM.
>> >
>> >     [   71.728929] ath10k_pci 0000:01:00.0: qca9984/qca9994 hw1.0
>> > target 0x01000000 chip_id 0x00000000 sub 168c:cafe
>> >     [   71.732926] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 1
>> > tracing 0 dfs 1 testmode 1
>> >     [   71.752282] ath10k_pci 0000:01:00.0: firmware ver
>> > 10.4-ct-9984-fW-009-dfa0083 api 5 features peer-flow-ctrl crc32
>> > 7198d117
>> >     [   73.805730] ath10k_pci 0000:01:00.0: unable to read from the
>> > device
>> >     [   73.805769] ath10k_pci 0000:01:00.0: could not execute otp for
>> > board id check: -110
>> >
>> 
>> 'ATH10K driver <-> 10.4 firmware' expects cal data to be either in
>> EEPROM or pre-cal-file or DT.
>> Hope the error is observed when there is no cal data loaded.
> 
> The problem happens when pre-cal data file is loaded using the 
> userspace
> helper on the QCA9984. I was only able to use the device when I (for a 
> test)
> used the pre-cal data as cal-data (file).
> 
> The EEPROM on the on the PCI device doesn't seem to be populated with a 
> valid
> pre-cal data. I've already tested it with a QCA9984 device which had 
> pre-cal
> data in the PCI device's EEPROM and this worked fine (without cal file 
> and
> without pre-cal file).
> 
>> > It works when I use the pre-cal data as calibration data. The checksum
>> > in the
>> > pre-cal seems to be correct. Also the pre-cal data from 0:ART for the
>> > 2.4GHz
>> > and 5GHz QCA4019 seem to work perfectly fine.
>> >
>> 
>> Do you mean this patch works for only QCA4019 and not working for
>> QCA9984 ?
> 
> Worked fine for QCA4019 and QCA9888 - but I had no luck with QCA9984. 
> The
> error shown above it the only thing I get.
> 

I tested this on QCA9984 and it worked with below config,

pre-cal file location: /lib/firmware/ath10k/pre-cal-pci-0000:01:00.0.bin
FW: 
https://github.com/kvalo/ath10k-firmware/raw/master/QCA9984/hw1.0/firmware-5.bin_10.4-3.2-00072
BDF: 
https://github.com/kvalo/ath10k-firmware/raw/master/QCA9984/hw1.0/board-2.bin

Logs:

ath10k_pci 0000:01:00.0: found calibration file 
ath10k/pre-cal-pci-0000:01:00.0.bin
ath10k_pci 0000:01:00.0: found fw version 10.4-3.2-00072
ath10k_pci 0000:01:00.0: boot cal file downloaded
ath10k_pci 0000:01:00.0: boot using calibration mode pre-cal-file
ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len 8919 for board id
bmi execute address 0x1234 param 0x8000
ath10k_pci 0000:01:00.0: bmi execute result 0x2800
ath10k_pci 0000:01:00.0: boot get otp board id result 0x00002800 
board_id 10 chip_id 0
ath10k_pci 0000:01:00.0: boot using board name 
'bus=pci,bmi-chip-id=0,bmi-board-id=10'
ath10k_pci 0000:01:00.0: Firmware loaded from user helper succesfully
ath10k_pci 0000:01:00.0: boot fw request 
'ath10k/QCA9984/hw1.0/board-2.bin': 0

Kindly try with the latest firmware from Kalle's git mentioned above.

Thanks
Anil.





More information about the ath10k mailing list