Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/format/app_dongle.format	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/format/app_dongle.format	(working copy)
@@ -32,9 +32,9 @@
 1 mem_24g_pair_tx_power_init
 1 mem_setreport_count
 
+1 mem_usb_enum_get_report_flag
 //patch
 64 hid_keyboard_report
-
 )
 
 
Index: format/bt.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/format/bt.format	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/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_XZR/usb_1m/format/usb.format	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/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_XZR/usb_1m/output/memmap.format	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/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 hid_keyboard_report
+0x4697 mem_usb_enum_get_report_flag
+0x4698 hid_keyboard_report
 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_XZR/usb_1m/output/otp.dat	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/output/otp.dat	(working copy)
@@ -11,116 +11,136 @@
 00
 aa
 55
-0a
-08
+ce
+09
 c2
 84
 00
-13
+15
 c0
 00
 00
-1d
+22
 c0
 01
 00
-23
+59
 c0
 08
 80
-2c
+62
 c0
 0a
-01
-91
+02
+02
 c0
 0a
-80
-c2
+81
+0a
 c0
 0c
-00
-d0
+01
+18
 c0
 0c
 80
-7c
+c9
 c0
 0d
 00
-3a
+81
+c0
+0e
+00
+70
 c0
 1b
-81
-ef
+82
+60
 c0
 1c
 00
-95
+dd
 c0
 1c
 80
-91
+d9
 c0
 1e
-81
-eb
+82
+5c
 c0
 62
 80
-8e
+d6
 c0
 6d
 01
-62
+d3
 c0
 6e
 01
-72
+e3
+c0
+7e
+80
+28
 c0
 7f
-00
-da
+01
+22
 c0
 7f
-80
-e2
+81
+2a
 20
 20
 23
 5a
 c0
 00
-00
-ff
+01
+47
+c0
+01
+01
+7f
+c0
+01
+81
+66
 c0
 03
 01
-1e
+8f
 c0
 1c
-81
-ad
+82
+1e
 c0
 26
-81
-b1
+82
+22
 c0
 37
-81
-f8
+82
+69
 c0
 41
-01
-b3
+02
+24
 c0
 44
-01
-d3
+02
+44
 c0
 45
-01
-e0
+02
+51
+c0
+45
+80
+3a
 c1
 7f
 80
@@ -153,6 +173,202 @@
 20
 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
+34
+20
+20
+79
+6b
+6f
+f0
+8c
+25
+c2
+80
+00
+34
+c2
+80
+80
+34
+c2
+81
+00
+34
+c2
+81
+80
+34
+20
+60
+00
+00
+6f
+e0
+c6
+16
+c1
+83
+80
+00
+20
+40
+34
+76
+20
+40
+34
+ae
+20
+40
+33
+f1
+24
+37
+b3
+be
+20
+40
+35
+06
+20
+42
+b3
+ad
+6f
+e0
+c6
+0a
+20
+5a
+34
+4d
+70
+46
+16
+00
+6f
+e0
+c6
+15
+79
+20
+7e
+00
+67
+e0
+c6
+15
+20
+40
+34
+ec
+6f
+e0
+c6
+11
+1f
+e6
+7c
+02
+24
+42
+b5
+04
+20
+40
+33
+be
+20
+40
+33
+fe
+20
+40
+35
+06
+20
+22
+b4
+a7
+6f
+e2
+45
+8f
+68
+4a
+46
+34
+98
+46
+7c
+00
+20
+22
+b4
+aa
+6f
+e2
+45
+8f
+68
+4a
+46
+30
+98
+46
+7c
+00
+20
+22
+b4
+ac
+20
+60
+00
+00
 20
 40
 75
@@ -188,7 +404,7 @@
 20
 20
 00
-23
+59
 70
 8a
 0f
@@ -246,6 +462,78 @@
 00
 00
 70
+8a
+20
+30
+70
+8a
+23
+dd
+20
+40
+21
+d0
+58
+00
+00
+00
+67
+e1
+06
+70
+d8
+40
+3a
+98
+6f
+e1
+06
+70
+1f
+e0
+fe
+01
+67
+e1
+06
+70
+98
+46
+7c
+00
+20
+21
+6c
+a3
+6f
+f0
+8a
+7c
+c3
+00
+00
+76
+20
+20
+22
+9a
+37
+d9
+82
+00
+70
+81
+3c
+58
+20
+20
+23
+e2
+70
+8a
+88
+40
+70
 89
 46
 0d
@@ -255,6 +543,10 @@
 10
 70
 8a
+13
+cd
+70
+8a
 06
 10
 70
@@ -272,7 +564,7 @@
 20
 40
 00
-97
+df
 6f
 e0
 c4
@@ -281,6 +573,10 @@
 5a
 70
 d7
+24
+55
+80
+7e
 37
 d9
 82
@@ -296,7 +592,7 @@
 c0
 08
 00
-71
+be
 6f
 e0
 c4
@@ -340,7 +636,7 @@
 20
 40
 00
-63
+b0
 70
 80
 43
@@ -364,15 +660,15 @@
 20
 40
 01
-34
+a5
 20
 40
 01
-5f
+d0
 20
 40
 00
-5d
+aa
 70
 41
 48
@@ -381,10 +677,22 @@
 40
 6f
 4e
+70
+8a
+30
+06
+70
+8a
+32
+dd
+70
+8a
+88
+e0
 20
 20
 01
-61
+d2
 20
 75
 80
@@ -416,7 +724,7 @@
 c0
 0c
 00
-69
+b6
 6f
 e0
 c4
@@ -508,7 +816,7 @@
 20
 20
 00
-4f
+99
 20
 20
 22
@@ -516,26 +824,6 @@
 70
 8a
 14
-25
-58
-a9
-3f
-3f
-67
-f1
-8a
-60
-70
-8a
-63
-1f
-20
-60
-00
-00
-70
-8a
-14
 17
 58
 25
@@ -619,8 +907,8 @@
 f1
 20
 35
-80
-be
+81
+06
 6f
 e2
 02
@@ -788,7 +1076,7 @@
 20
 20
 00
-a8
+f0
 20
 40
 68
@@ -908,7 +1196,7 @@
 58
 00
 46
-97
+98
 67
 e1
 07
@@ -943,8 +1231,8 @@
 96
 c0
 00
-80
-f1
+81
+39
 d8
 a0
 08
@@ -975,8 +1263,8 @@
 00
 20
 20
-00
-ff
+01
+47
 d8
 a0
 08
@@ -995,8 +1283,8 @@
 0c
 c0
 00
-80
-f9
+81
+41
 70
 08
 f7
@@ -1052,7 +1340,7 @@
 c0
 00
 01
-05
+4d
 20
 20
 23
@@ -1080,7 +1368,7 @@
 c0
 00
 81
-0d
+55
 c0
 01
 79
@@ -1100,11 +1388,11 @@
 c0
 04
 81
-12
+5a
 c0
 05
-fb
-7c
+81
+72
 20
 20
 79
@@ -1119,8 +1407,8 @@
 75
 20
 40
-00
-d7
+01
+1f
 70
 08
 f7
@@ -1157,6 +1445,170 @@
 20
 7b
 65
+70
+08
+fb
+01
+6f
+e0
+88
+70
+67
+e0
+88
+fc
+6f
+e0
+88
+71
+1f
+e6
+7c
+01
+20
+42
+81
+6d
+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
+78
+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
+83
+c0
+11
+01
+85
+20
+20
+7a
+03
+70
+46
+97
+00
+20
+20
+7a
+14
+6f
+e1
+08
+71
+c0
+00
+81
+8a
+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
@@ -1208,11 +1660,11 @@
 20
 40
 01
-2c
+9d
 20
 20
 01
-30
+a1
 6f
 f0
 8c
@@ -1296,7 +1748,7 @@
 20
 40
 01
-51
+c2
 2a
 2f
 fe
@@ -1328,7 +1780,7 @@
 20
 40
 01
-51
+c2
 d8
 a0
 8a
@@ -1356,7 +1808,7 @@
 20
 21
 01
-46
+b7
 20
 20
 21
@@ -1460,7 +1912,7 @@
 20
 40
 01
-8a
+fb
 70
 8a
 08
@@ -1496,7 +1948,7 @@
 20
 40
 01
-80
+f1
 6f
 f0
 8a
@@ -1540,7 +1992,7 @@
 20
 40
 01
-8a
+fb
 70
 80
 cd
@@ -1600,7 +2052,7 @@
 c3
 02
 81
-8b
+fc
 68
 59
 01
@@ -1635,8 +2087,8 @@
 99
 c0
 08
-01
-aa
+02
+1b
 58
 00
 57
@@ -1679,8 +2131,8 @@
 99
 c0
 08
-01
-a7
+02
+18
 58
 00
 2b
@@ -1715,8 +2167,8 @@
 07
 20
 20
-01
-a3
+02
+14
 58
 00
 83
@@ -1727,8 +2179,8 @@
 07
 20
 20
-01
-98
+02
+09
 6f
 e0
 c3
@@ -1767,8 +2219,8 @@
 3a
 c0
 11
-01
-b9
+02
+2a
 c0
 7f
 b5
@@ -1783,8 +2235,8 @@
 ae
 20
 3a
-01
-bf
+02
+30
 6f
 e2
 45
@@ -1807,12 +2259,12 @@
 eb
 c0
 00
-81
-c3
+82
+34
 c0
 01
-01
-cb
+02
+3c
 20
 60
 00
@@ -1831,8 +2283,8 @@
 d3
 c0
 01
-01
-c8
+02
+39
 20
 60
 00
@@ -1863,8 +2315,8 @@
 d4
 c0
 80
-01
-d0
+02
+41
 20
 60
 00
@@ -1943,8 +2395,8 @@
 00
 20
 40
-01
-e4
+02
+55
 20
 20
 34
@@ -1979,8 +2431,8 @@
 07
 20
 40
-01
-ed
+02
+5e
 20
 20
 48
@@ -2069,8 +2521,8 @@
 20
 31
 95
-6c
-38
+13
+ed
 aa
 55
 40
@@ -2080,7 +2532,7 @@
 05
 00
 32
-07
+17
 00
 00
 80
@@ -2108,8 +2560,8 @@
 00
 00
 00
-c0
-41
+e0
+4d
 00
 00
 00
@@ -2126,7 +2578,7 @@
 00
 00
 04
-05
+0d
 00
 00
 00
@@ -2221,7 +2673,7 @@
 44
 36
 27
-83
+86
 74
 12
 23
@@ -2245,7 +2697,7 @@
 55
 40
 00
-97
+98
 46
 3f
 05
@@ -2503,8 +2955,8 @@
 aa
 aa
 55
-70
+b8
 5d
-9f
-93
+3d
+5e
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/output/program.lis	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/output/program.lis	(working copy)
@@ -1,653 +1,792 @@
               include "bt_format "
               org 0x0000
-0000 c2840013 bbit1 8 ,pf_patch_ext 
-0001 c000001d beq patch00_0 ,p_soft_reset 
-0002 c0010023 beq patch00_2 ,p_main_loop 
-0003 c008802c beq patch02_1 ,p_set_sync_on 
-0004 c00a0191 beq patch02_4 ,p_set_lemode 
-0005 c00a80c2 beq patch02_5 ,p_rf_rx_enable 
-0006 c00c00d0 beq patch03_0 ,p_txon 
-0007 c00c807c beq patch03_1 ,p_set_tx_power 
-0008 c00d003a beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b81ef beq patch06_7 ,p_dongle_default_init 
-000a c01c0095 beq patch07_0 ,p_dongle_read_kb_bind_status 
-000b c01c8091 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e81eb beq patch07_5 ,p_dongle_usb_dispatch 
-000d c062808e beq patch18_5 ,p_otp_read_data 
-000e c06d0162 beq patch1b_2 ,p_sadc_calibration 
-000f c06e0172 beq patch1b_4 ,p_enable_adc 
-0010 c07f00da beq patch1f_6 ,p_usb_init 
-0011 c07f80e2 beq patch1f_7 ,p_usb_rx 
-0012 2020235a branch assert 
+0000 c2840015 bbit1 8 ,pf_patch_ext 
+0001 c0000022 beq patch00_0 ,p_soft_reset 
+0002 c0010059 beq patch00_2 ,p_main_loop 
+0003 c0088062 beq patch02_1 ,p_set_sync_on 
+0004 c00a0202 beq patch02_4 ,p_set_lemode 
+0005 c00a810a beq patch02_5 ,p_rf_rx_enable 
+0006 c00c0118 beq patch03_0 ,p_txon 
+0007 c00c80c9 beq patch03_1 ,p_set_tx_power 
+0008 c00d0081 beq patch03_2 ,p_initialize_radio_cont 
+0009 c00e0070 beq patch03_4 ,p_aac_ghpc 
+000a c01b8260 beq patch06_7 ,p_dongle_default_init 
+000b c01c00dd beq patch07_0 ,p_dongle_read_kb_bind_status 
+000c c01c80d9 beq patch07_1 ,p_dongle_write_kb_bind_status 
+000d c01e825c beq patch07_5 ,p_dongle_usb_dispatch 
+000e c06280d6 beq patch18_5 ,p_otp_read_data 
+000f c06d01d3 beq patch1b_2 ,p_sadc_calibration 
+0010 c06e01e3 beq patch1b_4 ,p_enable_adc 
+0011 c07e8028 beq patch1f_5 ,p_usb_isr 
+0012 c07f0122 beq patch1f_6 ,p_usb_init 
+0013 c07f812a beq patch1f_7 ,p_usb_rx 
+0014 2020235a branch assert 
 
 pf_patch_ext:
-0013 c00000ff beq patch20_0 ,p_usb_class_type 
-0014 c003011e beq patch20_6 ,p_usb_tx 
-0015 c01c81ad beq patch27_1 ,p_le_parse 
-0016 c02681b1 beq patch29_5 ,p_le_init_adv 
-0017 c03781f8 beq patch2d_7 ,p_g24_receive_skip_end 
-0018 c04101b3 beq patch30_2 ,p_g24_bind_data_parse_next 
-0019 c04401d3 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001a c04501e0 beq patch31_2 ,p_g24_bind_mode_auto 
-001b c17f8000 rtneq patch3f_7 
-001c 2020235a branch assert 
+0015 c0000147 beq patch20_0 ,p_usb_class_type 
+0016 c001017f beq patch20_2 ,p_usb0_request_get_descriptor 
+0017 c0018166 beq patch20_3 ,p_usb_set_idle 
+0018 c003018f beq patch20_6 ,p_usb_tx 
+0019 c01c821e beq patch27_1 ,p_le_parse 
+001a c0268222 beq patch29_5 ,p_le_init_adv 
+001b c0378269 beq patch2d_7 ,p_g24_receive_skip_end 
+001c c0410224 beq patch30_2 ,p_g24_bind_data_parse_next 
+001d c0440244 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001e c0450251 beq patch31_2 ,p_g24_bind_mode_auto 
+001f c045803a beq patch31_3 ,p_g24_search_mode_auto 
+0020 c17f8000 rtneq patch3f_7 
+0021 2020235a branch assert 
 
 p_soft_reset:
-001d 20800000 clear_stack 
-001e 37d98200 until null ,lpo_edge 
-001f 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
-0020 204023e1 call lpm_write_sel_hv 
-0021 20007530 nop 30000 
-0022 20202003 branch soft_reset + 2 
+0022 20800000 clear_stack 
+0023 37d98200 until null ,lpo_edge 
+0024 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
+0025 204023e1 call lpm_write_sel_hv 
+0026 20007530 nop 30000 
+0027 20202003 branch soft_reset + 2 
+
+p_usb_isr:
+0028 6ff08c22 fetch 1 ,core_usb_status 
+0029 2feffe03 isolate1 usb_status_reset ,pdata 
+002a 2040f915 call usb_init_restart ,true 
+002b 6ff10c22 fetch 2 ,core_usb_status 
+002c 67f10c22 store 2 ,core_usb_status 
+002d 67e10709 store 2 ,mem_usb_status 
+002e 20407973 call usb_nak_state_judge 
+002f 204079a2 call usb_rx 
+0030 20407b96 call usb0_tx 
+0031 20407bdf call usb_tx 
+0032 20400034 call p_wait_ep_busy 
+0033 2020796b branch usb_nak_state 
+
+p_wait_ep_busy:
+0034 6ff08c25 fetch 1 ,core_usb_txbusy 
+0035 c2800034 bbit1 0 ,p_wait_ep_busy 
+0036 c2808034 bbit1 1 ,p_wait_ep_busy 
+0037 c2810034 bbit1 2 ,p_wait_ep_busy 
+0038 c2818034 bbit1 3 ,p_wait_ep_busy 
+0039 20600000 rtn 
+
+p_g24_search_mode_auto:
+003a 6fe0c616 fetch 1 ,mem_24g_work_mode 
+003b c1838000 rtnne dongle_search 
+003c 20403476 call g24_search_mode_init 
+003d 204034ae call g24_auto_addr_ch_search 
+003e 204033f1 call g24_receive_transmit_ack 
+003f 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0040 20403506 call g24_receiver_addr_check 
+0041 2042b3ad call g24_receive_packet_parse ,zero 
+0042 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0043 205a344d call g24_mode_b_s_switch_stop ,blank 
+0044 70461600 jam dongle_work ,mem_24g_work_mode 
+0045 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0046 79207e00 set1 dongle_work ,pdata 
+0047 67e0c615 store 1 ,mem_24g_mode_init 
+0048 204034ec call g24_auto_bind_config_self 
+0049 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+004a 1fe67c02 sub pdata ,2 ,null 
+004b 2442b504 ncall g24_ackpayload_disable ,zero 
+004c 204033be call g24_rx_interrupt_clear 
+004d 204033fe call g24_enable_nodata_timer 
+004e 20403506 call g24_receiver_addr_check 
+004f 2022b4a7 branch g24_self_ch_num_reinit ,zero 
+0050 6fe2458f fetch 4 ,mem_24g_addr 
+0051 684a4634 fetcht 4 ,mem_24g_device2_addr 
+0052 98467c00 isub temp ,null 
+0053 2022b4aa branch g24_device2_ch_num_reinit ,zero 
+0054 6fe2458f fetch 4 ,mem_24g_addr 
+0055 684a4630 fetcht 4 ,mem_24g_device1_addr 
+0056 98467c00 isub temp ,null 
+0057 2022b4ac branch g24_device1_ch_num_reinit ,zero 
+0058 20600000 rtn 
 
 p_main_loop:
-0023 20407552 call sp_calc_sequence_256 
-0024 20407448 call sp_calc_sequence_256_check 
-0025 20402a45 call le_advertising_dispatch 
-0026 2040202a call idle_dispatch 
-0027 204042ad call app_process_idle 
-0028 20402018 call connection_dispatch 
-0029 2040310f call g24_dispatch 
-002a 2040248c call lpm_dispatch 
-002b 20200023 branch p_main_loop 
+0059 20407552 call sp_calc_sequence_256 
+005a 20407448 call sp_calc_sequence_256_check 
+005b 20402a45 call le_advertising_dispatch 
+005c 2040202a call idle_dispatch 
+005d 204042ad call app_process_idle 
+005e 20402018 call connection_dispatch 
+005f 2040310f call g24_dispatch 
+0060 2040248c call lpm_dispatch 
+0061 20200059 branch p_main_loop 
 
 p_set_sync_on:
-002c 708a0f60 jam 0x60 ,0x8a0f 
-002d 708a10aa jam 0xaa ,0x8a10 
-002e 708a127a jam 0x7a ,0x8a12 
-002f 708a2500 jam 0x00 ,0x8a25 
-0030 708a2600 jam 0x00 ,0x8a26 
-0031 2000003c nop 60 
-0032 708a2020 jam 0x20 ,0x8a20 
-0033 708a23f5 jam 0xf5 ,0x8a23 
-0034 708a2412 jam 0x12 ,0x8a24 
-0035 708a2410 jam 0x10 ,0x8a24 
-0036 2000003c nop 60 
-0037 708a1260 jam 0x60 ,0x8a12 
-0038 708a23dd jam 0xdd ,0x8a23 
-0039 20600000 rtn 
+0062 708a0f60 jam 0x60 ,0x8a0f 
+0063 708a10aa jam 0xaa ,0x8a10 
+0064 708a127a jam 0x7a ,0x8a12 
+0065 708a2500 jam 0x00 ,0x8a25 
+0066 708a2600 jam 0x00 ,0x8a26 
+0067 2000003c nop 60 
+0068 708a2020 jam 0x20 ,0x8a20 
+0069 708a23f5 jam 0xf5 ,0x8a23 
+006a 708a2412 jam 0x12 ,0x8a24 
+006b 708a2410 jam 0x10 ,0x8a24 
+006c 2000003c nop 60 
+006d 708a1260 jam 0x60 ,0x8a12 
+006e 708a23dd jam 0xdd ,0x8a23 
+006f 20600000 rtn 
+
+p_aac_ghpc:
+0070 708a2030 jam 0x30 ,0x8a20 
+0071 708a23dd jam 0xdd ,0x8a23 
+0072 204021d0 call calc_freq 
+0073 58000000 setarg 0 
+0074 67e10670 store 2 ,mem_pdatatemp 
+0075 d8403a98 arg 15000 ,temp 
+
+p_wait_cal_done:
+0076 6fe10670 fetch 2 ,mem_pdatatemp 
+0077 1fe0fe01 increase 1 ,pdata 
+0078 67e10670 store 2 ,mem_pdatatemp 
+0079 98467c00 isub temp ,null 
+007a 20216ca3 branch soft_reset_chip ,positive 
+007b 6ff08a7c fetch 1 ,0x8a7c 
+007c c3000076 bbit0 0 ,p_wait_cal_done 
+007d 2020229a branch wait_cal_done + 2 
+
+p_set_ck2rfpll:
+007e 37d98200 until null ,lpo_edge 
+007f 70813c58 jam 0x58 ,0x813c 
+0080 202023e2 branch lpm_write_wait 
 
 p_initialize_radio_cont:
-003a 7089460d jam 0x0d ,0x8946 
-003b 70896f10 jam 0x10 ,0x896f 
-003c 708a0610 jam 0x10 ,0x8a06 
-003d 708a844a jam 0x4a ,0x8a84 
-003e 708a8540 jam 0x40 ,0x8a85 
-003f 708a16fe jam 0xfe ,0x8a16 
-0040 20400097 call p_set_otp_config 
-0041 6fe0c436 fetch 1 ,mem_wdt_always_work 
-0042 205a70d7 call wdt_set_disable ,blank 
-0043 37d98200 until null ,lpo_edge 
-0044 70813b5f jam 0x5f ,0x813b 
-0045 6fe0c099 fetch 1 ,mem_fcomp_div 
-0046 c0080071 beq xtal_16m ,p_initialize_radio_16m 
-0047 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0048 1fe1fe04 or_into 0x04 ,pdata 
-0049 67f08a02 store 1 ,0x8a02 
-004a 70890f01 jam 0x01 ,0x890f 
-004b 708a8024 jam 0x24 ,0x8a80 
-004c 708a8162 jam 0x62 ,0x8a81 
-004d 58e61212 setarg 0xe61212 
-004e 67f18a73 store 3 ,0x8a73 
+0081 708a8840 jam 0x40 ,core_rx_cfg0 
+0082 7089460d jam 0x0d ,0x8946 
+0083 70896f10 jam 0x10 ,0x896f 
+0084 708a13cd jam 0xcd ,0x8a13 
+0085 708a0610 jam 0x10 ,0x8a06 
+0086 708a844a jam 0x4a ,0x8a84 
+0087 708a8540 jam 0x40 ,0x8a85 
+0088 708a16fe jam 0xfe ,0x8a16 
+0089 204000df call p_set_otp_config 
+008a 6fe0c436 fetch 1 ,mem_wdt_always_work 
+008b 205a70d7 call wdt_set_disable ,blank 
+008c 2455807e ncall p_set_ck2rfpll ,wake 
+008d 37d98200 until null ,lpo_edge 
+008e 70813b5f jam 0x5f ,0x813b 
+008f 6fe0c099 fetch 1 ,mem_fcomp_div 
+0090 c00800be beq xtal_16m ,p_initialize_radio_16m 
+0091 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+0092 1fe1fe04 or_into 0x04 ,pdata 
+0093 67f08a02 store 1 ,0x8a02 
+0094 70890f01 jam 0x01 ,0x890f 
+0095 708a8024 jam 0x24 ,0x8a80 
+0096 708a8162 jam 0x62 ,0x8a81 
+0097 58e61212 setarg 0xe61212 
+0098 67f18a73 store 3 ,0x8a73 
 
 p_initialize_radio2:
-004f 708a8660 jam 0x60 ,0x8a86 
-0050 708a8b3b jam 0x3b ,0x8a8b 
-0051 20400063 call p_dpll_on 
-0052 70804300 jam 0 ,core_config 
-0053 70804205 jam clksel_dpll ,core_clksel 
-0054 58557474 setarg 0x557474 
-0055 67f18968 store 3 ,0x8968 
-0056 7089606e jam 0x6e ,0x8960 
-0057 20400134 call p_rx_dcoc 
-0058 2040015f call p_rfpll_aac_ghpc 
-0059 2040005d call p_set_xtal_cap 
-005a 7041480c jam system_clk_12m ,mem_system_clk 
-005b 20406f4e call sadc_calibration 
-005c 20200161 branch p_dpll_ring_ibias_calc 
+0099 708a8660 jam 0x60 ,0x8a86 
+009a 708a8b3b jam 0x3b ,0x8a8b 
+009b 204000b0 call p_dpll_on 
+009c 70804300 jam 0 ,core_config 
+009d 70804205 jam clksel_dpll ,core_clksel 
+009e 58557474 setarg 0x557474 
+009f 67f18968 store 3 ,0x8968 
+00a0 7089606e jam 0x6e ,0x8960 
+00a1 204001a5 call p_rx_dcoc 
+00a2 204001d0 call p_rfpll_aac_ghpc 
+00a3 204000aa call p_set_xtal_cap 
+00a4 7041480c jam system_clk_12m ,mem_system_clk 
+00a5 20406f4e call sadc_calibration 
+00a6 708a3006 jam 0x06 ,0x8a30 
+00a7 708a32dd jam 0xdd ,0x8a32 
+00a8 708a88e0 jam 0xe0 ,0x8a88 
+00a9 202001d2 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
-005d 20758000 rtn wake 
-005e 37d98200 until null ,lpo_edge 
-005f 6fe0c11c fetch 1 ,mem_xtal_c_sel 
-0060 67f0813a store 1 ,core_xtal_cap 
-0061 37d98200 until null ,lpo_edge 
-0062 20600000 rtn 
+00aa 20758000 rtn wake 
+00ab 37d98200 until null ,lpo_edge 
+00ac 6fe0c11c fetch 1 ,mem_xtal_c_sel 
+00ad 67f0813a store 1 ,core_xtal_cap 
+00ae 37d98200 until null ,lpo_edge 
+00af 20600000 rtn 
 
 p_dpll_on:
