On Donnerstag, 25. Mai 2017 16:21:23 CET akolli@xxxxxxxxxxxxxxxx wrote: > From: Anilkumar Kolli <akolli@xxxxxxxxxxxxxxxx> > > QCA99X0, QCA9888, QCA9984 supports calibration data in > either OTP or DT/pre-cal file. Current ath10k supports > Calibration data from OTP only. > > If caldata is loaded from DT/pre-cal file, fetching board id > and applying calibration parameters like tx power gets failed. > > error log: > [ 15.733663] ath10k_pci 0000:01:00.0: failed to fetch board file: -2 > [ 15.741474] ath10k_pci 0000:01:00.0: could not probe fw (-2) > > This patch adds calibration data support from DT/pre-cal > file. Below parameters are used to get board id and > applying calibration parameters from cal data. > > EEPROM[OTP] FLASH[DT/pre-cal file] > Cal param 0x700 0x10000 > Board id 0x10 0x8000 > > Tested on QCA9888 with pre-cal file. > > Signed-off-by: Anilkumar Kolli <akolli@xxxxxxxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath10k/bmi.h | 2 ++ > drivers/net/wireless/ath/ath10k/core.c | 16 +++++++++++++--- > 2 files changed, 15 insertions(+), 3 deletions(-) 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 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. Anything which I could have missed or what I could test? Btw. I've also tested the non-ct firmware (aka the official one from QCA). Kind
Attachment:
signature.asc
Description: This is a digitally signed message part.