Index: output/eeprom.dat
===================================================================
--- /YC1308AF/branch/mouse/YDN_Project/USB_64K/output/eeprom.dat	(revision 3797)
+++ /YC1308AF/branch/mouse/YDN_Project/USB_64K/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-d2
-04
+8e
+05
 c2
 84
 00
@@ -11,67 +11,71 @@
 c0
 41
 80
-38
+39
 c0
 42
 80
-3f
+40
 c0
 45
 00
-4d
+4e
 c0
 45
 80
-53
+54
 c0
 46
 00
-92
+93
 c0
 56
 80
-12
+13
 c0
 5d
 00
-60
+61
 c0
 5d
 80
-62
+63
 20
 20
 13
 7e
 c0
+15
+01
+53
+c0
 46
 00
-b8
+b9
 c0
 47
 00
-bc
+bd
 c0
 49
 80
-cc
+cd
 c0
 53
 80
-a7
+a8
 c0
 70
 00
-d2
+d3
 c0
 72
 00
-e3
+e4
 c0
 73
 01
-1b
+1c
 20
 20
 13
@@ -87,7 +91,7 @@
 58
 00
 00
-1f
+20
 67
 e1
 49
@@ -95,7 +99,7 @@
 58
 00
 00
-23
+24
 67
 e1
 48
@@ -119,7 +123,7 @@
 58
 00
 00
-31
+32
 67
 e1
 48
@@ -151,7 +155,7 @@
 c0
 00
 00
-28
+29
 c0
 00
 b6
@@ -159,7 +163,7 @@
 c0
 07
 80
-83
+84
 20
 60
 00
@@ -195,11 +199,11 @@
 20
 40
 00
-b0
+b1
 20
 20
 00
-29
+2a
 6f
 e0
 c9
@@ -207,7 +211,7 @@
 c0
 02
 00
-34
+35
 20
 20
 37
@@ -223,11 +227,11 @@
 20
 40
 00
-ad
+ae
 20
 20
 00
-33
+34
 70
 89
 00
@@ -263,7 +267,7 @@
 24
 3a
 00
-48
+49
 20
 40
 4d
@@ -319,7 +323,7 @@
 24
 3a
 00
-50
+51
 20
 20
 12
@@ -375,7 +379,7 @@
 20
 40
 00
-87
+88
 20
 40
 62
@@ -391,7 +395,7 @@
 20
 40
 00
-5e
+5f
 20
 20
 37
@@ -411,7 +415,7 @@
 20
 40
 00
-67
+68
 20
 20
 37
@@ -423,11 +427,11 @@
 20
 40
 00
-6a
+6b
 20
 20
 00
-76
+77
 6f
 e0
 c9
@@ -543,7 +547,7 @@
 20
 20
 00
-84
+85
 6f
 e0
 c8
@@ -551,7 +555,7 @@
 c0
 07
 80
-8b
+8c
 70
 49
 40
@@ -635,7 +639,7 @@
 20
 40
 00
-8d
+8e
 1f
 e6
 7e
@@ -659,7 +663,7 @@
 24
 20
 80
-a5
+a6
 58
 00
 00
@@ -771,7 +775,7 @@
 c0
 00
 00
-c1
+c2
 20
 20
 7a
@@ -795,7 +799,7 @@
 c0
 00
 80
-c7
+c8
 20
 20
 7a
@@ -807,7 +811,7 @@
 c0
 04
 80
-ca
+cb
 20
 20
 7a
@@ -919,15 +923,15 @@
 c0
 55
 00
-e8
+e9
 c0
 2a
 80
-f2
+f3
 c0
 11
 01
-02
+03
 20
 20
 23
@@ -939,11 +943,11 @@
 c0
 00
 80
-ec
+ed
 c0
 01
 00
-ef
+f0
 20
 60
 00
@@ -979,7 +983,7 @@
 20
 3a
 00
-f8
+f9
 6f
 e2
 48
@@ -1003,11 +1007,11 @@
 c0
 00
 80
-fc
+fd
 c0
 01
+01
 00
-ff
 20
 60
 00
@@ -1043,7 +1047,7 @@
 20
 3a
 01
-08
+09
 6f
 e2
 48
@@ -1067,11 +1071,11 @@
 c0
 00
 81
-0c
+0d
 c0
 01
 01
-14
+15
 20
 60
 00
@@ -1091,7 +1095,7 @@
 c0
 01
 01
-11
+12
 20
 60
 00
@@ -1123,7 +1127,7 @@
 c0
 80
 01
-19
+1a
 20
 60
 00
@@ -1151,7 +1155,7 @@
 20
 40
 01
-2a
+2b
 6f
 e0
 c8
@@ -1219,11 +1223,195 @@
 20
 40
 01
-31
+60
+20
+40
+01
+33
 20
 20
 23
+60
+6f
+e0
+c0
+9a
+c1
+82
+00
+00
+6f
+e0
+c9
+3e
+20
+7a
+00
+00
+70
+09
+64
+00
+70
+48
+f5
+5a
+20
+40
+01
+42
+20
+40
+36
+d0
+6f
+e0
+89
+64
+1f
+e0
+fe
+01
+67
+e0
+89
+64
+c0
+7f
+de
+29
+6f
+e0
+c8
+f5
+c0
+ad
+01
+38
+20
+20
+5e
+29
+df
+20
+00
+01
+da
+20
+48
+f5
+d8
+40
+00
+2a
+20
+20
+01
+46
+20
+40
+01
+48
+20
+20
+5f
+13
+20
+40
 5f
+2a
+70
+80
+47
+80
+6f
+f0
+8a
+0b
+79
+3f
+fe
+05
+79
+20
+7e
+03
+67
+f0
+8a
+0b
+20
+00
+00
+18
+79
+20
+7e
+04
+67
+f0
+8a
+0b
+20
+00
+01
+f4
+20
+60
+00
+00
+6f
+f0
+8a
+0b
+79
+3f
+fe
+05
+79
+3f
+fe
+04
+79
+3f
+fe
+00
+67
+f0
+8a
+0b
+20
+00
+00
+18
+79
+3f
+fe
+03
+67
+f0
+8a
+0b
+20
+00
+00
+c8
+6f
+f0
+8a
+0a
+79
+3f
+fe
+01
+67
+f0
+8a
+0a
+20
+20
+5f
+27
 6f
 e0
 c9
@@ -1236,8 +1424,8 @@
 20
 23
 d6
-25
-a0
+02
+3b
 aa
 55
 40
@@ -1281,7 +1469,7 @@
 00
 00
 00
