Index: format/app_mouse.format
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/format/app_mouse.format	(revision 390)
+++ /1306ac/branch/mouse/branch/mouse_public/format/app_mouse.format	(working copy)
@@ -399,6 +399,7 @@
 4 mem_mouse_24g_addr_temp
 
 1 mem_mouse_ice_sdio_for_sensor_angle
+1 mem_mouse_logo_enable_gpio0
 
 )
 
Index: output/eeprom.dat
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/output/eeprom.dat	(revision 391)
+++ /1306ac/branch/mouse/branch/mouse_public/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-72
+8e
 04
 c2
 84
@@ -11,39 +11,39 @@
 c0
 1b
 80
-36
+3d
 c0
 1e
 80
-68
+6f
 c0
 23
 00
-7a
+81
 c0
 26
 00
-85
+8c
 c0
 27
 00
-a6
+ad
 c0
 29
 00
-b9
+c0
 c0
 2d
 00
-5d
+64
 c0
 2f
 00
-2e
+35
 c0
 2f
 80
-32
+39
 c0
 38
 00
@@ -51,7 +51,7 @@
 c0
 71
 80
-63
+6a
 20
 20
 3a
@@ -59,7 +59,7 @@
 c0
 30
 80
-71
+78
 c1
 7f
 80
@@ -103,7 +103,7 @@
 20
 40
 00
-50
+57
 20
 20
 52
@@ -123,11 +123,11 @@
 20
 40
 00
-f2
+f9
 20
 40
 01
-0a
+11
 d8
 40
 00
@@ -180,6 +180,22 @@
 20
 68
 83
+df
+e0
+07
+60
+20
+40
+01
+05
+6f
+e0
+c9
+07
+20
+5a
+00
+32
 70
 45
 e5
@@ -188,6 +204,18 @@
 20
 5b
 81
+6f
+e0
+c5
+c0
+67
+e0
+c6
+3f
+20
+60
+00
+00
 18
 42
 7e
@@ -335,7 +363,7 @@
 58
 00
 00
-55
+5c
 67
 e1
 45
@@ -395,7 +423,7 @@
 24
 5a
 00
-5b
+62
 20
 20
 5e
@@ -407,7 +435,7 @@
 c2
 80
 80
-66
+6d
 20
 20
 3c
@@ -426,12 +454,12 @@
 39
 6f
 e0
-c5
-d3
+c9
+12
 c0
 00
-00
-6c
+80
+73
 70
 80
 70
@@ -543,11 +571,11 @@
 c0
 1e
 00
-89
+90
 c0
 1d
 00
-95
+9c
 20
 20
 59
@@ -619,11 +647,11 @@
 c0
 02
 00
-9c
+a3
 c0
 01
 80
-a1
+a8
 20
 20
 5d
@@ -723,7 +751,7 @@
 20
 40
 00
-b5
+bc
 20
 20
 5a
@@ -755,7 +783,7 @@
 20
 40
 00
-d0
+d7
 df
 e0
 07
@@ -767,7 +795,7 @@
 20
 40
 01
-16
+1d
 6f
 e2
 49
@@ -775,7 +803,7 @@
 20
 3a
 00
-c8
+cf
 67
 e2
 49
@@ -803,7 +831,7 @@
 20
 20
 00
-be
+c5
 6f
 e2
 49
@@ -846,8 +874,8 @@
 00
 20
 40
-00
-fe
+01
+05
 6f
 e0
 c9
@@ -855,7 +883,7 @@
 20
 3a
 00
-dc
+e3
 67
 e0
 c9
@@ -883,7 +911,7 @@
 20
 20
 00
-d2
+d9
 6f
 e0
 c9
@@ -895,7 +923,7 @@
 20
 3a
 00
-e5
+ec
 6f
 e0
 c6
@@ -963,7 +991,7 @@
 20
 22
 80
-e1
+e8
 1a
 40
 a5
@@ -971,7 +999,7 @@
 20
 20
 00
-e1
+e8
 df
 e0
 07
@@ -982,8 +1010,8 @@
 00
 20
 40
-00
-fe
+01
+05
 6f
 e0
 c9
@@ -991,7 +1019,7 @@
 20
 3a
 01
-01
+08
 67
 e0
 c9
@@ -1011,7 +1039,7 @@
 24
 21
 01
-01
+08
 1a
 42
 7e
@@ -1019,7 +1047,7 @@
 20
 20
 00
-f4
+fb
 d8
 40
 00
@@ -1047,7 +1075,7 @@
 20
 3a
 01
-07
+0e
 1f
 f1
 fe
@@ -1055,7 +1083,7 @@
 20
 20
 01
-08
+0f
 1a
 62
 7e
@@ -1079,7 +1107,7 @@
 20
 40
 01
-16
+1d
 6f
 e2
 49
@@ -1087,7 +1115,7 @@
 20
 3a
 01
-19
+20
 67
 e2
 49
@@ -1107,7 +1135,7 @@
 24
 21
 01
-19
+20
 1a
 42
 7e
@@ -1115,7 +1143,7 @@
 20
 20
 01
-0c
+13
 d8
 40
 00
@@ -1140,8 +1168,8 @@
 60
 00
 00
-cd
-4a
+19
+4f
 aa
 55
 06
@@ -1683,5 +1711,5 @@
 55
 09
 a0
-34
-dc
+9d
+83
Index: output/memmap.format
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/output/memmap.format	(revision 390)
+++ /1306ac/branch/mouse/branch/mouse_public/output/memmap.format	(working copy)
@@ -1685,6 +1685,7 @@
 0x4909 mem_mouse_24g_addr_last
 0x490d mem_mouse_24g_addr_temp
 0x4911 mem_mouse_ice_sdio_for_sensor_angle
