ath10k-firmware: QCA4019 hw1.0: Add GL.iNet GL-B1300 specific BDFs
Sven Eckelmann
sven.eckelmann at openmesh.com
Wed Mar 28 00:42:40 PDT 2018
On Mittwoch, 28. März 2018 08:23:43 CEST Sebastian Gottschall wrote:
> correct me if i'm wrong. but isnt the board data stored in flash memory
> on these devices like on every other router i know using ath10k chipsets?
> this all sounds a little bit curious for me
The BDF is stored either in the board.bin or board-2.bin on routers which use
ath10k. Similar files (raw BDFs with other names) exist on devices which use
the QCA driver. These files don't contain the device specific information (see
my earlier mail for the things which seem to be device specific). So they are
basically part of the rootfs.
The device specific information are stored somewhere else on the device. This
can for example be in the ART or on a dedicated EEPROM [1]. The OTP binary
(running on the wifi chip) is receiving both files from the driver, combining
them and adjusting some things here and there. The combined memory region is
then given to the actual wifi firmware.
Yes, this all is rather complicated and I think was introduced with the QCA
802.11ac Wave2 chips. This especially ended up be a problem when QCA was only
providing board-ids for its own reference designs. Unfortunately, these board
ids are used to identify the BDFs in the board-2.bin. So we had to introduce
an additional, optional information that we can use to differentiate between
different BDFs which have the same board-id - the so called (qcom,ath10k-
calibration-)variant.
It could now be that you're statement was actual suggesting something else:
* Why don't you just use the information from ART and load it as cal data
instead of pre-cal data?
- The firmware seems to behave differently when we do that. Maybe the
"additional modifications" are not done by the OTP in that case.
Maybe QCA can tell you more about that.
- But there are also another things which we will discuss in the next
point.
* Why don't you load the information from ART and use it as pre-cal and BDF?
- The BDF can also contain other information than the pre-cal data in the
sections which are not copied from the pre-cal data. This happens all
the time during the development but can also happen later. Maybe this was
the reason why QCA implemented this mechanism. It is for example planned
to update the A42 BDFs in some weeks.
Small (cut-down) story at the end and why we need special BDFs. During the
initial development of the A42 OpenWrt support, the HW manufacturer told us
that we should use the official QCA BDFs with some QCA internal code (which
translate to bmi-board-id 16/17). We did that and noticed that the board was
consuming a sh*tload of power and performed worse than a dead horse. After
some attempts to communicate the problem and some first incorrect assumptions
from both sides (but with help from some brave OSS developers), the HW
manufacturer told us about his "official" BDFs which were actually not looking
like the QCA files at all but had the same IDs. Reason for that was the
removal of the QCA reference design non-SoC radio components and the
replacement with their own design. This is where the story of the
(qcom,ath10k-calibration-)variant began (for me).
Kind regards,
Sven
[1] I just use this here as placeholder for "any kind of non-volatile memory
which is no the main storage"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/ath10k/attachments/20180328/768cd58f/attachment-0001.sig>
More information about the ath10k
mailing list