Index: do.bat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/do.bat	(revision 951)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/do.bat	(working copy)
@@ -75,4 +75,6 @@
 echo create bt_code.c file
 perl .\util\rom2h.pl  <.\output\eeprom.dat>  .\output\bt_code.c
 copy .\output\bt_code.c   ..\..\BT_HFP_BLE_DEMO\user
+copy .\output\bt_code.c 	E:\yichip_DATA\3121\mysvn_g6\Libraries\core
+
 
Index: format/app_module.format
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/format/app_module.format	(revision 951)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/format/app_module.format	(working copy)
@@ -7,6 +7,7 @@
 1 mem_module_prepare_write_request_opcode
 2 mem_module_prepare_write_request_handle
 600 mem_temp_prepare_write_request_Data
+0 mem_end
 )
 
 
Index: program/patch.prog
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/program/patch.prog	(revision 956)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/program/patch.prog	(working copy)
@@ -9,7 +9,7 @@
 	beq patch00_0,p_soft_reset0
 	//page patch
 	beq patch00_7,p_idle_start_page
-	beq patch02_1,p_master_page_no_interval
+	beq patch02_0,p_master_page
 	beq patch02_3,p_page_start
 	beq patch02_7,p_page_check_train
 	beq patch1b_1,p_ml2cap_proc_signal_disconn_req
@@ -40,9 +40,11 @@
 //	beq patch05_4,p_context_new
 	beq patch05_6,p_context_search
 	beq patch0d_7,p_sniff_check_window
+ifdef LPM_PATCH
 	beq patch14_6,p_lpm_recover_clk
 	beq patch14_7,p_lpm_dispatch
 	beq patch15_3,p_lpm_dispatch_unconn
+endif
 	beq patch16_4,p_app_process_bb_event
 	//
 	beq patch07_3,p_sconn_successful
@@ -1221,8 +1223,9 @@
 	//bit5 LE Data packet Length extension
 	setarg 0x21
 	istore 8,contw
-	call p_check_ble_dle_enable
-	rtn
+//	call p_check_ble_dle_enable
+//	rtn
+
 p_check_ble_dle_enable:
 	fetch 1,mem_le_rxbuf+3
 	and pdata,0x20,pdata
@@ -1562,7 +1565,7 @@
 	/*****************************************/
 	branch context_search_window
 
-
+ifdef LPM_PATCH
 
 p_lpm_recover_clk:
 	setarg 0
@@ -1648,7 +1651,7 @@
 p_lpm_dispatch_unconn:
 	fetch 1,mem_context_new
 	branch lpm_dispatch_unconn+2
-
+endif
 
 p_app_process_bb_event:
 	//return if c51 need to process bb event
@@ -2932,9 +2935,8 @@
 	YC 3121 page always
 */
 
-p_master_page_no_interval:
-	branch master_page_no_interval+1
-
+//p_master_page_no_interval:
+//	branch master_page_no_interval+1
 
 /*	fetcht 2,mem_page_window
 	force 40,queue
@@ -2943,6 +2945,12 @@
 	branch page_start
 */
 
+p_master_page:
+	fetch 1,mem_le_state
+	branch master_page+1,blank
+	rtnbit0 lestate_got_first_packet
+	branch master_page+1
+
 /**********************************page patch**********************************************/
 
 p_process_conn_sm:
@@ -2951,9 +2959,57 @@
 p_process_conn_sm_continue:
 	fetch 1,mem_conn_sm
 	rtn blank
+	beq CONN_SM_AUTH_PAIR, p_host_create_conn_auth_pair
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION, p_host_creat_conn_wait_switch
 	beq CONN_SM_DONE,p_host_create_conn_done
 	branch process_conn_sm_continue+2
 
+p_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,p_host_create_conn_switch_accept
+//	branch host_creat_conn_wait_switch+3
+
+	arg switch_wait_timer,queue
+	call timer_check
+	nrtn blank
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+//	branch host_create_conn_switch
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	branch host_create_conn_switch+3
+
+p_host_create_conn_switch_accept:
+	rtn master
+//	branch host_create_conn_auth_pair
+p_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_SWITCH,host_create_conn_switch
+	bbit1 CONNECTION_AUTH,p_host_create_conn_auth_pair_true
+	branch host_create_conn_sm_done
+
+p_host_create_conn_auth_pair_true:
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+//	rtn master
+	fetch 4,mem_aurand_send_delay_time
+	lshift16 pdata,temp 
+	copy clkn,pdata	
+	call clk_diff
+	rshift16 pdata,pdata
+	arg 0x1300,temp
+	isub temp,null
+	nrtn positive
+	branch host_create_conn_auth
+
+
 p_host_create_conn_done:
 	fetch 1,mem_lmp_conn_state
 	rtnbit0 RECEIVED_SETUP_COMPLETE
Index: sched/bt_config.dat
===================================================================
--- /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/sched/bt_config.dat	(revision 951)
+++ /YC3121_demo/ModuleDemo/BlueTooth/BT_code_patch/bt_hfp_ble/sched/bt_config.dat	(working copy)
@@ -35,7 +35,7 @@
 mem_sniff_param_timeout:00
 mem_unsniff2sniff_timer:0a
 
-mem_class:08 04 24
+mem_class:04 04 24
 
 mem_ptt:00
 mem_features:
