Index: format/usb.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/usb.format	(revision 3134)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/usb.format	(working copy)
@@ -74,6 +74,7 @@
 10 mem_usb_test_kb
 0 mem_usb_clear_mem_end
 64 mem_usb_ccid_buf
+1 mem_usb_get_report_self
 )
 
 //class type
@@ -131,24 +132,24 @@
 0x09 SET_REPORT				   // Code for Set Report
 0x0A SET_IDLE				   // Code for Set Idle
 0x0B SET_PROTOCOL			   // Code for Set Protocol
-0xF2 HID_REPORT_ID           
-64 EP0_PACKET_SIZE         
-6 EP1_PACKET_SIZE         
-16 HID_REPORT_SIZE         
-0x001B HID_REPORT_DESCRIPTOR_SIZE    
+0xF2 HID_REPORT_ID
+64 EP0_PACKET_SIZE
+6 EP1_PACKET_SIZE
+16 HID_REPORT_SIZE
+0x001B HID_REPORT_DESCRIPTOR_SIZE
 )
 //math cordic
 (
-0 TYPE_SIN		
-1 TYPE_ATAN	
-2 TYPE_MULT	
-3 TYPE_DIV		
-4 TYPE_ASIN	
-5 TYPE_SQRT	
-6 TYPE_COS		
-7 TYPE_TAN		 
+0 TYPE_SIN
+1 TYPE_ATAN
+2 TYPE_MULT
+3 TYPE_DIV
+4 TYPE_ASIN
+5 TYPE_SQRT
+6 TYPE_COS
+7 TYPE_TAN
 )
-   
+
 (
 0 DFIFO0_IN_EMPTY
 1 DFIFO1_IN_EMPTY
@@ -200,7 +201,9 @@
 
 (
 0x01ba PC_GET_REPORT
-0x02ba PC_SET_REPORT
+0x02a3 PC_GET_REPORT_NEW
+0x02a1 PC_GET_REPORT_NEW2
+0x02a4 PC_SET_REPORT
 0x0200 PC_SET_REPORT_bValue
 0x0000 PC_SET_REPORT_wIndex
 0x0001 PC_SET_REPORT_bLength
@@ -225,10 +228,10 @@
 // Define wIndex bitmaps
 0x81 IN_EP1                    // Index values used by Set and Clear
 0x01 OUT_EP1                   // commands for Endpoint_Halt
-0x82 IN_EP2              
-0x02 OUT_EP2             
-0x83 IN_EP3              
-0x03 OUT_EP3             
+0x82 IN_EP2
+0x02 OUT_EP2
+0x83 IN_EP3
+0x03 OUT_EP3
 )
 
 (
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3134)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -396,10 +396,11 @@
 0x0955 mem_usb_test_kb
 0x095f mem_usb_clear_mem_end
 0x095f mem_usb_ccid_buf
-0x099f mem_dg_rssi_noise_buffer
-0x0a9f mem_dg_rssi_noise_dg_buffer
-0x0b9f mem_dg_rssi_noise_ms_buffer
-0x0c9f mem_dg_rssi_noise_kb_buffer
+0x099f mem_usb_get_report_self
+0x09a0 mem_dg_rssi_noise_buffer
+0x0aa0 mem_dg_rssi_noise_dg_buffer
+0x0ba0 mem_dg_rssi_noise_ms_buffer
+0x0ca0 mem_dg_rssi_noise_kb_buffer
 
 0x019f mem_le_new_param
 0x019f mem_le_new_transmitwindowsize
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(revision 3134)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-aa
-0c
+12
+0d
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 02
-86
+a0
 c0
 0a
 80
@@ -51,8 +51,8 @@
 40
 c0
 1b
-82
-ed
+83
+07
 c0
 1c
 00
@@ -64,7 +64,7 @@
 c0
 1e
 82
-df
+f9
 c0
 62
 80
@@ -72,11 +72,11 @@
 c0
 6d
 02
-57
+71
 c0
 6e
 02
-67
+81
 c0
 7f
 00
@@ -84,7 +84,7 @@
 c0
 7f
 81
-46
+48
 c0
 7e
 80
@@ -96,51 +96,51 @@
 c0
 00
 01
-6c
+71
 c0
 01
 01
-7a
+9f
 c0
 03
 01
-98
+bd
 c0
 1c
 82
-a2
+bc
 c0
 26
 82
-a6
+c0
 c0
 37
-02
-f6
+03
+10
 c0
 37
 83
-10
+2a
 c0
 3a
 83
-1a
+34
 c0
 41
 02
-a8
+c2
 c0
 42
 01
-a6
+cb
 c0
 44
 02
-c7
+e1
 c0
 45
 02
-d4
+ee
 c1
 46
 80
@@ -388,11 +388,11 @@
 20
 40
 02
-29
+43
 20
 40
 02
-54
+6e
 20
 40
 00
@@ -408,7 +408,7 @@
 20
 20
 02
-56
+70
 20
 75
 80
@@ -956,7 +956,7 @@
 58
 00
 01
-b3
+d8
 67
 e1
 45
@@ -964,7 +964,7 @@
 58
 00
 02
-00
+1a
 67
 e1
 45
@@ -972,7 +972,7 @@
 58
 00
 02
-04
+1e
 67
 e1
 45
@@ -1172,7 +1172,7 @@
 20
 40
 01
-5c
+5f
 20
 20
 01
@@ -1188,7 +1188,7 @@
 20
 20
 01
-5c
+5f
 70
 48
 5e
@@ -1288,7 +1288,7 @@
 20
 20
 01
-5a
+5d
 70
 48
 93
@@ -1297,22 +1297,30 @@
 20
 01
 41
+70
+46
+11
+a2
 6f
-21
-07
-0c
+20
+88
+76
+1f
+20
+f2
+02
 67
 20
 c8
-95
+94
 d8
 c0
 08
-6d
+75
 d8
 a0
 48
-96
+95
 20
 20
 7c
@@ -1348,7 +1356,7 @@
 c0
 00
 81
-5e
+61
 d8
 a0
 08
@@ -1357,6 +1365,10 @@
 40
 79
 94
+20
+20
+01
+53
 6f
 e0
 87
@@ -1380,7 +1392,7 @@
 20
 20
 01
-6c
+71
 6f
 e0
 88
@@ -1432,11 +1444,19 @@
 c0
 00
 81
-66
+6b
 70
 08
 f7
 01
+6f
+e1
+08
+6f
+67
+e1
+08
+f5
 70
 8c
 1b
@@ -1483,12 +1503,44 @@
 80
 c0
 40
+01
+77
+c0
+00
+01
+97
+20
+20
+23
+5a
+6f
+e0
+88
+6d
+1f
+f1
+fe
+00
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+c0
+00
 79
-ba
+ca
 c0
 00
+81
+7f
+c0
 01
-72
+79
+d5
 20
 20
 23
@@ -1496,6 +1548,102 @@
 6f
 e0
 88
+6e
+c0
+01
+7a
+8d
+c0
+00
+81
+84
+c0
+01
+fa
+a2
+20
+20
+79
+e4
+6f
+e1
+08
+6f
+d8
+40
+02
+a3
+98
+46
+7c
+00
+20
+22
+81
+8d
+6f
+e1
+08
+6f
+d8
+40
+02
+a1
+98
+46
+7c
+00
+20
+22
+81
+8d
+20
+20
+79
+e4
+6f
+e0
+88
+f8
+24
+3a
+01
+95
+70
+08
+b5
+00
+20
+20
+7a
+98
+70
+09
+0c
+20
+da
+20
+08
+b5
+18
+00
+24
+32
+20
+20
+7b
+8b
+70
+08
+f8
+00
+20
+20
+7a
+98
+6f
+e0
+88
 6d
 1f
 f1
@@ -1516,7 +1664,7 @@
 c0
 00
 81
-84
+a9
 c0
 01
 79
@@ -1536,7 +1684,7 @@
 c0
 01
 01
-81
+a6
 c0
 01
 fa
@@ -1576,7 +1724,7 @@
 c0
 04
 81
-89
+ae
 c0
 05
 fb
@@ -1600,7 +1748,7 @@
 20
 34
 01
-93
+b8
 70
 08
 f7
@@ -1696,11 +1844,11 @@
 20
 40
 02
-17
+31
 20
 20
 02
-1b
+35
 6f
 e0
 c5
@@ -1720,15 +1868,15 @@
 c2
 83
 81
-ae
+d3
 c2
 83
 01
-ae
+d3
 c2
 82
 81
-ae
+d3
 20
 20
 33
@@ -1760,15 +1908,15 @@
 c2
 83
 81
-c2
+e7
 c2
 83
 01
-d8
+f2
 c2
 82
 81
-b8
+dd
 20
 20
 48
@@ -1804,7 +1952,7 @@
 d8
 c0
 48
-95
+96
 d8
 a0
 48
@@ -1853,70 +2001,26 @@
 40
 7c
 da
-6f
-20
-c5
-7d
-1f
-e0
-ff
-ff
-da
-40
-47
-de
-da
 20
-48
-1e
 20
-40
-7d
-64
-24
-42
-81
-ee
+02
+08
 6f
 20
 c5
 7d
 1f
-e0
-ff
-ff
-d8
-c0
-47
-de
-d8
-a0
-48
-1e
-20
-40
-7c
-da
-20
 20
-33
-be
-6f
-20
-c5
-7d
-1f
-e0
-ff
+f3
 ff
 d8
 a0
 46
-e1
+df
 d8
 c0
 45
-eb
+ea
 20
 40
 7c
@@ -1936,7 +2040,7 @@
 d8
 c0
 46
-e1
+e0
 20
 40
 7c
@@ -1963,8 +2067,8 @@
 64
 24
 42
-81
-ee
+82
+11
 6f
 20
 c5
@@ -1999,8 +2103,8 @@
 7d
 1f
 e0
-fe
-01
+ff
+ff
 67
 e0
 c7
@@ -2024,7 +2128,7 @@
 20
 20
 01
-5a
+5d
 70
 46
 df
@@ -2060,7 +2164,7 @@
 20
 20
 01
-5a
+5d
 6f
 e0
 c5
@@ -2068,11 +2172,11 @@
 c2
 83
 81
-c2
+e7
 c2
 83
 01
-d8
+f2
 20
 20
 48
@@ -2084,7 +2188,7 @@
 c0
 00
 82
-08
+22
 c0
 01
 48
@@ -2092,7 +2196,7 @@
 20
 20
 02
-08
+22
 6f
 e0
 c6
@@ -2104,7 +2208,7 @@
 20
 20
 02
-0b
+25
 6f
 e0
 c6
@@ -2120,7 +2224,7 @@
 c0
 51
 02
-10
+2a
 20
 60
 00
@@ -2144,7 +2248,7 @@
 d8
 c0
 48
-96
+95
 d8
 a0
 45
@@ -2276,7 +2380,7 @@
 20
 40
 02
-46
+60
 2a
 2f
 fe
@@ -2308,7 +2412,7 @@
 20
 40
 02
-46
+60
 d8
 a0
 8a
@@ -2336,7 +2440,7 @@
 20
 21
 02
-3b
+55
 20
 20
 21
@@ -2440,7 +2544,7 @@
 20
 40
 02
-7f
+99
 70
 8a
 08
@@ -2476,7 +2580,7 @@
 20
 40
 02
-75
+8f
 6f
 f0
 8a
@@ -2520,7 +2624,7 @@
 20
 40
 02
-7f
+99
 70
 80
 cd
@@ -2580,7 +2684,7 @@
 c3
 02
 82
-80
+9a
 68
 59
 01
@@ -2616,7 +2720,7 @@
 c0
 08
 02
-9f
+b9
 58
 00
 57
@@ -2660,7 +2764,7 @@
 c0
 08
 02
-9c
+b6
 58
 00
 2b
@@ -2696,7 +2800,7 @@
 20
 20
 02
-98
+b2
 58
 00
 83
@@ -2708,7 +2812,7 @@
 20
 20
 02
-8d
+a7
 6f
 e0
 c3
@@ -2748,7 +2852,7 @@
 c0
 11
 02
-ae
+c8
 c0
 7f
 b5
@@ -2764,7 +2868,7 @@
 20
 3a
 02
-b4
+ce
 6f
 e2
 45
@@ -2788,11 +2892,11 @@
 c0
 00
 82
-b8
+d2
 c0
 01
 02
-bf
+d9
 20
 60
 00
@@ -2812,7 +2916,7 @@
 c0
 01
 02
-bd
+d7
 20
 60
 00
@@ -2840,7 +2944,7 @@
 c0
 80
 02
-c4
+de
 20
 60
 00
@@ -2920,7 +3024,7 @@
 20
 40
 02
-d8
+f2
 20
 20
 34
@@ -2988,7 +3092,7 @@
 d8
 40
 02
-ba
+a4
 98
 46
 7c
@@ -3000,7 +3104,7 @@
 20
 20
 01
-56
+59
 58
 00
 00
@@ -3072,7 +3176,7 @@
 c5
 13
 83
-01
+1b
 6f
 e0
 c4
@@ -3116,7 +3220,7 @@
 20
 40
 83
-0e
+28
 18
 42
 7e
@@ -3204,7 +3308,7 @@
 20
 40
 83
-0e
+28
 18
 42
 7e
@@ -3253,8 +3357,8 @@
 60
 00
 00
-43
-10
+d6
+83
 aa
 55
 40
@@ -3926,6 +4030,6 @@
 55
 24
 93
-12
-44
+2d
+ba
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3134)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(working copy)
@@ -4,36 +4,36 @@
 0001 c0000023 beq patch00_0 ,p_soft_reset 
 0002 c0010029 beq patch00_2 ,p_main_loop 
 0003 c0088032 beq patch02_1 ,p_set_sync_on 
