freebsd-skq/sys/mips/cavium
Warner Losh dfa1a4fbf9 Add support for True IDE mode to the Octeon CF driver. This mode is
signalled when the attribute address for the CF is 0 in the octeon
sysinfo structure.  In this mode, the DATA port is 16-bits, but the
other ports are 8-bits, but on a 16-bit bus (so you have to access it
a short at a time, but only believe the lower byte).  See the code for
more details on this slightly odd arrangement.  I'm still not 100%
happy with the abstractions here on many levels (starting with the
globals for these settings, on down to no bus_space use, etc), but the
driver had these problems before the change.

Also, clean up the code a bit to make this support easier, and the
code a bit easier to read.  I tried to follow existing style, but may
have missed a few spots.  Add some comments.

Fix probe/attach routine to return a proper error for the simulator.

With this change, my EBH5200 eval board now recognizes the CF well
enough to boot to the login prompt.  Before it would say it never
became ready.  My CN3010-EVB-HS5 still boots properly.  My older
CN3860-based board won't load the 64-bit kernel, either before or
after the change, and I didn't chase that down.
2011-06-04 07:06:05 +00:00
..
cryptocteon Fix build by changing format for size_t to %jd 2011-01-20 05:44:36 +00:00
octe - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
usb Remove unneeded includes of <sys/linker_set.h>. Other headers that use 2011-01-11 13:59:06 +00:00
asm_octeon.S o) Add SMP support for Octeon using U-Boot to launch all the processors at the 2010-04-17 03:08:13 +00:00
ciu.c o) Expand the CIU driver to be aware of newly-allocated parts of the IRQ range. 2011-01-10 03:48:41 +00:00
cvmx_config.h o) Expand the CIU driver to be aware of newly-allocated parts of the IRQ range. 2011-01-10 03:48:41 +00:00
files.octeon1 o) Expand the CIU driver to be aware of newly-allocated parts of the IRQ range. 2011-01-10 03:48:41 +00:00
if_octm.c o) Set MAC addresses starting at the MAC base for all management ports, not 2011-03-16 22:51:34 +00:00
obio.c Fix to specify generic bus_add_child. 2010-09-19 09:18:27 +00:00
obiovar.h trim unused members of the softc. 2010-01-28 20:38:52 +00:00
octeon_ds1337.c Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
octeon_ebt3000_cf.c Add support for True IDE mode to the Octeon CF driver. This mode is 2011-06-04 07:06:05 +00:00
octeon_machdep.c Save the CPU model, the board and the CPU clock rate so they are reported by 2011-01-17 23:03:09 +00:00
octeon_mp.c Allow the platform code to return a bitmask of running cores rather than just 2011-02-12 02:08:24 +00:00
octeon_nmi.S - Add watchdog driver for Cavium Octeon. At the moment only 2010-11-28 08:11:05 +00:00
octeon_pcmap_regs.h Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
octeon_rnd.c Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
octeon_rtc.c Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
octeon_wdog.c Shorten device name so it fits into vmstat -i. 2011-01-10 22:14:08 +00:00
octopci_bus_space.c Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
octopci.c Initialize PCIe buses and add preliminary support for 64-bit BARs. 2011-01-11 02:37:58 +00:00
octopcireg.h Flesh out PCI bus support some: 2010-09-24 00:14:24 +00:00
octopcivar.h Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
std.octeon1 Remove the 'machine mips' from DEFAULTS. Put the proper 'machine mips 2010-11-13 22:34:12 +00:00
uart_bus_octeonusart.c Don't do a device_identify to add uart0, it's already hinted. 2011-01-19 07:06:28 +00:00
uart_cpu_octeonusart.c Rather than shifting offsets by three, set register offset to 3. All our 2010-10-02 05:38:45 +00:00
uart_dev_oct16550.c Rather than shifting offsets by three, set register offset to 3. All our 2010-10-02 05:38:45 +00:00