freebsd-dev/sys/mips
Adrian Chadd fb76025135 Bring over the initial QCA955x SoC support framework.
This is enough to bring up the basic SoC support.

What works thus far:

* The mips74k core, pll setup, and UART (or else well, stuff would
  be really difficult..)
* both USB 2.0 EHCI controllers
* on-board 2GHz 3x3 wifi (the other variant has 2GHz/5GHz wifi on-chip);
* arge0 - not yet sure why arge1 isn't firing off interrupts and thus
  handling traffic, but I will soon figure it out and fix it here.

Tested:

* AP135 reference design, QCA9558 SoC, pretending to be an 11n
  2GHz AP.

TODO:

* There's an interrupt mux hooking up devices to IP2 and IP3 - but it's
  not a read-and-clear or write-to-clear register.  So, trying to use it
  naively like I have been ends up with massive interrupt storms.
  For now the things that share those interrupts can just take them as
  shared interrupts and try to play nice.

* There's two PCIe root complexes /and/ one of them can actually be
  a PCIe device endpoint.  Yes, you heard right.  I have to teach the
  AR724x PCIe bridge code to handle multiple instances with multiple
  memory/irq regions, and then there'll be RC support, but EP support
  isn't on my TODO list.

* I'm not sure why arge1 isn't up and running.  I'll go figure that
  out soon and fix it here.

Thankyou to Qualcomm Atheros for providing me with hardware and
an abundance of documentation about these things.
2015-03-02 02:24:46 +00:00
..
adm5120 In order to reduce use of M_EXT outside of the mbuf allocator and 2015-01-06 12:59:37 +00:00
alchemy Fix a typo introduced in r257338. 2013-10-31 02:27:16 +00:00
atheros [QCA955x] make the USB EHCI interrupts shareable. 2015-03-02 02:08:43 +00:00
beri Correct the end address of the memory regions. 2014-12-19 12:09:29 +00:00
cavium Implement GPIO_GET_BUS() method for all GPIO drivers. 2015-01-31 19:32:14 +00:00
conf Bring over the initial QCA955x SoC support framework. 2015-03-02 02:24:46 +00:00
gxemul Add 32-bit support for Gxemul's oldtestmips machine emulation 2013-09-04 20:34:36 +00:00
idt Mechanically convert to if_inc_counter(). 2014-09-19 09:19:49 +00:00
include Add 128-byte cache flushing routines. 2015-01-20 11:10:25 +00:00
malta Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
mips Do not qualify the mcontext_t *mcp argument for set_mcontext(9) as 2015-01-31 21:43:46 +00:00
nlm Whitespace fixes for sys/mips/nlm/dev 2015-02-28 00:22:10 +00:00
rmi Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
rt305x Implement GPIO_GET_BUS() method for all GPIO drivers. 2015-01-31 19:32:14 +00:00
sentry5 Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
sibyte Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00