+0x4912 mem_mouse_logo_enable_gpio0
 0x443c mem_shutter_bluetooth_type
 0x443d mem_shutter_config_eeprom_offset_addr
 0x443f mem_shutter_config_eeprom_start_flag
Index: output/program.lis
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/output/program.lis	(revision 391)
+++ /1306ac/branch/mouse/branch/mouse_public/output/program.lis	(working copy)
@@ -1,21 +1,21 @@
               include "bt_format "
               org 0x0000
 0000 c284000d bbit1 8 ,pf_patch_ext 
-0001 c01b8036 beq patch06_7 ,p_mouse_sensor_set_angle 
-0002 c01e8068 beq patch07_5 ,p_mouse_setgpio_hibernate 
-0003 c023007a beq patch08_6 ,p_mouse_3io6key_check 
-0004 c0260085 beq patch09_4 ,p_mouse_priority_bb_event 
-0005 c02700a6 beq patch09_6 ,p_mouse_bb_event_timer 
-0006 c02900b9 beq patch0a_2 ,p_mouse_store_device_info 
-0007 c02d005d beq patch0b_2 ,p_mouse_24g_package_data 
-0008 c02f002e beq patch0b_6 ,p_mouse_ui_led_off_static 
-0009 c02f8032 beq patch0b_7 ,p_mouse_ui_led_on_static 
+0001 c01b803d beq patch06_7 ,p_mouse_sensor_set_angle 
+0002 c01e806f beq patch07_5 ,p_mouse_setgpio_hibernate 
+0003 c0230081 beq patch08_6 ,p_mouse_3io6key_check 
+0004 c026008c beq patch09_4 ,p_mouse_priority_bb_event 
+0005 c02700ad beq patch09_6 ,p_mouse_bb_event_timer 
+0006 c02900c0 beq patch0a_2 ,p_mouse_store_device_info 
+0007 c02d0064 beq patch0b_2 ,p_mouse_24g_package_data 
+0008 c02f0035 beq patch0b_6 ,p_mouse_ui_led_off_static 
+0009 c02f8039 beq patch0b_7 ,p_mouse_ui_led_on_static 
 000a c0380010 beq patch0e_0 ,p_app_init 
-000b c0718063 beq patch1c_3 ,p_le_enable_phy_by_pdata 
+000b c071806a beq patch1c_3 ,p_le_enable_phy_by_pdata 
 000c 20203a8a branch assert 
 
 pf_patch_ext:
-000d c0308071 beq patch2c_1 ,p_g24_lpm_wait 
+000d c0308078 beq patch2c_1 ,p_g24_lpm_wait 
 000e c17f8000 rtneq patch3f_7 
 000f 20203a8a branch assert 
 
@@ -30,7 +30,7 @@
 0015 204059bd call mouse_le_name_load 
 0016 2040562e call mouse_dpi_config 
 0017 20405cc5 call mouse_drawing_optima_init 
-0018 20400050 call p_mouse_cb_fuction 
+0018 20400057 call p_mouse_cb_fuction 
 0019 20205234 branch mouse_init + 8 
 
 p_mouse_setting_config:
@@ -39,8 +39,8 @@
 001c c40b8000 rtnbit0 mouse_enable_otp 
 
 p_mouse_load_otp_info_check:
-001d 204000f2 call p_mouse_read_otp_dpi 
-001e 2040010a call p_mouse_read_otp_24g_addr 
+001d 204000f9 call p_mouse_read_otp_dpi 
+001e 20400111 call p_mouse_read_otp_24g_addr 
 
 p_mouse_otp_load_app_initflag:
 001f d8400002 arg 2 ,temp 
@@ -60,328 +60,337 @@
 002b 20206883 branch otp_write 
 
 p_mouse_load_device_info:
-002c 7045e500 jam mode_24g_device ,mem_device_flag 
-002d 20205b81 branch mouse_load_device_info + 1 
+002c dfe00760 arg otp_offset_dpi ,pdata 
+002d 20400105 call p_mouse_read_otp_dpi_common 
+002e 6fe0c907 fetch 1 ,mem_mouse_dpi_temp 
+002f 205a0032 call p_mouse_load_default_dpi ,blank 
+0030 7045e500 jam mode_24g_device ,mem_device_flag 
+0031 20205b81 branch mouse_load_device_info + 1 
+
+p_mouse_load_default_dpi:
+0032 6fe0c5c0 fetch 1 ,mem_config_sensor_dpi 
+0033 67e0c63f store 1 ,mem_mouse_dpi 
+0034 20600000 rtn 
 
 p_mouse_ui_led_off_static:
-002e 18427e00 copy temp ,pdata 
-002f 207a0000 rtn blank 
-0030 c17f8000 rtneq gpio_disable 
-0031 20205f23 branch mouse_ui_led_off_static + 1 
+0035 18427e00 copy temp ,pdata 
+0036 207a0000 rtn blank 
+0037 c17f8000 rtneq gpio_disable 
+0038 20205f23 branch mouse_ui_led_off_static + 1 
 
 p_mouse_ui_led_on_static:
-0032 18427e00 copy temp ,pdata 
-0033 207a0000 rtn blank 
-0034 c17f8000 rtneq gpio_disable 
-0035 20205f30 branch mouse_ui_led_on_static + 1 
+0039 18427e00 copy temp ,pdata 
+003a 207a0000 rtn blank 
+003b c17f8000 rtneq gpio_disable 
+003c 20205f30 branch mouse_ui_led_on_static + 1 
 
 p_mouse_sensor_set_angle:
-0036 6fe0c911 fetch 1 ,mem_mouse_ice_sdio_for_sensor_angle 
-0037 203a52c8 branch mouse_sensor_set_angle + 1 ,blank 
-0038 6fe0c5be fetch 1 ,mem_sensor_angle_default 
-0039 67e0c5d5 store 1 ,mem_config_sensor_angle 
-003a 6fe0c5bd fetch 1 ,mem_select_sensor_angle_gpio 
-003b c17f8000 rtneq gpio_disable 
-003c 2040692d call lpm_write_ice_disable 
-003d 6fe0c5bd fetch 1 ,mem_select_sensor_angle_gpio 
-003e d840003e arg gpcfg_output_low ,temp 
-003f 20406bbd call gpio_config_function_int 
-0040 6fe0c5c8 fetch 1 ,mem_mouse_reuse_2ice_gpio 
-0041 d840003e arg gpcfg_output_low ,temp 
-0042 20406bbd call gpio_config_function_int 
-0043 6848c5bc fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0044 2040547f call mouse_gpio_config_input_pu 
-0045 6848c5bc fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-0046 20406b85 call gpio_get_bit 
-0047 2040d2d2 call mouse_sensor_switch_angle ,true 
-0048 2040547b call mouse_gpio_config_input_pd 
-0049 6848c5bc fetcht 1 ,mem_mouse_sensor_sdio_gpio 
-004a 20406b7c call gpio_config_input 
-004b 20406931 call lpm_write_ice_enable 
+003d 6fe0c911 fetch 1 ,mem_mouse_ice_sdio_for_sensor_angle 
+003e 203a52c8 branch mouse_sensor_set_angle + 1 ,blank 
+003f 6fe0c5be fetch 1 ,mem_sensor_angle_default 
+0040 67e0c5d5 store 1 ,mem_config_sensor_angle 
+0041 6fe0c5bd fetch 1 ,mem_select_sensor_angle_gpio 
+0042 c17f8000 rtneq gpio_disable 
+0043 2040692d call lpm_write_ice_disable 
+0044 6fe0c5bd fetch 1 ,mem_select_sensor_angle_gpio 
+0045 d840003e arg gpcfg_output_low ,temp 
+0046 20406bbd call gpio_config_function_int 
+0047 6fe0c5c8 fetch 1 ,mem_mouse_reuse_2ice_gpio 
+0048 d840003e arg gpcfg_output_low ,temp 
+0049 20406bbd call gpio_config_function_int 
+004a 6848c5bc fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+004b 2040547f call mouse_gpio_config_input_pu 
+004c 6848c5bc fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+004d 20406b85 call gpio_get_bit 
+004e 2040d2d2 call mouse_sensor_switch_angle ,true 
+004f 2040547b call mouse_gpio_config_input_pd 
+0050 6848c5bc fetcht 1 ,mem_mouse_sensor_sdio_gpio 
+0051 20406b7c call gpio_config_input 
+0052 20406931 call lpm_write_ice_enable 
 
 p_ice_gpio_set_float:
-004c 6848c5bd fetcht 1 ,mem_select_sensor_angle_gpio 
-004d 20406bae call gpio_set_high_impedance 
-004e 6848c5c8 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
-004f 20206bae branch gpio_set_high_impedance 
+0053 6848c5bd fetcht 1 ,mem_select_sensor_angle_gpio 
+0054 20406bae call gpio_set_high_impedance 
+0055 6848c5c8 fetcht 1 ,mem_mouse_reuse_2ice_gpio 
+0056 20206bae branch gpio_set_high_impedance 
 
 p_mouse_cb_fuction:
-0050 58005fad setarg mouse_24g_short_sleep 
-0051 67e14543 store 2 ,mem_cb_24g_transmit_short_sleep 
-0052 58000055 setarg p_mouse_24g_long_sleep 
-0053 67e14545 store 2 ,mem_cb_24g_transmit_long_sleep 
-0054 2020523d branch mouse_cb_fuction + 4 
+0057 58005fad setarg mouse_24g_short_sleep 
+0058 67e14543 store 2 ,mem_cb_24g_transmit_short_sleep 
+0059 5800005c setarg p_mouse_24g_long_sleep 
+005a 67e14545 store 2 ,mem_cb_24g_transmit_long_sleep 
+005b 2020523d branch mouse_cb_fuction + 4 
 
 p_mouse_24g_long_sleep:
-0055 20404d15 call g24_lpm_wait 
-0056 24740000 nrtn user 
-0057 6fe0c863 fetch 1 ,mem_24g_device_led_status 
-0058 247a0000 nrtn blank 
-0059 70490501 jam 1 ,mem_mouse_24g_long_sleep_flag 
-005a 20205fa6 branch mouse_24g_long_sleep + 4 
+005c 20404d15 call g24_lpm_wait 
+005d 24740000 nrtn user 
+005e 6fe0c863 fetch 1 ,mem_24g_device_led_status 
+005f 247a0000 nrtn blank 
+0060 70490501 jam 1 ,mem_mouse_24g_long_sleep_flag 
+0061 20205fa6 branch mouse_24g_long_sleep + 4 
 
 p_mouse_24g_short_sleep_clear_wake:
-005b 204074e0 call clear_wake 
-005c 20203c18 branch lpm_write_gpio_wakeup 
+0062 204074e0 call clear_wake 
+0063 20203c18 branch lpm_write_gpio_wakeup 
 
 p_mouse_24g_package_data:
-005d 2040549b call mouse_motion 
-005e 24740000 nrtn user 
-005f 6fe0c905 fetch 1 ,mem_mouse_24g_long_sleep_flag 
-0060 70490500 jam 0 ,mem_mouse_24g_long_sleep_flag 
-0061 245a005b ncall p_mouse_24g_short_sleep_clear_wake ,blank 
-0062 20205e35 branch mouse_24g_package_data + 4 
+0064 2040549b call mouse_motion 
+0065 24740000 nrtn user 
+0066 6fe0c905 fetch 1 ,mem_mouse_24g_long_sleep_flag 
+0067 70490500 jam 0 ,mem_mouse_24g_long_sleep_flag 
+0068 245a0062 ncall p_mouse_24g_short_sleep_clear_wake ,blank 
+0069 20205e35 branch mouse_24g_package_data + 4 
 
 p_le_enable_phy_by_pdata:
-0063 18427e00 copy temp ,pdata 
-0064 c2808066 bbit1 bit_le_2m_phy ,p_le_enable_2m 
-0065 20203ce3 branch le_enable_phy_by_pdata + 3 
+006a 18427e00 copy temp ,pdata 
+006b c280806d bbit1 bit_le_2m_phy ,p_le_enable_2m 
+006c 20203ce3 branch le_enable_phy_by_pdata + 3 
 
 p_le_enable_2m:
-0066 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
-0067 20203ce9 branch le_enable_2m 
+006d 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
+006e 20203ce9 branch le_enable_2m 
 
 p_mouse_setgpio_hibernate:
-0068 20405339 call mouse_setgpio_hibernate + 1 
-0069 6fe0c5d3 fetch 1 ,mem_mouse_logo_led_gpio 
-006a c000006c beq 0 ,p_mouse_setgpio_hibernate_next 
-006b 70807080 jam 0x80 ,0x8070 
+006f 20405339 call mouse_setgpio_hibernate + 1 
+0070 6fe0c912 fetch 1 ,mem_mouse_logo_enable_gpio0 
+0071 c0008073 beq 1 ,p_mouse_setgpio_hibernate_next 
+0072 70807080 jam 0x80 ,0x8070 
 
 p_mouse_setgpio_hibernate_next:
-006c 6fe08017 fetch 1 ,mem_gpio_wakeup_low + 1 
-006d 79207e05 set1 5 ,pdata 
-006e 67e08017 store 1 ,mem_gpio_wakeup_low + 1 
-006f 20403c18 call lpm_write_gpio_wakeup 
-0070 20205af0 branch mouse_1io2led_all_off 
+0073 6fe08017 fetch 1 ,mem_gpio_wakeup_low + 1 
+0074 79207e05 set1 5 ,pdata 
+0075 67e08017 store 1 ,mem_gpio_wakeup_low + 1 
+0076 20403c18 call lpm_write_gpio_wakeup 
+0077 20205af0 branch mouse_1io2led_all_off 
 
 p_g24_lpm_wait:
-0071 78347c00 enable user 
-0072 20403b1b call lpo_calibration 
-0073 6fe1c0be fetch 3 ,mem_clks_per_lpo 
-0074 203a74ca branch disable_user ,blank 
-0075 6fe0c094 fetch 1 ,mem_lpm_mode 
-0076 203a74ca branch disable_user ,blank 
-0077 6fe0c899 fetch 1 ,mem_sensor_shutdown_flag 
-0078 247a0000 nrtn blank 
-0079 20204d1c branch g24_lpm_wait_next 
+0078 78347c00 enable user 
+0079 20403b1b call lpo_calibration 
+007a 6fe1c0be fetch 3 ,mem_clks_per_lpo 
+007b 203a74ca branch disable_user ,blank 
+007c 6fe0c094 fetch 1 ,mem_lpm_mode 
+007d 203a74ca branch disable_user ,blank 
+007e 6fe0c899 fetch 1 ,mem_sensor_shutdown_flag 
+007f 247a0000 nrtn blank 
+0080 20204d1c branch g24_lpm_wait_next 
 
 p_mouse_3io6key_check:
-007a 1a627e00 copy regc ,pdata 
-007b 67e0c850 store 1 ,mem_mouse_key_status 
-007c 1fe3fe00 lshift pdata ,pdata 
-007d 1fe22400 copy pdata ,regb 
-007e 18422600 copy temp ,regc 
-007f 2040547b call mouse_gpio_config_input_pd 
-0080 1a620400 copy regc ,temp 
-0081 20406b85 call gpio_get_bit 
-0082 7d20a400 nsetflag true ,0 ,regb 
-0083 20405753 call mouse_check_press 
-0084 2020573f branch mouse_check_key_connect_gnd_1 
+0081 1a627e00 copy regc ,pdata 
+0082 67e0c850 store 1 ,mem_mouse_key_status 
+0083 1fe3fe00 lshift pdata ,pdata 
+0084 1fe22400 copy pdata ,regb 
+0085 18422600 copy temp ,regc 
+0086 2040547b call mouse_gpio_config_input_pd 
+0087 1a620400 copy regc ,temp 
+0088 20406b85 call gpio_get_bit 
+0089 7d20a400 nsetflag true ,0 ,regb 
+008a 20405753 call mouse_check_press 
+008b 2020573f branch mouse_check_key_connect_gnd_1 
 
 p_mouse_priority_bb_event:
-0085 1a627e00 copy regc ,pdata 
-0086 c01e0089 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-0087 c01d0095 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-0088 20205914 branch mouse_priority_bb_event + 2 
+008c 1a627e00 copy regc ,pdata 
+008d c01e0090 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+008e c01d009c beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+008f 20205914 branch mouse_priority_bb_event + 2 
 
 p_mouse_24g_attempt_success:
-0089 6fe244da fetch 4 ,mem_24g_addr 
-008a 67e24533 store 4 ,mem_24g_receiver_addr 
-008b 67e24640 store 4 ,mem_mouse_24g_addr 
-008c 20404bce call g24_ch_syncword_crc8_init 
-008d 20405e1b call mouse_device_poweron_led_config 
-008e 20405aa9 call mouse_no_data_timer_init 
-008f 204058c4 call mouse_init_sensor_reset 
-0090 70476800 jam 0 ,mem_mouse_long_mult_flag 
-0091 70454700 jam 0 ,mem_24g_conn_sm 
-0092 70452d00 jam 0 ,mem_24g_reconn_type 
-0093 684a4533 fetcht 4 ,mem_24g_receiver_addr 
-0094 20205e17 branch mouse_24g_attempt_success + 11 
+0090 6fe244da fetch 4 ,mem_24g_addr 
+0091 67e24533 store 4 ,mem_24g_receiver_addr 
+0092 67e24640 store 4 ,mem_mouse_24g_addr 
+0093 20404bce call g24_ch_syncword_crc8_init 
+0094 20405e1b call mouse_device_poweron_led_config 
+0095 20405aa9 call mouse_no_data_timer_init 
+0096 204058c4 call mouse_init_sensor_reset 
+0097 70476800 jam 0 ,mem_mouse_long_mult_flag 
+0098 70454700 jam 0 ,mem_24g_conn_sm 
+0099 70452d00 jam 0 ,mem_24g_reconn_type 
+009a 684a4533 fetcht 4 ,mem_24g_receiver_addr 
+009b 20205e17 branch mouse_24g_attempt_success + 11 
 
 p_mouse_24g_attempt_fail:
-0095 6fe0c54b fetch 1 ,mem_24g_attempt_fail_flag 
-0096 243a5d80 nbranch mouse_24g_hibernate_set ,blank 
-0097 6fe0c52d fetch 1 ,mem_24g_reconn_type 
-0098 c0015df4 beq fast_conn_and_3_0_addr ,mouse_24g_fast_conn_attempt_fail 
-0099 c002009c beq pair_and_3_0_addr ,p_mouse_24g_auto_pair_attempt_fail 
-009a c00180a1 beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
-009b 20205ded branch mouse_24g_attempt_fail_enter_hibernate_next 
+009c 6fe0c54b fetch 1 ,mem_24g_attempt_fail_flag 
+009d 243a5d80 nbranch mouse_24g_hibernate_set ,blank 
+009e 6fe0c52d fetch 1 ,mem_24g_reconn_type 
+009f c0015df4 beq fast_conn_and_3_0_addr ,mouse_24g_fast_conn_attempt_fail 
+00a0 c00200a3 beq pair_and_3_0_addr ,p_mouse_24g_auto_pair_attempt_fail 
+00a1 c00180a8 beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
+00a2 20205ded branch mouse_24g_attempt_fail_enter_hibernate_next 
 
 p_mouse_24g_auto_pair_attempt_fail:
-009c 6fe44864 fetch mouse_flag_len ,mem_mouse_flag 
-009d c317dded bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate_next 
-009e 6fe0c86c fetch 1 ,mem_device_number 
-009f c000dded beq 1 ,mouse_24g_attempt_fail_enter_hibernate_next 
-00a0 20205dcb branch mouse_24g_first_bluetooth_reconnect 
+00a3 6fe44864 fetch mouse_flag_len ,mem_mouse_flag 
+00a4 c317dded bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate_next 
+00a5 6fe0c86c fetch 1 ,mem_device_number 
+00a6 c000dded beq 1 ,mouse_24g_attempt_fail_enter_hibernate_next 
+00a7 20205dcb branch mouse_24g_first_bluetooth_reconnect 
 
 p_mouse_reconn_dongle_attempt_fail:
-00a1 6fe44864 fetch mouse_flag_len ,mem_mouse_flag 
-00a2 c317dded bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate_next 
-00a3 c289dded bbit1 mouse_enable_eeprom ,mouse_24g_attempt_fail_enter_hibernate_next 
-00a4 c2895ded bbit1 mouse_enable_flash ,mouse_24g_attempt_fail_enter_hibernate_next 
-00a5 20205dc4 branch mouse_24g_start_auto_pair + 1 
+00a8 6fe44864 fetch mouse_flag_len ,mem_mouse_flag 
+00a9 c317dded bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate_next 
+00aa c289dded bbit1 mouse_enable_eeprom ,mouse_24g_attempt_fail_enter_hibernate_next 
+00ab c2895ded bbit1 mouse_enable_flash ,mouse_24g_attempt_fail_enter_hibernate_next 
+00ac 20205dc4 branch mouse_24g_start_auto_pair + 1 
 
 p_mouse_bb_event_timer:
-00a6 204053c6 call mouse_adc_read 
-00a7 20405f47 call mouse_low_voltage_led_timer 
-00a8 20404907 call g24_pair_timeout_timer 
-00a9 20404ba5 call g24_reconn_timeout_timer 
-00aa 20405d6b call mouse_24g_long_sleep_param_update_timer 
-00ab 20405e9a call mouse_device_poweron_timer 
-00ac 20405ecb call mouse_dpi_led_blink_delay_timer 
-00ad 20405ac1 call mouse_led_multi_timer 
-00ae 20405af3 call mouse_logo_led_on_timer 
-00af 2040561c call mouse_dpi_key_check_long_press 
-00b0 20405a36 call mouse_bt_discovery_check 
-00b1 20405a46 call mouse_commbination_key_process 
-00b2 20405a69 call mouse_check_discovery_timeout_timer 
-00b3 204000b5 call p_mouse_check_direct_timeout_timer 
-00b4 20205a2d branch mouse_bb_event_timer + 15 
+00ad 204053c6 call mouse_adc_read 
+00ae 20405f47 call mouse_low_voltage_led_timer 
+00af 20404907 call g24_pair_timeout_timer 
+00b0 20404ba5 call g24_reconn_timeout_timer 
+00b1 20405d6b call mouse_24g_long_sleep_param_update_timer 
+00b2 20405e9a call mouse_device_poweron_timer 
+00b3 20405ecb call mouse_dpi_led_blink_delay_timer 
+00b4 20405ac1 call mouse_led_multi_timer 
+00b5 20405af3 call mouse_logo_led_on_timer 
+00b6 2040561c call mouse_dpi_key_check_long_press 
+00b7 20405a36 call mouse_bt_discovery_check 
+00b8 20405a46 call mouse_commbination_key_process 
+00b9 20405a69 call mouse_check_discovery_timeout_timer 
+00ba 204000bc call p_mouse_check_direct_timeout_timer 
+00bb 20205a2d branch mouse_bb_event_timer + 15 
 
 p_mouse_check_direct_timeout_timer:
-00b5 da604831 arg mem_mouse_direct_timer ,regc 
-00b6 da405a74 arg mouse_check_direct_timeout ,regb 
-00b7 20404dcc call timer_single_step 
-00b8 20205a71 branch mouse_check_direct_timeout_timer + 3 
+00bc da604831 arg mem_mouse_direct_timer ,regc 
+00bd da405a74 arg mouse_check_direct_timeout ,regb 
+00be 20404dcc call timer_single_step 
+00bf 20205a71 branch mouse_check_direct_timeout_timer + 3 
 
 p_mouse_store_device_info:
-00b9 20405b90 call mouse_store_device_info + 1 
-00ba c40b8000 rtnbit0 mouse_enable_otp 
+00c0 20405b90 call mouse_store_device_info + 1 
+00c1 c40b8000 rtnbit0 mouse_enable_otp 
 
 p_mouse_store_otp_device_info:
-00bb 204000d0 call p_mouse_otp_store_dpi 
+00c2 204000d7 call p_mouse_otp_store_dpi 
 
 p_mouse_otp_store_24g_addr:
-00bc dfe00790 arg otp_offset_24g_addr ,pdata 
-00bd 1fe22400 copy pdata ,regb 
+00c3 dfe00790 arg otp_offset_24g_addr ,pdata 
+00c4 1fe22400 copy pdata ,regb 
 
 p_mouse_otp_store_24g_addr_loop:
-00be 20400116 call p_mouse_read_otp_24g_addr_common 
-00bf 6fe2490d fetch 4 ,mem_mouse_24g_addr_temp 
-00c0 203a00c8 branch p_mouse_24g_addr_store ,blank 
-00c1 67e24909 store 4 ,mem_mouse_24g_addr_last 
-00c2 1a40a404 increase 4 ,regb 
-00c3 dfe007cf arg otp_offset_24g_addr_end ,pdata 
-00c4 9a467c00 isub regb ,null 
-00c5 24610000 nrtn positive 
-00c6 1a427e00 copy regb ,pdata 
-00c7 202000be branch p_mouse_otp_store_24g_addr_loop 
+00c5 2040011d call p_mouse_read_otp_24g_addr_common 
+00c6 6fe2490d fetch 4 ,mem_mouse_24g_addr_temp 
+00c7 203a00cf branch p_mouse_24g_addr_store ,blank 
+00c8 67e24909 store 4 ,mem_mouse_24g_addr_last 
+00c9 1a40a404 increase 4 ,regb 
+00ca dfe007cf arg otp_offset_24g_addr_end ,pdata 
+00cb 9a467c00 isub regb ,null 
+00cc 24610000 nrtn positive 
+00cd 1a427e00 copy regb ,pdata 
+00ce 202000c5 branch p_mouse_otp_store_24g_addr_loop 
 
 p_mouse_24g_addr_store:
-00c8 6fe24909 fetch 4 ,mem_mouse_24g_addr_last 
-00c9 684a4640 fetcht 4 ,mem_mouse_24g_addr 
-00ca 98467c00 isub temp ,null 
-00cb 20628000 rtn zero 
-00cc df200004 arg 4 ,loopcnt 
-00cd da204640 arg mem_mouse_24g_addr ,rega 
-00ce 1a427e00 copy regb ,pdata 
-00cf 20206883 branch otp_write 
+00cf 6fe24909 fetch 4 ,mem_mouse_24g_addr_last 
+00d0 684a4640 fetcht 4 ,mem_mouse_24g_addr 
+00d1 98467c00 isub temp ,null 
+00d2 20628000 rtn zero 
+00d3 df200004 arg 4 ,loopcnt 
+00d4 da204640 arg mem_mouse_24g_addr ,rega 
+00d5 1a427e00 copy regb ,pdata 
+00d6 20206883 branch otp_write 
 
 p_mouse_otp_store_dpi:
-00d0 dfe00760 arg otp_offset_dpi ,pdata 
-00d1 1fe22400 copy pdata ,regb 
+00d7 dfe00760 arg otp_offset_dpi ,pdata 
+00d8 1fe22400 copy pdata ,regb 
 
 p_mouse_otp_store_dpi_loop:
-00d2 204000fe call p_mouse_read_otp_dpi_common 
-00d3 6fe0c907 fetch 1 ,mem_mouse_dpi_temp 
-00d4 203a00dc branch p_mouse_dpi_store ,blank 
-00d5 67e0c906 store 1 ,mem_mouse_dpi_last 
-00d6 1a40a401 increase 1 ,regb 
-00d7 dfe0078f arg otp_offset_dpi_end ,pdata 
-00d8 9a467c00 isub regb ,null 
-00d9 24610000 nrtn positive 
-00da 1a427e00 copy regb ,pdata 
-00db 202000d2 branch p_mouse_otp_store_dpi_loop 
+00d9 20400105 call p_mouse_read_otp_dpi_common 
+00da 6fe0c907 fetch 1 ,mem_mouse_dpi_temp 
+00db 203a00e3 branch p_mouse_dpi_store ,blank 
+00dc 67e0c906 store 1 ,mem_mouse_dpi_last 
+00dd 1a40a401 increase 1 ,regb 
+00de dfe0078f arg otp_offset_dpi_end ,pdata 
+00df 9a467c00 isub regb ,null 
+00e0 24610000 nrtn positive 
+00e1 1a427e00 copy regb ,pdata 
+00e2 202000d9 branch p_mouse_otp_store_dpi_loop 
 
 p_mouse_dpi_store:
-00dc 6fe0c906 fetch 1 ,mem_mouse_dpi_last 
-00dd 1fe17ef0 and pdata ,0xf0 ,pdata 
-00de 203a00e5 branch p_mouse_dpi_store_next ,blank 
-00df 6fe0c63f fetch 1 ,mem_mouse_dpi 
-00e0 67e0c908 store 1 ,mem_mouse_otp_dpi_value 
+00e3 6fe0c906 fetch 1 ,mem_mouse_dpi_last 
+00e4 1fe17ef0 and pdata ,0xf0 ,pdata 
+00e5 203a00ec branch p_mouse_dpi_store_next ,blank 
+00e6 6fe0c63f fetch 1 ,mem_mouse_dpi 
+00e7 67e0c908 store 1 ,mem_mouse_otp_dpi_value 
 
 p_mouse_dpi_store_end:
-00e1 df200001 arg 1 ,loopcnt 
-00e2 1a427e00 copy regb ,pdata 
-00e3 da204908 arg mem_mouse_otp_dpi_value ,rega 
-00e4 20206883 branch otp_write 
+00e8 df200001 arg 1 ,loopcnt 
+00e9 1a427e00 copy regb ,pdata 
+00ea da204908 arg mem_mouse_otp_dpi_value ,rega 
+00eb 20206883 branch otp_write 
 
 p_mouse_dpi_store_next:
-00e5 6fe0c906 fetch 1 ,mem_mouse_dpi_last 
-00e6 6848c63f fetcht 1 ,mem_mouse_dpi 
-00e7 98467c00 isub temp ,null 
-00e8 20628000 rtn zero 
-00e9 18520400 lshift4 temp ,temp 
-00ea 9840fe00 iadd temp ,pdata 
-00eb 67e0c908 store 1 ,mem_mouse_otp_dpi_value 
-00ec 1a427e00 copy regb ,pdata 
-00ed d8400760 arg otp_offset_dpi ,temp 
+00ec 6fe0c906 fetch 1 ,mem_mouse_dpi_last 
+00ed 6848c63f fetcht 1 ,mem_mouse_dpi 
 00ee 98467c00 isub temp ,null 
-00ef 202280e1 branch p_mouse_dpi_store_end ,zero 
-00f0 1a40a5ff increase -1 ,regb 
-00f1 202000e1 branch p_mouse_dpi_store_end 
+00ef 20628000 rtn zero 
+00f0 18520400 lshift4 temp ,temp 
+00f1 9840fe00 iadd temp ,pdata 
+00f2 67e0c908 store 1 ,mem_mouse_otp_dpi_value 
+00f3 1a427e00 copy regb ,pdata 
+00f4 d8400760 arg otp_offset_dpi ,temp 
+00f5 98467c00 isub temp ,null 
+00f6 202280e8 branch p_mouse_dpi_store_end ,zero 
+00f7 1a40a5ff increase -1 ,regb 
+00f8 202000e8 branch p_mouse_dpi_store_end 
 
 p_mouse_read_otp_dpi:
-00f2 dfe00760 arg otp_offset_dpi ,pdata 
-00f3 1fe22400 copy pdata ,regb 
+00f9 dfe00760 arg otp_offset_dpi ,pdata 
+00fa 1fe22400 copy pdata ,regb 
 
 p_mouse_read_otp_dpi_loop:
-00f4 204000fe call p_mouse_read_otp_dpi_common 
-00f5 6fe0c907 fetch 1 ,mem_mouse_dpi_temp 
-00f6 203a0101 branch p_mouse_dpi_load ,blank 
-00f7 67e0c906 store 1 ,mem_mouse_dpi_last 
-00f8 1a40a401 increase 1 ,regb 
-00f9 dfe0078f arg otp_offset_dpi_end ,pdata 
-00fa 9a467c00 isub regb ,null 
-00fb 24210101 nbranch p_mouse_dpi_load ,positive 
-00fc 1a427e00 copy regb ,pdata 
-00fd 202000f4 branch p_mouse_read_otp_dpi_loop 
+00fb 20400105 call p_mouse_read_otp_dpi_common 
+00fc 6fe0c907 fetch 1 ,mem_mouse_dpi_temp 
+00fd 203a0108 branch p_mouse_dpi_load ,blank 
+00fe 67e0c906 store 1 ,mem_mouse_dpi_last 
+00ff 1a40a401 increase 1 ,regb 
+0100 dfe0078f arg otp_offset_dpi_end ,pdata 
+0101 9a467c00 isub regb ,null 
+0102 24210108 nbranch p_mouse_dpi_load ,positive 
+0103 1a427e00 copy regb ,pdata 
+0104 202000fb branch p_mouse_read_otp_dpi_loop 
 
 p_mouse_read_otp_dpi_common:
-00fe d8400001 arg 1 ,temp 
-00ff da204907 arg mem_mouse_dpi_temp ,rega 
-0100 202068c5 branch otpd_read_data_with_pwr_operation 
+0105 d8400001 arg 1 ,temp 
+0106 da204907 arg mem_mouse_dpi_temp ,rega 
+0107 202068c5 branch otpd_read_data_with_pwr_operation 
 
 p_mouse_dpi_load:
