| Index: chromeos/drivers/ath6kl/include/AR6002/addrs.h
|
| diff --git a/chromeos/drivers/ath6kl/include/AR6002/addrs.h b/chromeos/drivers/ath6kl/include/AR6002/addrs.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bbb647fb942aaee8da126a51af31342f86f0a21c
|
| --- /dev/null
|
| +++ b/chromeos/drivers/ath6kl/include/AR6002/addrs.h
|
| @@ -0,0 +1,86 @@
|
| +//------------------------------------------------------------------------------
|
| +// <copyright file="addrs.h" company="Atheros">
|
| +// Copyright (c) 2004-2009 Atheros Corporation. All rights reserved.
|
| +//
|
| +// This program is free software; you can redistribute it and/or modify
|
| +// it under the terms of the GNU General Public License version 2 as
|
| +// published by the Free Software Foundation;
|
| +//
|
| +// Software distributed under the License is distributed on an "AS
|
| +// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
| +// implied. See the License for the specific language governing
|
| +// rights and limitations under the License.
|
| +//
|
| +//
|
| +//------------------------------------------------------------------------------
|
| +//==============================================================================
|
| +// Author(s): ="Atheros"
|
| +//==============================================================================
|
| +
|
| +#ifndef __ADDRS_H__
|
| +#define __ADDRS_H__
|
| +
|
| +/*
|
| + * Special AR6002 Addresses that may be needed by special
|
| + * applications (e.g. ART) on the Host as well as Target.
|
| + */
|
| +
|
| +#if defined(AR6002_REV2)
|
| +#define AR6K_RAM_START 0x00500000
|
| +#define TARG_RAM_OFFSET(vaddr) ((A_UINT32)(vaddr) & 0xfffff)
|
| +#define TARG_RAM_SZ (184*1024)
|
| +#define TARG_ROM_SZ (80*1024)
|
| +#endif
|
| +#if defined(AR6002_REV4) || defined(AR6003)
|
| +#define AR6K_RAM_START 0x00540000
|
| +#define TARG_RAM_OFFSET(vaddr) (((A_UINT32)(vaddr) & 0xfffff) - 0x40000)
|
| +#define TARG_RAM_SZ (256*1024)
|
| +#define TARG_ROM_SZ (256*1024)
|
| +#endif
|
| +
|
| +#define AR6002_BOARD_DATA_SZ 768
|
| +#define AR6003_BOARD_DATA_SZ 1024
|
| +
|
| +#define AR6K_RAM_ADDR(byte_offset) (AR6K_RAM_START+(byte_offset))
|
| +#define TARG_RAM_ADDRS(byte_offset) AR6K_RAM_ADDR(byte_offset)
|
| +
|
| +#define AR6K_ROM_START 0x004e0000
|
| +#define TARG_ROM_OFFSET(vaddr) (((A_UINT32)(vaddr) & 0x1fffff) - 0xe0000)
|
| +#define AR6K_ROM_ADDR(byte_offset) (AR6K_ROM_START+(byte_offset))
|
| +#define TARG_ROM_ADDRS(byte_offset) AR6K_ROM_ADDR(byte_offset)
|
| +
|
| +/*
|
| + * At this ROM address is a pointer to the start of the ROM DataSet Index.
|
| + * If there are no ROM DataSets, there's a 0 at this address.
|
| + */
|
| +#define ROM_DATASET_INDEX_ADDR (TARG_ROM_ADDRS(TARG_ROM_SZ)-8)
|
| +#define ROM_MBIST_CKSUM_ADDR (TARG_ROM_ADDRS(TARG_ROM_SZ)-4)
|
| +
|
| +/*
|
| + * The API A_BOARD_DATA_ADDR() is the proper way to get a read pointer to
|
| + * board data.
|
| + */
|
| +
|
| +/* Size of Board Data, in bytes */
|
| +#if defined(AR6002_REV4) || defined(AR6003)
|
| +#define BOARD_DATA_SZ AR6003_BOARD_DATA_SZ
|
| +#else
|
| +#define BOARD_DATA_SZ AR6002_BOARD_DATA_SZ
|
| +#endif
|
| +
|
| +
|
| +/*
|
| + * Constants used by ASM code to access fields of host_interest_s,
|
| + * which is at a fixed location in RAM.
|
| + */
|
| +#if defined(AR6002_REV4) || defined(AR6003)
|
| +#define HOST_INTEREST_FLASH_IS_PRESENT_ADDR (AR6K_RAM_START + 0x60c)
|
| +#else
|
| +#define HOST_INTEREST_FLASH_IS_PRESENT_ADDR (AR6K_RAM_START + 0x40c)
|
| +#endif
|
| +#define FLASH_IS_PRESENT_TARGADDR HOST_INTEREST_FLASH_IS_PRESENT_ADDR
|
| +
|
| +#endif /* __ADDRS_H__ */
|
| +
|
| +
|
| +
|
|
|