-0063 6fe0c099 fetch 1 ,mem_fcomp_div 
-0064 c00c0069 beq xtal_24m ,p_dpll_on_24m 
-0065 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0066 1fe1fe06 or_into 0x06 ,pdata 
-0067 67f08a02 store 1 ,0x8a02 
-0068 708a05e0 jam 0xe0 ,0x8a05 
+00b0 6fe0c099 fetch 1 ,mem_fcomp_div 
+00b1 c00c00b6 beq xtal_24m ,p_dpll_on_24m 
+00b2 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00b3 1fe1fe06 or_into 0x06 ,pdata 
+00b4 67f08a02 store 1 ,0x8a02 
+00b5 708a05e0 jam 0xe0 ,0x8a05 
 
 p_dpll_on_24m:
-0069 708a00d8 jam 0xd8 ,0x8a00 
-006a 2000003c nop 60 
-006b 708a01a0 jam 0xa0 ,0x8a01 
-006c 708a00df jam 0xdf ,0x8a00 
-006d 708a01fa jam 0xfa ,0x8a01 
-006e 20000014 nop 20 
-006f 708a009f jam 0x9f ,0x8a00 
-0070 20600000 rtn 
+00b6 708a00d8 jam 0xd8 ,0x8a00 
+00b7 2000003c nop 60 
+00b8 708a01a0 jam 0xa0 ,0x8a01 
+00b9 708a00df jam 0xdf ,0x8a00 
+00ba 708a01fa jam 0xfa ,0x8a01 
+00bb 20000014 nop 20 
+00bc 708a009f jam 0x9f ,0x8a00 
+00bd 20600000 rtn 
 
 p_initialize_radio_16m:
-0071 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0072 1fe1fe06 or_into 0x06 ,pdata 
-0073 67f08a02 store 1 ,0x8a02 
-0074 70890f00 jam 0x00 ,0x890f 
-0075 708a8023 jam 0x23 ,0x8a80 
-0076 708a81b0 jam 0xb0 ,0x8a81 
-0077 58e40909 setarg 0xe40909 
-0078 67f18a73 store 3 ,0x8a73 
-0079 708a762a jam 0x2a ,0x8a76 
-007a 70890204 jam 0x04 ,0x8902 
-007b 2020004f branch p_initialize_radio2 
+00be 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00bf 1fe1fe06 or_into 0x06 ,pdata 
+00c0 67f08a02 store 1 ,0x8a02 
+00c1 70890f00 jam 0x00 ,0x890f 
+00c2 708a8023 jam 0x23 ,0x8a80 
+00c3 708a81b0 jam 0xb0 ,0x8a81 
+00c4 58e40909 setarg 0xe40909 
+00c5 67f18a73 store 3 ,0x8a73 
+00c6 708a762a jam 0x2a ,0x8a76 
+00c7 70890204 jam 0x04 ,0x8902 
+00c8 20200099 branch p_initialize_radio2 
 
 p_set_tx_power:
-007c 20202217 branch set_tx_power_0db 
-
-p_set_tx_power_10db:
-007d 708a1425 jam 0x25 ,0x8a14 
-007e 58a93f3f setarg 0xa93f3f 
-007f 67f18a60 store 3 ,0x8a60 
-0080 708a631f jam 0x1f ,0x8a63 
-0081 20600000 rtn 
+00c9 20202217 branch set_tx_power_0db 
 
 p_set_tx_power_f30db:
-0082 708a1417 jam 0x17 ,0x8a14 
-0083 58250300 setarg 0x250300 
-0084 67f18a60 store 3 ,0x8a60 
-0085 2020221a branch set_tx_power_8a63_28 
+00ca 708a1417 jam 0x17 ,0x8a14 
+00cb 58250300 setarg 0x250300 
+00cc 67f18a60 store 3 ,0x8a60 
+00cd 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f35db:
-0086 708a1417 jam 0x17 ,0x8a14 
-0087 58250100 setarg 0x250100 
-0088 67f18a60 store 3 ,0x8a60 
-0089 2020221a branch set_tx_power_8a63_28 
+00ce 708a1417 jam 0x17 ,0x8a14 
+00cf 58250100 setarg 0x250100 
+00d0 67f18a60 store 3 ,0x8a60 
+00d1 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f40db:
-008a 708a1417 jam 0x17 ,0x8a14 
-008b 58250000 setarg 0x250000 
-008c 67f18a60 store 3 ,0x8a60 
-008d 2020221a branch set_tx_power_8a63_28 
+00d2 708a1417 jam 0x17 ,0x8a14 
+00d3 58250000 setarg 0x250000 
+00d4 67f18a60 store 3 ,0x8a60 
+00d5 2020221a branch set_tx_power_8a63_28 
 
 p_otp_read_data:
-008e 20406b3a call enable_otp_read 
-008f 20406b75 call otp_read_data + 1 
-0090 20206b38 branch otp_disable_chgpump 
+00d6 20406b3a call enable_otp_read 
+00d7 20406b75 call otp_read_data + 1 
+00d8 20206b38 branch otp_disable_chgpump 
 
 p_dongle_write_kb_bind_status:
-0091 df200001 arg 1 ,loopcnt 
-0092 da204648 arg mem_dg_kb_bind_flag ,rega 
-0093 da401f00 arg dongle_kb_bind_otp_offect ,regb 
-0094 20206b45 branch otp_write 
+00d9 df200001 arg 1 ,loopcnt 
+00da da204648 arg mem_dg_kb_bind_flag ,rega 
+00db da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00dc 20206b45 branch otp_write 
 
 p_dongle_read_kb_bind_status:
-0095 da401f00 arg dongle_kb_bind_otp_offect ,regb 
-0096 202047f1 branch dongle_read_kb_bind_status + 2 
+00dd da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00de 202047f1 branch dongle_read_kb_bind_status + 2 
 
 p_set_otp_config:
-0097 203580be branch p_set_otp_config_wake ,wake 
-0098 6fe2020d fetch 4 ,mem_otp_core_ldo 
-0099 207a0000 rtn blank 
-009a 37d98200 until null ,lpo_edge 
-009b 6ff08136 fetch 1 ,0x8136 
-009c 1fe17ef0 and pdata ,0xf0 ,pdata 
-009d 6848820d fetcht 1 ,mem_otp_core_ldo 
-009e 9841fe00 ior temp ,pdata 
-009f 67f08136 store 1 ,0x8136 
-00a0 37d98200 until null ,lpo_edge 
-00a1 6ff08138 fetch 1 ,0x8138 
-00a2 1fe17e07 and pdata ,0x7 ,pdata 
-00a3 6848820e fetcht 1 ,mem_otp_verf_bg 
-00a4 18498400 lshift3 temp ,temp 
-00a5 9841fe00 ior temp ,pdata 
-00a6 67f08138 store 1 ,0x8138 
-00a7 37d98200 until null ,lpo_edge 
+00df 20358106 branch p_set_otp_config_wake ,wake 
+00e0 6fe2020d fetch 4 ,mem_otp_core_ldo 
+00e1 207a0000 rtn blank 
+00e2 37d98200 until null ,lpo_edge 
+00e3 6ff08136 fetch 1 ,0x8136 
+00e4 1fe17ef0 and pdata ,0xf0 ,pdata 
+00e5 6848820d fetcht 1 ,mem_otp_core_ldo 
+00e6 9841fe00 ior temp ,pdata 
+00e7 67f08136 store 1 ,0x8136 
+00e8 37d98200 until null ,lpo_edge 
+00e9 6ff08138 fetch 1 ,0x8138 
+00ea 1fe17e07 and pdata ,0x7 ,pdata 
+00eb 6848820e fetcht 1 ,mem_otp_verf_bg 
+00ec 18498400 lshift3 temp ,temp 
+00ed 9841fe00 ior temp ,pdata 
+00ee 67f08138 store 1 ,0x8138 
+00ef 37d98200 until null ,lpo_edge 
 
 p_set_otp_config2:
-00a8 6ff08acb fetch 1 ,0x8acb 
-00a9 1fe17ef0 and pdata ,0xf0 ,pdata 
-00aa 6848820f fetcht 1 ,mem_otp_charge_pump 
-00ab 6048c15b storet 1 ,mem_otp_charge_pump_x 
-00ac 9841fe00 ior temp ,pdata 
-00ad 67f08acb store 1 ,0x8acb 
-00ae 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00af 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
-00b0 2feffe03 isolate1 3 ,pdata 
-00b1 6ff08a06 fetch 1 ,0x8a06 
-00b2 7920fe07 setflag true ,7 ,pdata 
-00b3 67f08a06 store 1 ,0x8a06 
-00b4 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00b5 1fe10407 and pdata ,7 ,temp 
-00b6 18520400 lshift4 temp ,temp 
-00b7 18438400 lshift temp ,temp 
-00b8 6048c438 storet 1 ,mem_ring_ibias_trim 
-00b9 6ff08a02 fetch 1 ,0x8a02 
-00ba 1fe17e1f and pdata ,0x1f ,pdata 
-00bb 9841fe00 ior temp ,pdata 
-00bc 67f08a02 store 1 ,0x8a02 
-00bd 20600000 rtn 
+00f0 6ff08acb fetch 1 ,0x8acb 
+00f1 1fe17ef0 and pdata ,0xf0 ,pdata 
+00f2 6848820f fetcht 1 ,mem_otp_charge_pump 
+00f3 6048c15b storet 1 ,mem_otp_charge_pump_x 
+00f4 9841fe00 ior temp ,pdata 
+00f5 67f08acb store 1 ,0x8acb 
+00f6 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00f7 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
+00f8 2feffe03 isolate1 3 ,pdata 
+00f9 6ff08a06 fetch 1 ,0x8a06 
+00fa 7920fe07 setflag true ,7 ,pdata 
+00fb 67f08a06 store 1 ,0x8a06 
+00fc 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00fd 1fe10407 and pdata ,7 ,temp 
+00fe 18520400 lshift4 temp ,temp 
+00ff 18438400 lshift temp ,temp 
+0100 6048c438 storet 1 ,mem_ring_ibias_trim 
+0101 6ff08a02 fetch 1 ,0x8a02 
+0102 1fe17e1f and pdata ,0x1f ,pdata 
+0103 9841fe00 ior temp ,pdata 
+0104 67f08a02 store 1 ,0x8a02 
+0105 20600000 rtn 
 
 p_set_otp_config_wake:
-00be 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
-00bf 207a0000 rtn blank 
-00c0 67e1020f store 2 ,mem_otp_charge_pump 
-00c1 202000a8 branch p_set_otp_config2 
+0106 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
+0107 207a0000 rtn blank 
+0108 67e1020f store 2 ,mem_otp_charge_pump 
+0109 202000f0 branch p_set_otp_config2 
 
 p_rf_rx_enable:
-00c2 2040686f call rf_debug_rx_gpio_high 
-00c3 204021ba call rf_rx_agc_set 
-00c4 18002a08 force 8 ,radio_ctrl 
-00c5 18002a00 force 0 ,radio_ctrl 
-00c6 580aaada setarg 0x0aaada 
-00c7 67f18a0f store 3 ,0x8a0f 
-00c8 708a2540 jam 0x40 ,0x8a25 
-00c9 708a2610 jam 0x10 ,0x8a26 
-00ca 2000003c nop 60 
-00cb 708a01fb jam 0xfb ,0x8a01 
-00cc 708a25ff jam 0xff ,0x8a25 
-00cd 708a2630 jam 0x30 ,0x8a26 
-00ce 708a16fe jam 0xfe ,0x8a16 
-00cf 202021b4 branch rf_rx_enable + 14 
+010a 2040686f call rf_debug_rx_gpio_high 
+010b 204021ba call rf_rx_agc_set 
+010c 18002a08 force 8 ,radio_ctrl 
+010d 18002a00 force 0 ,radio_ctrl 
+010e 580aaada setarg 0x0aaada 
+010f 67f18a0f store 3 ,0x8a0f 
+0110 708a2540 jam 0x40 ,0x8a25 
+0111 708a2610 jam 0x10 ,0x8a26 
+0112 2000003c nop 60 
+0113 708a01fb jam 0xfb ,0x8a01 
+0114 708a25ff jam 0xff ,0x8a25 
+0115 708a2630 jam 0x30 ,0x8a26 
+0116 708a16fe jam 0xfe ,0x8a16 
+0117 202021b4 branch rf_rx_enable + 14 
 
 p_txon:
-00d0 580aaa7e setarg 0x0aaa7e 
-00d1 67f18a0f store 3 ,0x8a0f 
-00d2 2000003c nop 60 
-00d3 708a2500 jam 0x00 ,0x8a25 
-00d4 708a260d jam 0x0d ,0x8a26 
-00d5 708a16f6 jam 0xf6 ,0x8a16 
-00d6 20202203 branch txon + 7 
+0118 580aaa7e setarg 0x0aaa7e 
+0119 67f18a0f store 3 ,0x8a0f 
+011a 2000003c nop 60 
+011b 708a2500 jam 0x00 ,0x8a25 
+011c 708a260d jam 0x0d ,0x8a26 
+011d 708a16f6 jam 0xf6 ,0x8a16 
+011e 20202203 branch txon + 7 
 
 p_usb_rx_data:
