/
*
*
*
Frame
Format
*
-
0000x
: Do
not
use.
*
-
00010
: Master connect.
*
-
00011
: Slave connect.
*
-
00100
: Page.
*
-
00101
: Page scan.
*
-
00110
: Master page response.
*
-
00111
: Slave page response.
*
-
01000
: Inquiry.
*
-
01001
: Inquiry response.
*
-
01010
: Do
not
use.
*
-
01011
: Do
not
use.
*
-
011xx
: Do
not
use.
*
-
10xxx
: Do
not
use.
*
-
11000
: Master Broadcast.
*
-
11001
: Broadcast Scan.
*
-
11010
: Master Access window.
*
-
11011
: Slave Access window
1.
*
-
11100
: Slave Access window
2.
*
-
11101
: Do
not
use.
*
-
1111x
: Do
not
use
*
/
uint32_t reversed_ld_page_em_init(void)
{
uint8_t bVar1;
char cVar2;
int
iVar3;
ushort
*
puVar4;
int
iVar5;
ushort
*
puVar6;
ushort
*
puVar7;
ushort
*
puVar8;
iVar5
=
ld_page_env;
bVar1
=
*
(uint8_t
*
)(ld_page_env
+
0x41
);
iVar3
=
(uint)bVar1
*
0x66
;
/
/
FR_CNTL
puVar4
=
(ushort
*
)(&FR_CNTL
+
iVar3);
/
/
PWR_CNTL
puVar8
=
(ushort
*
)(&PWR_CNTL
+
iVar3);
/
/
em_bt_frcntl_format_setf(EM_BT_CS_FMT_PAGE)
/
/
FORMAT
=
FRCNTL[
0
:
4
]
0x
f f e
0
=
0b
1111
1111
1110
0000
/
/
4
:Page
*
puVar4
=
*
puVar4 &
0xffe0
|
4
;
/
/
em_bt_bdaddr0_setf
*
(uint16_t
*
)(&BDADDR0
+
iVar3)
=
*
(uint16_t
*
)(iVar5
+
0x28
);
/
/
em_bt_bdaddr1_setf
*
(uint16_t
*
)(&BDADDR1
+
iVar3)
=
*
(uint16_t
*
)(iVar5
+
0x2a
);
/
/
em_bt_bdaddr2_setf
*
(uint16_t
*
)(&BDADDR2
+
iVar3)
=
*
(uint16_t
*
)(iVar5
+
0x2c
);
/
/
em_bt_bch0_setf
*
(uint16_t
*
)(&BCH0
+
iVar3)
=
*
(uint16_t
*
)(iVar5
+
0x44
);
/
/
em_bt_bch1_setf
*
(uint16_t
*
)(&BCH1
+
iVar3)
=
*
(uint16_t
*
)(iVar5
+
0x46
);
/
/
em_bt_rxmaxbuf_bch2_pack
*
(ushort
*
)(&RXMAXBUF_BCH2
+
iVar3)
=
(ushort)
*
(uint8_t
*
)(iVar5
+
0x48
) &
3
;
/
/
em_bt_pwrcntl_txpwr_setf
*
puVar8
=
(ushort)rwip_rf[
44
] |
*
puVar8 &
0xff00
;
/
/
TXRX_CNTL
puVar6
=
(ushort
*
)(&TXRX_CNTL
+
iVar3);
/
/
em_bt_txrxcntl_txeir_setf
*
puVar6
=
*
puVar6 &
0xfff7
;
/
/
ACL_TX_STAT
puVar7
=
(ushort
*
)(&ACL_TX_STAT
+
iVar3);
/
/
em_bt_acltxstat_txtog_setf
*
puVar7
=
*
puVar7 &
0x7fff
;
/
/
em_bt_acltxstat_waitack_setf
*
puVar7
=
*
puVar7 &
0xfbff
;
/
/
em_bt_acltxstat_lasttxseqn_setf
*
puVar7
=
*
puVar7 &
0xfffe
;
/
/
em_bt_acltxstat_lasttxack_setf
*
puVar7
=
*
puVar7 &
0xfffd
;
/
/
em_bt_acltxstat_fcrc_setf
*
puVar7
=
*
puVar7 &
0xdfff
;
/
/
em_bt_acltxstat_fnak_setf
*
puVar7
=
*
puVar7 &
0xefff
;
/
/
em_bt_pwrcntl_fh_en_setf
*
puVar8
=
*
puVar8 &
0x7fff
|
0x8000
;
/
/
em_bt_wincntl_pack
*
(uint16_t
*
)(&WIN_CNTL
+
iVar3)
=
0x30
;
/
/
em_bt_bitoff_pack
*
(uint16_t
*
)(&BIT_OFF
+
iVar3)
=
0
;
/
/
em_bt_clkoff0_setf
*
(uint16_t
*
)(&CLK_OFF0
+
iVar3)
=
*
(uint16_t
*
)(iVar5
+
0x3c
);
/
/
em_bt_clkoff1_setf
*
(uint16_t
*
)(&CLK_OFF1
+
iVar3)
=
0
;
/
/
em_bt_txrxcntl_rxthr_setf
*
puVar6
=
*
puVar6 &
0x1fff
;
/
/
LINK_CNTL
puVar7
=
&LINK_CNTL
+
(uint)bVar1
*
0x33
;
/
/
em_bt_linkcntl_aknena_setf
*
puVar7
=
*
puVar7 &
0x7fff
;
/
/
em_bt_linkcntl_afhena_setf
*
puVar7
=
*
puVar7 &
0xbfff
;
/
/
em_bt_linkcntl_whdsb_setf
*
puVar7
=
*
puVar7 &
0xefff
;
/
/
em_bt_txrxcntl_txcrypt_setf
*
puVar6
=
*
puVar6 &
0xfffc
;
/
/
em_bt_txrxcntl_rxcrypt_setf
*
puVar6
=
*
puVar6 &
0xfcff
;
/
/
em_bt_txrxcntl_txbcry_setf
*
puVar6
=
*
puVar6 &
0xfffb
;
/
/
em_bt_txrxcntl_rxbcry_setf
*
puVar6
=
*
puVar6 &
0xfbff
;
/
/
em_bt_txrxcntl_stopmod_setf
*
puVar6
=
*
puVar6 &
0xff7f
;
cVar2
=
*
(char
*
)(iVar5
+
0x54
);
/
/
em_bt_linkcntl_acledr_setf
*
puVar7
=
*
puVar7 &
0xf7ff
;
if
(cVar2
=
=
'\0'
) {
iVar5
=
((uint)
*
(uint8_t
*
)(iVar5
+
0x41
) &
0x7f
)
*
0x14
;
/
/
em_bt_txheader_pack
*
(uint16_t
*
)(&TX_HEADER
+
iVar5)
=
0x390
;
/
/
em_bt_txpheader_pack
*
(uint16_t
*
)(&TX_PHEADER
+
iVar5)
=
0x92
;
/
/
em_bt_txaclbufptr_pack
*
(uint16_t
*
)(&TX_ACL_BUF_PTR
+
iVar5)
=
0
;
/
/
em_bt_txlmbufptr_pack
*
(uint16_t
*
)(&TX_LM_BUF_PTR
+
iVar5)
=
0x262c
;
/
/
em_bt_txptr_pack
*
(uint16_t
*
)(&TX_PTR
+
iVar5)
=
0
;
hook_ld_page_em_init(iVar5);
/
/
em_bt_txdescptr_setf
*
(short
*
)(&TX_DESCPTR
+
iVar3)
=
(short)iVar5
+
0x23ba
;
}
else
{
/
/
em_bt_txdescptr_pack
*
(uint16_t
*
)(&TX_DESCPTR
+
iVar3)
=
0
;
}
if
(false) {
(
*
*
(code3
*
*
)(r_plf_funcs_p
+
0x14
))(
"(((uint16_t)aclincpriostep << 13) & ~((uint16_t)0x0000E000)) == 0"
,
"ld_page.c"
,
0xa33
);
}
if
(false) {
(
*
*
(code3
*
*
)(r_plf_funcs_p
+
0x14
))(
"(((uint16_t)aclminprio << 8) & ~((uint16_t)0x00001F00)) == 0"
,
"ld_page.c"
,
0xa34
);
}
if
(false) {
(
*
*
(code3
*
*
)(r_plf_funcs_p
+
0x14
))(
"(((uint16_t)accurrentprio << 0) & ~((uint16_t)0x0000001F)) == 0"
,
"ld_page.c"
,
0xa36
);
}
/
/
ACL_DM_PRIO_CNTL
/
/
aclincpriostep
=
ACL_DM_PRIO_CNTL[
13
:
15
]
0xa33
/
/
aclminprio
=
ACL_DM_PRIO_CNTL[
8
:
12
]
0xa34
/
/
reserved_05_07
=
ACL_DM_PRIO_CNTL[
5
:
7
](????aclconflict)
0xa35
/
/
aclcurrentprio
=
ACL_DM_PRIO_CNTL[
0
:
4
]
0xa36
/
/
em_acldmpriocntl_pack
*
(uint16_t
*
)(&ACL_DM_PRIO_CNTL
+
iVar3)
=
0x2808
;
/
/
SCO_DM_PRIO_CNTL
/
/
scoincpriostep
=
SCO_DM_PRIO_CNTL[
13
:
15
]
/
/
scominprio
=
SCO_DM_PRIO_CNTL[
8
:
12
]
/
/
reserved_05_07
=
SCO_DM_PRIO_CNTL[
5
:
7
](????scoconflict)
/
/
scocurrentprio
=
SCO_DM_PRIO_CNTL[
0
:
4
]
/
/
em_scodmpriocntl_pack
*
(uint16_t
*
)(&SCO_DM_PRIO_CNTL
+
iVar3)
=
0
;
/
/
em_bt_frcntl_pack
*
puVar4
=
0x5704
;
return
0x5704
;
}