freebsd-dev/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
ar71xx_bus_space_reversed.h
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
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
ar71xx_fixup.h
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
ar71xx_pci_bus_space.c
ar71xx_pci_bus_space.h
ar71xx_pci.c Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00
ar71xx_setup.c Implement some initial AR934x support routines. 2013-07-21 03:56:57 +00:00
ar71xx_setup.h
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
ar91xxreg.h
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
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
ar933x_uart.h
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
pcf2123reg.h
std.ar71xx
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