History log of /freebsd-10.0-release/sys/mips/atheros/ar71xxreg.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 256175 09-Oct-2013 adrian

Add some missing AR934x register definitions.

These are needed for ethernet bootstrap.

Approved by: re@ (gjb)


# 234909 02-May-2012 adrian

Add a missing newline.


# 234905 01-May-2012 adrian

Introduce an enum which encapsulates the PHY interface types that can be
configured.


# 234900 01-May-2012 adrian

Add in the MII configuration parameters for the AR71xx.

Obtained from: Linux/OpenWRT


# 234862 01-May-2012 adrian

Break out the arge MDIO bus code into an optional argemdio device.

This is only done if the ARGE_MDIO option is included.

* Shuffle the arge MDIO bus into a separate device, that needs to be
probed early (use hint.argemdio.X.order=0)
* hint.arge.X.mdio now specifies which miiproxy to rendezvous with.
* Call MAC/MDIO bus init during MDIO attach, not arge attach.

This is done regardless:

* Shift the arge MAC and MDIO bus reset code into separate functions
and call it early during MDIO bus attach. It's required for
correct MDIO bus IO to occur on AR71xx/AR91xx devices.

* Remove the AR71xx/AR91xx centric assumption that there's only one
MDIO bus. The initial code mapped miibus0(arge0) and miibus1(arge1)
MII register operations to the MII0 (arge0) register space. The
AR724x (and later, upcoming chipsets) have two MDIO busses and
the second is very much in use.

TODO:

* since the multiphy behaviour has changed (where now a phymask of >1
PHY will still be enumerated), multiphy setups may be quite wrong.
I'll go and fix these so they still have a chance of working, at least.
until the switch PHY support appears in -HEAD.

Submitted by: Stefan Bethke <stb@lassitu.de>


# 233081 17-Mar-2012 adrian

Begin fleshing out MII clock rate configuration changes.

These are needed for some particular port configurations where the default
speed isn't suitable for all link speed types. (Ie, changing 10/100/1000MBit
PLL rate requires a similar MII clock rate, rather than a fixed MII rate.)

This is:

* only currently implemented for the ar71xx;
* isn't used anywhere (yet), as the final interface for this hasn't yet
been determined.


# 213286 29-Sep-2010 gonzo

- Fix values of CS1_EN and CS2_EN flags
- Unbreak kernel build by fixing naming convention of
GPIO_FUNC flags

Spotted by: Luiz Otavio O Souza, Andrew Thompson


# 213278 29-Sep-2010 gonzo

AR71XX_GPIO_* defines were introduced by adrian@ a while ago,
remove duplicated.


# 213239 28-Sep-2010 gonzo

Add AR71XX GPIO bus driver.


# 211510 19-Aug-2010 adrian

Implement PLL generalisation in preparation for use in if_arge.

* Add a function to write to the relevant PLL register
* Break out the PLL configuration for the AR71XX into the CPU ops,
lifted from if_arge.c.
* Add the AR91XX PLL configuration ops, using the AR91XX register
definitions.


# 211503 19-Aug-2010 adrian

Add some initial AR724X chipset support.

This is untested but should at least allow an AR724X to boot.

The current code is lacking the detail needed to expose the PCIe bus.
It is also lacking any NIC, PLL or flush/WB code.


# 211502 19-Aug-2010 adrian

Add initial Atheros AR91XX support.

This works well enough to bring a system up to single-user mode
using an MDROOT.

Known Issues:

* The EHCI USB doesn't currently work and will panic the kernel during
attach.
* The onboard ethernet won't work until the PLL routines have been
fleshed out and shoe-horned into if_arge.
* The WMAC device glue (and quite likely the if_ath support)
hasn't yet been implemented.


# 211476 19-Aug-2010 adrian

Preparation work for supporting the AR91xx and AR724x.

* Implement a SoC probe function, from Linux, which determines the
SoC family, type and revision. This only probes the AR71xx series
SoC and (currently) panics on others.

