Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/eeprom.dat	(revision 4627)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-ba
-09
+56
+0a
 c2
 84
 00
@@ -23,7 +23,7 @@
 c0
 0a
 01
-b6
+dd
 c0
 0a
 80
@@ -47,7 +47,7 @@
 c0
 1b
 82
-5b
+82
 c0
 1c
 00
@@ -59,7 +59,7 @@
 c0
 1e
 82
-58
+7f
 c0
 62
 80
@@ -67,19 +67,19 @@
 c0
 6d
 01
-87
+ae
 c0
 6e
 01
-97
+be
 c0
 7e
 82
-10
+37
 c0
 7f
-01
-fb
+02
+22
 c0
 7f
 80
@@ -95,31 +95,31 @@
 c0
 01
 01
-d2
+f9
 c0
 03
 01
-43
+6a
 c0
 37
 82
-64
+8b
 c0
 41
 02
-20
+47
 c0
 44
 02
-40
+67
 c0
 45
 02
-4d
+74
 c0
 45
 82
-14
+3b
 c1
 7f
 80
@@ -423,11 +423,11 @@
 20
 40
 01
-59
+80
 20
 40
 01
-84
+ab
 20
 40
 00
@@ -443,7 +443,7 @@
 20
 20
 01
-86
+ad
 20
 75
 80
@@ -1067,7 +1067,7 @@
 c0
 00
 01
-2a
+51
 20
 20
 23
@@ -1190,6 +1190,10 @@
 71
 c0
 01
+7a
+89
+c0
+01
 fa
 8b
 20
@@ -1199,6 +1203,158 @@
 6f
 e0
 88
+6e
+c0
+00
+81
+2f
+c0
+01
+81
+42
+20
+20
+79
+d9
+6f
+e0
+88
+6b
+c0
+82
+79
+e4
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+72
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+01
+01
+3c
+20
+20
+7a
+b7
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+01
+7a
+d7
+c0
+01
+fa
+d9
+20
+20
+7a
+cc
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+01
+01
+49
+20
+20
+7a
+e0
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+01
+7b
+02
+c0
+01
+fb
+04
+20
+20
+7a
+f8
+6f
+e0
+88
 6d
 1f
 f1
@@ -1214,12 +1370,12 @@
 03
 c0
 00
-79
-d6
+01
+2b
 c0
 00
 81
-32
+59
 c0
 01
 79
@@ -1239,7 +1395,7 @@
 c0
 04
 81
-37
+5e
 c0
 05
 fb
@@ -1347,11 +1503,11 @@
 20
 40
 01
-51
+78
 20
 20
 01
-55
+7c
 6f
 f0
 8c
@@ -1435,7 +1591,7 @@
 20
 40
 01
-76
+9d
 2a
 2f
 fe
@@ -1467,7 +1623,7 @@
 20
 40
 01
-76
+9d
 d8
 a0
 8a
@@ -1495,7 +1651,7 @@
 20
 21
 01
-6b
+92
 20
 20
 21
@@ -1599,7 +1755,7 @@
 20
 40
 01
-af
+d6
 70
 8a
 08
@@ -1635,7 +1791,7 @@
 20
 40
 01
-a5
+cc
 6f
 f0
 8a
@@ -1679,7 +1835,7 @@
 20
 40
 01
-af
+d6
 70
 80
 cd
@@ -1739,7 +1895,7 @@
 c3
 02
 81
-b0
+d7
 68
 59
 01
@@ -1775,7 +1931,7 @@
 c0
 08
 01
-cf
+f6
 58
 00
 57
@@ -1819,7 +1975,7 @@
 c0
 08
 01
-cc
+f3
 58
 00
 2b
@@ -1855,7 +2011,7 @@
 20
 20
 01
-c8
+ef
 58
 00
 83
@@ -1867,7 +2023,7 @@
 20
 20
 01
-bd
+e4
 6f
 e0
 88
@@ -1878,20 +2034,20 @@
 14
 c0
 01
-01
-d9
+02
+00
 c0
 01
 fa
 30
 c0
 10
-81
-dc
+82
+03
 c0
 11
-01
-eb
+02
+12
 20
 20
 79
@@ -1918,16 +2074,16 @@
 71
 c0
 00
-01
-e2
+02
+09
 c0
 00
-81
-e5
+82
+0c
 c0
 01
-01
-e8
+02
+0f
 20
 20
 79
@@ -1974,16 +2130,16 @@
 71
 c0
 00
-01
-f0
+02
+17
 c0
 00
-81
-f2
+82
+19
 c0
 01
-01
-f4
+02
+1b
 20
 20
 79
@@ -2126,8 +2282,8 @@
 03
 20
 40
-81
-fd
+82
+24
 20
 20
 79
@@ -2195,7 +2351,7 @@
 c0
 11
 02
-26
+4d
 c0
 7f
 b5
@@ -2211,7 +2367,7 @@
 20
 3a
 02
-2c
+53
 6f
 e2
 45
@@ -2235,11 +2391,11 @@
 c0
 00
 82
-30
+57
 c0
 01
 02
-38
+5f
 20
 60
 00
@@ -2259,7 +2415,7 @@
 c0
 01
 02
-35
+5c
 20
 60
 00
@@ -2291,7 +2447,7 @@
 c0
 80
 02
-3d
+64
 20
 60
 00
@@ -2371,7 +2527,7 @@
 20
 40
 02
-51
+78
 20
 20
 34
@@ -2492,8 +2648,8 @@
 20
 31
 95
-b2
-67
+f8
+e5
 aa
 55
 40
@@ -3054,164 +3210,8 @@
 55
 a6
 75
-ba
-60
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+a9
+8b
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-38
-64
+b2
+0c
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/otp.dat	(revision 4627)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-ba
-09
+56
+0a
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 01
-b6
+dd
 c0
 0a
 80
@@ -56,7 +56,7 @@
 c0
 1b
 82
-5b
+82
 c0
 1c
 00
@@ -68,7 +68,7 @@
 c0
 1e
 82
-58
+7f
 c0
 62
 80
@@ -76,19 +76,19 @@
 c0
 6d
 01
-87
+ae
 c0
 6e
 01
-97
+be
 c0
 7e
 82
-10
+37
 c0
 7f
-01
-fb
+02
+22
 c0
 7f
 80
@@ -104,31 +104,31 @@
 c0
 01
 01
-d2
+f9
 c0
 03
 01
-43
+6a
 c0
 37
 82
-64
+8b
 c0
 41
 02
-20
+47
 c0
 44
 02
-40
+67
 c0
 45
 02
-4d
+74
 c0
 45
 82
-14
+3b
 c1
 7f
 80
@@ -432,11 +432,11 @@
 20
 40
 01
-59
+80
 20
 40
 01
-84
+ab
 20
 40
 00
@@ -452,7 +452,7 @@
 20
 20
 01
-86
+ad
 20
 75
 80
@@ -1076,7 +1076,7 @@
 c0
 00
 01
-2a
+51
 20
 20
 23
@@ -1199,6 +1199,10 @@
 71
 c0
 01
+7a
+89
+c0
+01
 fa
 8b
 20
@@ -1208,6 +1212,158 @@
 6f
 e0
 88
+6e
+c0
+00
+81
+2f
+c0
+01
+81
+42
+20
+20
+79
+d9
+6f
+e0
+88
+6b
+c0
+82
+79
+e4
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+72
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+01
+01
+3c
+20
+20
+7a
+b7
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+01
+7a
+d7
+c0
+01
+fa
+d9
+20
+20
+7a
+cc
+6f
+e0
+88
+73
+c0
+80
+79
+e4
+6f
+e0
+88
+74
+c0
+80
+79
+e4
+6f
+e0
+88
+6d
+c0
+01
+01
+49
+20
+20
+7a
+e0
+6f
+e0
+88
+6f
+c0
+80
+79
+e4
+6f
+e0
+88
+70
+c0
+80
+79
+e4
+6f
+e0
+88
+71
+c0
+01
+7b
+02
+c0
+01
+fb
+04
+20
+20
+7a
+f8
+6f
+e0
+88
 6d
 1f
 f1
@@ -1223,12 +1379,12 @@
 03
 c0
 00
-79
-d6
+01
+2b
 c0
 00
 81
-32
+59
 c0
 01
 79
@@ -1248,7 +1404,7 @@
 c0
 04
 81
-37
+5e
 c0
 05
 fb
@@ -1356,11 +1512,11 @@
 20
 40
 01
-51
+78
 20
 20
 01
-55
+7c
 6f
 f0
 8c
@@ -1444,7 +1600,7 @@
 20
 40
 01
-76
+9d
 2a
 2f
 fe
@@ -1476,7 +1632,7 @@
 20
 40
 01
-76
+9d
 d8
 a0
 8a
@@ -1504,7 +1660,7 @@
 20
 21
 01
-6b
+92
 20
 20
 21
@@ -1608,7 +1764,7 @@
 20
 40
 01
-af
+d6
 70
 8a
 08
@@ -1644,7 +1800,7 @@
 20
 40
 01
-a5
+cc
 6f
 f0
 8a
@@ -1688,7 +1844,7 @@
 20
 40
 01
-af
+d6
 70
 80
 cd
@@ -1748,7 +1904,7 @@
 c3
 02
 81
-b0
+d7
 68
 59
 01
@@ -1784,7 +1940,7 @@
 c0
 08
 01
-cf
+f6
 58
 00
 57
@@ -1828,7 +1984,7 @@
 c0
 08
 01
-cc
+f3
 58
 00
 2b
@@ -1864,7 +2020,7 @@
 20
 20
 01
-c8
+ef
 58
 00
 83
@@ -1876,7 +2032,7 @@
 20
 20
 01
-bd
+e4
 6f
 e0
 88
@@ -1887,20 +2043,20 @@
 14
 c0
 01
-01
-d9
+02
+00
 c0
 01
 fa
 30
 c0
 10
-81
-dc
+82
+03
 c0
 11
-01
-eb
+02
+12
 20
 20
 79
@@ -1927,16 +2083,16 @@
 71
 c0
 00
-01
-e2
+02
+09
 c0
 00
-81
-e5
+82
+0c
 c0
 01
-01
-e8
+02
+0f
 20
 20
 79
@@ -1983,16 +2139,16 @@
 71
 c0
 00
-01
-f0
+02
+17
 c0
 00
-81
-f2
+82
+19
 c0
 01
-01
-f4
+02
+1b
 20
 20
 79
@@ -2135,8 +2291,8 @@
 03
 20
 40
-81
-fd
+82
+24
 20
 20
 79
@@ -2204,7 +2360,7 @@
 c0
 11
 02
-26
+4d
 c0
 7f
 b5
@@ -2220,7 +2376,7 @@
 20
 3a
 02
-2c
+53
 6f
 e2
 45
@@ -2244,11 +2400,11 @@
 c0
 00
 82
-30
+57
 c0
 01
 02
-38
+5f
 20
 60
 00
@@ -2268,7 +2424,7 @@
 c0
 01
 02
-35
+5c
 20
 60
 00
@@ -2300,7 +2456,7 @@
 c0
 80
 02
-3d
+64
 20
 60
 00
@@ -2380,7 +2536,7 @@
 20
 40
 02
-51
+78
 20
 20
 34
@@ -2501,8 +2657,8 @@
 20
 31
 95
-b2
-67
+f8
+e5
 aa
 55
 40
@@ -3063,6 +3219,6 @@
 55
 a6
 75
-ba
-60
+a9
+8b
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/program.lis	(revision 4627)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/output/program.lis	(working copy)
@@ -4,33 +4,33 @@
 0001 c000001f beq patch00_0 ,p_soft_reset 
 0002 c0010025 beq patch00_2 ,p_main_loop 
 0003 c008802e beq patch02_1 ,p_set_sync_on 
-0004 c00a01b6 beq patch02_4 ,p_set_lemode 
+0004 c00a01dd beq patch02_4 ,p_set_lemode 
 0005 c00a80d2 beq patch02_5 ,p_rf_rx_enable 
 0006 c00c00e0 beq patch03_0 ,p_txon 
 0007 c00c808c beq patch03_1 ,p_set_tx_power 
 0008 c00d0048 beq patch03_2 ,p_initialize_radio_cont 
 0009 c00e0037 beq patch03_4 ,p_aac_ghpc 
-000a c01b825b beq patch06_7 ,p_dongle_default_init 
+000a c01b8282 beq patch06_7 ,p_dongle_default_init 
 000b c01c00a5 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000c c01c80a1 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000d c01e8258 beq patch07_5 ,p_dongle_usb_dispatch 
+000d c01e827f beq patch07_5 ,p_dongle_usb_dispatch 
 000e c062809e beq patch18_5 ,p_otp_read_data 
-000f c06d0187 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e0197 beq patch1b_4 ,p_enable_adc 
-0011 c07e8210 beq patch1f_5 ,p_usb_isr 
-0012 c07f01fb beq patch1f_6 ,p_usb_init 
+000f c06d01ae beq patch1b_2 ,p_sadc_calibration 
+0010 c06e01be beq patch1b_4 ,p_enable_adc 
+0011 c07e8237 beq patch1f_5 ,p_usb_isr 
+0012 c07f0222 beq patch1f_6 ,p_usb_init 
 0013 c07f80ea beq patch1f_7 ,p_usb_rx 
 0014 2020235a branch assert 
 
 pf_patch_ext:
 0015 c0000105 beq patch20_0 ,p_usb_class_type 
