Qualcomm QCA9558
Qualcomm bought Atheros a while back, so there is a lot of similarities between ARxxxx and QCAxxxx SoC's
Key Features
The QCA9558 is a Mips 74KEc 32 bit big endian CPU, that runs around 750MHz. Being a KEc it has no floating point unit, but adds a DSP. The 74K was a superscalar version of the MIPS32 line, so it can and will execute instruction out of order. Another thing that differentiates it from the very common 24k line was that it allowed for write-back caching. That means it won't write back to RAM on every write to cache, which is faster, but means care must be taken to flush the cache when needed. And the out of order stuff needs to be handled with additional use of "barrier" instructions that makes sure all instructions make it through before continuing.
The folks at FreeBSD ran into many of these issues.
The QCA9558 has;
- UART
- Ethernet x2
- Ethernet switch (accesed via MDIO)
- WiFi 802.11n and AP mode
- SPI
- USB
- PCIe
Docs
MIPS32® 74K™ Processor Core Family Software User’s Manual
9front
Currently working;
- UART
- Gigabit Ethernet
An initial port was done using a kernel for the QCA9531. Right away, the out of order thing became an issue with doing TLB entries. Once that was fixed, it was able to run fine so long as it was set to use write-through cache. If set to write-back, problems occured with the Ethernet driver. So the Ethernet driver needs to be rewritten to deal with keeping the cache, memmory, and the Ethernet DMA all on the same page.
Testing was done on a TP-Link Archer C7 (AC1750), which had an interesting way of "locking" u-boot. To enter the u-boot console, one has to type "tpl" within the 1 second before it autoboots into Linux. This can be done by continuously typing 'tpltpltpl' once u-boot starts to bring up the Ethernet.
Load the Kernel to 0x80060000 and plan9.ini to 0x80050000. Run 'go 0x80060000' to boot.
ToDo
- WiFi
The Atheros WiFi drivers are available open source under the ISC license, should be covered by ath9k, and are available in OpenBSD.
- USB
- SPI
- Ethernet Switch
- PCIe
There are boards out there that put other WiFi or cell radios on a mPCie slot.