-0004 c00a0286 beq patch02_4 ,p_set_lemode 
+0004 c00a02a0 beq patch02_4 ,p_set_lemode 
 0005 c00a80ce beq patch02_5 ,p_rf_rx_enable 
 0006 c00c00dc beq patch03_0 ,p_txon 
 0007 c00c8082 beq patch03_1 ,p_set_tx_power 
 0008 c00d0040 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b82ed beq patch06_7 ,p_dongle_default_init 
+0009 c01b8307 beq patch06_7 ,p_dongle_default_init 
 000a c01c00a1 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c809d beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e82df beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e82f9 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c062809a beq patch18_5 ,p_otp_read_data 
-000e c06d0257 beq patch1b_2 ,p_sadc_calibration 
-000f c06e0267 beq patch1b_4 ,p_enable_adc 
+000e c06d0271 beq patch1b_2 ,p_sadc_calibration 
+000f c06e0281 beq patch1b_4 ,p_enable_adc 
 0010 c07f00e7 beq patch1f_6 ,p_usb_init 
-0011 c07f8146 beq patch1f_7 ,p_usb_rx 
+0011 c07f8148 beq patch1f_7 ,p_usb_rx 
 0012 c07e80e3 beq patch1f_5 ,p_usb_isr 
 0013 2020235a branch assert 
 
 pf_patch_ext:
-0014 c000016c beq patch20_0 ,p_usb_class_type 
-0015 c001017a beq patch20_2 ,p_usb0_request_get_descriptor 
-0016 c0030198 beq patch20_6 ,p_usb_tx 
-0017 c01c82a2 beq patch27_1 ,p_le_parse 
-0018 c02682a6 beq patch29_5 ,p_le_init_adv 
-0019 c03702f6 beq patch2d_6 ,p_g24_receive_skip_fec1 
-001a c0378310 beq patch2d_7 ,p_g24_receive_skip_end 
-001b c03a831a beq patch2e_5 ,p_g24_read_len_pid_crc 
-001c c04102a8 beq patch30_2 ,p_g24_bind_data_parse_next 
-001d c04201a6 beq patch30_4 ,p_g24_receive_packet_start1 
-001e c04402c7 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001f c04502d4 beq patch31_2 ,p_g24_bind_mode_auto 
+0014 c0000171 beq patch20_0 ,p_usb_class_type 
+0015 c001019f beq patch20_2 ,p_usb0_request_get_descriptor 
+0016 c00301bd beq patch20_6 ,p_usb_tx 
+0017 c01c82bc beq patch27_1 ,p_le_parse 
+0018 c02682c0 beq patch29_5 ,p_le_init_adv 
+0019 c0370310 beq patch2d_6 ,p_g24_receive_skip_fec1 
+001a c037832a beq patch2d_7 ,p_g24_receive_skip_end 
+001b c03a8334 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001c c04102c2 beq patch30_2 ,p_g24_bind_data_parse_next 
+001d c04201cb beq patch30_4 ,p_g24_receive_packet_start1 
+001e c04402e1 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001f c04502ee beq patch31_2 ,p_g24_bind_mode_auto 
 0020 c1468000 rtneq patch31_5 
 0021 c17f8000 rtneq patch3f_7 
 0022 2020235a branch assert 
@@ -105,12 +105,12 @@
 005a 58557474 setarg 0x557474 
 005b 67f18968 store 3 ,0x8968 
 005c 7089606e jam 0x6e ,0x8960 
-005d 20400229 call p_rx_dcoc 
-005e 20400254 call p_rfpll_aac_ghpc 
+005d 20400243 call p_rx_dcoc 
+005e 2040026e call p_rfpll_aac_ghpc 
 005f 20400063 call p_set_xtal_cap 
 0060 7041480c jam system_clk_12m ,mem_system_clk 
 0061 20406f4e call sadc_calibration 
-0062 20200256 branch p_dpll_ring_ibias_calc 
+0062 20200270 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 0063 20758000 rtn wake 
@@ -285,11 +285,11 @@
 00e8 20407932 call usb_init_param 
 00e9 58004997 setarg mem_usb_ep2_config 
 00ea 67e107a9 store 2 ,mem_hidreportdesc_m 
-00eb 580001b3 setarg p_dongle_g24_mouse 
+00eb 580001d8 setarg p_dongle_g24_mouse 
 00ec 67e145e4 store 2 ,mem_cb_24g_data_device1 
-00ed 58000200 setarg p_dongle_g24_keyboard 
+00ed 5800021a setarg p_dongle_g24_keyboard 
 00ee 67e145e6 store 2 ,mem_cb_24g_data_device2 
-00ef 58000204 setarg p_dongle_ackpayload_prep 
+00ef 5800021e setarg p_dongle_ackpayload_prep 
 00f0 67e145e2 store 2 ,mem_cb_24g_ackpayload 
 
 p_usb_init_restart:
@@ -349,13 +349,13 @@
 
 p_dongle_usb_hci_cmd_get_deivce_info:
 0120 704893a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
-0121 2040015c call p_usb_get_report_disable 
+0121 2040015f call p_usb_get_report_disable 
 0122 20200141 branch p_dongle_usb_ack_prep 
 
 p_dongle_usb_hci_cmd_voice_control:
 0123 704893a2 jam report_id_data_out ,mem_dongle_usb_ep2_data_flag 
 0124 20400141 call p_dongle_usb_ack_prep 
-0125 2020015c branch p_usb_get_report_disable 
+0125 2020015f branch p_usb_get_report_disable 
 
 p_dongle_hci_event_invalid_packet:
 0126 70485e06 jam 0x06 ,mem_usb_device_info_data 
@@ -386,632 +386,670 @@
 013b 20407cda call memcpy 
 013c 6fe0c893 fetch 1 ,mem_dongle_usb_ep2_data_flag 
 013d 67e088b5 store 1 ,mem_usb0_get_report_data 
-013e 2020015a branch p_usb_get_report_enable 
+013e 2020015d branch p_usb_get_report_enable 
 
 p_usb_rx_data_authca_out:
 013f 704893a4 jam report_id_authca_data_out ,mem_dongle_usb_ep2_data_flag 
 0140 20200141 branch p_dongle_usb_ack_prep 
 
 p_dongle_usb_ack_prep:
-0141 6f21070c fetchr loopcnt ,2 ,mem_usb_read_len 
-0142 6720c895 storer loopcnt ,1 ,mem_dongle_g24_usb_ep2_ack_data 
-0143 d8c0086d arg mem_usb_setup ,contr 
-0144 d8a04896 arg mem_dongle_g24_usb_ep2_ack_data + 1 ,contw 
-0145 20207cda branch memcpy 
+0141 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+0142 6f208876 fetchr loopcnt ,1 ,mem_usb0_set_report_data + 1 
+0143 1f20f202 increase 2 ,loopcnt 
+0144 6720c894 storer loopcnt ,1 ,mem_dongle_usb_ep2_data_len 
+0145 d8c00875 arg mem_usb0_set_report_data ,contr 
+0146 d8a04895 arg mem_dongle_g24_usb_ep2_ack_data ,contw 
+0147 20207cda branch memcpy 
 
 p_usb_rx:
-0146 6fe08709 fetch 1 ,mem_usb_status 
-0147 c4028000 rtnbit0 usb_status_rxready 
-0148 20407989 call usb_rx_len 
-0149 6048c697 storet 1 ,mem_usb_rx_endpoint 
-014a 2841fe0d compare 13 ,temp ,0xff 
-014b 2020f999 branch usb_rx_ep13 ,true 
-014c 6fe0c696 fetch 1 ,mem_setreport_count 
-014d c000815e beq 1 ,p_setreport_next_page_data 
-014e d8a0086d arg mem_usb_setup ,contw 
-014f 20407994 call usb_rx_read 
+0148 6fe08709 fetch 1 ,mem_usb_status 
+0149 c4028000 rtnbit0 usb_status_rxready 
+014a 20407989 call usb_rx_len 
+014b 6048c697 storet 1 ,mem_usb_rx_endpoint 
+014c 2841fe0d compare 13 ,temp ,0xff 
+014d 2020f999 branch usb_rx_ep13 ,true 
+014e 6fe0c696 fetch 1 ,mem_setreport_count 
+014f c0008161 beq 1 ,p_setreport_next_page_data 
+0150 d8a0086d arg mem_usb_setup ,contw 
+0151 20407994 call usb_rx_read 
+0152 20200153 branch p_usb_rx_next 
 
 p_usb_rx_next:
-0150 6fe0870c fetch 1 ,mem_usb_read_len 
-0151 c0007986 beq 0x00 ,usb_rx_no_data 
-0152 c000f9b6 beq 0x01 ,usb_out_one_byte 
-0153 1fe67c07 sub pdata ,7 ,null 
-0154 20610000 rtn positive 
-0155 2020016c branch p_usb_class_type 
+0153 6fe0870c fetch 1 ,mem_usb_read_len 
+0154 c0007986 beq 0x00 ,usb_rx_no_data 
+0155 c000f9b6 beq 0x01 ,usb_out_one_byte 
+0156 1fe67c07 sub pdata ,7 ,null 
+0157 20610000 rtn positive 
+0158 20200171 branch p_usb_class_type 
 
 p_dongle_usb_data_received_analysis:
-0156 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0157 c051010d beq report_id_data_out ,p_usb_rx_data_out 
-0158 c052013f beq report_id_authca_data_out ,p_usb_rx_data_authca_out 
-0159 20600000 rtn 
+0159 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+015a c051010d beq report_id_data_out ,p_usb_rx_data_out 
+015b c052013f beq report_id_authca_data_out ,p_usb_rx_data_authca_out 
+015c 20600000 rtn 
 
 p_usb_get_report_enable:
-015a 7008f801 jam 1 ,mem_usb0_data_ready_report 
-015b 20600000 rtn 
+015d 7008f801 jam 1 ,mem_usb0_data_ready_report 
+015e 20600000 rtn 
 
 p_usb_get_report_disable:
-015c 7008f800 jam 0 ,mem_usb0_data_ready_report 
-015d 20600000 rtn 
+015f 7008f800 jam 0 ,mem_usb0_data_ready_report 
+0160 20600000 rtn 
 
 p_setreport_next_page_data:
-015e d8a00875 arg mem_usb0_set_report_data ,contw 
-015f 20407994 call usb_rx_read 
-0160 70469600 jam 0 ,mem_setreport_count 
-0161 6fe0870c fetch 1 ,mem_usb_read_len 
-0162 c0008166 beq 0x01 ,p_usb_out_one_byte 
-0163 7008f701 jam 1 ,mem_usb0_get_set_report 
-0164 708c1b03 jam 0x03 ,core_usb_clear_nak 
-0165 20600000 rtn 
+0161 d8a00875 arg mem_usb0_set_report_data ,contw 
+0162 20407994 call usb_rx_read 
+0163 70469600 jam 0 ,mem_setreport_count 
+0164 6fe0870c fetch 1 ,mem_usb_read_len 
+0165 c000816b beq 0x01 ,p_usb_out_one_byte 
+0166 7008f701 jam 1 ,mem_usb0_get_set_report 
+0167 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0168 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+0169 708c1b03 jam 0x03 ,core_usb_clear_nak 
+016a 20600000 rtn 
 
 p_usb_out_one_byte:
-0166 6fe0886d fetch 1 ,mem_usb_setup 
-0167 c3838000 rtnbit1 7 
-0168 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0169 20407b6a call usb_get_led_status 
-016a 708c1b01 jam 0x1 ,core_usb_clear_nak 
-016b 20600000 rtn 
+016b 6fe0886d fetch 1 ,mem_usb_setup 
+016c c3838000 rtnbit1 7 
+016d 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+016e 20407b6a call usb_get_led_status 
+016f 708c1b01 jam 0x1 ,core_usb_clear_nak 
+0170 20600000 rtn 
 
 p_usb_class_type:
-016c 793f8023 set0 mark_isstr ,mark 
-016d 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-016e 1fe17e80 and_into 0x80 ,pdata 
-016f c04079ba beq in_device ,usb_in_device 
-0170 c0000172 beq out_device ,p_usb_out_device 
-0171 2020235a branch assert 
+0171 793f8023 set0 mark_isstr ,mark 
+0172 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0173 1fe17e80 and_into 0x80 ,pdata 
+0174 c0400177 beq in_device ,p_usb_in_device 
+0175 c0000197 beq out_device ,p_usb_out_device 
+0176 2020235a branch assert 
+
+p_usb_in_device:
+0177 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0178 1ff1fe00 rshift4 pdata ,pdata 
+0179 1fe37e00 rshift pdata ,pdata 
+017a 1fe17e03 and_into 0x03 ,pdata 
+017b c00079ca beq standard_req ,usb_in_standard_req 
+017c c000817f beq class_req ,p_usb_in_class_req 
+017d c00179d5 beq manufacturer_req ,usb_in_manufacturer_req 
+017e 2020235a branch assert 
+
+p_usb_in_class_req:
+017f 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+0180 c0017a8d beq get_idle ,usb_get_idle 
+0181 c0008184 beq get_report ,p_usb_get_report 
+0182 c001faa2 beq get_protocol ,usb_get_protocol_req 
+0183 202079e4 branch usb0_force_stall 
+
+p_usb_get_report:
+0184 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0185 d84002a3 arg pc_get_report_new ,temp 
+0186 98467c00 isub temp ,null 
+0187 2022818d branch p_usb_get_report_dispose ,zero 
+0188 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0189 d84002a1 arg pc_get_report_new2 ,temp 
+018a 98467c00 isub temp ,null 
+018b 2022818d branch p_usb_get_report_dispose ,zero 
+018c 202079e4 branch usb0_force_stall 
+
+p_usb_get_report_dispose:
+018d 6fe088f8 fetch 1 ,mem_usb0_data_ready_report 
+018e 243a0195 nbranch p_usb_get_report_data_success ,blank 
+018f 7008b500 jam pc_get_nondata ,mem_usb0_get_report_data 
+0190 20207a98 branch usb_get_report_send_data 
+
+p_usb_get_report_data_self:
+0191 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0192 da2008b5 arg mem_usb0_get_report_data ,rega 
+0193 18002432 force 0x32 ,regb 
+0194 20207b8b branch usb0_respond 
+
+p_usb_get_report_data_success:
+0195 7008f800 jam 0 ,mem_usb0_data_ready_report 
+0196 20207a98 branch usb_get_report_send_data 
 
 p_usb_out_device:
-0172 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0173 1ff1fe00 rshift4 pdata ,pdata 
-0174 1fe37e00 rshift pdata ,pdata 
-0175 1fe17e03 and_into 0x03 ,pdata 
-0176 c00079d6 beq standard_req ,usb_out_standard_req 
-0177 c0008184 beq class_req ,p_usb_out_class_req 
-0178 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-0179 2020235a branch assert 
+0197 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0198 1ff1fe00 rshift4 pdata ,pdata 
+0199 1fe37e00 rshift pdata ,pdata 
+019a 1fe17e03 and_into 0x03 ,pdata 
+019b c00079d6 beq standard_req ,usb_out_standard_req 
+019c c00081a9 beq class_req ,p_usb_out_class_req 
+019d c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+019e 2020235a branch assert 
 
 p_usb0_request_get_descriptor:
-017a 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-017b c000fa14 beq dsc_device ,dsc_device_info 
-017c c0010181 beq dsc_config ,p_dsc_config_info 
-017d c001fa30 beq dsc_string ,dsc_string_info 
-017e c010fa09 beq dsc_hid ,dsc_hid_info 
-017f c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-0180 202079e4 branch usb0_force_stall 
+019f 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01a0 c000fa14 beq dsc_device ,dsc_device_info 
+01a1 c00101a6 beq dsc_config ,p_dsc_config_info 
+01a2 c001fa30 beq dsc_string ,dsc_string_info 
+01a3 c010fa09 beq dsc_hid ,dsc_hid_info 
+01a4 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
+01a5 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-0181 58004698 setarg mem_config_new 
-0182 6848c698 fetcht 1 ,mem_config_new 
-0183 20207a18 branch dsc_info_set_data_len 
+01a6 58004698 setarg mem_config_new 
+01a7 6848c698 fetcht 1 ,mem_config_new 
+01a8 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-0184 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-0185 c0057b4b beq set_idle ,usb_set_idle 
-0186 c0048189 beq set_report ,p_usb_set_report 
-0187 c005fb7c beq set_protocol ,usb_set_protocol_req 
-0188 202079e4 branch usb0_force_stall 
+01a9 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01aa c0057b4b beq set_idle ,usb_set_idle 
+01ab c00481ae beq set_report ,p_usb_set_report 
+01ac c005fb7c beq set_protocol ,usb_set_protocol_req 
+01ad 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-0189 20003a98 nop 15000 
-018a d8a00875 arg mem_usb0_set_report_data ,contw 
-018b 20400106 call p_usb_rx_data 
-018c 20340193 branch p_usb_set_report_delay ,user 
-018d 7008f701 jam 1 ,mem_usb0_get_set_report 
-018e 20407b6e call usb_set_report_resume_judge 
-018f 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0190 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0191 708c1b03 jam 0x3 ,core_usb_clear_nak 
-0192 20207b65 branch usb_set_report_next 
+01ae 20003a98 nop 15000 
+01af d8a00875 arg mem_usb0_set_report_data ,contw 
+01b0 20400106 call p_usb_rx_data 
+01b1 203401b8 branch p_usb_set_report_delay ,user 
+01b2 7008f701 jam 1 ,mem_usb0_get_set_report 
+01b3 20407b6e call usb_set_report_resume_judge 
+01b4 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01b5 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+01b6 708c1b03 jam 0x3 ,core_usb_clear_nak 
+01b7 20207b65 branch usb_set_report_next 
 
 p_usb_set_report_delay:
-0193 6fe0c696 fetch 1 ,mem_setreport_count 
-0194 1fe0fe01 pincrease 1 
-0195 67e0c696 store 1 ,mem_setreport_count 
-0196 708c1b02 jam 0x2 ,core_usb_clear_nak 
-0197 20600000 rtn 
+01b8 6fe0c696 fetch 1 ,mem_setreport_count 
+01b9 1fe0fe01 pincrease 1 
+01ba 67e0c696 store 1 ,mem_setreport_count 
+01bb 708c1b02 jam 0x2 ,core_usb_clear_nak 
+01bc 20600000 rtn 
 
 p_usb_tx:
-0198 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0199 207a0000 rtn blank 
-019a 6ff08c25 fetch 1 ,core_usb_txbusy 
-019b 1fe17e0f and_into 0x0f ,pdata 
-019c 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-019d 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-019e 203a7c06 branch usb_tx_fifo_release ,blank 
-019f 6fe08900 fetch 1 ,mem_usb_state 
-01a0 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-01a1 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-01a2 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-01a3 243a7c06 nbranch usb_tx_fifo_release ,blank 
-01a4 20400217 call p_usb_tx_data_ep1 
-01a5 2020021b branch p_usb_tx_data_ep2 
+01bd 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01be 207a0000 rtn blank 
+01bf 6ff08c25 fetch 1 ,core_usb_txbusy 
+01c0 1fe17e0f and_into 0x0f ,pdata 
+01c1 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+01c2 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+01c3 203a7c06 branch usb_tx_fifo_release ,blank 
+01c4 6fe08900 fetch 1 ,mem_usb_state 
+01c5 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+01c6 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+01c7 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+01c8 243a7c06 nbranch usb_tx_fifo_release ,blank 
+01c9 20400231 call p_usb_tx_data_ep1 
+01ca 20200235 branch p_usb_tx_data_ep2 
 
 p_g24_receive_packet_start1:
-01a6 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01a7 c000b3c4 beq datatype_device1 ,g24_data_device1 
-01a8 c00133d3 beq datatype_device2 ,g24_data_device2 
-01a9 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-01aa c28381ae bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
-01ab c28301ae bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
-01ac c28281ae bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
-01ad 202033be branch g24_rx_interrupt_clear 
+01cb 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+01cc c000b3c4 beq datatype_device1 ,g24_data_device1 
+01cd c00133d3 beq datatype_device2 ,g24_data_device2 
+01ce c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
+01cf c28381d3 bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
+01d0 c28301d3 bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
+01d1 c28281d3 bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
+01d2 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_heart_authca_audio:
-01ae 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01af 1fe17e0f and pdata ,0x0f ,pdata 
-01b0 c000b3c4 beq datatype_device1 ,g24_data_device1 
-01b1 c00133d3 beq datatype_device2 ,g24_data_device2 
-01b2 202033be branch g24_rx_interrupt_clear 
+01d3 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+01d4 1fe17e0f and pdata ,0x0f ,pdata 
+01d5 c000b3c4 beq datatype_device1 ,g24_data_device1 
+01d6 c00133d3 beq datatype_device2 ,g24_data_device2 
+01d7 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse:
-01b3 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-01b4 c28381c2 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-01b5 c28301d8 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-01b6 c28281b8 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-01b7 202048d4 branch dongle_g24_mouse 
+01d8 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+01d9 c28381e7 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+01da c28301f2 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+01db c28281dd bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
+01dc 202048d4 branch dongle_g24_mouse 
 
 p_dongle_g24_mouse_heart_data:
-01b8 6fe0c893 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-01b9 207a0000 rtn blank 
-01ba 70489300 jam 0 ,mem_dongle_usb_ep2_data_flag 
-01bb 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-01bc 6fe0c895 fetch 1 ,mem_dongle_g24_usb_ep2_ack_data 
-01bd 67e0c894 store 1 ,mem_dongle_usb_ep2_data_len 
-01be 1fe27200 copy pdata ,loopcnt 
-01bf d8c04895 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-01c0 d8a048d6 arg mem_dongle_24g_ep2_data ,contw 
-01c1 20207cda branch memcpy 
+01dd 6fe0c893 fetch 1 ,mem_dongle_usb_ep2_data_flag 
+01de 207a0000 rtn blank 
+01df 70489300 jam 0 ,mem_dongle_usb_ep2_data_flag 
+01e0 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+01e1 6fe0c895 fetch 1 ,mem_dongle_g24_usb_ep2_ack_data 
+01e2 67e0c894 store 1 ,mem_dongle_usb_ep2_data_len 
+01e3 1fe27200 copy pdata ,loopcnt 
+01e4 d8c04896 arg mem_dongle_g24_usb_ep2_ack_data + 1 ,contr 
+01e5 d8a048d6 arg mem_dongle_24g_ep2_data ,contw 
+01e6 20207cda branch memcpy 
 
 p_dongle_g24_mouse_audio_data:
-01c2 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01c3 1fe0ffff increase -1 ,pdata 
-01c4 d8a047a1 arg mem_usb_audio_data + 3 ,contw 
-01c5 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-01c6 20407cda call memcpy 
-01c7 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01c8 1fe0ffff increase -1 ,pdata 
-01c9 d8a047de arg mem_usb_audio_data_sta ,contw 
-01ca d8c047a1 arg mem_usb_audio_data + 3 ,contr 
-01cb 20407cda call memcpy 
-01cc 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01cd 1fe0ffff increase -1 ,pdata 
-01ce da4047de arg mem_usb_audio_data_sta ,regb 
-01cf da20481e arg mem_usb_audio_data_last ,rega 
-01d0 20407d64 call compare_loop 
-01d1 244281ee ncall p_dongle_usb_tx_audio_data ,zero 
-01d2 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01d3 1fe0ffff increase -1 ,pdata 
-01d4 d8c047de arg mem_usb_audio_data_sta ,contr 
-01d5 d8a0481e arg mem_usb_audio_data_last ,contw 
-01d6 20407cda call memcpy 
-01d7 202033be branch g24_rx_interrupt_clear 
+01e7 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+01e8 1fe0ffff increase -1 ,pdata 
+01e9 d8a047a1 arg mem_usb_audio_data + 3 ,contw 
+01ea d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
+01eb 20407cda call memcpy 
+01ec 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+01ed 1fe0ffff increase -1 ,pdata 
+01ee d8a047de arg mem_usb_audio_data_sta ,contw 
+01ef d8c047a1 arg mem_usb_audio_data + 3 ,contr 
+01f0 20407cda call memcpy 
+01f1 20200208 branch p_dongle_usb_tx_audio_data 
 
 p_dongle_g24_mouse_authca_data:
-01d8 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01d9 1fe0ffff increase -1 ,pdata 
-01da d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-01db d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-01dc 20407cda call memcpy 
-01dd 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01de 1fe0ffff increase -1 ,pdata 
-01df d8a0471e arg mem_usb_authca_data_sta ,contw 
-01e0 d8c046e1 arg mem_usb_authca_data + 3 ,contr 
-01e1 20407cda call memcpy 
-01e2 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01e3 1fe0ffff increase -1 ,pdata 
-01e4 da40471e arg mem_usb_authca_data_sta ,regb 
-01e5 da20475e arg mem_usb_authca_data_last ,rega 
-01e6 20407d64 call compare_loop 
-01e7 244281ee ncall p_dongle_usb_tx_audio_data ,zero 
-01e8 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-01e9 1fe0ffff increase -1 ,pdata 
-01ea d8c0471e arg mem_usb_authca_data_sta ,contr 
-01eb d8a0475e arg mem_usb_authca_data_last ,contw 
-01ec 20407cda call memcpy 
-01ed 202033be branch g24_rx_interrupt_clear 
+01f2 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+01f3 1f20f3ff increase -1 ,loopcnt 
+01f4 d8a046df arg mem_usb_authca_data + 1 ,contw 
+01f5 d8c045ea arg mem_24g_rxdata_temp + 2 ,contr 
+01f6 20407cda call memcpy 
+01f7 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+01f8 1fe0ffff increase -1 ,pdata 
+01f9 d8a0471e arg mem_usb_authca_data_sta ,contw 
+01fa d8c046e0 arg mem_usb_authca_data + 2 ,contr 
+01fb 20407cda call memcpy 
+01fc 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+01fd 1fe0ffff increase -1 ,pdata 
+01fe da40471e arg mem_usb_authca_data_sta ,regb 
+01ff da20475e arg mem_usb_authca_data_last ,rega 
+0200 20407d64 call compare_loop 
+0201 24428211 ncall p_dongle_usb_tx_authca_data ,zero 
+0202 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0203 1fe0ffff increase -1 ,pdata 
+0204 d8c0471e arg mem_usb_authca_data_sta ,contr 
+0205 d8a0475e arg mem_usb_authca_data_last ,contw 
+0206 20407cda call memcpy 
+0207 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_audio_data:
-01ee 70479fa0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
-01ef 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-01f0 1fe0fe01 increase 1 ,pdata 
-01f1 67e0c79e store 1 ,mem_usb_audio_data 
-01f2 1fe27200 copy pdata ,loopcnt 
-01f3 d8c0479f arg mem_usb_audio_data + 1 ,contr 
-01f4 d8a008b5 arg mem_usb0_get_report_data ,contw 
-01f5 20407cda call memcpy 
-01f6 2020015a branch p_usb_get_report_enable 
+0208 70479fa0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
+0209 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+020a 1fe0ffff increase -1 ,pdata 
+020b 67e0c79e store 1 ,mem_usb_audio_data 
+020c 1fe27200 copy pdata ,loopcnt 
+020d d8c0479f arg mem_usb_audio_data + 1 ,contr 
+020e d8a008b5 arg mem_usb0_get_report_data ,contw 
+020f 20407cda call memcpy 
+0210 2020015d branch p_usb_get_report_enable 
 
 p_dongle_usb_tx_authca_data:
-01f7 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-01f8 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-01f9 1fe0fe01 increase 1 ,pdata 
-01fa 67e0c6de store 1 ,mem_usb_authca_data 
-01fb 1fe27200 copy pdata ,loopcnt 
-01fc d8c046df arg mem_usb_authca_data + 1 ,contr 
-01fd d8a008b5 arg mem_usb0_get_report_data ,contw 
-01fe 20407cda call memcpy 
-01ff 2020015a branch p_usb_get_report_enable 
+0211 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
+0212 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0213 1fe0fe01 increase 1 ,pdata 
+0214 67e0c6de store 1 ,mem_usb_authca_data 
+0215 1fe27200 copy pdata ,loopcnt 
+0216 d8c046df arg mem_usb_authca_data + 1 ,contr 
+0217 d8a008b5 arg mem_usb0_get_report_data ,contw 
+0218 20407cda call memcpy 
+0219 2020015d branch p_usb_get_report_enable 
 
 p_dongle_g24_keyboard:
-0200 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0201 c28381c2 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-0202 c28301d8 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-0203 202048e5 branch dongle_g24_kb 
+021a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+021b c28381e7 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+021c c28301f2 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+021d 202048e5 branch dongle_g24_kb 
 
 p_dongle_ackpayload_prep:
-0204 6fe0c589 fetch 1 ,mem_24g_data_type 
-0205 c0008208 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0206 c00148b7 beq datatype_device2 ,dongle_ackpayload_prep_keyboard 
-0207 20200208 branch p_dongle_ackpayload_prep_mouse 
+021e 6fe0c589 fetch 1 ,mem_24g_data_type 
+021f c0008222 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0220 c00148b7 beq datatype_device2 ,dongle_ackpayload_prep_keyboard 
+0221 20200222 branch p_dongle_ackpayload_prep_mouse 
 
 p_dongle_ackpayload_prep_mouse:
-0208 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0209 c28048bd bbit1 0 ,dongle_pc_sleep_ackpayload_prep_mouse 
-020a 2020020b branch p_dongle_ackpayload_prep_end 
+0222 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0223 c28048bd bbit1 0 ,dongle_pc_sleep_ackpayload_prep_mouse 
+0224 20200225 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_end:
-020b 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-020c c000c8c8 beq bind_ackpayload ,dongle_g24_bind_ackpayload_prep 
-020d c001c8cc beq kb_led_ackpayload ,dongle_g24_kb_led_ackpayload_prep 
-020e c0510210 beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
-020f 20600000 rtn 
+0225 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0226 c000c8c8 beq bind_ackpayload ,dongle_g24_bind_ackpayload_prep 
+0227 c001c8cc beq kb_led_ackpayload ,dongle_g24_kb_led_ackpayload_prep 
+0228 c051022a beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
+0229 20600000 rtn 
 
 p_dongle_ep2_ackpayload_prep:
-0210 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0211 6fe0c894 fetch 1 ,mem_dongle_usb_ep2_data_len 
-0212 67e0c588 store 1 ,mem_24g_datalen 
-0213 1fe27200 copy pdata ,loopcnt 
-0214 d8c04896 arg mem_dongle_g24_usb_ep2_ack_data + 1 ,contr 
-0215 d8a04519 arg mem_24g_txbuf ,contw 
-0216 20207c89 branch memcpy8 
+022a 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+022b 6fe0c894 fetch 1 ,mem_dongle_usb_ep2_data_len 
+022c 67e0c588 store 1 ,mem_24g_datalen 
+022d 1fe27200 copy pdata ,loopcnt 
+022e d8c04895 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
+022f d8a04519 arg mem_24g_txbuf ,contw 
+0230 20207c89 branch memcpy8 
 
 p_usb_tx_data_ep1:
-0217 6ff08c25 fetch 1 ,core_usb_txbusy 
-0218 1fe17e0f and_into 0x0f ,pdata 
-0219 247a0000 nrtn blank 
-021a 20207bf0 branch usb_tx_data_ep1 + 2 
+0231 6ff08c25 fetch 1 ,core_usb_txbusy 
+0232 1fe17e0f and_into 0x0f ,pdata 
+0233 247a0000 nrtn blank 
+0234 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-021b 6ff08c25 fetch 1 ,core_usb_txbusy 
-021c 1fe17e0f and_into 0x0f ,pdata 
-021d 247a0000 nrtn blank 
-021e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-021f c4010000 rtnbit0 2 
-0220 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0221 793ffe02 set0 2 ,pdata 
-0222 67e0890d store 1 ,mem_usb_tx_enable 
-0223 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0224 207a0000 rtn blank 
-0225 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0226 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0227 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0228 2020235a branch assert 
+0235 6ff08c25 fetch 1 ,core_usb_txbusy 
+0236 1fe17e0f and_into 0x0f ,pdata 
+0237 247a0000 nrtn blank 
+0238 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0239 c4010000 rtnbit0 2 
+023a 6fe0890d fetch 1 ,mem_usb_tx_enable 
+023b 793ffe02 set0 2 ,pdata 
+023c 67e0890d store 1 ,mem_usb_tx_enable 
+023d 6fe0890c fetch 1 ,mem_usb_ep2_data 
+023e 207a0000 rtn blank 
+023f c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0240 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0241 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+0242 2020235a branch assert 
 
 p_rx_dcoc:
-0229 20758000 rtn wake 
-022a 20402160 call set_sync_on 
-022b d8400027 arg 39 ,temp 
-022c 2040216f call set_freq_rx 
-022d 204021a6 call rf_rx_enable 
-022e 708a257f jam 0x7f ,0x8a25 
-022f 708a301a jam 0x1a ,0x8a30 
-0230 708a3178 jam 0x78 ,0x8a31 
-0231 708a8fb2 jam 0xb2 ,0x8a8f 
-0232 708ac200 jam 0 ,0x8ac2 
-0233 708ac300 jam 0 ,0x8ac3 
-0234 d8e00006 arg 6 ,queue 
-0235 20400246 call p_rx_dcoc_avg 
-0236 2a2ffe0d isolate1 13 ,rega 
-0237 2040211d call qset_start 
-0238 2a4ffe0d isolate1 13 ,regb 
-0239 2040211e call qset_p 
-023a d8e00005 arg 5 ,queue 
+0243 20758000 rtn wake 
+0244 20402160 call set_sync_on 
+0245 d8400027 arg 39 ,temp 
+0246 2040216f call set_freq_rx 
+0247 204021a6 call rf_rx_enable 
+0248 708a257f jam 0x7f ,0x8a25 
+0249 708a301a jam 0x1a ,0x8a30 
+024a 708a3178 jam 0x78 ,0x8a31 
+024b 708a8fb2 jam 0xb2 ,0x8a8f 
+024c 708ac200 jam 0 ,0x8ac2 
+024d 708ac300 jam 0 ,0x8ac3 
+024e d8e00006 arg 6 ,queue 
+024f 20400260 call p_rx_dcoc_avg 
+0250 2a2ffe0d isolate1 13 ,rega 
+0251 2040211d call qset_start 
+0252 2a4ffe0d isolate1 13 ,regb 
+0253 2040211e call qset_p 
+0254 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-023b 2040211c call qset1_p 
-023c 2040211e call qset_p 
-023d 20400246 call p_rx_dcoc_avg 
-023e d8a08ac2 arg 0x8ac2 ,contw 
-023f 1a31fe00 rshift4 rega ,pdata 
-0240 20402117 call qsetxor 
-0241 1a51fe00 rshift4 regb ,pdata 
-0242 20402117 call qsetxor 
-0243 18e08fff increase -1 ,queue 
-0244 2021023b branch p_rx_dcoc_loop2 ,positive 
-0245 2020214f branch rx_dcoc_loop2 + 10 
+0255 2040211c call qset1_p 
+0256 2040211e call qset_p 
+0257 20400260 call p_rx_dcoc_avg 
+0258 d8a08ac2 arg 0x8ac2 ,contw 
+0259 1a31fe00 rshift4 rega ,pdata 
+025a 20402117 call qsetxor 
+025b 1a51fe00 rshift4 regb ,pdata 
+025c 20402117 call qsetxor 
+025d 18e08fff increase -1 ,queue 
+025e 20210255 branch p_rx_dcoc_loop2 ,positive 
+025f 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0246 2000003c nop 60 
-0247 58000f00 setarg mem_dcoc_buf 
-0248 67f10982 store 2 ,0x8982 
-0249 58000ff0 setarg mem_dcoc_buf_end 
-024a 67f10984 store 2 ,0x8984 
-024b 70898109 jam 0x9 ,0x8981 
-024c 70898103 jam 0x3 ,0x8981 
-024d 70898006 jam 0x6 ,0x8980 
-024e 2000003c nop 60 
-024f da200000 arg 0 ,rega 
-0250 da400000 arg 0 ,regb 
-0251 df200010 arg 16 ,loopcnt 
-0252 d8c00f00 arg mem_dcoc_buf ,contr 
-0253 2020212d branch rx_dcoc_loop 
+0260 2000003c nop 60 
+0261 58000f00 setarg mem_dcoc_buf 
+0262 67f10982 store 2 ,0x8982 
+0263 58000ff0 setarg mem_dcoc_buf_end 
+0264 67f10984 store 2 ,0x8984 
+0265 70898109 jam 0x9 ,0x8981 
+0266 70898103 jam 0x3 ,0x8981 
+0267 70898006 jam 0x6 ,0x8980 
+0268 2000003c nop 60 
+0269 da200000 arg 0 ,rega 
+026a da400000 arg 0 ,regb 
+026b df200010 arg 16 ,loopcnt 
+026c d8c00f00 arg mem_dcoc_buf ,contr 
+026d 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0254 20758000 rtn wake 
-0255 20202272 branch rfpll_aac_ghpc + 1 
+026e 20758000 rtn wake 
+026f 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0256 20600000 rtn 
+0270 20600000 rtn 
 
 p_sadc_calibration:
-0257 20758000 rtn wake 
-0258 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0259 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-025a 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-025b 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-025c 67f080cd store 1 ,core_sadc_clkdiv 
-025d 20000bb8 nop 3000 
-025e 2040027f call p_sadc_read 
-025f 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0260 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0261 df200008 arg 8 ,loopcnt 
-0262 20406f58 call sadc_cal_read + 1 
-0263 6fe0c419 fetch 1 ,mem_spi_write_addr 
-0264 67e0c433 store 1 ,mem_adc_cal_c7 
-0265 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0266 20600000 rtn 
+0271 20758000 rtn wake 
+0272 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0273 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+0274 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0275 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0276 67f080cd store 1 ,core_sadc_clkdiv 
+0277 20000bb8 nop 3000 
+0278 20400299 call p_sadc_read 
+0279 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+027a 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+027b df200008 arg 8 ,loopcnt 
+027c 20406f58 call sadc_cal_read + 1 
+027d 6fe0c419 fetch 1 ,mem_spi_write_addr 
+027e 67e0c433 store 1 ,mem_adc_cal_c7 
+027f 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0280 20600000 rtn 
 
 p_enable_adc:
-0267 20400275 call p_sadc_cal_write 
-0268 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0269 793ffe07 set0 7 ,pdata 
-026a 67f08a09 store 1 ,core_gpadc_cfg1 
-026b 708a0777 jam 0x77 ,core_gpadc_ctrl 
-026c 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-026d 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-026e 20406f90 call sadc_channel 
-026f 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0270 67f080cd store 1 ,core_sadc_clkdiv 
-0271 20000bb8 nop 3000 
-0272 2040027f call p_sadc_read 
-0273 7080cd00 jam 0 ,core_sadc_clkdiv 
-0274 20206fa1 branch sadc_dma 
+0281 2040028f call p_sadc_cal_write 
+0282 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0283 793ffe07 set0 7 ,pdata 
+0284 67f08a09 store 1 ,core_gpadc_cfg1 
+0285 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0286 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0287 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0288 20406f90 call sadc_channel 
+0289 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+028a 67f080cd store 1 ,core_sadc_clkdiv 
+028b 20000bb8 nop 3000 
+028c 20400299 call p_sadc_read 
+028d 7080cd00 jam 0 ,core_sadc_clkdiv 
+028e 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-0275 6ff080cc fetch 1 ,core_sadc_ctrl 
-0276 79207e01 set1 1 ,pdata 
-0277 67f080cc store 1 ,core_sadc_ctrl 
-0278 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0279 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-027a 67e0c419 store 1 ,mem_spi_write_addr 
-027b df200008 arg 8 ,loopcnt 
-027c 20406f67 call sadc_cal_write + 4 
-027d 6240c419 storer regb ,1 ,mem_spi_write_addr 
-027e 20600000 rtn 
+028f 6ff080cc fetch 1 ,core_sadc_ctrl 
+0290 79207e01 set1 1 ,pdata 
+0291 67f080cc store 1 ,core_sadc_ctrl 
+0292 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0293 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+0294 67e0c419 store 1 ,mem_spi_write_addr 
+0295 df200008 arg 8 ,loopcnt 
+0296 20406f67 call sadc_cal_write + 4 
+0297 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0298 20600000 rtn 
 
 p_sadc_read:
-027f 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0299 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-0280 6ff08129 fetch 1 ,core_perf_status 
-0281 c3028280 bbit0 saradc_done ,p_sadc_read_wait 
-0282 68590164 fetcht 2 ,core_sadc_data 
-0283 6049440a storet 2 ,mem_adc_current_value 
-0284 7080cc00 jam 0x00 ,core_sadc_ctrl 
-0285 20600000 rtn 
+029a 6ff08129 fetch 1 ,core_perf_status 
+029b c302829a bbit0 saradc_done ,p_sadc_read_wait 
+029c 68590164 fetcht 2 ,core_sadc_data 
+029d 6049440a storet 2 ,mem_adc_current_value 
+029e 7080cc00 jam 0x00 ,core_sadc_ctrl 
+029f 20600000 rtn 
 
 p_set_lemode:
-0286 708a8211 jam 0x11 ,0x8a82 
-0287 708a8d12 jam 0x12 ,0x8a8d 
-0288 708a8e0a jam 0x0a ,0x8a8e 
-0289 6fe0c099 fetch 1 ,mem_fcomp_div 
-028a c008029f beq xtal_16m ,p_set_lemode_2m_16m 
-028b 58005762 setarg 0x5762 
-028c 67f10907 store 2 ,0x8907 
+02a0 708a8211 jam 0x11 ,0x8a82 
+02a1 708a8d12 jam 0x12 ,0x8a8d 
+02a2 708a8e0a jam 0x0a ,0x8a8e 
+02a3 6fe0c099 fetch 1 ,mem_fcomp_div 
+02a4 c00802b9 beq xtal_16m ,p_set_lemode_2m_16m 
+02a5 58005762 setarg 0x5762 
+02a6 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-028d 70890103 jam 3 ,0x8901 
-028e 70893003 jam 3 ,0x8930 
-028f c6168000 rtnmark1 mark_ble_2m 
-0290 70890101 jam 1 ,0x8901 
-0291 708a8207 jam 0x07 ,0x8a82 
-0292 708a8d44 jam 0x44 ,0x8a8d 
-0293 708a8e0a jam 0x0a ,0x8a8e 
-0294 6fe0c099 fetch 1 ,mem_fcomp_div 
-0295 c008029c beq xtal_16m ,p_set_lemode_1m_16m 
-0296 58002bb1 setarg 0x2bb1 
-0297 67f10907 store 2 ,0x8907 
+02a7 70890103 jam 3 ,0x8901 
+02a8 70893003 jam 3 ,0x8930 
+02a9 c6168000 rtnmark1 mark_ble_2m 
+02aa 70890101 jam 1 ,0x8901 
+02ab 708a8207 jam 0x07 ,0x8a82 
+02ac 708a8d44 jam 0x44 ,0x8a8d 
+02ad 708a8e0a jam 0x0a ,0x8a8e 
+02ae 6fe0c099 fetch 1 ,mem_fcomp_div 
+02af c00802b6 beq xtal_16m ,p_set_lemode_1m_16m 
+02b0 58002bb1 setarg 0x2bb1 
+02b1 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-0298 c6978000 rtnmark0 mark_ble_lr 
-0299 70893024 jam 0x24 ,0x8930 
-029a 70890105 jam 5 ,0x8901 
-029b 20600000 rtn 
+02b2 c6978000 rtnmark0 mark_ble_lr 
+02b3 70893024 jam 0x24 ,0x8930 
+02b4 70890105 jam 5 ,0x8901 
+02b5 20600000 rtn 
 
 p_set_lemode_1m_16m:
-029c 58004189 setarg 0x4189 
-029d 67f10907 store 2 ,0x8907 
-029e 20200298 branch p_set_lemode_1m 
+02b6 58004189 setarg 0x4189 
+02b7 67f10907 store 2 ,0x8907 
+02b8 202002b2 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-029f 58008312 setarg 0x8312 
-02a0 67f10907 store 2 ,0x8907 
-02a1 2020028d branch p_set_lemode_2m 
+02b9 58008312 setarg 0x8312 
+02ba 67f10907 store 2 ,0x8907 
+02bb 202002a7 branch p_set_lemode_2m 
 
 p_le_parse:
-02a2 6fe0c334 fetch 1 ,mem_le_packet_llid 
-02a3 c1000000 rtneq llid_reserved 
-02a4 c001b04a beq llid_le_ll ,le_parse_ll 
-02a5 202028e1 branch le_parse_l2cap 
+02bc 6fe0c334 fetch 1 ,mem_le_packet_llid 
+02bd c1000000 rtneq llid_reserved 
+02be c001b04a beq llid_le_ll ,le_parse_ll 
+02bf 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-02a6 793f8030 set0 mark_ble_crc_fail ,mark 
-02a7 20202af6 branch le_init_adv + 1 
+02c0 793f8030 set0 mark_ble_crc_fail ,mark 
+02c1 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-02a8 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-02a9 c0553329 beq datatype_bind ,g24_bind_first_step 
-02aa c02ab33a beq datatype_config ,g24_bind_second_step 
-02ab c01102ae beq datatype_ok ,p_g24_bind_third_step 
-02ac c07fb59b beq datatype_attemp ,g24_data_attemp 
-02ad 20600000 rtn 
+02c2 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+02c3 c0553329 beq datatype_bind ,g24_bind_first_step 
+02c4 c02ab33a beq datatype_config ,g24_bind_second_step 
+02c5 c01102c8 beq datatype_ok ,p_g24_bind_third_step 
+02c6 c07fb59b beq datatype_attemp ,g24_data_attemp 
+02c7 20600000 rtn 
 
 p_g24_bind_third_step:
-02ae 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-02af 203a02b4 branch p_g24_bind_third_step_skip ,blank 
-02b0 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-02b1 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-02b2 98467c00 isub temp ,null 
-02b3 24628000 nrtn zero 
+02c8 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+02c9 203a02ce branch p_g24_bind_third_step_skip ,blank 
+02ca 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+02cb 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+02cc 98467c00 isub temp ,null 
+02cd 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-02b4 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-02b5 c00082b8 beq datatype_device1 ,p_g24_bind_third_step_device1 
-02b6 c00102bf beq datatype_device2 ,p_g24_bind_third_step_device2 
-02b7 20600000 rtn 
+02ce 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+02cf c00082d2 beq datatype_device1 ,p_g24_bind_third_step_device1 
+02d0 c00102d9 beq datatype_device2 ,p_g24_bind_third_step_device2 
+02d1 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-02b8 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-02b9 247a0000 nrtn blank 
-02ba 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-02bb c00102bd beq 2 ,p_g24_bind_dvc1_step_success 
-02bc 20600000 rtn 
+02d2 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+02d3 247a0000 nrtn blank 
+02d4 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+02d5 c00102d7 beq 2 ,p_g24_bind_dvc1_step_success 
+02d6 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-02bd 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-02be 2020336b branch g24_bind_dvc1_step_success + 1 
+02d7 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+02d8 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-02bf 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-02c0 247a0000 nrtn blank 
-02c1 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-02c2 c08002c4 bne 0 ,p_g24_bind_dvc2_step_success 
-02c3 20600000 rtn 
+02d9 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+02da 247a0000 nrtn blank 
+02db 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+02dc c08002de bne 0 ,p_g24_bind_dvc2_step_success 
+02dd 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-02c4 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-02c5 20403393 call g24_binding_dvc2_living 
-02c6 20203378 branch g24_bind_dvc2_step_success + 1 
+02de 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+02df 20403393 call g24_binding_dvc2_living 
+02e0 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-02c7 6fe0c616 fetch 1 ,mem_24g_work_mode 
-02c8 c1000000 rtneq dongle_work 
-02c9 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-02ca 247a0000 nrtn blank 
-02cb 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-02cc 247a0000 nrtn blank 
-02cd 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-02ce 207a0000 rtn blank 
-02cf 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-02d0 c1800000 rtnne 0 
-02d1 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-02d2 c1800000 rtnne 0 
-02d3 20203436 branch g24_mode_switch_bind_search + 9 
+02e1 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02e2 c1000000 rtneq dongle_work 
+02e3 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+02e4 247a0000 nrtn blank 
+02e5 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+02e6 247a0000 nrtn blank 
+02e7 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+02e8 207a0000 rtn blank 
+02e9 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+02ea c1800000 rtnne 0 
+02eb 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+02ec c1800000 rtnne 0 
+02ed 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-02d4 6fe0c616 fetch 1 ,mem_24g_work_mode 
-02d5 c1808000 rtnne dongle_bind 
-02d6 204002d8 call p_g24_bind_init 
-02d7 2020346d branch g24_bind_mode_auto + 4 
+02ee 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02ef c1808000 rtnne dongle_bind 
+02f0 204002f2 call p_g24_bind_init 
+02f1 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-02d8 6fe0c615 fetch 1 ,mem_24g_mode_init 
-02d9 c3808000 rtnbit1 dongle_bind 
-02da 79207e01 set1 dongle_bind ,pdata 
-02db 67e0c615 store 1 ,mem_24g_mode_init 
-02dc 58000000 setarg 0 
-02dd 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-02de 20203307 branch g24_bind_init + 8 
+02f2 6fe0c615 fetch 1 ,mem_24g_mode_init 
+02f3 c3808000 rtnbit1 dongle_bind 
+02f4 79207e01 set1 dongle_bind ,pdata 
+02f5 67e0c615 store 1 ,mem_24g_mode_init 
+02f6 58000000 setarg 0 
+02f7 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+02f8 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-02df 70804300 jam 0 ,0x8043 
-02e0 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-02e1 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-02e2 20407906 call usb_isr 
-02e3 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-02e4 207a0000 rtn blank 
-02e5 7008f700 jam 0 ,mem_usb0_get_set_report 
-02e6 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-02e7 d84002ba arg pc_set_report ,temp 
-02e8 98467c00 isub temp ,null 
-02e9 24628000 nrtn zero 
-02ea 20200156 branch p_dongle_usb_data_received_analysis 
+02f9 70804300 jam 0 ,0x8043 
+02fa 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+02fb 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+02fc 20407906 call usb_isr 
+02fd 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+02fe 207a0000 rtn blank 
+02ff 7008f700 jam 0 ,mem_usb0_get_set_report 
+0300 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0301 d84002a4 arg pc_set_report ,temp 
+0302 98467c00 isub temp ,null 
+0303 24628000 nrtn zero 
+0304 20200159 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-02eb 58000010 setarg 16 
-02ec 202070c8 branch wdt_init_config 
+0305 58000010 setarg 16 
+0306 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-02ed 204047c3 call dongle_default_init + 1 
-02ee 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-02ef 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-02f0 7045ca00 jam off ,mem_24g_disable_fec1 
-02f1 20403281 call g24_enable_1m 
-02f2 6fe0c669 fetch 1 ,mem_dg_sys_config 
-02f3 c4000000 rtnbit0 dg_enable_new_revision 
-02f4 7045ca01 jam on ,mem_24g_disable_fec1 
-02f5 20203284 branch g24_enable_2m 
+0307 204047c3 call dongle_default_init + 1 
+0308 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0309 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+030a 7045ca00 jam off ,mem_24g_disable_fec1 
+030b 20403281 call g24_enable_1m 
+030c 6fe0c669 fetch 1 ,mem_dg_sys_config 
+030d c4000000 rtnbit0 dg_enable_new_revision 
+030e 7045ca01 jam on ,mem_24g_disable_fec1 
+030f 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-02f6 7858fc00 disable user7 
-02f7 280ffe2f isolate1 mark_ble_lr ,mark 
-02f8 2040b16f call g24_lr_receive_pdu_len ,true 
-02f9 2038b18a branch g24_lr_len_error ,user7 
-02fa 2040317d call g24_receive_byte 
-02fb 67e0c4f7 store 1 ,mem_24g_rxbuf 
-02fc c5138301 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-02fd 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-02fe 6848c589 fetcht 1 ,mem_24g_data_type 
-02ff a8400e00 icompare bits_data ,temp 
-0300 2420b18c nbranch g24_type_error ,true 
+0310 7858fc00 disable user7 
+0311 280ffe2f isolate1 mark_ble_lr ,mark 
+0312 2040b16f call g24_lr_receive_pdu_len ,true 
+0313 2038b18a branch g24_lr_len_error ,user7 
+0314 2040317d call g24_receive_byte 
+0315 67e0c4f7 store 1 ,mem_24g_rxbuf 
+0316 c513831b bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0317 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+0318 6848c589 fetcht 1 ,mem_24g_data_type 
+0319 a8400e00 icompare bits_data ,temp 
+031a 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0301 2040317d call g24_receive_byte 
-0302 280ffe2f isolate1 mark_ble_lr ,mark 
-0303 2040b178 call g24_lr_receive_payload_len ,true 
-0304 e7e08005 istore 1 ,contw 
-0305 1fe90400 rshift3 pdata ,temp 
-0306 2feffe00 isolate1 0 ,pdata 
-0307 2040830e call p_g24_receive_payload_len_ext ,true 
-0308 18427e00 copy temp ,pdata 
-0309 1fe67c3f sub pdata ,0x3f ,null 
-030a 2421318e nbranch g24_len_over_error ,positive 
-030b 1fe27200 copy pdata ,loopcnt 
-030c 2022b154 branch g24rx_nopayload ,zero 
-030d 20203151 branch g24rx_loop 
+031b 2040317d call g24_receive_byte 
+031c 280ffe2f isolate1 mark_ble_lr ,mark 
+031d 2040b178 call g24_lr_receive_payload_len ,true 
+031e e7e08005 istore 1 ,contw 
+031f 1fe90400 rshift3 pdata ,temp 
+0320 2feffe00 isolate1 0 ,pdata 
+0321 20408328 call p_g24_receive_payload_len_ext ,true 
+0322 18427e00 copy temp ,pdata 
+0323 1fe67c3f sub pdata ,0x3f ,null 
+0324 2421318e nbranch g24_len_over_error ,positive 
+0325 1fe27200 copy pdata ,loopcnt 
+0326 2022b154 branch g24rx_nopayload ,zero 
+0327 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-030e 79200405 set1 5 ,temp 
-030f 20600000 rtn 
+0328 79200405 set1 5 ,temp 
+0329 20600000 rtn 
 
 p_g24_receive_skip_end:
-0310 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0311 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0312 7837fc00 enable user3 
-0313 20000018 nop 24 
-0314 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0315 79207e00 set1 bit_ack_24g ,pdata 
-0316 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0317 204033a5 call g24_ackpayload_prep 
-0318 204031e5 call g24_transmit_prep 
-0319 20203195 branch g24_transmit 
+032a 6fe0c669 fetch 1 ,mem_dg_sys_config 
+032b c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+032c 7837fc00 enable user3 
+032d 20000018 nop 24 
+032e 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+032f 79207e00 set1 bit_ack_24g ,pdata 
+0330 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0331 204033a5 call g24_ackpayload_prep 
+0332 204031e5 call g24_transmit_prep 
+0333 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-031a 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-031b 1fe90400 rshift3 pdata ,temp 
-031c 2feffe00 isolate1 0 ,pdata 
-031d 2040830e call p_g24_receive_payload_len_ext ,true 
-031e 18427e00 copy temp ,pdata 
-031f 67e0c57d store 1 ,mem_24g_rxdata_length 
-0320 1fe0fe01 increase 1 ,pdata 
-0321 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-0322 98c08c00 iadd contr ,contr 
-0323 efe18006 ifetch 3 ,contr 
-0324 67e1c580 store 3 ,mem_24g_sta_crc 
-0325 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0326 1fe37e00 rshift pdata ,pdata 
-0327 1fe17e03 and pdata ,0x03 ,pdata 
-0328 67e0c586 store 1 ,mem_24g_sta_pid 
-0329 20600000 rtn 
+0334 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0335 1fe90400 rshift3 pdata ,temp 
+0336 2feffe00 isolate1 0 ,pdata 
+0337 20408328 call p_g24_receive_payload_len_ext ,true 
+0338 18427e00 copy temp ,pdata 
+0339 67e0c57d store 1 ,mem_24g_rxdata_length 
+033a 1fe0fe01 increase 1 ,pdata 
+033b d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+033c 98c08c00 iadd contr ,contr 
+033d efe18006 ifetch 3 ,contr 
+033e 67e1c580 store 3 ,mem_24g_sta_crc 
+033f 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0340 1fe37e00 rshift pdata ,pdata 
+0341 1fe17e03 and pdata ,0x03 ,pdata 
+0342 67e0c586 store 1 ,mem_24g_sta_pid 
+0343 20600000 rtn 
               org 0x2000
 
 start:
@@ -14499,13 +14537,13 @@
 47cb 6fe0c694 fetch 1 ,mem_dg_24g_tx_power_default 
 47cc 67e0c141 store 1 ,mem_tx_power 
 47cd 7045d2ff jam 0xff ,mem_rssi_buff_index 
-47ce 5800099f setarg mem_dg_rssi_noise_buffer 
+47ce 580009a0 setarg mem_dg_rssi_noise_buffer 
 47cf 67e14640 store 2 ,mem_rssi_noise_buffer_ptr 
-47d0 58000a9f setarg mem_dg_rssi_noise_dg_buffer 
+47d0 58000aa0 setarg mem_dg_rssi_noise_dg_buffer 
 47d1 67e14642 store 2 ,mem_rssi_noise_self_buffer_ptr 
-47d2 58000b9f setarg mem_dg_rssi_noise_ms_buffer 
+47d2 58000ba0 setarg mem_dg_rssi_noise_ms_buffer 
 47d3 67e14644 store 2 ,mem_rssi_noise_device1_buffer_ptr 
-47d4 58000c9f setarg mem_dg_rssi_noise_kb_buffer 
+47d4 58000ca0 setarg mem_dg_rssi_noise_kb_buffer 
 47d5 67e14646 store 2 ,mem_rssi_noise_device2_buffer_ptr 
 47d6 7045d185 jam tx_power_f5db ,mem_24g_pair_tx_power 
 47d7 70469200 jam 0 ,mem_dg_kb_bind_success 
@@ -14720,7 +14758,7 @@
 486c 207a0000 rtn blank 
 486d 7008f700 jam 0 ,mem_usb0_get_set_report 
 486e 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-486f d84002ba arg pc_set_report ,temp 
+486f d84002a4 arg pc_set_report ,temp 
 4870 98467c00 isub temp ,null 
 4871 24628000 nrtn zero 
 4872 6fe08875 fetch 1 ,mem_usb0_set_report_data 
Index: output/romcode.rom
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/romcode.rom	(revision 3134)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/romcode.rom	(working copy)
@@ -10188,13 +10188,13 @@
 6fe0c694
 67e0c141
 7045d2ff