-0016 c00101d2 beq patch20_2 ,p_usb0_request_get_descriptor 
-0017 c0030143 beq patch20_6 ,p_usb_tx 
-0018 c0378264 beq patch2d_7 ,p_g24_receive_skip_end 
-0019 c0410220 beq patch30_2 ,p_g24_bind_data_parse_next 
-001a c0440240 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001b c045024d beq patch31_2 ,p_g24_bind_mode_auto 
-001c c0458214 beq patch31_3 ,p_g24_search_mode_auto 
+0016 c00101f9 beq patch20_2 ,p_usb0_request_get_descriptor 
+0017 c003016a beq patch20_6 ,p_usb_tx 
+0018 c037828b beq patch2d_7 ,p_g24_receive_skip_end 
+0019 c0410247 beq patch30_2 ,p_g24_bind_data_parse_next 
+001a c0440267 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001b c0450274 beq patch31_2 ,p_g24_bind_mode_auto 
+001c c045823b beq patch31_3 ,p_g24_search_mode_auto 
 001d c17f8000 rtneq patch3f_7 
 001e 2020235a branch assert 
 
@@ -122,12 +122,12 @@
 0065 58557474 setarg 0x557474 
 0066 67f18968 store 3 ,0x8968 
 0067 7089606e jam 0x6e ,0x8960 
-0068 20400159 call p_rx_dcoc 
-0069 20400184 call p_rfpll_aac_ghpc 
+0068 20400180 call p_rx_dcoc 
+0069 204001ab call p_rfpll_aac_ghpc 
 006a 2040006e call p_set_xtal_cap 
 006b 7041480c jam system_clk_12m ,mem_system_clk 
 006c 20406f4e call sadc_calibration 
-006d 20200186 branch p_dpll_ring_ibias_calc 
+006d 202001ad branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 006e 20758000 rtn wake 
@@ -327,7 +327,7 @@
 0106 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
 0107 1fe17e80 and_into 0x80 ,pdata 
 0108 c040010b beq in_device ,p_usb_in_device 
-0109 c000012a beq out_device ,p_usb_out_device 
+0109 c0000151 beq out_device ,p_usb_out_device 
 010a 2020235a branch assert 
 
 p_usb_in_device:
@@ -366,430 +366,479 @@
 0125 6fe0886b fetch 1 ,mem_usb0_state 
 0126 c08279e4 bne dev_configured ,usb0_force_stall 
 0127 6fe08871 fetch 1 ,mem_usb_setup_windex 
-0128 c001fa8b beq out_ep3 ,usb0_get_status_in_ep_in_ep3 
-0129 20207a7d branch usb0_get_status_in_endpoint + 3 
+0128 c0017a89 beq out_ep2 ,usb0_get_status_in_ep_in_ep2 
+0129 c001fa8b beq out_ep3 ,usb0_get_status_in_ep_in_ep3 
+012a 20207a7d branch usb0_get_status_in_endpoint + 3 
+
+p_usb_out_standard_req:
+012b 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+012c c000812f beq clear_feature ,p_usb0_request_clear_feature 
+012d c0018142 beq set_feature ,p_usb0_request_set_feature 
+012e 202079d9 branch usb_out_standard_req + 3 
+
+p_usb0_request_clear_feature:
+012f 6fe0886b fetch 1 ,mem_usb0_state 
+0130 c08279e4 bne dev_configured ,usb0_force_stall 
+0131 6fe08873 fetch 1 ,mem_usb_setup_blength 
+0132 c08079e4 bne 0 ,usb0_force_stall 
+0133 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+0134 c08079e4 bne 0 ,usb0_force_stall 
+0135 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0136 c08079e4 bne 0 ,usb0_force_stall 
+0137 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+0138 c08079e4 bne 0 ,usb0_force_stall 
+0139 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+013a c001013c beq out_endpoint ,p_usb0_request_clear_feature_out_endpoint 
+013b 20207ab7 branch usb0_request_clear_feature + 11 
+
+p_usb0_request_clear_feature_out_endpoint:
+013c 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+013d c08079e4 bne endpoint_halt ,usb0_force_stall 
+013e 6fe08871 fetch 1 ,mem_usb_setup_windex 
+013f c0017ad7 beq out_ep2 ,usb0_force_stall_ep2_in_off 
+0140 c001fad9 beq out_ep3 ,usb0_force_stall_ep3_in_off 
+0141 20207acc branch usb0_request_clear_feature_out_endpoint + 3 
+
+p_usb0_request_set_feature:
+0142 6fe08873 fetch 1 ,mem_usb_setup_blength 
+0143 c08079e4 bne 0 ,usb0_force_stall 
+0144 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+0145 c08079e4 bne 0 ,usb0_force_stall 
+0146 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0147 c0010149 beq out_endpoint ,p_usb0_request_set_feature_out_endpoint 
+0148 20207ae0 branch usb0_request_set_feature + 5 
+
+p_usb0_request_set_feature_out_endpoint:
+0149 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+014a c08079e4 bne endpoint_halt ,usb0_force_stall 
+014b 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+014c c08079e4 bne 0 ,usb0_force_stall 
+014d 6fe08871 fetch 1 ,mem_usb_setup_windex 
+014e c0017b02 beq out_ep2 ,usb0_force_stall_ep2_in_on 
+014f c001fb04 beq out_ep3 ,usb0_force_stall_ep3_in_on 
+0150 20207af8 branch usb0_request_set_feature_out_endpoint + 5 
 
 p_usb_out_device:
-012a 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-012b 1ff1fe00 rshift4 pdata ,pdata 
-012c 1fe37e00 rshift pdata ,pdata 
-012d 1fe17e03 and_into 0x03 ,pdata 
-012e c00079d6 beq standard_req ,usb_out_standard_req 
-012f c0008132 beq class_req ,p_usb_out_class_req 
-0130 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-0131 2020235a branch assert 
+0151 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0152 1ff1fe00 rshift4 pdata ,pdata 
+0153 1fe37e00 rshift pdata ,pdata 
+0154 1fe17e03 and_into 0x03 ,pdata 
+0155 c000012b beq standard_req ,p_usb_out_standard_req 
+0156 c0008159 beq class_req ,p_usb_out_class_req 
+0157 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+0158 2020235a branch assert 
 
 p_usb_out_class_req:
-0132 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-0133 c0057b4b beq set_idle ,usb_set_idle 
-0134 c0048137 beq set_report ,p_usb_set_report 
-0135 c005fb7c beq set_protocol ,usb_set_protocol_req 
-0136 202079e4 branch usb0_force_stall 
+0159 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+015a c0057b4b beq set_idle ,usb_set_idle 
+015b c004815e beq set_report ,p_usb_set_report 
+015c c005fb7c beq set_protocol ,usb_set_protocol_req 
+015d 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-0137 20003a98 nop 15000 
-0138 d8a00875 arg mem_usb0_set_report_data ,contw 
-0139 204000e7 call p_usb_rx_data 
-013a 7008f701 jam 1 ,mem_usb0_get_set_report 
-013b 20407b6e call usb_set_report_resume_judge 
-013c 6fe0c696 fetch 1 ,mem_setreport_count 
-013d 1fe0fe01 pincrease 1 
-013e 67e0c696 store 1 ,mem_setreport_count 
-013f 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0140 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0141 708c1b02 jam 0x2 ,core_usb_clear_nak 
-0142 20207b65 branch usb_set_report_next 
+015e 20003a98 nop 15000 
+015f d8a00875 arg mem_usb0_set_report_data ,contw 
+0160 204000e7 call p_usb_rx_data 
+0161 7008f701 jam 1 ,mem_usb0_get_set_report 
+0162 20407b6e call usb_set_report_resume_judge 
+0163 6fe0c696 fetch 1 ,mem_setreport_count 
+0164 1fe0fe01 pincrease 1 
+0165 67e0c696 store 1 ,mem_setreport_count 
+0166 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0167 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+0168 708c1b02 jam 0x2 ,core_usb_clear_nak 
+0169 20207b65 branch usb_set_report_next 
 
 p_usb_tx:
-0143 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0144 207a0000 rtn blank 
-0145 6ff08c25 fetch 1 ,core_usb_txbusy 
-0146 1fe17e0f and_into 0x0f ,pdata 
-0147 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-0148 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0149 203a7c06 branch usb_tx_fifo_release ,blank 
-014a 6fe08900 fetch 1 ,mem_usb_state 
-014b c001fc40 beq usb_sleep ,usb_windows_wakeup 
-014c c0817c06 bne usb_connected ,usb_tx_fifo_release 
-014d 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-014e 243a7c06 nbranch usb_tx_fifo_release ,blank 
-014f 20400151 call p_usb_tx_data_ep1 
-0150 20200155 branch p_usb_tx_data_ep2 
+016a 6fe0890d fetch 1 ,mem_usb_tx_enable 
+016b 207a0000 rtn blank 
+016c 6ff08c25 fetch 1 ,core_usb_txbusy 
+016d 1fe17e0f and_into 0x0f ,pdata 
+016e 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+016f 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0170 203a7c06 branch usb_tx_fifo_release ,blank 
+0171 6fe08900 fetch 1 ,mem_usb_state 
+0172 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+0173 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+0174 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+0175 243a7c06 nbranch usb_tx_fifo_release ,blank 
+0176 20400178 call p_usb_tx_data_ep1 
+0177 2020017c branch p_usb_tx_data_ep2 
 
 p_usb_tx_data_ep1:
-0151 6ff08c25 fetch 1 ,core_usb_txbusy 
-0152 1fe17e0f and_into 0x0f ,pdata 
-0153 247a0000 nrtn blank 
-0154 20207bf0 branch usb_tx_data_ep1 + 2 
+0178 6ff08c25 fetch 1 ,core_usb_txbusy 
+0179 1fe17e0f and_into 0x0f ,pdata 
+017a 247a0000 nrtn blank 
+017b 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-0155 6ff08c25 fetch 1 ,core_usb_txbusy 
-0156 1fe17e0f and_into 0x0f ,pdata 
-0157 247a0000 nrtn blank 
-0158 20207bfb branch usb_tx_data_ep2 + 2 
+017c 6ff08c25 fetch 1 ,core_usb_txbusy 
+017d 1fe17e0f and_into 0x0f ,pdata 
+017e 247a0000 nrtn blank 
+017f 20207bfb branch usb_tx_data_ep2 + 2 
 
 p_rx_dcoc:
-0159 20758000 rtn wake 
-015a 20402160 call set_sync_on 
-015b d8400027 arg 39 ,temp 
-015c 2040216f call set_freq_rx 
-015d 204021a6 call rf_rx_enable 
-015e 708a257f jam 0x7f ,0x8a25 
-015f 708a301a jam 0x1a ,0x8a30 
-0160 708a3178 jam 0x78 ,0x8a31 
-0161 708a8fb2 jam 0xb2 ,0x8a8f 
-0162 708ac200 jam 0 ,0x8ac2 
-0163 708ac300 jam 0 ,0x8ac3 
-0164 d8e00006 arg 6 ,queue 
-0165 20400176 call p_rx_dcoc_avg 
-0166 2a2ffe0d isolate1 13 ,rega 
-0167 2040211d call qset_start 
-0168 2a4ffe0d isolate1 13 ,regb 
-0169 2040211e call qset_p 
-016a d8e00005 arg 5 ,queue 
+0180 20758000 rtn wake 
+0181 20402160 call set_sync_on 
+0182 d8400027 arg 39 ,temp 
+0183 2040216f call set_freq_rx 
+0184 204021a6 call rf_rx_enable 
+0185 708a257f jam 0x7f ,0x8a25 
+0186 708a301a jam 0x1a ,0x8a30 
+0187 708a3178 jam 0x78 ,0x8a31 
+0188 708a8fb2 jam 0xb2 ,0x8a8f 
+0189 708ac200 jam 0 ,0x8ac2 
+018a 708ac300 jam 0 ,0x8ac3 
+018b d8e00006 arg 6 ,queue 
+018c 2040019d call p_rx_dcoc_avg 
+018d 2a2ffe0d isolate1 13 ,rega 
+018e 2040211d call qset_start 
+018f 2a4ffe0d isolate1 13 ,regb 
+0190 2040211e call qset_p 
+0191 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-016b 2040211c call qset1_p 
-016c 2040211e call qset_p 
-016d 20400176 call p_rx_dcoc_avg 
-016e d8a08ac2 arg 0x8ac2 ,contw 
-016f 1a31fe00 rshift4 rega ,pdata 
-0170 20402117 call qsetxor 
-0171 1a51fe00 rshift4 regb ,pdata 
-0172 20402117 call qsetxor 
-0173 18e08fff increase -1 ,queue 
-0174 2021016b branch p_rx_dcoc_loop2 ,positive 
-0175 2020214f branch rx_dcoc_loop2 + 10 
+0192 2040211c call qset1_p 
+0193 2040211e call qset_p 
+0194 2040019d call p_rx_dcoc_avg 
+0195 d8a08ac2 arg 0x8ac2 ,contw 
+0196 1a31fe00 rshift4 rega ,pdata 
+0197 20402117 call qsetxor 
+0198 1a51fe00 rshift4 regb ,pdata 
+0199 20402117 call qsetxor 
+019a 18e08fff increase -1 ,queue 
+019b 20210192 branch p_rx_dcoc_loop2 ,positive 
+019c 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0176 2000003c nop 60 
-0177 58000f00 setarg mem_dcoc_buf 
-0178 67f10982 store 2 ,0x8982 
-0179 58000ff0 setarg mem_dcoc_buf_end 
-017a 67f10984 store 2 ,0x8984 
-017b 70898109 jam 0x9 ,0x8981 
-017c 70898103 jam 0x3 ,0x8981 
-017d 70898006 jam 0x6 ,0x8980 
-017e 2000003c nop 60 
-017f da200000 arg 0 ,rega 
-0180 da400000 arg 0 ,regb 
-0181 df200010 arg 16 ,loopcnt 
-0182 d8c00f00 arg mem_dcoc_buf ,contr 
-0183 2020212d branch rx_dcoc_loop 
+019d 2000003c nop 60 
+019e 58000f00 setarg mem_dcoc_buf 
+019f 67f10982 store 2 ,0x8982 
+01a0 58000ff0 setarg mem_dcoc_buf_end 
+01a1 67f10984 store 2 ,0x8984 
+01a2 70898109 jam 0x9 ,0x8981 
+01a3 70898103 jam 0x3 ,0x8981 
+01a4 70898006 jam 0x6 ,0x8980 
+01a5 2000003c nop 60 
+01a6 da200000 arg 0 ,rega 
+01a7 da400000 arg 0 ,regb 
+01a8 df200010 arg 16 ,loopcnt 
+01a9 d8c00f00 arg mem_dcoc_buf ,contr 
+01aa 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0184 20758000 rtn wake 
-0185 20202272 branch rfpll_aac_ghpc + 1 
+01ab 20758000 rtn wake 
+01ac 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0186 20600000 rtn 
+01ad 20600000 rtn 
 
 p_sadc_calibration:
-0187 20758000 rtn wake 
-0188 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0189 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-018a 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-018b 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-018c 67f080cd store 1 ,core_sadc_clkdiv 
-018d 20000bb8 nop 3000 
-018e 204001af call p_sadc_read 
-018f 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0190 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0191 df200008 arg 8 ,loopcnt 
-0192 20406f58 call sadc_cal_read + 1 
-0193 6fe0c419 fetch 1 ,mem_spi_write_addr 
-0194 67e0c433 store 1 ,mem_adc_cal_c7 
-0195 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0196 20600000 rtn 
+01ae 20758000 rtn wake 
+01af 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01b0 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+01b1 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01b2 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01b3 67f080cd store 1 ,core_sadc_clkdiv 
+01b4 20000bb8 nop 3000 
+01b5 204001d6 call p_sadc_read 
+01b6 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01b7 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01b8 df200008 arg 8 ,loopcnt 
+01b9 20406f58 call sadc_cal_read + 1 
+01ba 6fe0c419 fetch 1 ,mem_spi_write_addr 
+01bb 67e0c433 store 1 ,mem_adc_cal_c7 
+01bc 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01bd 20600000 rtn 
 
 p_enable_adc:
-0197 204001a5 call p_sadc_cal_write 
-0198 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0199 793ffe07 set0 7 ,pdata 
-019a 67f08a09 store 1 ,core_gpadc_cfg1 
-019b 708a0777 jam 0x77 ,core_gpadc_ctrl 
-019c 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-019d 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-019e 20406f90 call sadc_channel 
-019f 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-01a0 67f080cd store 1 ,core_sadc_clkdiv 
-01a1 20000bb8 nop 3000 
-01a2 204001af call p_sadc_read 
-01a3 7080cd00 jam 0 ,core_sadc_clkdiv 
-01a4 20206fa1 branch sadc_dma 
+01be 204001cc call p_sadc_cal_write 
+01bf 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+01c0 793ffe07 set0 7 ,pdata 
+01c1 67f08a09 store 1 ,core_gpadc_cfg1 
+01c2 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01c3 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01c4 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01c5 20406f90 call sadc_channel 
+01c6 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01c7 67f080cd store 1 ,core_sadc_clkdiv 
+01c8 20000bb8 nop 3000 
+01c9 204001d6 call p_sadc_read 
+01ca 7080cd00 jam 0 ,core_sadc_clkdiv 
+01cb 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-01a5 6ff080cc fetch 1 ,core_sadc_ctrl 
-01a6 79207e01 set1 1 ,pdata 
-01a7 67f080cc store 1 ,core_sadc_ctrl 
-01a8 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-01a9 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-01aa 67e0c419 store 1 ,mem_spi_write_addr 
-01ab df200008 arg 8 ,loopcnt 
-01ac 20406f67 call sadc_cal_write + 4 
-01ad 6240c419 storer regb ,1 ,mem_spi_write_addr 
-01ae 20600000 rtn 
+01cc 6ff080cc fetch 1 ,core_sadc_ctrl 
+01cd 79207e01 set1 1 ,pdata 
+01ce 67f080cc store 1 ,core_sadc_ctrl 
+01cf 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01d0 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+01d1 67e0c419 store 1 ,mem_spi_write_addr 
+01d2 df200008 arg 8 ,loopcnt 
+01d3 20406f67 call sadc_cal_write + 4 
+01d4 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01d5 20600000 rtn 
 
 p_sadc_read:
-01af 7080cc03 jam 0x03 ,core_sadc_ctrl 
+01d6 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-01b0 6ff08129 fetch 1 ,core_perf_status 
-01b1 c30281b0 bbit0 saradc_done ,p_sadc_read_wait 
-01b2 68590164 fetcht 2 ,core_sadc_data 
-01b3 6049440a storet 2 ,mem_adc_current_value 
-01b4 7080cc00 jam 0x00 ,core_sadc_ctrl 
-01b5 20600000 rtn 
+01d7 6ff08129 fetch 1 ,core_perf_status 
+01d8 c30281d7 bbit0 saradc_done ,p_sadc_read_wait 
+01d9 68590164 fetcht 2 ,core_sadc_data 
+01da 6049440a storet 2 ,mem_adc_current_value 
+01db 7080cc00 jam 0x00 ,core_sadc_ctrl 
+01dc 20600000 rtn 
 
 p_set_lemode:
-01b6 708a8211 jam 0x11 ,0x8a82 
-01b7 708a8d12 jam 0x12 ,0x8a8d 
-01b8 708a8e0a jam 0x0a ,0x8a8e 
-01b9 6fe0c099 fetch 1 ,mem_fcomp_div 
-01ba c00801cf beq xtal_16m ,p_set_lemode_2m_16m 
-01bb 58005762 setarg 0x5762 
-01bc 67f10907 store 2 ,0x8907 
+01dd 708a8211 jam 0x11 ,0x8a82 
+01de 708a8d12 jam 0x12 ,0x8a8d 
+01df 708a8e0a jam 0x0a ,0x8a8e 
+01e0 6fe0c099 fetch 1 ,mem_fcomp_div 
+01e1 c00801f6 beq xtal_16m ,p_set_lemode_2m_16m 
+01e2 58005762 setarg 0x5762 
+01e3 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-01bd 70890103 jam 3 ,0x8901 
-01be 70893003 jam 3 ,0x8930 
-01bf c6168000 rtnmark1 mark_ble_2m 
-01c0 70890101 jam 1 ,0x8901 
-01c1 708a8207 jam 0x07 ,0x8a82 
-01c2 708a8d44 jam 0x44 ,0x8a8d 
-01c3 708a8e0a jam 0x0a ,0x8a8e 
-01c4 6fe0c099 fetch 1 ,mem_fcomp_div 
-01c5 c00801cc beq xtal_16m ,p_set_lemode_1m_16m 
-01c6 58002bb1 setarg 0x2bb1 
-01c7 67f10907 store 2 ,0x8907 
+01e4 70890103 jam 3 ,0x8901 
+01e5 70893003 jam 3 ,0x8930 
+01e6 c6168000 rtnmark1 mark_ble_2m 
+01e7 70890101 jam 1 ,0x8901 
+01e8 708a8207 jam 0x07 ,0x8a82 
+01e9 708a8d44 jam 0x44 ,0x8a8d 
+01ea 708a8e0a jam 0x0a ,0x8a8e 
+01eb 6fe0c099 fetch 1 ,mem_fcomp_div 
+01ec c00801f3 beq xtal_16m ,p_set_lemode_1m_16m 
+01ed 58002bb1 setarg 0x2bb1 
+01ee 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-01c8 c6978000 rtnmark0 mark_ble_lr 
-01c9 70893024 jam 0x24 ,0x8930 
-01ca 70890105 jam 5 ,0x8901 
-01cb 20600000 rtn 
+01ef c6978000 rtnmark0 mark_ble_lr 
+01f0 70893024 jam 0x24 ,0x8930 
+01f1 70890105 jam 5 ,0x8901 
+01f2 20600000 rtn 
 
 p_set_lemode_1m_16m:
-01cc 58004189 setarg 0x4189 
-01cd 67f10907 store 2 ,0x8907 
-01ce 202001c8 branch p_set_lemode_1m 
+01f3 58004189 setarg 0x4189 
+01f4 67f10907 store 2 ,0x8907 
+01f5 202001ef branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-01cf 58008312 setarg 0x8312 
-01d0 67f10907 store 2 ,0x8907 
-01d1 202001bd branch p_set_lemode_2m 
+01f6 58008312 setarg 0x8312 
+01f7 67f10907 store 2 ,0x8907 
+01f8 202001e4 branch p_set_lemode_2m 
 
 p_usb0_request_get_descriptor:
-01d2 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01d3 c000fa14 beq dsc_device ,dsc_device_info 
-01d4 c00101d9 beq dsc_config ,p_dsc_config_info 
-01d5 c001fa30 beq dsc_string ,dsc_string_info 
-01d6 c01081dc beq dsc_hid ,p_dsc_hid_info 
-01d7 c01101eb beq dsc_hid_report ,p_dsc_hid_report_info 
-01d8 202079e4 branch usb0_force_stall 
+01f9 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01fa c000fa14 beq dsc_device ,dsc_device_info 
+01fb c0010200 beq dsc_config ,p_dsc_config_info 
+01fc c001fa30 beq dsc_string ,dsc_string_info 
+01fd c0108203 beq dsc_hid ,p_dsc_hid_info 
+01fe c0110212 beq dsc_hid_report ,p_dsc_hid_report_info 
+01ff 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-01d9 5800470f setarg mem_confdesc_all 
-01da 6848c70f fetcht 1 ,mem_confdesc_all 
-01db 20207a18 branch dsc_info_set_data_len 
+0200 5800470f setarg mem_confdesc_all 
+0201 6848c70f fetcht 1 ,mem_confdesc_all 
+0202 20207a18 branch dsc_info_set_data_len 
 
 p_dsc_hid_info:
-01dc 7008fd00 jam 0 ,mem_usb_get_protocol_flag 
-01dd 6fe08871 fetch 1 ,mem_usb_setup_windex 
-01de c00001e2 beq 0 ,p_dsc_hid_info_interface0 
-01df c00081e5 beq 1 ,p_dsc_hid_info_interface1 
-01e0 c00101e8 beq 2 ,p_dsc_hid_info_interface2 
-01e1 202079e4 branch usb0_force_stall 
+0203 7008fd00 jam 0 ,mem_usb_get_protocol_flag 
+0204 6fe08871 fetch 1 ,mem_usb_setup_windex 
+0205 c0000209 beq 0 ,p_dsc_hid_info_interface0 
+0206 c000820c beq 1 ,p_dsc_hid_info_interface1 
+0207 c001020f beq 2 ,p_dsc_hid_info_interface2 
+0208 202079e4 branch usb0_force_stall 
 
 p_dsc_hid_info_interface0:
-01e2 6a40c722 fetchr regb ,1 ,mem_confdesc_all + 19 
-01e3 da204722 arg mem_confdesc_all + 19 ,rega 
-01e4 20207b8b branch usb0_respond 
+0209 6a40c722 fetchr regb ,1 ,mem_confdesc_all + 19 
+020a da204722 arg mem_confdesc_all + 19 ,rega 
+020b 20207b8b branch usb0_respond 
 
 p_dsc_hid_info_interface1:
-01e5 6a40c73b fetchr regb ,1 ,mem_confdesc_all + 44 
-01e6 da20473b arg mem_confdesc_all + 44 ,rega 
-01e7 20207b8b branch usb0_respond 
+020c 6a40c73b fetchr regb ,1 ,mem_confdesc_all + 44 
+020d da20473b arg mem_confdesc_all + 44 ,rega 
+020e 20207b8b branch usb0_respond 
 
 p_dsc_hid_info_interface2:
-01e8 6a40c754 fetchr regb ,1 ,mem_confdesc_all + 69 
-01e9 da204754 arg mem_confdesc_all + 69 ,rega 
-01ea 20207b8b branch usb0_respond 
+020f 6a40c754 fetchr regb ,1 ,mem_confdesc_all + 69 
+0210 da204754 arg mem_confdesc_all + 69 ,rega 
+0211 20207b8b branch usb0_respond 
 
 p_dsc_hid_report_info:
-01eb 6fe10871 fetch 2 ,mem_usb_setup_windex 
-01ec c00001f0 beq 0 ,p_dsc_hid_report_info0 
-01ed c00081f2 beq 1 ,p_dsc_hid_report_info1 
-01ee c00101f4 beq 2 ,p_dsc_hid_report_info2 
-01ef 202079e4 branch usb0_force_stall 
+0212 6fe10871 fetch 2 ,mem_usb_setup_windex 
+0213 c0000217 beq 0 ,p_dsc_hid_report_info0 
+0214 c0008219 beq 1 ,p_dsc_hid_report_info1 
+0215 c001021b beq 2 ,p_dsc_hid_report_info2 
+0216 202079e4 branch usb0_force_stall 
 
 p_dsc_hid_report_info0:
-01f0 6a2107a7 fetchr rega ,2 ,mem_hidreportdesc_kb 
-01f1 20207b89 branch usb0_respond_length 
+0217 6a2107a7 fetchr rega ,2 ,mem_hidreportdesc_kb 
+0218 20207b89 branch usb0_respond_length 
 
 p_dsc_hid_report_info1:
-01f2 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
-01f3 20207b89 branch usb0_respond_length 
+0219 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
+021a 20207b89 branch usb0_respond_length 
 
 p_dsc_hid_report_info2:
-01f4 70090e01 jam 1 ,mem_usb_device_enumeration_endflag 
-01f5 70090001 jam usb_got_report_req ,mem_usb_state 
-01f6 6a40c697 fetchr regb ,1 ,mem_hidreportdesc_interface2_pc 
-01f7 58004697 setarg mem_hidreportdesc_interface2_pc 
-01f8 1fe0fe01 increase 1 ,pdata 
-01f9 1fe22200 copy pdata ,rega 
-01fa 20207b8b branch usb0_respond 
+021b 70090e01 jam 1 ,mem_usb_device_enumeration_endflag 
+021c 70090001 jam usb_got_report_req ,mem_usb_state 
+021d 6a40c697 fetchr regb ,1 ,mem_hidreportdesc_interface2_pc 
+021e 58004697 setarg mem_hidreportdesc_interface2_pc 
+021f 1fe0fe01 increase 1 ,pdata 
+0220 1fe22200 copy pdata ,rega 
+0221 20207b8b branch usb0_respond 
 
 p_usb_init:
-01fb 20407396 call enable_authrom 
-01fc 20407932 call usb_init_param 
+0222 20407396 call enable_authrom 
+0223 20407932 call usb_init_param 
 
 p_usb_init_restart:
-01fd 58004914 setarg mem_usb_clear_mem0_end 
-01fe d8a04810 arg mem_usb_clear_mem0_start ,contw 
-01ff 98a67200 isub contw ,loopcnt 
-0200 20407ca1 call clear_mem 
-0201 708c0000 jam 0x00 ,core_usb_config 
-0202 20002710 nop 10000 
-0203 708c1200 jam 0x0 ,core_usb_hmode 
-0204 6ff10050 fetch 2 ,core_clkoff 
-0205 793ffe0a set0 clock_off_usb ,pdata 
-0206 67f10050 store 2 ,core_clkoff 
-0207 708c1021 jam 0x21 ,core_usb_epmap 
-0208 708c119d jam 0x9d ,core_usb_pupd 
-0209 708c003c jam 0x3c ,core_usb_config 
-020a 58004773 setarg mem_usb_rxbuf_new 
-020b 67f10c02 store 2 ,core_usb_rx_saddr 
-020c 67f10c06 store 2 ,core_usb_rxptr 
-020d 5800480f setarg mem_usb_rxbuf_new_end 
-020e 67f10c04 store 2 ,core_usb_rx_eaddr 
-020f 20207923 branch usb_init_next 
+0224 58004914 setarg mem_usb_clear_mem0_end 
+0225 d8a04810 arg mem_usb_clear_mem0_start ,contw 
+0226 98a67200 isub contw ,loopcnt 
+0227 20407ca1 call clear_mem 
+0228 708c0000 jam 0x00 ,core_usb_config 
+0229 20002710 nop 10000 
+022a 708c1200 jam 0x0 ,core_usb_hmode 
+022b 6ff10050 fetch 2 ,core_clkoff 
+022c 793ffe0a set0 clock_off_usb ,pdata 
+022d 67f10050 store 2 ,core_clkoff 
+022e 708c1021 jam 0x21 ,core_usb_epmap 
+022f 708c119d jam 0x9d ,core_usb_pupd 
+0230 708c003c jam 0x3c ,core_usb_config 
+0231 58004773 setarg mem_usb_rxbuf_new 
+0232 67f10c02 store 2 ,core_usb_rx_saddr 
+0233 67f10c06 store 2 ,core_usb_rxptr 
+0234 5800480f setarg mem_usb_rxbuf_new_end 
+0235 67f10c04 store 2 ,core_usb_rx_eaddr 
+0236 20207923 branch usb_init_next 
 
 p_usb_isr:
-0210 6ff08c22 fetch 1 ,core_usb_status 
-0211 2feffe03 isolate1 usb_status_reset ,pdata 
-0212 204081fd call p_usb_init_restart ,true 
-0213 2020790a branch usb_isr + 4 
+0237 6ff08c22 fetch 1 ,core_usb_status 
+0238 2feffe03 isolate1 usb_status_reset ,pdata 
+0239 20408224 call p_usb_init_restart ,true 
+023a 2020790a branch usb_isr + 4 
 
 p_g24_search_mode_auto:
-0214 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0215 c1838000 rtnne dongle_search 
-0216 20403476 call g24_search_mode_init 
-0217 204034ae call g24_auto_addr_ch_search 
-0218 204033f1 call g24_receive_transmit_ack 
-0219 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-021a 20403506 call g24_receiver_addr_check 
-021b 2042b3ad call g24_receive_packet_parse ,zero 
-021c 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-021d 205a344d call g24_mode_b_s_switch_stop ,blank 
-021e 204034ec call g24_auto_bind_config_self 
-021f 20203493 branch g24_search_mode_auto + 11 
+023b 6fe0c616 fetch 1 ,mem_24g_work_mode 
+023c c1838000 rtnne dongle_search 
+023d 20403476 call g24_search_mode_init 
+023e 204034ae call g24_auto_addr_ch_search 
+023f 204033f1 call g24_receive_transmit_ack 
+0240 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0241 20403506 call g24_receiver_addr_check 
+0242 2042b3ad call g24_receive_packet_parse ,zero 
+0243 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0244 205a344d call g24_mode_b_s_switch_stop ,blank 
+0245 204034ec call g24_auto_bind_config_self 
+0246 20203493 branch g24_search_mode_auto + 11 
 
 p_g24_bind_data_parse_next:
-0220 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0221 c0553329 beq datatype_bind ,g24_bind_first_step 
-0222 c02ab33a beq datatype_config ,g24_bind_second_step 
-0223 c0110226 beq datatype_ok ,p_g24_bind_third_step 
-0224 c07fb59b beq datatype_attemp ,g24_data_attemp 
-0225 20600000 rtn 
+0247 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0248 c0553329 beq datatype_bind ,g24_bind_first_step 
+0249 c02ab33a beq datatype_config ,g24_bind_second_step 
+024a c011024d beq datatype_ok ,p_g24_bind_third_step 
+024b c07fb59b beq datatype_attemp ,g24_data_attemp 
+024c 20600000 rtn 
 
 p_g24_bind_third_step:
-0226 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0227 203a022c branch p_g24_bind_third_step_skip ,blank 
-0228 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-0229 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-022a 98467c00 isub temp ,null 
-022b 24628000 nrtn zero 
+024d 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+024e 203a0253 branch p_g24_bind_third_step_skip ,blank 
+024f 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+0250 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0251 98467c00 isub temp ,null 
+0252 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-022c 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-022d c0008230 beq datatype_device1 ,p_g24_bind_third_step_device1 
-022e c0010238 beq datatype_device2 ,p_g24_bind_third_step_device2 
-022f 20600000 rtn 
+0253 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0254 c0008257 beq datatype_device1 ,p_g24_bind_third_step_device1 
+0255 c001025f beq datatype_device2 ,p_g24_bind_third_step_device2 
+0256 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-0230 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0231 247a0000 nrtn blank 
-0232 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0233 c0010235 beq 2 ,p_g24_bind_dvc1_step_success 
-0234 20600000 rtn 
+0257 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0258 247a0000 nrtn blank 
+0259 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+025a c001025c beq 2 ,p_g24_bind_dvc1_step_success 
+025b 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0235 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0236 2040338d call g24_binding_dvc1_living 
-0237 2020336b branch g24_bind_dvc1_step_success + 1 
+025c 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+025d 2040338d call g24_binding_dvc1_living 
+025e 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0238 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0239 247a0000 nrtn blank 
-023a 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-023b c080023d bne 0 ,p_g24_bind_dvc2_step_success 
-023c 20600000 rtn 
+025f 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0260 247a0000 nrtn blank 
+0261 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0262 c0800264 bne 0 ,p_g24_bind_dvc2_step_success 
+0263 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-023d 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-023e 20403393 call g24_binding_dvc2_living 
-023f 20203378 branch g24_bind_dvc2_step_success + 1 
+0264 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0265 20403393 call g24_binding_dvc2_living 
+0266 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0240 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0241 c1000000 rtneq dongle_work 
-0242 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0243 247a0000 nrtn blank 
-0244 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-0245 247a0000 nrtn blank 
-0246 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-0247 207a0000 rtn blank 
-0248 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0249 c1800000 rtnne 0 
-024a 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-024b c1800000 rtnne 0 
-024c 20203436 branch g24_mode_switch_bind_search + 9 
+0267 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0268 c1000000 rtneq dongle_work 
+0269 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+026a 247a0000 nrtn blank 
+026b 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+026c 247a0000 nrtn blank 
+026d 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+026e 207a0000 rtn blank 
+026f 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0270 c1800000 rtnne 0 
+0271 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0272 c1800000 rtnne 0 
+0273 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-024d 6fe0c616 fetch 1 ,mem_24g_work_mode 
-024e c1808000 rtnne dongle_bind 
-024f 20400251 call p_g24_bind_init 
-0250 2020346d branch g24_bind_mode_auto + 4 
+0274 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0275 c1808000 rtnne dongle_bind 
+0276 20400278 call p_g24_bind_init 
+0277 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0251 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0252 c3808000 rtnbit1 dongle_bind 
-0253 79207e01 set1 dongle_bind ,pdata 
-0254 67e0c615 store 1 ,mem_24g_mode_init 
-0255 58000000 setarg 0 
-0256 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0257 20203307 branch g24_bind_init + 8 
+0278 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0279 c3808000 rtnbit1 dongle_bind 
+027a 79207e01 set1 dongle_bind ,pdata 
+027b 67e0c615 store 1 ,mem_24g_mode_init 
+027c 58000000 setarg 0 
+027d 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+027e 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0258 20204868 branch dongle_usb_dispatch + 1 
+027f 20204868 branch dongle_usb_dispatch + 1 
 
 p_wdt_kick:
-0259 58000010 setarg 16 
-025a 202070c8 branch wdt_init_config 
+0280 58000010 setarg 16 
+0281 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-025b 204047c3 call dongle_default_init + 1 
-025c 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-025d 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-025e 7045ca00 jam off ,mem_24g_disable_fec1 
-025f 20403281 call g24_enable_1m 
-0260 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0261 c4000000 rtnbit0 dg_enable_new_revision 
-0262 7045ca01 jam on ,mem_24g_disable_fec1 
-0263 20203284 branch g24_enable_2m 
+0282 204047c3 call dongle_default_init + 1 
+0283 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0284 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0285 7045ca00 jam off ,mem_24g_disable_fec1 
+0286 20403281 call g24_enable_1m 
+0287 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0288 c4000000 rtnbit0 dg_enable_new_revision 
+0289 7045ca01 jam on ,mem_24g_disable_fec1 
+028a 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-0264 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0265 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0266 7837fc00 enable user3 
-0267 20000018 nop 24 
-0268 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0269 79207e00 set1 bit_ack_24g ,pdata 
-026a 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-026b 204033a5 call g24_ackpayload_prep 
-026c 204031e5 call g24_transmit_prep 
-026d 20203195 branch g24_transmit 
+028b 6fe0c669 fetch 1 ,mem_dg_sys_config 
+028c c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+028d 7837fc00 enable user3 
+028e 20000018 nop 24 
+028f 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0290 79207e00 set1 bit_ack_24g ,pdata 
+0291 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0292 204033a5 call g24_ackpayload_prep 
+0293 204031e5 call g24_transmit_prep 
+0294 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/program/patch.prog	(revision 4627)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/program/patch.prog	(working copy)
@@ -388,15 +388,65 @@
 	fetch 1,mem_usb0_state
 	bne DEV_CONFIGURED,usb0_force_stall
 	fetch 1,mem_usb_setup_wIndex
+	beq OUT_EP2,usb0_get_status_in_ep_in_ep2
 	beq OUT_EP3,usb0_get_status_in_ep_in_ep3
 	branch usb0_get_status_in_endpoint+3
 
+//fixed usb-if set/clear feature get endpoint stats->out no respond
+p_usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,p_usb0_request_clear_feature
+	beq SET_FEATURE,p_usb0_request_set_feature
+	branch usb_out_standard_req+3
+
+p_usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_ENDPOINT,p_usb0_request_clear_feature_out_endpoint
+	branch usb0_request_clear_feature+11
+
+p_usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq OUT_EP2,usb0_force_stall_ep2_in_off
+	beq OUT_EP3,usb0_force_stall_ep3_in_off
+	branch usb0_request_clear_feature_out_endpoint+3
+
+p_usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_ENDPOINT,p_usb0_request_set_feature_out_endpoint
+	branch usb0_request_set_feature+5
+
+p_usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq OUT_EP2,usb0_force_stall_ep2_in_on
+	beq OUT_EP3,usb0_force_stall_ep3_in_on
+	branch usb0_request_set_feature_out_endpoint+5
+	
 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 STANDARD_REQ,p_usb_out_standard_req
 	beq CLASS_REQ,p_usb_out_class_req
 	beq MANUFACTURER_REQ,usb_out_manufacturer_req
 	branch assert
@@ -669,6 +719,7 @@
 p_usb_init:
 	call enable_authrom
 	call usb_init_param
+	//jam 0x7d,0x92cd
 p_usb_init_restart:
 	setarg mem_usb_clear_mem0_end
 	arg mem_usb_clear_mem0_start,contw
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/usb_pc_public/sched/dongle.dat	(revision 4627)
+++ /1121s/branch/dongle/1m/usb_pc/usb_pc_public/sched/dongle.dat	(working copy)
@@ -74,7 +74,7 @@
 09 21 00 02 00 01 22 3f 00
 07 05 81 03 40 00 02
 09 04 01 00 01 03 01 02 00
-09 21 00 02 00 01 22 a3 00
+09 21 00 02 00 01 22 a3 00#7d
 07 05 82 03 40 00 02
 09 04 02 00 01 03 01 02 00
 09 21 00 02 00 01 22 62 00
