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 RTL8723B_H 8*551b7c5eSAhmad Khalifa #define RTL8723B_H 9*551b7c5eSAhmad Khalifa 10*551b7c5eSAhmad Khalifa /* 11*551b7c5eSAhmad Khalifa * Global definitions. 12*551b7c5eSAhmad Khalifa */ 13*551b7c5eSAhmad Khalifa #define R23B_PUBQ_NPAGES 231 14*551b7c5eSAhmad Khalifa #define R23B_HPQ_NPAGES 12 15*551b7c5eSAhmad Khalifa #define R23B_LPQ_NPAGES 2 16*551b7c5eSAhmad Khalifa #define R23B_NPQ_NPAGES 2 17*551b7c5eSAhmad Khalifa 18*551b7c5eSAhmad Khalifa #define R23B_TX_PAGE_COUNT 247 19*551b7c5eSAhmad Khalifa 20*551b7c5eSAhmad Khalifa #define R23B_RX_DMA_BUFFER_SIZE 0x3f80 21*551b7c5eSAhmad Khalifa 22*551b7c5eSAhmad Khalifa #define R23B_CALIB_THRESHOLD 7 23*551b7c5eSAhmad Khalifa 24*551b7c5eSAhmad Khalifa /* 25*551b7c5eSAhmad Khalifa * Function declarations. 26*551b7c5eSAhmad Khalifa */ 27*551b7c5eSAhmad Khalifa 28*551b7c5eSAhmad Khalifa /* r23b_calib.c */ 29*551b7c5eSAhmad Khalifa void r23b_iq_calib(struct rtwn_softc *); 30*551b7c5eSAhmad Khalifa void r23b_lc_calib(struct rtwn_softc *); 31*551b7c5eSAhmad Khalifa void r23b_temp_measure(struct rtwn_softc *); 32*551b7c5eSAhmad Khalifa 33*551b7c5eSAhmad Khalifa /* r23b_fw.c */ 34*551b7c5eSAhmad Khalifa #ifndef RTWN_WITHOUT_UCODE 35*551b7c5eSAhmad Khalifa void r23b_fw_download_enable(struct rtwn_softc *, int); 36*551b7c5eSAhmad Khalifa void r23b_fw_reset(struct rtwn_softc *, int); 37*551b7c5eSAhmad Khalifa #endif 38*551b7c5eSAhmad Khalifa 39*551b7c5eSAhmad Khalifa /* r23b_init.c */ 40*551b7c5eSAhmad Khalifa void r23b_init_antsel(struct rtwn_softc *); 41*551b7c5eSAhmad Khalifa void r23b_init_bb_common(struct rtwn_softc *); 42*551b7c5eSAhmad Khalifa void r23b_init_rf(struct rtwn_softc *); 43*551b7c5eSAhmad Khalifa void r23b_post_init(struct rtwn_softc *); 44*551b7c5eSAhmad Khalifa int r23b_set_page_size(struct rtwn_softc *); 45*551b7c5eSAhmad Khalifa 46*551b7c5eSAhmad Khalifa /* r23b_led.c */ 47*551b7c5eSAhmad Khalifa void r23b_set_led(struct rtwn_softc *, int, int); 48*551b7c5eSAhmad Khalifa 49*551b7c5eSAhmad Khalifa /* r23b_rf.c */ 50*551b7c5eSAhmad Khalifa void r23b_rf_write(struct rtwn_softc *, int, uint8_t, uint32_t); 51*551b7c5eSAhmad Khalifa 52*551b7c5eSAhmad Khalifa /* r23b_rom.c */ 53*551b7c5eSAhmad Khalifa int r23b_efuse_preread(struct rtwn_softc *); 54*551b7c5eSAhmad Khalifa void r23b_parse_rom(struct rtwn_softc *, uint8_t *); 55*551b7c5eSAhmad Khalifa 56*551b7c5eSAhmad Khalifa /* r23b_rx.c */ 57*551b7c5eSAhmad Khalifa int8_t r23b_get_rssi_cck(struct rtwn_softc *, void *); 58*551b7c5eSAhmad Khalifa 59*551b7c5eSAhmad Khalifa #endif /* RTL8723B_H */ 60