xref: /freebsd/sys/dev/rtwn/rtl8723b/r23b_fw_cmd.h (revision 551b7c5e12bfea623a47edf97ad5689732a1233f)
1*551b7c5eSAhmad Khalifa /*
2*551b7c5eSAhmad Khalifa  * Copyright (c) 2026 Ahmad Khalifa <vexeduxr@FreeBSD.org>
3*551b7c5eSAhmad Khalifa  *
4*551b7c5eSAhmad Khalifa  * SPDX-License-Identifier: BSD-2-Clause
5*551b7c5eSAhmad Khalifa  */
6*551b7c5eSAhmad Khalifa 
7*551b7c5eSAhmad Khalifa #ifndef R23B_FW_CMD_H
8*551b7c5eSAhmad Khalifa #define R23B_FW_CMD_H
9*551b7c5eSAhmad Khalifa 
10*551b7c5eSAhmad Khalifa /*
11*551b7c5eSAhmad Khalifa  * Host to firmware commands.
12*551b7c5eSAhmad Khalifa  */
13*551b7c5eSAhmad Khalifa #define R23B_CMD_RSSI_SETTING	0x42
14*551b7c5eSAhmad Khalifa #define R23B_CMD_PS_TDMA	0x60
15*551b7c5eSAhmad Khalifa #define R23B_CMD_BT_INFO	0x61
16*551b7c5eSAhmad Khalifa #define R23B_CMD_BT_WLANACT	0x63
17*551b7c5eSAhmad Khalifa #define R23B_CMD_ANT_INV	0x65
18*551b7c5eSAhmad Khalifa #define R23B_CMD_BT_MP_OPER	0x67
19*551b7c5eSAhmad Khalifa #define R23B_CMD_WLAN_CALIB	0x6d
20*551b7c5eSAhmad Khalifa #define R23B_CMD_BT_GRANT	0x6e
21*551b7c5eSAhmad Khalifa 
22*551b7c5eSAhmad Khalifa #define R23B_CMD_BT_WLANACT_IGNORE	((uint8_t[]){ 0 })
23*551b7c5eSAhmad Khalifa 
24*551b7c5eSAhmad Khalifa #define R23B_CMD_WLAN_CALIB_BEGIN	((uint8_t[]){ 1 })
25*551b7c5eSAhmad Khalifa #define R23B_CMD_WLAN_CALIB_END		((uint8_t[]){ 0 })
26*551b7c5eSAhmad Khalifa 
27*551b7c5eSAhmad Khalifa #define R23B_CMD_BT_GRANT_LOW		((uint8_t[]){ 0 })
28*551b7c5eSAhmad Khalifa #define R23B_CMD_BT_GRANT_HIGH		((uint8_t[]){ 1 })
29*551b7c5eSAhmad Khalifa 
30*551b7c5eSAhmad Khalifa /* Structure for R23B_CMD_RSSI_SETTING. */
31*551b7c5eSAhmad Khalifa struct r23b_fw_cmd_rssi {
32*551b7c5eSAhmad Khalifa 	uint8_t	macid;
33*551b7c5eSAhmad Khalifa 	uint8_t	reserved;
34*551b7c5eSAhmad Khalifa 	uint8_t	pwdb;
35*551b7c5eSAhmad Khalifa 	uint8_t uldl;
36*551b7c5eSAhmad Khalifa } __packed;
37*551b7c5eSAhmad Khalifa 
38*551b7c5eSAhmad Khalifa /* Structure for R23B_CMD_BT_MP_OPER. */
39*551b7c5eSAhmad Khalifa struct r23b_fw_cmd_btoper {
40*551b7c5eSAhmad Khalifa 	uint8_t req_num;
41*551b7c5eSAhmad Khalifa 	uint8_t opcode;
42*551b7c5eSAhmad Khalifa #define R23B_BT_MP_OPER_WRITE_VAL	0xd
43*551b7c5eSAhmad Khalifa #define R23B_BT_MP_OPER_WRITE_ADDR	0xc
44*551b7c5eSAhmad Khalifa 
45*551b7c5eSAhmad Khalifa 	uint8_t value;
46*551b7c5eSAhmad Khalifa 	uint8_t addr;
47*551b7c5eSAhmad Khalifa } __packed;
48*551b7c5eSAhmad Khalifa 
49*551b7c5eSAhmad Khalifa /* Structure for R23B_CMD_ANT_INV. */
50*551b7c5eSAhmad Khalifa struct r23b_fw_cmd_antinv {
51*551b7c5eSAhmad Khalifa 	uint8_t invert;
52*551b7c5eSAhmad Khalifa 	uint8_t internal_switch;
53*551b7c5eSAhmad Khalifa } __packed;
54*551b7c5eSAhmad Khalifa 
55*551b7c5eSAhmad Khalifa #endif
56