-00d7 6ff08c25 fetch 1 ,core_usb_txbusy 
-00d8 c3830000 rtnbit1 usb_status_rxfull 
-00d9 20207993 branch usb_rx_data 
+011f 6ff08c25 fetch 1 ,core_usb_txbusy 
+0120 c3830000 rtnbit1 usb_status_rxfull 
+0121 20207993 branch usb_rx_data 
 
 p_usb_init:
-00da 20407396 call enable_authrom 
-00db 20407932 call usb_init_param 
-00dc 7007b730 jam 0x30 ,0x7b7 
-00dd 7007bc03 jam 0x03 ,0x7bc 
-00de 7007d83f jam 0x3f ,0x7d8 
-00df 58004697 setarg hid_keyboard_report 
-00e0 67e107a7 store 2 ,mem_hidreportdesc_kb 
-00e1 20207915 branch usb_init_restart 
+0122 20407396 call enable_authrom 
+0123 20407932 call usb_init_param 
+0124 7007b730 jam 0x30 ,0x7b7 
+0125 7007bc03 jam 0x03 ,0x7bc 
+0126 7007d83f jam 0x3f ,0x7d8 
+0127 58004698 setarg hid_keyboard_report 
+0128 67e107a7 store 2 ,mem_hidreportdesc_kb 
+0129 20207915 branch usb_init_restart 
 
 p_usb_rx:
-00e2 6fe08709 fetch 1 ,mem_usb_status 
-00e3 c4028000 rtnbit0 usb_status_rxready 
-00e4 20407989 call usb_rx_len 
-00e5 2841fe0d compare 13 ,temp ,0xff 
-00e6 2020f999 branch usb_rx_ep13 ,true 
-00e7 6fe0c696 fetch 1 ,mem_setreport_count 
-00e8 c00080f1 beq 1 ,p_setreport_next_page_data 
-00e9 d8a0086d arg mem_usb_setup ,contw 
-00ea 20407994 call usb_rx_read 
+012a 6fe08709 fetch 1 ,mem_usb_status 
+012b c4028000 rtnbit0 usb_status_rxready 
+012c 20407989 call usb_rx_len 
+012d 2841fe0d compare 13 ,temp ,0xff 
+012e 2020f999 branch usb_rx_ep13 ,true 
+012f 6fe0c696 fetch 1 ,mem_setreport_count 
+0130 c0008139 beq 1 ,p_setreport_next_page_data 
+0131 d8a0086d arg mem_usb_setup ,contw 
+0132 20407994 call usb_rx_read 
 
 p_usb_rx_next:
-00eb 6fe0870c fetch 1 ,mem_usb_read_len 
-00ec c0007986 beq 0x00 ,usb_rx_no_data 
-00ed c000f9b6 beq 0x01 ,usb_out_one_byte 
-00ee 1fe67c07 sub pdata ,7 ,null 
-00ef 20610000 rtn positive 
-00f0 202000ff branch p_usb_class_type 
+0133 6fe0870c fetch 1 ,mem_usb_read_len 
+0134 c0007986 beq 0x00 ,usb_rx_no_data 
+0135 c000f9b6 beq 0x01 ,usb_out_one_byte 
+0136 1fe67c07 sub pdata ,7 ,null 
+0137 20610000 rtn positive 
+0138 20200147 branch p_usb_class_type 
 
 p_setreport_next_page_data:
-00f1 d8a00875 arg mem_usb0_set_report_data ,contw 
-00f2 20407994 call usb_rx_read 
-00f3 70469600 jam 0 ,mem_setreport_count 
-00f4 6fe0870c fetch 1 ,mem_usb_read_len 
-00f5 c00080f9 beq 0x01 ,p_usb_out_one_byte 
-00f6 7008f701 jam 1 ,mem_usb0_get_set_report 
-00f7 708c1b03 jam 0x03 ,core_usb_clear_nak 
-00f8 20600000 rtn 
+0139 d8a00875 arg mem_usb0_set_report_data ,contw 
+013a 20407994 call usb_rx_read 
+013b 70469600 jam 0 ,mem_setreport_count 
+013c 6fe0870c fetch 1 ,mem_usb_read_len 
+013d c0008141 beq 0x01 ,p_usb_out_one_byte 
+013e 7008f701 jam 1 ,mem_usb0_get_set_report 
+013f 708c1b03 jam 0x03 ,core_usb_clear_nak 
+0140 20600000 rtn 
 
 p_usb_out_one_byte:
-00f9 6fe0886d fetch 1 ,mem_usb_setup 
-00fa c3838000 rtnbit1 7 
-00fb 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-00fc 20407b6a call usb_get_led_status 
-00fd 708c1b01 jam 0x1 ,core_usb_clear_nak 
-00fe 20600000 rtn 
+0141 6fe0886d fetch 1 ,mem_usb_setup 
+0142 c3838000 rtnbit1 7 
+0143 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0144 20407b6a call usb_get_led_status 
+0145 708c1b01 jam 0x1 ,core_usb_clear_nak 
+0146 20600000 rtn 
 
 p_usb_class_type:
-00ff 793f8023 set0 mark_isstr ,mark 
-0100 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0101 1fe17e80 and_into 0x80 ,pdata 
-0102 c04079ba beq in_device ,usb_in_device 
-0103 c0000105 beq out_device ,p_usb_out_device 
-0104 2020235a branch assert 
+0147 793f8023 set0 mark_isstr ,mark 
+0148 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0149 1fe17e80 and_into 0x80 ,pdata 
+014a c04079ba beq in_device ,usb_in_device 
+014b c000014d beq out_device ,p_usb_out_device 
+014c 2020235a branch assert 
 
 p_usb_out_device:
-0105 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0106 1ff1fe00 rshift4 pdata ,pdata 
-0107 1fe37e00 rshift pdata ,pdata 
-0108 1fe17e03 and_into 0x03 ,pdata 
-0109 c00079d6 beq standard_req ,usb_out_standard_req 
-010a c000810d beq class_req ,p_usb_out_class_req 
-010b c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-010c 2020235a branch assert 
+014d 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+014e 1ff1fe00 rshift4 pdata ,pdata 
+014f 1fe37e00 rshift pdata ,pdata 
+0150 1fe17e03 and_into 0x03 ,pdata 
+0151 c00079d6 beq standard_req ,usb_out_standard_req 
+0152 c0008155 beq class_req ,p_usb_out_class_req 
+0153 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+0154 2020235a branch assert 
 
 p_usb_out_class_req:
-010d 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-010e c0057b4b beq set_idle ,usb_set_idle 
-010f c0048112 beq set_report ,p_usb_set_report 
-0110 c005fb7c beq set_protocol ,usb_set_protocol_req 
-0111 202079e4 branch usb0_force_stall 
+0155 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+0156 c0057b4b beq set_idle ,usb_set_idle 
+0157 c004815a beq set_report ,p_usb_set_report 
+0158 c0058172 beq set_protocol ,p_usb_set_protocol_req 
+0159 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-0112 20003a98 nop 15000 
-0113 d8a00875 arg mem_usb0_set_report_data ,contw 
-0114 204000d7 call p_usb_rx_data 
-0115 7008f701 jam 1 ,mem_usb0_get_set_report 
-0116 20407b6e call usb_set_report_resume_judge 
-0117 6fe0c696 fetch 1 ,mem_setreport_count 
-0118 1fe0fe01 pincrease 1 
-0119 67e0c696 store 1 ,mem_setreport_count 
-011a 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-011b 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-011c 708c1b02 jam 0x2 ,core_usb_clear_nak 
-011d 20207b65 branch usb_set_report_next 
+015a 20003a98 nop 15000 
+015b d8a00875 arg mem_usb0_set_report_data ,contw 
+015c 2040011f call p_usb_rx_data 
+015d 7008f701 jam 1 ,mem_usb0_get_set_report 
+015e 20407b6e call usb_set_report_resume_judge 
+015f 6fe0c696 fetch 1 ,mem_setreport_count 
+0160 1fe0fe01 pincrease 1 
+0161 67e0c696 store 1 ,mem_setreport_count 
+0162 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0163 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+0164 708c1b02 jam 0x2 ,core_usb_clear_nak 
+0165 20207b65 branch usb_set_report_next 
+
+p_usb_set_idle:
+0166 7008fb01 jam 1 ,mem_usb_idle_flag 
+0167 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0168 67e088fc store 1 ,mem_usb_idle_rate 
+0169 6fe08871 fetch 1 ,mem_usb_setup_windex 
+016a 1fe67c01 sub pdata ,1 ,null 
+016b 2042816d call p_usb_clear_remote_wakeup_set0 ,zero 
+016c 20207b52 branch usb_set_idle_next 
+
+p_usb_clear_remote_wakeup_set0:
+016d 6fe0c697 fetch 1 ,mem_usb_enum_get_report_flag 
+016e 203a7b59 branch usb_clear_remote_wakeup_set0 ,blank 
+016f 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+0170 243a7b59 nbranch usb_clear_remote_wakeup_set0 ,blank 
+0171 20600000 rtn 
+
+p_usb_set_protocol_req:
+0172 6fe08873 fetch 1 ,mem_usb_setup_blength 
+0173 c08079e4 bne 0 ,usb0_force_stall 
+0174 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+0175 c0007b82 beq boot_protocol ,usb_set_boot_protocol 
+0176 c0008178 beq report_protocol ,p_usb_set_report_protocol 
+0177 202079e4 branch usb0_force_stall 
+
+p_usb_set_report_protocol:
+0178 7008fa01 jam 1 ,mem_usb_tx_mac_enable 
+0179 7008fe01 jam 1 ,mem_usb_set_protocol_status 
+017a 7008ff00 jam 0 ,mem_usb_set_protocol_value 
+017b 6fe08871 fetch 1 ,mem_usb_setup_windex 
+017c 1fe67c01 sub pdata ,1 ,null 
+017d 2042f984 call mem_usb_mac_enumeration_enable ,zero 
+017e 202079e9 branch usb0_reply_zerolen 
+
+p_usb0_request_get_descriptor:
+017f 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0180 c0008183 beq dsc_device ,p_dsc_device_info 
+0181 c0110185 beq dsc_hid_report ,p_dsc_hid_report_info 
+0182 20207a03 branch usb0_request_get_descriptor + 2 
+
+p_dsc_device_info:
+0183 70469700 jam 0 ,mem_usb_enum_get_report_flag 
+0184 20207a14 branch dsc_device_info 
+
+p_dsc_hid_report_info:
+0185 6fe10871 fetch 2 ,mem_usb_setup_windex 
+0186 c000818a beq 1 ,p_dsc_hid_report_info0 
+0187 70469701 jam 1 ,mem_usb_enum_get_report_flag 
+0188 6a2107a7 fetchr rega ,2 ,mem_hidreportdesc_kb 
+0189 20207b89 branch usb0_respond_length 
+
+p_dsc_hid_report_info0:
+018a 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+018b 205a7984 call usb_windows_enumeration_enable ,blank 
+018c 70090001 jam usb_got_report_req ,mem_usb_state 
+018d 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
+018e 20207b89 branch usb0_respond_length 
 
 p_usb_tx:
-011e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-011f 207a0000 rtn blank 
-0120 6ff08c25 fetch 1 ,core_usb_txbusy 
-0121 1fe17e0f and_into 0x0f ,pdata 
-0122 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-0123 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0124 203a7c06 branch usb_tx_fifo_release ,blank 
-0125 6fe08900 fetch 1 ,mem_usb_state 
-0126 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-0127 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-0128 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-0129 243a7c06 nbranch usb_tx_fifo_release ,blank 
-012a 2040012c call p_usb_tx_data_ep1 
-012b 20200130 branch p_usb_tx_data_ep2 
+018f 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0190 207a0000 rtn blank 
+0191 6ff08c25 fetch 1 ,core_usb_txbusy 
+0192 1fe17e0f and_into 0x0f ,pdata 
+0193 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+0194 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0195 203a7c06 branch usb_tx_fifo_release ,blank 
+0196 6fe08900 fetch 1 ,mem_usb_state 
+0197 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+0198 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+0199 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+019a 243a7c06 nbranch usb_tx_fifo_release ,blank 
+019b 2040019d call p_usb_tx_data_ep1 
+019c 202001a1 branch p_usb_tx_data_ep2 
 
 p_usb_tx_data_ep1:
-012c 6ff08c25 fetch 1 ,core_usb_txbusy 
-012d 1fe17e0f and_into 0x0f ,pdata 
-012e 247a0000 nrtn blank 
-012f 20207bf0 branch usb_tx_data_ep1 + 2 
+019d 6ff08c25 fetch 1 ,core_usb_txbusy 
+019e 1fe17e0f and_into 0x0f ,pdata 
+019f 247a0000 nrtn blank 
+01a0 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-0130 6ff08c25 fetch 1 ,core_usb_txbusy 
-0131 1fe17e0f and_into 0x0f ,pdata 
-0132 247a0000 nrtn blank 
-0133 20207bfb branch usb_tx_data_ep2 + 2 
+01a1 6ff08c25 fetch 1 ,core_usb_txbusy 
+01a2 1fe17e0f and_into 0x0f ,pdata 
+01a3 247a0000 nrtn blank 
+01a4 20207bfb branch usb_tx_data_ep2 + 2 
 
 p_rx_dcoc:
