1/* SPDX-License-Identifier: GPL-2.0-only */
2
3/* Definitions for RTL8187SE hardware
4 *
5 * Copyright 2009 Larry Finger <Larry.Finger@lwfinger.net>
6 * Copyright 2014 Andrea Merello <andrea.merello@gmail.com>
7 *
8 * Based on the r8180 and Realtek r8187se drivers, which are:
9 * Copyright 2004-2005 Andrea Merello <andrea.merello@gmail.com>, et al.
10 *
11 * Also based on the rtl8187 driver, which is:
12 * Copyright 2007 Michael Wu <flamingice@sourmilk.net>
13 * Copyright 2007 Andrea Merello <andrea.merello@gmail.com>
14 */
15
16#ifndef RTL8187SE_RTL8225_H
17#define RTL8187SE_RTL8225_H
18
19#define RTL8225SE_ANAPARAM_ON	0xb0054d00
20#define RTL8225SE_ANAPARAM2_ON	0x000004c6
21
22/* all off except PLL */
23#define RTL8225SE_ANAPARAM_OFF	0xb0054dec
24/* all on including PLL */
25#define RTL8225SE_ANAPARAM_OFF2	0xb0054dfc
26
27#define RTL8225SE_ANAPARAM2_OFF	0x00ff04c6
28
29#define RTL8225SE_ANAPARAM3	0x10
30
31enum rtl8187se_power_state {
32	RTL8187SE_POWER_ON,
33	RTL8187SE_POWER_OFF,
34	RTL8187SE_POWER_SLEEP
35};
36
37static inline void rtl8225se_write_phy_ofdm(struct ieee80211_hw *dev,
38					  u8 addr, u8 data)
39{
40	rtl8180_write_phy(dev, addr, data);
41}
42
43static inline void rtl8225se_write_phy_cck(struct ieee80211_hw *dev,
44					 u8 addr, u8 data)
45{
46	rtl8180_write_phy(dev, addr, data | 0x10000);
47}
48
49
50const struct rtl818x_rf_ops *rtl8187se_detect_rf(struct ieee80211_hw *);
51void rtl8225se_rf_stop(struct ieee80211_hw *dev);
52void rtl8225se_rf_set_channel(struct ieee80211_hw *dev,
53				     struct ieee80211_conf *conf);
54void rtl8225se_rf_conf_erp(struct ieee80211_hw *dev,
55				  struct ieee80211_bss_conf *info);
56void rtl8225se_rf_init(struct ieee80211_hw *dev);
57
58#endif /* RTL8187SE_RTL8225_H */
59