162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2005-2014 Intel Corporation
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci/*
662306a36Sopenharmony_ci * Please use this file (iwl-agn-hw.h) only for hardware-related definitions.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef __iwl_agn_hw_h__
1062306a36Sopenharmony_ci#define __iwl_agn_hw_h__
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define IWLAGN_RTC_INST_LOWER_BOUND		(0x000000)
1362306a36Sopenharmony_ci#define IWLAGN_RTC_INST_UPPER_BOUND		(0x020000)
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#define IWLAGN_RTC_DATA_LOWER_BOUND		(0x800000)
1662306a36Sopenharmony_ci#define IWLAGN_RTC_DATA_UPPER_BOUND		(0x80C000)
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#define IWLAGN_RTC_INST_SIZE (IWLAGN_RTC_INST_UPPER_BOUND - \
1962306a36Sopenharmony_ci				IWLAGN_RTC_INST_LOWER_BOUND)
2062306a36Sopenharmony_ci#define IWLAGN_RTC_DATA_SIZE (IWLAGN_RTC_DATA_UPPER_BOUND - \
2162306a36Sopenharmony_ci				IWLAGN_RTC_DATA_LOWER_BOUND)
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#define IWL60_RTC_INST_LOWER_BOUND		(0x000000)
2462306a36Sopenharmony_ci#define IWL60_RTC_INST_UPPER_BOUND		(0x040000)
2562306a36Sopenharmony_ci#define IWL60_RTC_DATA_LOWER_BOUND		(0x800000)
2662306a36Sopenharmony_ci#define IWL60_RTC_DATA_UPPER_BOUND		(0x814000)
2762306a36Sopenharmony_ci#define IWL60_RTC_INST_SIZE \
2862306a36Sopenharmony_ci	(IWL60_RTC_INST_UPPER_BOUND - IWL60_RTC_INST_LOWER_BOUND)
2962306a36Sopenharmony_ci#define IWL60_RTC_DATA_SIZE \
3062306a36Sopenharmony_ci	(IWL60_RTC_DATA_UPPER_BOUND - IWL60_RTC_DATA_LOWER_BOUND)
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci/* RSSI to dBm */
3362306a36Sopenharmony_ci#define IWLAGN_RSSI_OFFSET	44
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#define IWLAGN_DEFAULT_TX_RETRY			15
3662306a36Sopenharmony_ci#define IWLAGN_MGMT_DFAULT_RETRY_LIMIT		3
3762306a36Sopenharmony_ci#define IWLAGN_RTS_DFAULT_RETRY_LIMIT		60
3862306a36Sopenharmony_ci#define IWLAGN_BAR_DFAULT_RETRY_LIMIT		60
3962306a36Sopenharmony_ci#define IWLAGN_LOW_RETRY_LIMIT			7
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci/* Limit range of txpower output target to be between these values */
4262306a36Sopenharmony_ci#define IWLAGN_TX_POWER_TARGET_POWER_MIN	(0)	/* 0 dBm: 1 milliwatt */
4362306a36Sopenharmony_ci#define IWLAGN_TX_POWER_TARGET_POWER_MAX	(16)	/* 16 dBm */
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci/* EEPROM */
4662306a36Sopenharmony_ci#define IWLAGN_EEPROM_IMG_SIZE		2048
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci/* high blocks contain PAPD data */
4962306a36Sopenharmony_ci#define OTP_HIGH_IMAGE_SIZE_6x00        (6 * 512 * sizeof(u16)) /* 6 KB */
5062306a36Sopenharmony_ci#define OTP_HIGH_IMAGE_SIZE_1000        (0x200 * sizeof(u16)) /* 1024 bytes */
5162306a36Sopenharmony_ci#define OTP_MAX_LL_ITEMS_1000		(3)	/* OTP blocks for 1000 */
5262306a36Sopenharmony_ci#define OTP_MAX_LL_ITEMS_6x00		(4)	/* OTP blocks for 6x00 */
5362306a36Sopenharmony_ci#define OTP_MAX_LL_ITEMS_6x50		(7)	/* OTP blocks for 6x50 */
5462306a36Sopenharmony_ci#define OTP_MAX_LL_ITEMS_2x00		(4)	/* OTP blocks for 2x00 */
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci#define IWLAGN_NUM_QUEUES		20
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci#endif /* __iwl_agn_hw_h__ */
60