-0134 20758000 rtn wake 
-0135 20402160 call set_sync_on 
-0136 d8400027 arg 39 ,temp 
-0137 2040216f call set_freq_rx 
-0138 204021a6 call rf_rx_enable 
-0139 708a257f jam 0x7f ,0x8a25 
-013a 708a301a jam 0x1a ,0x8a30 
-013b 708a3178 jam 0x78 ,0x8a31 
-013c 708a8fb2 jam 0xb2 ,0x8a8f 
-013d 708ac200 jam 0 ,0x8ac2 
-013e 708ac300 jam 0 ,0x8ac3 
-013f d8e00006 arg 6 ,queue 
-0140 20400151 call p_rx_dcoc_avg 
-0141 2a2ffe0d isolate1 13 ,rega 
-0142 2040211d call qset_start 
-0143 2a4ffe0d isolate1 13 ,regb 
-0144 2040211e call qset_p 
-0145 d8e00005 arg 5 ,queue 
+01a5 20758000 rtn wake 
+01a6 20402160 call set_sync_on 
+01a7 d8400027 arg 39 ,temp 
+01a8 2040216f call set_freq_rx 
+01a9 204021a6 call rf_rx_enable 
+01aa 708a257f jam 0x7f ,0x8a25 
+01ab 708a301a jam 0x1a ,0x8a30 
+01ac 708a3178 jam 0x78 ,0x8a31 
+01ad 708a8fb2 jam 0xb2 ,0x8a8f 
+01ae 708ac200 jam 0 ,0x8ac2 
+01af 708ac300 jam 0 ,0x8ac3 
+01b0 d8e00006 arg 6 ,queue 
+01b1 204001c2 call p_rx_dcoc_avg 
+01b2 2a2ffe0d isolate1 13 ,rega 
+01b3 2040211d call qset_start 
+01b4 2a4ffe0d isolate1 13 ,regb 
+01b5 2040211e call qset_p 
+01b6 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0146 2040211c call qset1_p 
-0147 2040211e call qset_p 
-0148 20400151 call p_rx_dcoc_avg 
-0149 d8a08ac2 arg 0x8ac2 ,contw 
-014a 1a31fe00 rshift4 rega ,pdata 
-014b 20402117 call qsetxor 
-014c 1a51fe00 rshift4 regb ,pdata 
-014d 20402117 call qsetxor 
-014e 18e08fff increase -1 ,queue 
-014f 20210146 branch p_rx_dcoc_loop2 ,positive 
-0150 2020214f branch rx_dcoc_loop2 + 10 
+01b7 2040211c call qset1_p 
+01b8 2040211e call qset_p 
+01b9 204001c2 call p_rx_dcoc_avg 
+01ba d8a08ac2 arg 0x8ac2 ,contw 
+01bb 1a31fe00 rshift4 rega ,pdata 
+01bc 20402117 call qsetxor 
+01bd 1a51fe00 rshift4 regb ,pdata 
+01be 20402117 call qsetxor 
+01bf 18e08fff increase -1 ,queue 
+01c0 202101b7 branch p_rx_dcoc_loop2 ,positive 
+01c1 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0151 2000003c nop 60 
-0152 58000f00 setarg mem_dcoc_buf 
-0153 67f10982 store 2 ,0x8982 
-0154 58000ff0 setarg mem_dcoc_buf_end 
-0155 67f10984 store 2 ,0x8984 
-0156 70898109 jam 0x9 ,0x8981 
-0157 70898103 jam 0x3 ,0x8981 
-0158 70898006 jam 0x6 ,0x8980 
-0159 2000003c nop 60 
-015a da200000 arg 0 ,rega 
-015b da400000 arg 0 ,regb 
-015c df200010 arg 16 ,loopcnt 
-015d d8c00f00 arg mem_dcoc_buf ,contr 
-015e 2020212d branch rx_dcoc_loop 
+01c2 2000003c nop 60 
+01c3 58000f00 setarg mem_dcoc_buf 
+01c4 67f10982 store 2 ,0x8982 
+01c5 58000ff0 setarg mem_dcoc_buf_end 
+01c6 67f10984 store 2 ,0x8984 
+01c7 70898109 jam 0x9 ,0x8981 
+01c8 70898103 jam 0x3 ,0x8981 
+01c9 70898006 jam 0x6 ,0x8980 
+01ca 2000003c nop 60 
+01cb da200000 arg 0 ,rega 
+01cc da400000 arg 0 ,regb 
+01cd df200010 arg 16 ,loopcnt 
+01ce d8c00f00 arg mem_dcoc_buf ,contr 
+01cf 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-015f 20758000 rtn wake 
-0160 20202272 branch rfpll_aac_ghpc + 1 
+01d0 20758000 rtn wake 
+01d1 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0161 20600000 rtn 
+01d2 20600000 rtn 
 
 p_sadc_calibration:
-0162 20758000 rtn wake 
-0163 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0164 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0165 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0166 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0167 67f080cd store 1 ,core_sadc_clkdiv 
-0168 20000bb8 nop 3000 
-0169 2040018a call p_sadc_read 
-016a 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-016b 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-016c df200008 arg 8 ,loopcnt 
-016d 20406f58 call sadc_cal_read + 1 
-016e 6fe0c419 fetch 1 ,mem_spi_write_addr 
-016f 67e0c433 store 1 ,mem_adc_cal_c7 
-0170 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0171 20600000 rtn 
+01d3 20758000 rtn wake 
+01d4 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01d5 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+01d6 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01d7 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01d8 67f080cd store 1 ,core_sadc_clkdiv 
+01d9 20000bb8 nop 3000 
+01da 204001fb call p_sadc_read 
+01db 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01dc 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01dd df200008 arg 8 ,loopcnt 
+01de 20406f58 call sadc_cal_read + 1 
+01df 6fe0c419 fetch 1 ,mem_spi_write_addr 
+01e0 67e0c433 store 1 ,mem_adc_cal_c7 
+01e1 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01e2 20600000 rtn 
 
 p_enable_adc:
-0172 20400180 call p_sadc_cal_write 
-0173 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0174 793ffe07 set0 7 ,pdata 
-0175 67f08a09 store 1 ,core_gpadc_cfg1 
-0176 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0177 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0178 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0179 20406f90 call sadc_channel 
-017a 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-017b 67f080cd store 1 ,core_sadc_clkdiv 
-017c 20000bb8 nop 3000 
-017d 2040018a call p_sadc_read 
-017e 7080cd00 jam 0 ,core_sadc_clkdiv 
-017f 20206fa1 branch sadc_dma 
+01e3 204001f1 call p_sadc_cal_write 
+01e4 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+01e5 793ffe07 set0 7 ,pdata 
+01e6 67f08a09 store 1 ,core_gpadc_cfg1 
+01e7 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01e8 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01e9 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01ea 20406f90 call sadc_channel 
+01eb 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01ec 67f080cd store 1 ,core_sadc_clkdiv 
+01ed 20000bb8 nop 3000 
+01ee 204001fb call p_sadc_read 
+01ef 7080cd00 jam 0 ,core_sadc_clkdiv 
+01f0 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-0180 6ff080cc fetch 1 ,core_sadc_ctrl 
-0181 79207e01 set1 1 ,pdata 
-0182 67f080cc store 1 ,core_sadc_ctrl 
-0183 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0184 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-0185 67e0c419 store 1 ,mem_spi_write_addr 
-0186 df200008 arg 8 ,loopcnt 
-0187 20406f67 call sadc_cal_write + 4 
-0188 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0189 20600000 rtn 
+01f1 6ff080cc fetch 1 ,core_sadc_ctrl 
+01f2 79207e01 set1 1 ,pdata 
+01f3 67f080cc store 1 ,core_sadc_ctrl 
+01f4 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01f5 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+01f6 67e0c419 store 1 ,mem_spi_write_addr 
+01f7 df200008 arg 8 ,loopcnt 
+01f8 20406f67 call sadc_cal_write + 4 
+01f9 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01fa 20600000 rtn 
 
 p_sadc_read:
-018a 7080cc03 jam 0x03 ,core_sadc_ctrl 
+01fb 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-018b 6ff08129 fetch 1 ,core_perf_status 
-018c c302818b bbit0 saradc_done ,p_sadc_read_wait 
-018d 68590164 fetcht 2 ,core_sadc_data 
-018e 6049440a storet 2 ,mem_adc_current_value 
-018f 7080cc00 jam 0x00 ,core_sadc_ctrl 
-0190 20600000 rtn 
+01fc 6ff08129 fetch 1 ,core_perf_status 
+01fd c30281fc bbit0 saradc_done ,p_sadc_read_wait 
+01fe 68590164 fetcht 2 ,core_sadc_data 
+01ff 6049440a storet 2 ,mem_adc_current_value 
+0200 7080cc00 jam 0x00 ,core_sadc_ctrl 
+0201 20600000 rtn 
 
 p_set_lemode:
-0191 708a8211 jam 0x11 ,0x8a82 
-0192 708a8d12 jam 0x12 ,0x8a8d 
-0193 708a8e0a jam 0x0a ,0x8a8e 
-0194 6fe0c099 fetch 1 ,mem_fcomp_div 
-0195 c00801aa beq xtal_16m ,p_set_lemode_2m_16m 
-0196 58005762 setarg 0x5762 
-0197 67f10907 store 2 ,0x8907 
+0202 708a8211 jam 0x11 ,0x8a82 
+0203 708a8d12 jam 0x12 ,0x8a8d 
+0204 708a8e0a jam 0x0a ,0x8a8e 
+0205 6fe0c099 fetch 1 ,mem_fcomp_div 
+0206 c008021b beq xtal_16m ,p_set_lemode_2m_16m 
+0207 58005762 setarg 0x5762 
+0208 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-0198 70890103 jam 3 ,0x8901 
-0199 70893003 jam 3 ,0x8930 
-019a c6168000 rtnmark1 mark_ble_2m 
-019b 70890101 jam 1 ,0x8901 
-019c 708a8207 jam 0x07 ,0x8a82 
-019d 708a8d44 jam 0x44 ,0x8a8d 
-019e 708a8e0a jam 0x0a ,0x8a8e 
-019f 6fe0c099 fetch 1 ,mem_fcomp_div 
-01a0 c00801a7 beq xtal_16m ,p_set_lemode_1m_16m 
-01a1 58002bb1 setarg 0x2bb1 
-01a2 67f10907 store 2 ,0x8907 
+0209 70890103 jam 3 ,0x8901 
+020a 70893003 jam 3 ,0x8930 
+020b c6168000 rtnmark1 mark_ble_2m 
+020c 70890101 jam 1 ,0x8901 
+020d 708a8207 jam 0x07 ,0x8a82 
+020e 708a8d44 jam 0x44 ,0x8a8d 
+020f 708a8e0a jam 0x0a ,0x8a8e 
+0210 6fe0c099 fetch 1 ,mem_fcomp_div 
+0211 c0080218 beq xtal_16m ,p_set_lemode_1m_16m 
+0212 58002bb1 setarg 0x2bb1 
+0213 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-01a3 c6978000 rtnmark0 mark_ble_lr 
-01a4 70893024 jam 0x24 ,0x8930 
-01a5 70890105 jam 5 ,0x8901 
-01a6 20600000 rtn 
+0214 c6978000 rtnmark0 mark_ble_lr 
+0215 70893024 jam 0x24 ,0x8930 
+0216 70890105 jam 5 ,0x8901 
+0217 20600000 rtn 
 
 p_set_lemode_1m_16m:
-01a7 58004189 setarg 0x4189 
-01a8 67f10907 store 2 ,0x8907 
-01a9 202001a3 branch p_set_lemode_1m 
+0218 58004189 setarg 0x4189 
+0219 67f10907 store 2 ,0x8907 
+021a 20200214 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-01aa 58008312 setarg 0x8312 
-01ab 67f10907 store 2 ,0x8907 
-01ac 20200198 branch p_set_lemode_2m 
+021b 58008312 setarg 0x8312 
+021c 67f10907 store 2 ,0x8907 
+021d 20200209 branch p_set_lemode_2m 
 
 p_le_parse:
-01ad 6fe0c334 fetch 1 ,mem_le_packet_llid 
-01ae c1000000 rtneq llid_reserved 
-01af c001b04a beq llid_le_ll ,le_parse_ll 
-01b0 202028e1 branch le_parse_l2cap 
+021e 6fe0c334 fetch 1 ,mem_le_packet_llid 
+021f c1000000 rtneq llid_reserved 
+0220 c001b04a beq llid_le_ll ,le_parse_ll 
+0221 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-01b1 793f8030 set0 mark_ble_crc_fail ,mark 
-01b2 20202af6 branch le_init_adv + 1 
+0222 793f8030 set0 mark_ble_crc_fail ,mark 
+0223 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-01b3 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01b4 c0553329 beq datatype_bind ,g24_bind_first_step 
-01b5 c02ab33a beq datatype_config ,g24_bind_second_step 
-01b6 c01101b9 beq datatype_ok ,p_g24_bind_third_step 
-01b7 c07fb59b beq datatype_attemp ,g24_data_attemp 
-01b8 20600000 rtn 
+0224 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0225 c0553329 beq datatype_bind ,g24_bind_first_step 
+0226 c02ab33a beq datatype_config ,g24_bind_second_step 
+0227 c011022a beq datatype_ok ,p_g24_bind_third_step 
+0228 c07fb59b beq datatype_attemp ,g24_data_attemp 
+0229 20600000 rtn 
 
 p_g24_bind_third_step:
-01b9 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-01ba 203a01bf branch p_g24_bind_third_step_skip ,blank 
-01bb 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-01bc 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-01bd 98467c00 isub temp ,null 
-01be 24628000 nrtn zero 
+022a 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+022b 203a0230 branch p_g24_bind_third_step_skip ,blank 
+022c 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+022d 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+022e 98467c00 isub temp ,null 
+022f 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-01bf 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-01c0 c00081c3 beq datatype_device1 ,p_g24_bind_third_step_device1 
-01c1 c00101cb beq datatype_device2 ,p_g24_bind_third_step_device2 
-01c2 20600000 rtn 
+0230 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0231 c0008234 beq datatype_device1 ,p_g24_bind_third_step_device1 
+0232 c001023c beq datatype_device2 ,p_g24_bind_third_step_device2 
+0233 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-01c3 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-01c4 247a0000 nrtn blank 
-01c5 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-01c6 c00101c8 beq 2 ,p_g24_bind_dvc1_step_success 
-01c7 20600000 rtn 
+0234 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0235 247a0000 nrtn blank 
+0236 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0237 c0010239 beq 2 ,p_g24_bind_dvc1_step_success 
+0238 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-01c8 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-01c9 2040338d call g24_binding_dvc1_living 
-01ca 2020336b branch g24_bind_dvc1_step_success + 1 
+0239 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+023a 2040338d call g24_binding_dvc1_living 
+023b 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-01cb 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-01cc 247a0000 nrtn blank 
-01cd 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-01ce c08001d0 bne 0 ,p_g24_bind_dvc2_step_success 
-01cf 20600000 rtn 
+023c 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+023d 247a0000 nrtn blank 
+023e 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+023f c0800241 bne 0 ,p_g24_bind_dvc2_step_success 
+0240 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-01d0 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-01d1 20403393 call g24_binding_dvc2_living 
-01d2 20203378 branch g24_bind_dvc2_step_success + 1 
+0241 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0242 20403393 call g24_binding_dvc2_living 
+0243 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-01d3 6fe0c616 fetch 1 ,mem_24g_work_mode 
-01d4 c1000000 rtneq dongle_work 
-01d5 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-01d6 247a0000 nrtn blank 
-01d7 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-01d8 247a0000 nrtn blank 
-01d9 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-01da 207a0000 rtn blank 
-01db 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-01dc c1800000 rtnne 0 
-01dd 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-01de c1800000 rtnne 0 
-01df 20203436 branch g24_mode_switch_bind_search + 9 
+0244 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0245 c1000000 rtneq dongle_work 
+0246 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+0247 247a0000 nrtn blank 
+0248 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0249 247a0000 nrtn blank 
+024a 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+024b 207a0000 rtn blank 
+024c 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+024d c1800000 rtnne 0 
+024e 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+024f c1800000 rtnne 0 
+0250 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-01e0 6fe0c616 fetch 1 ,mem_24g_work_mode 
-01e1 c1808000 rtnne dongle_bind 
-01e2 204001e4 call p_g24_bind_init 
-01e3 2020346d branch g24_bind_mode_auto + 4 
+0251 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0252 c1808000 rtnne dongle_bind 
+0253 20400255 call p_g24_bind_init 
+0254 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-01e4 6fe0c615 fetch 1 ,mem_24g_mode_init 
-01e5 c3808000 rtnbit1 dongle_bind 
-01e6 79207e01 set1 dongle_bind ,pdata 
-01e7 67e0c615 store 1 ,mem_24g_mode_init 
-01e8 58000000 setarg 0 
-01e9 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-01ea 20203307 branch g24_bind_init + 8 
+0255 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0256 c3808000 rtnbit1 dongle_bind 
+0257 79207e01 set1 dongle_bind ,pdata 
+0258 67e0c615 store 1 ,mem_24g_mode_init 
+0259 58000000 setarg 0 
+025a 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+025b 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-01eb 204001ed call p_wdt_kick 
-01ec 20204868 branch dongle_usb_dispatch + 1 
+025c 2040025e call p_wdt_kick 
+025d 20204868 branch dongle_usb_dispatch + 1 
 
 p_wdt_kick:
-01ed 58000010 setarg 16 
-01ee 202070c8 branch wdt_init_config 
+025e 58000010 setarg 16 
+025f 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-01ef 204047c3 call dongle_default_init + 1 
-01f0 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-01f1 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-01f2 7045ca00 jam off ,mem_24g_disable_fec1 
-01f3 20403281 call g24_enable_1m 
-01f4 6fe0c669 fetch 1 ,mem_dg_sys_config 
-01f5 c4000000 rtnbit0 dg_enable_new_revision 
-01f6 7045ca01 jam on ,mem_24g_disable_fec1 
-01f7 20203284 branch g24_enable_2m 
+0260 204047c3 call dongle_default_init + 1 
+0261 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0262 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0263 7045ca00 jam off ,mem_24g_disable_fec1 
+0264 20403281 call g24_enable_1m 
+0265 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0266 c4000000 rtnbit0 dg_enable_new_revision 
+0267 7045ca01 jam on ,mem_24g_disable_fec1 
+0268 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-01f8 6fe0c669 fetch 1 ,mem_dg_sys_config 
-01f9 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-01fa 7837fc00 enable user3 
-01fb 20000018 nop 24 
-01fc 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-01fd 79207e00 set1 bit_ack_24g ,pdata 
-01fe 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-01ff 204033a5 call g24_ackpayload_prep 
-0200 204031e5 call g24_transmit_prep 
-0201 20203195 branch g24_transmit 
+0269 6fe0c669 fetch 1 ,mem_dg_sys_config 
+026a c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+026b 7837fc00 enable user3 
+026c 20000018 nop 24 
+026d 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+026e 79207e00 set1 bit_ack_24g ,pdata 
+026f 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0270 204033a5 call g24_ackpayload_prep 
+0271 204031e5 call g24_transmit_prep 
+0272 20203195 branch g24_transmit 
               org 0x2000
 
 start:
@@ -31247,6 +31386,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 
 
@@ -31883,6 +32026,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: output/ramcode.rom
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/output/ramcode.rom	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/output/ramcode.rom	(working copy)
@@ -1,30 +1,35 @@
-c2840013
-c000001d
-c0010023
-c008802c
-c00a0191
-c00a80c2
-c00c00d0
-c00c807c
-c00d003a
-c01b81ef
-c01c0095
-c01c8091
-c01e81eb
-c062808e
-c06d0162
-c06e0172
-c07f00da
-c07f80e2
+c2840015
+c0000022
+c0010059
+c0088062
+c00a0202
+c00a810a
+c00c0118
+c00c80c9
+c00d0081
+c00e0070
+c01b8260
+c01c00dd
+c01c80d9
+c01e825c
+c06280d6
+c06d01d3
+c06e01e3
+c07e8028
+c07f0122
+c07f812a
 2020235a
-c00000ff
-c003011e
-c01c81ad
-c02681b1
-c03781f8
-c04101b3
-c04401d3
-c04501e0
+c0000147
+c001017f
+c0018166
+c003018f
+c01c821e
+c0268222
+c0378269
+c0410224
+c0440244
+c0450251
+c045803a
 c17f8000
 2020235a
 20800000
@@ -33,6 +38,55 @@
 204023e1
 20007530
 20202003
+6ff08c22
+2feffe03
+2040f915
+6ff10c22
+67f10c22
+67e10709
+20407973
+204079a2
+20407b96
+20407bdf
+20400034
+2020796b
+6ff08c25
+c2800034
+c2808034
+c2810034
+c2818034
+20600000
+6fe0c616
+c1838000
+20403476
+204034ae
+204033f1
+2437b3be
+20403506
+2042b3ad
+6fe0c60a
+205a344d
+70461600
+6fe0c615
+79207e00
+67e0c615
+204034ec
+6fe0c611
+1fe67c02
+2442b504
+204033be
+204033fe
+20403506
+2022b4a7
+6fe2458f
+684a4634
+98467c00
+2022b4aa
+6fe2458f
+684a4630
+98467c00
+2022b4ac
+20600000
 20407552
 20407448
 20402a45
@@ -41,7 +95,7 @@
 20402018
 2040310f
 2040248c
-20200023
+20200059
 708a0f60
 708a10aa
 708a127a
@@ -56,19 +110,39 @@
 708a1260
 708a23dd
 20600000
+708a2030
+708a23dd
+204021d0
+58000000
+67e10670
+d8403a98
+6fe10670
+1fe0fe01
+67e10670
+98467c00
+20216ca3
+6ff08a7c
+c3000076
+2020229a
+37d98200
+70813c58
+202023e2
+708a8840
 7089460d
 70896f10
+708a13cd
 708a0610
 708a844a
 708a8540
 708a16fe
-20400097
+204000df
 6fe0c436
 205a70d7
+2455807e
 37d98200
 70813b5f
 6fe0c099
-c0080071
+c00800be
 6fe0c438
 1fe1fe04
 67f08a02
@@ -79,18 +153,21 @@
 67f18a73
 708a8660
 708a8b3b
-20400063
+204000b0
 70804300
 70804205
 58557474
 67f18968
 7089606e
-20400134
-2040015f
-2040005d
+204001a5
+204001d0
+204000aa
 7041480c
 20406f4e
-20200161
+708a3006
+708a32dd
+708a88e0
+202001d2
 20758000
 37d98200
 6fe0c11c
@@ -98,7 +175,7 @@
 37d98200
 20600000
 6fe0c099
-c00c0069
+c00c00b6
 6fe0c438
 1fe1fe06
 67f08a02
@@ -121,13 +198,8 @@
 67f18a73
 708a762a
 70890204
-2020004f
+20200099
 20202217
-708a1425
-58a93f3f
-67f18a60
-708a631f
-20600000
 708a1417
 58250300
 67f18a60
@@ -149,7 +221,7 @@
 20206b45
 da401f00
 202047f1
-203580be
+20358106
 6fe2020d
 207a0000
 37d98200
@@ -191,7 +263,7 @@
 6fe1415b
 207a0000
 67e1020f
-202000a8
+202000f0
 2040686f
 204021ba
 18002a08
@@ -221,7 +293,7 @@
 7007b730
 7007bc03
 7007d83f
-58004697
+58004698
 67e107a7
 20207915
 6fe08709
@@ -230,7 +302,7 @@
 2841fe0d
 2020f999
 6fe0c696
-c00080f1
+c0008139
 d8a0086d
 20407994
 6fe0870c
@@ -238,12 +310,12 @@
 c000f9b6
 1fe67c07
 20610000
-202000ff
+20200147
 d8a00875
 20407994
 70469600
 6fe0870c
-c00080f9
+c0008141
 7008f701
 708c1b03
 20600000
@@ -257,24 +329,24 @@
 6fe0886d
 1fe17e80
 c04079ba
-c0000105
+c000014d
 2020235a
 6fe0886d
 1ff1fe00
 1fe37e00
 1fe17e03
 c00079d6
-c000810d
+c0008155
 c00179e3
 2020235a
 6fe0886e
 c0057b4b
-c0048112
-c005fb7c
+c004815a
+c0058172
 202079e4
 20003a98
 d8a00875
-204000d7
+2040011f
 7008f701
 20407b6e
 6fe0c696
@@ -284,6 +356,47 @@
 67e108f5
 708c1b02
 20207b65
+7008fb01
+6fe08870
+67e088fc
+6fe08871
+1fe67c01
+2042816d
+20207b52
+6fe0c697
+203a7b59
+6fe08902
+243a7b59
+20600000
+6fe08873
+c08079e4
+6fe0886f
+c0007b82
+c0008178
+202079e4
+7008fa01
+7008fe01
+7008ff00
+6fe08871
+1fe67c01
+2042f984
+202079e9
+6fe08870
+c0008183
+c0110185
+20207a03
+70469700
+20207a14
+6fe10871
+c000818a
+70469701
+6a2107a7
+20207b89
+6fe088fa
+205a7984
+70090001
+6a2107a9
+20207b89
 6fe0890d
 207a0000
 6ff08c25
@@ -296,8 +409,8 @@
 c0817c06
 6fe08902
 243a7c06
-2040012c
-20200130
+2040019d
+202001a1
 6ff08c25
 1fe17e0f
 247a0000
@@ -318,7 +431,7 @@
 708ac200
 708ac300
 d8e00006
-20400151
+204001c2
 2a2ffe0d
 2040211d
 2a4ffe0d
@@ -326,14 +439,14 @@
 d8e00005
 2040211c
 2040211e
-20400151
+204001c2
 d8a08ac2
 1a31fe00
 20402117
 1a51fe00
 20402117
 18e08fff
-20210146
+202101b7
 2020214f
 2000003c
 58000f00
@@ -359,7 +472,7 @@
 6fe0c409
 67f080cd
 20000bb8
-2040018a
+204001fb
 708a08c1
 6a40c419
 df200008
@@ -368,7 +481,7 @@
 67e0c433
 6240c419
 20600000
-20400180
+204001f1
 6ff08a09
 793ffe07
 67f08a09
@@ -379,7 +492,7 @@
 6fe0c409
 67f080cd
 20000bb8
-2040018a
+204001fb
 7080cd00
 20206fa1
 6ff080cc
@@ -394,7 +507,7 @@
 20600000
 7080cc03
 6ff08129
-c302818b
+c30281fc
 68590164
 6049440a
 7080cc00
@@ -403,7 +516,7 @@
 708a8d12
 708a8e0a
 6fe0c099
-c00801aa
+c008021b
 58005762
 67f10907
 70890103