-00
+04
 00
 00
 00
@@ -1361,198 +1549,10 @@
 aa
 aa
 55
-97
+9b
 0e
-81
-b5
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+2c
+8b
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-b6
-89
+94
+52
Index: output/program.lis
===================================================================
--- /YC1308AF/branch/mouse/YDN_Project/USB_64K/output/program.lis	(revision 3797)
+++ /YC1308AF/branch/mouse/YDN_Project/USB_64K/output/program.lis	(working copy)
@@ -1,431 +1,490 @@
               include "bt_format "
               org 0x0000
 0000 c284000a bbit1 8 ,pf_patch_ext 
-0001 c0418038 beq patch10_3 ,p_set_sync_on 
-0002 c042803f beq patch10_5 ,p_rf_rx_enable 
-0003 c045004d beq patch11_2 ,p_txon_next 
-0004 c0458053 beq patch11_3 ,p_initialize_radio_cont 
-0005 c0460092 beq patch11_4 ,p_save_rssi 
-0006 c0568012 beq patch15_5 ,p_app_init 
-0007 c05d0060 beq patch17_2 ,p_dongle_usb_dispatch 
-0008 c05d8062 beq patch17_3 ,p_dongle_work_mode_auto 
+0001 c0418039 beq patch10_3 ,p_set_sync_on 
+0002 c0428040 beq patch10_5 ,p_rf_rx_enable 
+0003 c045004e beq patch11_2 ,p_txon_next 
+0004 c0458054 beq patch11_3 ,p_initialize_radio_cont 
+0005 c0460093 beq patch11_4 ,p_save_rssi 
+0006 c0568013 beq patch15_5 ,p_app_init 
+0007 c05d0061 beq patch17_2 ,p_dongle_usb_dispatch 
+0008 c05d8063 beq patch17_3 ,p_dongle_work_mode_auto 
 0009 2020137e branch loop 
 
 pf_patch_ext:
-000a c04600b8 beq patch31_4 ,p_usb_init 
-000b c04700bc beq patch31_6 ,p_usb_class_type 
-000c c04980cc beq patch32_3 ,p_usb_tx 
-000d c05380a7 beq patch34_7 ,p_le_enable 
-000e c07000d2 beq patch3c_0 ,p_g24_receive_skip_end 
-000f c07200e3 beq patch3c_4 ,p_g24_bind_data_parse_next 
-0010 c073011b beq patch3c_6 ,p_g24_bind_mode_auto 
-0011 2020137e branch loop 
+000a c0150153 beq patch25_2 ,p_efuse_vdd_off 
+000b c04600b9 beq patch31_4 ,p_usb_init 
+000c c04700bd beq patch31_6 ,p_usb_class_type 
+000d c04980cd beq patch32_3 ,p_usb_tx 
+000e c05380a8 beq patch34_7 ,p_le_enable 
+000f c07000d3 beq patch3c_0 ,p_g24_receive_skip_end 
+0010 c07200e4 beq patch3c_4 ,p_g24_bind_data_parse_next 
+0011 c073011c beq patch3c_6 ,p_g24_bind_mode_auto 
+0012 2020137e branch loop 
 
 p_app_init:
 
 p_dongle_init:
-0012 7041823a jam 0x3a ,mem_lpm_ctrl3 
-0013 20401554 call lpm_write_sel_vdd 
-0014 5800001f setarg p_g24_bind_continue_timer 
-0015 67e14952 store 2 ,mem_cb_24g_bind_continue 
-0016 58000023 setarg p_dongle_dispatch 
-0017 67e1488d store 2 ,mem_cb_24g_receive_process 
-0018 5800379c setarg dongle_g24_mouse 
-0019 67e14891 store 2 ,mem_cb_24g_data_device1 
-001a 580037ad setarg dongle_g24_kb 
-001b 67e14893 store 2 ,mem_cb_24g_data_device2 
-001c 58000031 setarg p_dongle_ackpayload_prep 
-001d 67e1488f store 2 ,mem_cb_24g_ackpayload 
-001e 202036a2 branch dongle_init + 8 
+0013 7041823a jam 0x3a ,mem_lpm_ctrl3 
+0014 20401554 call lpm_write_sel_vdd 
+0015 58000020 setarg p_g24_bind_continue_timer 
+0016 67e14952 store 2 ,mem_cb_24g_bind_continue 
+0017 58000024 setarg p_dongle_dispatch 
+0018 67e1488d store 2 ,mem_cb_24g_receive_process 
+0019 5800379c setarg dongle_g24_mouse 
+001a 67e14891 store 2 ,mem_cb_24g_data_device1 
+001b 580037ad setarg dongle_g24_kb 
+001c 67e14893 store 2 ,mem_cb_24g_data_device2 
+001d 58000032 setarg p_dongle_ackpayload_prep 
+001e 67e1488f store 2 ,mem_cb_24g_ackpayload 
+001f 202036a2 branch dongle_init + 8 
 
 p_g24_bind_continue_timer:
-001f 6fe0c950 fetch 1 ,mem_g24_bind_success 
-0020 247a0000 nrtn blank 
-0021 70495001 jam 1 ,mem_g24_bind_success 
-0022 202023ca branch g24_binding_dvc1_living 
+0020 6fe0c950 fetch 1 ,mem_g24_bind_success 
+0021 247a0000 nrtn blank 
+0022 70495001 jam 1 ,mem_g24_bind_success 
+0023 202023ca branch g24_binding_dvc1_living 
 
 p_dongle_dispatch:
-0023 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
-0024 c0000028 beq 0x00 ,p_dongle_auto_bind 
-0025 c000b6fd beq 0x01 ,dongle_pc_bind 
-0026 c0078083 beq 0x0f ,p_dongle_all_powerful 
-0027 20600000 rtn 
+0024 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
+0025 c0000029 beq 0x00 ,p_dongle_auto_bind 
+0026 c000b6fd beq 0x01 ,dongle_pc_bind 
+0027 c0078084 beq 0x0f ,p_dongle_all_powerful 
+0028 20600000 rtn 
 
 p_dongle_auto_bind:
-0028 2040243a call g24_mode_switch_init 
+0029 2040243a call g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-0029 2040243e call g24_mode_switch_bind_work 
-002a 20402464 call g24_mode_switch_bind_search 
-002b 2040376b call dongle_work_mode_auto 
-002c 2040249c call g24_bind_mode_auto 
-002d 204024b9 call g24_search_mode_auto 
-002e 2040372f call dongle_usb_dispatch 
-002f 204000b0 call p_timer_check 
-0030 20200029 branch p_dongle_auto_bind_loop 
+002a 2040243e call g24_mode_switch_bind_work 
+002b 20402464 call g24_mode_switch_bind_search 
+002c 2040376b call dongle_work_mode_auto 
+002d 2040249c call g24_bind_mode_auto 
+002e 204024b9 call g24_search_mode_auto 
+002f 2040372f call dongle_usb_dispatch 
+0030 204000b1 call p_timer_check 
+0031 2020002a branch p_dongle_auto_bind_loop 
 
 p_dongle_ackpayload_prep:
-0031 6fe0c94f fetch 1 ,mem_g24_bind_step 
-0032 c0020034 beq 4 ,p_g24_bind_dvc1_exit 
+0032 6fe0c94f fetch 1 ,mem_g24_bind_step 
+0033 c0020035 beq 4 ,p_g24_bind_dvc1_exit 
 
 p_dongle_ackpayload_prep_end:
-0033 20203773 branch dongle_ackpayload_prep 
+0034 20203773 branch dongle_ackpayload_prep 
 
 p_g24_bind_dvc1_exit:
-0034 7048c301 jam dongle_bind ,mem_24g_work_mode 
-0035 70495101 jam 1 ,mem_g24_bind_continue_enable 
-0036 204000ad call p_timer_init 
-0037 20200033 branch p_dongle_ackpayload_prep_end 
+0035 7048c301 jam dongle_bind ,mem_24g_work_mode 
+0036 70495101 jam 1 ,mem_g24_bind_continue_enable 
+0037 204000ae call p_timer_init 
+0038 20200034 branch p_dongle_ackpayload_prep_end 
 
 p_set_sync_on:
-0038 70890005 jam 0x5 ,modem_en 
-0039 20000002 nop 2 
-003a 70890000 jam 0x0 ,modem_en 
-003b 6fe0c0c5 fetch 1 ,mem_fcomp_div 
-003c c0841164 bne xtal_16m ,set_sync_on_24m 
+0039 70890005 jam 0x5 ,modem_en 
+003a 20000002 nop 2 
+003b 70890000 jam 0x0 ,modem_en 
+003c 6fe0c0c5 fetch 1 ,mem_fcomp_div 
+003d c0841164 bne xtal_16m ,set_sync_on_24m 
 
 p_set_sync_on_16m:
-003d 708a8729 jam 0x29 ,core_syn_afc_cfg1 
-003e 20201179 branch set_sync_on_16m 
+003e 708a8729 jam 0x29 ,core_syn_afc_cfg1 
+003f 20201179 branch set_sync_on_16m 
 
 p_rf_rx_enable:
-003f 6fe0c940 fetch 1 ,mem_soft_agc_en 
-0040 243a0048 nbranch p_rf_rx_enable_soft_agc ,blank 
-0041 20404d05 call rf_debug_rx_gpio_high 
-0042 d8c041eb arg mem_gain_table ,contr 
-0043 98c08c00 iadd contr ,contr 
-0044 efe08006 ifetch 1 ,contr 
-0045 67f08961 store 1 ,core_rf_rx_gain_fix 
-0046 7089602e jam 0x2e ,core_rf_rx_agc_ctrl 
-0047 202011af branch rf_rx_enable_no_soft_agc_next 
+0040 6fe0c940 fetch 1 ,mem_soft_agc_en 
+0041 243a0049 nbranch p_rf_rx_enable_soft_agc ,blank 
+0042 20404d05 call rf_debug_rx_gpio_high 
+0043 d8c041eb arg mem_gain_table ,contr 
+0044 98c08c00 iadd contr ,contr 
+0045 efe08006 ifetch 1 ,contr 
+0046 67f08961 store 1 ,core_rf_rx_gain_fix 
+0047 7089602e jam 0x2e ,core_rf_rx_agc_ctrl 
+0048 202011af branch rf_rx_enable_no_soft_agc_next 
 
 p_rf_rx_enable_soft_agc:
-0048 6ff08960 fetch 1 ,core_rf_rx_agc_ctrl 
-0049 1fe1fe01 or pdata ,0x01 ,pdata 
-004a 67f08960 store 1 ,core_rf_rx_agc_ctrl 
-004b 70896108 jam 0x08 ,core_rf_rx_gain_fix 
-004c 202011af branch rf_rx_enable_no_soft_agc_next 
+0049 6ff08960 fetch 1 ,core_rf_rx_agc_ctrl 
+004a 1fe1fe01 or pdata ,0x01 ,pdata 
+004b 67f08960 store 1 ,core_rf_rx_agc_ctrl 
+004c 70896108 jam 0x08 ,core_rf_rx_gain_fix 
+004d 202011af branch rf_rx_enable_no_soft_agc_next 
 
 p_txon_next:
-004d 6fe0c940 fetch 1 ,mem_soft_agc_en 
-004e 243a0050 nbranch p_set_tx_power_f20db ,blank 
-004f 20201237 branch set_tx_power_10db 
+004e 6fe0c940 fetch 1 ,mem_soft_agc_en 
+004f 243a0051 nbranch p_set_tx_power_f20db ,blank 
+0050 20201237 branch set_tx_power_10db 
 
 p_set_tx_power_f20db:
-0050 708a3953 jam 0x53 ,core_tx_pwr_ctrl0 
-0051 708a3a01 jam 0x01 ,core_tx_pwr_ctrl1 
-0052 20201226 branch set_rf_ldo_cfg89 
+0051 708a3953 jam 0x53 ,core_tx_pwr_ctrl0 
+0052 708a3a01 jam 0x01 ,core_tx_pwr_ctrl1 
+0053 20201226 branch set_rf_ldo_cfg89 
 
 p_initialize_radio_cont:
-0053 7041eaff jam 0xff ,mem_gain_fix 
-0054 708a8500 jam 0x00 ,core_syn_loopdiv_dsm_cfg 
-0055 70892140 jam 0x40 ,0x8921 
-0056 70486702 jam 0x02 ,mem_24g_rx_phy 
-0057 70486802 jam 0x02 ,mem_24g_tx_phy 
-0058 70487a01 jam 0x01 ,mem_24g_disable_fec1 
-0059 7048bc1e jam 0x1e ,mem_24g_hop_interval 
-005a 7048d701 jam 1 ,mem_24g_b_s_mode_switch_disable 
-005b 20401252 call initialize_radio_cont + 1 
-005c 20400087 call p_g24_fast_conn_mode_check 
-005d 204062a4 call wdt_set_enable 
+0054 7041eaff jam 0xff ,mem_gain_fix 
+0055 708a8500 jam 0x00 ,core_syn_loopdiv_dsm_cfg 
+0056 70892140 jam 0x40 ,0x8921 
+0057 70486702 jam 0x02 ,mem_24g_rx_phy 
+0058 70486802 jam 0x02 ,mem_24g_tx_phy 
+0059 70487a01 jam 0x01 ,mem_24g_disable_fec1 
+005a 7048bc1e jam 0x1e ,mem_24g_hop_interval 
+005b 7048d701 jam 1 ,mem_24g_b_s_mode_switch_disable 
+005c 20401252 call initialize_radio_cont + 1 
+005d 20400088 call p_g24_fast_conn_mode_check 
+005e 204062a4 call wdt_set_enable 
 
 p_wdt_kick:
-005e 5800007d setarg 125 
-005f 20206295 branch wdt_init_config 
+005f 5800007d setarg 125 
+0060 20206295 branch wdt_init_config 
 
 p_dongle_usb_dispatch:
-0060 2040005e call p_wdt_kick 
-0061 20203730 branch dongle_usb_dispatch + 1 
+0061 2040005f call p_wdt_kick 
+0062 20203730 branch dongle_usb_dispatch + 1 
 
 p_dongle_work_mode_auto:
-0062 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
-0063 c1800000 rtnne dongle_work 
-0064 20402497 call g24_work_mode_start 
-0065 20400067 call p_dongle_g24_blank_data_process 
-0066 20203770 branch dongle_work_mode_auto + 5 
+0063 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
+0064 c1800000 rtnne dongle_work 
+0065 20402497 call g24_work_mode_start 
+0066 20400068 call p_dongle_g24_blank_data_process 
+0067 20203770 branch dongle_work_mode_auto + 5 
 
 p_dongle_g24_blank_data_process:
-0067 20403705 call dongle_g24_ms_blank_data 
-0068 2040006a call p_dongle_g24_kb_blank_data 
-0069 20200076 branch p_dongle_g24_kb_mul_blank_data 
+0068 20403705 call dongle_g24_ms_blank_data 
+0069 2040006b call p_dongle_g24_kb_blank_data 
+006a 20200077 branch p_dongle_g24_kb_mul_blank_data 
 
 p_dongle_g24_kb_blank_data:
-006a 6fe0c912 fetch 1 ,mem_dg_kb_blank_data_enable 
-006b 207a0000 rtn blank 
-006c d8e0000e arg timer_kb_blank ,queue 
-006d 20407de9 call timer_check 
-006e 247a0000 nrtn blank 
-006f 70491200 jam 0 ,mem_dg_kb_blank_data_enable 
-0070 d8a00c0f arg mem_usb_kb_data ,contw 
-0071 df200002 arg 2 ,loopcnt 
-0072 20407d8c call memset0 
-0073 6fe40c0f fetch 8 ,mem_usb_kb_data 
-0074 67e448fe store 8 ,mem_dg_kb_data_last_data 
-0075 2020371d branch dongle_usb_tx_kb_data 
+006b 6fe0c912 fetch 1 ,mem_dg_kb_blank_data_enable 
+006c 207a0000 rtn blank 
+006d d8e0000e arg timer_kb_blank ,queue 
+006e 20407de9 call timer_check 
+006f 247a0000 nrtn blank 
+0070 70491200 jam 0 ,mem_dg_kb_blank_data_enable 
+0071 d8a00c0f arg mem_usb_kb_data ,contw 
+0072 df200002 arg 2 ,loopcnt 
+0073 20407d8c call memset0 
+0074 6fe40c0f fetch 8 ,mem_usb_kb_data 
+0075 67e448fe store 8 ,mem_dg_kb_data_last_data 
+0076 2020371d branch dongle_usb_tx_kb_data 
 
 p_dongle_g24_kb_mul_blank_data:
-0076 6fe0c913 fetch 1 ,mem_dg_kb_mul_blank_data_enable 
-0077 207a0000 rtn blank 
-0078 d8e0000c arg timer_kb_mul_blank ,queue 
-0079 20407de9 call timer_check 
-007a 247a0000 nrtn blank 
-007b 70491300 jam 0 ,mem_dg_kb_mul_blank_data_enable 
-007c d8a00c1f arg mem_usb_kb_multikey ,contw 
-007d df200002 arg 2 ,loopcnt 
-007e 20407d8c call memset0 
-007f 700c1f03 jam kb_multikey_report_id ,mem_usb_kb_multikey 
-0080 6fe18c1f fetch 3 ,mem_usb_kb_multikey 
-0081 67e1c909 store 3 ,mem_dg_kb_multikey_last_data 
-0082 2020372d branch dongle_usb_tx_multikey_data 
+0077 6fe0c913 fetch 1 ,mem_dg_kb_mul_blank_data_enable 
+0078 207a0000 rtn blank 
+0079 d8e0000c arg timer_kb_mul_blank ,queue 
+007a 20407de9 call timer_check 
+007b 247a0000 nrtn blank 
+007c 70491300 jam 0 ,mem_dg_kb_mul_blank_data_enable 
+007d d8a00c1f arg mem_usb_kb_multikey ,contw 
+007e df200002 arg 2 ,loopcnt 
+007f 20407d8c call memset0 
+0080 700c1f03 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+0081 6fe18c1f fetch 3 ,mem_usb_kb_multikey 
+0082 67e1c909 store 3 ,mem_dg_kb_multikey_last_data 
+0083 2020372d branch dongle_usb_tx_multikey_data 
 
 p_dongle_all_powerful:
-0083 20402493 call g24_switch_work_mode 
+0084 20402493 call g24_switch_work_mode 
 
 p_dongle_all_powerful_loop:
-0084 2040376b call dongle_work_mode_auto 
-0085 2040372f call dongle_usb_dispatch 
-0086 20200084 branch p_dongle_all_powerful_loop 
+0085 2040376b call dongle_work_mode_auto 
+0086 2040372f call dongle_usb_dispatch 
+0087 20200085 branch p_dongle_all_powerful_loop 
 
 p_g24_fast_conn_mode_check:
-0087 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
-0088 c007808b beq 0x0f ,p_soft_agc_en_true 
+0088 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
+0089 c007808c beq 0x0f ,p_soft_agc_en_true 
 
 p_soft_agc_en_false:
-0089 70494000 jam 0 ,mem_soft_agc_en 
-008a 20600000 rtn 
+008a 70494000 jam 0 ,mem_soft_agc_en 
+008b 20600000 rtn 
 
 p_soft_agc_en_true:
-008b 70494001 jam 1 ,mem_soft_agc_en 
-008c 20600000 rtn 
+008c 70494001 jam 1 ,mem_soft_agc_en 
+008d 20600000 rtn 
 
 p_byte_sign_extern:
-008d 2feffe07 isolate1 7 ,pdata 
-008e 24608000 nrtn true 
-008f d840ff00 arg 0xff00 ,temp 
-0090 9841fe00 ior temp ,pdata 
-0091 20600000 rtn 
+008e 2feffe07 isolate1 7 ,pdata 
+008f 24608000 nrtn true 
+0090 d840ff00 arg 0xff00 ,temp 
+0091 9841fe00 ior temp ,pdata 
+0092 20600000 rtn 
 
 p_save_rssi:
-0092 6ff089a2 fetch 1 ,modem_nb_pow 
-0093 2feffe06 isolate1 6 ,pdata 
-0094 7920fe07 setflag true ,7 ,pdata 
-0095 67e0c1e9 store 1 ,mem_modem_rssi 
-0096 6ff089a3 fetch 1 ,modem_gain 
-0097 1fe1040f and pdata ,0x0f ,temp 
-0098 18438400 lshift temp ,temp 
-0099 1ff1fe00 rshift4 pdata ,pdata 
-009a 98408400 iadd temp ,temp 
-009b 184fa203 mul32 temp ,3 ,rega 
-009c 6fe0c1e9 fetch 1 ,mem_modem_rssi 
-009d 2040008d call p_byte_sign_extern 
-009e 1fe67e00 sub pdata ,0 ,pdata 
-009f 9a20fe00 iadd rega ,pdata 
-00a0 1fe0fff7 increase -9 ,pdata 
-00a1 1fe17fff and pdata ,0x1ff ,pdata 
-00a2 2feffe08 isolate1 8 ,pdata 
-00a3 242080a5 nbranch p_save_rssi_store ,true 
-00a4 58000000 setarg 0 
+0093 6ff089a2 fetch 1 ,modem_nb_pow 
+0094 2feffe06 isolate1 6 ,pdata 
+0095 7920fe07 setflag true ,7 ,pdata 
+0096 67e0c1e9 store 1 ,mem_modem_rssi 
+0097 6ff089a3 fetch 1 ,modem_gain 
+0098 1fe1040f and pdata ,0x0f ,temp 
+0099 18438400 lshift temp ,temp 
+009a 1ff1fe00 rshift4 pdata ,pdata 
+009b 98408400 iadd temp ,temp 
+009c 184fa203 mul32 temp ,3 ,rega 
+009d 6fe0c1e9 fetch 1 ,mem_modem_rssi 
+009e 2040008e call p_byte_sign_extern 
+009f 1fe67e00 sub pdata ,0 ,pdata 
+00a0 9a20fe00 iadd rega ,pdata 
+00a1 1fe0fff7 increase -9 ,pdata 
+00a2 1fe17fff and pdata ,0x1ff ,pdata 
+00a3 2feffe08 isolate1 8 ,pdata 
+00a4 242080a6 nbranch p_save_rssi_store ,true 
+00a5 58000000 setarg 0 
 
 p_save_rssi_store:
-00a5 67e08154 store 1 ,mem_rssi_hex 
-00a6 20201293 branch rssi_hex2dec 
+00a6 67e08154 store 1 ,mem_rssi_hex 
+00a7 20201293 branch rssi_hex2dec 
 
 p_le_enable:
-00a7 20401652 call le_enable + 1 
-00a8 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
-00a9 6ff08a43 fetch 1 ,core_syn_cal_ctrl 
-00aa 1fe1fe0f or pdata ,0x0f ,pdata 
-00ab 67f08a43 store 1 ,core_syn_cal_ctrl 
-00ac 20600000 rtn 
+00a8 20401652 call le_enable + 1 
+00a9 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
+00aa 6ff08a43 fetch 1 ,core_syn_cal_ctrl 
+00ab 1fe1fe0f or pdata ,0x0f ,pdata 
+00ac 67f08a43 store 1 ,core_syn_cal_ctrl 
+00ad 20600000 rtn 
 
 p_timer_init:
-00ad d8e0000d arg 13 ,queue 
-00ae 58000050 setarg 80 
-00af 20207ddb branch timer_init 
+00ae d8e0000d arg 13 ,queue 
+00af 58000050 setarg 80 
+00b0 20207ddb branch timer_init 
 
 p_timer_check:
-00b0 6fe0c951 fetch 1 ,mem_g24_bind_continue_enable 
-00b1 207a0000 rtn blank 
-00b2 d8e0000d arg 13 ,queue 
-00b3 20407de9 call timer_check 
-00b4 247a0000 nrtn blank 
-00b5 70495100 jam 0 ,mem_g24_bind_continue_enable 
-00b6 6fe14952 fetch 2 ,mem_cb_24g_bind_continue 
-00b7 20207e7a branch callback_func 
+00b1 6fe0c951 fetch 1 ,mem_g24_bind_continue_enable 
+00b2 207a0000 rtn blank 
+00b3 d8e0000d arg 13 ,queue 
+00b4 20407de9 call timer_check 
+00b5 247a0000 nrtn blank 
+00b6 70495100 jam 0 ,mem_g24_bind_continue_enable 
+00b7 6fe14952 fetch 2 ,mem_cb_24g_bind_continue 
+00b8 20207e7a branch callback_func 
 
 p_usb_init:
-00b8 20406e5e call enable_authrom 
-00b9 20407a27 call usb_init_param 
-00ba 700aa803 jam 0x03 ,mem_devicedesc + 17 
-00bb 20207a0b branch usb_init_next 
+00b9 20406e5e call enable_authrom 
+00ba 20407a27 call usb_init_param 
+00bb 700aa803 jam 0x03 ,mem_devicedesc + 17 
+00bc 20207a0b branch usb_init_next 
 
 p_usb_class_type:
-00bc 793f8023 set0 mark_isstr ,mark 
-00bd 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
-00be 1fe17e80 and_into 0x80 ,pdata 
-00bf c00000c1 beq out_device ,p_usb_out_device 
-00c0 20207aa1 branch usb_class_type + 4 
+00bd 793f8023 set0 mark_isstr ,mark 
+00be 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
+00bf 1fe17e80 and_into 0x80 ,pdata 
+00c0 c00000c2 beq out_device ,p_usb_out_device 
+00c1 20207aa1 branch usb_class_type + 4 
 
 p_usb_out_device:
-00c1 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
-00c2 1ff1fe00 rshift4 pdata ,pdata 
-00c3 1fe37e00 rshift pdata ,pdata 
-00c4 1fe17e03 and_into 0x03 ,pdata 
-00c5 c00080c7 beq class_req ,p_usb_out_class_req 
-00c6 20207ab4 branch usb_out_device + 4 
+00c2 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
+00c3 1ff1fe00 rshift4 pdata ,pdata 
+00c4 1fe37e00 rshift pdata ,pdata 
+00c5 1fe17e03 and_into 0x03 ,pdata 
+00c6 c00080c8 beq class_req ,p_usb_out_class_req 
+00c7 20207ab4 branch usb_out_device + 4 
 
 p_usb_out_class_req:
-00c7 6fe08b5a fetch 1 ,mem_usb_setup_brequest 
-00c8 c00480ca beq set_report ,p_usb_set_report 
-00c9 20207acd branch usb_out_class_req + 1 
+00c8 6fe08b5a fetch 1 ,mem_usb_setup_brequest 
+00c9 c00480cb beq set_report ,p_usb_set_report 
+00ca 20207acd branch usb_out_class_req + 1 
 
 p_usb_set_report:
-00ca 20003a98 nop 15000 
-00cb 20207c4a branch usb_set_report 
+00cb 20003a98 nop 15000 
+00cc 20207c4a branch usb_set_report 
 
 p_usb_tx:
-00cc 6fe08bf9 fetch 1 ,mem_usb_tx_enable 
-00cd 207a0000 rtn blank 
-00ce 6ff08c24 fetch 1 ,core_usb_txbusy 
-00cf 1fe17e0f and_into 0x0f ,pdata 
-00d0 243a7d17 nbranch usb_inwake_state_tx_dispose ,blank 
-00d1 20207ccc branch usb_tx + 3 
+00cd 6fe08bf9 fetch 1 ,mem_usb_tx_enable 
+00ce 207a0000 rtn blank 
+00cf 6ff08c24 fetch 1 ,core_usb_txbusy 
+00d0 1fe17e0f and_into 0x0f ,pdata 
+00d1 243a7d17 nbranch usb_inwake_state_tx_dispose ,blank 
+00d2 20207ccc branch usb_tx + 3 
 
 p_g24_receive_skip_end:
-00d2 6fe0c868 fetch 1 ,mem_24g_tx_phy 
-00d3 20401637 call le_enable_phy_by_pdata 
-00d4 6fe2483f fetch 4 ,mem_24g_addr 
-00d5 98001200 iforce access 
-00d6 20402181 call g24_prep 
-00d7 2040115d call set_sync_on 
-00d8 6848c83d fetcht 1 ,mem_24g_ch 
-00d9 708a3d12 jam 0x12 ,core_syn_top_ctrl 
-00da 60488017 storet 1 ,mem_last_freq 
-00db 1840a202 add temp ,2 ,rega 
-00dc 204011c6 call rf_tx_write_freq 
-00dd 204023e3 call g24_ackpayload_prep 
-00de 20402247 call g24_transmit_prep 
-00df 2000012c nop 300 
-00e0 20401207 call txon 
-00e1 204021ff call g24_transmit + 7 
-00e2 202021d6 branch g24_receive_skip_end 
+00d3 6fe0c868 fetch 1 ,mem_24g_tx_phy 
+00d4 20401637 call le_enable_phy_by_pdata 
+00d5 6fe2483f fetch 4 ,mem_24g_addr 
+00d6 98001200 iforce access 
+00d7 20402181 call g24_prep 
+00d8 2040115d call set_sync_on 
+00d9 6848c83d fetcht 1 ,mem_24g_ch 
+00da 708a3d12 jam 0x12 ,core_syn_top_ctrl 
+00db 60488017 storet 1 ,mem_last_freq 
+00dc 1840a202 add temp ,2 ,rega 
+00dd 204011c6 call rf_tx_write_freq 
+00de 204023e3 call g24_ackpayload_prep 
+00df 20402247 call g24_transmit_prep 
+00e0 2000012c nop 300 
+00e1 20401207 call txon 
+00e2 204021ff call g24_transmit + 7 
+00e3 202021d6 branch g24_receive_skip_end 
 
 p_g24_bind_data_parse_next:
-00e3 6fe0c897 fetch 1 ,mem_24g_rxdata_temp + 2 
-00e4 c05500e8 beq datatype_bind ,p_g24_bind_first_step 
-00e5 c02a80f2 beq datatype_config ,p_g24_bind_second_step 
-00e6 c0110102 beq datatype_ok ,p_g24_bind_third_step 
-00e7 20202370 branch g24_bind_data_parse_next + 4 
+00e4 6fe0c897 fetch 1 ,mem_24g_rxdata_temp + 2 
+00e5 c05500e9 beq datatype_bind ,p_g24_bind_first_step 
+00e6 c02a80f3 beq datatype_config ,p_g24_bind_second_step 
+00e7 c0110103 beq datatype_ok ,p_g24_bind_third_step 
+00e8 20202370 branch g24_bind_data_parse_next + 4 
 
 p_g24_bind_first_step:
-00e8 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
-00e9 c00080ec beq datatype_device1 ,p_g24_bind_first_step_device1 
-00ea c00100ef beq datatype_device2 ,p_g24_bind_first_step_device2 
-00eb 20600000 rtn 
+00e9 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
+00ea c00080ed beq datatype_device1 ,p_g24_bind_first_step_device1 
+00eb c00100f0 beq datatype_device2 ,p_g24_bind_first_step_device2 
+00ec 20600000 rtn 
 
 p_g24_bind_first_step_device1:
-00ec 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-00ed 247a0000 nrtn blank 
-00ee 20202376 branch g24_bind_first_step_device1 
+00ed 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+00ee 247a0000 nrtn blank 
+00ef 20202376 branch g24_bind_first_step_device1 
 
 p_g24_bind_first_step_device2:
-00ef 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
-00f0 247a0000 nrtn blank 
-00f1 2020237c branch g24_bind_first_step_device2 
+00f0 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
+00f1 247a0000 nrtn blank 
+00f2 2020237c branch g24_bind_first_step_device2 
 
 p_g24_bind_second_step:
-00f2 6fe0c85e fetch 1 ,mem_24g_pair_switch 
-00f3 203a00f8 branch p_g24_bind_second_step_skip ,blank 
-00f4 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
-00f5 684a40a8 fetcht 4 ,mem_lap 
-00f6 98467c00 isub temp ,null 
-00f7 24628000 nrtn zero 
+00f3 6fe0c85e fetch 1 ,mem_24g_pair_switch 
+00f4 203a00f9 branch p_g24_bind_second_step_skip ,blank 
+00f5 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
+00f6 684a40a8 fetcht 4 ,mem_lap 
+00f7 98467c00 isub temp ,null 
+00f8 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-00f8 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
-00f9 c00080fc beq datatype_device1 ,p_g24_bind_second_step_device1 
-00fa c00100ff beq datatype_device2 ,p_g24_bind_second_step_device2 
-00fb 20600000 rtn 
+00f9 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
+00fa c00080fd beq datatype_device1 ,p_g24_bind_second_step_device1 
+00fb c0010100 beq datatype_device2 ,p_g24_bind_second_step_device2 
+00fc 20600000 rtn 
 
 p_g24_bind_second_step_device1:
-00fc 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-00fd 247a0000 nrtn blank 
-00fe 20202389 branch g24_bind_second_step_device1 
+00fd 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+00fe 247a0000 nrtn blank 
+00ff 20202389 branch g24_bind_second_step_device1 
 
 p_g24_bind_second_step_device2:
-00ff 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
-0100 247a0000 nrtn blank 
-0101 20202394 branch g24_bind_second_step_device2 
+0100 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
+0101 247a0000 nrtn blank 
+0102 20202394 branch g24_bind_second_step_device2 
 
 p_g24_bind_third_step:
-0102 6fe0c85e fetch 1 ,mem_24g_pair_switch 
-0103 203a0108 branch p_g24_bind_third_step_skip ,blank 
-0104 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
-0105 684a48d9 fetcht 4 ,mem_24g_transmitter_addr 
-0106 98467c00 isub temp ,null 
-0107 24628000 nrtn zero 
+0103 6fe0c85e fetch 1 ,mem_24g_pair_switch 
+0104 203a0109 branch p_g24_bind_third_step_skip ,blank 
+0105 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
+0106 684a48d9 fetcht 4 ,mem_24g_transmitter_addr 
+0107 98467c00 isub temp ,null 
+0108 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0108 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
-0109 c000810c beq datatype_device1 ,p_g24_bind_third_step_device1 
-010a c0010114 beq datatype_device2 ,p_g24_bind_third_step_device2 
-010b 20600000 rtn 
+0109 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
+010a c000810d beq datatype_device1 ,p_g24_bind_third_step_device1 
+010b c0010115 beq datatype_device2 ,p_g24_bind_third_step_device2 
+010c 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-010c 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-010d 247a0000 nrtn blank 
-010e 6fe0c882 fetch 1 ,mem_24g_device1_bind_step 
-010f c0010111 beq 2 ,p_g24_bind_dvc1_step_success 
-0110 20600000 rtn 
+010d 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+010e 247a0000 nrtn blank 
+010f 6fe0c882 fetch 1 ,mem_24g_device1_bind_step 
+0110 c0010112 beq 2 ,p_g24_bind_dvc1_step_success 
+0111 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0111 70494f04 jam 4 ,mem_g24_bind_step 
-0112 70494101 jam 1 ,mem_24g_mouse_bind_enable 
-0113 202023aa branch g24_bind_dvc1_step_success + 1 
+0112 70494f04 jam 4 ,mem_g24_bind_step 
+0113 70494101 jam 1 ,mem_24g_mouse_bind_enable 
+0114 202023aa branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0114 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
-0115 247a0000 nrtn blank 
-0116 6fe0c883 fetch 1 ,mem_24g_device2_bind_step 
-0117 c0800119 bne 0 ,p_g24_bind_dvc2_step_success 
-0118 20600000 rtn 
+0115 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
+0116 247a0000 nrtn blank 
+0117 6fe0c883 fetch 1 ,mem_24g_device2_bind_step 
+0118 c080011a bne 0 ,p_g24_bind_dvc2_step_success 
+0119 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0119 70494201 jam 1 ,mem_24g_keyboard_bind_enable 
-011a 202023b4 branch g24_bind_dvc2_step_success 
+011a 70494201 jam 1 ,mem_24g_keyboard_bind_enable 
+011b 202023b4 branch g24_bind_dvc2_step_success 
 
 p_g24_bind_mode_auto:
-011b 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
-011c c1808000 rtnne dongle_bind 
-011d 2040234b call g24_bind_init 
-011e 2040012a call p_g24_bind_data_process 
-011f 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
-0120 247a0000 nrtn blank 
-0121 6fe0c884 fetch 1 ,mem_24g_bind_device_status 
-0122 207a0000 rtn blank 
-0123 6fe0c950 fetch 1 ,mem_g24_bind_success 
-0124 207a0000 rtn blank 
-0125 70494f00 jam 0 ,mem_g24_bind_step 
-0126 7048c000 jam 0 ,mem_24g_mode_switch 
-0127 20402493 call g24_switch_work_mode 
-0128 20402436 call g24_enable_nodata_timer 
-0129 202022b2 branch g24_timer_init 
+011c 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
+011d c1808000 rtnne dongle_bind 
+011e 2040234b call g24_bind_init 
+011f 2040012b call p_g24_bind_data_process 
+0120 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
+0121 247a0000 nrtn blank 
+0122 6fe0c884 fetch 1 ,mem_24g_bind_device_status 
+0123 207a0000 rtn blank 
+0124 6fe0c950 fetch 1 ,mem_g24_bind_success 
+0125 207a0000 rtn blank 
+0126 70494f00 jam 0 ,mem_g24_bind_step 
+0127 7048c000 jam 0 ,mem_24g_mode_switch 
+0128 20402493 call g24_switch_work_mode 
+0129 20402436 call g24_enable_nodata_timer 
+012a 202022b2 branch g24_timer_init 
 
 p_g24_bind_data_process:
-012a 204023fa call g24_rx_interrupt_clear 
-012b 20402187 call g24_receive_packet 
-012c 2437a3fa nbranch g24_rx_interrupt_clear ,user3 
-012d 20402367 call g24_bind_data_parse 
+012b 204023fa call g24_rx_interrupt_clear 
+012c 20402187 call g24_receive_packet 
+012d 2437a3fa nbranch g24_rx_interrupt_clear ,user3 
+012e 20402367 call g24_bind_data_parse 
 
 p_g24_bind_data_process_next:
-012e 2040242c call g24_transmit_ack 
-012f 20400131 call p_g24_bind_device_status_check 
-0130 2020235f branch g24_bind_data_process + 6 
+012f 2040242c call g24_transmit_ack 
+0130 20400160 call p_g24_bind_device_status_check 
+0131 20400133 call p_dongle_kb_bind_soft_reset 
+0132 20202360 branch g24_bind_data_process + 7 
+
+p_dongle_kb_bind_soft_reset:
+0133 6fe0c09a fetch 1 ,mem_device_option 
+0134 c1820000 rtnne dvc_op_dongle 
+0135 6fe0c93e fetch 1 ,mem_dg_kb_bind_success 
+0136 207a0000 rtn blank 
+0137 70096400 jam 0 ,mem_temp 
+
+p_dongle_wirte_efuse_bind_status:
+0138 7048f55a jam dongle_kb_bind_success ,mem_dg_kb_bind_flag 
+0139 20400142 call p_dongle_write_kb_bind_status 
+013a 204036d0 call dongle_read_kb_bind_status 
+013b 6fe08964 fetch 1 ,mem_temp 
+013c 1fe0fe01 increase 1 ,pdata 
+013d 67e08964 store 1 ,mem_temp 
+013e c07fde29 beq 0xff ,soft_reset_chip 
+013f 6fe0c8f5 fetch 1 ,mem_dg_kb_bind_flag 
+0140 c0ad0138 bne dongle_kb_bind_success ,p_dongle_wirte_efuse_bind_status 
+0141 20205e29 branch soft_reset_chip 
+
+p_dongle_write_kb_bind_status:
+0142 df200001 arg 1 ,loopcnt 
+0143 da2048f5 arg mem_dg_kb_bind_flag ,rega 
+0144 d840002a arg dongle_kb_bind_efuse_offect ,temp 
+0145 20200146 branch p_efuse_program 
+
+p_efuse_program:
+0146 20400148 call p_efuse_vdd_fsource_on 
+0147 20205f13 branch efuse_program + 1 
+
+p_efuse_vdd_fsource_on:
+0148 20405f2a call efuse_lna_pa_ldo_on 
+0149 70804780 jam 0x80 ,core_efuse_ctrl 
+014a 6ff08a0b fetch 1 ,core_rf_ldo_en1 
+014b 793ffe05 set0 5 ,pdata 
+014c 79207e03 set1 3 ,pdata 
+014d 67f08a0b store 1 ,core_rf_ldo_en1 
+014e 20000018 nop 24 
+014f 79207e04 set1 4 ,pdata 
+0150 67f08a0b store 1 ,core_rf_ldo_en1 
+0151 200001f4 nop 500 
+0152 20600000 rtn 
+
+p_efuse_vdd_off:
+0153 6ff08a0b fetch 1 ,core_rf_ldo_en1 
+0154 793ffe05 set0 5 ,pdata 
+0155 793ffe04 set0 4 ,pdata 
+0156 793ffe00 set0 0 ,pdata 
+0157 67f08a0b store 1 ,core_rf_ldo_en1 
+0158 20000018 nop 24 
+0159 793ffe03 set0 3 ,pdata 
+015a 67f08a0b store 1 ,core_rf_ldo_en1 
+015b 200000c8 nop 200 
+015c 6ff08a0a fetch 1 ,core_rf_ldo_en0 
+015d 793ffe01 set0 1 ,pdata 
+015e 67f08a0a store 1 ,core_rf_ldo_en0 
+015f 20205f27 branch efuse_pa_vdd_recover 
 
 p_g24_bind_device_status_check:
-0131 6fe0c950 fetch 1 ,mem_g24_bind_success 
-0132 207a0000 rtn blank 
-0133 202023d6 branch g24_bind_device_status_check 
+0160 6fe0c950 fetch 1 ,mem_g24_bind_success 
+0161 207a0000 rtn blank 
+0162 202023d6 branch g24_bind_device_status_check 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AF/branch/mouse/YDN_Project/USB_64K/program/patch.prog	(revision 3797)
+++ /YC1308AF/branch/mouse/YDN_Project/USB_64K/program/patch.prog	(working copy)
@@ -13,6 +13,7 @@
 	branch loop
 
 pf_patch_ext:
+	beq patch25_2,p_efuse_vdd_off
 	beq patch31_4,p_usb_init
 	beq patch31_6,p_usb_class_type
 	beq patch32_3,p_usb_tx
@@ -461,8 +462,64 @@
 	call p_24g_payload_print
 endif
 	call p_g24_bind_device_status_check
-	branch g24_bind_data_process+6
-	
+	call p_dongle_kb_bind_soft_reset
+	branch g24_bind_data_process+7
+p_dongle_kb_bind_soft_reset:
+	fetch 1,mem_device_option
+	rtnne dvc_op_dongle
+	fetch 1,mem_dg_kb_bind_success
+	rtn blank
+	jam 0,mem_temp
+p_dongle_wirte_efuse_bind_status:	
+	jam DONGLE_KB_BIND_SUCCESS,mem_dg_kb_bind_flag
+	call p_dongle_write_kb_bind_status
+	call dongle_read_kb_bind_status
+	fetch 1,mem_temp
+	increase 1,pdata
+	store 1,mem_temp
+	beq 0xff,soft_reset_chip
+	fetch 1,mem_dg_kb_bind_flag
+	bne DONGLE_KB_BIND_SUCCESS,p_dongle_wirte_efuse_bind_status
+	branch soft_reset_chip
+
+p_dongle_write_kb_bind_status:
+	arg 1,loopcnt
+	arg mem_dg_kb_bind_flag,rega
+	arg DONGLE_KB_BIND_EFUSE_OFFECT,temp
+	branch p_efuse_program
+
+p_efuse_program:
+	call p_efuse_vdd_fsource_on
+	branch efuse_program+1
+
+p_efuse_vdd_fsource_on:
+	call efuse_lna_pa_ldo_on
+	jam 0x80,core_efuse_ctrl
+	fetch 1,core_rf_ldo_en1
+	set0 5,pdata
+//	set1 4,pdata
+	set1 3,pdata
+	store 1,core_rf_ldo_en1
+	nop 24
+	set1 4,pdata
+	store 1,core_rf_ldo_en1
+	nop 500
+	rtn
+
+p_efuse_vdd_off:
+	fetch 1,core_rf_ldo_en1
+	set0 5,pdata
+	set0 4,pdata
+	set0 0,pdata
+	store 1,core_rf_ldo_en1
+	nop 24
+	set0 3,pdata
+	store 1,core_rf_ldo_en1
+	nop 200
+	fetch 1,core_rf_ldo_en0
+	set0 1,pdata
+	store 1,core_rf_ldo_en0
+	branch efuse_pa_vdd_recover	
 p_g24_bind_device_status_check:
 	fetch 1,mem_g24_bind_success
 	rtn blank