* Migrate some of the AR71XX specific hardware init (USB device, determining
system frequencies) into using the cpuops introduced in an earlier commit.
Other SoC specific hardware stuff (per-device flush/WB, GPIO pin wiring,
Ethernet PLL setup, other things I've likely missed) will be introduced in
subsequent commits.

Reviewed by: imp@
Obtained from: (partially) Linux


# 211449 18-Aug-2010 adrian

Add a DDR flush function, inspired by both Linux and if_arge.c.


# 209769 07-Jul-2010 adrian

Fix the CS line definitions. These bits are for the CS2/CS1 lines
rather than CS1/CS0.

This has been tested on the Ubiqiti Routerstation Pro board.


# 209494 24-Jun-2010 adrian

Comment about the shared pins I know about.


# 209454 23-Jun-2010 adrian

AR71XX GPIO register definitions.

Reviewed by: gonzo@


# 204093 19-Feb-2010 kan

Define DMA_RX_STATUS_OVERFLOW with correct value.

The RX overflow is reported in bit 2 on real hardware and Linux driver
for the same device already has this defined correctly.
This fixes frequent interrupt storms seen on RouterStation Pro boards.

Discussed with: gonzo


# 202723 20-Jan-2010 gonzo

- Remove unnecessary register writes in activate_device
and deactivate_device
- Save state before attaching driver and restore it when
detaching
- Clear CLK bit after last bit of byte has been sent over
the bus providing falling edge for last byte in transfer
- Fix several places where CS0 was always assumed
- Add $FreeBSD$ to ar71xxreg.h


# 202175 12-Jan-2010 imp

Set the svn:eol-style = native and svn:mime-type = text/plain
properties on all files in this tree.

Submitted by: rpaulo@


# 202173 12-Jan-2010 imp

Place proper svn:keywords tag on all these files. They were created
somehow without them on projects/mips, and that mistake was propigated
over to head.

Submitted by: rpaulo@


# 201906 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Merge support files for the Atheros AR71xx (and soon AR9xxx)
processors, except files from sys/conf and sys/mips/conf. This work
was done primarily by Olecksandr Tymoshenko and works on the
RouterStation and RouterStation PRO. Other AR71xx-based boards have
been reported as working as well (RouterBoard, for example).


# 199038 08-Nov-2009 gonzo

- Access to all 5 PHYs goes through registers in MAC0 memory
space, rewrite miibus accessors respectively


# 197973 11-Oct-2009 gonzo

- Fix CPU divisor mask

Repored by: Luiz Otavio O Souza


# 195513 09-Jul-2009 gonzo

- Move CPU/AHB frequency calculations to functions to
prevent code duplication


# 195474 08-Jul-2009 gonzo

- Fix PCI routing code


# 192783 26-May-2009 gonzo

- Add polling support
- Get rid of arge_fix_chain, use m_defrag like if_vr
- Rework interrupt handling routine to avoid race that lead
to disabling RX interrupts
- Enable full duplex if requested
- Properly set station MAC address
- Slightly optimize RX loop
- Initialize FILTERMATCH and FILTERMASK registers as linux driver does


# 192131 14-May-2009 gonzo

- Add definitions for PLL CPU Config register fields


# 192120 14-May-2009 gonzo

- Add SPI-related registers


# 191872 07-May-2009 gonzo

- Add interrupt handling for AR71XX PCI bridge


# 191838 06-May-2009 gonzo

- Add APB base and size for memory rman in apb


# 191079 14-Apr-2009 gonzo

- Revert changes accidentally killed by merge operation


# 188881 21-Feb-2009 gonzo

- Add USB-related registers


# 188807 19-Feb-2009 gonzo

- Add PLL, reset, ethernet and DMA registers/values


# 187705 26-Jan-2009 gonzo

- Rename RESET-related registers
- Add PCI registers


# 187515 21-Jan-2009 gonzo

- Change register/bitnumber/masks naming convention (again)
o For register names use AR71XX_REGISTER_NAME (prefix varies depending
on platform AR71XX/AR91XX/... Yes, let's hope other families are
on their way to tree, they call it positive thinking)
o For bit number use REGISTER_NAME_FIELD_NAME
o For field mask use REGISTER_NAME_FIELD_NAME_MASK


# 187462 20-Jan-2009 gonzo

- Use more generic prefix for register names (ATH instead of AR71XX


# 187456 19-Jan-2009 gonzo

- Use more generic name for atheros-based devices subdirectory. Keep old
naming scheme for files until we'll figure out common parts.

Suggested by: imp@


# 187423 19-Jan-2009 gonzo

- First bits of Atheros' AR71XX port. Only UART supported ATM.