@@ -414,7 +527,7 @@
 708a8d44
 708a8e0a
 6fe0c099
-c00801a7
+c0080218
 58002bb1
 67f10907
 c6978000
@@ -423,10 +536,10 @@
 20600000
 58004189
 67f10907
-202001a3
+20200214
 58008312
 67f10907
-20200198
+20200209
 6fe0c334
 c1000000
 c001b04a
@@ -436,23 +549,23 @@
 6fe0c5ea
 c0553329
 c02ab33a
-c01101b9
+c011022a
 c07fb59b
 20600000
 6fe0c5ae
-203a01bf
+203a0230
 6fe245ec
 684a462c
 98467c00
 24628000
 6fe0c5eb
-c00081c3
-c00101cb
+c0008234
+c001023c
 20600000
 6fe0c5de
 247a0000
 6fe0c5d3
-c00101c8
+c0010239
 20600000
 7045de01
 2040338d
@@ -460,7 +573,7 @@
 6fe0c5df
 247a0000
 6fe0c5d4
-c08001d0
+c0800241
 20600000
 7045df01
 20403393
@@ -480,7 +593,7 @@
 20203436
 6fe0c616
 c1808000
-204001e4
+20400255
 2020346d
 6fe0c615
 c3808000
@@ -489,7 +602,7 @@
 58000000
 67e1c5d3
 20203307
-204001ed
+2040025e
 20204868
 58000010
 202070c8
Index: output/sched.rom
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/output/sched.rom	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/output/sched.rom	(working copy)
@@ -2,7 +2,7 @@
 05   #mem_patch00
 00   #mem_patch01
 32   #mem_patch02
-07   #mem_patch03
+17   #mem_patch03
 00   #mem_patch04
 00   #mem_patch05
 80   #mem_patch06
@@ -30,8 +30,8 @@
 00   #mem_patch1c
 00   #mem_patch1d
 00   #mem_patch1e
-c0   #mem_patch1f
-41   #mem_patch20
+e0   #mem_patch1f
+4d   #mem_patch20
 00   #mem_patch21
 00   #mem_patch22
 00   #mem_patch23
@@ -48,7 +48,7 @@
 00   #mem_patch2e
 00   #mem_patch2f
 04   #mem_patch30
-05   #mem_patch31
+0d   #mem_patch31
 00   #mem_patch32
 00   #mem_patch33
 00   #mem_patch34
@@ -98,10 +98,10 @@
 '2.4G Receiver
 
 #pair tx
-mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm 
+mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm
 
 #rf config
-mem_24g_lap:36 27 83 74 12 23#low 4B used for 24g rxaddr
+mem_24g_lap:36 27 86 74 12 23#low 4B used for 24g rxaddr
 #mem_24g_tx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_rx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_no_ack:00#no ack
@@ -131,8 +131,8 @@
 
 
 
-#mem_rf_debug_rx_gpio:87
-#mem_rf_debug_tx_gpio:88
+# mem_rf_debug_rx_gpio:8c
+#mem_rf_debug_tx_gpio:8c
 #uart config
 #mem_device_uart_tx_gpio:09	#08
 #mem_device_uart_rx_gpio:ff
@@ -150,6 +150,8 @@
 91 03 95 06 75 08 15 00 25 FF 05 
 07 19 00 29 FF 81 00 C0 
 
+#
+#baud rate #@115200
 
 mem_system_clk:0c
 mem_lpm_xtalcnt:35 3f 64
Index: program/g24_protocol_stack/24g_transmitter.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/program/g24_protocol_stack/24g_transmitter.prog	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/program/g24_protocol_stack/24g_transmitter.prog	(working copy)
@@ -42,7 +42,7 @@
 	call power_ctrl_start
 	fetch 1,mem_device_option
 	beq DVC_OP_MOUSE,mouse_24g_transmit_start
-g24_transmit_start_next:	
+g24_transmit_start_next:
 	fetch 8,mem_24g_long_sleep_set
 	store 8,mem_24g_enter_hibernate
 	fetch 2,mem_24g_long_sleep_param_update_timer_init
@@ -69,7 +69,7 @@
 	call clk2lpo
 	storet 4,mem_sleep_counter
 	branch lpm_sleep
-	
+
 /****************************g24 transmitter data prep start********************************/
 
 g24_txdata_prep:
@@ -85,7 +85,7 @@
 	fetch 7,mem_24g_txbuf+1	//mouse data
 	rtn blank
 	branch enable_user	// retransmit
-	
+
 g24_accumulate_data:
 	jam 0,mem_24g_abort_pac
 	add rega,1,pdata
@@ -96,7 +96,7 @@
 	copy rega,loopcnt
 	branch memcpy
 
-g24_transmit_rf_ctrl_clear:	
+g24_transmit_rf_ctrl_clear:
 	fetch 1,mem_24g_data_type
 	and_into bits_data,pdata
 	store 1,mem_24g_data_type
@@ -158,28 +158,28 @@
 	bpatchx patch33_2,mem_patch33
 	fetch 1,mem_device_option
 	beq DVC_OP_MOUSE,mouse_g24_retransmit
-g24_retransmit0:	
+g24_retransmit0:
 	fetch 1,mem_24g_abort_pac
 	nrtn blank
 	fetch 2,mem_24g_txfail_cnt
 	increase 1,pdata
-	store 2,mem_24g_txfail_cnt	
+	store 2,mem_24g_txfail_cnt
 	fetch 1,mem_24g_txfail_cnt+1
 	bbit1 4,g24_tx_attempt_fail
 	call g24_transmit_hop_process
 	fetch 2,mem_24g_retransmit
 	increase 1,pdata
-	store 2,mem_24g_retransmit	
+	store 2,mem_24g_retransmit
 	branch g24_transmit_loop
 
 g24_ackpayload_parse:
 	bpatchx patch33_3,mem_patch33
 	call g24_read_len_pid_crc
-	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	fetch 1,mem_24g_rxdata_length	//ack payload length
 	rtn blank
 	iforce loopcnt
 	arg mem_24g_rxbuf+2,contr
-	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	arg mem_24g_rxpayload,contw	//ack payload buffer
 	branch memcpy
 
 
@@ -188,7 +188,7 @@
 	setarg 0
 	store 2,mem_24g_txfail_cnt
 	jam 1,mem_24g_attempt_fail_flag
-g24_stop_24g_mode:	
+g24_stop_24g_mode:
 	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
 	branch ui_ipc_send_event
 
@@ -213,14 +213,14 @@
 	fetch 1,mem_24g_retry
 	beq 6,g24_hop_ch_disable
 	beq 12,g24_hop_ch_disable
-	rtn	
+	rtn
 
 
 g24_transmit_hop_process_4ms:
 	fetch 1,mem_24g_retry
 	beq 3,g24_hop_ch_disable
 	beq 6,g24_hop_ch_disable
-	rtn	
+	rtn
 
 
 
@@ -229,7 +229,7 @@
 	//set1 bit_hop,pdata
 	//store 1,mem_24g_data_type
 	//update txpayload
-g24_txpayload_type_update:	
+g24_txpayload_type_update:
 	bmark1 mark_ble_lr,g24_lr_type_update
 	store 1,mem_24g_txpayload+OFFSET_DATA_TYPE
 	rtn
@@ -252,7 +252,7 @@
 	call power_ctrl_txpower_incrs
 	call power_ctrl_pac_succ_decrs
 	branch g24_ch
-	
+
 /****************************g24 transmitter hop end********************************/
 
 
@@ -297,7 +297,7 @@
 	store 1,mem_24g_data_type
 	call g24_transmit_prep
 	branch g24_transmit_start
-	
+
 
 
 g24_lpm_wait:
@@ -339,7 +339,7 @@
 	call g24_transmit_by_interrupt_exit,zero
 	branch g24_transmit_no_interrupt
 
-	
+
 g24_transmit_by_interrupt_exit:
 	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
 	setarg 0
@@ -355,7 +355,7 @@
 g24_interval_max:
 	fetch 1,mem_24g_interval_max
 	branch g24_interval_store
-	
+
 g24_interval_calibrate:
 	fetch 1,mem_24g_pac_index
 	increase 1,pdata
@@ -395,4 +395,4 @@
 
 
 
-	
+
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/program/patch.prog	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/program/patch.prog	(working copy)
@@ -4,15 +4,13 @@
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
 	beq patch00_2,p_main_loop
-	//beq patch01_7,p_rx_dcoc
 	beq patch02_1,p_set_sync_on
 	beq patch02_4,p_set_lemode
 	beq patch02_5,p_rf_rx_enable
 	beq patch03_0,p_txon
 	beq patch03_1,p_set_tx_power
 	beq patch03_2,p_initialize_radio_cont
-	//beq patch03_3,p_rfpll_aac_ghpc
-	//beq patch03_5,p_dpll_ring_ibias_calc
+	beq patch03_4,p_aac_ghpc
 	beq patch06_7,p_dongle_default_init
 	beq patch07_0,p_dongle_read_kb_bind_status
 	beq patch07_1,p_dongle_write_kb_bind_status
@@ -20,12 +18,15 @@
 	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_6,p_usb_init
 	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
@@ -34,6 +35,7 @@
 	beq patch30_2,p_g24_bind_data_parse_next
 	beq patch31_0,p_g24_mode_switch_bind_search
 	beq patch31_2,p_g24_bind_mode_auto
+	beq patch31_3,p_g24_search_mode_auto
 	rtneq patch3f_7
 	branch assert
 
@@ -41,10 +43,73 @@
 	clear_stack
 	until null,lpo_edge
 	fetch 1,mem_lpm_hv_sel
-	call lpm_write_sel_hv 
+	call lpm_write_sel_hv
 	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
+	call g24_search_mode_init
+	call g24_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_receiver_addr_check
+	call g24_receive_packet_parse,zero
+
+	fetch 1,mem_24g_abort_packet
+	call g24_mode_B_S_switch_stop,blank	//works on auto pair only
+
+	//receive data,then go to paired
+	jam DONGLE_WORK,mem_24g_work_mode
+	fetch 1,mem_24g_mode_init
+	set1 DONGLE_WORK,pdata
+	store 1,mem_24g_mode_init
+	call g24_auto_bind_config_self
+
+	fetch 1,mem_24g_ackpayload_enable
+	sub pdata,2,null
+	ncall g24_ackpayload_disable,zero
+
+	call g24_rx_interrupt_clear
+	call g24_enable_nodata_timer
+	call g24_receiver_addr_check
+	branch g24_self_ch_num_reinit,zero
+
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_device2_addr
+	isub temp,null
+	branch g24_device2_ch_num_reinit,zero
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_device1_addr
+	isub temp,null
+	branch g24_device1_ch_num_reinit,zero
+	rtn
+
 p_main_loop:
 ifdef SECURE_CONNECTION
 	call sp_calc_sequence_256
@@ -59,24 +124,49 @@
 	branch p_main_loop
 
 p_set_sync_on:
-	jam 0x60,0x8a0f 
-	jam 0xaa,0x8a10 
-	jam 0x7a,0x8a12 
-	jam 0x00,0x8a25 
-	jam 0x00,0x8a26 
+	jam 0x60,0x8a0f
+	jam 0xaa,0x8a10
+	jam 0x7a,0x8a12
+	jam 0x00,0x8a25
+	jam 0x00,0x8a26
 	nop 60
-	jam 0x20,0x8a20 
-	jam 0xf5,0x8a23 
-	jam 0x12,0x8a24 
-	jam 0x10,0x8a24 
+	jam 0x20,0x8a20
+	jam 0xf5,0x8a23
+	jam 0x12,0x8a24
+	jam 0x10,0x8a24
 	nop 60
-	jam 0x60,0x8a12 
-	jam 0xdd,0x8a23 
+	jam 0x60,0x8a12
+	jam 0xdd,0x8a23
 	rtn
 
+p_aac_ghpc:
+	jam 0x30,0x8a20
+	jam 0xdd,0x8a23
+	call calc_freq
+	setarg 0
+	store 2,mem_pdatatemp
+	arg 15000,temp
+p_wait_cal_done:
+	fetch 2,mem_pdatatemp
+	increase 1,pdata
+	store 2,mem_pdatatemp
+	isub temp,null
+	branch soft_reset_chip,positive
+	fetch 1,0x8a7c
+	bbit0 0,p_wait_cal_done
+	branch wait_cal_done+2
+
+p_set_ck2rfpll:
+	until null,lpo_edge
+	jam 0x58,0x813c
+	branch lpm_write_wait
+
 p_initialize_radio_cont:
+	jam 0x40,core_rx_cfg0
 	jam 0x0d,0x8946
 	jam 0x10,0x896f
+
+	jam 0xcd,0x8a13
 	
 	jam 0x10,0x8a06
 	jam 0x4a,0x8a84
@@ -86,13 +176,11 @@
 //	branch initialize_radio_cont+1
 	fetch 1,mem_wdt_always_work
 	call wdt_set_disable,blank
-	
-	//fetch 1,0x8134
-	//increase 2,pdata
-	//store 1,0x8134
-	
+
+	ncall p_set_ck2rfpll,wake
+
 	until null,lpo_edge
-	jam 0x5f,0x813b 
+	jam 0x5f,0x813b
 	fetch 1,mem_fcomp_div
 	beq XTAL_16M,p_initialize_radio_16m
 	fetch 1,mem_ring_ibias_trim
@@ -102,10 +190,10 @@
 	jam 0x24,0x8a80
 	jam 0x62,0x8a81
 	setarg 0xe61212
