Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/format/app_dongle.format	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/format/app_dongle.format	(working copy)
@@ -31,6 +31,8 @@
 1 mem_dg_24g_tx_power_default
 1 mem_24g_pair_tx_power_init
 1 mem_setreport_count
+
+1 mem_usb_enum_get_report_flag
 18 mem_imanufacturer_replace
 )
 
Index: format/bt.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/format/bt.format	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/format/bt.format	(working copy)
@@ -577,6 +577,7 @@
 
 1 USB_TIMER_NAK
 15 USB_TIMER_WAKEUP
+6 USB_TIMER_100MS
 )
 
 (
Index: format/usb.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/format/usb.format	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/format/usb.format	(working copy)
@@ -183,6 +183,7 @@
 3 USB_SLEEP
 4 USB_RESUME
 5 USB_SETIDLE_1
+6 USB_GOT_REPORT_START
 )
 
 (
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/output/memmap.format	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/output/memmap.format	(working copy)
@@ -1483,7 +1483,8 @@
 0x4694 mem_dg_24g_tx_power_default
 0x4695 mem_24g_pair_tx_power_init
 0x4696 mem_setreport_count
-0x4697 mem_imanufacturer_replace
+0x4697 mem_usb_enum_get_report_flag
+0x4698 mem_imanufacturer_replace
 0x45d3 mem_rssi_hex_received
 0x45d4 mem_24g_pair_sm
 0x45d5 mem_24g_pair_no_ack
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/output/otp.dat	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/output/otp.dat	(working copy)
@@ -11,84 +11,88 @@
 00
 aa
 55
-1a
-09
+26
+0a
 c2
 84
 00
-14
+15
 c0
 00
 00
-36
+39
 c0
 01
 00
-5b
+70
 c0
 08
 80
-64
+79
 c0
 0a
-01
-d5
+02
+18
 c0
 0a
 81
-0e
+28
 c0
 0c
 01
-1c
+36
 c0
 0c
 80
-c8
+e2
 c0
 0d
 00
-83
+98
 c0
 0e
 00
-72
+87
 c0
 1b
 82
-33
+76
 c0
 1c
 00
-e1
+fb
 c0
 1c
 80
-dd
+f7
 c0
 1e
 82
-2f
+72
 c0
 58
 80
-1f
+22
 c0
 62
 80
-da
+f4
 c0
 6d
 01
-a6
+e9
 c0
 6e
 01
-b6
+f9
+c0
+7e
+80
+3f
 c0
 7f
 81
-26
+40
 20
 20
 23
@@ -96,39 +100,47 @@
 c0
 00
 01
-43
+5d
+c0
+01
+01
+95
+c0
+01
+81
+7c
 c0
 03
 01
-62
+a5
 c0
 1c
-81
-f1
+82
+34
 c0
 26
-81
-f5
+82
+38
 c0
 37
 82
-3c
+7f
 c0
 41
-01
-f7
+02
+3a
 c0
 44
 02
-17
+5a
 c0
 45
 02
-24
+67
 c0
 45
 80
-3c
+51
 c1
 7f
 80
@@ -148,7 +160,7 @@
 c0
 02
 00
-23
+26
 20
 20
 42
@@ -188,7 +200,7 @@
 58
 00
 00
-2e
+31
 67
 e1
 08
@@ -200,7 +212,7 @@
 20
 40
 00
-30
+33
 20
 20
 47
@@ -208,7 +220,7 @@
 6f
 e0
 c6
-97
+98
 20
 7a
 00
@@ -216,7 +228,7 @@
 d8
 c0
 46
-97
+98
 d8
 a0
 07
@@ -254,6 +266,78 @@
 20
 03
 6f
+f0
+8c
+22
+2f
+ef
+fe
+03
+20
+40
+f9
+15
+6f
+f1
+0c
+22
+67
+f1
+0c
+22
+67
+e1
+07
+09
+20
+40
+79
+73
+20
+40
+79
+a2
+20
+40
+7b
+96
+20
+40
+7b
+df
+20
+40
+00
+4b
+20
+20
+79
+6b
+6f
+f0
+8c
+25
+c2
+80
+00
+4b
+c2
+80
+80
+4b
+c2
+81
+00
+4b
+c2
+81
+80
+4b
+20
+60
+00
+00
+6f
 e0
 c6
 16
@@ -412,7 +496,7 @@
 20
 20
 00
-5b
+70
 70
 8a
 0f
@@ -520,7 +604,7 @@
 c3
 00
 00
-78
+8d
 20
 20
 22
@@ -572,7 +656,7 @@
 20
 40
 00
-e3
+fd
 6f
 e0
 c4
@@ -584,7 +668,7 @@
 24
 55
 80
-80
+95
 37
 d9
 82
@@ -600,7 +684,7 @@
 c0
 08
 00
-bd
+d7
 6f
 e0
 c4
@@ -644,7 +728,7 @@
 20
 40
 00
-af
+c9
 70
 80
 43
@@ -668,15 +752,35 @@
 20
 40
 01
-78
+bb
 20
 40
 01
-a3
+e6
 20
 40
 00
-a9
+c3
+70
+8a
+30
+06
+70
+8a
+32
+dd
+70
+8a
+88
+e0
+70
+8a
+8c
+2d
+70
+8a
+31
+78
 70
 41
 48
@@ -688,7 +792,7 @@
 20
 20
 01
-a5
+e8
 20
 75
 80
@@ -720,7 +824,7 @@
 c0
 0c
 00
-b5
+cf
 6f
 e0
 c4
@@ -812,7 +916,7 @@
 20
 20
 00
-9b
+b0
 6f
 e0
 c1
@@ -824,15 +928,15 @@
 c0
 4f
 00
-ce
+e8
 c0
 4f
 80
-d2
+ec
 c0
 50
 00
-d6
+f0
 20
 20
 22
@@ -924,7 +1028,7 @@
 20
 35
 81
-0a
+24
 6f
 e2
 02
@@ -1091,8 +1195,8 @@
 0f
 20
 20
-00
-f4
+01
+0e
 20
 40
 68
@@ -1216,7 +1320,7 @@
 c0
 00
 81
-35
+4f
 d8
 a0
 08
@@ -1248,7 +1352,7 @@
 20
 20
 01
-43
+5d
 d8
 a0
 08
@@ -1268,7 +1372,7 @@
 c0
 00
 81
-3d
+57
 70
 08
 f7
@@ -1324,7 +1428,7 @@
 c0
 00
 01
-49
+63
 20
 20
 23
@@ -1352,7 +1456,7 @@
 c0
 00
 81
-51
+6b
 c0
 01
 79
@@ -1372,11 +1476,11 @@
 c0
 04
 81
-56
+70
 c0
 05
-fb
-7c
+81
+88
 20
 20
 79
@@ -1392,7 +1496,7 @@
 20
 40
 01
-23
+3d
 70
 08
 f7
@@ -1429,29 +1533,193 @@
 20
 7b
 65
+70
+08
+fb
+01
 6f
 e0
-89
-0d
-20
-7a
-00
-00
+88
+70
+67
+e0
+88
+fc
 6f
-f0
-8c
-25
+e0
+88
+71
 1f
-e1
-7e
-0f
-24
-3a
+e6
 7c
-30
-6f
-e0
-89
+01
+20
+42
+81
+83
+20
+20
+7b
+52
+6f
+e0
+c6
+97
+20
+3a
+7b
+59
+6f
+e0
+89
+02
+24
+3a
+7b
+59
+20
+60
+00
+00
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+6f
+c0
+00
+7b
+82
+c0
+00
+81
+8e
+20
+20
+79
+e4
+70
+08
+fa
+01
+70
+08
+fe
+01
+70
+08
+ff
+00
+6f
+e0
+88
+71
+1f
+e6
+7c
+01
+20
+42
+f9
+84
+20
+20
+79
+e9
+6f
+e0
+88
+70
+c0
+00
+81
+99
+c0
+11
+01
+9b
+20
+20
+7a
+03
+70
+46
+97
+00
+20
+20
+7a
+14
+6f
+e1
+08
+71
+c0
+00
+81
+a0
+70
+46
+97
+01
+6a
+21
+07
+a7
+20
+20
+7b
+89
+6f
+e0
+88
+fa
+20
+5a
+79
+84
+70
+09
+00
+01
+6a
+21
+07
+a9
+20
+20
+7b
+89
+6f
+e0
+89
+0d
+20
+7a
+00
+00
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+3a
+7c
+30
+6f
+e0
+89
 0e
 20
 3a
@@ -1480,11 +1748,11 @@
 20
 40
 01
-70
+b3
 20
 20
 01
-74
+b7
 6f
 f0
 8c
@@ -1568,7 +1836,7 @@
 20
 40
 01
-95
+d8
 2a
 2f
 fe
@@ -1600,7 +1868,7 @@
 20
 40
 01
-95
+d8
 d8
 a0
 8a
@@ -1628,7 +1896,7 @@
 20
 21
 01
-8a
+cd
 20
 20
 21
@@ -1731,8 +1999,8 @@
 b8
 20
 40
-01
-ce
+02
+11
 70
 8a
 08
@@ -1767,8 +2035,8 @@
 00
 20
 40
-01
-c4
+02
+07
 6f
 f0
 8a
@@ -1811,8 +2079,8 @@
 b8
 20
 40
-01
-ce
+02
+11
 70
 80
 cd
@@ -1871,8 +2139,8 @@
 29
 c3
 02
-81
-cf
+82
+12
 68
 59
 01
@@ -1907,8 +2175,8 @@
 99
 c0
 08
-01
-ee
+02
+31
 58
 00
 57
@@ -1951,8 +2219,8 @@
 99
 c0
 08
-01
-eb
+02
+2e
 58
 00
 2b
@@ -1987,8 +2255,8 @@
 07
 20
 20
-01
-e7
+02
+2a
 58
 00
 83
@@ -1999,8 +2267,8 @@
 07
 20
 20
-01
-dc
+02
+1f
 6f
 e0
 c3
@@ -2039,8 +2307,8 @@
 3a
 c0
 11
-01
-fd
+02
+40
 c0
 7f
 b5
@@ -2056,7 +2324,7 @@
 20
 3a
 02
-03
+46
 6f
 e2
 45
@@ -2080,11 +2348,11 @@
 c0
 00
 82
-07
+4a
 c0
 01
 02
-0f
+52
 20
 60
 00
@@ -2104,7 +2372,7 @@
 c0
 01
 02
-0c
+4f
 20
 60
 00
@@ -2136,7 +2404,7 @@
 c0
 80
 02
-14
+57
 20
 60
 00
@@ -2216,7 +2484,7 @@
 20
 40
 02
-28
+6b
 20
 20
 34
@@ -2252,7 +2520,7 @@
 20
 40
 02
-31
+74
 20
 20
 48
@@ -2341,8 +2609,8 @@
 20
 31
 95
-ff
-e8
+45
+a8
 aa
 55
 40
@@ -2380,8 +2648,8 @@
 00
 00
 00
-80
-41
+a0
+4d
 00
 00
 00
@@ -2450,55 +2718,57 @@
 03
 aa
 55
-1f
+23
 00
 6a
 46
 01
-51
-31
-20
-10
+5f
+14
+33
+03
 51
 31
 20
 30
 00
-14
-50
-68
-69
-6c
-69
-70
+18
+54
+72
+75
 73
+74
 20
-55
-53
-42
-20
-52
+59
+76
+69
+2b
+57
+69
+72
 65
-63
+6c
 65
-69
-76
+73
+73
+20
+4d
+6f
+75
+73
 65
-72
 aa
 55
-08
+06
 00
-97
+98
 46
-07
-50
-68
-69
-6c
-69
-70
+05
+54
+72
+75
 73
+74
 aa
 55
 01
@@ -2538,13 +2808,6 @@
 55
 01
 00
-3f
-44
-8c
-aa
-55
-01
-00
 48
 41
 0c
@@ -2733,8 +2996,8 @@
 aa
 aa
 55
-2e
-56
-80
-65
+74
+55
+26
+16
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/output/program.lis	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/output/program.lis	(working copy)
@@ -1,733 +1,820 @@
               include "bt_format "
               org 0x0000
-0000 c2840014 bbit1 8 ,pf_patch_ext 
-0001 c0000036 beq patch00_0 ,p_soft_reset 
-0002 c001005b beq patch00_2 ,p_main_loop 
-0003 c0088064 beq patch02_1 ,p_set_sync_on 
-0004 c00a01d5 beq patch02_4 ,p_set_lemode 
-0005 c00a810e beq patch02_5 ,p_rf_rx_enable 
-0006 c00c011c beq patch03_0 ,p_txon 
-0007 c00c80c8 beq patch03_1 ,p_set_tx_power 
-0008 c00d0083 beq patch03_2 ,p_initialize_radio_cont 
-0009 c00e0072 beq patch03_4 ,p_aac_ghpc 
-000a c01b8233 beq patch06_7 ,p_dongle_default_init 
-000b c01c00e1 beq patch07_0 ,p_dongle_read_kb_bind_status 
-000c c01c80dd beq patch07_1 ,p_dongle_write_kb_bind_status 
-000d c01e822f beq patch07_5 ,p_dongle_usb_dispatch 
-000e c058801f beq patch16_1 ,p_app_init 
-000f c06280da beq patch18_5 ,p_otp_read_data 
-0010 c06d01a6 beq patch1b_2 ,p_sadc_calibration 
-0011 c06e01b6 beq patch1b_4 ,p_enable_adc 
-0012 c07f8126 beq patch1f_7 ,p_usb_rx 
-0013 2020235a branch assert 
+0000 c2840015 bbit1 8 ,pf_patch_ext 
+0001 c0000039 beq patch00_0 ,p_soft_reset 
+0002 c0010070 beq patch00_2 ,p_main_loop 
+0003 c0088079 beq patch02_1 ,p_set_sync_on 
+0004 c00a0218 beq patch02_4 ,p_set_lemode 
+0005 c00a8128 beq patch02_5 ,p_rf_rx_enable 
+0006 c00c0136 beq patch03_0 ,p_txon 
+0007 c00c80e2 beq patch03_1 ,p_set_tx_power 
+0008 c00d0098 beq patch03_2 ,p_initialize_radio_cont 
+0009 c00e0087 beq patch03_4 ,p_aac_ghpc 
+000a c01b8276 beq patch06_7 ,p_dongle_default_init 
+000b c01c00fb beq patch07_0 ,p_dongle_read_kb_bind_status 
+000c c01c80f7 beq patch07_1 ,p_dongle_write_kb_bind_status 
+000d c01e8272 beq patch07_5 ,p_dongle_usb_dispatch 
+000e c0588022 beq patch16_1 ,p_app_init 
+000f c06280f4 beq patch18_5 ,p_otp_read_data 
+0010 c06d01e9 beq patch1b_2 ,p_sadc_calibration 
+0011 c06e01f9 beq patch1b_4 ,p_enable_adc 
+0012 c07e803f beq patch1f_5 ,p_usb_isr 
+0013 c07f8140 beq patch1f_7 ,p_usb_rx 
+0014 2020235a branch assert 
 
 pf_patch_ext:
-0014 c0000143 beq patch20_0 ,p_usb_class_type 
-0015 c0030162 beq patch20_6 ,p_usb_tx 
-0016 c01c81f1 beq patch27_1 ,p_le_parse 
-0017 c02681f5 beq patch29_5 ,p_le_init_adv 
-0018 c037823c beq patch2d_7 ,p_g24_receive_skip_end 
-0019 c04101f7 beq patch30_2 ,p_g24_bind_data_parse_next 
-001a c0440217 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001b c0450224 beq patch31_2 ,p_g24_bind_mode_auto 
-001c c045803c beq patch31_3 ,p_g24_search_mode_auto 
-001d c17f8000 rtneq patch3f_7 
-001e 2020235a branch assert 
+0015 c000015d beq patch20_0 ,p_usb_class_type 
+0016 c0010195 beq patch20_2 ,p_usb0_request_get_descriptor 
+0017 c001817c beq patch20_3 ,p_usb_set_idle 
+0018 c00301a5 beq patch20_6 ,p_usb_tx 
+0019 c01c8234 beq patch27_1 ,p_le_parse 
+001a c0268238 beq patch29_5 ,p_le_init_adv 
+001b c037827f beq patch2d_7 ,p_g24_receive_skip_end 
+001c c041023a beq patch30_2 ,p_g24_bind_data_parse_next 
+001d c044025a beq patch31_0 ,p_g24_mode_switch_bind_search 
+001e c0450267 beq patch31_2 ,p_g24_bind_mode_auto 
+001f c0458051 beq patch31_3 ,p_g24_search_mode_auto 
+0020 c17f8000 rtneq patch3f_7 
+0021 2020235a branch assert 
 
 p_app_init:
-001f 6fe0c3cb fetch 1 ,mem_device_option 
-0020 203a4295 branch app_init ,blank 
-0021 c0020023 beq dvc_op_dongle ,p_dongle_init 
-0022 20204299 branch app_init + 4 
+0022 6fe0c3cb fetch 1 ,mem_device_option 
+0023 203a4295 branch app_init ,blank 
+0024 c0020026 beq dvc_op_dongle ,p_dongle_init 
+0025 20204299 branch app_init + 4 
 
 p_dongle_init:
-0023 580047ea setarg dongle_dispatch 
-0024 67e145e0 store 2 ,mem_cb_24g_receive_process 
-0025 580048d4 setarg dongle_g24_mouse 
-0026 67e145e4 store 2 ,mem_cb_24g_data_device1 
-0027 580048e5 setarg dongle_g24_kb 
-0028 67e145e6 store 2 ,mem_cb_24g_data_device2 
-0029 580048ab setarg dongle_ackpayload_prep 
-002a 67e145e2 store 2 ,mem_cb_24g_ackpayload 
-002b 5800002e setarg p_dongle_usb_config 
-002c 67e10859 store 2 ,mem_cb_usb_config 
-002d 20207912 branch usb_init 
+0026 580047ea setarg dongle_dispatch 
+0027 67e145e0 store 2 ,mem_cb_24g_receive_process 
+0028 580048d4 setarg dongle_g24_mouse 
+0029 67e145e4 store 2 ,mem_cb_24g_data_device1 
+002a 580048e5 setarg dongle_g24_kb 
+002b 67e145e6 store 2 ,mem_cb_24g_data_device2 
+002c 580048ab setarg dongle_ackpayload_prep 
+002d 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+002e 58000031 setarg p_dongle_usb_config 
+002f 67e10859 store 2 ,mem_cb_usb_config 
+0030 20207912 branch usb_init 
 
 p_dongle_usb_config:
-002e 20400030 call p_dongle_usb_imanufacturer_name 
-002f 202047f9 branch dongle_usb_config 
+0031 20400033 call p_dongle_usb_imanufacturer_name 
+0032 202047f9 branch dongle_usb_config 
 
 p_dongle_usb_imanufacturer_name:
-0030 6fe0c697 fetch 1 ,mem_imanufacturer_replace 
-0031 207a0000 rtn blank 
-0032 d8c04697 arg mem_imanufacturer_replace ,contr 
-0033 d8a007ff arg mem_string1 ,contw 
-0034 df200012 arg 18 ,loopcnt 
-0035 20207cda branch memcpy 
+0033 6fe0c698 fetch 1 ,mem_imanufacturer_replace 
+0034 207a0000 rtn blank 
+0035 d8c04698 arg mem_imanufacturer_replace ,contr 
+0036 d8a007ff arg mem_string1 ,contw 
+0037 df200012 arg 18 ,loopcnt 
+0038 20207cda branch memcpy 
 
 p_soft_reset:
-0036 20800000 clear_stack 
-0037 37d98200 until null ,lpo_edge 
-0038 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
-0039 204023e1 call lpm_write_sel_hv 
-003a 20007530 nop 30000 
-003b 20202003 branch soft_reset + 2 
+0039 20800000 clear_stack 
+003a 37d98200 until null ,lpo_edge 
+003b 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
+003c 204023e1 call lpm_write_sel_hv 
+003d 20007530 nop 30000 
+003e 20202003 branch soft_reset + 2 
+
+p_usb_isr:
+003f 6ff08c22 fetch 1 ,core_usb_status 
+0040 2feffe03 isolate1 usb_status_reset ,pdata 
+0041 2040f915 call usb_init_restart ,true 
+0042 6ff10c22 fetch 2 ,core_usb_status 
+0043 67f10c22 store 2 ,core_usb_status 
+0044 67e10709 store 2 ,mem_usb_status 
+0045 20407973 call usb_nak_state_judge 
+0046 204079a2 call usb_rx 
+0047 20407b96 call usb0_tx 
+0048 20407bdf call usb_tx 
+0049 2040004b call p_wait_ep_busy 
+004a 2020796b branch usb_nak_state 
+
+p_wait_ep_busy:
+004b 6ff08c25 fetch 1 ,core_usb_txbusy 
+004c c280004b bbit1 0 ,p_wait_ep_busy 
+004d c280804b bbit1 1 ,p_wait_ep_busy 
+004e c281004b bbit1 2 ,p_wait_ep_busy 
+004f c281804b bbit1 3 ,p_wait_ep_busy 
+0050 20600000 rtn 
 
 p_g24_search_mode_auto:
-003c 6fe0c616 fetch 1 ,mem_24g_work_mode 
-003d c1838000 rtnne dongle_search 
-003e 20403476 call g24_search_mode_init 
-003f 204034ae call g24_auto_addr_ch_search 
-0040 204033f1 call g24_receive_transmit_ack 
-0041 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0042 20403506 call g24_receiver_addr_check 
-0043 2042b3ad call g24_receive_packet_parse ,zero 
-0044 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-0045 205a344d call g24_mode_b_s_switch_stop ,blank 
-0046 70461600 jam dongle_work ,mem_24g_work_mode 
-0047 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0048 79207e00 set1 dongle_work ,pdata 
-0049 67e0c615 store 1 ,mem_24g_mode_init 
-004a 204034ec call g24_auto_bind_config_self 
-004b 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-004c 1fe67c02 sub pdata ,2 ,null 
-004d 2442b504 ncall g24_ackpayload_disable ,zero 
-004e 204033be call g24_rx_interrupt_clear 
-004f 204033fe call g24_enable_nodata_timer 
-0050 20403506 call g24_receiver_addr_check 
-0051 2022b4a7 branch g24_self_ch_num_reinit ,zero 
-0052 6fe2458f fetch 4 ,mem_24g_addr 
-0053 684a4634 fetcht 4 ,mem_24g_device2_addr 
-0054 98467c00 isub temp ,null 
-0055 2022b4aa branch g24_device2_ch_num_reinit ,zero 
-0056 6fe2458f fetch 4 ,mem_24g_addr 
-0057 684a4630 fetcht 4 ,mem_24g_device1_addr 
-0058 98467c00 isub temp ,null 
-0059 2022b4ac branch g24_device1_ch_num_reinit ,zero 
-005a 20600000 rtn 
+0051 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0052 c1838000 rtnne dongle_search 
+0053 20403476 call g24_search_mode_init 
+0054 204034ae call g24_auto_addr_ch_search 
+0055 204033f1 call g24_receive_transmit_ack 
+0056 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0057 20403506 call g24_receiver_addr_check 
+0058 2042b3ad call g24_receive_packet_parse ,zero 
+0059 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+005a 205a344d call g24_mode_b_s_switch_stop ,blank 
+005b 70461600 jam dongle_work ,mem_24g_work_mode 
+005c 6fe0c615 fetch 1 ,mem_24g_mode_init 
+005d 79207e00 set1 dongle_work ,pdata 
+005e 67e0c615 store 1 ,mem_24g_mode_init 
+005f 204034ec call g24_auto_bind_config_self 
+0060 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0061 1fe67c02 sub pdata ,2 ,null 
+0062 2442b504 ncall g24_ackpayload_disable ,zero 
+0063 204033be call g24_rx_interrupt_clear 
+0064 204033fe call g24_enable_nodata_timer 
+0065 20403506 call g24_receiver_addr_check 
+0066 2022b4a7 branch g24_self_ch_num_reinit ,zero 
+0067 6fe2458f fetch 4 ,mem_24g_addr 
+0068 684a4634 fetcht 4 ,mem_24g_device2_addr 
+0069 98467c00 isub temp ,null 
+006a 2022b4aa branch g24_device2_ch_num_reinit ,zero 
+006b 6fe2458f fetch 4 ,mem_24g_addr 
+006c 684a4630 fetcht 4 ,mem_24g_device1_addr 
+006d 98467c00 isub temp ,null 
+006e 2022b4ac branch g24_device1_ch_num_reinit ,zero 
+006f 20600000 rtn 
 
 p_main_loop:
-005b 20407552 call sp_calc_sequence_256 
-005c 20407448 call sp_calc_sequence_256_check 
-005d 20402a45 call le_advertising_dispatch 
-005e 2040202a call idle_dispatch 
-005f 204042ad call app_process_idle 
-0060 20402018 call connection_dispatch 
-0061 2040310f call g24_dispatch 
-0062 2040248c call lpm_dispatch 
-0063 2020005b branch p_main_loop 
+0070 20407552 call sp_calc_sequence_256 
+0071 20407448 call sp_calc_sequence_256_check 
+0072 20402a45 call le_advertising_dispatch 
+0073 2040202a call idle_dispatch 
+0074 204042ad call app_process_idle 
+0075 20402018 call connection_dispatch 
+0076 2040310f call g24_dispatch 
+0077 2040248c call lpm_dispatch 
+0078 20200070 branch p_main_loop 
 
 p_set_sync_on:
-0064 708a0f60 jam 0x60 ,0x8a0f 
-0065 708a10aa jam 0xaa ,0x8a10 
-0066 708a127a jam 0x7a ,0x8a12 
-0067 708a2500 jam 0x00 ,0x8a25 
-0068 708a2600 jam 0x00 ,0x8a26 
-0069 2000003c nop 60 
-006a 708a2020 jam 0x20 ,0x8a20 
-006b 708a23f5 jam 0xf5 ,0x8a23 
-006c 708a2412 jam 0x12 ,0x8a24 
-006d 708a2410 jam 0x10 ,0x8a24 
-006e 2000003c nop 60 
-006f 708a1260 jam 0x60 ,0x8a12 
-0070 708a23dd jam 0xdd ,0x8a23 
-0071 20600000 rtn 
+0079 708a0f60 jam 0x60 ,0x8a0f 
+007a 708a10aa jam 0xaa ,0x8a10 
+007b 708a127a jam 0x7a ,0x8a12 
+007c 708a2500 jam 0x00 ,0x8a25 
+007d 708a2600 jam 0x00 ,0x8a26 
+007e 2000003c nop 60 
+007f 708a2020 jam 0x20 ,0x8a20 
+0080 708a23f5 jam 0xf5 ,0x8a23 
+0081 708a2412 jam 0x12 ,0x8a24 
+0082 708a2410 jam 0x10 ,0x8a24 
+0083 2000003c nop 60 
+0084 708a1260 jam 0x60 ,0x8a12 
+0085 708a23dd jam 0xdd ,0x8a23 
+0086 20600000 rtn 
 
 p_aac_ghpc:
-0072 708a2030 jam 0x30 ,0x8a20 
-0073 708a23dd jam 0xdd ,0x8a23 
-0074 204021d0 call calc_freq 
-0075 58000000 setarg 0 
-0076 67e10670 store 2 ,mem_pdatatemp 
-0077 d8403a98 arg 15000 ,temp 
+0087 708a2030 jam 0x30 ,0x8a20 
+0088 708a23dd jam 0xdd ,0x8a23 
+0089 204021d0 call calc_freq 
+008a 58000000 setarg 0 
+008b 67e10670 store 2 ,mem_pdatatemp 
+008c d8403a98 arg 15000 ,temp 
 
 p_wait_cal_done:
-0078 6fe10670 fetch 2 ,mem_pdatatemp 
-0079 1fe0fe01 increase 1 ,pdata 
-007a 67e10670 store 2 ,mem_pdatatemp 
-007b 98467c00 isub temp ,null 
-007c 20216ca3 branch soft_reset_chip ,positive 
-007d 6ff08a7c fetch 1 ,0x8a7c 
-007e c3000078 bbit0 0 ,p_wait_cal_done 
-007f 2020229a branch wait_cal_done + 2 
+008d 6fe10670 fetch 2 ,mem_pdatatemp 
+008e 1fe0fe01 increase 1 ,pdata 
+008f 67e10670 store 2 ,mem_pdatatemp 
+0090 98467c00 isub temp ,null 
+0091 20216ca3 branch soft_reset_chip ,positive 
+0092 6ff08a7c fetch 1 ,0x8a7c 
+0093 c300008d bbit0 0 ,p_wait_cal_done 
+0094 2020229a branch wait_cal_done + 2 
 
 p_set_ck2rfpll:
-0080 37d98200 until null ,lpo_edge 
-0081 70813c58 jam 0x58 ,0x813c 
-0082 202023e2 branch lpm_write_wait 
+0095 37d98200 until null ,lpo_edge 
+0096 70813c58 jam 0x58 ,0x813c 
+0097 202023e2 branch lpm_write_wait 
 
 p_initialize_radio_cont:
-0083 708a8840 jam 0x40 ,core_rx_cfg0 
-0084 7089460d jam 0x0d ,0x8946 
-0085 70896f10 jam 0x10 ,0x896f 
-0086 708a13cd jam 0xcd ,0x8a13 
-0087 708a0610 jam 0x10 ,0x8a06 
-0088 708a844a jam 0x4a ,0x8a84 
-0089 708a8540 jam 0x40 ,0x8a85 
-008a 708a16fe jam 0xfe ,0x8a16 
-008b 204000e3 call p_set_otp_config 
-008c 6fe0c436 fetch 1 ,mem_wdt_always_work 
-008d 205a70d7 call wdt_set_disable ,blank 
-008e 24558080 ncall p_set_ck2rfpll ,wake 
-008f 37d98200 until null ,lpo_edge 
-0090 70813b5f jam 0x5f ,0x813b 
-0091 6fe0c099 fetch 1 ,mem_fcomp_div 
-0092 c00800bd beq xtal_16m ,p_initialize_radio_16m 
-0093 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0094 1fe1fe04 or_into 0x04 ,pdata 
-0095 67f08a02 store 1 ,0x8a02 
-0096 70890f01 jam 0x01 ,0x890f 
-0097 708a8024 jam 0x24 ,0x8a80 
-0098 708a8162 jam 0x62 ,0x8a81 
-0099 58e61212 setarg 0xe61212 
-009a 67f18a73 store 3 ,0x8a73 
+0098 708a8840 jam 0x40 ,core_rx_cfg0 
+0099 7089460d jam 0x0d ,0x8946 
+009a 70896f10 jam 0x10 ,0x896f 
+009b 708a13cd jam 0xcd ,0x8a13 
+009c 708a0610 jam 0x10 ,0x8a06 
+009d 708a844a jam 0x4a ,0x8a84 
+009e 708a8540 jam 0x40 ,0x8a85 
+009f 708a16fe jam 0xfe ,0x8a16 
+00a0 204000fd call p_set_otp_config 
+00a1 6fe0c436 fetch 1 ,mem_wdt_always_work 
+00a2 205a70d7 call wdt_set_disable ,blank 
+00a3 24558095 ncall p_set_ck2rfpll ,wake 
+00a4 37d98200 until null ,lpo_edge 
+00a5 70813b5f jam 0x5f ,0x813b 
+00a6 6fe0c099 fetch 1 ,mem_fcomp_div 
+00a7 c00800d7 beq xtal_16m ,p_initialize_radio_16m 
+00a8 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00a9 1fe1fe04 or_into 0x04 ,pdata 
+00aa 67f08a02 store 1 ,0x8a02 
+00ab 70890f01 jam 0x01 ,0x890f 
+00ac 708a8024 jam 0x24 ,0x8a80 
+00ad 708a8162 jam 0x62 ,0x8a81 
+00ae 58e61212 setarg 0xe61212 
+00af 67f18a73 store 3 ,0x8a73 
 
 p_initialize_radio2:
-009b 708a8660 jam 0x60 ,0x8a86 
-009c 708a8b3b jam 0x3b ,0x8a8b 
-009d 204000af call p_dpll_on 
-009e 70804300 jam 0 ,core_config 
-009f 70804205 jam clksel_dpll ,core_clksel 
-00a0 58557474 setarg 0x557474 
-00a1 67f18968 store 3 ,0x8968 
-00a2 7089606e jam 0x6e ,0x8960 
-00a3 20400178 call p_rx_dcoc 
-00a4 204001a3 call p_rfpll_aac_ghpc 
-00a5 204000a9 call p_set_xtal_cap 
-00a6 7041480c jam system_clk_12m ,mem_system_clk 
-00a7 20406f4e call sadc_calibration 
-00a8 202001a5 branch p_dpll_ring_ibias_calc 
+00b0 708a8660 jam 0x60 ,0x8a86 
+00b1 708a8b3b jam 0x3b ,0x8a8b 
+00b2 204000c9 call p_dpll_on 
+00b3 70804300 jam 0 ,core_config 
+00b4 70804205 jam clksel_dpll ,core_clksel 
+00b5 58557474 setarg 0x557474 
+00b6 67f18968 store 3 ,0x8968 
+00b7 7089606e jam 0x6e ,0x8960 
+00b8 204001bb call p_rx_dcoc 
+00b9 204001e6 call p_rfpll_aac_ghpc 
+00ba 204000c3 call p_set_xtal_cap 
+00bb 708a3006 jam 0x06 ,0x8a30 
+00bc 708a32dd jam 0xdd ,0x8a32 
+00bd 708a88e0 jam 0xe0 ,0x8a88 
+00be 708a8c2d jam 0x2d ,0x8a8c 
+00bf 708a3178 jam 0x78 ,0x8a31 
+00c0 7041480c jam system_clk_12m ,mem_system_clk 
+00c1 20406f4e call sadc_calibration 
+00c2 202001e8 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
-00a9 20758000 rtn wake 
-00aa 37d98200 until null ,lpo_edge 
-00ab 6fe0c11c fetch 1 ,mem_xtal_c_sel 
-00ac 67f0813a store 1 ,core_xtal_cap 
-00ad 37d98200 until null ,lpo_edge 
-00ae 20600000 rtn 
+00c3 20758000 rtn wake 
+00c4 37d98200 until null ,lpo_edge 
+00c5 6fe0c11c fetch 1 ,mem_xtal_c_sel 
+00c6 67f0813a store 1 ,core_xtal_cap 
+00c7 37d98200 until null ,lpo_edge 
+00c8 20600000 rtn 
 
 p_dpll_on:
-00af 6fe0c099 fetch 1 ,mem_fcomp_div 
-00b0 c00c00b5 beq xtal_24m ,p_dpll_on_24m 
-00b1 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-00b2 1fe1fe06 or_into 0x06 ,pdata 
-00b3 67f08a02 store 1 ,0x8a02 
-00b4 708a05e0 jam 0xe0 ,0x8a05 
+00c9 6fe0c099 fetch 1 ,mem_fcomp_div 
+00ca c00c00cf beq xtal_24m ,p_dpll_on_24m 
+00cb 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00cc 1fe1fe06 or_into 0x06 ,pdata 
+00cd 67f08a02 store 1 ,0x8a02 
+00ce 708a05e0 jam 0xe0 ,0x8a05 
 
 p_dpll_on_24m:
-00b5 708a00d8 jam 0xd8 ,0x8a00 
-00b6 2000003c nop 60 
-00b7 708a01a0 jam 0xa0 ,0x8a01 
-00b8 708a00df jam 0xdf ,0x8a00 
-00b9 708a01fa jam 0xfa ,0x8a01 
-00ba 20000014 nop 20 
-00bb 708a009f jam 0x9f ,0x8a00 
-00bc 20600000 rtn 
+00cf 708a00d8 jam 0xd8 ,0x8a00 
+00d0 2000003c nop 60 
+00d1 708a01a0 jam 0xa0 ,0x8a01 
+00d2 708a00df jam 0xdf ,0x8a00 
+00d3 708a01fa jam 0xfa ,0x8a01 
+00d4 20000014 nop 20 
+00d5 708a009f jam 0x9f ,0x8a00 
+00d6 20600000 rtn 
 
 p_initialize_radio_16m:
-00bd 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-00be 1fe1fe06 or_into 0x06 ,pdata 
-00bf 67f08a02 store 1 ,0x8a02 
-00c0 70890f00 jam 0x00 ,0x890f 
-00c1 708a8023 jam 0x23 ,0x8a80 
-00c2 708a81b0 jam 0xb0 ,0x8a81 
-00c3 58e40909 setarg 0xe40909 
-00c4 67f18a73 store 3 ,0x8a73 
-00c5 708a762a jam 0x2a ,0x8a76 
-00c6 70890204 jam 0x04 ,0x8902 
-00c7 2020009b branch p_initialize_radio2 
+00d7 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00d8 1fe1fe06 or_into 0x06 ,pdata 
+00d9 67f08a02 store 1 ,0x8a02 
+00da 70890f00 jam 0x00 ,0x890f 
+00db 708a8023 jam 0x23 ,0x8a80 
+00dc 708a81b0 jam 0xb0 ,0x8a81 
+00dd 58e40909 setarg 0xe40909 
+00de 67f18a73 store 3 ,0x8a73 
+00df 708a762a jam 0x2a ,0x8a76 
+00e0 70890204 jam 0x04 ,0x8902 
+00e1 202000b0 branch p_initialize_radio2 
 
 p_set_tx_power:
-00c8 6fe0c141 fetch 1 ,mem_tx_power 
-00c9 c0032225 beq tx_power_6db ,set_tx_power_7db 
-00ca c04f00ce beq tx_power_f30db ,p_set_tx_power_f30db 
-00cb c04f80d2 beq tx_power_f35db ,p_set_tx_power_f35db 
-00cc c05000d6 beq tx_power_f40db ,p_set_tx_power_f40db 
-00cd 2020220e branch set_tx_power + 2 
+00e2 6fe0c141 fetch 1 ,mem_tx_power 
+00e3 c0032225 beq tx_power_6db ,set_tx_power_7db 
+00e4 c04f00e8 beq tx_power_f30db ,p_set_tx_power_f30db 
+00e5 c04f80ec beq tx_power_f35db ,p_set_tx_power_f35db 
+00e6 c05000f0 beq tx_power_f40db ,p_set_tx_power_f40db 
+00e7 2020220e branch set_tx_power + 2 
 
 p_set_tx_power_f30db:
-00ce 708a1417 jam 0x17 ,0x8a14 
-00cf 58250300 setarg 0x250300 
-00d0 67f18a60 store 3 ,0x8a60 
-00d1 2020221a branch set_tx_power_8a63_28 
+00e8 708a1417 jam 0x17 ,0x8a14 
+00e9 58250300 setarg 0x250300 
+00ea 67f18a60 store 3 ,0x8a60 
+00eb 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f35db:
-00d2 708a1417 jam 0x17 ,0x8a14 
-00d3 58250100 setarg 0x250100 
-00d4 67f18a60 store 3 ,0x8a60 
-00d5 2020221a branch set_tx_power_8a63_28 
+00ec 708a1417 jam 0x17 ,0x8a14 
+00ed 58250100 setarg 0x250100 
+00ee 67f18a60 store 3 ,0x8a60 
+00ef 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f40db:
-00d6 708a1417 jam 0x17 ,0x8a14 
-00d7 58250000 setarg 0x250000 
-00d8 67f18a60 store 3 ,0x8a60 
-00d9 2020221a branch set_tx_power_8a63_28 
+00f0 708a1417 jam 0x17 ,0x8a14 
+00f1 58250000 setarg 0x250000 
+00f2 67f18a60 store 3 ,0x8a60 
+00f3 2020221a branch set_tx_power_8a63_28 
 
 p_otp_read_data:
-00da 20406b3a call enable_otp_read 
-00db 20406b75 call otp_read_data + 1 
-00dc 20206b38 branch otp_disable_chgpump 
+00f4 20406b3a call enable_otp_read 
+00f5 20406b75 call otp_read_data + 1 
+00f6 20206b38 branch otp_disable_chgpump 
 
 p_dongle_write_kb_bind_status:
-00dd df200001 arg 1 ,loopcnt 
-00de da204648 arg mem_dg_kb_bind_flag ,rega 
-00df da401f00 arg dongle_kb_bind_otp_offect ,regb 
-00e0 20206b45 branch otp_write 
+00f7 df200001 arg 1 ,loopcnt 
+00f8 da204648 arg mem_dg_kb_bind_flag ,rega 
+00f9 da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00fa 20206b45 branch otp_write 
 
 p_dongle_read_kb_bind_status:
-00e1 da401f00 arg dongle_kb_bind_otp_offect ,regb 
-00e2 202047f1 branch dongle_read_kb_bind_status + 2 
+00fb da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00fc 202047f1 branch dongle_read_kb_bind_status + 2 
 
 p_set_otp_config:
-00e3 2035810a branch p_set_otp_config_wake ,wake 
-00e4 6fe2020d fetch 4 ,mem_otp_core_ldo 
-00e5 207a0000 rtn blank 
-00e6 37d98200 until null ,lpo_edge 
-00e7 6ff08136 fetch 1 ,0x8136 
-00e8 1fe17ef0 and pdata ,0xf0 ,pdata 
-00e9 6848820d fetcht 1 ,mem_otp_core_ldo 
-00ea 9841fe00 ior temp ,pdata 
-00eb 67f08136 store 1 ,0x8136 
-00ec 37d98200 until null ,lpo_edge 
-00ed 6ff08138 fetch 1 ,0x8138 
-00ee 1fe17e07 and pdata ,0x7 ,pdata 
-00ef 6848820e fetcht 1 ,mem_otp_verf_bg 
-00f0 18498400 lshift3 temp ,temp 
-00f1 9841fe00 ior temp ,pdata 
-00f2 67f08138 store 1 ,0x8138 
-00f3 37d98200 until null ,lpo_edge 
+00fd 20358124 branch p_set_otp_config_wake ,wake 
+00fe 6fe2020d fetch 4 ,mem_otp_core_ldo 
+00ff 207a0000 rtn blank 
+0100 37d98200 until null ,lpo_edge 
+0101 6ff08136 fetch 1 ,0x8136 
+0102 1fe17ef0 and pdata ,0xf0 ,pdata 
+0103 6848820d fetcht 1 ,mem_otp_core_ldo 
+0104 9841fe00 ior temp ,pdata 
+0105 67f08136 store 1 ,0x8136 
+0106 37d98200 until null ,lpo_edge 
+0107 6ff08138 fetch 1 ,0x8138 
+0108 1fe17e07 and pdata ,0x7 ,pdata 
+0109 6848820e fetcht 1 ,mem_otp_verf_bg 
+010a 18498400 lshift3 temp ,temp 
+010b 9841fe00 ior temp ,pdata 
+010c 67f08138 store 1 ,0x8138 
+010d 37d98200 until null ,lpo_edge 
 
 p_set_otp_config2:
-00f4 6ff08acb fetch 1 ,0x8acb 
-00f5 1fe17ef0 and pdata ,0xf0 ,pdata 
-00f6 6848820f fetcht 1 ,mem_otp_charge_pump 
-00f7 6048c15b storet 1 ,mem_otp_charge_pump_x 
-00f8 9841fe00 ior temp ,pdata 
-00f9 67f08acb store 1 ,0x8acb 
-00fa 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00fb 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
-00fc 2feffe03 isolate1 3 ,pdata 
-00fd 6ff08a06 fetch 1 ,0x8a06 
-00fe 7920fe07 setflag true ,7 ,pdata 
-00ff 67f08a06 store 1 ,0x8a06 
-0100 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-0101 1fe10407 and pdata ,7 ,temp 
-0102 18520400 lshift4 temp ,temp 
-0103 18438400 lshift temp ,temp 
-0104 6048c438 storet 1 ,mem_ring_ibias_trim 
-0105 6ff08a02 fetch 1 ,0x8a02 
-0106 1fe17e1f and pdata ,0x1f ,pdata 
-0107 9841fe00 ior temp ,pdata 
-0108 67f08a02 store 1 ,0x8a02 
-0109 20600000 rtn 
+010e 6ff08acb fetch 1 ,0x8acb 
+010f 1fe17ef0 and pdata ,0xf0 ,pdata 
+0110 6848820f fetcht 1 ,mem_otp_charge_pump 
+0111 6048c15b storet 1 ,mem_otp_charge_pump_x 
+0112 9841fe00 ior temp ,pdata 
+0113 67f08acb store 1 ,0x8acb 
+0114 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+0115 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
+0116 2feffe03 isolate1 3 ,pdata 
+0117 6ff08a06 fetch 1 ,0x8a06 
+0118 7920fe07 setflag true ,7 ,pdata 
+0119 67f08a06 store 1 ,0x8a06 
+011a 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+011b 1fe10407 and pdata ,7 ,temp 
+011c 18520400 lshift4 temp ,temp 
+011d 18438400 lshift temp ,temp 
+011e 6048c438 storet 1 ,mem_ring_ibias_trim 
+011f 6ff08a02 fetch 1 ,0x8a02 
+0120 1fe17e1f and pdata ,0x1f ,pdata 
+0121 9841fe00 ior temp ,pdata 
+0122 67f08a02 store 1 ,0x8a02 
+0123 20600000 rtn 
 
 p_set_otp_config_wake:
-010a 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
-010b 207a0000 rtn blank 
-010c 67e1020f store 2 ,mem_otp_charge_pump 
-010d 202000f4 branch p_set_otp_config2 
+0124 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
+0125 207a0000 rtn blank 
+0126 67e1020f store 2 ,mem_otp_charge_pump 
+0127 2020010e branch p_set_otp_config2 
 
 p_rf_rx_enable:
-010e 2040686f call rf_debug_rx_gpio_high 
-010f 204021ba call rf_rx_agc_set 
-0110 18002a08 force 8 ,radio_ctrl 
-0111 18002a00 force 0 ,radio_ctrl 
-0112 580aaada setarg 0x0aaada 
-0113 67f18a0f store 3 ,0x8a0f 
-0114 708a2540 jam 0x40 ,0x8a25 
-0115 708a2610 jam 0x10 ,0x8a26 
-0116 2000003c nop 60 
-0117 708a01fb jam 0xfb ,0x8a01 
-0118 708a25ff jam 0xff ,0x8a25 
-0119 708a2630 jam 0x30 ,0x8a26 
-011a 708a16fe jam 0xfe ,0x8a16 
-011b 202021b4 branch rf_rx_enable + 14 
+0128 2040686f call rf_debug_rx_gpio_high 
+0129 204021ba call rf_rx_agc_set 
+012a 18002a08 force 8 ,radio_ctrl 
+012b 18002a00 force 0 ,radio_ctrl 
+012c 580aaada setarg 0x0aaada 
+012d 67f18a0f store 3 ,0x8a0f 
+012e 708a2540 jam 0x40 ,0x8a25 
+012f 708a2610 jam 0x10 ,0x8a26 
+0130 2000003c nop 60 
+0131 708a01fb jam 0xfb ,0x8a01 
+0132 708a25ff jam 0xff ,0x8a25 
+0133 708a2630 jam 0x30 ,0x8a26 
+0134 708a16fe jam 0xfe ,0x8a16 
+0135 202021b4 branch rf_rx_enable + 14 
 
 p_txon:
-011c 580aaa7e setarg 0x0aaa7e 
-011d 67f18a0f store 3 ,0x8a0f 
-011e 2000003c nop 60 
-011f 708a2500 jam 0x00 ,0x8a25 
-0120 708a260d jam 0x0d ,0x8a26 
-0121 708a16f6 jam 0xf6 ,0x8a16 
-0122 20202203 branch txon + 7 
+0136 580aaa7e setarg 0x0aaa7e 
+0137 67f18a0f store 3 ,0x8a0f 
+0138 2000003c nop 60 
+0139 708a2500 jam 0x00 ,0x8a25 
+013a 708a260d jam 0x0d ,0x8a26 
+013b 708a16f6 jam 0xf6 ,0x8a16 
+013c 20202203 branch txon + 7 
 
 p_usb_rx_data:
-0123 6ff08c25 fetch 1 ,core_usb_txbusy 
-0124 c3830000 rtnbit1 usb_status_rxfull 
-0125 20207993 branch usb_rx_data 
+013d 6ff08c25 fetch 1 ,core_usb_txbusy 
+013e c3830000 rtnbit1 usb_status_rxfull 
+013f 20207993 branch usb_rx_data 
 
 p_usb_rx:
-0126 6fe08709 fetch 1 ,mem_usb_status 
-0127 c4028000 rtnbit0 usb_status_rxready 
-0128 20407989 call usb_rx_len 
-0129 2841fe0d compare 13 ,temp ,0xff 
-012a 2020f999 branch usb_rx_ep13 ,true 
-012b 6fe0c696 fetch 1 ,mem_setreport_count 
-012c c0008135 beq 1 ,p_setreport_next_page_data 
-012d d8a0086d arg mem_usb_setup ,contw 
-012e 20407994 call usb_rx_read 
+0140 6fe08709 fetch 1 ,mem_usb_status 
+0141 c4028000 rtnbit0 usb_status_rxready 
+0142 20407989 call usb_rx_len 
+0143 2841fe0d compare 13 ,temp ,0xff 
+0144 2020f999 branch usb_rx_ep13 ,true 
+0145 6fe0c696 fetch 1 ,mem_setreport_count 
+0146 c000814f beq 1 ,p_setreport_next_page_data 
+0147 d8a0086d arg mem_usb_setup ,contw 
+0148 20407994 call usb_rx_read 
 
 p_usb_rx_next:
-012f 6fe0870c fetch 1 ,mem_usb_read_len 
-0130 c0007986 beq 0x00 ,usb_rx_no_data 
-0131 c000f9b6 beq 0x01 ,usb_out_one_byte 
-0132 1fe67c07 sub pdata ,7 ,null 
-0133 20610000 rtn positive 
-0134 20200143 branch p_usb_class_type 
+0149 6fe0870c fetch 1 ,mem_usb_read_len 
+014a c0007986 beq 0x00 ,usb_rx_no_data 
+014b c000f9b6 beq 0x01 ,usb_out_one_byte 
+014c 1fe67c07 sub pdata ,7 ,null 
+014d 20610000 rtn positive 
+014e 2020015d branch p_usb_class_type 
 
 p_setreport_next_page_data:
-0135 d8a00875 arg mem_usb0_set_report_data ,contw 
-0136 20407994 call usb_rx_read 
-0137 70469600 jam 0 ,mem_setreport_count 
-0138 6fe0870c fetch 1 ,mem_usb_read_len 
-0139 c000813d beq 0x01 ,p_usb_out_one_byte 
-013a 7008f701 jam 1 ,mem_usb0_get_set_report 
-013b 708c1b03 jam 0x03 ,core_usb_clear_nak 
-013c 20600000 rtn 
+014f d8a00875 arg mem_usb0_set_report_data ,contw 
+0150 20407994 call usb_rx_read 
+0151 70469600 jam 0 ,mem_setreport_count 
+0152 6fe0870c fetch 1 ,mem_usb_read_len 
+0153 c0008157 beq 0x01 ,p_usb_out_one_byte 
+0154 7008f701 jam 1 ,mem_usb0_get_set_report 
+0155 708c1b03 jam 0x03 ,core_usb_clear_nak 
+0156 20600000 rtn 
 
 p_usb_out_one_byte:
-013d 6fe0886d fetch 1 ,mem_usb_setup 
-013e c3838000 rtnbit1 7 
-013f 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0140 20407b6a call usb_get_led_status 
-0141 708c1b01 jam 0x1 ,core_usb_clear_nak 
-0142 20600000 rtn 
+0157 6fe0886d fetch 1 ,mem_usb_setup 
+0158 c3838000 rtnbit1 7 
+0159 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+015a 20407b6a call usb_get_led_status 
+015b 708c1b01 jam 0x1 ,core_usb_clear_nak 
+015c 20600000 rtn 
 
 p_usb_class_type:
-0143 793f8023 set0 mark_isstr ,mark 
-0144 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0145 1fe17e80 and_into 0x80 ,pdata 
-0146 c04079ba beq in_device ,usb_in_device 
-0147 c0000149 beq out_device ,p_usb_out_device 
-0148 2020235a branch assert 
+015d 793f8023 set0 mark_isstr ,mark 
+015e 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+015f 1fe17e80 and_into 0x80 ,pdata 
+0160 c04079ba beq in_device ,usb_in_device 
+0161 c0000163 beq out_device ,p_usb_out_device 
+0162 2020235a branch assert 
 
 p_usb_out_device:
-0149 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-014a 1ff1fe00 rshift4 pdata ,pdata 
-014b 1fe37e00 rshift pdata ,pdata 
-014c 1fe17e03 and_into 0x03 ,pdata 
-014d c00079d6 beq standard_req ,usb_out_standard_req 
-014e c0008151 beq class_req ,p_usb_out_class_req 
-014f c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-0150 2020235a branch assert 
+0163 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0164 1ff1fe00 rshift4 pdata ,pdata 
+0165 1fe37e00 rshift pdata ,pdata 
+0166 1fe17e03 and_into 0x03 ,pdata 
+0167 c00079d6 beq standard_req ,usb_out_standard_req 
+0168 c000816b beq class_req ,p_usb_out_class_req 
+0169 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+016a 2020235a branch assert 
 
 p_usb_out_class_req:
-0151 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-0152 c0057b4b beq set_idle ,usb_set_idle 
-0153 c0048156 beq set_report ,p_usb_set_report 
-0154 c005fb7c beq set_protocol ,usb_set_protocol_req 
-0155 202079e4 branch usb0_force_stall 
+016b 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+016c c0057b4b beq set_idle ,usb_set_idle 
+016d c0048170 beq set_report ,p_usb_set_report 
+016e c0058188 beq set_protocol ,p_usb_set_protocol_req 
+016f 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-0156 20003a98 nop 15000 
-0157 d8a00875 arg mem_usb0_set_report_data ,contw 
-0158 20400123 call p_usb_rx_data 
-0159 7008f701 jam 1 ,mem_usb0_get_set_report 
-015a 20407b6e call usb_set_report_resume_judge 
-015b 6fe0c696 fetch 1 ,mem_setreport_count 
-015c 1fe0fe01 pincrease 1 
-015d 67e0c696 store 1 ,mem_setreport_count 
-015e 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-015f 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0160 708c1b02 jam 0x2 ,core_usb_clear_nak 
-0161 20207b65 branch usb_set_report_next 
+0170 20003a98 nop 15000 
+0171 d8a00875 arg mem_usb0_set_report_data ,contw 
+0172 2040013d call p_usb_rx_data 
+0173 7008f701 jam 1 ,mem_usb0_get_set_report 
+0174 20407b6e call usb_set_report_resume_judge 
+0175 6fe0c696 fetch 1 ,mem_setreport_count 
+0176 1fe0fe01 pincrease 1 
+0177 67e0c696 store 1 ,mem_setreport_count 
+0178 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0179 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+017a 708c1b02 jam 0x2 ,core_usb_clear_nak 
+017b 20207b65 branch usb_set_report_next 
+
+p_usb_set_idle:
+017c 7008fb01 jam 1 ,mem_usb_idle_flag 
+017d 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+017e 67e088fc store 1 ,mem_usb_idle_rate 
+017f 6fe08871 fetch 1 ,mem_usb_setup_windex 
+0180 1fe67c01 sub pdata ,1 ,null 
+0181 20428183 call p_usb_clear_remote_wakeup_set0 ,zero 
+0182 20207b52 branch usb_set_idle_next 
+
+p_usb_clear_remote_wakeup_set0:
+0183 6fe0c697 fetch 1 ,mem_usb_enum_get_report_flag 
+0184 203a7b59 branch usb_clear_remote_wakeup_set0 ,blank 
+0185 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+0186 243a7b59 nbranch usb_clear_remote_wakeup_set0 ,blank 
+0187 20600000 rtn 
+
+p_usb_set_protocol_req:
+0188 6fe08873 fetch 1 ,mem_usb_setup_blength 
+0189 c08079e4 bne 0 ,usb0_force_stall 
+018a 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+018b c0007b82 beq boot_protocol ,usb_set_boot_protocol 
+018c c000818e beq report_protocol ,p_usb_set_report_protocol 
+018d 202079e4 branch usb0_force_stall 
+
+p_usb_set_report_protocol:
+018e 7008fa01 jam 1 ,mem_usb_tx_mac_enable 
+018f 7008fe01 jam 1 ,mem_usb_set_protocol_status 
+0190 7008ff00 jam 0 ,mem_usb_set_protocol_value 
+0191 6fe08871 fetch 1 ,mem_usb_setup_windex 
+0192 1fe67c01 sub pdata ,1 ,null 
+0193 2042f984 call mem_usb_mac_enumeration_enable ,zero 
+0194 202079e9 branch usb0_reply_zerolen 
+
+p_usb0_request_get_descriptor:
+0195 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0196 c0008199 beq dsc_device ,p_dsc_device_info 
+0197 c011019b beq dsc_hid_report ,p_dsc_hid_report_info 
+0198 20207a03 branch usb0_request_get_descriptor + 2 
+
+p_dsc_device_info:
+0199 70469700 jam 0 ,mem_usb_enum_get_report_flag 
+019a 20207a14 branch dsc_device_info 
+
+p_dsc_hid_report_info:
+019b 6fe10871 fetch 2 ,mem_usb_setup_windex 
+019c c00081a0 beq 1 ,p_dsc_hid_report_info0 
+019d 70469701 jam 1 ,mem_usb_enum_get_report_flag 
+019e 6a2107a7 fetchr rega ,2 ,mem_hidreportdesc_kb 
+019f 20207b89 branch usb0_respond_length 
+
+p_dsc_hid_report_info0:
+01a0 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+01a1 205a7984 call usb_windows_enumeration_enable ,blank 
+01a2 70090001 jam usb_got_report_req ,mem_usb_state 
+01a3 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
+01a4 20207b89 branch usb0_respond_length 
 
 p_usb_tx:
-0162 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0163 207a0000 rtn blank 
-0164 6ff08c25 fetch 1 ,core_usb_txbusy 
-0165 1fe17e0f and_into 0x0f ,pdata 
-0166 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-0167 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0168 203a7c06 branch usb_tx_fifo_release ,blank 
-0169 6fe08900 fetch 1 ,mem_usb_state 
-016a c001fc40 beq usb_sleep ,usb_windows_wakeup 
-016b c0817c06 bne usb_connected ,usb_tx_fifo_release 
-016c 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-016d 243a7c06 nbranch usb_tx_fifo_release ,blank 
-016e 20400170 call p_usb_tx_data_ep1 
-016f 20200174 branch p_usb_tx_data_ep2 
+01a5 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01a6 207a0000 rtn blank 
+01a7 6ff08c25 fetch 1 ,core_usb_txbusy 
+01a8 1fe17e0f and_into 0x0f ,pdata 
+01a9 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+01aa 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+01ab 203a7c06 branch usb_tx_fifo_release ,blank 
+01ac 6fe08900 fetch 1 ,mem_usb_state 
+01ad c001fc40 beq usb_sleep ,usb_windows_wakeup 
+01ae c0817c06 bne usb_connected ,usb_tx_fifo_release 
+01af 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+01b0 243a7c06 nbranch usb_tx_fifo_release ,blank 
+01b1 204001b3 call p_usb_tx_data_ep1 
+01b2 202001b7 branch p_usb_tx_data_ep2 
 
 p_usb_tx_data_ep1:
-0170 6ff08c25 fetch 1 ,core_usb_txbusy 
-0171 1fe17e0f and_into 0x0f ,pdata 
-0172 247a0000 nrtn blank 
-0173 20207bf0 branch usb_tx_data_ep1 + 2 
+01b3 6ff08c25 fetch 1 ,core_usb_txbusy 
+01b4 1fe17e0f and_into 0x0f ,pdata 
+01b5 247a0000 nrtn blank 
+01b6 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-0174 6ff08c25 fetch 1 ,core_usb_txbusy 
-0175 1fe17e0f and_into 0x0f ,pdata 
-0176 247a0000 nrtn blank 
-0177 20207bfb branch usb_tx_data_ep2 + 2 
+01b7 6ff08c25 fetch 1 ,core_usb_txbusy 
+01b8 1fe17e0f and_into 0x0f ,pdata 
+01b9 247a0000 nrtn blank 
+01ba 20207bfb branch usb_tx_data_ep2 + 2 
 
 p_rx_dcoc:
-0178 20758000 rtn wake 
-0179 20402160 call set_sync_on 
-017a d8400027 arg 39 ,temp 
-017b 2040216f call set_freq_rx 
-017c 204021a6 call rf_rx_enable 
-017d 708a257f jam 0x7f ,0x8a25 
-017e 708a301a jam 0x1a ,0x8a30 
-017f 708a3178 jam 0x78 ,0x8a31 
-0180 708a8fb2 jam 0xb2 ,0x8a8f 
-0181 708ac200 jam 0 ,0x8ac2 
-0182 708ac300 jam 0 ,0x8ac3 
-0183 d8e00006 arg 6 ,queue 
-0184 20400195 call p_rx_dcoc_avg 
-0185 2a2ffe0d isolate1 13 ,rega 
-0186 2040211d call qset_start 
-0187 2a4ffe0d isolate1 13 ,regb 
-0188 2040211e call qset_p 
-0189 d8e00005 arg 5 ,queue 
+01bb 20758000 rtn wake 
+01bc 20402160 call set_sync_on 
+01bd d8400027 arg 39 ,temp 
+01be 2040216f call set_freq_rx 
+01bf 204021a6 call rf_rx_enable 
+01c0 708a257f jam 0x7f ,0x8a25 
+01c1 708a301a jam 0x1a ,0x8a30 
+01c2 708a3178 jam 0x78 ,0x8a31 
+01c3 708a8fb2 jam 0xb2 ,0x8a8f 
+01c4 708ac200 jam 0 ,0x8ac2 
+01c5 708ac300 jam 0 ,0x8ac3 
+01c6 d8e00006 arg 6 ,queue 
+01c7 204001d8 call p_rx_dcoc_avg 
+01c8 2a2ffe0d isolate1 13 ,rega 
+01c9 2040211d call qset_start 
+01ca 2a4ffe0d isolate1 13 ,regb 
+01cb 2040211e call qset_p 
+01cc d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-018a 2040211c call qset1_p 
-018b 2040211e call qset_p 
-018c 20400195 call p_rx_dcoc_avg 
-018d d8a08ac2 arg 0x8ac2 ,contw 
-018e 1a31fe00 rshift4 rega ,pdata 
-018f 20402117 call qsetxor 
-0190 1a51fe00 rshift4 regb ,pdata 
-0191 20402117 call qsetxor 
-0192 18e08fff increase -1 ,queue 
-0193 2021018a branch p_rx_dcoc_loop2 ,positive 
-0194 2020214f branch rx_dcoc_loop2 + 10 
+01cd 2040211c call qset1_p 
+01ce 2040211e call qset_p 
+01cf 204001d8 call p_rx_dcoc_avg 
+01d0 d8a08ac2 arg 0x8ac2 ,contw 
+01d1 1a31fe00 rshift4 rega ,pdata 
+01d2 20402117 call qsetxor 
+01d3 1a51fe00 rshift4 regb ,pdata 
+01d4 20402117 call qsetxor 
+01d5 18e08fff increase -1 ,queue 
+01d6 202101cd branch p_rx_dcoc_loop2 ,positive 
+01d7 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0195 2000003c nop 60 
-0196 58000f00 setarg mem_dcoc_buf 
-0197 67f10982 store 2 ,0x8982 
-0198 58000ff0 setarg mem_dcoc_buf_end 
-0199 67f10984 store 2 ,0x8984 
-019a 70898109 jam 0x9 ,0x8981 
-019b 70898103 jam 0x3 ,0x8981 
-019c 70898006 jam 0x6 ,0x8980 
-019d 2000003c nop 60 
-019e da200000 arg 0 ,rega 
-019f da400000 arg 0 ,regb 
-01a0 df200010 arg 16 ,loopcnt 
-01a1 d8c00f00 arg mem_dcoc_buf ,contr 
-01a2 2020212d branch rx_dcoc_loop 
+01d8 2000003c nop 60 
+01d9 58000f00 setarg mem_dcoc_buf 
+01da 67f10982 store 2 ,0x8982 
+01db 58000ff0 setarg mem_dcoc_buf_end 
+01dc 67f10984 store 2 ,0x8984 
+01dd 70898109 jam 0x9 ,0x8981 
+01de 70898103 jam 0x3 ,0x8981 
+01df 70898006 jam 0x6 ,0x8980 
+01e0 2000003c nop 60 
+01e1 da200000 arg 0 ,rega 
+01e2 da400000 arg 0 ,regb 
+01e3 df200010 arg 16 ,loopcnt 
+01e4 d8c00f00 arg mem_dcoc_buf ,contr 
+01e5 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-01a3 20758000 rtn wake 
-01a4 20202272 branch rfpll_aac_ghpc + 1 
+01e6 20758000 rtn wake 
+01e7 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-01a5 20600000 rtn 
+01e8 20600000 rtn 
 
 p_sadc_calibration:
-01a6 20758000 rtn wake 
-01a7 708a0777 jam 0x77 ,core_gpadc_ctrl 
-01a8 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-01a9 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-01aa 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-01ab 67f080cd store 1 ,core_sadc_clkdiv 
-01ac 20000bb8 nop 3000 
-01ad 204001ce call p_sadc_read 
-01ae 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-01af 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-01b0 df200008 arg 8 ,loopcnt 
-01b1 20406f58 call sadc_cal_read + 1 
-01b2 6fe0c419 fetch 1 ,mem_spi_write_addr 
-01b3 67e0c433 store 1 ,mem_adc_cal_c7 
-01b4 6240c419 storer regb ,1 ,mem_spi_write_addr 
-01b5 20600000 rtn 
+01e9 20758000 rtn wake 
+01ea 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01eb 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+01ec 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01ed 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01ee 67f080cd store 1 ,core_sadc_clkdiv 
+01ef 20000bb8 nop 3000 
+01f0 20400211 call p_sadc_read 
+01f1 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01f2 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01f3 df200008 arg 8 ,loopcnt 
+01f4 20406f58 call sadc_cal_read + 1 
+01f5 6fe0c419 fetch 1 ,mem_spi_write_addr 
+01f6 67e0c433 store 1 ,mem_adc_cal_c7 
+01f7 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01f8 20600000 rtn 
 
 p_enable_adc:
-01b6 204001c4 call p_sadc_cal_write 
-01b7 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-01b8 793ffe07 set0 7 ,pdata 
-01b9 67f08a09 store 1 ,core_gpadc_cfg1 
-01ba 708a0777 jam 0x77 ,core_gpadc_ctrl 
-01bb 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-01bc 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-01bd 20406f90 call sadc_channel 
-01be 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-01bf 67f080cd store 1 ,core_sadc_clkdiv 
-01c0 20000bb8 nop 3000 
-01c1 204001ce call p_sadc_read 
-01c2 7080cd00 jam 0 ,core_sadc_clkdiv 
-01c3 20206fa1 branch sadc_dma 
+01f9 20400207 call p_sadc_cal_write 
+01fa 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+01fb 793ffe07 set0 7 ,pdata 
+01fc 67f08a09 store 1 ,core_gpadc_cfg1 
+01fd 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01fe 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01ff 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0200 20406f90 call sadc_channel 
+0201 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0202 67f080cd store 1 ,core_sadc_clkdiv 
+0203 20000bb8 nop 3000 
+0204 20400211 call p_sadc_read 
+0205 7080cd00 jam 0 ,core_sadc_clkdiv 
+0206 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-01c4 6ff080cc fetch 1 ,core_sadc_ctrl 
-01c5 79207e01 set1 1 ,pdata 
-01c6 67f080cc store 1 ,core_sadc_ctrl 
-01c7 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-01c8 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-01c9 67e0c419 store 1 ,mem_spi_write_addr 
-01ca df200008 arg 8 ,loopcnt 
-01cb 20406f67 call sadc_cal_write + 4 
-01cc 6240c419 storer regb ,1 ,mem_spi_write_addr 
-01cd 20600000 rtn 
+0207 6ff080cc fetch 1 ,core_sadc_ctrl 
+0208 79207e01 set1 1 ,pdata 
+0209 67f080cc store 1 ,core_sadc_ctrl 
+020a 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+020b 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+020c 67e0c419 store 1 ,mem_spi_write_addr 
+020d df200008 arg 8 ,loopcnt 
+020e 20406f67 call sadc_cal_write + 4 
+020f 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0210 20600000 rtn 
 
 p_sadc_read:
-01ce 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0211 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-01cf 6ff08129 fetch 1 ,core_perf_status 
-01d0 c30281cf bbit0 saradc_done ,p_sadc_read_wait 
-01d1 68590164 fetcht 2 ,core_sadc_data 
-01d2 6049440a storet 2 ,mem_adc_current_value 
-01d3 7080cc00 jam 0x00 ,core_sadc_ctrl 
-01d4 20600000 rtn 
+0212 6ff08129 fetch 1 ,core_perf_status 
+0213 c3028212 bbit0 saradc_done ,p_sadc_read_wait 
+0214 68590164 fetcht 2 ,core_sadc_data 
+0215 6049440a storet 2 ,mem_adc_current_value 
+0216 7080cc00 jam 0x00 ,core_sadc_ctrl 
+0217 20600000 rtn 
 
 p_set_lemode:
-01d5 708a8211 jam 0x11 ,0x8a82 
-01d6 708a8d12 jam 0x12 ,0x8a8d 
-01d7 708a8e0a jam 0x0a ,0x8a8e 
-01d8 6fe0c099 fetch 1 ,mem_fcomp_div 
-01d9 c00801ee beq xtal_16m ,p_set_lemode_2m_16m 
-01da 58005762 setarg 0x5762 
-01db 67f10907 store 2 ,0x8907 
+0218 708a8211 jam 0x11 ,0x8a82 
+0219 708a8d12 jam 0x12 ,0x8a8d 
+021a 708a8e0a jam 0x0a ,0x8a8e 
+021b 6fe0c099 fetch 1 ,mem_fcomp_div 
+021c c0080231 beq xtal_16m ,p_set_lemode_2m_16m 
+021d 58005762 setarg 0x5762 
+021e 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-01dc 70890103 jam 3 ,0x8901 
-01dd 70893003 jam 3 ,0x8930 
-01de c6168000 rtnmark1 mark_ble_2m 
-01df 70890101 jam 1 ,0x8901 
-01e0 708a8207 jam 0x07 ,0x8a82 
-01e1 708a8d44 jam 0x44 ,0x8a8d 
-01e2 708a8e0a jam 0x0a ,0x8a8e 
-01e3 6fe0c099 fetch 1 ,mem_fcomp_div 
-01e4 c00801eb beq xtal_16m ,p_set_lemode_1m_16m 
-01e5 58002bb1 setarg 0x2bb1 
-01e6 67f10907 store 2 ,0x8907 
+021f 70890103 jam 3 ,0x8901 
+0220 70893003 jam 3 ,0x8930 
+0221 c6168000 rtnmark1 mark_ble_2m 
+0222 70890101 jam 1 ,0x8901 
+0223 708a8207 jam 0x07 ,0x8a82 
+0224 708a8d44 jam 0x44 ,0x8a8d 
+0225 708a8e0a jam 0x0a ,0x8a8e 
+0226 6fe0c099 fetch 1 ,mem_fcomp_div 
+0227 c008022e beq xtal_16m ,p_set_lemode_1m_16m 
+0228 58002bb1 setarg 0x2bb1 
+0229 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-01e7 c6978000 rtnmark0 mark_ble_lr 
-01e8 70893024 jam 0x24 ,0x8930 
-01e9 70890105 jam 5 ,0x8901 
-01ea 20600000 rtn 
+022a c6978000 rtnmark0 mark_ble_lr 
+022b 70893024 jam 0x24 ,0x8930 
+022c 70890105 jam 5 ,0x8901 
+022d 20600000 rtn 
 
 p_set_lemode_1m_16m:
-01eb 58004189 setarg 0x4189 
-01ec 67f10907 store 2 ,0x8907 
-01ed 202001e7 branch p_set_lemode_1m 
+022e 58004189 setarg 0x4189 
+022f 67f10907 store 2 ,0x8907 
+0230 2020022a branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-01ee 58008312 setarg 0x8312 
-01ef 67f10907 store 2 ,0x8907 
-01f0 202001dc branch p_set_lemode_2m 
+0231 58008312 setarg 0x8312 
+0232 67f10907 store 2 ,0x8907 
+0233 2020021f branch p_set_lemode_2m 
 
 p_le_parse:
-01f1 6fe0c334 fetch 1 ,mem_le_packet_llid 
-01f2 c1000000 rtneq llid_reserved 
-01f3 c001b04a beq llid_le_ll ,le_parse_ll 
-01f4 202028e1 branch le_parse_l2cap 
+0234 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0235 c1000000 rtneq llid_reserved 
+0236 c001b04a beq llid_le_ll ,le_parse_ll 
+0237 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-01f5 793f8030 set0 mark_ble_crc_fail ,mark 
-01f6 20202af6 branch le_init_adv + 1 
+0238 793f8030 set0 mark_ble_crc_fail ,mark 
+0239 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-01f7 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01f8 c0553329 beq datatype_bind ,g24_bind_first_step 
-01f9 c02ab33a beq datatype_config ,g24_bind_second_step 
-01fa c01101fd beq datatype_ok ,p_g24_bind_third_step 
-01fb c07fb59b beq datatype_attemp ,g24_data_attemp 
-01fc 20600000 rtn 
+023a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+023b c0553329 beq datatype_bind ,g24_bind_first_step 
+023c c02ab33a beq datatype_config ,g24_bind_second_step 
+023d c0110240 beq datatype_ok ,p_g24_bind_third_step 
+023e c07fb59b beq datatype_attemp ,g24_data_attemp 
+023f 20600000 rtn 
 
 p_g24_bind_third_step:
-01fd 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-01fe 203a0203 branch p_g24_bind_third_step_skip ,blank 
-01ff 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-0200 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0201 98467c00 isub temp ,null 
-0202 24628000 nrtn zero 
+0240 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0241 203a0246 branch p_g24_bind_third_step_skip ,blank 
+0242 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+0243 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0244 98467c00 isub temp ,null 
+0245 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0203 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0204 c0008207 beq datatype_device1 ,p_g24_bind_third_step_device1 
-0205 c001020f beq datatype_device2 ,p_g24_bind_third_step_device2 
-0206 20600000 rtn 
+0246 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0247 c000824a beq datatype_device1 ,p_g24_bind_third_step_device1 
+0248 c0010252 beq datatype_device2 ,p_g24_bind_third_step_device2 
+0249 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-0207 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0208 247a0000 nrtn blank 
-0209 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-020a c001020c beq 2 ,p_g24_bind_dvc1_step_success 
-020b 20600000 rtn 
+024a 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+024b 247a0000 nrtn blank 
+024c 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+024d c001024f beq 2 ,p_g24_bind_dvc1_step_success 
+024e 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-020c 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-020d 2040338d call g24_binding_dvc1_living 
-020e 2020336b branch g24_bind_dvc1_step_success + 1 
+024f 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0250 2040338d call g24_binding_dvc1_living 
+0251 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-020f 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0210 247a0000 nrtn blank 
-0211 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0212 c0800214 bne 0 ,p_g24_bind_dvc2_step_success 
-0213 20600000 rtn 
+0252 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0253 247a0000 nrtn blank 
+0254 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0255 c0800257 bne 0 ,p_g24_bind_dvc2_step_success 
+0256 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0214 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0215 20403393 call g24_binding_dvc2_living 
-0216 20203378 branch g24_bind_dvc2_step_success + 1 
+0257 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0258 20403393 call g24_binding_dvc2_living 
+0259 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0217 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0218 c1000000 rtneq dongle_work 
-0219 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-021a 247a0000 nrtn blank 
-021b 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-021c 247a0000 nrtn blank 
-021d 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-021e 207a0000 rtn blank 
-021f 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0220 c1800000 rtnne 0 
-0221 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0222 c1800000 rtnne 0 
-0223 20203436 branch g24_mode_switch_bind_search + 9 
+025a 6fe0c616 fetch 1 ,mem_24g_work_mode 
+025b c1000000 rtneq dongle_work 
+025c 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+025d 247a0000 nrtn blank 
+025e 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+025f 247a0000 nrtn blank 
+0260 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+0261 207a0000 rtn blank 
+0262 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0263 c1800000 rtnne 0 
+0264 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0265 c1800000 rtnne 0 
+0266 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0224 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0225 c1808000 rtnne dongle_bind 
-0226 20400228 call p_g24_bind_init 
-0227 2020346d branch g24_bind_mode_auto + 4 
+0267 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0268 c1808000 rtnne dongle_bind 
+0269 2040026b call p_g24_bind_init 
+026a 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0228 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0229 c3808000 rtnbit1 dongle_bind 
-022a 79207e01 set1 dongle_bind ,pdata 
-022b 67e0c615 store 1 ,mem_24g_mode_init 
-022c 58000000 setarg 0 
-022d 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-022e 20203307 branch g24_bind_init + 8 
+026b 6fe0c615 fetch 1 ,mem_24g_mode_init 
+026c c3808000 rtnbit1 dongle_bind 
+026d 79207e01 set1 dongle_bind ,pdata 
+026e 67e0c615 store 1 ,mem_24g_mode_init 
+026f 58000000 setarg 0 
+0270 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0271 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-022f 20400231 call p_wdt_kick 
-0230 20204868 branch dongle_usb_dispatch + 1 
+0272 20400274 call p_wdt_kick 
+0273 20204868 branch dongle_usb_dispatch + 1 
 
 p_wdt_kick:
-0231 58000010 setarg 16 
-0232 202070c8 branch wdt_init_config 
+0274 58000010 setarg 16 
+0275 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0233 204047c3 call dongle_default_init + 1 
-0234 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0235 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0236 7045ca00 jam off ,mem_24g_disable_fec1 
-0237 20403281 call g24_enable_1m 
-0238 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0239 c4000000 rtnbit0 dg_enable_new_revision 
-023a 7045ca01 jam on ,mem_24g_disable_fec1 
-023b 20203284 branch g24_enable_2m 
+0276 204047c3 call dongle_default_init + 1 
+0277 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0278 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0279 7045ca00 jam off ,mem_24g_disable_fec1 
+027a 20403281 call g24_enable_1m 
+027b 6fe0c669 fetch 1 ,mem_dg_sys_config 
+027c c4000000 rtnbit0 dg_enable_new_revision 
+027d 7045ca01 jam on ,mem_24g_disable_fec1 
+027e 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-023c 6fe0c669 fetch 1 ,mem_dg_sys_config 
-023d c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-023e 7837fc00 enable user3 
-023f 20000018 nop 24 
-0240 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0241 79207e00 set1 bit_ack_24g ,pdata 
-0242 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0243 204033a5 call g24_ackpayload_prep 
-0244 204031e5 call g24_transmit_prep 
-0245 20203195 branch g24_transmit 
+027f 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0280 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0281 7837fc00 enable user3 
+0282 20000018 nop 24 
+0283 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0284 79207e00 set1 bit_ack_24g ,pdata 
+0285 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0286 204033a5 call g24_ackpayload_prep 
+0287 204031e5 call g24_transmit_prep 
+0288 20203195 branch g24_transmit 
               org 0x2000
 
 start:
@@ -31327,6 +31414,10 @@
 7981 207a0000 rtn blank 
 7982 70091200 jam 0 ,mem_usb_clear_halt 
 7983 70090002 jam usb_connected ,mem_usb_state 
+
+usb_windows_enumeration_enable:
+
+mem_usb_mac_enumeration_enable:
 7984 70090e01 jam 1 ,mem_usb_device_enumeration_endflag 
 7985 20600000 rtn 
 
@@ -31963,6 +32054,8 @@
 7b4f 6fe08871 fetch 1 ,mem_usb_setup_windex 
 7b50 1fe67c01 sub pdata ,1 ,null 
 7b51 2042fb59 call usb_clear_remote_wakeup_set0 ,zero 
+
+usb_set_idle_next:
 7b52 6fe08900 fetch 1 ,mem_usb_state 
 7b53 c08279e9 bne usb_resume ,usb0_reply_zerolen 
 7b54 70090002 jam usb_connected ,mem_usb_state 
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/program/patch.prog	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/program/patch.prog	(working copy)
@@ -19,11 +19,14 @@
 	beq patch18_5,p_otp_read_data
 	beq patch1b_2,p_sadc_calibration
 	beq patch1b_4,p_enable_adc
+	beq patch1f_5,p_usb_isr
 	beq patch1f_7,p_usb_rx
 	branch assert
 
 pf_patch_ext:
 	beq patch20_0,p_usb_class_type
+	beq patch20_2,p_usb0_request_get_descriptor
+	beq patch20_3,p_usb_set_idle
 	beq patch20_6,p_usb_tx
 	beq patch27_1,p_le_parse
 	beq patch29_5,p_le_init_adv
@@ -64,7 +67,6 @@
 	arg 18,loopcnt
 	branch memcpy
 
-
 p_soft_reset:
 	clear_stack
 	until null,lpo_edge
@@ -73,6 +75,29 @@
 	nop 30000
 	branch soft_reset+2
 
+p_usb_isr:
+	fetch 1,core_usb_status
+	isolate1 USB_STATUS_RESET,pdata
+	call usb_init_restart,true
+	fetch 2,core_usb_status
+	store 2,core_usb_status
+	store 2,mem_usb_status
+	call usb_nak_state_judge
+	call usb_rx
+	call usb0_tx
+	call usb_tx
+	call p_wait_ep_busy
+	branch usb_nak_state
+
+
+p_wait_ep_busy:
+	fetch 1,core_usb_txbusy
+	bbit1 0,p_wait_ep_busy
+	bbit1 1,p_wait_ep_busy
+	bbit1 2,p_wait_ep_busy
+	bbit1 3,p_wait_ep_busy
+	rtn
+
 p_g24_search_mode_auto:
 	fetch 1,mem_24g_work_mode
 	rtnne DONGLE_SEARCH
@@ -93,17 +118,16 @@
 	set1 DONGLE_WORK,pdata
 	store 1,mem_24g_mode_init
 	call g24_auto_bind_config_self
-	// fetch 1,0x4fff
-	// ncall g24_auto_bind_config_self,blank
+
 	fetch 1,mem_24g_ackpayload_enable
 	sub pdata,2,null
 	ncall g24_ackpayload_disable,zero
-	//jam 0x00,0x4fff
+
 	call g24_rx_interrupt_clear
 	call g24_enable_nodata_timer
 	call g24_receiver_addr_check
 	branch g24_self_ch_num_reinit,zero
-	//jam 0x01,0x4fff
+
 	fetch 4,mem_24g_addr
 	fetcht 4,mem_24g_device2_addr
 	isub temp,null
@@ -207,6 +231,11 @@
 	call p_rx_dcoc
 	call p_rfpll_aac_ghpc
 	call p_set_xtal_cap
+	jam 0x06,0x8a30
+	jam 0xdd,0x8a32
+	jam 0xe0,0x8a88
+	jam 0x2d,0x8a8c
+	jam 0x78,0x8a31
 	jam SYSTEM_CLK_12M,mem_system_clk
 	call sadc_calibration
 	branch p_dpll_ring_ibias_calc
@@ -439,7 +468,7 @@
 	fetch 1,mem_usb_setup_bRequest
 	beq SET_IDLE,usb_set_idle
 	beq SET_REPORT,p_usb_set_report
-	beq SET_PROTOCOL,usb_set_protocol_req
+	beq SET_PROTOCOL,p_usb_set_protocol_req
 	branch usb0_force_stall
 
 p_usb_set_report:
@@ -458,6 +487,62 @@
 	jam 0x2,core_usb_clear_nak
 	branch usb_set_report_next
 
+p_usb_set_idle:
+	jam 1,mem_usb_idle_flag
+	fetch 1,mem_usb_setup_bValueH
+	store 1,mem_usb_idle_rate
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call p_usb_clear_remote_wakeup_set0,zero
+	branch usb_set_idle_next
+
+p_usb_clear_remote_wakeup_set0:
+	//解决部分电脑进入休眠USB会断电一会导致数据丢失，下次电脑唤醒后接收器不能正常唤醒工作问题
+	fetch 1,mem_usb_enum_get_report_flag
+	branch usb_clear_remote_wakeup_set0,blank
+  	fetch 1,mem_usb_clear_remote_wakeup //首次枚举不清除远程唤醒 避免提前置枚举标志导致USB枚举完成前发了键鼠数据导致卡死
+	nbranch usb_clear_remote_wakeup_set0,blank
+	rtn
+p_usb_set_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	beq BOOT_PROTOCOL,usb_set_boot_protocol
+	beq REPORT_PROTOCOL,p_usb_set_report_protocol
+	branch usb0_force_stall
+p_usb_set_report_protocol:
+	jam 1,mem_usb_tx_mac_enable
+	jam 1,mem_usb_set_protocol_status
+	jam 0,mem_usb_set_protocol_value
+
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call mem_usb_mac_enumeration_enable,zero //mac enumeration completed
+	branch usb0_reply_zerolen
+
+p_usb0_request_get_descriptor:
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,p_dsc_device_info
+	beq DSC_HID_REPORT,p_dsc_hid_report_info
+	branch usb0_request_get_descriptor+2
+p_dsc_device_info:
+	jam 0,mem_usb_enum_get_report_flag
+	branch dsc_device_info
+
+p_dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,p_dsc_hid_report_info0
+	// jam USB_GOT_REPORT_START,mem_usb_state
+	jam 1,mem_usb_enum_get_report_flag
+	fetchr rega,2,mem_hidreportdesc_kb
+	branch usb0_respond_length
+p_dsc_hid_report_info0:
+	fetch 1,mem_usb_tx_mac_enable
+	call usb_windows_enumeration_enable,blank //windows enumeration completed
+	jam USB_GOT_REPORT_REQ,mem_usb_state
+	fetchr rega,2,mem_hidreportdesc_m
+	branch usb0_respond_length
+
 p_usb_tx:
 	fetch 1,mem_usb_tx_enable
 	rtn blank
Index: program/usb.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/program/usb.prog	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/program/usb.prog	(working copy)
@@ -152,6 +152,8 @@
 	rtn blank
 	jam 0,mem_usb_clear_halt
 	jam USB_CONNECTED,mem_usb_state
+usb_windows_enumeration_enable:
+mem_usb_mac_enumeration_enable:
 	jam 1,mem_usb_device_enumeration_endflag
 	rtn
 
@@ -774,6 +776,7 @@
 	fetch 1,mem_usb_setup_wIndex
 	sub pdata,1,null
 	call usb_clear_remote_wakeup_set0,zero
+usb_set_idle_next:	
 	fetch 1,mem_usb_state
 	bne USB_RESUME,usb0_reply_zerolen
 	jam USB_CONNECTED,mem_usb_state
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/sched/dongle.dat	(revision 5294)
+++ /1121s/branch/dongle/1m/usb_1m_imanufacturer_replace/sched/dongle.dat	(working copy)
@@ -21,16 +21,16 @@
 mem_dg_usb_vid_pid:
 01 #disable
 #mouse only#auto pair
-51 31#VID
-20 10#PID
+5f 14#VID
+33 03#PID
 #mouse & keyboard
 51 31#VID
 20 30#PID
 mem_dg_usb_tx_interval:00
 mem_dg_usb_device_name:
-'Philips USB Receiver
+'Trust Yvi+Wireless Mouse
 mem_imanufacturer_replace:
-'Philips
+'Trust
 
 #pair tx
 mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm
@@ -66,7 +66,7 @@
 
 
 
-mem_rf_debug_rx_gpio:8c
+# mem_rf_debug_rx_gpio:8c
 #mem_rf_debug_tx_gpio:8c
 #uart config
 #mem_device_uart_tx_gpio:09	#08
