History log of /freebsd-current/sys/dev/ath/ath_hal/ah_eeprom_v14.c
Revision Date Author Comments
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 9966c0f9 01-Sep-2020 Mateusz Guzik <mjg@FreeBSD.org>

ath: clean up empty lines in .c and .h files


# 6e778a7e 08-Dec-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

SPDX: license IDs for some ISC-related files.


# 7239f9f7 30-Jul-2011 Adrian Chadd <adrian@FreeBSD.org>

Introduce the FRAC_5G EEPROM parameter.

This seems to indicate whether to program the NIC for fractional 5ghz
mode (ie, 5mhz spaced channels, rather than 10 or 20mhz spacing) or not.
The default (0) seems to mean "only program fractional mode if needed".
A different value (eg 1) seems to always enable fractional 5ghz mode
regardless of the frequency.

Obtained from: Atheros
Approved by: re (kib)


# acc81227 14-May-2011 Adrian Chadd <adrian@FreeBSD.org>

Fix the Merlin 5ghz fast-clock EEPROM fetch to return the correct value.

The eeprom Get method should return HAL_OK if fastclock is enabled in the
EEPROM. It was returning the opposite of what it should have.

Submitted by: Matthew Fleming <mdf356@gmail.com>


# 92ffeb63 14-May-2011 Adrian Chadd <adrian@FreeBSD.org>

Fix the eeprom set API method to return HAL_STATUS.

The code assumed it could return HAL_OK, HAL_EINVAL and other
HAL_STATUS types; so it shouldn't be declared as returning HAL_BOOL.

This commit was brought to you by the Clang compiler.

Submitted by: Matthew Fleming <mdf356@gmail.com>


# 9f25ad52 27-Apr-2011 Adrian Chadd <adrian@FreeBSD.org>

Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL.

The AR9130 is an AR9160/AR5416 family WMAC which is glued directly
to the AR913x SoC peripheral bus (APB) rather than via a PCI/PCIe
bridge.

The specifics:

* A new build option is required to use the AR9130 - AH_SUPPORT_AR9130.
This is needed due to the different location the RTC registers live
with this chip; hopefully this will be undone in the future.
This does currently mean that enabling this option will break non-AR9130
builds, so don't enable it unless you're specifically building an image
for the AR913x SoC.

* Add the new probe, attach, EEPROM and PLL methods specific to Howl.

* Add a work-around to ah_eeprom_v14.c which disables some of the checks
for endian-ness and magic in the EEPROM image if an eepromdata block
is provided. This'll be fixed at a later stage by porting the ath9k
probe code and making sure it doesn't break in other setups (which
my previous attempt at this did.)

* Sprinkle Howl modifications throughput the interrupt path - it doesn't
implement the SYNC interrupt registers, so ignore those.

* Sprinkle Howl chip powerup/down throughout the reset path; the RTC methods
were

* Sprinkle some other Howl workarounds in the reset path.

* Hard-code an alternative setup for the AR_CFG register for Howl, that
sets up things suitable for Big-Endian MIPS (which is the only platform
this chip is glued to.)

This has been tested on the AR913x based TP-Link WR-1043nd mode, in
legacy, HT/20 and HT/40 modes.

Caveats:

* 2ghz has only been tested. I've not seen any 5ghz radios glued to this
chipset so I can't test it.

* AR5416_INTERRUPT_MITIGATION is not supported on the AR9130. At least,
it isn't implemented in ath9k. Please don't enable this.

* This hasn't been tested in MBSS mode or in RX/TX block-aggregation mode.


# 74e3a021 05-Apr-2011 Adrian Chadd <adrian@FreeBSD.org>

The xpaBiasLvlFreq[] fields in the modal header also need swapping
when the EEPROM contents are byte-swapped.


# c5067868 09-Mar-2011 Adrian Chadd <adrian@FreeBSD.org>

Introduce the Merlin PWDCLKIND workaround.

This is something bus clock related from what I can gather. It is needed for
the AR9220 based Ubiquiti SR71-12 and SR71-15 Mini-PCI NICs.

(Note: those NICs don't work right now because of earlier changes to handle
power table offset correctly. That'll be resolved in a follow-up commit.)


# 88237142 05-Mar-2011 Adrian Chadd <adrian@FreeBSD.org>

Add an EEPROM op that extracts out the power table offset.
It defaults to -5 dBm for eeproms earlier than v21.

This apparently only applies to Merlin (AR9280) or later,
earlier 11n chipsets have a power table offset of 0.
All the code in ath9k which checks the power table offset
and takes it into account first ensures the chip is
Merlin or later.


# 1a506b1a 07-Feb-2011 Adrian Chadd <adrian@FreeBSD.org>

Bring over some AR9280-specific v14 additions that exist in ath9k.

Obtained from: Linux ath9k


# a5314ffd 20-Jan-2011 Adrian Chadd <adrian@FreeBSD.org>

Modify the v14/v4k eeprom diag interface to return the whole eeprom.

The v1 and v3 interfaces returned the whole EEPROM but the v14/v4k
interfaces just returned the base header. There's extra information
outside of that which would also be nice to get access to.


# c485136b 20-Jan-2011 Adrian Chadd <adrian@FreeBSD.org>

Port over another EEPROM option from ath9k - AR_EEP_DAC_HPWR_5G

This will be used by the temperature compensation calibration code
which will shortly make an appearance.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# dc798229 12-Dec-2008 Sam Leffler <sam@FreeBSD.org>

remove dead code

Obtained from: netbsd


# eef5acf2 10-Dec-2008 Sam Leffler <sam@FreeBSD.org>

add missing break

Coverity ID: 4151