-5800099f
+580009a0
 67e14640
-58000a9f
+58000aa0
 67e14642
-58000b9f
+58000ba0
 67e14644
-58000c9f
+58000ca0
 67e14646
 7045d185
 70469200
@@ -10349,7 +10349,7 @@
 207a0000
 7008f700
 6fe108f5
-d84002ba
+d84002a4
 98467c00
 24628000
 6fe08875
@@ -24573,4 +24573,4 @@
 00000000
 00000000
 00000000
-0000def0
\ No newline at end of file
+00008169
\ No newline at end of file
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3134)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -47,10 +47,10 @@
 	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_main_loop:
 ifdef SECURE_CONNECTION
 	call sp_calc_sequence_256
@@ -65,25 +65,25 @@
 	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_initialize_radio_cont:
 	jam 0x0d,0x8946
 	jam 0x10,0x896f
-	
+
 	jam 0x10,0x8a06
 	jam 0x4a,0x8a84
 	jam 0x40,0x8a85
@@ -92,13 +92,13 @@
 //	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
-	
+
 	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
@@ -108,10 +108,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
@@ -132,7 +132,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
@@ -140,7 +140,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
@@ -149,7 +149,7 @@
 	nop 20
 	jam 0x9f,0x8a00
 	rtn
-	
+
 p_initialize_radio_16m:
 	fetch 1,mem_ring_ibias_trim
 	or_into 0x06,pdata
@@ -160,8 +160,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
@@ -173,29 +173,29 @@
 	branch set_tx_power+2
 
 p_set_tx_power_10db:
-	jam 0x25,0x8a14 
+	jam 0x25,0x8a14
 	setarg 0xa93f3f
 	store 3,0x8a60
-	jam 0x1f,0x8a63 
+	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
@@ -207,7 +207,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
@@ -221,7 +221,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
@@ -229,9 +229,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
@@ -246,7 +246,7 @@
 	fetch 1,0x8a06
 	setflag true,7,pdata
 	store 1,0x8a06
-	
+
 	fetch 1,mem_otp_dpll_ibais
 	and pdata,7,temp
 	lshift4 temp,temp
@@ -257,7 +257,7 @@
 	ior temp,pdata
 	store 1,0x8a02
 	rtn
-	
+
 p_set_otp_config_wake:
 	fetch 2,mem_otp_charge_pump_x
 	rtn blank
@@ -281,15 +281,15 @@
 	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_isr:
@@ -298,7 +298,7 @@
 	call p_usb_init_restart,true
 	branch usb_isr+4
 
-	
+
 p_usb_init:
 	call enable_authrom
 	call usb_init_param
@@ -346,7 +346,7 @@
 	copy rega,contw
 	branch usb_rx_read
 
-	
+
 p_usb_rx_data_out:
 	fetch 1,mem_usb_read_len
 	sub pdata,2,null
@@ -356,12 +356,12 @@
 	ifetch 1,contr
 	store 1,mem_dongle_usb_opcode
 	ifetcht 1,contr
-	copy contr,rega	
+	copy contr,rega
 	storet 1,mem_dongle_usb_len
 	add temp,3,temp
 	fetch 2,mem_usb_read_len
 	isub temp,temp
-	nbranch p_dongle_hci_event_invalid_packet,positive	
+	nbranch p_dongle_hci_event_invalid_packet,positive
 	branch p_dongle_usb_hci_cmd_control
 p_dongle_usb_hci_cmd_control:
 	fetch 1,mem_dongle_usb_opcode
@@ -376,16 +376,16 @@
 	jam REPORT_ID_DATA_OUT,mem_dongle_usb_ep2_data_flag
 	call p_dongle_usb_ack_prep
 	branch p_usb_get_report_disable
-	
-p_dongle_hci_event_invalid_packet:	
+
+p_dongle_hci_event_invalid_packet:
 	jam 0x06,mem_usb_device_info_data
 	jam 0xA3,mem_usb_device_info_data+1
 	arg 1,temp
-p_dongle_hci_event_ack_packet:	
+p_dongle_hci_event_ack_packet:
 	arg 0,rega
 	fetch 1,mem_dongle_usb_opcode
 	copy pdata,regc
-p_dongle_hci_event_packet:	
+p_dongle_hci_event_packet:
 	jam  HCI_EVENT_CMD_RES,mem_dongle_usb_opcode
 	setarg 2
 	iadd rega,pdata
@@ -404,24 +404,23 @@
 	call memcpy
 	fetch 1,mem_dongle_usb_ep2_data_flag
 	store 1,mem_usb0_get_report_data
-	branch p_usb_get_report_enable	
+	branch p_usb_get_report_enable
+
 
-	
 
 p_usb_rx_data_authca_out:
 	jam REPORT_ID_AUTHCA_DATA_OUT,mem_dongle_usb_ep2_data_flag
 	branch p_dongle_usb_ack_prep
 
 p_dongle_usb_ack_prep:
-	fetchr loopcnt,2,mem_usb_read_len
-	storer loopcnt,1,mem_dongle_g24_usb_ep2_ack_data
-	arg mem_usb_setup,contr
-	arg mem_dongle_g24_usb_ep2_ack_data+1,contw
+	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
+	fetchr loopcnt,1,mem_usb0_set_report_data+1		//a4(1byte)+len(1byte)+n(byte)data
+	increase 2,loopcnt
+	storer loopcnt,1,mem_dongle_usb_ep2_data_len
+	arg mem_usb0_set_report_data,contr
+	arg mem_dongle_g24_usb_ep2_ack_data,contw
 	branch memcpy
-	
-	
 
-	
 p_usb_rx:
 	fetch 1,mem_usb_status
 	rtnbit0 USB_STATUS_RXREADY
@@ -433,10 +432,11 @@
 	beq 1,p_setreport_next_page_data
 	arg mem_usb_setup,contw
 	call usb_rx_read
-p_usb_rx_next:	
+	branch 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
@@ -454,16 +454,18 @@
 p_usb_get_report_disable:
 	jam 0,mem_usb0_data_ready_report
 	rtn
-	
+
 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
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
 	jam 0x03,core_usb_clear_nak
 	rtn
 
@@ -479,23 +481,68 @@
 	set0 mark_isstr,mark
 	fetch 1,mem_usb_setup_bmRequestType
 	and_into 0x80,pdata
-	beq IN_DEVICE,usb_in_device
+	beq IN_DEVICE,p_usb_in_device
 	beq OUT_DEVICE,p_usb_out_device
 	branch assert
 
+p_usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_in_standard_req
+	beq CLASS_REQ,p_usb_in_class_req
+	beq MANUFACTURER_REQ,usb_in_manufacturer_req
+	branch assert
+
+p_usb_in_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_IDLE,usb_get_idle
+	beq GET_REPORT,p_usb_get_report
+	beq GET_PROTOCOL,usb_get_protocol_req
+	branch usb0_force_stall
+
+p_usb_get_report:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT_NEW,temp
+	isub temp,null
+	branch p_usb_get_report_dispose,zero
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT_NEW2,temp
+	isub temp,null
+	branch p_usb_get_report_dispose,zero
+	branch usb0_force_stall
+p_usb_get_report_dispose:
+	fetch 1,mem_usb0_data_ready_report
+	nbranch p_usb_get_report_data_success,blank
+	jam PC_GET_NONDATA,mem_usb0_get_report_data
+	branch usb_get_report_send_data
+
+
+p_usb_get_report_data_self:
+	jam USB_EP2_MS,mem_usb_ep2_data
+	arg mem_usb0_get_report_data,rega
+	force 0x32,regb
+	branch usb0_respond
+
+
+p_usb_get_report_data_success:
+	jam 0,mem_usb0_data_ready_report
+	branch usb_get_report_send_data
+
 p_usb_out_device:
 	fetch 1,mem_usb_setup_bmRequestType
 	rshift4 pdata,pdata
 	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
 p_usb0_request_get_descriptor:
 	fetch 1,mem_usb_setup_bValueH
 	beq DSC_DEVICE,dsc_device_info
-	beq DSC_CONFIG,p_dsc_config_info	
+	beq DSC_CONFIG,p_dsc_config_info
 	beq DSC_STRING,dsc_string_info
 	beq DSC_HID,dsc_hid_info
 	beq DSC_HID_REPORT,dsc_hid_report_info
@@ -504,7 +551,7 @@
 	setarg mem_config_new
 	fetcht 1,mem_config_new
 	branch dsc_info_set_data_len
-	
+
 p_usb_out_class_req:
 	fetch 1,mem_usb_setup_bRequest
 	beq SET_IDLE,usb_set_idle
@@ -522,7 +569,7 @@
 	fetch 2,mem_usb_setup_bValue
 	store 2,mem_usb_setup_bValue_temp
 	jam 0x3,core_usb_clear_nak
-	branch  usb_set_report_next	
+	branch  usb_set_report_next
 p_usb_set_report_delay:
 	fetch 1,mem_setreport_count
 	pincrease 1
@@ -560,8 +607,7 @@
 	and pdata,0x0f,pdata
 	beq DATATYPE_DEVICE1,g24_data_device1
 	beq DATATYPE_DEVICE2,g24_data_device2
-	branch g24_rx_interrupt_clear	
-
+	branch g24_rx_interrupt_clear
 
 p_dongle_g24_mouse:
 	fetch 1,mem_24g_rxdata_temp+2
@@ -577,7 +623,7 @@
 	fetch 1,mem_dongle_g24_usb_ep2_ack_data
 	store 1,mem_dongle_usb_ep2_data_len
 	copy pdata,loopcnt
-	arg mem_dongle_g24_usb_ep2_ack_data,contr
+	arg mem_dongle_g24_usb_ep2_ack_data+1,contr
 	arg mem_dongle_24g_ep2_data,contw
 	branch memcpy
 
@@ -592,49 +638,52 @@
 	arg mem_usb_audio_data_sta,contw
 	arg mem_usb_audio_data+3,contr
 	call memcpy
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_audio_data_sta,regb
-	arg mem_usb_audio_data_last,rega
-	call compare_loop
-	ncall p_dongle_usb_tx_audio_data,zero
-	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_audio_data_sta,contr
-	arg mem_usb_audio_data_last,contw
-	call memcpy
-	branch g24_rx_interrupt_clear	
+	branch p_dongle_usb_tx_audio_data
+	// fetchr loopcnt,1,mem_24g_rxdata_length
+	// increase -1,pdata
+	// arg mem_usb_audio_data_sta,regb
+	// arg mem_usb_audio_data_last,rega
+	// call compare_loop
+	// ncall p_dongle_usb_tx_audio_data,zero
+	// fetchr loopcnt,1,mem_24g_rxdata_length
+	// increase -1,pdata
+	// arg mem_usb_audio_data_sta,contr
+	// arg mem_usb_audio_data_last,contw
+	// call memcpy
+	// branch g24_rx_interrupt_clear
+
 p_dongle_g24_mouse_authca_data:
 	fetchr loopcnt,1,mem_24g_rxdata_length
-	increase -1,pdata
-	arg mem_usb_authca_data+3,contw
-	arg mem_24g_rxdata_temp+3,contr
+	increase -1,loopcnt
+	arg mem_usb_authca_data+1,contw
+	arg mem_24g_rxdata_temp+2,contr
 	call memcpy
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,pdata
 	arg mem_usb_authca_data_sta,contw
-	arg mem_usb_authca_data+3,contr
+	arg mem_usb_authca_data+2,contr
 	call memcpy
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,pdata
 	arg mem_usb_authca_data_sta,regb
 	arg mem_usb_authca_data_last,rega
 	call compare_loop
-	ncall p_dongle_usb_tx_audio_data,zero
+	ncall p_dongle_usb_tx_authca_data,zero
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,pdata
 	arg mem_usb_authca_data_sta,contr
 	arg mem_usb_authca_data_last,contw
 	call memcpy
-	branch g24_rx_interrupt_clear	
+	branch g24_rx_interrupt_clear
+
 p_dongle_usb_tx_audio_data:	// all length 1B + IN_DATA_ID 1B + payload length 1B + payload N*B
