opnsense-src/sys/mips/atheros
Adrian Chadd 08f06f0ace Fix the AR724x PCIe glue to correctly probe the BAR on AR7240 devices.
There's a bug in the AR7240 PCIe hardware where a correct BAR will end
up having the device disappear.

It turns out that for the device address it should be all 0's.

However, this meant that the PCI probe code would try writing 0xffffffff
in to see how big the window was, read back 0x0, and think the window
was 32 bits.  It then ended up calculating a resource size of 0 bytes,
failed to find anything via an rman call, and this would fail to attach.

I have quite absolutely no idea how in the various planes of existence
this particular bit of code and how it worked with the PCI bus code
ever worked.  But, well, it did.

Tested:

* Atheros AP93 - AR7240 + AR9280 reference board
2014-09-28 07:27:58 +00:00
..
apb.c Implement apb_print_child(). 2014-03-17 23:21:31 +00:00
apbvar.h The AR71xx has APB interrupts in the MISC registers from 0-7, later 2014-03-16 08:39:46 +00:00
ar71xx_bus_space_reversed.c - Handle byte-order issue for non-word accesses to memory mapped 2009-04-19 22:56:35 +00:00
ar71xx_bus_space_reversed.h - Handle byte-order issue for non-word accesses to memory mapped 2009-04-19 22:56:35 +00:00
ar71xx_chip.c Add new features - an MDIO clock, WMAC reset, GMAC reset and ethernet 2013-10-15 01:35:48 +00:00
ar71xx_chip.h MII related infrastructure changes. 2012-05-02 01:21:57 +00:00
ar71xx_cpudef.h Extend the Atheros SoC support to include a method to enable/disable 2014-03-18 12:19:39 +00:00
ar71xx_ehci.c Add the USB EHCI flags required for the post-AR71xx devices. 2014-03-02 02:49:20 +00:00
ar71xx_fixup.c Introduce the matching PCI ath(4) fixup code from ar71xx_pci into 2012-04-20 08:26:05 +00:00
ar71xx_fixup.h Introduce the matching PCI ath(4) fixup code from ar71xx_pci into 2012-04-20 08:26:05 +00:00
ar71xx_gpio.c Do not configure all pins as outputs as this can lead to short circuits when 2014-05-10 13:16:04 +00:00
ar71xx_gpiovar.h Remove the hardcoded limit for the number of gpio_pins that can be used. 2013-09-06 23:47:50 +00:00
ar71xx_machdep.c Add support for reading RouterBoard's memory which is passed by the loader 2014-05-09 14:02:18 +00:00
ar71xx_ohci.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ar71xx_pci.c Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00
ar71xx_pci_bus_space.c - Add pci bus space that translates byte order to little endian, 2009-05-15 21:36:50 +00:00
ar71xx_pci_bus_space.h - Add pci bus space that translates byte order to little endian, 2009-05-15 21:36:50 +00:00
ar71xx_setup.c Implement some initial AR934x support routines. 2013-07-21 03:56:57 +00:00
ar71xx_setup.h Add AR9341, AR9342, AR9344 SoC types. 2013-07-08 06:10:29 +00:00
ar71xx_spi.c Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00
ar71xx_wdog.c Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00
ar71xxreg.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
ar91xx_chip.c Add new features - an MDIO clock, WMAC reset, GMAC reset and ethernet 2013-10-15 01:35:48 +00:00
ar91xx_chip.h Add initial Atheros AR91XX support. 2010-08-19 11:40:10 +00:00
ar91xxreg.h Fix GPIO_MAXPINS calculation for the AR71xx, AR724x, AR913x SoC. 2011-05-06 02:45:02 +00:00
ar724x_chip.c Add new features - an MDIO clock, WMAC reset, GMAC reset and ethernet 2013-10-15 01:35:48 +00:00
ar724x_chip.h Add some initial AR724X chipset support. 2010-08-19 11:53:55 +00:00
ar724x_pci.c Fix the AR724x PCIe glue to correctly probe the BAR on AR7240 devices. 2014-09-28 07:27:58 +00:00
ar724xreg.h Use the correct bitshift operators for the GPIO definitions. 2014-01-22 08:02:07 +00:00
ar933x_chip.c Update the AR933x SoC support to include a few new knobs: 2013-10-15 03:23:08 +00:00
ar933x_chip.h Commit initial (unfinished!) support for the AR933x series of embedded 2013-03-27 03:38:58 +00:00
ar933x_uart.h * Fix clock register definitions 2013-03-29 06:32:02 +00:00
ar933xreg.h Add register definitions for the AR933x SoC GMAC (ie, ethernet MAC) 2013-10-14 23:57:12 +00:00
ar934x_chip.c Extend the Atheros SoC support to include a method to enable/disable 2014-03-18 12:19:39 +00:00
ar934x_chip.h Implement some initial AR934x support routines. 2013-07-21 03:56:57 +00:00
ar934x_nfcreg.h Add the AR934x NAND flash controller register definitions. 2014-03-18 12:18:35 +00:00
ar934xreg.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
files.ar71xx Implement some initial AR934x support routines. 2013-07-21 03:56:57 +00:00
if_arge.c Mechanically convert to if_inc_counter(). 2014-09-19 09:19:49 +00:00
if_argevar.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
pcf2123_rtc.c - Add driver for PCF2123, SPI real time clock/calendar 2010-01-22 22:14:12 +00:00
pcf2123reg.h - Add driver for PCF2123, SPI real time clock/calendar 2010-01-22 22:14:12 +00:00
std.ar71xx Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH. 2012-03-29 02:54:35 +00:00
uart_bus_ar71xx.c Use the UART frequency when programming the UART clock. 2013-07-21 03:54:39 +00:00
uart_bus_ar933x.c Use the UART frequency when programming the UART clock. 2013-07-21 03:54:39 +00:00
uart_cpu_ar71xx.c Use the UART frequency when programming the UART clock. 2013-07-21 03:54:39 +00:00
uart_cpu_ar933x.c Use the UART frequency when programming the UART clock. 2013-07-21 03:54:39 +00:00
uart_dev_ar933x.c Commit some sins in the name of "oh god oh god I don't really want to 2014-07-27 05:44:42 +00:00
uart_dev_ar933x.h Bring over the initial, CPU-only UART support for the AR933x SoC. 2013-03-28 19:27:06 +00:00