-0101 6fe0c906 fetch 1 ,mem_mouse_dpi_last 
-0102 1fe22600 copy pdata ,regc 
-0103 1fe17ef0 and pdata ,0xf0 ,pdata 
-0104 203a0107 branch p_mouse_dpi_load_next ,blank 
-0105 1ff1fe00 rshift4 pdata ,pdata 
-0106 20200108 branch p_mouse_dpi_load_end 
+0108 6fe0c906 fetch 1 ,mem_mouse_dpi_last 
+0109 1fe22600 copy pdata ,regc 
+010a 1fe17ef0 and pdata ,0xf0 ,pdata 
+010b 203a010e branch p_mouse_dpi_load_next ,blank 
+010c 1ff1fe00 rshift4 pdata ,pdata 
+010d 2020010f branch p_mouse_dpi_load_end 
 
 p_mouse_dpi_load_next:
-0107 1a627e00 copy regc ,pdata 
+010e 1a627e00 copy regc ,pdata 
 
 p_mouse_dpi_load_end:
-0108 67e0c63f store 1 ,mem_mouse_dpi 
-0109 20600000 rtn 
+010f 67e0c63f store 1 ,mem_mouse_dpi 
+0110 20600000 rtn 
 
 p_mouse_read_otp_24g_addr:
-010a dfe00790 arg otp_offset_24g_addr ,pdata 
-010b 1fe22400 copy pdata ,regb 
+0111 dfe00790 arg otp_offset_24g_addr ,pdata 
+0112 1fe22400 copy pdata ,regb 
 
 p_mouse_read_otp_24g_addr_loop:
-010c 20400116 call p_mouse_read_otp_24g_addr_common 
-010d 6fe2490d fetch 4 ,mem_mouse_24g_addr_temp 
-010e 203a0119 branch p_mouse_24g_addr_load ,blank 
-010f 67e24909 store 4 ,mem_mouse_24g_addr_last 
-0110 1a40a404 increase 4 ,regb 
-0111 dfe007cf arg otp_offset_24g_addr_end ,pdata 
-0112 9a467c00 isub regb ,null 
-0113 24210119 nbranch p_mouse_24g_addr_load ,positive 
-0114 1a427e00 copy regb ,pdata 
-0115 2020010c branch p_mouse_read_otp_24g_addr_loop 
+0113 2040011d call p_mouse_read_otp_24g_addr_common 
+0114 6fe2490d fetch 4 ,mem_mouse_24g_addr_temp 
+0115 203a0120 branch p_mouse_24g_addr_load ,blank 
+0116 67e24909 store 4 ,mem_mouse_24g_addr_last 
+0117 1a40a404 increase 4 ,regb 
+0118 dfe007cf arg otp_offset_24g_addr_end ,pdata 
+0119 9a467c00 isub regb ,null 
+011a 24210120 nbranch p_mouse_24g_addr_load ,positive 
+011b 1a427e00 copy regb ,pdata 
+011c 20200113 branch p_mouse_read_otp_24g_addr_loop 
 
 p_mouse_read_otp_24g_addr_common:
-0116 d8400004 arg 4 ,temp 
-0117 da20490d arg mem_mouse_24g_addr_temp ,rega 
-0118 202068c5 branch otpd_read_data_with_pwr_operation 
+011d d8400004 arg 4 ,temp 
+011e da20490d arg mem_mouse_24g_addr_temp ,rega 
+011f 202068c5 branch otpd_read_data_with_pwr_operation 
 
 p_mouse_24g_addr_load:
-0119 6fe24909 fetch 4 ,mem_mouse_24g_addr_last 
-011a 67e24640 store 4 ,mem_mouse_24g_addr 
-011b 20600000 rtn 
+0120 6fe24909 fetch 4 ,mem_mouse_24g_addr_last 
+0121 67e24640 store 4 ,mem_mouse_24g_addr 
+0122 20600000 rtn 
               org 0x3800
 
 start:
Index: program/patch.prog
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/program/patch.prog	(revision 391)
+++ /1306ac/branch/mouse/branch/mouse_public/program/patch.prog	(working copy)
@@ -67,9 +67,19 @@
 	branch otp_write
 
 p_mouse_load_device_info:
+	arg OTP_OFFSET_DPI,pdata
+	call p_mouse_read_otp_dpi_common			
+	fetch 1,mem_mouse_dpi_temp
+	call p_mouse_load_default_dpi,blank
 	jam MODE_24G_DEVICE,mem_device_flag
 	branch mouse_load_device_info+1
 
+p_mouse_load_default_dpi:
+	fetch 1,mem_config_sensor_dpi
+	store 1,mem_mouse_dpi
+	rtn
+
+
 
 p_mouse_ui_led_off_static:
 	copy temp,pdata
@@ -319,8 +329,8 @@
 	
 p_mouse_setgpio_hibernate:
 	call mouse_setgpio_hibernate+1
-	fetch 1,mem_mouse_logo_led_gpio
-	beq 0,p_mouse_setgpio_hibernate_next
+	fetch 1,mem_mouse_logo_enable_gpio0
+	beq 1,p_mouse_setgpio_hibernate_next
 	jam 0x80,0x8070
 p_mouse_setgpio_hibernate_next:
 	fetch 1,mem_gpio_wakeup_low+1	//enable ice wakeup
Index: sched/mouse_basic.dat
===================================================================
--- /1306ac/branch/mouse/branch/mouse_public/sched/mouse_basic.dat	(revision 390)
+++ /1306ac/branch/mouse/branch/mouse_public/sched/mouse_basic.dat	(working copy)
@@ -140,6 +140,7 @@
 #0X03 MOUSE_3CLK_ANGLE
 
 mem_mouse_ice_sdio_for_sensor_angle:01	#00 disable, 01 enable
+mem_mouse_logo_enable_gpio0:00	#00:disable logo	01:enable,gpio=0
 
 mem_device_option:08
 mem_device_flag:00	#00--24g 01--bt