-	jam REPORT_ID_AUDIO_DATA_IN,mem_usb_audio_data+1
-	fetch 1,mem_24g_rxdata_length
-	increase 1,pdata
+	jam REPORT_ID_AUDIO_DATA_IN,mem_usb_audio_data+1	//mem_usb_audio_data 03 41 02 00
+	fetch 1,mem_24g_rxdata_length						//mem_usb_audio_data 03 a1 02 00
+	increase -1,pdata
 	store 1,mem_usb_audio_data
 	copy pdata,loopcnt
 	arg mem_usb_audio_data+1,contr
-	arg mem_usb0_get_report_data,contw
+	arg mem_usb0_get_report_data,contw					//mem_usb0_get_report_data a1 02 02 00
 	call memcpy
 	branch p_usb_get_report_enable
 p_dongle_usb_tx_authca_data:
@@ -647,13 +696,14 @@
 	arg mem_usb0_get_report_data,contw
 	call memcpy
 	branch p_usb_get_report_enable
-p_dongle_g24_keyboard:	
+	//branch p_usb_get_report_data_self
+p_dongle_g24_keyboard:
 	fetch 1,mem_24g_rxdata_temp+2
 	bbit1 DATATYPE_AUDIO,p_dongle_g24_mouse_audio_data		//reserve
 	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
 	branch dongle_g24_kb
 
-	
+
 p_dongle_ackpayload_prep:
 	fetch 1,mem_24g_data_type
 	beq DATATYPE_DEVICE1,p_dongle_ackpayload_prep_mouse
@@ -674,10 +724,10 @@
 	fetch 1,mem_dongle_usb_ep2_data_len
 	store 1,mem_24g_datalen
 	copy pdata,loopcnt
-	arg mem_dongle_g24_usb_ep2_ack_data+1,contr
+	arg mem_dongle_g24_usb_ep2_ack_data,contr
 	arg mem_24g_txbuf,contw
 	branch memcpy8
-	
+
 p_usb_tx_data_ep1:
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
@@ -703,7 +753,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
@@ -739,7 +789,7 @@
 	store 2,0x8984
 	jam 0x9,0x8981
 	jam 0x3,0x8981
-	jam 0x6,0x8980	
+	jam 0x6,0x8980
 	nop 60
 	arg 0,rega
 	arg 0,regb
@@ -750,7 +800,7 @@
 p_rfpll_aac_ghpc:
 	rtn wake
 	branch rfpll_aac_ghpc+1
-	
+
 p_dpll_ring_ibias_calc:
 	rtn
 
@@ -809,7 +859,7 @@
 	storet 2,mem_adc_current_value
 	jam 0x00,core_sadc_ctrl
 	rtn
-	
+
 p_set_lemode:
 	jam 0x11,0x8a82
 	jam 0x12,0x8a8d
@@ -851,9 +901,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:
@@ -898,7 +948,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
@@ -942,6 +992,7 @@
 	isub temp,null
 	nrtn zero
 	branch p_dongle_usb_data_received_analysis
+
 p_wdt_kick:
 	setarg 16	//about 125ms
 	branch wdt_init_config
@@ -951,10 +1002,10 @@
 	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
@@ -997,7 +1048,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
@@ -1055,9 +1106,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
@@ -1118,7 +1169,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
@@ -1134,7 +1185,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
@@ -1148,7 +1199,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
@@ -1162,7 +1213,7 @@
 	fetch 1,core_uart_status
 	bbit1 uart_status_tx_busy,uart_wait
 //	nop 12000
-	rtn	
+	rtn
 
 log_len0:
 	call uarta_prepare_tx
@@ -1199,4 +1250,4 @@
 	istore 1,contwu
 	branch uarta_send
 
-endif	
+endif
Index: program/usb.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/usb.prog	(revision 3134)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/usb.prog	(working copy)
@@ -44,7 +44,7 @@
 	arg mem_usb_clear_mem_start,contw
 	isub contw,loopcnt
 	branch clear_mem
-	
+
 usb_offline_check_init:
 	fetcht 1,mem_usb_offline_check_gpio
 	branch gpio_config_input
@@ -102,7 +102,7 @@
 	arg USB_DEVICEDATA_ADDR,contr
 	arg mem_devicedesc,contw
 	arg 19,loopcnt
-	call memcpy	
+	call memcpy
 	arg USB_CONFDATA_ADDR,contr
 	arg mem_confdesc,contw
 	arg 60,loopcnt
@@ -132,14 +132,14 @@
 	fetch 1,mem_usb_status
 	bbit1 USB_STATUS_NAK,usb_nak_state_timer_init
 	rtn
-	
+
 usb_nak_state_timer_init:
 	call usb0_attached_state_judge
 	call timer_reinit
 	setarg TIMER_NAK_DELAY
 	arg USB_TIMER_NAK,queue
 	branch timer_init
-	
+
 usb0_attached_state_judge:
 	fetch 1,mem_usb_state
 	bne USB_CONNECTED,usb_clear_halt_dispose
@@ -205,7 +205,7 @@
 	call usb_rx_read
 	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
 usb_class_type:
@@ -240,7 +240,7 @@
 	rshift pdata,pdata
 	and_into 0x03,pdata
 	beq STANDARD_REQ,usb_out_standard_req
-	beq CLASS_REQ,usb_out_class_req	
+	beq CLASS_REQ,usb_out_class_req
 	beq MANUFACTURER_REQ,usb_out_manufacturer_req
 	branch assert
 
@@ -288,7 +288,7 @@
 	set1 0,pdata
 	store 1,core_usb_stall
 	branch usb0_reply_zerolen
-	
+
 usb0_reply_zerolen:
 	jam 0x1,core_usb_clear_nak
 	rtn
@@ -326,7 +326,7 @@
 //	set0 mark_isstr,mark
 	fetch 1,mem_usb_setup_bValueH
 	beq DSC_DEVICE,dsc_device_info
-	beq DSC_CONFIG,dsc_config_info	
+	beq DSC_CONFIG,dsc_config_info
 	beq DSC_STRING,dsc_string_info
 	beq DSC_HID,dsc_hid_info
 	beq DSC_HID_REPORT,dsc_hid_report_info
@@ -338,19 +338,19 @@
 	beq 0,dsc_hid_info_interface0
 	beq 1,dsc_hid_info_interface1
 	branch usb0_force_stall
-//class_descriptor hid_descriptor--keyboard 
+//class_descriptor hid_descriptor--keyboard
 dsc_hid_info_interface0:
 	fetchr regb,1,mem_confdesc+19
 	arg mem_confdesc+19,rega
 	branch usb0_respond
-//class_descriptor hid_descriptor--mouse 
+//class_descriptor hid_descriptor--mouse
 dsc_hid_info_interface1:
 	fetchr regb,1,mem_confdesc+44
 	arg mem_confdesc+44,rega
 	branch usb0_respond
 
 dsc_device_info:
-//input : pdata : data poniter 
+//input : pdata : data poniter
 //input : temp: data len
 //sets the data pointer and len to correct descriptor
 	fetch 1,mem_usb_set_high_addr_flag
@@ -365,7 +365,7 @@
 	nbranch dsc_info_set_current_data_len,positive
 dsc_info_set_initial_data_len:
 	fetch 1,mem_dsc_info_len
-dsc_info_set_data_size_completed:	
+dsc_info_set_data_size_completed:
 	iforce regb
 	fetch 2,mem_dsc_info_data_pointer
 	add pdata,1,pdata
@@ -397,7 +397,7 @@
 	nbranch usb0_force_stall,positive
 	fetch 1,mem_usb_setup_bValue
 	arg mem_string0,rega
-	beq 0,usb0_respond_length	
+	beq 0,usb0_respond_length
 	set1 mark_isstr,mark
 	arg mem_string1,rega
 	beq 1,usb0_respond_length
@@ -421,7 +421,7 @@
 
 usb0_request_get_interface:
 	fetch 1,mem_usb0_state
-	bne DEV_CONFIGURED,usb0_force_stall		
+	bne DEV_CONFIGURED,usb0_force_stall
 	fetch 1,mem_usb_setup_bmRequestType
 	bne IN_INTERFACE,usb0_force_stall
 	fetch 1,mem_usb_setup_bValue
@@ -497,7 +497,7 @@
 	and_into 0x7f,pdata
 	beq 0x00,usb0_get_status_in_ep_in_ep0
 	branch usb0_force_stall
-	
+
 usb0_get_status_in_ep_in_ep0:
 	fetch 1,mem_usb_ep0_stall_status
 usb0_get_status_in_ep_in_ack:
@@ -526,7 +526,7 @@
 	isub temp,null
 	nbranch usb0_force_stall,zero
 //	set0 mark_isstr,mark
-usb_get_report_dispose:	
+usb_get_report_dispose:
 	fetch 1,mem_usb0_data_ready_report
 	nbranch usb_get_report_data_success,blank
 	jam PC_GET_NONDATA,mem_usb0_get_report_data
@@ -535,7 +535,7 @@
 	iforce regb
 	arg mem_usb0_get_report_data,rega
 	call usb0_respond
-usb_get_report_data_release:	
+usb_get_report_data_release:
 	arg mem_usb0_get_report_data,contw
 	arg 64,loopcnt
 	branch memset0
@@ -612,7 +612,7 @@
 	branch usb0_reply_zerolen
 usb0_force_stall_ep1_in_off:
 	jam 0,mem_usb_ep1_stall_status
-usb0_force_stall_ep1_in_off_reply:	
+usb0_force_stall_ep1_in_off_reply:
 	jam 1,mem_usb_clear_halt
 	branch usb0_reply_zerolen
 usb0_force_stall_ep2_in_off:
@@ -650,7 +650,7 @@
 	setarg TIMER_WAKEUP_DELAY
 	arg USB_TIMER_WAKEUP,queue
 	branch timer_init
-	
+
 usb0_request_set_feature_out_interface:
 	branch usb0_force_stall
 
@@ -699,7 +699,7 @@
 	bne 0,usb0_force_stall
 	fetch 1,mem_usb_setup_bValue
 	bne 0,usb_usb0_state_set_dev_addr
-usb_usb0_state_set_dev_default:	
+usb_usb0_state_set_dev_default:
 	jam DEV_DEFAULT,mem_usb0_state
 usb0_request_set_wait_address:
 	fetch 1,mem_usb_setup_bValue
@@ -748,7 +748,7 @@
 
 usb0_request_set_interface:
 	fetch 1,mem_usb0_state
-	bne DEV_CONFIGURED,usb0_force_stall		
+	bne DEV_CONFIGURED,usb0_force_stall
 	fetch 1,mem_usb_setup_bmRequestType
 	bne OUT_INTERFACE,usb0_force_stall
 	fetch 1,mem_usb_setup_bValue
@@ -797,19 +797,19 @@
 	fetch 2,mem_usb_setup_bValue
 	store 2,mem_usb_setup_bValue_temp
 	call usb0_reply_zerolen
-usb_set_report_next:	
+usb_set_report_next:
 	fetch 1,mem_device_option
 	rtnne DVC_OP_DONGLE
 	fetch 1,mem_usb_tx_win_enable
 	rtn blank
 	fetch 1,mem_usb0_set_report_data
-usb_get_led_status:	
+usb_get_led_status:
 	store 1,mem_24g_led_status
 	jam 0,mem_usb_tx_win_enable
 	jam KB_LED_ACKPAYLOAD,mem_24g_ackpayload_enable
 	rtn
 
-	
+
 usb_set_report_resume_judge:
 	fetch 2,mem_usb_setup_bValue
 	arg PC_SET_REPORT_bValue,temp
@@ -1007,7 +1007,7 @@
 	arg mem_usb_mouse_data,contw
 	arg 64,loopcnt
 	branch memset0
-	
+
 usb_tx_ms_data:
 	fetch 1,mem_usb_idle_flag
 	fetcht 1,mem_usb_get_protocol_flag
@@ -1035,11 +1035,11 @@
 	arg 4,loopcnt
 	arg mem_usb_mouse_data,contr
 	branch usb_tx_ep2
-	
+
 usb_tx_ms_data_normal_mode:
 	jam 0,mem_usb_ep2_data
-usb_tx_mac_boot_ms_regroup_r_or_lrkey:	
-	arg 8,loopcnt		
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+	arg 8,loopcnt
 	arg mem_usb_mouse_data,contr
 	branch usb_tx_ep2
 