-	store 3,0x8a73	
+	store 3,0x8a73
 p_initialize_radio2:
 	jam 0x60,0x8a86
-	jam 0x3b,0x8a8b 
+	jam 0x3b,0x8a8b
 	call p_dpll_on
 	jam 0,core_config
 	jam CLKSEL_DPLL,core_clksel
@@ -117,6 +205,9 @@
 	call p_set_xtal_cap
 	jam SYSTEM_CLK_12M,mem_system_clk
 	call sadc_calibration
+	jam 0x06,0x8a30
+	jam 0xdd,0x8a32
+	jam 0xe0,0x8a88
 	branch p_dpll_ring_ibias_calc
 
 p_set_xtal_cap:
@@ -126,7 +217,7 @@
 	store 1,core_xtal_cap
 	until null,lpo_edge
 	rtn
-	
+
 p_dpll_on:
 	fetch 1,mem_fcomp_div
 	beq XTAL_24M,p_dpll_on_24m
@@ -134,7 +225,7 @@
 	or_into 0x06,pdata
 	store 1,0x8a02
 	jam 0xe0,0x8a05
-p_dpll_on_24m:	
+p_dpll_on_24m:
 	jam 0xd8,0x8a00
 	nop 60
 	jam 0xa0,0x8a01
@@ -143,7 +234,7 @@
 	nop 20
 	jam 0x9f,0x8a00
 	rtn
-	
+
 p_initialize_radio_16m:
 	fetch 1,mem_ring_ibias_trim
 	or_into 0x06,pdata
@@ -154,8 +245,8 @@
 	setarg 0xe40909
 	store 3,0x8a73
 	jam 0x2a,0x8a76
-	jam 0x04,0x8902	
-	branch p_initialize_radio2	
+	jam 0x04,0x8902
+	branch p_initialize_radio2
 
 p_set_tx_power:
 	// fetch 1,mem_tx_power
@@ -167,30 +258,24 @@
 	// branch set_tx_power+2
 	branch set_tx_power_0db
 
-p_set_tx_power_10db:
-	jam 0x25,0x8a14 
-	setarg 0xa93f3f
-	store 3,0x8a60
-	jam 0x1f,0x8a63 
-	rtn
 
 p_set_tx_power_f30db:
-	jam 0x17,0x8a14 
+	jam 0x17,0x8a14
 	setarg 0x250300
 	store 3,0x8a60
 	branch set_tx_power_8a63_28
 
 p_set_tx_power_f35db:
-	jam 0x17,0x8a14 
+	jam 0x17,0x8a14
 	setarg 0x250100
 	store 3,0x8a60
 	branch set_tx_power_8a63_28
 
 p_set_tx_power_f40db:
-	jam 0x17,0x8a14 
+	jam 0x17,0x8a14
 	setarg 0x250000
 	store 3,0x8a60
-	branch set_tx_power_8a63_28	
+	branch set_tx_power_8a63_28
 
 p_otp_read_data:
 	call enable_otp_read			//read enable
@@ -202,7 +287,7 @@
 	arg mem_dg_kb_bind_flag,rega
 	arg DONGLE_KB_BIND_OTP_OFFECT,regb
 	branch otp_write
-	
+
 p_dongle_read_kb_bind_status:
 	arg DONGLE_KB_BIND_OTP_OFFECT,regb
 	branch dongle_read_kb_bind_status+2
@@ -216,7 +301,7 @@
 	and pdata,0xf0,pdata
 	fetcht 1,mem_otp_core_ldo
 	ior temp,pdata
-	store 1,0x8136 
+	store 1,0x8136
 	until null,lpo_edge
 
 	fetch 1,0x8138
@@ -224,9 +309,9 @@
 	fetcht 1,mem_otp_verf_bg
 	lshift3 temp,temp
 	ior temp,pdata
-	store 1,0x8138 
+	store 1,0x8138
 	until null,lpo_edge
-	
+
 p_set_otp_config2:
 	fetch 1,0x8acb
 	and pdata,0xf0,pdata
@@ -241,7 +326,7 @@
 	fetch 1,0x8a06
 	setflag true,7,pdata
 	store 1,0x8a06
-	
+
 	fetch 1,mem_otp_dpll_ibais
 	and pdata,7,temp
 	lshift4 temp,temp
@@ -252,7 +337,7 @@
 	ior temp,pdata
 	store 1,0x8a02
 	rtn
-	
+
 p_set_otp_config_wake:
 	fetch 2,mem_otp_charge_pump_x
 	rtn blank
@@ -276,23 +361,23 @@
 	jam 0x30,0x8a26
 	jam 0xfe,0x8a16
 	branch rf_rx_enable+14
-	
+
 p_txon:
 //	bpatch patch03_0,mem_patch03
 	setarg 0x0aaa7e
 	store 3,0x8a0f
 	nop 60
-	jam 0x00,0x8a25 
-	jam 0x0d,0x8a26 
-	jam 0xf6,0x8a16 
+	jam 0x00,0x8a25
+	jam 0x0d,0x8a26
+	jam 0xf6,0x8a16
 	branch txon+7
 
-	
+
 p_usb_rx_data:
 	fetch 1,core_usb_txbusy
 	rtnbit1 USB_STATUS_RXFULL
 	branch usb_rx_data
-	
+
 p_usb_init:
 	call enable_authrom
 	call usb_init_param
@@ -310,16 +395,16 @@
 	call usb_rx_len
 	compare 13,temp,0xff
 	branch usb_rx_ep13,true
-	
+
 	fetch 1,mem_setreport_count
 	beq 1,p_setreport_next_page_data
-	
+
 	arg mem_usb_setup,contw
 	call usb_rx_read
-p_usb_rx_next:	
+p_usb_rx_next:
 	fetch 1,mem_usb_read_len
 	beq 0x00,usb_rx_no_data
-	beq 0x01,usb_out_one_byte	// HUAWEI pad led status	
+	beq 0x01,usb_out_one_byte	// HUAWEI pad led status
 	sub pdata,7,null
 	rtn positive
 	branch p_usb_class_type
@@ -327,11 +412,11 @@
 p_setreport_next_page_data:
 	arg mem_usb0_set_report_data,contw
 	call usb_rx_read
-	
+
 	jam 0,mem_setreport_count
 	fetch 1,mem_usb_read_len
 	beq 0x01,p_usb_out_one_byte	// HUAWEI pad led status
-	
+
 	jam 1,mem_usb0_get_set_report
 	jam 0x03,core_usb_clear_nak
 	rtn
@@ -358,7 +443,7 @@
 	rshift pdata,pdata
 	and_into 0x03,pdata
 	beq STANDARD_REQ,usb_out_standard_req
-	beq CLASS_REQ,p_usb_out_class_req	
+	beq CLASS_REQ,p_usb_out_class_req
 	beq MANUFACTURER_REQ,usb_out_manufacturer_req
 	branch assert
 
@@ -366,7 +451,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:
@@ -375,15 +460,71 @@
 	call p_usb_rx_data
 	jam 1,mem_usb0_get_set_report
 	call usb_set_report_resume_judge
-	
+
 	fetch 1,mem_setreport_count
 	pincrease 1
 	store 1,mem_setreport_count
-	
+
 	fetch 2,mem_usb_setup_bValue
 	store 2,mem_usb_setup_bValue_temp
 	jam 0x2,core_usb_clear_nak
-	branch usb_set_report_next	
+	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
@@ -400,7 +541,7 @@
 	nbranch usb_tx_fifo_release,blank
 	call p_usb_tx_data_ep1
 	branch p_usb_tx_data_ep2
-	
+
 p_usb_tx_data_ep1:
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
@@ -416,7 +557,7 @@
 	rtn wake
 	call set_sync_on
 	arg 39,temp
-	call set_freq_rx	
+	call set_freq_rx
 	call rf_rx_enable
 	jam 0x7f,0x8a25
 	jam 0x1a,0x8a30
@@ -452,7 +593,7 @@
 	store 2,0x8984
 	jam 0x9,0x8981
 	jam 0x3,0x8981
-	jam 0x6,0x8980	
+	jam 0x6,0x8980
 	nop 60
 	arg 0,rega
 	arg 0,regb
@@ -463,7 +604,7 @@
 p_rfpll_aac_ghpc:
 	rtn wake
 	branch rfpll_aac_ghpc+1
-	
+
 p_dpll_ring_ibias_calc:
 	rtn
 
@@ -522,7 +663,7 @@
 	storet 2,mem_adc_current_value
 	jam 0x00,core_sadc_ctrl
 	rtn
-	
+
 p_set_lemode:
 	jam 0x11,0x8a82
 	jam 0x12,0x8a8d
@@ -564,9 +705,9 @@
 	rtneq LLID_RESERVED
 	beq LLID_LE_LL,le_parse_ll
 	branch le_parse_l2cap
-	
+
 p_le_init_adv:
-	set0 mark_ble_crc_fail,mark	
+	set0 mark_ble_crc_fail,mark
 	branch le_init_adv+1
 
 p_g24_bind_data_parse_next:
@@ -611,7 +752,7 @@
 	jam 1,mem_24g_device2_bind_disable
 	call g24_binding_dvc2_living	//works on auto pair only
 	branch g24_bind_dvc2_step_success+1
-	
+
 p_g24_mode_switch_bind_search:
 	fetch 1,mem_24g_work_mode
 	rtneq DONGLE_WORK
@@ -654,17 +795,17 @@
 	call p_device_hardware_init
 endif
 	call dongle_default_init+1
-	
+
 	fetch 1,mem_24g_pair_tx_power_init
 	store 1,mem_24g_pair_tx_power
-	
+
 	jam OFF,mem_24g_disable_fec1
 	call g24_enable_1M
 	fetch 1,mem_dg_sys_config
 	rtnbit0 DG_ENABLE_NEW_REVISION
 	jam ON,mem_24g_disable_fec1
 	branch g24_enable_2M
-	
+
 p_g24_receive_skip_end:
 	fetch 1,mem_dg_sys_config
 	bbit0 DG_ENABLE_NEW_REVISION,g24_receive_skip_end+1
@@ -672,7 +813,7 @@
 	nop 24
 	fetch 1,mem_24g_rxbuf+1
 	set1 bit_ack_24g,pdata
-	store 1,mem_24g_rxbuf+1	//sending ack once	
+	store 1,mem_24g_rxbuf+1	//sending ack once
 	call g24_ackpayload_prep
 	call g24_transmit_prep
 	branch g24_transmit
@@ -707,9 +848,9 @@
 ifdef UART_LOG
 	call p_24g_txpayload_print
 endif
-	branch g24_end_of_packet	
-*/	
-	
+	branch g24_end_of_packet
+*/
+
 ifdef UART_LOG
 p_device_hardware_init:
 	fetch 1,core_uart_ctrl
@@ -770,7 +911,7 @@
 	call log_bytes
 	branch log_end
 
-//input: 1 byte hex @pdata  
+//input: 1 byte hex @pdata
 //output: 4 byte  '0','x', ASCII,ASCII, @pdata
 hex2ascii:
 	rshift4 pdata,rega  //high 4bit in rega
@@ -786,7 +927,7 @@
 //	iadd regb,pdata
 	rtn
 
-//input: 1 byte hex @pdata  
+//input: 1 byte hex @pdata
 //output: 4 byte  '0','x', ASCII,ASCII, @pdata
 hex2ascii_half_byte:
 	arg 0xa,temp
@@ -800,7 +941,7 @@
 	iadd temp,pdata
 	rtn
 
-//input: loopcnt--length,regc--data ptr	
+//input: loopcnt--length,regc--data ptr
 log_bytes:
 	copy loopcnt,pdata
 	branch log_len0,blank
@@ -814,7 +955,7 @@
 	fetch 1,core_uart_status
 	bbit1 uart_status_tx_busy,uart_wait
 //	nop 12000
-	rtn	
+	rtn
 
 log_len0:
 	call uarta_prepare_tx
@@ -851,4 +992,4 @@
 	istore 1,contwu
 	branch uarta_send
 
-endif	
\ No newline at end of file
+endif
\ No newline at end of file
Index: program/usb.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/program/usb.prog	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/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: /1121s/branch/dongle/1m/USB_XZR/usb_1m/sched/1305.dat	(added)
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/sched/1305.dat	(revision 0)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/sched/1305.dat	(revision 0)
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m/sched/dongle.dat	(revision 5294)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m/sched/dongle.dat	(working copy)
@@ -31,10 +31,10 @@
 '2.4G Receiver
 
 #pair tx
-mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm 
+mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm
 
 #rf config
-mem_24g_lap:36 27 83 74 12 23#low 4B used for 24g rxaddr
+mem_24g_lap:36 27 86 74 12 23#low 4B used for 24g rxaddr
 #mem_24g_tx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_rx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_no_ack:00#no ack
@@ -64,8 +64,8 @@
 
 
 
-#mem_rf_debug_rx_gpio:87
-#mem_rf_debug_tx_gpio:88
+# mem_rf_debug_rx_gpio:8c
+#mem_rf_debug_tx_gpio:8c
 #uart config
 #mem_device_uart_tx_gpio:09	#08
 #mem_device_uart_rx_gpio:ff
@@ -82,3 +82,6 @@
 08 19 01 29 05 91 02 95 01 75 03 
 91 03 95 06 75 08 15 00 25 FF 05 
 07 19 00 29 FF 81 00 C0 
+
+#
+#baud rate #@115200
\ No newline at end of file
