commit 92be179228a45c87b20e89e408994d9cc23321ce Author: “苏飞源” Date: Mon May 29 09:58:32 2023 +0800 1、首次提交,已量产文件 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..243d6b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,85 @@ +# A .gitignore for Keil projects. +# Taken mostly from http://www.keil.com/support/man/docs/uv4/uv4_b_filetypes.htm + +# User-specific uVision files +*.opt +*.uvopt +*.uvoptx +*.uvgui +*.uvgui.* +*.uvguix.* + +# Listing files +#*.cod +#*.map +#*.m51 +#*.m66 +*._ip +*.i +*.lst +*/Listings/*.txt + +# define exception below if needed +*.scr + +# Object and HEX files +*.axf +*.b[0-3][0-9] +*.hex +*.d +*.crf +*.elf +*.hex +*.h86 +*.obj +*.o +*.sbr +*.htm + +# Build files +# define exception below if needed +*.bat +*._ia +*.__i +*._ii + +# Generated output files +/Listings/* +/Objects/* + +# Debugger files +# define exception below if needed +*.ini + +# Other files +*.build_log.htm +*.cdb +*.dep +*.ic +*.lin +*.lnp +*.orc +# define exception below if needed +*.pack +# define exception below if needed +*.pdsc +*.plg +# define exception below if needed +*.sct +*.sfd +*.sfr + +# Miscellaneous +*.tra +*.fed +*.l1p +*.l2p +*.iex + + +/si/ +!*.bin +!*.map + +# To explicitly override the above, define any exceptions here; e.g.: +# !my_customized_scatter_file.sct diff --git a/project/ISP_368/ISP_368.uvprojx b/project/ISP_368/ISP_368.uvprojx new file mode 100644 index 0000000..1989a00 --- /dev/null +++ b/project/ISP_368/ISP_368.uvprojx @@ -0,0 +1,471 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + + ISP_368 + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + ARMCM0 + ARM + ARM.CMSIS.5.5.1 + http://www.keil.com/pack/ + IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ESEL ELITTLE + + + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000) + 0 + $$Device:ARMCM0$Device\ARM\ARMCM0\Include\ARMCM0.h + + + + + + + + + + + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + ISP368_Mi8SE_20230523 + 1 + 0 + 1 + 1 + 1 + .\Listings\ + 1 + 0 + 1 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + fromelf --bin -o .\Objects\@L.bin .\Objects\@L.axf + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + SARMCM3.DLL + + DARMCM1.DLL + -pCM0 + SARMCM3.DLL + + TARMCM1.DLL + -pCM0 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + 1 + BIN\UL2CM3.DLL + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + "Cortex-M0" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 16 + 1 + 1 + 0 + 0 + 4 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x20000 + + + 1 + 0x0 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x2000 + + + 1 + 0x10000 + 0x10000 + + + 0 + 0x70000 + 0xf0 + + + 0 + 0x70100 + 0xd0 + + + 0 + 0x701d0 + 0x7e30 + + + 0 + 0x20000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + ISP_368 + + ..\..\src;..\..\src\board;..\..\src\common;..\..\src\sdk\include;..\..\src\app\demo;..\..\src\sdk\include\M0;..\..\src\app;..\..\src\app\module_demo;..\..\src\app\touch;..\..\src\app\S8;..\..\src\app\S9;..\CVWL368;..\..\src\app\ap_demo + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x00000000 + 0x20000000 + + + + + + + + + + + + + app + + + main.c + 1 + ..\..\src\app\main.c + + + ap_demo.c + 1 + ..\..\src\app\ap_demo\ap_demo.c + + + app_tp_for_custom_mi8se.c + 1 + ..\..\src\app\ap_demo\app_tp_for_custom_mi8se.c + + + app_tp_transfer.c + 1 + ..\..\src\app\ap_demo\app_tp_transfer.c + + + + + driver + + + CVWL368.lib + 4 + ..\..\src\sdk\CVWL368\lib\CVWL368.lib + + + + + board + + + board.c + 1 + ..\..\src\board\board.c + + + + + startup + + + startup_ARMCM0.s + 2 + ..\..\src\board\startup\startup_ARMCM0.s + + + + + ::CMSIS + + + + + + + + + + + + + + + + + + RTE\Device\ARMCM0\startup_ARMCM0.s + + + + + + RTE\Device\ARMCM0\system_ARMCM0.c + + + + + + + +
diff --git a/project/ISP_368/Listings/ISP368_Mi8SE_20230523.map b/project/ISP_368/Listings/ISP368_Mi8SE_20230523.map new file mode 100644 index 0000000..0581a6f --- /dev/null +++ b/project/ISP_368/Listings/ISP368_Mi8SE_20230523.map @@ -0,0 +1,5217 @@ +Component: ARM Compiler 5.06 update 6 (build 750) Tool: armlink [4d35ed] + +============================================================================== + +Section Cross References + + main.o(i.main) refers to board.o(i.board_Init) for board_Init + main.o(i.main) refers to ap_demo.o(i.ap_demo) for ap_demo + ap_demo.o(i.AP_SWIRE_init) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + ap_demo.o(i.AP_SWIRE_init) refers to tau_delay.o(i.delayMs) for delayMs + ap_demo.o(i.AP_SWIRE_init) refers to tau_delay.o(i.delayUs) for delayUs + ap_demo.o(i.PWM_Task) refers to hal_pwm.o(i.hal_pwm_out_sync_thr) for hal_pwm_out_sync_thr + ap_demo.o(i.PWM_Task) refers to ap_demo.o(.data) for read_bl_data + ap_demo.o(i.PWM_init) refers to hal_pwm.o(i.hal_pwm_out_init) for hal_pwm_out_init + ap_demo.o(i.PWM_init) refers to hal_pwm.o(i.hal_pwm_out_config_all) for hal_pwm_out_config_all + ap_demo.o(i.ap_dcs_read) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.ap_demo) refers to hal_gpio.o(i.hal_gpio_init_output) for hal_gpio_init_output + ap_demo.o(i.ap_demo) refers to hal_pwm.o(i.hal_pwm_out_sel_io) for hal_pwm_out_sel_io + ap_demo.o(i.ap_demo) refers to ap_demo.o(i.open_mipi_rx) for open_mipi_rx + ap_demo.o(i.ap_demo) refers to ap_demo.o(i.PWM_init) for PWM_init + ap_demo.o(i.ap_demo) refers to ap_demo.o(i.AP_SWIRE_init) for AP_SWIRE_init + ap_demo.o(i.ap_demo) refers to hal_system.o(i.hal_system_share_flash_mode) for hal_system_share_flash_mode + ap_demo.o(i.ap_demo) refers to hal_gpio.o(i.hal_gpio_get_input_data) for hal_gpio_get_input_data + ap_demo.o(i.ap_demo) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.ap_demo) refers to ap_demo.o(i.init_mipi_tx) for init_mipi_tx + ap_demo.o(i.ap_demo) refers to app_tp_transfer.o(i.app_tp_init) for app_tp_init + ap_demo.o(i.ap_demo) refers to ap_demo.o(i.tx_display_on) for tx_display_on + ap_demo.o(i.ap_demo) refers to app_tp_transfer.o(i.app_tp_phone_clear_reset_on) for app_tp_phone_clear_reset_on + ap_demo.o(i.ap_demo) refers to app_tp_transfer.o(i.app_tp_transfer_screen_start) for app_tp_transfer_screen_start + ap_demo.o(i.ap_demo) refers to ap_demo.o(i.PWM_Task) for PWM_Task + ap_demo.o(i.ap_demo) refers to app_tp_transfer.o(i.app_tp_transfer_screen_int) for app_tp_transfer_screen_int + ap_demo.o(i.ap_demo) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) for hal_dsi_rx_ctrl_dsc_async_handler + ap_demo.o(i.ap_demo) refers to ap_demo.o(.data) for start_display_on + ap_demo.o(i.ap_set_backlight) refers to uidiv.o(.text) for __aeabi_uidivmod + ap_demo.o(i.ap_set_backlight) refers to ap_demo.o(.data) for read_bl_data + ap_demo.o(i.ap_set_display_off) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.ap_set_display_on) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.ap_set_enter_sleep_mode) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.ap_set_enter_sleep_mode) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + ap_demo.o(i.ap_set_enter_sleep_mode) refers to hal_pwm.o(i.hal_pwm_out_sync_thr) for hal_pwm_out_sync_thr + ap_demo.o(i.ap_set_exit_sleep_mode) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.init_mipi_tx) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_create_handle) for hal_dsi_tx_ctrl_create_handle + ap_demo.o(i.init_mipi_tx) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) for hal_dsi_tx_ctrl_init + ap_demo.o(i.init_mipi_tx) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_overwrite_rgb) for hal_dsi_tx_ctrl_set_overwrite_rgb + ap_demo.o(i.init_mipi_tx) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) for hal_dsi_tx_crop_pic + ap_demo.o(i.init_mipi_tx) refers to ap_demo.o(.data) for g_tx_ctrl_handle + ap_demo.o(i.init_panel) refers to ap_demo.o(i.tx_panel_reset) for tx_panel_reset + ap_demo.o(i.init_panel) refers to hal_gpio.o(i.hal_gpio_init_output) for hal_gpio_init_output + ap_demo.o(i.init_panel) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_init_panel_mode) for hal_dsi_tx_ctrl_enter_init_panel_mode + ap_demo.o(i.init_panel) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.init_panel) refers to tau_delay.o(i.delayUs) for delayUs + ap_demo.o(i.init_panel) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_cmd) for hal_dsi_tx_ctrl_write_cmd + ap_demo.o(i.init_panel) refers to tau_delay.o(i.delayMs) for delayMs + ap_demo.o(i.init_panel) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + ap_demo.o(i.init_panel) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_init_panel_mode) for hal_dsi_tx_ctrl_exit_init_panel_mode + ap_demo.o(i.open_mipi_rx) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + ap_demo.o(i.open_mipi_rx) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_create_handle) for hal_dsi_rx_ctrl_create_handle + ap_demo.o(i.open_mipi_rx) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) for hal_dsi_rx_ctrl_init + ap_demo.o(i.open_mipi_rx) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_sync_line) for hal_dsi_rx_ctrl_set_cus_sync_line + ap_demo.o(i.open_mipi_rx) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) for hal_dsi_rx_ctrl_set_cus_scld_filter + ap_demo.o(i.open_mipi_rx) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) for hal_dsi_rx_ctrl_start + ap_demo.o(i.open_mipi_rx) refers to ap_demo.o(.data) for g_rx_ctrl_handle + ap_demo.o(i.open_mipi_rx) refers to ap_demo.o(.constdata) for g_cus_rx_dcs_execute_table + ap_demo.o(i.open_mipi_rx) refers to ap_demo.o(i.ap_dcs_read) for ap_dcs_read + ap_demo.o(i.open_mipi_rx) refers to ap_demo.o(i.pps_update_handle) for pps_update_handle + ap_demo.o(i.pps_update_handle) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution) for hal_dsi_rx_ctrl_toggle_resolution + ap_demo.o(i.pps_update_handle) refers to ap_demo.o(.data) for g_rx_ctrl_handle + ap_demo.o(i.soft_te_timer_cb) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_gen_a_tear_signal) for hal_dsi_rx_ctrl_gen_a_tear_signal + ap_demo.o(i.soft_te_timer_cb) refers to hal_timer.o(i.hal_timer_start) for hal_timer_start + ap_demo.o(i.soft_te_timer_cb) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_tear_mode) for hal_dsi_rx_ctrl_set_hw_tear_mode + ap_demo.o(i.soft_te_timer_cb) refers to ap_demo.o(.data) for panel_display_done + ap_demo.o(i.soft_te_timer_init) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.soft_te_timer_init) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_sw_tear_mode) for hal_dsi_rx_ctrl_set_sw_tear_mode + ap_demo.o(i.soft_te_timer_init) refers to hal_timer.o(i.hal_timer_init) for hal_timer_init + ap_demo.o(i.soft_te_timer_init) refers to hal_timer.o(i.hal_timer_start) for hal_timer_start + ap_demo.o(i.soft_te_timer_init) refers to ap_demo.o(.data) for g_rx_ctrl_handle + ap_demo.o(i.soft_te_timer_init) refers to ap_demo.o(i.soft_te_timer_cb) for soft_te_timer_cb + ap_demo.o(i.swire_callback) refers to hal_timer.o(i.hal_timer_start) for hal_timer_start + ap_demo.o(i.swire_callback) refers to ap_demo.o(i.swire_timer_callback) for swire_timer_callback + ap_demo.o(i.swire_init) refers to hal_swire.o(i.hal_swire_open) for hal_swire_open + ap_demo.o(i.swire_init) refers to hal_swire.o(i.hal_swire_init) for hal_swire_init + ap_demo.o(i.swire_init) refers to hal_swire.o(i.hal_swire_register_callback) for hal_swire_register_callback + ap_demo.o(i.swire_init) refers to hal_swire.o(i.hal_swire_start) for hal_swire_start + ap_demo.o(i.swire_init) refers to hal_timer.o(i.hal_timer_init) for hal_timer_init + ap_demo.o(i.swire_init) refers to hal_timer.o(i.hal_timer_start) for hal_timer_start + ap_demo.o(i.swire_init) refers to ap_demo.o(i.swire_callback) for swire_callback + ap_demo.o(i.swire_init) refers to ap_demo.o(i.swire_timer_callback) for swire_timer_callback + ap_demo.o(i.swire_timer_callback) refers to hal_swire.o(i.hal_swire_start) for hal_swire_start + ap_demo.o(i.swire_timer_callback) refers to ap_demo.o(.data) for swire_num + ap_demo.o(i.tx_display_on) refers to ap_demo.o(i.init_panel) for init_panel + ap_demo.o(i.tx_display_on) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) for hal_dsi_tx_ctrl_start + ap_demo.o(i.tx_display_on) refers to tau_delay.o(i.delayMs) for delayMs + ap_demo.o(i.tx_display_on) refers to tau_delay.o(i.delayUs) for delayUs + ap_demo.o(i.tx_display_on) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_cmd) for hal_dsi_tx_ctrl_write_cmd + ap_demo.o(i.tx_display_on) refers to tau_log.o(i.LOG_printf) for LOG_printf + ap_demo.o(i.tx_display_on) refers to ap_demo.o(.data) for g_tx_ctrl_handle + ap_demo.o(i.tx_panel_reset) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_panel_reset_pin) for hal_dsi_tx_ctrl_panel_reset_pin + ap_demo.o(i.tx_panel_reset) refers to tau_delay.o(i.delayMs) for delayMs + ap_demo.o(.constdata) refers to ap_demo.o(i.ap_set_display_on) for ap_set_display_on + ap_demo.o(.constdata) refers to ap_demo.o(i.ap_set_display_off) for ap_set_display_off + ap_demo.o(.constdata) refers to ap_demo.o(i.ap_set_backlight) for ap_set_backlight + ap_demo.o(.constdata) refers to ap_demo.o(i.ap_set_enter_sleep_mode) for ap_set_enter_sleep_mode + ap_demo.o(.constdata) refers to ap_demo.o(i.ap_set_exit_sleep_mode) for ap_set_exit_sleep_mode + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data) refers to printfa.o(i.__0printf) for __2printf + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data) refers to app_tp_for_custom_mi8se.o(.data) for phone_A6_flag + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data) refers to app_tp_for_custom_mi8se.o(.constdata) for phone_data_A6_0 + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data) refers to app_tp_for_custom_mi8se.o(.bss) for phone_reg_coord_back + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) refers to printfa.o(i.__0printf) for __2printf + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) refers to app_tp_for_custom_mi8se.o(.data) for phone_A6_flag + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) refers to app_tp_for_custom_mi8se.o(.constdata) for phone_data_A6_0 + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) refers to app_tp_for_custom_mi8se.o(.bss) for phone_reg_coord_back + app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) refers to app_tp_transfer.o(.data) for s_slave_txbuffer + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_const) refers to app_tp_transfer.o(i.app_tp_screen_init) for app_tp_screen_init + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_const) refers to tau_log.o(i.LOG_printf) for LOG_printf + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_const) refers to app_tp_for_custom_mi8se.o(.data) for app_tp_count + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) refers to uidiv.o(.text) for __aeabi_uidivmod + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) refers to app_tp_for_custom_mi8se.o(i.tp_int_high_timer_init) for tp_int_high_timer_init + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) refers to app_tp_for_custom_mi8se.o(.bss) for phone_reg_coord_back + app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) refers to app_tp_for_custom_mi8se.o(.data) for s8_host_id + app_tp_for_custom_mi8se.o(i.tp_int_high_timer_callback) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + app_tp_for_custom_mi8se.o(i.tp_int_high_timer_callback) refers to app_tp_for_custom_mi8se.o(.data) for touch_recv_flag + app_tp_for_custom_mi8se.o(i.tp_int_high_timer_callback) refers to app_tp_for_custom_mi8se.o(.bss) for phone_reg_coord_back + app_tp_for_custom_mi8se.o(i.tp_int_high_timer_init) refers to hal_timer.o(i.hal_timer_init) for hal_timer_init + app_tp_for_custom_mi8se.o(i.tp_int_high_timer_init) refers to hal_timer.o(i.hal_timer_start) for hal_timer_start + app_tp_for_custom_mi8se.o(i.tp_int_high_timer_init) refers to app_tp_for_custom_mi8se.o(i.tp_int_high_timer_callback) for tp_int_high_timer_callback + app_tp_for_custom_mi8se.o(.data) refers to app_tp_for_custom_mi8se.o(.bss) for phone_reg_coord_back + app_tp_transfer.o(i.ap_tp_scan_point_init) refers to app_tp_transfer.o(.bss) for tp_scan_data + app_tp_transfer.o(i.ap_tp_scan_point_record_event_exec) refers to printfa.o(i.__0printf) for __2printf + app_tp_transfer.o(i.ap_tp_scan_point_record_event_exec) refers to app_tp_transfer.o(i.ap_tp_scan_point_init) for ap_tp_scan_point_init + app_tp_transfer.o(i.ap_tp_scan_point_record_event_exec) refers to app_tp_transfer.o(.bss) for tp_scan_data + app_tp_transfer.o(i.app_tp_i2cs_callback) refers to app_tp_transfer.o(i.app_tp_transfer_phone) for app_tp_transfer_phone + app_tp_transfer.o(i.app_tp_i2cs_callback) refers to app_tp_transfer.o(i.app_tp_s_write) for app_tp_s_write + app_tp_transfer.o(i.app_tp_i2cs_callback) refers to app_tp_transfer.o(.data) for i2cs_transfer + app_tp_transfer.o(i.app_tp_init) refers to hal_gpio.o(i.hal_gpio_set_pull_state) for hal_gpio_set_pull_state + app_tp_transfer.o(i.app_tp_init) refers to app_tp_transfer.o(i.app_tp_screen_int_init) for app_tp_screen_int_init + app_tp_transfer.o(i.app_tp_init) refers to hal_gpio.o(i.hal_gpio_init_output) for hal_gpio_init_output + app_tp_transfer.o(i.app_tp_init) refers to hal_i2c_master.o(i.hal_i2c_m_dma_init) for hal_i2c_m_dma_init + app_tp_transfer.o(i.app_tp_init) refers to hal_i2c_slave.o(i.hal_i2c_s_init) for hal_i2c_s_init + app_tp_transfer.o(i.app_tp_init) refers to hal_i2c_slave.o(i.hal_i2c_s_set_transfer) for hal_i2c_s_set_transfer + app_tp_transfer.o(i.app_tp_init) refers to hal_i2c_slave.o(i.hal_i2c_s_nonblocking_read) for hal_i2c_s_nonblocking_read + app_tp_transfer.o(i.app_tp_init) refers to app_tp_for_custom_mi8se.o(.data) for g_phone_output_int_pad + app_tp_transfer.o(i.app_tp_init) refers to app_tp_transfer.o(i.app_tp_i2cs_callback) for app_tp_i2cs_callback + app_tp_transfer.o(i.app_tp_init) refers to app_tp_transfer.o(.bss) for s_phone_read_buffer + app_tp_transfer.o(i.app_tp_m_read) refers to hal_i2c_master.o(i.hal_i2c_m_dma_read) for hal_i2c_m_dma_read + app_tp_transfer.o(i.app_tp_m_transfer_complate) refers to hal_i2c_master.o(i.hal_i2c_m_transfer_complate) for hal_i2c_m_transfer_complate + app_tp_transfer.o(i.app_tp_m_write) refers to hal_i2c_master.o(i.hal_i2c_m_dma_write) for hal_i2c_m_dma_write + app_tp_transfer.o(i.app_tp_phone_clear_reset_on) refers to app_tp_transfer.o(.data) for s_phone_reset_flag + app_tp_transfer.o(i.app_tp_phone_reset_on) refers to app_tp_transfer.o(.data) for s_phone_reset_flag + app_tp_transfer.o(i.app_tp_s_read) refers to hal_i2c_slave.o(i.hal_i2c_s_nonblocking_read) for hal_i2c_s_nonblocking_read + app_tp_transfer.o(i.app_tp_s_transfer_complate) refers to hal_i2c_slave.o(i.hal_i2c_s_write_complate) for hal_i2c_s_write_complate + app_tp_transfer.o(i.app_tp_s_transfer_complate) refers to hal_i2c_slave.o(i.hal_i2c_s_read_complate) for hal_i2c_s_read_complate + app_tp_transfer.o(i.app_tp_s_write) refers to hal_i2c_slave.o(i.hal_i2c_s_dma_write) for hal_i2c_s_dma_write + app_tp_transfer.o(i.app_tp_screen_init) refers to hal_gpio.o(i.hal_gpio_init_output) for hal_gpio_init_output + app_tp_transfer.o(i.app_tp_screen_init) refers to tau_delay.o(i.delayUs) for delayUs + app_tp_transfer.o(i.app_tp_screen_init) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + app_tp_transfer.o(i.app_tp_screen_init) refers to app_tp_for_custom_mi8se.o(.data) for g_screen_input_rst_pad + app_tp_transfer.o(i.app_tp_screen_int_callback) refers to app_tp_transfer.o(.data) for s_screen_int_flag + app_tp_transfer.o(i.app_tp_screen_int_init) refers to hal_gpio.o(i.hal_gpio_set_pull_state) for hal_gpio_set_pull_state + app_tp_transfer.o(i.app_tp_screen_int_init) refers to hal_gpio.o(i.hal_gpio_ctrl_eint) for hal_gpio_ctrl_eint + app_tp_transfer.o(i.app_tp_screen_int_init) refers to hal_gpio.o(i.hal_gpio_init_eint) for hal_gpio_init_eint + app_tp_transfer.o(i.app_tp_screen_int_init) refers to hal_gpio.o(i.hal_gpio_reg_eint_cb) for hal_gpio_reg_eint_cb + app_tp_transfer.o(i.app_tp_screen_int_init) refers to app_tp_for_custom_mi8se.o(.data) for g_screen_input_int_pad + app_tp_transfer.o(i.app_tp_screen_int_init) refers to app_tp_transfer.o(i.app_tp_screen_int_callback) for app_tp_screen_int_callback + app_tp_transfer.o(i.app_tp_transfer_phone) refers to app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) for app_tp_phone_analysis_data_custom + app_tp_transfer.o(i.app_tp_transfer_phone) refers to app_tp_transfer.o(i.app_tp_s_read) for app_tp_s_read + app_tp_transfer.o(i.app_tp_transfer_phone) refers to app_tp_transfer.o(.data) for s_slave_txbuffer_size + app_tp_transfer.o(i.app_tp_transfer_phone) refers to app_tp_transfer.o(.bss) for s_phone_read_buffer + app_tp_transfer.o(i.app_tp_transfer_screen_const) refers to app_tp_transfer.o(i.app_tp_m_transfer_complate) for app_tp_m_transfer_complate + app_tp_transfer.o(i.app_tp_transfer_screen_const) refers to hal_spi_master.o(i.hal_spi_m_clear_rxfifo) for hal_spi_m_clear_rxfifo + app_tp_transfer.o(i.app_tp_transfer_screen_const) refers to printfa.o(i.__0printf) for __2printf + app_tp_transfer.o(i.app_tp_transfer_screen_const) refers to app_tp_transfer.o(.data) for s_screen_const_transfer_count + app_tp_transfer.o(i.app_tp_transfer_screen_const) refers to app_tp_for_custom_mi8se.o(.constdata) for screen_reg_start_data_size + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_transfer.o(i.app_tp_transfer_screen_const) for app_tp_transfer_screen_const + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_transfer.o(i.app_tp_screen_int_lvl_low) for app_tp_screen_int_lvl_low + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_transfer.o(i.app_tp_m_transfer_complate) for app_tp_m_transfer_complate + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to hal_spi_master.o(i.hal_spi_m_clear_rxfifo) for hal_spi_m_clear_rxfifo + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_transfer.o(i.app_tp_m_read) for app_tp_m_read + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to hal_i2c_master.o(i.hal_i2c_m_transfer_complate) for hal_i2c_m_transfer_complate + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) for app_tp_screen_analysis_int + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_transfer.o(.data) for s_screen_init_complate + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_for_custom_mi8se.o(.data) for screen_reg_int_data + app_tp_transfer.o(i.app_tp_transfer_screen_int) refers to app_tp_transfer.o(.bss) for s_screen_read_buffer + app_tp_transfer.o(i.app_tp_transfer_screen_start) refers to app_tp_transfer.o(i.app_tp_transfer_screen_const) for app_tp_transfer_screen_const + app_tp_transfer.o(i.app_tp_transfer_screen_start) refers to app_tp_transfer.o(.data) for s_screen_init_complate + board.o(i.board_Init) refers to hal_system.o(i.hal_system_init) for hal_system_init + board.o(i.board_Init) refers to hal_system.o(i.hal_system_enable_systick) for hal_system_enable_systick + board.o(i.board_Init) refers to hal_system.o(i.hal_system_init_console) for hal_system_init_console + board.o(i.board_Init) refers to hal_system.o(i.hal_system_set_phy_calibration) for hal_system_set_phy_calibration + startup_armcm0.o(RESET) refers to startup_armcm0.o(STACK) for __initial_sp + startup_armcm0.o(RESET) refers to startup_armcm0.o(.text) for Reset_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.HardFault_Handler) for HardFault_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.SysTick_Handler) for SysTick_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.VIDC_IRQn_Handler) for VIDC_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.LCDC_IRQn_Handler) for LCDC_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.MIPI_RX_IRQn_Handler) for MIPI_RX_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.MIPI_TX_IRQn_Handler) for MIPI_TX_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.MEMC_IRQn_Handler) for MEMC_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.VPRE_IRQn_Handler) for VPRE_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.FLSCTRL_IRQn_Handler) for FLSCTRL_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.DMA_IRQn_Handler) for DMA_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.TIMER0_IRQn_Handler) for TIMER0_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.TIMER1_IRQn_Handler) for TIMER1_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.TIMER2_IRQn_Handler) for TIMER2_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.TIMER3_IRQn_Handler) for TIMER3_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.WDG_IRQn_Handler) for WDG_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.UART_IRQn_Handler) for UART_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.I2C0_IRQn_Handler) for I2C0_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.I2C1_IRQn_Handler) for I2C1_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.SPIS_IRQn_Handler) for SPIS_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.SPIM_IRQn_Handler) for SPIM_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.ADC_IRQn_Handler) for ADC_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.PWMDET_IRQn_Handler) for PWMDET_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.SWIRE_IRQn_Handler) for SWIRE_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.AP_NRESET_IRQn_Handler) for AP_NRESET_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT0_IRQn_Handler) for EXTI_INT0_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT1_IRQn_Handler) for EXTI_INT1_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT2_IRQn_Handler) for EXTI_INT2_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT3_IRQn_Handler) for EXTI_INT3_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT4_IRQn_Handler) for EXTI_INT4_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT5_IRQn_Handler) for EXTI_INT5_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT6_IRQn_Handler) for EXTI_INT6_IRQn_Handler + startup_armcm0.o(RESET) refers to irq_redirect .o(i.EXTI_INT7_IRQn_Handler) for EXTI_INT7_IRQn_Handler + startup_armcm0.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_create_handle) refers to memseta.o(.text) for __aeabi_memclr4 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_create_handle) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video) refers to dfltui.o(.text) for __aeabi_ui2d + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video) refers to dadd.o(.text) for __aeabi_dadd + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video) refers to dfixui.o(.text) for __aeabi_d2uiz + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video) refers to drv_vidc.o(i.drv_vidc_set_scld_step) for drv_vidc_set_scld_step + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video) refers to drv_vidc.o(i.drv_vidc_set_module_enable) for drv_vidc_set_module_enable + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to hal_internal_vsync.o(i.hal_internal_vsync_get_rx_state) for hal_internal_vsync_get_rx_state + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to drv_dsc_dec.o(i.drv_dsc_dec_disable) for drv_dsc_dec_disable + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to drv_dsi_rx.o(i.drv_dsi_rx_enable_irq) for drv_dsi_rx_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to drv_rxbr.o(i.drv_rxbr_enable_irq) for drv_rxbr_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to drv_vidc.o(i.drv_vidc_enable_irq) for drv_vidc_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to drv_memc.o(i.drv_memc_enable_irq) for drv_memc_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to hal_internal_vsync.o(i.hal_internal_vsync_get_tx_state) for hal_internal_vsync_get_tx_state + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to drv_crgu.o(i.drv_crgu_config_reset_modules) for drv_crgu_config_reset_modules + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) for hal_internal_vsync_set_rx_state + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_draw_mode_init) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) refers to dcs_packet_fifo.o(i.dcs_packet_get_fifo_header) for dcs_packet_get_fifo_header + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) refers to dcs_packet_fifo.o(i.dcs_packet_free_fifo_header) for dcs_packet_free_fifo_header + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) refers to drv_rxbr.o(i.drv_rxbr_set_inten) for drv_rxbr_set_inten + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_ddi_pg_cfg) for drv_dsi_rx_set_ddi_pg_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to drv_crgu.o(i.drv_crgu_set_rxbr_src) for drv_crgu_set_rxbr_src + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to drv_crgu.o(i.drv_crgu_set_rxbr_div) for drv_crgu_set_rxbr_div + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to drv_rxbr.o(i.drv_rxbr_get_clk) for drv_rxbr_get_clk + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_ipi_pg_cfg) for drv_dsi_rx_set_ipi_pg_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_gen_a_tear_signal) refers to drv_memc.o(i.drv_memc_gen_a_tear_signal) for drv_memc_gen_a_tear_signal + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_gen_a_tear_signal) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_get_compressen_en) refers to drv_dsi_rx.o(i.drv_dsi_rx_get_compression_en) for drv_dsi_rx_get_compression_en + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_get_max_ret_size) refers to drv_dsi_rx.o(i.drv_dsi_rx_get_max_ret_size) for drv_dsi_rx_get_max_ret_size + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_get_max_ret_size) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_hight_performan_mode) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) for hal_dsi_rx_ctrl_init_clk + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_internal_vsync.o(i.hal_internal_vsync_init_rx) for hal_internal_vsync_init_rx + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) for hal_dsi_rx_ctrl_init_dsi_rx + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) for hal_dsi_rx_ctrl_init_rxbr + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to drv_dsc_dec.o(i.drv_dsc_dec_disable) for drv_dsc_dec_disable + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) for hal_dsi_rx_ctrl_init_vidc + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) for hal_dsi_rx_ctrl_init_memc + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) for hal_internal_vsync_set_rx_state + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to drv_chip_info.o(i.drv_chip_rx_init_done) for drv_chip_rx_init_done + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) refers to drv_efuse.o(i.drv_efuse_read) for drv_efuse_read + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) refers to drv_crgu.o(i.drv_crgu_set_vidc_src) for drv_crgu_set_vidc_src + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) refers to drv_crgu.o(i.drv_crgu_set_fb_src) for drv_crgu_set_fb_src + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) refers to drv_crgu.o(i.drv_crgu_set_fb_div) for drv_crgu_set_fb_div + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) for hal_dsi_rx_ctrl_set_rxbr_clk + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_rxbr.o(i.drv_rxbr_get_clk) for drv_rxbr_get_clk + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_ctrl_cfg) for drv_dsi_rx_set_ctrl_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_ddi_cfg) for drv_dsi_rx_set_ddi_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_ipi_cfg) for hal_dsi_rx_ctrl_set_ipi_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) for drv_dsi_rx_set_up_phy + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_lane_swap) for drv_dsi_rx_set_lane_swap + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_inten) for drv_dsi_rx_set_inten + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_resp_cnt) for drv_dsi_rx_set_resp_cnt + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to drv_dsi_rx.o(i.drv_dsi_rx_enable_irq) for drv_dsi_rx_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) refers to hal_dsi_rx_ctrl.o(.data) for .data + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_data_mode) for drv_memc_set_data_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_ltpo_mode) for drv_memc_set_ltpo_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_tear_waveform) for drv_memc_set_tear_waveform + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to hal_internal_vsync.o(i.hal_internal_vsync_get_tear_mode) for hal_internal_vsync_get_tear_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_rate_transfer_sel) for drv_memc_rate_transfer_sel + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_fs_en_conditions) for drv_memc_set_fs_en_conditions + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_lcdc_st_conditions) for drv_memc_set_lcdc_st_conditions + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_sel_vsync) for drv_memc_sel_vsync + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_vidc_sync_cnt) for drv_memc_set_vidc_sync_cnt + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_tear_mode) for drv_memc_set_tear_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_double_buffer) for drv_memc_set_double_buffer + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_active_height) for drv_memc_set_active_height + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_set_inten) for drv_memc_set_inten + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to drv_memc.o(i.drv_memc_enable_irq) for drv_memc_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_set_color_format) for drv_rxbr_set_color_format + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_frame_drop_cfg) for drv_rxbr_frame_drop_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_set_ltpo_drop_th) for drv_rxbr_set_ltpo_drop_th + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_set_usr_cfg) for drv_rxbr_set_usr_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_set_usr_col) for drv_rxbr_set_usr_col + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_set_usr_row) for drv_rxbr_set_usr_row + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_hline_rcv_cfg) for drv_rxbr_hline_rcv_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_set_inten) for drv_rxbr_set_inten + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to drv_rxbr.o(i.drv_rxbr_enable_irq) for drv_rxbr_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) for hal_internal_vsync_set_auto_hw_filter + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) refers to hal_dsi_rx_ctrl.o(.data) for .data + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_src_parameter) for drv_vidc_set_src_parameter + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_pentile_swap) for drv_vidc_set_pentile_swap + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to memcpya.o(.text) for __aeabi_memcpy4 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_dst_parameter) for drv_vidc_set_dst_parameter + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_init_module_enable) for drv_vidc_init_module_enable + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_rotation) for drv_vidc_set_rotation + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to dfltui.o(.text) for __aeabi_ui2d + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to dadd.o(.text) for __aeabi_dadd + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to dfixui.o(.text) for __aeabi_d2uiz + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_scld_step) for drv_vidc_set_scld_step + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_param_init.o(i.drv_param_init_get_scld_filter_h) for drv_param_init_get_scld_filter_h + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_param_init.o(i.drv_param_init_get_scld_filter_v) for drv_param_init_get_scld_filter_v + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_scld_hcoef0) for drv_vidc_set_scld_hcoef0 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_scld_hcoef1) for drv_vidc_set_scld_hcoef1 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_scld_vcoef0) for drv_vidc_set_scld_vcoef0 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_scld_vcoef1) for drv_vidc_set_scld_vcoef1 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_p2r_hinitr) for drv_vidc_set_p2r_hinitr + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_p2r_hinitb) for drv_vidc_set_p2r_hinitb + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_param_init.o(i.drv_param_p2r_filter_init) for drv_param_p2r_filter_init + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_p2r_hcoef0) for drv_vidc_set_p2r_hcoef0 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_mirror) for drv_vidc_set_mirror + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_pu_ctrl) for drv_vidc_set_pu_ctrl + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_set_irqen) for drv_vidc_set_irqen + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to drv_vidc.o(i.drv_vidc_enable_irq) for drv_vidc_enable_irq + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_pre_init_pps) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_release_handle) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_restart) refers to drv_dsi_rx.o(i.drv_dsi_rx_shut_down) for drv_dsi_rx_shut_down + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_restart) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_restart) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) for hal_dsi_rx_ctrl_init + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_restart) refers to hal_internal_vsync.o(i.hal_internal_vsync_get_tx_state) for hal_internal_vsync_get_tx_state + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_restart) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) for hal_dsi_rx_ctrl_start + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_restart) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_send_ack_cmd) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_send_ack_cmd) refers to drv_rxbr.o(i.drv_rxbr_set_ack_pkt_header) for drv_rxbr_set_ack_pkt_header + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_send_ack_cmd) refers to hal_dsi_rx_ctrl.o(.conststring) for .conststring + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_auto_hw_filter) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) for hal_internal_vsync_set_auto_hw_filter + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_auto_hw_filter) refers to hal_dsi_rx_ctrl.o(.data) for .data + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_esc_clk) refers to drv_rxbr.o(i.drv_rxbr_get_clk) for drv_rxbr_get_clk + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_esc_clk) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_esc_clk) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_ddi_cfg) for drv_dsi_rx_set_ddi_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_esc_clk) refers to hal_dsi_rx_ctrl.o(.data) for .data + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) refers to drv_vidc.o(i.drv_vidc_set_scld_hcoef0) for drv_vidc_set_scld_hcoef0 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) refers to drv_vidc.o(i.drv_vidc_set_scld_hcoef1) for drv_vidc_set_scld_hcoef1 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) refers to drv_vidc.o(i.drv_vidc_set_scld_vcoef0) for drv_vidc_set_scld_vcoef0 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) refers to drv_vidc.o(i.drv_vidc_set_scld_vcoef1) for drv_vidc_set_scld_vcoef1 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) refers to drv_param_init.o(i.drv_param_init_set_scld_filter) for drv_param_init_set_scld_filter + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_sync_line) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_sync_line) for hal_internal_vsync_set_sync_line + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_sync_line) refers to drv_rxbr.o(i.drv_rxbr_hline_rcv0_cfg) for drv_rxbr_hline_rcv0_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_sync_line) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_dcs_direct_mode) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_dcs_direct_mode) for hal_internal_vsync_set_dcs_direct_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_cmd_filter) refers to drv_rxbr.o(i.drv_rxbr_set_cmd_filter) for drv_rxbr_set_cmd_filter + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_cmd_filter) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_tear_mode) refers to drv_memc.o(i.drv_memc_set_tear_mode) for drv_memc_set_tear_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_tear_mode) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode) for hal_internal_vsync_set_tear_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_tear_mode) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_ipi_cfg) refers to drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) for drv_dsi_rx_calc_ipi_tx_delay + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_ipi_cfg) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_ipi_cfg) for drv_dsi_rx_set_ipi_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pentile_format) refers to drv_vidc.o(i.drv_vidc_update_src_format) for drv_vidc_update_src_format + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pentile_format) refers to drv_vidc.o(i.drv_vidc_set_pentile_swap) for drv_vidc_set_pentile_swap + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pentile_format) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pixel_data) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pixel_data) refers to dfltui.o(.text) for __aeabi_ui2d + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pixel_data) refers to dflti.o(.text) for __aeabi_i2d + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pixel_data) refers to dmul.o(.text) for __aeabi_dmul + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pixel_data) refers to ddiv.o(.text) for __aeabi_ddiv + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pixel_data) refers to dfixi.o(.text) for __aeabi_d2iz + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rect_pixel_data) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rect_pixel_data) refers to dfltui.o(.text) for __aeabi_ui2d + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rect_pixel_data) refers to dflti.o(.text) for __aeabi_i2d + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rect_pixel_data) refers to dmul.o(.text) for __aeabi_dmul + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rect_pixel_data) refers to ddiv.o(.text) for __aeabi_ddiv + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rect_pixel_data) refers to dfixi.o(.text) for __aeabi_d2iz + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rx_clk) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) for hal_dsi_rx_ctrl_set_rxbr_clk + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rx_clk) refers to drv_rxbr.o(i.drv_rxbr_get_clk) for drv_rxbr_get_clk + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rx_clk) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rx_clk) refers to drv_dsi_rx.o(i.drv_dsi_rx_set_ddi_cfg) for drv_dsi_rx_set_ddi_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rx_clk) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_ipi_cfg) for hal_dsi_rx_ctrl_set_ipi_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rx_clk) refers to hal_dsi_rx_ctrl.o(.data) for .data + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) refers to drv_crgu.o(i.drv_crgu_set_rxbr_src) for drv_crgu_set_rxbr_src + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) refers to drv_crgu.o(i.drv_crgu_set_rxbr_div) for drv_crgu_set_rxbr_div + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) refers to drv_crgu.o(i.drv_crgu_set_dsco_src) for drv_crgu_set_dsco_src + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) refers to drv_crgu.o(i.drv_crgu_set_dsco_src_div) for drv_crgu_set_dsco_src_div + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) refers to drv_crgu.o(i.drv_crgu_set_dsc_core_div) for drv_crgu_set_dsc_core_div + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_sw_tear_mode) refers to drv_memc.o(i.drv_memc_set_tear_mode) for drv_memc_set_tear_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_sw_tear_mode) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode) for hal_internal_vsync_set_tear_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_sw_tear_mode) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_te_waveform) refers to drv_memc.o(i.drv_memc_set_tear_waveform) for drv_memc_set_tear_waveform + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_te_waveform) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_tear_mode_ex) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode) for hal_internal_vsync_set_tear_mode + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) refers to drv_vidc.o(i.drv_vidc_enable) for drv_vidc_enable + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) refers to drv_dsi_rx.o(i.drv_dsi_rx_power_up) for drv_dsi_rx_power_up + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) for hal_internal_vsync_set_rx_state + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_stop) refers to drv_vidc.o(i.drv_vidc_enable) for drv_vidc_enable + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_stop) refers to drv_dsi_rx.o(i.drv_dsi_rx_shut_down) for drv_dsi_rx_shut_down + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_stop) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) for hal_internal_vsync_set_rx_state + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_stop) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to drv_memc.o(i.drv_memc_rate_transfer_sel) for drv_memc_rate_transfer_sel + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to drv_memc.o(i.drv_memc_sel_vsync) for drv_memc_sel_vsync + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to drv_memc.o(i.drv_memc_set_fs_en_conditions) for drv_memc_set_fs_en_conditions + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to drv_memc.o(i.drv_memc_set_lcdc_st_conditions) for drv_memc_set_lcdc_st_conditions + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to drv_memc.o(i.drv_memc_set_vidc_sync_cnt) for drv_memc_set_vidc_sync_cnt + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to drv_rxbr.o(i.drv_rxbr_hline_rcv0_cfg) for drv_rxbr_hline_rcv0_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate) refers to drv_rxbr.o(i.drv_rxbr_frame_drop_cfg) for drv_rxbr_frame_drop_cfg + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution) refers to hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) for hal_internal_sync_input_resolution_change + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution_ex) refers to hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) for hal_internal_sync_input_resolution_change_ex + hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution_ex) refers to hal_dsi_rx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to ffltui.o(.text) for __aeabi_ui2f + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to fscalb.o(.text) for __ARM_scalbnf + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to fdiv.o(.text) for __aeabi_fdiv + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to fmul.o(.text) for __aeabi_fmul + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to idiv.o(.text) for __aeabi_idivmod + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to fflti.o(.text) for __aeabi_i2f + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to ffixi.o(.text) for __aeabi_f2iz + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to f2d.o(.text) for __aeabi_f2d + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to ceil.o(i.ceil) for ceil + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to dfixi.o(.text) for __aeabi_d2iz + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to fadd.o(.text) for __aeabi_fadd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to memseta.o(.text) for __aeabi_memclr4 + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_video_chunk) for drv_dsi_tx_set_video_chunk + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to memcpya.o(.text) for __aeabi_memcpy4 + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_video_timing) for drv_dsi_tx_set_video_timing + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_config_params_for_lane_rate) refers to fadd.o(.text) for __aeabi_fadd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_config_params_for_lane_rate) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to ffltui.o(.text) for __aeabi_ui2f + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to fmul.o(.text) for __aeabi_fmul + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to fdiv.o(.text) for __aeabi_fdiv + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to f2d.o(.text) for __aeabi_f2d + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to ceil.o(i.ceil) for ceil + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to dfixui.o(.text) for __aeabi_d2uiz + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to drv_phy_common.o(i.drv_phy_get_rate_para) for drv_phy_get_rate_para + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to idiv.o(.text) for __aeabi_idivmod + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to fadd.o(.text) for __aeabi_fadd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to ffixui.o(.text) for __aeabi_f2uiz + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to hal_internal_vsync.o(i.hal_internal_sync_get_hight_performan_mode) for hal_internal_sync_get_hight_performan_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) refers to hal_dsi_tx_ctrl.o(.conststring) for .conststring + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) for hal_lcdc_config_upscaler + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) refers to drv_lcdc.o(i.drv_lcdc_config_src_parameter) for drv_lcdc_config_src_parameter + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) refers to hal_internal_vsync.o(i.hal_internal_vsync_update_lcdc_addr) for hal_internal_vsync_update_lcdc_addr + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_cmd_mode_rcv_te) refers to hal_internal_vsync.o(i.hal_internal_sync_cmd_mode_rcv_te) for hal_internal_sync_cmd_mode_rcv_te + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_create_handle) refers to memseta.o(.text) for __aeabi_memclr4 + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_create_handle) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to drv_crgu.o(i.drv_crgu_config_reset_modules) for drv_crgu_config_reset_modules + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to memcpya.o(.text) for __aeabi_memcpy4 + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to drv_param_init.o(i.drv_param_init_set_ccm) for drv_param_init_set_ccm + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) for hal_internal_vsync_set_tx_state + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to hal_dsi_tx_ctrl.o(.data) for .data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit) refers to hal_dsi_tx_ctrl.o(.constdata) for .constdata + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to drv_memc.o(i.drv_memc_set_data_mode) for drv_memc_set_data_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) for hal_lcdc_config_upscaler + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) for hal_lcdc_config_remains + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to drv_lcdc.o(i.drv_lcdc_config_bypass) for drv_lcdc_config_bypass + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_mode_init) for hal_dsi_tx_ctrl_draw_mode_init + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data) for hal_dsi_tx_ctrl_set_rect_pixel_data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to drv_memc.o(i.drv_memc_set_data_mode) for drv_memc_set_data_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) for hal_lcdc_config_upscaler + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) for hal_lcdc_config_remains + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to drv_lcdc.o(i.drv_lcdc_config_bypass) for drv_lcdc_config_bypass + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_mode_init) for hal_dsi_tx_ctrl_draw_mode_init + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_init_panel_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_command_mode_cfg) for drv_dsi_tx_command_mode_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_init_panel_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_mode) for drv_dsi_tx_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_init_panel_mode) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_ulps_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_enter) for drv_dsi_tx_phy_ulps_enter + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_init_panel_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_command_mode_cfg) for drv_dsi_tx_command_mode_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_init_panel_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_mode) for drv_dsi_tx_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_init_panel_mode) refers to hal_dsi_tx_ctrl.o(.data) for .data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_ulps_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_exit) for drv_dsi_tx_phy_ulps_exit + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to memseta.o(.text) for __aeabi_memclr4 + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init_clk) for hal_dsi_tx_ctrl_init_clk + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_internal_vsync.o(i.hal_internal_vsync_init_tx) for hal_internal_vsync_init_tx + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_config_params_for_lane_rate) for hal_dsi_tx_config_params_for_lane_rate + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) for hal_dsi_tx_count_lane_rate + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_phy_cfg) for hal_dsi_tx_init_phy_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) for drv_dsi_tx_phy_test_setup + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) for hal_lcdc_init_clk + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) for hal_lcdc_init_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_dpi_cfg) for hal_dsi_tx_init_dpi_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_data_mode) for hal_dsi_tx_init_data_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) for hal_dsi_tx_init_remains + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_interrupt) for hal_dsi_tx_init_interrupt + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_ready) for drv_dsi_tx_phy_status_ready + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to drv_dsi_tx.o(i.drv_dsi_tx_powerup) for drv_dsi_tx_powerup + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) for hal_internal_vsync_set_tx_state + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init_clk) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_panel_reset_pin) refers to hal_gpio.o(i.hal_gpio_set_output_data) for hal_gpio_set_output_data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_read_cmd) refers to memseta.o(.text) for __aeabi_memclr4 + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_read_cmd) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) for hal_dsi_tx_send_cmd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_read_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_get_cmd_status) for drv_dsi_tx_get_cmd_status + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_read_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_command_get_payload) for drv_dsi_tx_command_get_payload + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_read_cmd) refers to memcpya.o(.text) for __aeabi_memcpy + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_release_handle) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_ccm) refers to drv_param_init.o(i.drv_param_init_set_ccm) for drv_param_init_set_ccm + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_ccm) refers to drv_lcdc.o(i.drv_lcdc_config_int_single) for drv_lcdc_config_int_single + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_cus_pq_filter) refers to drv_lcdc.o(i.drv_lcdc_config_scale_up_coef) for drv_lcdc_config_scale_up_coef + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_cus_pq_filter) refers to drv_param_init.o(i.drv_param_init_set_sclu_filter) for drv_param_init_set_sclu_filter + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_endianness) refers to drv_lcdc.o(i.drv_lcdc_config_endianness) for drv_lcdc_config_endianness + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_escape_clock_div) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_esc_div) for drv_dsi_tx_set_esc_div + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_lp_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_video_mode_set_lp_cmd) for drv_dsi_tx_video_mode_set_lp_cmd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_overwrite) refers to drv_lcdc.o(i.drv_lcdc_config_overwrite) for drv_lcdc_config_overwrite + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_overwrite_rgb) refers to drv_lcdc.o(i.drv_lcdc_config_overwrite_rgb) for drv_lcdc_config_overwrite_rgb + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp) refers to drv_lcdc.o(i.drv_lcdc_config_partial_display_enable) for drv_lcdc_config_partial_display_enable + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp_area) refers to drv_lcdc.o(i.drv_lcdc_config_partial_display_area) for drv_lcdc_config_partial_display_area + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data) refers to dfltui.o(.text) for __aeabi_ui2d + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data) refers to dflti.o(.text) for __aeabi_i2d + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data) refers to dmul.o(.text) for __aeabi_dmul + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data) refers to ddiv.o(.text) for __aeabi_ddiv + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data) refers to dfixi.o(.text) for __aeabi_d2iz + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_vpg) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_vpg) for drv_dsi_tx_set_vpg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_vpg) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker) for hal_dsi_tx_ctrl_draw_flicker + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_vpg) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard) for hal_dsi_tx_ctrl_draw_chessboard + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_vpg) refers to hal_dsi_tx_ctrl.o(.data) for .data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_vpg) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to drv_dsi_tx.o(i.drv_dsi_tx_config_eotp) for drv_dsi_tx_config_eotp + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_clock_lane_req_hs) for drv_dsi_tx_phy_clock_lane_req_hs + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) for hal_internal_vsync_set_tx_state + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to drv_lcdc.o(i.drv_lcdc_enable_shadow_reg) for drv_lcdc_enable_shadow_reg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to drv_lcdc.o(i.drv_lcdc_set_video_hw_mode) for drv_lcdc_set_video_hw_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to drv_lcdc.o(i.drv_lcdc_config_overwrite) for drv_lcdc_config_overwrite + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to drv_lcdc.o(i.drv_lcdc_start) for drv_lcdc_start + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) refers to hal_dsi_tx_ctrl.o(.data) for .data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_stop) refers to drv_lcdc.o(i.drv_lcdc_set_int) for drv_lcdc_set_int + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_stop) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_int) for drv_dsi_tx_set_int + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_stop) refers to drv_dsi_tx.o(i.drv_dsi_tx_shutdown) for drv_dsi_tx_shutdown + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_stop) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) for hal_internal_vsync_set_tx_state + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_stop) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_stop) refers to hal_dsi_tx_ctrl.o(.data) for .data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_array_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_get_cmd_status) for drv_dsi_tx_get_cmd_status + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_array_cmd) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) for hal_dsi_tx_send_cmd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_array_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_command_put_payload) for drv_dsi_tx_command_put_payload + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_get_cmd_status) for drv_dsi_tx_get_cmd_status + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_cmd) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) for hal_dsi_tx_send_cmd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_command_put_payload) for drv_dsi_tx_command_put_payload + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_data_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_mode) for drv_dsi_tx_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_data_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_edpi_cmd_size) for drv_dsi_tx_edpi_cmd_size + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_data_mode) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) for hal_dsi_tx_init_video_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_data_mode) refers to hal_dsi_tx_ctrl.o(.data) for .data + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_dpi_cfg) refers to drv_dsi_tx.o(i.drv_dsi_tx_dpi_mode) for drv_dsi_tx_dpi_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_dpi_cfg) refers to drv_dsi_tx.o(i.drv_dsi_tx_dpi_polarity) for drv_dsi_tx_dpi_polarity + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_dpi_cfg) refers to drv_dsi_tx.o(i.drv_dsi_tx_dpi_lpcmd_time) for drv_dsi_tx_dpi_lpcmd_time + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_interrupt) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_int) for drv_dsi_tx_set_int + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_interrupt) refers to drv_dsi_tx.o(i.drv_dsi_tx_config_int) for drv_dsi_tx_config_int + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_phy_cfg) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_lane_mode) for drv_dsi_tx_phy_lane_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_phy_cfg) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_time_cfg) for drv_dsi_tx_phy_time_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) refers to drv_dsi_tx.o(i.drv_dsi_tx_response_mode) for drv_dsi_tx_response_mode + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_esc_div) for drv_dsi_tx_set_esc_div + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_time_out_div) for drv_dsi_tx_set_time_out_div + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) refers to drv_dsi_tx.o(i.drv_dsi_tx_timeout_cfg) for drv_dsi_tx_timeout_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) refers to drv_dsi_tx.o(i.drv_dsi_tx_config_eotp) for drv_dsi_tx_config_eotp + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_clock_lane_req_hs) for drv_dsi_tx_phy_clock_lane_req_hs + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_clock_lane_auto_lp) for drv_dsi_tx_phy_clock_lane_auto_lp + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_video_mode_cfg) for drv_dsi_tx_video_mode_cfg + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_set_bta_ack) for drv_dsi_tx_set_bta_ack + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_video_mode_set_lp_cmd) for drv_dsi_tx_video_mode_set_lp_cmd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) refers to drv_dsi_tx.o(i.drv_dsi_tx_video_mode_disable_hact_cmd) for drv_dsi_tx_video_mode_disable_hact_cmd + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) for hal_dsi_tx_calc_video_chunks + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_get_cmd_status) for drv_dsi_tx_get_cmd_status + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_command_header) for drv_dsi_tx_command_header + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_stopstate) for drv_dsi_tx_phy_status_stopstate + hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) refers to hal_dsi_tx_ctrl.o(.bss) for .bss + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_ccm) refers to drv_param_init.o(i.drv_param_init_get_ccm) for drv_param_init_get_ccm + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_ccm) refers to drv_lcdc.o(i.drv_lcdc_config_ccm) for drv_lcdc_config_ccm + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_ccm) refers to drv_lcdc.o(i.drv_lcdc_config_bypass) for drv_lcdc_config_bypass + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) refers to drv_lcdc.o(i.drv_lcdc_config_disp_mode) for drv_lcdc_config_disp_mode + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) refers to drv_lcdc.o(i.drv_lcdc_config_edpi_mode) for drv_lcdc_config_edpi_mode + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) refers to drv_lcdc.o(i.drv_lcdc_config_endianness) for drv_lcdc_config_endianness + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) refers to drv_lcdc.o(i.drv_lcdc_config_thresh) for drv_lcdc_config_thresh + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) refers to drv_lcdc.o(i.drv_lcdc_config_dpi_polarity) for drv_lcdc_config_dpi_polarity + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) refers to drv_lcdc.o(i.drv_lcdc_config_src_parameter) for drv_lcdc_config_src_parameter + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_rgb_to_pentile) refers to drv_lcdc.o(i.drv_lcdc_config_bypass) for drv_lcdc_config_bypass + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to dfltui.o(.text) for __aeabi_ui2d + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to dadd.o(.text) for __aeabi_dadd + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to dfixui.o(.text) for __aeabi_d2uiz + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp_area) for hal_dsi_tx_ctrl_set_partial_disp_area + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp) for hal_dsi_tx_ctrl_set_partial_disp + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to drv_lcdc.o(i.drv_lcdc_config_scale_up_step) for drv_lcdc_config_scale_up_step + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to drv_param_init.o(i.drv_param_init_get_sclu_filter) for drv_param_init_get_sclu_filter + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to drv_lcdc.o(i.drv_lcdc_config_scale_up_coef) for drv_lcdc_config_scale_up_coef + hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) refers to drv_lcdc.o(i.drv_lcdc_config_bypass) for drv_lcdc_config_bypass + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) for hal_lcdc_config_upscaler + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_ccm) for hal_lcdc_config_ccm + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_rgb_to_pentile) for hal_lcdc_config_rgb_to_pentile + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to drv_lcdc.o(i.drv_lcdc_config_bypass) for drv_lcdc_config_bypass + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) for hal_lcdc_config_remains + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to hal_dsi_tx_ctrl.o(i.hal_lcdc_init_interrupt) for hal_lcdc_init_interrupt + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) refers to drv_lcdc.o(i.drv_lcdc_set_prefetch) for drv_lcdc_set_prefetch + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to memseta.o(.text) for __aeabi_memclr4 + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to ffltui.o(.text) for __aeabi_ui2f + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to drv_crgu.o(i.drv_crgu_set_dpi_pre_div) for drv_crgu_set_dpi_pre_div + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to drv_crgu.o(i.drv_crgu_set_dpi_pre_src) for drv_crgu_set_dpi_pre_src + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to drv_crgu.o(i.drv_crgu_set_dpi_mux_src) for drv_crgu_set_dpi_mux_src + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to fmul.o(.text) for __aeabi_fmul + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to fdiv.o(.text) for __aeabi_fdiv + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to f2d.o(.text) for __aeabi_f2d + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to ceil.o(i.ceil) for ceil + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to dfixui.o(.text) for __aeabi_d2uiz + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to memcpya.o(.text) for __aeabi_memcpy4 + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to drv_lcdc.o(i.drv_lcdc_config_dpi_timing) for drv_lcdc_config_dpi_timing + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) for hal_internal_sync_get_fb_setting + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to cfrcmple.o(.text) for __aeabi_cfrcmple + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to ffixi.o(.text) for __aeabi_f2iz + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to idiv.o(.text) for __aeabi_idivmod + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to drv_crgu.o(i.drv_crgu_set_lcdc_div) for drv_crgu_set_lcdc_div + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) refers to drv_crgu.o(i.drv_crgu_set_lcdc_src) for drv_crgu_set_lcdc_src + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_interrupt) refers to hal_internal_vsync.o(i.hal_internal_vsync_get_sync_line) for hal_internal_vsync_get_sync_line + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_interrupt) refers to drv_lcdc.o(i.drv_lcdc_set_int) for drv_lcdc_set_int + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_interrupt) refers to drv_lcdc.o(i.drv_lcdc_ctrl_flow) for drv_lcdc_ctrl_flow + hal_dsi_tx_ctrl.o(i.hal_lcdc_init_interrupt) refers to drv_lcdc.o(i.drv_lcdc_config_int) for drv_lcdc_config_int + hal_gpio.o(i.hal_gpio_ctrl_eint) refers to drv_gpio.o(i.drv_gpio_set_int) for drv_gpio_set_int + hal_gpio.o(i.hal_gpio_ctrl_eint) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_get_input_data) refers to drv_gpio.o(i.drv_gpio_get_input_data) for drv_gpio_get_input_data + hal_gpio.o(i.hal_gpio_get_int_type) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_get_pull_state) refers to drv_gpio.o(i.drv_gpio_get_pull_state) for drv_gpio_get_pull_state + hal_gpio.o(i.hal_gpio_get_pull_state) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_init_eint) refers to drv_gpio.o(i.drv_gpio_set_ioe) for drv_gpio_set_ioe + hal_gpio.o(i.hal_gpio_init_eint) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_gpio.o(i.hal_gpio_init_eint) refers to drv_sys_cfg.o(i.drv_sys_cfg_sel_gpio_group) for drv_sys_cfg_sel_gpio_group + hal_gpio.o(i.hal_gpio_init_eint) refers to drv_sys_cfg.o(i.drv_sys_cfg_sel_int_trig) for drv_sys_cfg_sel_int_trig + hal_gpio.o(i.hal_gpio_init_eint) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + hal_gpio.o(i.hal_gpio_init_eint) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_init_input) refers to drv_gpio.o(i.drv_gpio_set_ioe) for drv_gpio_set_ioe + hal_gpio.o(i.hal_gpio_init_input) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_gpio.o(i.hal_gpio_init_input) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_init_output) refers to hal_gpio.o(i.drv_gpio_set_output_data) for drv_gpio_set_output_data + hal_gpio.o(i.hal_gpio_init_output) refers to drv_gpio.o(i.drv_gpio_set_ioe) for drv_gpio_set_ioe + hal_gpio.o(i.hal_gpio_init_output) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_gpio.o(i.hal_gpio_init_output) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_reg_eint_cb) refers to drv_gpio.o(i.drv_gpio_register_callback) for drv_gpio_register_callback + hal_gpio.o(i.hal_gpio_reg_eint_cb) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_set_ap_reset_int) refers to drv_gpio.o(i.drv_gpio_register_ap_reset_callback) for drv_gpio_register_ap_reset_callback + hal_gpio.o(i.hal_gpio_set_ap_reset_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_trig) for drv_sys_cfg_sel_ap_rst_trig + hal_gpio.o(i.hal_gpio_set_ap_reset_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + hal_gpio.o(i.hal_gpio_set_ap_reset_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + hal_gpio.o(i.hal_gpio_set_driving_strength) refers to drv_gpio.o(i.drv_gpio_set_driving_strength) for drv_gpio_set_driving_strength + hal_gpio.o(i.hal_gpio_set_driving_strength) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_set_mode) refers to drv_gpio.o(i.drv_gpio_set_mode3) for drv_gpio_set_mode3 + hal_gpio.o(i.hal_gpio_set_mode) refers to drv_gpio.o(i.drv_gpio_set_mode2) for drv_gpio_set_mode2 + hal_gpio.o(i.hal_gpio_set_mode) refers to drv_gpio.o(i.drv_gpio_set_mode1) for drv_gpio_set_mode1 + hal_gpio.o(i.hal_gpio_set_mode) refers to drv_gpio.o(i.drv_gpio_set_mode0) for drv_gpio_set_mode0 + hal_gpio.o(i.hal_gpio_set_mode) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_set_output_data) refers to hal_gpio.o(i.drv_gpio_set_output_data) for drv_gpio_set_output_data + hal_gpio.o(i.hal_gpio_set_pull_state) refers to drv_gpio.o(i.drv_gpio_set_pull_state) for drv_gpio_set_pull_state + hal_gpio.o(i.hal_gpio_set_pull_state) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_set_schmitt_trigger) refers to drv_gpio.o(i.drv_gpio_set_schmitt_trigger) for drv_gpio_set_schmitt_trigger + hal_gpio.o(i.hal_gpio_set_schmitt_trigger) refers to hal_gpio.o(.constdata) for .constdata + hal_gpio.o(i.hal_gpio_set_slew_rate) refers to drv_gpio.o(i.drv_gpio_set_slew_rate) for drv_gpio_set_slew_rate + hal_gpio.o(i.hal_gpio_set_slew_rate) refers to hal_gpio.o(.constdata) for .constdata + hal_i2c_master.o(i.hal_i2c_m_deinit) refers to drv_i2c_master.o(i.drv_i2c_m_deinit) for drv_i2c_m_deinit + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to drv_i2c_master.o(i.drv_i2c_master_init) for drv_i2c_master_init + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to drv_i2c_master.o(i.drv_i2c1_set_callback) for drv_i2c1_set_callback + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to drv_i2c_master.o(i.drv_i2c_m_enable_intr) for drv_i2c_m_enable_intr + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to drv_i2c_dma.o(i.drv_i2c_dma_init) for drv_i2c_dma_init + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to drv_i2c_dma.o(i.drv_i2c_enable_rx_dma) for drv_i2c_enable_rx_dma + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to drv_i2c_dma.o(i.drv_i2c_enable_tx_dma) for drv_i2c_enable_tx_dma + hal_i2c_master.o(i.hal_i2c_m_dma_init) refers to hal_i2c_master.o(i.hal_i2c_master_irq_callback) for hal_i2c_master_irq_callback + hal_i2c_master.o(i.hal_i2c_m_dma_read) refers to drv_i2c_dma.o(i.drv_i2c_master_read_dma) for drv_i2c_master_read_dma + hal_i2c_master.o(i.hal_i2c_m_dma_read) refers to hal_i2c_master.o(.data) for .data + hal_i2c_master.o(i.hal_i2c_m_dma_write) refers to drv_i2c_dma.o(i.drv_i2c_master_write_dma) for drv_i2c_master_write_dma + hal_i2c_master.o(i.hal_i2c_m_dma_write) refers to hal_i2c_master.o(.data) for .data + hal_i2c_master.o(i.hal_i2c_m_set_high_impedance) refers to drv_i2c_master.o(i.drv_i2c_m_enable) for drv_i2c_m_enable + hal_i2c_master.o(i.hal_i2c_m_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_i2c_master.o(i.hal_i2c_m_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_pull_state) for hal_gpio_set_pull_state + hal_i2c_master.o(i.hal_i2c_m_transfer_complate) refers to hal_i2c_master.o(.data) for .data + hal_i2c_master.o(i.hal_i2c_master_irq_callback) refers to drv_i2c_master.o(i.drv_i2c_m_clear_it_pending_bit) for drv_i2c_m_clear_it_pending_bit + hal_i2c_master.o(i.hal_i2c_master_irq_callback) refers to hal_i2c_master.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_deinit) refers to drv_i2c_slave.o(i.drv_i2c_s_set_intr) for drv_i2c_s_set_intr + hal_i2c_slave.o(i.hal_i2c_s_deinit) refers to drv_i2c_slave.o(i.drv_i2c_s_enable) for drv_i2c_s_enable + hal_i2c_slave.o(i.hal_i2c_s_deinit) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + hal_i2c_slave.o(i.hal_i2c_s_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_i2c_slave.o(i.hal_i2c_s_deinit) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_deinit) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_s_dma_user_callback) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_dma_write) refers to drv_dma.o(i.drv_dma_disenable_channel) for drv_dma_disenable_channel + hal_i2c_slave.o(i.hal_i2c_s_dma_write) refers to drv_i2c_dma.o(i.drv_i2c_slave_write_dma) for drv_i2c_slave_write_dma + hal_i2c_slave.o(i.hal_i2c_s_dma_write) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_dma_write) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_s_get_tx_byte_num) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_i2c_slave.o(i.hal_i2c_s_init) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_slave.o(i.drv_i2c_slave_init) for drv_i2c_slave_init + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_master.o(i.drv_i2c1_set_callback) for drv_i2c1_set_callback + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_slave.o(i.drv_i2c_s_config_intr) for drv_i2c_s_config_intr + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_slave.o(i.drv_i2c_s_set_intr) for drv_i2c_s_set_intr + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_dma.o(i.drv_i2c_dma_init) for drv_i2c_dma_init + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) for drv_i2c_set_dma_irq_callback + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_tx_req) for drv_sys_cfg_set_dma_tx_req + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_dma.o(i.drv_i2c_enable_tx_dma) for drv_i2c_enable_tx_dma + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_dma.o(i.drv_dma_enable_channel_interrupts) for drv_dma_enable_channel_interrupts + hal_i2c_slave.o(i.hal_i2c_s_init) refers to drv_i2c_slave.o(i.drv_i2c0_set_callback) for drv_i2c0_set_callback + hal_i2c_slave.o(i.hal_i2c_s_init) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_init) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_s_init) refers to hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) for hal_i2c_slave_irq_callback + hal_i2c_slave.o(i.hal_i2c_s_init) refers to hal_i2c_slave.o(i.hal_i2c_s_dma_user_callback) for hal_i2c_s_dma_user_callback + hal_i2c_slave.o(i.hal_i2c_s_nonblocking_read) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_read_complate) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_read_complate_clear) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_read_data) refers to drv_i2c_slave.o(i.drv_i2c_s_read_data) for drv_i2c_s_read_data + hal_i2c_slave.o(i.hal_i2c_s_read_data) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_read_data) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_s_rxfifo_notempty) refers to drv_i2c_slave.o(i.drv_i2c_s_get_fifo_status) for drv_i2c_s_get_fifo_status + hal_i2c_slave.o(i.hal_i2c_s_rxfifo_notempty) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_rxfifo_notempty) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_s_sel) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_set_dma_tx_cycle) refers to drv_dma.o(i.drv_dma_enable_cycle) for drv_dma_enable_cycle + hal_i2c_slave.o(i.hal_i2c_s_set_dma_tx_cycle) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_set_dma_tx_cycle) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_s_set_high_impedance) refers to drv_i2c_slave.o(i.drv_i2c_s_enable) for drv_i2c_s_enable + hal_i2c_slave.o(i.hal_i2c_s_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_i2c_slave.o(i.hal_i2c_s_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_pull_state) for hal_gpio_set_pull_state + hal_i2c_slave.o(i.hal_i2c_s_set_high_impedance) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_set_high_impedance) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_s_set_transfer) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_write_complate) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_write_data) refers to drv_i2c_slave.o(i.drv_i2c_s_write_data) for drv_i2c_s_write_data + hal_i2c_slave.o(i.hal_i2c_s_write_data) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_s_write_data) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to drv_i2c_slave.o(i.drv_i2c_s_get_fifo_status) for drv_i2c_s_get_fifo_status + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to drv_i2c_slave.o(i.drv_i2c_s_clear_it_pending_bit) for drv_i2c_s_clear_it_pending_bit + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to drv_dma.o(i.drv_dma_disenable_channel) for drv_dma_disenable_channel + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to drv_dma.o(i.drv_dma_enable_channel) for drv_dma_enable_channel + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to drv_i2c_slave.o(i.drv_i2c_s_write_data) for drv_i2c_s_write_data + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to hal_i2c_slave.o(.data) for .data + hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) refers to hal_i2c_slave.o(.constdata) for .constdata + hal_pwm.o(i.hal_pwm_in_clear_int) refers to drv_pwm.o(i.drv_pwm_in_clear_pwm_int_all) for drv_pwm_in_clear_pwm_int_all + hal_pwm.o(i.hal_pwm_in_config_int) refers to drv_pwm.o(i.drv_pwm_in_set_pwm_int) for drv_pwm_in_set_pwm_int + hal_pwm.o(i.hal_pwm_in_ctrl_int) refers to drv_pwm.o(i.drv_pwm_in_set_sys_int) for drv_pwm_in_set_sys_int + hal_pwm.o(i.hal_pwm_in_deinit) refers to drv_pwm.o(i.drv_pwm_in_enable) for drv_pwm_in_enable + hal_pwm.o(i.hal_pwm_in_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_pwm.o(i.hal_pwm_in_get_current_count) refers to drv_pwm.o(i.drv_pwm_in_get_current_count) for drv_pwm_in_get_current_count + hal_pwm.o(i.hal_pwm_in_get_high_period) refers to drv_pwm.o(i.drv_pwm_in_get_high_period) for drv_pwm_in_get_high_period + hal_pwm.o(i.hal_pwm_in_get_high_period) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_pwm.o(i.hal_pwm_in_get_high_period) refers to drv_common.o(.data) for g_system_clock + hal_pwm.o(i.hal_pwm_in_get_low_period) refers to drv_pwm.o(i.drv_pwm_in_get_low_period) for drv_pwm_in_get_low_period + hal_pwm.o(i.hal_pwm_in_get_low_period) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_pwm.o(i.hal_pwm_in_get_low_period) refers to drv_common.o(.data) for g_system_clock + hal_pwm.o(i.hal_pwm_in_get_total_period) refers to drv_pwm.o(i.drv_pwm_in_get_counter_period) for drv_pwm_in_get_counter_period + hal_pwm.o(i.hal_pwm_in_get_total_period) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_pwm.o(i.hal_pwm_in_get_total_period) refers to drv_common.o(.data) for g_system_clock + hal_pwm.o(i.hal_pwm_in_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_pwm.o(i.hal_pwm_in_init) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_pwm.o(i.hal_pwm_in_init) refers to drv_pwm.o(i.drv_pwm_in_enable) for drv_pwm_in_enable + hal_pwm.o(i.hal_pwm_in_register_callback) refers to drv_pwm.o(i.drv_pwm_in_register_callback) for drv_pwm_in_register_callback + hal_pwm.o(i.hal_pwm_in_set_int) refers to drv_pwm.o(i.drv_pwm_in_set_pwm_int) for drv_pwm_in_set_pwm_int + hal_pwm.o(i.hal_pwm_out_common_config) refers to drv_pwm.o(i.drv_pwm_out_set_control) for drv_pwm_out_set_control + hal_pwm.o(i.hal_pwm_out_common_config) refers to drv_pwm.o(i.drv_pwm_out_set_threshold) for drv_pwm_out_set_threshold + hal_pwm.o(i.hal_pwm_out_common_config) refers to drv_pwm.o(i.drv_pwm_out_set_period) for drv_pwm_out_set_period + hal_pwm.o(i.hal_pwm_out_config_all) refers to hal_pwm.o(i.hal_pwm_out_convert_time) for hal_pwm_out_convert_time + hal_pwm.o(i.hal_pwm_out_config_duty_ratio) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_pwm.o(i.hal_pwm_out_config_duty_ratio) refers to hal_pwm.o(i.hal_pwm_out_convert_time) for hal_pwm_out_convert_time + hal_pwm.o(i.hal_pwm_out_config_duty_ratio) refers to drv_common.o(.data) for g_system_clock + hal_pwm.o(i.hal_pwm_out_convert_time) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_pwm.o(i.hal_pwm_out_convert_time) refers to drv_pwm.o(i.drv_pwm_out_set_sync_mode) for drv_pwm_out_set_sync_mode + hal_pwm.o(i.hal_pwm_out_convert_time) refers to hal_pwm.o(i.hal_pwm_out_common_config) for hal_pwm_out_common_config + hal_pwm.o(i.hal_pwm_out_convert_time) refers to tau_delay.o(i.delayUs) for delayUs + hal_pwm.o(i.hal_pwm_out_convert_time) refers to drv_pwm.o(i.drv_pwm_out_get_sync_flag) for drv_pwm_out_get_sync_flag + hal_pwm.o(i.hal_pwm_out_convert_time) refers to drv_pwm.o(i.drv_pwm_out_enable) for drv_pwm_out_enable + hal_pwm.o(i.hal_pwm_out_convert_time) refers to drv_common.o(.data) for g_system_clock + hal_pwm.o(i.hal_pwm_out_convert_time) refers to hal_pwm.o(.data) for .data + hal_pwm.o(i.hal_pwm_out_deinit) refers to drv_pwm.o(i.drv_pwm_out_enable) for drv_pwm_out_enable + hal_pwm.o(i.hal_pwm_out_deinit) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + hal_pwm.o(i.hal_pwm_out_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_pwm.o(i.hal_pwm_out_deinit) refers to hal_pwm.o(.data) for .data + hal_pwm.o(i.hal_pwm_out_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_pwm.o(i.hal_pwm_out_pause) refers to drv_pwm.o(i.drv_pwm_out_pause) for drv_pwm_out_pause + hal_pwm.o(i.hal_pwm_out_sel_io) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_pwm.o(i.hal_pwm_out_sync_all) refers to hal_pwm.o(i.hal_pwm_out_convert_time) for hal_pwm_out_convert_time + hal_pwm.o(i.hal_pwm_out_sync_ctl) refers to drv_pwm.o(i.drv_pwm_out_set_sync_mode) for drv_pwm_out_set_sync_mode + hal_pwm.o(i.hal_pwm_out_sync_ctl) refers to drv_pwm.o(i.drv_pwm_out_set_control) for drv_pwm_out_set_control + hal_pwm.o(i.hal_pwm_out_sync_pause) refers to drv_pwm.o(i.drv_pwm_out_set_sync_mode) for drv_pwm_out_set_sync_mode + hal_pwm.o(i.hal_pwm_out_sync_pause) refers to drv_pwm.o(i.drv_pwm_out_pause) for drv_pwm_out_pause + hal_pwm.o(i.hal_pwm_out_sync_period) refers to drv_pwm.o(i.drv_pwm_out_set_sync_mode) for drv_pwm_out_set_sync_mode + hal_pwm.o(i.hal_pwm_out_sync_period) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_pwm.o(i.hal_pwm_out_sync_period) refers to drv_pwm.o(i.drv_pwm_out_set_period) for drv_pwm_out_set_period + hal_pwm.o(i.hal_pwm_out_sync_period) refers to drv_common.o(.data) for g_system_clock + hal_pwm.o(i.hal_pwm_out_sync_thr) refers to drv_pwm.o(i.drv_pwm_out_set_sync_mode) for drv_pwm_out_set_sync_mode + hal_pwm.o(i.hal_pwm_out_sync_thr) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_pwm.o(i.hal_pwm_out_sync_thr) refers to drv_pwm.o(i.drv_pwm_out_set_threshold) for drv_pwm_out_set_threshold + hal_pwm.o(i.hal_pwm_out_sync_thr) refers to drv_common.o(.data) for g_system_clock + hal_spi_master.o(i.hal_spi_m_callback) refers to drv_spi_dma.o(i.drv_spi_abort_dma) for drv_spi_abort_dma + hal_spi_master.o(i.hal_spi_m_callback) refers to hal_spi_master.o(.data) for .data + hal_spi_master.o(i.hal_spi_m_clear_rxfifo) refers to drv_spi_master.o(i.drv_spi_m_read_data) for drv_spi_m_read_data + hal_spi_master.o(i.hal_spi_m_deinit) refers to drv_spi_master.o(i.drv_spi_m_deinit) for drv_spi_m_deinit + hal_spi_master.o(i.hal_spi_m_dma_init) refers to hal_spi_master.o(i.hal_spi_m_gpio_init) for hal_spi_m_gpio_init + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_spi_master.o(i.drv_spi_master_init) for drv_spi_master_init + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_spi_dma.o(i.drv_spi_dma_init) for drv_spi_dma_init + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_spi_dma.o(i.drv_spi_dma_ch6_init) for drv_spi_dma_ch6_init + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_spi_dma.o(i.drv_spi_set_dma_irq_callback) for drv_spi_set_dma_irq_callback + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_spi_dma.o(i.drv_spi_set_dma_ch6_irq_callback) for drv_spi_set_dma_ch6_irq_callback + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_rx_req) for drv_sys_cfg_set_dma_rx_req + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_tx_req) for drv_sys_cfg_set_dma_tx_req + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_spi_master.o(i.drv_spi_m_enable_rx_dma) for drv_spi_m_enable_rx_dma + hal_spi_master.o(i.hal_spi_m_dma_init) refers to drv_spi_master.o(i.drv_spi_m_enable_tx_dma) for drv_spi_m_enable_tx_dma + hal_spi_master.o(i.hal_spi_m_dma_init) refers to hal_spi_master.o(i.hal_spi_m_callback) for hal_spi_m_callback + hal_spi_master.o(i.hal_spi_m_dma_read) refers to drv_spi_dma.o(i.drv_spim_dma_read) for drv_spim_dma_read + hal_spi_master.o(i.hal_spi_m_dma_read) refers to hal_spi_master.o(.data) for .data + hal_spi_master.o(i.hal_spi_m_dma_write) refers to drv_spi_dma.o(i.drv_spim_dma_write) for drv_spim_dma_write + hal_spi_master.o(i.hal_spi_m_dma_write) refers to hal_spi_master.o(.data) for .data + hal_spi_master.o(i.hal_spi_m_get_transfer_complate) refers to hal_spi_master.o(.data) for .data + hal_spi_master.o(i.hal_spi_m_gpio_init) refers to drv_spi_master.o(i.drv_spi_m_gpio_init) for drv_spi_m_gpio_init + hal_spi_master.o(i.hal_spi_m_read_rxfifo) refers to drv_spi_master.o(i.drv_spi_m_read_data) for drv_spi_m_read_data + hal_spi_master.o(i.hal_spi_m_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_spi_master.o(i.hal_spi_m_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_init_input) for hal_gpio_init_input + hal_spi_master.o(i.hal_spi_m_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_pull_state) for hal_gpio_set_pull_state + hal_swire.o(i.hal_swire_deinit) refers to drv_swire.o(i.drv_swire_enable) for drv_swire_enable + hal_swire.o(i.hal_swire_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_swire.o(i.hal_swire_init) refers to drv_crgu.o(i.drv_crgu_set_swire_div) for drv_crgu_set_swire_div + hal_swire.o(i.hal_swire_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_swire.o(i.hal_swire_init) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_swire.o(i.hal_swire_init) refers to drv_swire.o(i.drv_swire_enable) for drv_swire_enable + hal_swire.o(i.hal_swire_open) refers to drv_swire.o(i.drv_swire_set_power_down) for drv_swire_set_power_down + hal_swire.o(i.hal_swire_register_callback) refers to drv_swire.o(i.drv_swire_register_callback) for drv_swire_register_callback + hal_swire.o(i.hal_swire_start) refers to drv_swire.o(i.drv_swire_set_int) for drv_swire_set_int + hal_swire.o(i.hal_swire_start) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_swire.o(i.hal_swire_start) refers to drv_swire.o(i.drv_swire_set_bit_time) for drv_swire_set_bit_time + hal_swire.o(i.hal_swire_start) refers to drv_swire.o(i.drv_swire_set_pulse_count) for drv_swire_set_pulse_count + hal_swire.o(i.hal_swire_start) refers to drv_common.o(.data) for g_system_clock + hal_system.o(i.hal_system_deep_sleep_mode) refers to drv_pwr.o(i.drv_pwr_enter_deep_sleep_mode) for drv_pwr_enter_deep_sleep_mode + hal_system.o(i.hal_system_disable_systick) refers to drv_common.o(i.drv_common_disable_systick) for drv_common_disable_systick + hal_system.o(i.hal_system_enable_systick) refers to drv_common.o(i.drv_common_enable_systick) for drv_common_enable_systick + hal_system.o(i.hal_system_flash_read) refers to norflash.o(i.norflash_init) for norflash_init + hal_system.o(i.hal_system_flash_read) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + hal_system.o(i.hal_system_flash_read) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_system.o(i.hal_system_flash_read) refers to norflash.o(i.norflash_dual_read) for norflash_dual_read + hal_system.o(i.hal_system_flash_write) refers to norflash.o(i.norflash_init) for norflash_init + hal_system.o(i.hal_system_flash_write) refers to norflash.o(i.norflash_erase_block) for norflash_erase_block + hal_system.o(i.hal_system_flash_write) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_system.o(i.hal_system_flash_write) refers to norflash.o(i.norflash_write) for norflash_write + hal_system.o(i.hal_system_get_tick) refers to drv_common.o(i.drv_common_get_tick) for drv_common_get_tick + hal_system.o(i.hal_system_idle_mode) refers to drv_common.o(i.drv_common_idle_mode) for drv_common_idle_mode + hal_system.o(i.hal_system_init) refers to drv_pwr.o(i.drv_pwr_set_system_clk_src) for drv_pwr_set_system_clk_src + hal_system.o(i.hal_system_init) refers to drv_crgu.o(i.drv_crgu_set_ahb_src) for drv_crgu_set_ahb_src + hal_system.o(i.hal_system_init) refers to drv_crgu.o(i.drv_crgu_set_ahb_pre_div) for drv_crgu_set_ahb_pre_div + hal_system.o(i.hal_system_init) refers to irq_redirect .o(i.handle_init) for handle_init + hal_system.o(i.hal_system_init) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_all_int) for drv_sys_cfg_clear_all_int + hal_system.o(i.hal_system_init) refers to drv_common.o(i.drv_common_system_init) for drv_common_system_init + hal_system.o(i.hal_system_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_system.o(i.hal_system_init) refers to drv_pwr.o(i.drv_pwr_set_pvd_mode) for drv_pwr_set_pvd_mode + hal_system.o(i.hal_system_init) refers to drv_common.o(.data) for g_system_clock + hal_system.o(i.hal_system_init_console) refers to hal_uart.o(i.hal_uart_init) for hal_uart_init + hal_system.o(i.hal_system_register_systick_cb) refers to drv_common.o(i.drv_common_systick_register_cb) for drv_common_systick_register_cb + hal_system.o(i.hal_system_set_phy_calibration) refers to drv_phy_common.o(i.drv_phy_enable_calibration) for drv_phy_enable_calibration + hal_system.o(i.hal_system_set_pvd) refers to drv_pwr.o(i.drv_pwr_set_pvd_mode) for drv_pwr_set_pvd_mode + hal_system.o(i.hal_system_set_vcc) refers to drv_pwr.o(i.drv_pwr_set_cp_mode) for drv_pwr_set_cp_mode + hal_system.o(i.hal_system_share_flash_mode) refers to drv_fls.o(i.drv_fls_gpio_connect) for drv_fls_gpio_connect + hal_system.o(i.hal_system_share_flash_mode) refers to drv_fls.o(i.drv_fls_gpio_disconnect) for drv_fls_gpio_disconnect + hal_system.o(i.hal_system_sleep_mode) refers to drv_crgu.o(i.drv_crgu_config_clocks) for drv_crgu_config_clocks + hal_timer.o(i.hal_timer_deinit) refers to drv_timer.o(i.drv_timer_set_int) for drv_timer_set_int + hal_timer.o(i.hal_timer_deinit) refers to drv_timer.o(i.drv_timer_set_repeat) for drv_timer_set_repeat + hal_timer.o(i.hal_timer_deinit) refers to drv_timer.o(i.drv_timer_enable) for drv_timer_enable + hal_timer.o(i.hal_timer_deinit) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + hal_timer.o(i.hal_timer_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_timer.o(i.hal_timer_get_status) refers to drv_timer.o(i.drv_timer_get_status) for drv_timer_get_status + hal_timer.o(i.hal_timer_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + hal_timer.o(i.hal_timer_init) refers to drv_timer.o(i.drv_timer_set_prescaler) for drv_timer_set_prescaler + hal_timer.o(i.hal_timer_set_repeat) refers to drv_timer.o(i.drv_timer_set_repeat) for drv_timer_set_repeat + hal_timer.o(i.hal_timer_start) refers to drv_timer.o(i.drv_timer_register_callback) for drv_timer_register_callback + hal_timer.o(i.hal_timer_start) refers to drv_timer.o(i.drv_timer_get_prescaler) for drv_timer_get_prescaler + hal_timer.o(i.hal_timer_start) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_timer.o(i.hal_timer_start) refers to drv_timer.o(i.drv_timer_set_compare_val) for drv_timer_set_compare_val + hal_timer.o(i.hal_timer_start) refers to drv_timer.o(i.drv_timer_set_int) for drv_timer_set_int + hal_timer.o(i.hal_timer_start) refers to drv_timer.o(i.drv_timer_enable) for drv_timer_enable + hal_timer.o(i.hal_timer_start) refers to drv_common.o(.data) for g_system_clock + hal_timer.o(i.hal_timer_start_ex) refers to drv_timer.o(i.drv_timer_register_callback) for drv_timer_register_callback + hal_timer.o(i.hal_timer_start_ex) refers to drv_timer.o(i.drv_timer_get_prescaler) for drv_timer_get_prescaler + hal_timer.o(i.hal_timer_start_ex) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_timer.o(i.hal_timer_start_ex) refers to drv_timer.o(i.drv_timer_set_compare_val) for drv_timer_set_compare_val + hal_timer.o(i.hal_timer_start_ex) refers to drv_timer.o(i.drv_timer_set_int) for drv_timer_set_int + hal_timer.o(i.hal_timer_start_ex) refers to drv_timer.o(i.drv_timer_enable) for drv_timer_enable + hal_timer.o(i.hal_timer_start_ex) refers to drv_common.o(.data) for g_system_clock + hal_timer.o(i.hal_timer_stop) refers to drv_timer.o(i.drv_timer_enable) for drv_timer_enable + hal_timer.o(i.hal_timer_stop) refers to drv_timer.o(i.drv_timer_set_int) for drv_timer_set_int + hal_timer.o(i.hal_timer_stop) refers to drv_timer.o(i.drv_timer_register_callback) for drv_timer_register_callback + hal_timer.o(i.hal_timer_stop) refers to drv_timer.o(i.drv_timer_set_compare_val) for drv_timer_set_compare_val + tau_delay.o(i.delayMs) refers to tau_delay.o(i.delayUs) for delayUs + tau_log.o(i.LOG_printf) refers to printfa.o(i.__0vsprintf) for vsprintf + tau_log.o(i.LOG_printf) refers to printfa.o(i.__0printf) for __2printf + tau_log.o(i.LOG_printf) refers to tau_log.o(.bss) for .bss + tau_log.o(i.fgetc) refers to hal_uart.o(i.hal_uart_receive_blocking) for hal_uart_receive_blocking + tau_log.o(i.fputc) refers to hal_uart.o(i.hal_uart_transmit_blocking) for hal_uart_transmit_blocking + hal_uart.o(i.hal_uart_deinit) refers to drv_dma.o(i.drv_dma_deinit) for drv_dma_deinit + hal_uart.o(i.hal_uart_deinit) refers to drv_uart.o(i.UART_Deinit) for UART_Deinit + hal_uart.o(i.hal_uart_dmacallback) refers to hal_uart.o(.bss) for .bss + hal_uart.o(i.hal_uart_init) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_uart.o(i.hal_uart_init) refers to memseta.o(.text) for __aeabi_memclr4 + hal_uart.o(i.hal_uart_init) refers to drv_uart.o(i.UART_init) for UART_init + hal_uart.o(i.hal_uart_init) refers to drv_common.o(.data) for g_system_clock + hal_uart.o(i.hal_uart_init) refers to hal_uart.o(.bss) for .bss + hal_uart.o(i.hal_uart_receive_blocking) refers to drv_uart.o(i.UART_ReadBlocking) for UART_ReadBlocking + hal_uart.o(i.hal_uart_receive_dma) refers to drv_dma.o(i.drv_dma_create_handle) for drv_dma_create_handle + hal_uart.o(i.hal_uart_receive_dma) refers to drv_uart_dma.o(i.UART_TransferCreateHandleDMA) for UART_TransferCreateHandleDMA + hal_uart.o(i.hal_uart_receive_dma) refers to drv_uart_dma.o(i.UART_TransferReceiveDMA) for UART_TransferReceiveDMA + hal_uart.o(i.hal_uart_receive_dma) refers to hal_uart.o(.bss) for .bss + hal_uart.o(i.hal_uart_receive_dma) refers to hal_uart.o(i.hal_uart_dmacallback) for hal_uart_dmacallback + hal_uart.o(i.hal_uart_transmit_blocking) refers to drv_uart.o(i.UART_WriteBlocking) for UART_WriteBlocking + hal_uart.o(i.hal_uart_transmit_dma) refers to drv_dma.o(i.drv_dma_create_handle) for drv_dma_create_handle + hal_uart.o(i.hal_uart_transmit_dma) refers to drv_uart_dma.o(i.UART_TransferCreateHandleDMA) for UART_TransferCreateHandleDMA + hal_uart.o(i.hal_uart_transmit_dma) refers to drv_uart_dma.o(i.UART_TransferSendDMA) for UART_TransferSendDMA + hal_uart.o(i.hal_uart_transmit_dma) refers to hal_uart.o(.bss) for .bss + hal_uart.o(i.hal_uart_transmit_dma) refers to hal_uart.o(i.hal_uart_dmacallback) for hal_uart_dmacallback + norflash.o(i.app_fls_ctrl_Handler) refers to drv_fls.o(i.fls_clr_interrupt_flag) for fls_clr_interrupt_flag + norflash.o(i.app_fls_ctrl_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + norflash.o(i.app_fls_ctrl_Handler) refers to norflash.o(.data) for .data + norflash.o(i.norflash_best_cfg_init) refers to drv_fls.o(i.fls_spi_init) for fls_spi_init + norflash.o(i.norflash_best_cfg_init) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_check_id) refers to norflash.o(i.norflash_read_id) for norflash_read_id + norflash.o(i.norflash_check_id) refers to tau_delay.o(i.delayUs) for delayUs + norflash.o(i.norflash_check_id) refers to norflash.o(.data) for .data + norflash.o(i.norflash_dma_callback) refers to norflash.o(.data) for .data + norflash.o(i.norflash_dma_read) refers to drv_dma.o(i.drv_dma_create_handle) for drv_dma_create_handle + norflash.o(i.norflash_dma_read) refers to drv_fls_dma.o(i.fls_transfer_create_handle_dma) for fls_transfer_create_handle_dma + norflash.o(i.norflash_dma_read) refers to drv_fls_dma.o(i.fls_dma_read_prepare) for fls_dma_read_prepare + norflash.o(i.norflash_dma_read) refers to drv_fls_dma.o(i.fls_transfer_dma) for fls_transfer_dma + norflash.o(i.norflash_dma_read) refers to drv_fls_dma.o(i.fls_dma_disable) for fls_dma_disable + norflash.o(i.norflash_dma_read) refers to norflash.o(.data) for .data + norflash.o(i.norflash_dma_read) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_dma_read) refers to norflash.o(i.norflash_dma_callback) for norflash_dma_callback + norflash.o(i.norflash_dma_write) refers to drv_dma.o(i.drv_dma_create_handle) for drv_dma_create_handle + norflash.o(i.norflash_dma_write) refers to drv_fls_dma.o(i.fls_transfer_create_handle_dma) for fls_transfer_create_handle_dma + norflash.o(i.norflash_dma_write) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_dma_write) refers to norflash.o(i.norflash_switch_fls_spi) for norflash_switch_fls_spi + norflash.o(i.norflash_dma_write) refers to drv_fls_dma.o(i.fls_dma_write_prepare) for fls_dma_write_prepare + norflash.o(i.norflash_dma_write) refers to drv_fls_dma.o(i.fls_transfer_dma) for fls_transfer_dma + norflash.o(i.norflash_dma_write) refers to drv_fls_dma.o(i.fls_dma_disable) for fls_dma_disable + norflash.o(i.norflash_dma_write) refers to drv_fls.o(i.fls_single_mode) for fls_single_mode + norflash.o(i.norflash_dma_write) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_dma_write) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_dma_write) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_dma_write) refers to norflash.o(i.norflash_dma_callback) for norflash_dma_callback + norflash.o(i.norflash_dma_write) refers to norflash.o(.data) for .data + norflash.o(i.norflash_dual_read) refers to drv_fls.o(i.fls_ddat_enable) for fls_ddat_enable + norflash.o(i.norflash_dual_read) refers to drv_fls.o(i.fls_set_addr_dummy) for fls_set_addr_dummy + norflash.o(i.norflash_dual_read) refers to drv_fls.o(i.fls_read_byte_data) for fls_read_byte_data + norflash.o(i.norflash_dual_write) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_dual_write) refers to norflash.o(i.norflash_switch_fls_spi) for norflash_switch_fls_spi + norflash.o(i.norflash_dual_write) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_dual_write) refers to drv_fls.o(i.fls_ddat_enable) for fls_ddat_enable + norflash.o(i.norflash_dual_write) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_dual_write) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_en4b) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_en4b) refers to drv_fls.o(i.fls_write_cmd) for fls_write_cmd + norflash.o(i.norflash_en4b) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_en4b) refers to norflash.o(i.norflash_read_config_reg) for norflash_read_config_reg + norflash.o(i.norflash_en4b) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_en_quad) refers to norflash.o(i.norflash_en_quad_check) for norflash_en_quad_check + norflash.o(i.norflash_en_quad) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_en_quad) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_en_quad) refers to drv_fls.o(i.fls_busy_pending) for fls_busy_pending + norflash.o(i.norflash_en_quad) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_en_quad_check) refers to norflash.o(i.norflash_get_dual_hstatus) for norflash_get_dual_hstatus + norflash.o(i.norflash_en_quad_check) refers to norflash.o(i.norflash_get_hstatus) for norflash_get_hstatus + norflash.o(i.norflash_en_quad_check) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_en_quad_check) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_erase_block) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_erase_block) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_erase_block) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_erase_block) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_erase_chip) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_erase_chip) refers to drv_fls.o(i.fls_write_cmd) for fls_write_cmd + norflash.o(i.norflash_erase_chip) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_erase_sector) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_erase_sector) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_erase_sector) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_erase_sector) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_ex4b) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_ex4b) refers to drv_fls.o(i.fls_write_cmd) for fls_write_cmd + norflash.o(i.norflash_ex4b) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_ex4b) refers to norflash.o(i.norflash_read_config_reg) for norflash_read_config_reg + norflash.o(i.norflash_ex4b) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_exit_quad) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_exit_quad) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_exit_quad) refers to norflash.o(i.norflash_en_quad_check) for norflash_en_quad_check + norflash.o(i.norflash_exit_quad) refers to drv_fls.o(i.fls_busy_pending) for fls_busy_pending + norflash.o(i.norflash_exit_quad) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_get_dual_hstatus) refers to drv_fls.o(i.fls_single_mode) for fls_single_mode + norflash.o(i.norflash_get_dual_hstatus) refers to drv_fls.o(i.fls_set_addr_dummy) for fls_set_addr_dummy + norflash.o(i.norflash_get_dual_hstatus) refers to drv_fls.o(i.fls_read_byte_data) for fls_read_byte_data + norflash.o(i.norflash_get_hstatus) refers to drv_fls.o(i.fls_single_mode) for fls_single_mode + norflash.o(i.norflash_get_hstatus) refers to drv_fls.o(i.fls_set_addr_dummy) for fls_set_addr_dummy + norflash.o(i.norflash_get_hstatus) refers to drv_fls.o(i.fls_read_byte_data) for fls_read_byte_data + norflash.o(i.norflash_get_status) refers to drv_fls.o(i.fls_single_mode) for fls_single_mode + norflash.o(i.norflash_get_status) refers to drv_fls.o(i.fls_set_addr_dummy) for fls_set_addr_dummy + norflash.o(i.norflash_get_status) refers to drv_fls.o(i.fls_read_byte_data) for fls_read_byte_data + norflash.o(i.norflash_init) refers to drv_fls.o(i.fls_get_default_spi_config) for fls_get_default_spi_config + norflash.o(i.norflash_init) refers to drv_fls.o(i.fls_get_default_fls_config) for fls_get_default_fls_config + norflash.o(i.norflash_init) refers to drv_fls.o(i.fls_get_default_tuning) for fls_get_default_tuning + norflash.o(i.norflash_init) refers to drv_fls.o(i.fls_init) for fls_init + norflash.o(i.norflash_init) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_init) refers to drv_fls.o(.data) for g_fls_tuning + norflash.o(i.norflash_quad_read) refers to drv_fls.o(i.fls_qdat_enable) for fls_qdat_enable + norflash.o(i.norflash_quad_read) refers to drv_fls.o(i.fls_qadr_enable) for fls_qadr_enable + norflash.o(i.norflash_quad_read) refers to drv_fls.o(i.fls_qcmd_enable) for fls_qcmd_enable + norflash.o(i.norflash_quad_read) refers to drv_fls.o(i.fls_set_addr_dummy) for fls_set_addr_dummy + norflash.o(i.norflash_quad_read) refers to drv_fls.o(i.fls_read_byte_data) for fls_read_byte_data + norflash.o(i.norflash_quad_write) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_quad_write) refers to norflash.o(i.norflash_switch_fls_spi) for norflash_switch_fls_spi + norflash.o(i.norflash_quad_write) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_quad_write) refers to drv_fls.o(i.fls_single_mode) for fls_single_mode + norflash.o(i.norflash_quad_write) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_quad_write) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_read) refers to drv_fls.o(i.fls_read_byte_data) for fls_read_byte_data + norflash.o(i.norflash_read_config_reg) refers to drv_fls.o(i.fls_read_byte_data) for fls_read_byte_data + norflash.o(i.norflash_read_id) refers to drv_fls.o(i.fls_read_cmd) for fls_read_cmd + norflash.o(i.norflash_set_best_cfg) refers to memseta.o(.text) for __aeabi_memclr4 + norflash.o(i.norflash_set_best_read_cfg) refers to norflash.o(i.norflash_en_quad) for norflash_en_quad + norflash.o(i.norflash_set_best_read_cfg) refers to norflash.o(.data) for .data + norflash.o(i.norflash_set_best_read_cfg) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_set_best_write_cfg) refers to norflash.o(i.norflash_en_quad) for norflash_en_quad + norflash.o(i.norflash_set_best_write_cfg) refers to norflash.o(.data) for .data + norflash.o(i.norflash_set_best_write_cfg) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_switch_fls_spi) refers to drv_fls.o(i.fls_single_mode) for fls_single_mode + norflash.o(i.norflash_switch_fls_spi) refers to drv_fls.o(i.fls_set_addr_dummy) for fls_set_addr_dummy + norflash.o(i.norflash_switch_fls_spi) refers to drv_fls.o(i.fls_ddat_enable) for fls_ddat_enable + norflash.o(i.norflash_switch_fls_spi) refers to drv_fls.o(i.fls_qdat_enable) for fls_qdat_enable + norflash.o(i.norflash_switch_fls_spi) refers to drv_fls.o(i.fls_qadr_enable) for fls_qadr_enable + norflash.o(i.norflash_write) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_write) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_write) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_write) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + norflash.o(i.norflash_write_disable) refers to drv_fls.o(i.fls_write_cmd) for fls_write_cmd + norflash.o(i.norflash_write_disable) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_write_disable) refers to norflash.o(.data) for .data + norflash.o(i.norflash_write_disable) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_write_enable) refers to drv_fls.o(i.fls_write_cmd) for fls_write_cmd + norflash.o(i.norflash_write_enable) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_write_enable) refers to norflash.o(.bss) for .bss + norflash.o(i.norflash_write_enable) refers to norflash.o(.data) for .data + norflash.o(i.norflash_write_endian_scr) refers to norflash.o(i.norflash_write_enable) for norflash_write_enable + norflash.o(i.norflash_write_endian_scr) refers to norflash.o(i.norflash_big_end_enable) for norflash_big_end_enable + norflash.o(i.norflash_write_endian_scr) refers to drv_fls.o(i.fls_en_scr) for fls_en_scr + norflash.o(i.norflash_write_endian_scr) refers to drv_fls.o(i.fls_write_byte_data) for fls_write_byte_data + norflash.o(i.norflash_write_endian_scr) refers to norflash.o(i.norflash_big_end_clear) for norflash_big_end_clear + norflash.o(i.norflash_write_endian_scr) refers to drv_fls.o(i.fls_scr_clear) for fls_scr_clear + norflash.o(i.norflash_write_endian_scr) refers to norflash.o(i.norflash_get_status) for norflash_get_status + norflash.o(i.norflash_write_endian_scr) refers to norflash.o(i.norflash_write_disable) for norflash_write_disable + drv_common.o(i.app_HardFault_Handler) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_common.o(i.app_SysTick_Handler) refers to drv_common.o(.data) for .data + drv_common.o(i.drv_common_enable_systick) refers to uidiv.o(.text) for __aeabi_uidivmod + drv_common.o(i.drv_common_enable_systick) refers to drv_common.o(.data) for .data + drv_common.o(i.drv_common_get_tick) refers to drv_common.o(.data) for .data + drv_common.o(i.drv_common_system_init) refers to drv_chip_info.o(i.drv_chip_info_init) for drv_chip_info_init + drv_common.o(i.drv_common_systick_register_cb) refers to drv_common.o(.data) for .data + drv_dma.o(i.app_dma_irq_handler) refers to drv_dma.o(i.drv_dma_irq_handler) for drv_dma_irq_handler + drv_dma.o(i.drv_dma_abort_transfer) refers to drv_dma.o(i.drv_dma_disenable_channel) for drv_dma_disenable_channel + drv_dma.o(i.drv_dma_abort_transfer) refers to drv_dma.o(i.drv_dma_disenable_channel_interrupts) for drv_dma_disenable_channel_interrupts + drv_dma.o(i.drv_dma_ahb_init) refers to drv_dma.o(i.drv_dma_disenable_channel) for drv_dma_disenable_channel + drv_dma.o(i.drv_dma_ahb_init) refers to drv_dma.o(i.drv_dma_disenable_channel_interrupts) for drv_dma_disenable_channel_interrupts + drv_dma.o(i.drv_dma_ahb_init) refers to drv_dma.o(i.drv_dma_clear_flag) for drv_dma_clear_flag + drv_dma.o(i.drv_dma_ahb_init) refers to drv_dma.o(i.drv_dma_set_ccr) for drv_dma_set_ccr + drv_dma.o(i.drv_dma_ahb_init) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_dma.o(i.drv_dma_clear_flag) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_dma.o(i.drv_dma_create_handle) refers to drv_dma.o(.bss) for .bss + drv_dma.o(i.drv_dma_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_dma.o(i.drv_dma_disenable_channel_interrupts) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_dma.o(i.drv_dma_enable_channel_interrupts) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_dma.o(i.drv_dma_enable_cycle) refers to drv_dma.o(i.drv_dma_disenable_channel) for drv_dma_disenable_channel + drv_dma.o(i.drv_dma_get_remaining_bytes) refers to drv_dma.o(i.drv_dma_channel_is_active) for drv_dma_channel_is_active + drv_dma.o(i.drv_dma_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_dma.o(i.drv_dma_init) refers to drv_dma.o(i.drv_dma_ahb_init) for drv_dma_ahb_init + drv_dma.o(i.drv_dma_irq_handler) refers to drv_dma.o(i.drv_dma_get_channel_flag) for drv_dma_get_channel_flag + drv_dma.o(i.drv_dma_irq_handler) refers to drv_dma.o(i.drv_dma_clear_flag) for drv_dma_clear_flag + drv_dma.o(i.drv_dma_irq_handler) refers to drv_dma.o(.bss) for .bss + drv_dma.o(i.drv_dma_m2m_init) refers to memseta.o(.text) for __aeabi_memclr4 + drv_dma.o(i.drv_dma_m2m_init) refers to drv_dma.o(i.drv_dma_init) for drv_dma_init + drv_dma.o(i.drv_dma_reset) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + drv_dma.o(i.drv_dma_set_burst) refers to drv_dma.o(i.drv_dma_disenable_channel) for drv_dma_disenable_channel + drv_dma.o(i.drv_dma_set_transfer) refers to drv_dma.o(i.drv_dma_set_burst) for drv_dma_set_burst + drv_dma.o(i.drv_dma_start_transfer) refers to drv_dma.o(i.drv_dma_enable_channel_interrupts) for drv_dma_enable_channel_interrupts + drv_dma.o(i.drv_dma_start_transfer) refers to drv_dma.o(i.drv_dma_enable_channel) for drv_dma_enable_channel + drv_fls.o(i.drv_fls_gpio_connect) refers to drv_fls.o(i.drv_fls_gpio_disconnect) for drv_fls_gpio_disconnect + drv_fls.o(i.drv_fls_gpio_disconnect) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_fls.o(i.fls_EnableClk) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_fls.o(i.fls_busy_pending) refers to norflash.o(i.norflash_get_status) for norflash_get_status + drv_fls.o(i.fls_de_init) refers to drv_fls_dma.o(i.fls_dma_disable) for fls_dma_disable + drv_fls.o(i.fls_de_init) refers to drv_dma.o(i.drv_dma_clear_flag) for drv_dma_clear_flag + drv_fls.o(i.fls_de_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_fls.o(i.fls_disable_it) refers to drv_fls.o(i.__NVIC_DisableIRQ) for __NVIC_DisableIRQ + drv_fls.o(i.fls_disable_it) refers to drv_fls.o(i.fls_set_mc_irq_mask) for fls_set_mc_irq_mask + drv_fls.o(i.fls_enable_it) refers to drv_fls.o(i.__NVIC_DisableIRQ) for __NVIC_DisableIRQ + drv_fls.o(i.fls_enable_it) refers to drv_fls.o(i.fls_set_mc_irq_mask) for fls_set_mc_irq_mask + drv_fls.o(i.fls_init) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_fls.o(i.fls_init) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + drv_fls.o(i.fls_init) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls.o(i.fls_init) refers to drv_fls.o(i.fls_spi_init) for fls_spi_init + drv_fls.o(i.fls_init) refers to drv_fls.o(i.fls_ctrl_cfg_init) for fls_ctrl_cfg_init + drv_fls.o(i.fls_init) refers to drv_fls.o(i.fls_set_tuning) for fls_set_tuning + drv_fls.o(i.fls_init) refers to drv_fls_dma.o(i.fls_dma_disable) for fls_dma_disable + drv_fls.o(i.fls_read_byte_data) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls.o(i.fls_read_byte_data) refers to drv_fls.o(i.fls_clear_irq_status) for fls_clear_irq_status + drv_fls.o(i.fls_read_byte_data) refers to drv_fls.o(i.fls_set_read) for fls_set_read + drv_fls.o(i.fls_read_byte_data) refers to drv_fls.o(i.fls_spi_start) for fls_spi_start + drv_fls.o(i.fls_read_cmd) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls.o(i.fls_read_cmd) refers to drv_fls.o(i.fls_clear_irq_status) for fls_clear_irq_status + drv_fls.o(i.fls_read_cmd) refers to drv_fls.o(i.fls_set_read) for fls_set_read + drv_fls.o(i.fls_read_cmd) refers to drv_fls.o(i.fls_spi_start) for fls_spi_start + drv_fls.o(i.fls_read_cmd_it) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls.o(i.fls_read_cmd_it) refers to drv_fls.o(i.fls_clear_irq_status) for fls_clear_irq_status + drv_fls.o(i.fls_read_cmd_it) refers to drv_fls.o(i.fls_set_read) for fls_set_read + drv_fls.o(i.fls_read_cmd_it) refers to drv_fls.o(i.fls_enable_it) for fls_enable_it + drv_fls.o(i.fls_read_cmd_it) refers to drv_fls.o(i.fls_spi_start) for fls_spi_start + drv_fls.o(i.fls_set_mc_irq_mask) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_fls.o(i.fls_set_mc_irq_mask) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_fls.o(i.fls_write_byte_data) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls.o(i.fls_write_byte_data) refers to drv_fls.o(i.fls_clear_irq_status) for fls_clear_irq_status + drv_fls.o(i.fls_write_byte_data) refers to drv_fls.o(i.fls_set_write) for fls_set_write + drv_fls.o(i.fls_write_byte_data) refers to drv_fls.o(i.fls_spi_start) for fls_spi_start + drv_fls.o(i.fls_write_cmd) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls.o(i.fls_write_cmd) refers to drv_fls.o(i.fls_clear_irq_status) for fls_clear_irq_status + drv_fls.o(i.fls_write_cmd) refers to drv_fls.o(i.fls_set_write) for fls_set_write + drv_fls.o(i.fls_write_cmd) refers to drv_fls.o(i.fls_spi_start) for fls_spi_start + drv_gpio.o(i.app_AP_NRESET_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_ap_rst_trig_edge_detect) for drv_ap_rst_trig_edge_detect + drv_gpio.o(i.app_AP_NRESET_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_AP_NRESET_IRQn_Handler) refers to drv_gpio.o(.data) for .data + drv_gpio.o(i.app_EXTI_INT0_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT0_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.app_EXTI_INT1_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT1_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.app_EXTI_INT2_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT2_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.app_EXTI_INT3_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT3_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.app_EXTI_INT4_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT4_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.app_EXTI_INT5_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT5_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.app_EXTI_INT6_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT6_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.app_EXTI_INT7_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.app_EXTI_INT7_IRQn_Handler) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.drv_gpio_get_pull_state) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_gpio.o(i.drv_gpio_register_ap_reset_callback) refers to drv_gpio.o(.data) for .data + drv_gpio.o(i.drv_gpio_register_callback) refers to drv_gpio.o(.bss) for .bss + drv_gpio.o(i.drv_gpio_set_driving_strength) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_gpio.o(i.drv_gpio_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_gpio.o(i.drv_gpio_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_gpio.o(i.drv_gpio_set_pull_state) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_gpio.o(i.drv_gpio_set_schmitt_trigger) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_gpio.o(i.drv_gpio_set_slew_rate) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_i2c_dma.o(i.drv_i2c_dma_callback) refers to drv_i2c_dma.o(.data) for .data + drv_i2c_dma.o(i.drv_i2c_master_read_dma) refers to drv_i2c_master.o(i.drv_i2c_m_enable) for drv_i2c_m_enable + drv_i2c_dma.o(i.drv_i2c_master_read_dma) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_rx_req) for drv_sys_cfg_set_dma_rx_req + drv_i2c_dma.o(i.drv_i2c_master_read_dma) refers to drv_dma.o(i.drv_dma_set_transfer) for drv_dma_set_transfer + drv_i2c_dma.o(i.drv_i2c_master_read_dma) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_i2c_dma.o(i.drv_i2c_master_read_dma) refers to drv_dma.o(i.drv_dma_enable_channel) for drv_dma_enable_channel + drv_i2c_dma.o(i.drv_i2c_master_read_dma) refers to drv_i2c_dma.o(i.drv_i2c_master_write_read_cmd) for drv_i2c_master_write_read_cmd + drv_i2c_dma.o(i.drv_i2c_master_write_dma) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_tx_req) for drv_sys_cfg_set_dma_tx_req + drv_i2c_dma.o(i.drv_i2c_master_write_dma) refers to drv_dma.o(i.drv_dma_set_transfer) for drv_dma_set_transfer + drv_i2c_dma.o(i.drv_i2c_master_write_dma) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_i2c_dma.o(i.drv_i2c_master_write_dma) refers to drv_dma.o(i.drv_dma_enable_channel) for drv_dma_enable_channel + drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) refers to drv_dma.o(i.drv_dma_create_handle) for drv_dma_create_handle + drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) refers to drv_dma.o(i.drv_dma_set_callback) for drv_dma_set_callback + drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) refers to drv_i2c_dma.o(.data) for .data + drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) refers to drv_i2c_dma.o(.bss) for .bss + drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) refers to drv_i2c_dma.o(i.drv_i2c_dma_callback) for drv_i2c_dma_callback + drv_i2c_dma.o(i.drv_i2c_slave_write_dma) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_i2c_master.o(i.app_I2C1_IRQn_Handler) refers to drv_i2c_master.o(.data) for .data + drv_i2c_master.o(i.drv_i2c1_set_callback) refers to drv_i2c_master.o(.data) for .data + drv_i2c_master.o(i.drv_i2c_m_clear_it_pending_bit) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_i2c_master.o(i.drv_i2c_m_clear_it_pending_bit) refers to drv_i2c_master.o(i.__NVIC_ClearPendingIRQ) for __NVIC_ClearPendingIRQ + drv_i2c_master.o(i.drv_i2c_m_deinit) refers to drv_i2c_master.o(i.drv_i2c_m_disable_intr) for drv_i2c_m_disable_intr + drv_i2c_master.o(i.drv_i2c_m_deinit) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + drv_i2c_master.o(i.drv_i2c_m_deinit) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_i2c_master.o(i.drv_i2c_m_enable_intr) refers to drv_i2c_master.o(i.__NVIC_ClearPendingIRQ) for __NVIC_ClearPendingIRQ + drv_i2c_master.o(i.drv_i2c_m_read_data) refers to drv_i2c_master.o(i.drv_i2c_m_get_fifo_status) for drv_i2c_m_get_fifo_status + drv_i2c_master.o(i.drv_i2c_m_set_sys_mask) refers to drv_i2c_master.o(i.__NVIC_ClearPendingIRQ) for __NVIC_ClearPendingIRQ + drv_i2c_master.o(i.drv_i2c_m_write_data) refers to drv_i2c_master.o(i.drv_i2c_m_get_fifo_status) for drv_i2c_m_get_fifo_status + drv_i2c_master.o(i.drv_i2c_master_init) refers to uidiv.o(.text) for __aeabi_uidivmod + drv_i2c_master.o(i.drv_i2c_master_init) refers to drv_common.o(.data) for g_system_clock + drv_i2c_slave.o(i.app_I2C0_IRQn_Handler) refers to drv_i2c_slave.o(.data) for .data + drv_i2c_slave.o(i.drv_i2c0_set_callback) refers to drv_i2c_slave.o(.data) for .data + drv_i2c_slave.o(i.drv_i2c_s_clear_it_pending_bit) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_i2c_slave.o(i.drv_i2c_s_read_data) refers to drv_i2c_slave.o(i.drv_i2c_s_get_fifo_status) for drv_i2c_s_get_fifo_status + drv_i2c_slave.o(i.drv_i2c_s_set_intr) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_i2c_slave.o(i.drv_i2c_s_set_intr) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_i2c_slave.o(i.drv_i2c_s_write_data) refers to drv_i2c_slave.o(i.drv_i2c_s_get_fifo_status) for drv_i2c_s_get_fifo_status + drv_i2c_slave.o(i.drv_i2c_slave_init) refers to drv_i2c_slave.o(i.drv_i2c_s_enable) for drv_i2c_s_enable + drv_param_init.o(i.drv_param_init_get_ccm) refers to drv_param_init.o(.data) for .data + drv_param_init.o(i.drv_param_init_get_scld_filter_h) refers to drv_param_init.o(.data) for .data + drv_param_init.o(i.drv_param_init_get_scld_filter_v) refers to drv_param_init.o(.data) for .data + drv_param_init.o(i.drv_param_init_get_sclu_filter) refers to drv_param_init.o(.data) for .data + drv_param_init.o(i.drv_param_init_set_ccm) refers to memcpya.o(.text) for __aeabi_memcpy4 + drv_param_init.o(i.drv_param_init_set_ccm) refers to drv_param_init.o(.data) for .data + drv_param_init.o(i.drv_param_init_set_scld_filter) refers to drv_param_init.o(.data) for .data + drv_param_init.o(i.drv_param_init_set_sclu_filter) refers to drv_param_init.o(.data) for .data + drv_param_init.o(i.drv_param_p2r_filter_init) refers to drv_param_init.o(.constdata) for .constdata + drv_pwm.o(i.app_PWMDET_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_pwm.o(i.app_PWMDET_IRQn_Handler) refers to drv_pwm.o(.data) for .data + drv_pwm.o(i.drv_pwm_in_register_callback) refers to drv_pwm.o(.data) for .data + drv_pwm.o(i.drv_pwm_in_set_sys_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_pwm.o(i.drv_pwm_in_set_sys_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_dma.o(i.drv_dma_disenable_channel) for drv_dma_disenable_channel + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_dma.o(i.drv_dma_disenable_channel_interrupts) for drv_dma_disenable_channel_interrupts + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_spi_master.o(i.drv_spi_m_enable_tx_dma) for drv_spi_m_enable_tx_dma + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_spi_master.o(i.drv_spi_m_enable_rx_dma) for drv_spi_m_enable_rx_dma + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_spi_slave.o(i.drv_spi_s_enable_tx_dma) for drv_spi_s_enable_tx_dma + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_spi_slave.o(i.drv_spi_s_enable_rx_dma) for drv_spi_s_enable_rx_dma + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spi_abort_dma) refers to drv_spi_dma.o(.bss) for .bss + drv_spi_dma.o(i.drv_spi_dma_callback) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spi_dma_ch6_init) refers to drv_spi_dma.o(i.__NVIC_ClearPendingIRQ) for __NVIC_ClearPendingIRQ + drv_spi_dma.o(i.drv_spi_dma_ch6_init) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spi_dma_init) refers to drv_spi_dma.o(i.__NVIC_ClearPendingIRQ) for __NVIC_ClearPendingIRQ + drv_spi_dma.o(i.drv_spi_dma_init) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spi_set_dma_ch6_irq_callback) refers to drv_dma.o(i.drv_dma_create_handle) for drv_dma_create_handle + drv_spi_dma.o(i.drv_spi_set_dma_ch6_irq_callback) refers to drv_dma.o(i.drv_dma_set_callback) for drv_dma_set_callback + drv_spi_dma.o(i.drv_spi_set_dma_ch6_irq_callback) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spi_set_dma_ch6_irq_callback) refers to drv_spi_dma.o(.bss) for .bss + drv_spi_dma.o(i.drv_spi_set_dma_ch6_irq_callback) refers to drv_spi_dma.o(i.drv_spi_dma_callback) for drv_spi_dma_callback + drv_spi_dma.o(i.drv_spi_set_dma_irq_callback) refers to drv_dma.o(i.drv_dma_create_handle) for drv_dma_create_handle + drv_spi_dma.o(i.drv_spi_set_dma_irq_callback) refers to drv_dma.o(i.drv_dma_set_callback) for drv_dma_set_callback + drv_spi_dma.o(i.drv_spi_set_dma_irq_callback) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spi_set_dma_irq_callback) refers to drv_spi_dma.o(.bss) for .bss + drv_spi_dma.o(i.drv_spi_set_dma_irq_callback) refers to drv_spi_dma.o(i.drv_spi_dma_callback) for drv_spi_dma_callback + drv_spi_dma.o(i.drv_spim_dma_read) refers to drv_spi_master.o(i.drv_spi_m_enable_rx_dma) for drv_spi_m_enable_rx_dma + drv_spi_dma.o(i.drv_spim_dma_read) refers to drv_spi_master.o(i.drv_spi_m_enable_tx_dma) for drv_spi_m_enable_tx_dma + drv_spi_dma.o(i.drv_spim_dma_read) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_spi_dma.o(i.drv_spim_dma_read) refers to drv_dma.o(i.drv_dma_enable_channel_interrupts) for drv_dma_enable_channel_interrupts + drv_spi_dma.o(i.drv_spim_dma_read) refers to drv_dma.o(i.drv_dma_enable_channel) for drv_dma_enable_channel + drv_spi_dma.o(i.drv_spim_dma_read) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spim_dma_write) refers to drv_spi_master.o(i.drv_spi_m_enable_tx_dma) for drv_spi_m_enable_tx_dma + drv_spi_dma.o(i.drv_spim_dma_write) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_spi_dma.o(i.drv_spim_dma_write) refers to drv_dma.o(i.drv_dma_enable_channel_interrupts) for drv_dma_enable_channel_interrupts + drv_spi_dma.o(i.drv_spim_dma_write) refers to drv_dma.o(i.drv_dma_enable_channel) for drv_dma_enable_channel + drv_spi_dma.o(i.drv_spim_dma_write) refers to drv_spi_dma.o(.data) for .data + drv_spi_dma.o(i.drv_spis_dma_write) refers to drv_spi_slave.o(i.drv_spi_s_enable_tx_dma) for drv_spi_s_enable_tx_dma + drv_spi_dma.o(i.drv_spis_dma_write) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_spi_dma.o(i.drv_spis_dma_write) refers to drv_dma.o(i.drv_dma_enable_channel) for drv_dma_enable_channel + drv_spi_dma.o(i.drv_spis_dma_write) refers to drv_spi_dma.o(.bss) for .bss + drv_spi_master.o(i.app_SPIM_IRQn_Handler) refers to drv_spi_master.o(i.__NVIC_ClearPendingIRQ) for __NVIC_ClearPendingIRQ + drv_spi_master.o(i.app_SPIM_IRQn_Handler) refers to drv_spi_master.o(.data) for .data + drv_spi_master.o(i.drv_spi_m_deinit) refers to drv_spi_master.o(i.drv_spi_m_switch_sclk) for drv_spi_m_switch_sclk + drv_spi_master.o(i.drv_spi_m_disable_int) refers to drv_spi_master.o(i.__NVIC_ClearPendingIRQ) for __NVIC_ClearPendingIRQ + drv_spi_master.o(i.drv_spi_m_set_intr_callback) refers to drv_spi_master.o(.data) for .data + drv_spi_master.o(i.drv_spi_master_init) refers to uidiv.o(.text) for __aeabi_uidivmod + drv_spi_master.o(i.drv_spi_master_init) refers to drv_common.o(.data) for g_system_clock + drv_swire.o(i.app_SWIRE_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_swire.o(i.app_SWIRE_IRQn_Handler) refers to drv_swire.o(i.drv_swire_set_int) for drv_swire_set_int + drv_swire.o(i.app_SWIRE_IRQn_Handler) refers to drv_swire.o(.data) for .data + drv_swire.o(i.drv_swire_register_callback) refers to drv_swire.o(.data) for .data + drv_swire.o(i.drv_swire_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_swire.o(i.drv_swire_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_sys_cfg.o(i.drv_ap_rst_trig_edge_detect) refers to drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_lvl_trig) for drv_sys_cfg_sel_ap_rst_lvl_trig + drv_sys_cfg.o(i.drv_ap_rst_trig_edge_detect) refers to drv_sys_cfg.o(.data) for .data + drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_trig) refers to drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_lvl_trig) for drv_sys_cfg_sel_ap_rst_lvl_trig + drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_trig) refers to drv_sys_cfg.o(.data) for .data + drv_timer.o(i.app_TIMER0_IRQn_Handler) refers to drv_timer.o(i.drv_timer_handle_interrupt) for drv_timer_handle_interrupt + drv_timer.o(i.app_TIMER1_IRQn_Handler) refers to drv_timer.o(i.drv_timer_handle_interrupt) for drv_timer_handle_interrupt + drv_timer.o(i.app_TIMER2_IRQn_Handler) refers to drv_timer.o(i.drv_timer_handle_interrupt) for drv_timer_handle_interrupt + drv_timer.o(i.app_TIMER3_IRQn_Handler) refers to drv_timer.o(i.drv_timer_handle_interrupt) for drv_timer_handle_interrupt + drv_timer.o(i.drv_timer_clear_status_flags) refers to drv_timer.o(i.drv_timer_get_instance) for drv_timer_get_instance + drv_timer.o(i.drv_timer_clear_status_flags) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_timer.o(i.drv_timer_enable) refers to drv_timer.o(i.drv_timer_get_instance) for drv_timer_get_instance + drv_timer.o(i.drv_timer_get_instance) refers to drv_timer.o(.data) for .data + drv_timer.o(i.drv_timer_get_prescaler) refers to drv_timer.o(.data) for .data + drv_timer.o(i.drv_timer_get_status) refers to drv_timer.o(i.drv_timer_get_instance) for drv_timer_get_instance + drv_timer.o(i.drv_timer_handle_interrupt) refers to drv_timer.o(i.drv_timer_clear_status_flags) for drv_timer_clear_status_flags + drv_timer.o(i.drv_timer_handle_interrupt) refers to drv_timer.o(i.drv_timer_enable) for drv_timer_enable + drv_timer.o(i.drv_timer_handle_interrupt) refers to drv_timer.o(i.drv_timer_set_int) for drv_timer_set_int + drv_timer.o(i.drv_timer_handle_interrupt) refers to drv_timer.o(i.drv_timer_set_compare_val) for drv_timer_set_compare_val + drv_timer.o(i.drv_timer_handle_interrupt) refers to drv_timer.o(.data) for .data + drv_timer.o(i.drv_timer_register_callback) refers to drv_timer.o(.data) for .data + drv_timer.o(i.drv_timer_set_compare_val) refers to drv_timer.o(i.drv_timer_get_instance) for drv_timer_get_instance + drv_timer.o(i.drv_timer_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_timer.o(i.drv_timer_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_timer.o(i.drv_timer_set_prescaler) refers to drv_timer.o(i.drv_timer_get_instance) for drv_timer_get_instance + drv_timer.o(i.drv_timer_set_prescaler) refers to drv_timer.o(.data) for .data + drv_timer.o(i.drv_timer_set_repeat) refers to drv_timer.o(.data) for .data + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to drv_rxbr.o(i.drv_rxbr_set_inten) for drv_rxbr_set_inten + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to drv_param_init.o(i.drv_param_init_get_ccm) for drv_param_init_get_ccm + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to drv_lcdc.o(i.drv_lcdc_config_ccm) for drv_lcdc_config_ccm + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to drv_lcdc.o(i.drv_lcdc_config_int_single) for drv_lcdc_config_int_single + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to hal_internal_vsync.o(i.hal_internal_sync_get_hight_performan_mode) for hal_internal_sync_get_hight_performan_mode + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to dfltui.o(.text) for __aeabi_ui2d + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to ddiv.o(.text) for __aeabi_ddiv + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to sqrt.o(i.sqrt) for sqrt + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to dmul.o(.text) for __aeabi_dmul + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to dfixui.o(.text) for __aeabi_d2uiz + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to cdcmple.o(.text) for __aeabi_cdcmple + hal_internal_vsync.o(i.calc_framebuffer_setting) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.check_pkt_buf_rev) refers to hal_internal_vsync.o(i.drv_rxbr_get_status0) for drv_rxbr_get_status0 + hal_internal_vsync.o(i.check_pkt_buf_rev) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.check_pkt_buf_rev) refers to drv_rxbr.o(i.drv_rxbr_clear_pkt_buffer) for drv_rxbr_clear_pkt_buffer + hal_internal_vsync.o(i.check_pkt_buf_rev) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.dcs_sw_filter) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_set_data_mode) for drv_memc_set_data_mode + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_set_tear_waveform) for drv_memc_set_tear_waveform + hal_internal_vsync.o(i.hal_internal_init_memc) refers to hal_internal_vsync.o(i.hal_internal_vsync_get_tear_mode) for hal_internal_vsync_get_tear_mode + hal_internal_vsync.o(i.hal_internal_init_memc) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_set_tear_mode) for drv_memc_set_tear_mode + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_set_ltpo_mode) for drv_memc_set_ltpo_mode + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_set_double_buffer) for drv_memc_set_double_buffer + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_set_active_height) for drv_memc_set_active_height + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_set_inten) for drv_memc_set_inten + hal_internal_vsync.o(i.hal_internal_init_memc) refers to drv_memc.o(i.drv_memc_enable_irq) for drv_memc_enable_irq + hal_internal_vsync.o(i.hal_internal_init_memc) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_sync_cmd_mode_rcv_te) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.hal_internal_sync_cmd_mode_rcv_te) refers to drv_lcdc.o(i.drv_lcdc_config_overwrite) for drv_lcdc_config_overwrite + hal_internal_vsync.o(i.hal_internal_sync_cmd_mode_rcv_te) refers to drv_lcdc.o(i.drv_lcdc_start) for drv_lcdc_start + hal_internal_vsync.o(i.hal_internal_sync_cmd_mode_rcv_te) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(i.hal_internal_sync_cmd_mode_rcv_te) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) refers to memcpya.o(.text) for __aeabi_memcpy4 + hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_sync_get_hight_performan_mode) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_internal_vsync.o(i.calc_framebuffer_setting) for calc_framebuffer_setting + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to drv_vidc.o(i.drv_vidc_enable) for drv_vidc_enable + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to drv_vidc.o(i.drv_vidc_reset) for drv_vidc_reset + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) for hal_dsi_rx_ctrl_init + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to drv_memc.o(i.drv_memc_set_tear_mode) for drv_memc_set_tear_mode + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) for hal_dsi_tx_ctrl_init + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) for hal_dsi_rx_ctrl_start + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_gen_a_tear_signal) for hal_dsi_rx_ctrl_gen_a_tear_signal + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to tau_delay.o(i.delayUs) for delayUs + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to drv_dsi_tx.o(i.drv_dsi_tx_shutdown) for drv_dsi_tx_shutdown + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to drv_crgu.o(i.drv_crgu_config_reset_modules) for drv_crgu_config_reset_modules + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_internal_vsync.o(i.hal_internal_init_memc) for hal_internal_init_memc + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) for hal_dsi_tx_ctrl_start + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_internal_vsync.o(.conststring) for .conststring + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to hal_internal_vsync.o(i.calc_framebuffer_setting) for calc_framebuffer_setting + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to drv_vidc.o(i.drv_vidc_enable) for drv_vidc_enable + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to drv_vidc.o(i.drv_vidc_reset) for drv_vidc_reset + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) for hal_dsi_rx_ctrl_init + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to drv_memc.o(i.drv_memc_set_tear_mode) for drv_memc_set_tear_mode + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) for hal_dsi_rx_ctrl_start + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to drv_lcdc.o(i.drv_lcdc_enable_shadow_reg) for drv_lcdc_enable_shadow_reg + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to tau_delay.o(i.delayMs) for delayMs + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_gen_a_tear_signal) for hal_dsi_rx_ctrl_gen_a_tear_signal + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to tau_delay.o(i.delayUs) for delayUs + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) for hal_vsync_reset_lcdc_scaler + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to hal_internal_vsync.o(i.vsync_set_te_mode) for vsync_set_te_mode + hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_sync_set_fb_setting_manual) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.hal_internal_sync_set_fb_setting_manual) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.hal_internal_sync_set_fb_setting_manual) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_sync_set_fb_setting_manual) refers to hal_internal_vsync.o(.conststring) for .conststring + hal_internal_vsync.o(i.hal_internal_vsync_deinit) refers to memseta.o(.text) for __aeabi_memclr4 + hal_internal_vsync.o(i.hal_internal_vsync_deinit) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_deinit) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(i.hal_internal_vsync_get_rx_state) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_get_sync_line) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_get_tear_mode) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_get_tx_state) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to drv_chip_info.o(i.drv_chip_rx_info_check) for drv_chip_rx_info_check + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to memcpya.o(.text) for __aeabi_memcpy4 + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(i.check_mipi_rx_tx_video_info) for check_mipi_rx_tx_video_info + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(i.calc_framebuffer_setting) for calc_framebuffer_setting + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to drv_rxbr.o(i.drv_rxbr_register_irq0_callback) for drv_rxbr_register_irq0_callback + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to drv_rxbr.o(i.drv_rxbr_register_irq1_callback) for drv_rxbr_register_irq1_callback + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to drv_vidc.o(i.drv_vidc_register_callback) for drv_vidc_register_callback + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to dcs_packet_fifo.o(i.dcs_packet_fifo_init) for dcs_packet_fifo_init + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(i.soft_gen_te) for soft_gen_te + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(i.soft_gen_te_double_buffer) for soft_gen_te_double_buffer + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(i.rxbr_irq0_callback) for rxbr_irq0_callback + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(i.rxbr_irq1_callback) for rxbr_irq1_callback + hal_internal_vsync.o(i.hal_internal_vsync_init_rx) refers to hal_internal_vsync.o(i.vidc_callback) for vidc_callback + hal_internal_vsync.o(i.hal_internal_vsync_init_tx) refers to memcpya.o(.text) for __aeabi_memcpy4 + hal_internal_vsync.o(i.hal_internal_vsync_init_tx) refers to hal_internal_vsync.o(i.check_mipi_rx_tx_video_info) for check_mipi_rx_tx_video_info + hal_internal_vsync.o(i.hal_internal_vsync_init_tx) refers to hal_internal_vsync.o(i.calc_framebuffer_setting) for calc_framebuffer_setting + hal_internal_vsync.o(i.hal_internal_vsync_init_tx) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) refers to drv_rxbr.o(i.drv_rxbr_set_cmd_filter) for drv_rxbr_set_cmd_filter + hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_set_dcs_direct_mode) refers to hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) for hal_internal_vsync_set_auto_hw_filter + hal_internal_vsync.o(i.hal_internal_vsync_set_dcs_direct_mode) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) refers to hal_internal_vsync.o(i.hal_internal_vsync_deinit) for hal_internal_vsync_deinit + hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_set_sync_line) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.hal_internal_vsync_set_sync_line) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode) refers to hal_internal_vsync.o(i.vsync_set_te_mode) for vsync_set_te_mode + hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode) refers to drv_vidc.o(i.drv_vidc_enable) for drv_vidc_enable + hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) refers to hal_internal_vsync.o(i.hal_internal_vsync_deinit) for hal_internal_vsync_deinit + hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) refers to drv_lcdc.o(i.drv_lcdc_config_overwrite) for drv_lcdc_config_overwrite + hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) refers to drv_lcdc.o(i.drv_lcdc_config_int_single) for drv_lcdc_config_int_single + hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) refers to hal_internal_vsync.o(i.vsync_set_te_mode) for vsync_set_te_mode + hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_internal_vsync_update_lcdc_addr) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to dfltui.o(.text) for __aeabi_ui2d + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to dadd.o(.text) for __aeabi_dadd + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to dfixui.o(.text) for __aeabi_d2uiz + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp_area) for hal_dsi_tx_ctrl_set_partial_disp_area + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp) for hal_dsi_tx_ctrl_set_partial_disp + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to drv_param_init.o(i.drv_param_init_get_sclu_filter) for drv_param_init_get_sclu_filter + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to drv_lcdc.o(i.drv_lcdc_config_scale_up_coef) for drv_lcdc_config_scale_up_coef + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to drv_crgu.o(i.drv_crgu_config_reset_modules) for drv_crgu_config_reset_modules + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) for hal_dsi_tx_ctrl_init + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to hal_internal_vsync.o(i.hal_internal_init_memc) for hal_internal_init_memc + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) for hal_dsi_tx_ctrl_start + hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.rx_get_dcs_packet_data) refers to hal_internal_vsync.o(i.dcs_sw_filter) for dcs_sw_filter + hal_internal_vsync.o(i.rx_get_dcs_packet_data) refers to dcs_packet_fifo.o(i.dcs_packet_fifo_alloc) for dcs_packet_fifo_alloc + hal_internal_vsync.o(i.rx_get_dcs_packet_data) refers to hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) for hal_dsi_rx_ctrl_dsc_async_handler + hal_internal_vsync.o(i.rx_get_dcs_packet_data) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.rx_get_dcs_packet_data) refers to hal_internal_vsync.o(i.check_pkt_buf_rev) for check_pkt_buf_rev + hal_internal_vsync.o(i.rx_get_dcs_packet_data) refers to drv_dsi_tx.o(i.drv_dsi_tx_command_put_payload) for drv_dsi_tx_command_put_payload + hal_internal_vsync.o(i.rx_get_dcs_packet_data) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.rx_partial_update) refers to drv_rxbr.o(i.drv_rxbr_get_col_addr) for drv_rxbr_get_col_addr + hal_internal_vsync.o(i.rx_partial_update) refers to drv_rxbr.o(i.drv_rxbr_get_page_addr) for drv_rxbr_get_page_addr + hal_internal_vsync.o(i.rx_partial_update) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.rx_partial_update) refers to drv_dsc_dec.o(i.drv_dsc_dec_get_nslc) for drv_dsc_dec_get_nslc + hal_internal_vsync.o(i.rx_partial_update) refers to drv_crgu.o(i.drv_crgu_set_dsco_src) for drv_crgu_set_dsco_src + hal_internal_vsync.o(i.rx_partial_update) refers to drv_crgu.o(i.drv_crgu_set_dsco_src_div) for drv_crgu_set_dsco_src_div + hal_internal_vsync.o(i.rx_partial_update) refers to drv_crgu.o(i.drv_crgu_set_dsc_core_div) for drv_crgu_set_dsc_core_div + hal_internal_vsync.o(i.rx_partial_update) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.rx_partial_update) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.rx_receive_packet) refers to hal_internal_vsync.o(i.rx_get_dcs_packet_data) for rx_get_dcs_packet_data + hal_internal_vsync.o(i.rx_receive_packet) refers to hal_internal_vsync.o(i.rx_receive_pps) for rx_receive_pps + hal_internal_vsync.o(i.rx_receive_packet) refers to drv_rxbr.o(i.drv_rxbr_clear_pkt_buffer) for drv_rxbr_clear_pkt_buffer + hal_internal_vsync.o(i.rx_receive_packet) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.rx_receive_packet) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.rx_receive_pps) refers to memseta.o(.text) for __aeabi_memclr4 + hal_internal_vsync.o(i.rx_receive_pps) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.rx_receive_pps) refers to drv_rxbr.o(i.drv_rxbr_clear_pkt_buffer) for drv_rxbr_clear_pkt_buffer + hal_internal_vsync.o(i.rx_receive_pps) refers to hal_internal_vsync.o(i.check_pkt_buf_rev) for check_pkt_buf_rev + hal_internal_vsync.o(i.rx_receive_pps) refers to drv_dsc_dec.o(i.drv_dsc_dec_convert_pps_rc_parameter) for drv_dsc_dec_convert_pps_rc_parameter + hal_internal_vsync.o(i.rx_receive_pps) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.rx_receive_pps) refers to drv_dsi_rx.o(i.drv_dsi_rx_get_compression_en) for drv_dsi_rx_get_compression_en + hal_internal_vsync.o(i.rx_receive_pps) refers to drv_dsc_dec.o(i.drv_dsc_dec_enable) for drv_dsc_dec_enable + hal_internal_vsync.o(i.rx_receive_pps) refers to drv_dsc_dec.o(i.drv_dsc_dec_set_u8_pps) for drv_dsc_dec_set_u8_pps + hal_internal_vsync.o(i.rx_receive_pps) refers to hal_internal_vsync.o(.conststring) for .conststring + hal_internal_vsync.o(i.rx_receive_pps) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.rxbr_irq0_callback) refers to hal_internal_vsync.o(i.drv_rxbr_get_status0) for drv_rxbr_get_status0 + hal_internal_vsync.o(i.rxbr_irq0_callback) refers to hal_internal_vsync.o(i.rx_receive_packet) for rx_receive_packet + hal_internal_vsync.o(i.rxbr_irq0_callback) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.rxbr_irq0_callback) refers to drv_rxbr.o(i.drv_rxbr_set_inten) for drv_rxbr_set_inten + hal_internal_vsync.o(i.rxbr_irq0_callback) refers to hal_internal_vsync.o(i.drv_rxbr_get_int_source) for drv_rxbr_get_int_source + hal_internal_vsync.o(i.rxbr_irq0_callback) refers to hal_internal_vsync.o(i.rx_partial_update) for rx_partial_update + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to hal_internal_vsync.o(i.drv_rxbr_get_int_source) for drv_rxbr_get_int_source + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to drv_rxbr.o(i.drv_rxbr_clear_status0) for drv_rxbr_clear_status0 + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to hal_internal_vsync.o(i.vpre_err_reset) for vpre_err_reset + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to drv_memc.o(i.drv_memc_set_double_buffer_reverse) for drv_memc_set_double_buffer_reverse + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to drv_rxbr.o(i.drv_rxbr_clear_pkt_buffer) for drv_rxbr_clear_pkt_buffer + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.rxbr_irq1_callback) refers to hal_internal_vsync.o(.conststring) for .conststring + hal_internal_vsync.o(i.soft_gen_te) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.soft_gen_te) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(i.soft_gen_te_double_buffer) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.soft_gen_te_double_buffer) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(i.vidc_callback) refers to drv_vidc.o(i.drv_vidc_get_irq_status) for drv_vidc_get_irq_status + hal_internal_vsync.o(i.vidc_callback) refers to drv_lcdc.o(i.drv_lcdc_config_overwrite) for drv_lcdc_config_overwrite + hal_internal_vsync.o(i.vidc_callback) refers to drv_lcdc.o(i.drv_lcdc_config_int_single) for drv_lcdc_config_int_single + hal_internal_vsync.o(i.vidc_callback) refers to drv_vidc.o(i.drv_vidc_clear_irq) for drv_vidc_clear_irq + hal_internal_vsync.o(i.vidc_callback) refers to drv_vidc.o(i.drv_vidc_set_irqen) for drv_vidc_set_irqen + hal_internal_vsync.o(i.vidc_callback) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.vidc_callback) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.vidc_callback) refers to hal_internal_vsync.o(.conststring) for .conststring + hal_internal_vsync.o(i.vpre_err_reset) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + hal_internal_vsync.o(i.vpre_err_reset) refers to drv_vidc.o(i.drv_vidc_reset) for drv_vidc_reset + hal_internal_vsync.o(i.vpre_err_reset) refers to drv_dsc_dec.o(i.drv_dsc_dec_set_u8_pps) for drv_dsc_dec_set_u8_pps + hal_internal_vsync.o(i.vpre_err_reset) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.vsync_set_te_mode) refers to drv_memc.o(i.drv_memc_set_tear_mode) for drv_memc_set_tear_mode + hal_internal_vsync.o(i.vsync_set_te_mode) refers to drv_lcdc.o(i.drv_lcdc_config_int_single) for drv_lcdc_config_int_single + hal_internal_vsync.o(i.vsync_set_te_mode) refers to drv_lcdc.o(i.drv_lcdc_ctrl_flow) for drv_lcdc_ctrl_flow + hal_internal_vsync.o(i.vsync_set_te_mode) refers to uidiv.o(.text) for __aeabi_uidivmod + hal_internal_vsync.o(i.vsync_set_te_mode) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_internal_vsync.o(i.vsync_set_te_mode) refers to hal_internal_vsync.o(.bss) for .bss + hal_internal_vsync.o(i.vsync_set_te_mode) refers to hal_internal_vsync.o(.data) for .data + hal_internal_vsync.o(.data) refers to hal_internal_vsync.o(.bss) for sg_te_info + dcs_packet_fifo.o(i.dcs_packet_fifo_alloc) refers to dcs_packet_fifo.o(.bss) for .bss + dcs_packet_fifo.o(i.dcs_packet_fifo_init) refers to dcs_packet_fifo.o(.bss) for .bss + dcs_packet_fifo.o(i.dcs_packet_free_fifo_header) refers to dcs_packet_fifo.o(.bss) for .bss + dcs_packet_fifo.o(i.dcs_packet_get_fifo_header) refers to dcs_packet_fifo.o(.bss) for .bss + dcs_packet_fifo.o(i.dcs_packet_get_fifo_size) refers to dcs_packet_fifo.o(.bss) for .bss + drv_dsi_rx.o(i.app_MIPI_RX_IRQn_Handler) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_dsi_rx.o(i.app_MIPI_RX_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to ffltui.o(.text) for __aeabi_ui2f + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to fdiv.o(.text) for __aeabi_fdiv + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to fmul.o(.text) for __aeabi_fmul + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to drv_dsi_rx.o(i.drv_dsi_rx_get_color_bpp) for drv_dsi_rx_get_color_bpp + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to drv_dsi_rx.o(i.drv_dsi_rx_get_color_pcc) for drv_dsi_rx_get_color_pcc + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to fadd.o(.text) for __aeabi_fadd + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to cfrcmple.o(.text) for __aeabi_cfrcmple + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to f2d.o(.text) for __aeabi_f2d + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to dadd.o(.text) for __aeabi_dadd + drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) refers to dfixui.o(.text) for __aeabi_d2uiz + drv_dsi_rx.o(i.drv_dsi_rx_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_dsi_rx.o(i.drv_dsi_rx_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_dsi_rx.o(i.drv_dsi_rx_get_color_bpp) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_dsi_rx.o(i.drv_dsi_rx_get_phy_stopstate) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_dsi_rx.o(i.drv_dsi_rx_phy_resistor_calibration) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_dsi_rx.o(i.drv_dsi_rx_phy_resistor_calibration) refers to drv_dsi_rx.o(i.drv_rx_phy_test_write_1_byte) for drv_rx_phy_test_write_1_byte + drv_dsi_rx.o(i.drv_dsi_rx_phy_resistor_calibration) refers to drv_dsi_rx.o(i.drv_rx_phy_test_read) for drv_rx_phy_test_read + drv_dsi_rx.o(i.drv_dsi_rx_phy_resistor_calibration) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_dsi_rx.o(i.drv_dsi_rx_set_lane_swap) refers to drv_chip_info.o(i.drv_chip_info_get_info) for drv_chip_info_get_info + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to uidiv.o(.text) for __aeabi_uidivmod + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to drv_phy_common.o(i.drv_phy_get_rate_para) for drv_phy_get_rate_para + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to drv_phy_common.o(i.drv_phy_get_calibration) for drv_phy_get_calibration + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to drv_dsi_rx.o(i.drv_rx_phy_test_clear) for drv_rx_phy_test_clear + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to drv_dsi_rx.o(i.drv_rx_phy_test_write_1_byte) for drv_rx_phy_test_write_1_byte + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to drv_dsi_rx.o(i.drv_rx_phy_test_write_2_byte) for drv_rx_phy_test_write_2_byte + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to drv_chip_info.o(i.drv_chip_info_get_info) for drv_chip_info_get_info + drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) refers to drv_dsi_rx.o(i.drv_rx_phy_test_lock) for drv_rx_phy_test_lock + drv_dsi_rx.o(i.drv_rx_phy_test_clear) refers to drv_phy_common.o(i.drv_phy_test_clear) for drv_phy_test_clear + drv_dsi_rx.o(i.drv_rx_phy_test_lock) refers to drv_phy_common.o(i.drv_phy_test_lock) for drv_phy_test_lock + drv_dsi_rx.o(i.drv_rx_phy_test_read) refers to drv_phy_common.o(i.drv_phy_test_read) for drv_phy_test_read + drv_dsi_rx.o(i.drv_rx_phy_test_write_1_byte) refers to drv_phy_common.o(i.drv_phy_test_write_1_byte) for drv_phy_test_write_1_byte + drv_dsi_rx.o(i.drv_rx_phy_test_write_2_byte) refers to drv_phy_common.o(i.drv_phy_test_write_2_byte) for drv_phy_test_write_2_byte + drv_dsi_tx.o(i.app_MIPI_TX_IRQn_Handler) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_dsi_tx.o(i.app_MIPI_TX_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_dsi_tx.o(i.drv_dsi_tx_phy_resistor_calibration) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_dsi_tx.o(i.drv_dsi_tx_phy_resistor_calibration) refers to drv_dsi_tx.o(i.drv_tx_phy_test_write_1_byte) for drv_tx_phy_test_write_1_byte + drv_dsi_tx.o(i.drv_dsi_tx_phy_resistor_calibration) refers to drv_dsi_tx.o(i.drv_tx_phy_test_read) for drv_tx_phy_test_read + drv_dsi_tx.o(i.drv_dsi_tx_phy_resistor_calibration) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_dsi_tx.o(i.drv_dsi_tx_phy_status_stopstate) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_dsi_tx.o(i.drv_dsi_tx_phy_status_ulpsactivenot) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to uidiv.o(.text) for __aeabi_uidivmod + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_phy_common.o(i.drv_phy_get_rate_para) for drv_phy_get_rate_para + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_phy_common.o(i.drv_phy_get_pll_para) for drv_phy_get_pll_para + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_phy_common.o(i.drv_phy_get_calibration) for drv_phy_get_calibration + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_dsi_tx.o(i.drv_tx_phy_test_enter) for drv_tx_phy_test_enter + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_crgu.o(i.drv_crgu_set_mipi_ref_src) for drv_crgu_set_mipi_ref_src + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_crgu.o(i.drv_crgu_set_mipi_cfg_src) for drv_crgu_set_mipi_cfg_src + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_dsi_tx.o(i.drv_tx_phy_test_clear) for drv_tx_phy_test_clear + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_dsi_tx.o(i.drv_tx_phy_test_write_1_byte) for drv_tx_phy_test_write_1_byte + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_dsi_tx.o(i.drv_tx_phy_test_write_2_byte) for drv_tx_phy_test_write_2_byte + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_dsi_tx.o(i.drv_tx_phy_test_write_code) for drv_tx_phy_test_write_code + drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) refers to drv_dsi_tx.o(i.drv_tx_phy_test_exit) for drv_tx_phy_test_exit + drv_dsi_tx.o(i.drv_dsi_tx_phy_trigger) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_stopstate) for drv_dsi_tx_phy_status_stopstate + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_enter) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_stopstate) for drv_dsi_tx_phy_status_stopstate + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_enter) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_pll_lock) for drv_dsi_tx_phy_status_pll_lock + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_enter) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_ulpsactivenot) for drv_dsi_tx_phy_status_ulpsactivenot + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_enter) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_exit) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_exit) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_ulpsactivenot) for drv_dsi_tx_phy_status_ulpsactivenot + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_exit) refers to drv_dsi_tx.o(i.drv_tx_phy_test_write_1_byte) for drv_tx_phy_test_write_1_byte + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_exit) refers to drv_dsi_tx.o(i.drv_dsi_tx_phy_status_pll_lock) for drv_dsi_tx_phy_status_pll_lock + drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_exit) refers to drv_dsi_tx.o(i.drv_dsi_tx_version) for drv_dsi_tx_version + drv_dsi_tx.o(i.drv_dsi_tx_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_dsi_tx.o(i.drv_dsi_tx_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_dsi_tx.o(i.drv_tx_phy_test_clear) refers to drv_phy_common.o(i.drv_phy_test_clear) for drv_phy_test_clear + drv_dsi_tx.o(i.drv_tx_phy_test_read) refers to drv_phy_common.o(i.drv_phy_test_read) for drv_phy_test_read + drv_dsi_tx.o(i.drv_tx_phy_test_write_1_byte) refers to drv_phy_common.o(i.drv_phy_test_write_1_byte) for drv_phy_test_write_1_byte + drv_dsi_tx.o(i.drv_tx_phy_test_write_2_byte) refers to drv_phy_common.o(i.drv_phy_test_write_2_byte) for drv_phy_test_write_2_byte + drv_dsi_tx.o(i.drv_tx_phy_test_write_code) refers to drv_phy_common.o(i.drv_phy_test_write_code) for drv_phy_test_write_code + drv_lcdc.o(i.drv_lcdc_config_src_parameter) refers to drv_lcdc.o(i.drv_lcdc_config_input_size) for drv_lcdc_config_input_size + drv_lcdc.o(i.drv_lcdc_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_lcdc.o(i.drv_lcdc_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_memc.o(i.app_MEMC_IRQn_Handler) refers to drv_memc.o(i.drv_memc_get_status) for drv_memc_get_status + drv_memc.o(i.app_MEMC_IRQn_Handler) refers to drv_memc.o(i.drv_memc_clear_status) for drv_memc_clear_status + drv_memc.o(i.app_MEMC_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_memc.o(i.drv_memc_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_memc.o(i.drv_memc_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_rxbr.o(i.app_ADC_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_rxbr.o(i.app_ADC_IRQn_Handler) refers to drv_rxbr.o(.data) for .data + drv_rxbr.o(i.app_VPRE_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_rxbr.o(i.app_VPRE_IRQn_Handler) refers to drv_rxbr.o(.data) for .data + drv_rxbr.o(i.drv_rxbr_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_rxbr.o(i.drv_rxbr_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_rxbr.o(i.drv_rxbr_enable_irq) refers to drv_rxbr.o(i.__NVIC_EnableIRQ) for __NVIC_EnableIRQ + drv_rxbr.o(i.drv_rxbr_enable_irq) refers to drv_rxbr.o(i.__NVIC_DisableIRQ) for __NVIC_DisableIRQ + drv_rxbr.o(i.drv_rxbr_register_irq0_callback) refers to drv_rxbr.o(.data) for .data + drv_rxbr.o(i.drv_rxbr_register_irq1_callback) refers to drv_rxbr.o(.data) for .data + drv_rxbr.o(i.drv_rxbr_set_cmd_filter) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + drv_rxbr.o(i.drv_rxbr_soft_reset) refers to drv_crgu.o(i.drv_crgu_set_reset) for drv_crgu_set_reset + drv_vidc.o(i.app_VIDC_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_vidc.o(i.app_VIDC_IRQn_Handler) refers to drv_vidc.o(.data) for .data + drv_vidc.o(i.drv_vidc_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_vidc.o(i.drv_vidc_enable_irq) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_vidc.o(i.drv_vidc_register_callback) refers to drv_vidc.o(.data) for .data + irq_redirect .o(i.ADC_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.AP_NRESET_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.DMA_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT0_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT1_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT2_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT3_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT4_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT5_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT6_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.EXTI_INT7_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.FLSCTRL_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.HardFault_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.I2C0_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.I2C1_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.LCDC_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.MEMC_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.MIPI_RX_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.MIPI_TX_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.PWMDET_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.SPIM_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.SPIS_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.SWIRE_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.SysTick_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.TIMER0_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.TIMER1_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.TIMER2_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.TIMER3_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.UART_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.VIDC_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.VPRE_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.WDG_IRQn_Handler) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.handle_init) refers to irq_redirect .o(.ARM.__AT_0x00070100) for .ARM.__AT_0x00070100 + irq_redirect .o(i.handle_init) refers to drv_common.o(i.app_SysTick_Handler) for app_SysTick_Handler + irq_redirect .o(i.handle_init) refers to hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) for app_LCDC_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_dsi_rx.o(i.app_MIPI_RX_IRQn_Handler) for app_MIPI_RX_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_dsi_tx.o(i.app_MIPI_TX_IRQn_Handler) for app_MIPI_TX_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_dma.o(i.app_dma_irq_handler) for app_dma_irq_handler + irq_redirect .o(i.handle_init) refers to norflash.o(i.app_fls_ctrl_Handler) for app_fls_ctrl_Handler + irq_redirect .o(i.handle_init) refers to drv_i2c_slave.o(i.app_I2C0_IRQn_Handler) for app_I2C0_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_i2c_master.o(i.app_I2C1_IRQn_Handler) for app_I2C1_IRQn_Handler + irq_redirect .o(i.handle_init) refers to hal_spi_slave.o(i.app_SPIS_IRQn_Handler) for app_SPIS_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_spi_master.o(i.app_SPIM_IRQn_Handler) for app_SPIM_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_rxbr.o(i.app_VPRE_IRQn_Handler) for app_VPRE_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_rxbr.o(i.app_ADC_IRQn_Handler) for app_ADC_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_vidc.o(i.app_VIDC_IRQn_Handler) for app_VIDC_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_memc.o(i.app_MEMC_IRQn_Handler) for app_MEMC_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_timer.o(i.app_TIMER0_IRQn_Handler) for app_TIMER0_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_timer.o(i.app_TIMER1_IRQn_Handler) for app_TIMER1_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_timer.o(i.app_TIMER2_IRQn_Handler) for app_TIMER2_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_timer.o(i.app_TIMER3_IRQn_Handler) for app_TIMER3_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_wdg.o(i.app_WDG_IRQn_Handler) for app_WDG_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_uart.o(i.app_UART_IRQn_Handler) for app_UART_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_pwm.o(i.app_PWMDET_IRQn_Handler) for app_PWMDET_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_swire.o(i.app_SWIRE_IRQn_Handler) for app_SWIRE_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_AP_NRESET_IRQn_Handler) for app_AP_NRESET_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT0_IRQn_Handler) for app_EXTI_INT0_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT1_IRQn_Handler) for app_EXTI_INT1_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT2_IRQn_Handler) for app_EXTI_INT2_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT3_IRQn_Handler) for app_EXTI_INT3_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT4_IRQn_Handler) for app_EXTI_INT4_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT5_IRQn_Handler) for app_EXTI_INT5_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT6_IRQn_Handler) for app_EXTI_INT6_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_gpio.o(i.app_EXTI_INT7_IRQn_Handler) for app_EXTI_INT7_IRQn_Handler + irq_redirect .o(i.handle_init) refers to drv_common.o(i.app_HardFault_Handler) for app_HardFault_Handler + drv_efuse.o(i.drv_efuse_enter_inactive) refers to drv_efuse.o(i.drv_efuse_int_enable) for drv_efuse_int_enable + drv_efuse.o(i.drv_efuse_read) refers to drv_efuse.o(i.drv_efuse_read_req) for drv_efuse_read_req + drv_efuse.o(i.drv_efuse_write) refers to drv_efuse.o(i.drv_efuse_write_req) for drv_efuse_write_req + drv_phy_common.o(i.drv_phy_enable_calibration) refers to drv_phy_common.o(.data) for .data + drv_phy_common.o(i.drv_phy_get_calibration) refers to drv_chip_info.o(i.drv_chip_info_get_info) for drv_chip_info_get_info + drv_phy_common.o(i.drv_phy_get_calibration) refers to drv_efuse.o(i.drv_efuse_read) for drv_efuse_read + drv_phy_common.o(i.drv_phy_get_calibration) refers to drv_phy_common.o(.data) for .data + drv_phy_common.o(i.drv_phy_get_pll_para) refers to drv_phy_common.o(.constdata) for .constdata + drv_phy_common.o(i.drv_phy_get_rate_para) refers to uidiv.o(.text) for __aeabi_uidivmod + drv_phy_common.o(i.drv_phy_get_rate_para) refers to drv_phy_common.o(.constdata) for .constdata + drv_phy_common.o(i.drv_phy_test_write_1_byte) refers to drv_phy_common.o(i.drv_phy_test_write_code) for drv_phy_test_write_code + drv_phy_common.o(i.drv_phy_test_write_1_byte) refers to drv_phy_common.o(i.drv_phy_test_write_data) for drv_phy_test_write_data + drv_phy_common.o(i.drv_phy_test_write_2_byte) refers to drv_phy_common.o(i.drv_phy_test_write_code) for drv_phy_test_write_code + drv_phy_common.o(i.drv_phy_test_write_2_byte) refers to drv_phy_common.o(i.drv_phy_test_write_data) for drv_phy_test_write_data + drv_chip_info.o(i.drv_chip_info_get_info) refers to drv_chip_info.o(.data) for .data + drv_chip_info.o(i.drv_chip_info_init) refers to drv_efuse.o(i.drv_efuse_enter_inactive) for drv_efuse_enter_inactive + drv_chip_info.o(i.drv_chip_info_init) refers to drv_efuse.o(i.drv_efuse_read) for drv_efuse_read + drv_chip_info.o(i.drv_chip_info_init) refers to drv_chip_info.o(.data) for .data + drv_chip_info.o(i.drv_chip_rx_info_check) refers to printfa.o(i.__0printf) for __2printf + drv_chip_info.o(i.drv_chip_rx_info_check) refers to tau_log.o(i.LOG_printf) for LOG_printf + drv_chip_info.o(i.drv_chip_rx_info_check) refers to drv_chip_info.o(.data) for .data + drv_dsc_dec.o(i.drv_dsc_dec_enable) refers to drv_efuse.o(i.drv_efuse_enter_inactive) for drv_efuse_enter_inactive + drv_dsc_dec.o(i.drv_dsc_dec_enable) refers to drv_efuse.o(i.drv_efuse_read) for drv_efuse_read + drv_dsc_dec.o(i.drv_dsc_dec_enable) refers to printfa.o(i.__0printf) for __2printf + hal_spi_slave.o(i.app_SPIS_IRQn_Handler) refers to hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) for __ARM_common_switch8 + hal_spi_slave.o(i.app_SPIS_IRQn_Handler) refers to hal_spi_slave.o(i.__NVIC_SetPriority) for __NVIC_SetPriority + hal_spi_slave.o(i.app_SPIS_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + hal_spi_slave.o(i.app_SPIS_IRQn_Handler) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_s_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_mode) for hal_gpio_set_mode + hal_spi_slave.o(i.hal_spi_s_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_init_input) for hal_gpio_init_input + hal_spi_slave.o(i.hal_spi_s_set_high_impedance) refers to hal_gpio.o(i.hal_gpio_set_pull_state) for hal_gpio_set_pull_state + hal_spi_slave.o(i.hal_spi_slave_auto_transfer_abort) refers to drv_spi_dma.o(i.drv_spi_abort_dma) for drv_spi_abort_dma + hal_spi_slave.o(i.hal_spi_slave_auto_transfer_start) refers to drv_dma.o(i.drv_dma_enable_cycle) for drv_dma_enable_cycle + hal_spi_slave.o(i.hal_spi_slave_auto_transfer_start) refers to drv_spi_dma.o(i.drv_spis_dma_write) for drv_spis_dma_write + hal_spi_slave.o(i.hal_spi_slave_auto_transfer_start) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_slave_deinit) refers to drv_spi_slave.o(i.drv_spi_s_deinit) for drv_spi_s_deinit + hal_spi_slave.o(i.hal_spi_slave_enable) refers to drv_spi_slave.o(i.drv_spi_s_enable_int) for drv_spi_s_enable_int + hal_spi_slave.o(i.hal_spi_slave_enable) refers to tau_log.o(i.LOG_printf) for LOG_printf + hal_spi_slave.o(i.hal_spi_slave_enable) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_slave_gpio_init) refers to drv_spi_slave.o(i.drv_spi_s_gpio_init) for drv_spi_s_gpio_init + hal_spi_slave.o(i.hal_spi_slave_init) refers to hal_spi_slave.o(i.hal_spi_slave_gpio_init) for hal_spi_slave_gpio_init + hal_spi_slave.o(i.hal_spi_slave_init) refers to drv_spi_slave.o(i.drv_spi_slave_init) for drv_spi_slave_init + hal_spi_slave.o(i.hal_spi_slave_init) refers to drv_spi_dma.o(i.drv_spi_dma_init) for drv_spi_dma_init + hal_spi_slave.o(i.hal_spi_slave_init) refers to drv_spi_dma.o(i.drv_spi_set_dma_irq_callback) for drv_spi_set_dma_irq_callback + hal_spi_slave.o(i.hal_spi_slave_init) refers to drv_spi_slave.o(i.drv_spi_s_enable_tx_dma) for drv_spi_s_enable_tx_dma + hal_spi_slave.o(i.hal_spi_slave_init) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_tx_req) for drv_sys_cfg_set_dma_tx_req + hal_spi_slave.o(i.hal_spi_slave_init) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_slave_read_data) refers to drv_spi_slave.o(i.drv_spi_s_read_data) for drv_spi_s_read_data + hal_spi_slave.o(i.hal_spi_slave_register_callback) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_slave_reset_tx) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_slave_set_auto_rx_buffer) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_slave_set_auto_tx_buffer) refers to hal_spi_slave.o(.bss) for .bss + hal_spi_slave.o(i.hal_spi_slave_write_data) refers to drv_spi_slave.o(i.drv_spi_s_write_data) for drv_spi_s_write_data + drv_fls_dma.o(i.fls_abort_dma) refers to drv_dma.o(i.drv_dma_abort_transfer) for drv_dma_abort_transfer + drv_fls_dma.o(i.fls_abort_dma) refers to drv_fls_dma.o(i.fls_dma_disable) for fls_dma_disable + drv_fls_dma.o(i.fls_dma_read_prepare) refers to drv_fls.o(i.fls_clear_irq_status) for fls_clear_irq_status + drv_fls_dma.o(i.fls_dma_read_prepare) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls_dma.o(i.fls_dma_read_prepare) refers to drv_fls.o(i.fls_set_read) for fls_set_read + drv_fls_dma.o(i.fls_dma_read_prepare) refers to drv_fls_dma.o(i.fls_dma_enable) for fls_dma_enable + drv_fls_dma.o(i.fls_dma_read_prepare) refers to drv_fls.o(i.fls_spi_start) for fls_spi_start + drv_fls_dma.o(i.fls_dma_write_prepare) refers to drv_fls.o(i.fls_clear_irq_status) for fls_clear_irq_status + drv_fls_dma.o(i.fls_dma_write_prepare) refers to drv_fls.o(i.fls_swrst) for fls_swrst + drv_fls_dma.o(i.fls_dma_write_prepare) refers to drv_fls.o(i.fls_set_write) for fls_set_write + drv_fls_dma.o(i.fls_dma_write_prepare) refers to drv_fls_dma.o(i.fls_dma_enable) for fls_dma_enable + drv_fls_dma.o(i.fls_dma_write_prepare) refers to drv_fls.o(i.fls_spi_start) for fls_spi_start + drv_fls_dma.o(i.fls_read_dmacallback) refers to drv_dma.o(i.drv_dma_abort_transfer) for drv_dma_abort_transfer + drv_fls_dma.o(i.fls_transfer_create_handle_dma) refers to memseta.o(.text) for __aeabi_memclr4 + drv_fls_dma.o(i.fls_transfer_create_handle_dma) refers to drv_dma.o(i.drv_dma_init) for drv_dma_init + drv_fls_dma.o(i.fls_transfer_create_handle_dma) refers to drv_dma.o(i.drv_dma_set_callback) for drv_dma_set_callback + drv_fls_dma.o(i.fls_transfer_create_handle_dma) refers to drv_fls_dma.o(.data) for .data + drv_fls_dma.o(i.fls_transfer_create_handle_dma) refers to drv_fls_dma.o(i.fls_read_dmacallback) for fls_read_dmacallback + drv_fls_dma.o(i.fls_transfer_create_handle_dma) refers to drv_fls_dma.o(i.fls_write_dmacallback) for fls_write_dmacallback + drv_fls_dma.o(i.fls_transfer_dma) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_fls_dma.o(i.fls_transfer_dma) refers to drv_dma.o(i.drv_dma_start_transfer) for drv_dma_start_transfer + drv_fls_dma.o(i.fls_transfer_get_receive_count_dma) refers to drv_dma.o(i.drv_dma_get_remaining_bytes) for drv_dma_get_remaining_bytes + drv_fls_dma.o(i.fls_write_dmacallback) refers to drv_dma.o(i.drv_dma_abort_transfer) for drv_dma_abort_transfer + drv_spi_slave.o(i.drv_spi_s_deinit) refers to drv_spi_slave.o(i.drv_spi_s_switch_sclk) for drv_spi_s_switch_sclk + drv_uart.o(i.UART0_IRQ_Handle) refers to drv_uart.o(i.UART_TransferHandleIRQ) for UART_TransferHandleIRQ + drv_uart.o(i.UART0_IRQ_Handle) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_uart.o(i.UART0_IRQ_Handle) refers to drv_uart.o(.data) for .data + drv_uart.o(i.UART_AbortReceive) refers to drv_uart.o(i.UART_Disable_IT) for UART_Disable_IT + drv_uart.o(i.UART_AbortReceive) refers to drv_uart.o(i.UART_ResetRxFIFO) for UART_ResetRxFIFO + drv_uart.o(i.UART_AbortSend) refers to drv_uart.o(i.UART_Disable_IT) for UART_Disable_IT + drv_uart.o(i.UART_AbortSend) refers to drv_uart.o(i.UART_ResetTxFIFO) for UART_ResetTxFIFO + drv_uart.o(i.UART_Deinit) refers to drv_uart.o(i.UART_SwitchSCLK) for UART_SwitchSCLK + drv_uart.o(i.UART_Disable_IT) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart.o(i.UART_Disable_IT) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_uart.o(i.UART_Disable_IT) refers to drv_uart.o(.constdata) for .constdata + drv_uart.o(i.UART_EnableDma) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_rx_req) for drv_sys_cfg_set_dma_rx_req + drv_uart.o(i.UART_EnableDma) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_dma_tx_req) for drv_sys_cfg_set_dma_tx_req + drv_uart.o(i.UART_Enable_IT) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart.o(i.UART_Enable_IT) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_uart.o(i.UART_GetDefaultConfig) refers to memseta.o(.text) for __aeabi_memclr4 + drv_uart.o(i.UART_GetDefaultConfig) refers to drv_common.o(.data) for g_system_clock + drv_uart.o(i.UART_GetFIFO_Ctrl) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart.o(i.UART_GetFIFO_Ctrl) refers to drv_uart.o(.data) for .data + drv_uart.o(i.UART_ResetRxFIFO) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart.o(i.UART_ResetRxFIFO) refers to drv_uart.o(.data) for .data + drv_uart.o(i.UART_ResetTxFIFO) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart.o(i.UART_ResetTxFIFO) refers to drv_uart.o(.data) for .data + drv_uart.o(i.UART_SetBaudRate) refers to uidiv.o(.text) for __aeabi_uidivmod + drv_uart.o(i.UART_SwitchSCLK) refers to drv_crgu.o(i.drv_crgu_set_clock) for drv_crgu_set_clock + drv_uart.o(i.UART_TransferCreateHandle) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart.o(i.UART_TransferCreateHandle) refers to memseta.o(.text) for __aeabi_memclr4 + drv_uart.o(i.UART_TransferCreateHandle) refers to drv_uart.o(i.UART_Enable_IT) for UART_Enable_IT + drv_uart.o(i.UART_TransferCreateHandle) refers to drv_uart.o(.data) for .data + drv_uart.o(i.UART_TransferHandleIRQ) refers to drv_uart.o(i.UART_ResetRxFIFO) for UART_ResetRxFIFO + drv_uart.o(i.UART_init) refers to drv_uart.o(i.UART_DisableDma) for UART_DisableDma + drv_uart.o(i.UART_init) refers to drv_uart.o(i.UART_SwitchSCLK) for UART_SwitchSCLK + drv_uart.o(i.UART_init) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart.o(i.UART_init) refers to drv_uart.o(i.UART_SetBaudRate) for UART_SetBaudRate + drv_uart.o(i.UART_init) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_uart.o(i.UART_init) refers to drv_uart.o(.data) for .data + drv_uart.o(i.app_UART_IRQn_Handler) refers to drv_uart.o(i.UART0_IRQ_Handle) for UART0_IRQ_Handle + drv_uart_dma.o(i.UART_DMAInit) refers to memseta.o(.text) for __aeabi_memclr4 + drv_uart_dma.o(i.UART_DMAInit) refers to drv_dma.o(i.drv_dma_init) for drv_dma_init + drv_uart_dma.o(i.UART_TransferAbortReceiveDMA) refers to drv_dma.o(i.drv_dma_abort_transfer) for drv_dma_abort_transfer + drv_uart_dma.o(i.UART_TransferAbortSendDMA) refers to drv_dma.o(i.drv_dma_abort_transfer) for drv_dma_abort_transfer + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to drv_uart.o(i.UART_GetInstance) for UART_GetInstance + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to memseta.o(.text) for __aeabi_memclr4 + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to drv_uart.o(i.UART_EnableDma) for UART_EnableDma + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to drv_uart_dma.o(i.UART_DMAInit) for UART_DMAInit + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to drv_dma.o(i.drv_dma_set_callback) for drv_dma_set_callback + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to drv_uart_dma.o(.data) for .data + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to drv_uart_dma.o(i.UART_TransferReceiveDMACallback) for UART_TransferReceiveDMACallback + drv_uart_dma.o(i.UART_TransferCreateHandleDMA) refers to drv_uart_dma.o(i.UART_TransferSendDMACallback) for UART_TransferSendDMACallback + drv_uart_dma.o(i.UART_TransferGetReceiveCountDMA) refers to drv_dma.o(i.drv_dma_get_remaining_bytes) for drv_dma_get_remaining_bytes + drv_uart_dma.o(i.UART_TransferReceiveDMA) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_uart_dma.o(i.UART_TransferReceiveDMA) refers to drv_uart.o(i.UART_EnableDma) for UART_EnableDma + drv_uart_dma.o(i.UART_TransferReceiveDMA) refers to drv_dma.o(i.drv_dma_start_transfer) for drv_dma_start_transfer + drv_uart_dma.o(i.UART_TransferSendDMA) refers to drv_dma.o(i.drv_dma_prepar_transfer) for drv_dma_prepar_transfer + drv_uart_dma.o(i.UART_TransferSendDMA) refers to drv_uart.o(i.UART_EnableDma) for UART_EnableDma + drv_uart_dma.o(i.UART_TransferSendDMA) refers to drv_dma.o(i.drv_dma_start_transfer) for drv_dma_start_transfer + drv_wdg.o(i.app_WDG_IRQn_Handler) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_wdg.o(i.app_WDG_IRQn_Handler) refers to drv_wdg.o(i.drv_wdg_set_int) for drv_wdg_set_int + drv_wdg.o(i.app_WDG_IRQn_Handler) refers to drv_wdg.o(i.drv_wdg_clear_counter) for drv_wdg_clear_counter + drv_wdg.o(i.app_WDG_IRQn_Handler) refers to drv_wdg.o(i.drv_wdg_read_edge_flag) for drv_wdg_read_edge_flag + drv_wdg.o(i.app_WDG_IRQn_Handler) refers to drv_wdg.o(i.drv_wdg_clear_edge_flag) for drv_wdg_clear_edge_flag + drv_wdg.o(i.app_WDG_IRQn_Handler) refers to drv_wdg.o(.data) for .data + drv_wdg.o(i.drv_wdg_register_callback) refers to drv_wdg.o(.data) for .data + drv_wdg.o(i.drv_wdg_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) for drv_sys_cfg_clear_pending + drv_wdg.o(i.drv_wdg_set_int) refers to drv_sys_cfg.o(i.drv_sys_cfg_set_int) for drv_sys_cfg_set_int + drv_wdg.o(i.drv_wdg_set_repeat) refers to drv_wdg.o(.data) for .data + ceil.o(i.__softfp_ceil) refers (Special) to iusefp.o(.text) for __I$use$fp + ceil.o(i.__softfp_ceil) refers to ceil.o(i.ceil) for ceil + ceil.o(i.ceil) refers (Special) to iusefp.o(.text) for __I$use$fp + ceil.o(i.ceil) refers to dadd.o(.text) for __aeabi_dadd + ceil.o(i.ceil) refers to cdrcmple.o(.text) for __aeabi_cdrcmple + sqrt.o(i.__softfp_sqrt) refers (Special) to iusefp.o(.text) for __I$use$fp + sqrt.o(i.__softfp_sqrt) refers to dsqrt.o(.text) for _dsqrt + sqrt.o(i.__softfp_sqrt) refers to errno.o(i.__set_errno) for __set_errno + sqrt.o(i.sqrt) refers (Special) to iusefp.o(.text) for __I$use$fp + sqrt.o(i.sqrt) refers to dsqrt.o(.text) for _dsqrt + sqrt.o(i.sqrt) refers to errno.o(i.__set_errno) for __set_errno + sqrt_x.o(i.____softfp_sqrt$lsc) refers (Special) to iusefp.o(.text) for __I$use$fp + sqrt_x.o(i.____softfp_sqrt$lsc) refers to cdcmple.o(.text) for __aeabi_cdcmple + sqrt_x.o(i.____softfp_sqrt$lsc) refers to errno.o(i.__set_errno) for __set_errno + sqrt_x.o(i.____softfp_sqrt$lsc) refers to dsqrt.o(.text) for _dsqrt + sqrt_x.o(i.__sqrt$lsc) refers (Special) to iusefp.o(.text) for __I$use$fp + sqrt_x.o(i.__sqrt$lsc) refers to cdcmple.o(.text) for __aeabi_cdcmple + sqrt_x.o(i.__sqrt$lsc) refers to errno.o(i.__set_errno) for __set_errno + sqrt_x.o(i.__sqrt$lsc) refers to dsqrt.o(.text) for _dsqrt + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk + idiv.o(.text) refers to uidiv.o(.text) for __aeabi_uidivmod + printfb.o(i.__0fprintf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0fprintf$bare) refers to tau_log.o(i.fputc) for fputc + printfb.o(i.__0printf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0printf$bare) refers to tau_log.o(i.fputc) for fputc + printfb.o(i.__0printf$bare) refers to stdout.o(.data) for __stdout + printfb.o(i.__0snprintf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0snprintf$bare) refers to printfb.o(i._snputc) for _snputc + printfb.o(i.__0sprintf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0sprintf$bare) refers to printfb.o(i._sputc) for _sputc + printfb.o(i.__0vfprintf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0vfprintf$bare) refers to tau_log.o(i.fputc) for fputc + printfb.o(i.__0vprintf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0vprintf$bare) refers to tau_log.o(i.fputc) for fputc + printfb.o(i.__0vprintf$bare) refers to stdout.o(.data) for __stdout + printfb.o(i.__0vsnprintf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0vsnprintf$bare) refers to printfb.o(i._snputc) for _snputc + printfb.o(i.__0vsprintf$bare) refers to printfb.o(i._printf_core) for _printf_core + printfb.o(i.__0vsprintf$bare) refers to printfb.o(i._sputc) for _sputc + printf0.o(i.__0fprintf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0fprintf$0) refers to tau_log.o(i.fputc) for fputc + printf0.o(i.__0printf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0printf$0) refers to tau_log.o(i.fputc) for fputc + printf0.o(i.__0printf$0) refers to stdout.o(.data) for __stdout + printf0.o(i.__0snprintf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0snprintf$0) refers to printf0.o(i._snputc) for _snputc + printf0.o(i.__0sprintf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0sprintf$0) refers to printf0.o(i._sputc) for _sputc + printf0.o(i.__0vfprintf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0vfprintf$0) refers to tau_log.o(i.fputc) for fputc + printf0.o(i.__0vprintf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0vprintf$0) refers to tau_log.o(i.fputc) for fputc + printf0.o(i.__0vprintf$0) refers to stdout.o(.data) for __stdout + printf0.o(i.__0vsnprintf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0vsnprintf$0) refers to printf0.o(i._snputc) for _snputc + printf0.o(i.__0vsprintf$0) refers to printf0.o(i._printf_core) for _printf_core + printf0.o(i.__0vsprintf$0) refers to printf0.o(i._sputc) for _sputc + printf1.o(i.__0fprintf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0fprintf$1) refers to tau_log.o(i.fputc) for fputc + printf1.o(i.__0printf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0printf$1) refers to tau_log.o(i.fputc) for fputc + printf1.o(i.__0printf$1) refers to stdout.o(.data) for __stdout + printf1.o(i.__0snprintf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0snprintf$1) refers to printf1.o(i._snputc) for _snputc + printf1.o(i.__0sprintf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0sprintf$1) refers to printf1.o(i._sputc) for _sputc + printf1.o(i.__0vfprintf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0vfprintf$1) refers to tau_log.o(i.fputc) for fputc + printf1.o(i.__0vprintf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0vprintf$1) refers to tau_log.o(i.fputc) for fputc + printf1.o(i.__0vprintf$1) refers to stdout.o(.data) for __stdout + printf1.o(i.__0vsnprintf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0vsnprintf$1) refers to printf1.o(i._snputc) for _snputc + printf1.o(i.__0vsprintf$1) refers to printf1.o(i._printf_core) for _printf_core + printf1.o(i.__0vsprintf$1) refers to printf1.o(i._sputc) for _sputc + printf1.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod + printf2.o(i.__0fprintf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0fprintf$2) refers to tau_log.o(i.fputc) for fputc + printf2.o(i.__0printf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0printf$2) refers to tau_log.o(i.fputc) for fputc + printf2.o(i.__0printf$2) refers to stdout.o(.data) for __stdout + printf2.o(i.__0snprintf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0snprintf$2) refers to printf2.o(i._snputc) for _snputc + printf2.o(i.__0sprintf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0sprintf$2) refers to printf2.o(i._sputc) for _sputc + printf2.o(i.__0vfprintf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0vfprintf$2) refers to tau_log.o(i.fputc) for fputc + printf2.o(i.__0vprintf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0vprintf$2) refers to tau_log.o(i.fputc) for fputc + printf2.o(i.__0vprintf$2) refers to stdout.o(.data) for __stdout + printf2.o(i.__0vsnprintf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0vsnprintf$2) refers to printf2.o(i._snputc) for _snputc + printf2.o(i.__0vsprintf$2) refers to printf2.o(i._printf_core) for _printf_core + printf2.o(i.__0vsprintf$2) refers to printf2.o(i._sputc) for _sputc + printf3.o(i.__0fprintf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0fprintf$3) refers to tau_log.o(i.fputc) for fputc + printf3.o(i.__0printf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0printf$3) refers to tau_log.o(i.fputc) for fputc + printf3.o(i.__0printf$3) refers to stdout.o(.data) for __stdout + printf3.o(i.__0snprintf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0snprintf$3) refers to printf3.o(i._snputc) for _snputc + printf3.o(i.__0sprintf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0sprintf$3) refers to printf3.o(i._sputc) for _sputc + printf3.o(i.__0vfprintf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0vfprintf$3) refers to tau_log.o(i.fputc) for fputc + printf3.o(i.__0vprintf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0vprintf$3) refers to tau_log.o(i.fputc) for fputc + printf3.o(i.__0vprintf$3) refers to stdout.o(.data) for __stdout + printf3.o(i.__0vsnprintf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0vsnprintf$3) refers to printf3.o(i._snputc) for _snputc + printf3.o(i.__0vsprintf$3) refers to printf3.o(i._printf_core) for _printf_core + printf3.o(i.__0vsprintf$3) refers to printf3.o(i._sputc) for _sputc + printf3.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod + printf4.o(i.__0fprintf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0fprintf$4) refers to tau_log.o(i.fputc) for fputc + printf4.o(i.__0printf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0printf$4) refers to tau_log.o(i.fputc) for fputc + printf4.o(i.__0printf$4) refers to stdout.o(.data) for __stdout + printf4.o(i.__0snprintf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0snprintf$4) refers to printf4.o(i._snputc) for _snputc + printf4.o(i.__0sprintf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0sprintf$4) refers to printf4.o(i._sputc) for _sputc + printf4.o(i.__0vfprintf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0vfprintf$4) refers to tau_log.o(i.fputc) for fputc + printf4.o(i.__0vprintf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0vprintf$4) refers to tau_log.o(i.fputc) for fputc + printf4.o(i.__0vprintf$4) refers to stdout.o(.data) for __stdout + printf4.o(i.__0vsnprintf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0vsnprintf$4) refers to printf4.o(i._snputc) for _snputc + printf4.o(i.__0vsprintf$4) refers to printf4.o(i._printf_core) for _printf_core + printf4.o(i.__0vsprintf$4) refers to printf4.o(i._sputc) for _sputc + printf4.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod + printf5.o(i.__0fprintf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0fprintf$5) refers to tau_log.o(i.fputc) for fputc + printf5.o(i.__0printf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0printf$5) refers to tau_log.o(i.fputc) for fputc + printf5.o(i.__0printf$5) refers to stdout.o(.data) for __stdout + printf5.o(i.__0snprintf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0snprintf$5) refers to printf5.o(i._snputc) for _snputc + printf5.o(i.__0sprintf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0sprintf$5) refers to printf5.o(i._sputc) for _sputc + printf5.o(i.__0vfprintf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0vfprintf$5) refers to tau_log.o(i.fputc) for fputc + printf5.o(i.__0vprintf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0vprintf$5) refers to tau_log.o(i.fputc) for fputc + printf5.o(i.__0vprintf$5) refers to stdout.o(.data) for __stdout + printf5.o(i.__0vsnprintf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0vsnprintf$5) refers to printf5.o(i._snputc) for _snputc + printf5.o(i.__0vsprintf$5) refers to printf5.o(i._printf_core) for _printf_core + printf5.o(i.__0vsprintf$5) refers to printf5.o(i._sputc) for _sputc + printf5.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod + printf6.o(i.__0fprintf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0fprintf$6) refers to tau_log.o(i.fputc) for fputc + printf6.o(i.__0printf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0printf$6) refers to tau_log.o(i.fputc) for fputc + printf6.o(i.__0printf$6) refers to stdout.o(.data) for __stdout + printf6.o(i.__0snprintf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0snprintf$6) refers to printf6.o(i._snputc) for _snputc + printf6.o(i.__0sprintf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0sprintf$6) refers to printf6.o(i._sputc) for _sputc + printf6.o(i.__0vfprintf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0vfprintf$6) refers to tau_log.o(i.fputc) for fputc + printf6.o(i.__0vprintf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0vprintf$6) refers to tau_log.o(i.fputc) for fputc + printf6.o(i.__0vprintf$6) refers to stdout.o(.data) for __stdout + printf6.o(i.__0vsnprintf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0vsnprintf$6) refers to printf6.o(i._snputc) for _snputc + printf6.o(i.__0vsprintf$6) refers to printf6.o(i._printf_core) for _printf_core + printf6.o(i.__0vsprintf$6) refers to printf6.o(i._sputc) for _sputc + printf6.o(i._printf_core) refers to printf6.o(i._printf_pre_padding) for _printf_pre_padding + printf6.o(i._printf_core) refers to printf6.o(i._printf_post_padding) for _printf_post_padding + printf6.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod + printf7.o(i.__0fprintf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0fprintf$7) refers to tau_log.o(i.fputc) for fputc + printf7.o(i.__0printf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0printf$7) refers to tau_log.o(i.fputc) for fputc + printf7.o(i.__0printf$7) refers to stdout.o(.data) for __stdout + printf7.o(i.__0snprintf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0snprintf$7) refers to printf7.o(i._snputc) for _snputc + printf7.o(i.__0sprintf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0sprintf$7) refers to printf7.o(i._sputc) for _sputc + printf7.o(i.__0vfprintf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0vfprintf$7) refers to tau_log.o(i.fputc) for fputc + printf7.o(i.__0vprintf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0vprintf$7) refers to tau_log.o(i.fputc) for fputc + printf7.o(i.__0vprintf$7) refers to stdout.o(.data) for __stdout + printf7.o(i.__0vsnprintf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0vsnprintf$7) refers to printf7.o(i._snputc) for _snputc + printf7.o(i.__0vsprintf$7) refers to printf7.o(i._printf_core) for _printf_core + printf7.o(i.__0vsprintf$7) refers to printf7.o(i._sputc) for _sputc + printf7.o(i._printf_core) refers to printf7.o(i._printf_pre_padding) for _printf_pre_padding + printf7.o(i._printf_core) refers to printf7.o(i._printf_post_padding) for _printf_post_padding + printf7.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod + printf8.o(i.__0fprintf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0fprintf$8) refers to tau_log.o(i.fputc) for fputc + printf8.o(i.__0printf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0printf$8) refers to tau_log.o(i.fputc) for fputc + printf8.o(i.__0printf$8) refers to stdout.o(.data) for __stdout + printf8.o(i.__0snprintf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0snprintf$8) refers to printf8.o(i._snputc) for _snputc + printf8.o(i.__0sprintf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0sprintf$8) refers to printf8.o(i._sputc) for _sputc + printf8.o(i.__0vfprintf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0vfprintf$8) refers to tau_log.o(i.fputc) for fputc + printf8.o(i.__0vprintf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0vprintf$8) refers to tau_log.o(i.fputc) for fputc + printf8.o(i.__0vprintf$8) refers to stdout.o(.data) for __stdout + printf8.o(i.__0vsnprintf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0vsnprintf$8) refers to printf8.o(i._snputc) for _snputc + printf8.o(i.__0vsprintf$8) refers to printf8.o(i._printf_core) for _printf_core + printf8.o(i.__0vsprintf$8) refers to printf8.o(i._sputc) for _sputc + printf8.o(i._printf_core) refers to printf8.o(i._printf_pre_padding) for _printf_pre_padding + printf8.o(i._printf_core) refers to printf8.o(i._printf_post_padding) for _printf_post_padding + printf8.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod + printfa.o(i.__0fprintf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0fprintf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0fprintf) refers to tau_log.o(i.fputc) for fputc + printfa.o(i.__0printf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0printf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0printf) refers to tau_log.o(i.fputc) for fputc + printfa.o(i.__0printf) refers to stdout.o(.data) for __stdout + printfa.o(i.__0snprintf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0snprintf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0snprintf) refers to printfa.o(i._snputc) for _snputc + printfa.o(i.__0sprintf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0sprintf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0sprintf) refers to printfa.o(i._sputc) for _sputc + printfa.o(i.__0vfprintf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0vfprintf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0vfprintf) refers to tau_log.o(i.fputc) for fputc + printfa.o(i.__0vprintf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0vprintf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0vprintf) refers to tau_log.o(i.fputc) for fputc + printfa.o(i.__0vprintf) refers to stdout.o(.data) for __stdout + printfa.o(i.__0vsnprintf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0vsnprintf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0vsnprintf) refers to printfa.o(i._snputc) for _snputc + printfa.o(i.__0vsprintf) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i.__0vsprintf) refers to printfa.o(i._printf_core) for _printf_core + printfa.o(i.__0vsprintf) refers to printfa.o(i._sputc) for _sputc + printfa.o(i._fp_digits) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i._fp_digits) refers to dmul.o(.text) for __aeabi_dmul + printfa.o(i._fp_digits) refers to ddiv.o(.text) for __aeabi_ddiv + printfa.o(i._fp_digits) refers to cdrcmple.o(.text) for __aeabi_cdrcmple + printfa.o(i._fp_digits) refers to dadd.o(.text) for __aeabi_dadd + printfa.o(i._fp_digits) refers to dfixul.o(.text) for __aeabi_d2ulz + printfa.o(i._fp_digits) refers to uldiv.o(.text) for __aeabi_uldivmod + printfa.o(i._printf_core) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i._printf_core) refers to printfa.o(i._printf_pre_padding) for _printf_pre_padding + printfa.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod + printfa.o(i._printf_core) refers to printfa.o(i._printf_post_padding) for _printf_post_padding + printfa.o(i._printf_core) refers to printfa.o(i._fp_digits) for _fp_digits + printfa.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod + printfa.o(i._printf_post_padding) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i._printf_pre_padding) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i._snputc) refers (Special) to iusefp.o(.text) for __I$use$fp + printfa.o(i._sputc) refers (Special) to iusefp.o(.text) for __I$use$fp + fadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fadd.o(.text) refers to fepilogue.o(.text) for _float_epilogue + fmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fdiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fdiv.o(.text) refers to fepilogue.o(.text) for _float_round + fscalb.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl + dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr + dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue + dmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue + ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ddiv.o(.text) refers to depilogue.o(.text) for _double_round + fflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fflti.o(.text) refers to fepilogue.o(.text) for _float_epilogue + ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue + dflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dflti.o(.text) refers to depilogue.o(.text) for _double_epilogue + dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue + ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixi.o(.text) refers to llushr.o(.text) for __aeabi_llsr + dfixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixui.o(.text) refers to llushr.o(.text) for __aeabi_llsr + f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + cdcmple.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + cfrcmple.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 + entry2.o(.ARM.Collect$$$$00002712) refers to startup_armcm0.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to startup_armcm0.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main + entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload + entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main + entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main + uldiv.o(.text) refers to llushr.o(.text) for __aeabi_llsr + uldiv.o(.text) refers to llshl.o(.text) for __aeabi_llsl + errno.o(i.__aeabi_errno_addr) refers to errno.o(.data) for .data + errno.o(i.__read_errno) refers to errno.o(.data) for .data + errno.o(i.__set_errno) refers to errno.o(.data) for .data + depilogue.o(.text) refers to depilogue.o(i.__ARM_clz) for __ARM_clz + depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl + depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr + dsqrt.o(.text) refers to llushr.o(.text) for __aeabi_llsr + dsqrt.o(.text) refers to depilogue.o(.text) for _double_round + dfixul.o(.text) refers to llushr.o(.text) for __aeabi_llsr + dfixul.o(.text) refers to llshl.o(.text) for __aeabi_llsl + init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload + + +============================================================================== + +Removing Unused input sections from the image. + + Removing main.o(.rev16_text), (4 bytes). + Removing main.o(.revsh_text), (4 bytes). + Removing ap_demo.o(.rev16_text), (4 bytes). + Removing ap_demo.o(.revsh_text), (4 bytes). + Removing ap_demo.o(i.soft_te_timer_cb), (56 bytes). + Removing ap_demo.o(i.soft_te_timer_init), (96 bytes). + Removing ap_demo.o(i.swire_callback), (24 bytes). + Removing ap_demo.o(i.swire_init), (68 bytes). + Removing ap_demo.o(i.swire_timer_callback), (28 bytes). + Removing app_tp_for_custom_mi8se.o(.rev16_text), (4 bytes). + Removing app_tp_for_custom_mi8se.o(.revsh_text), (4 bytes). + Removing app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data), (1364 bytes). + Removing app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_const), (176 bytes). + Removing app_tp_transfer.o(.rev16_text), (4 bytes). + Removing app_tp_transfer.o(.revsh_text), (4 bytes). + Removing app_tp_transfer.o(i.ap_tp_scan_point_init), (36 bytes). + Removing app_tp_transfer.o(i.ap_tp_scan_point_record_event_exec), (92 bytes). + Removing app_tp_transfer.o(i.app_tp_m_write), (16 bytes). + Removing app_tp_transfer.o(i.app_tp_phone_reset_on), (12 bytes). + Removing app_tp_transfer.o(i.app_tp_s_transfer_complate), (26 bytes). + Removing app_tp_transfer.o(i.app_tp_screen_init), (52 bytes). + Removing board.o(.rev16_text), (4 bytes). + Removing board.o(.revsh_text), (4 bytes). + Removing startup_armcm0.o(HEAP), (3072 bytes). + Removing hal_dsi_rx_ctrl.o(.rev16_text), (4 bytes). + Removing hal_dsi_rx_ctrl.o(.revsh_text), (4 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_ack_long_cmd), (88 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_ack_short_cmd), (28 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_crop_video), (228 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_deinit), (156 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_draw_mode_init), (48 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_enable_test_pattern), (216 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_get_compressen_en), (16 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_get_max_ret_size), (40 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_hight_performan_mode), (100 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_pre_init_pps), (28 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_release_handle), (40 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_restart), (80 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_send_ack_cmd), (240 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_auto_hw_filter), (28 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_esc_clk), (44 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_dcs_direct_mode), (8 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_cmd_filter), (40 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_hw_tear_mode), (52 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pentile_format), (56 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_pixel_data), (148 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rect_pixel_data), (268 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rx_clk), (68 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_sw_tear_mode), (52 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_te_waveform), (52 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_tear_mode_ex), (14 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_stop), (60 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_input_frame_rate), (188 bytes). + Removing hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution_ex), (32 bytes). + Removing hal_dsi_rx_ctrl.o(.conststring), (72 bytes). + Removing hal_dsi_tx_ctrl.o(.rev16_text), (4 bytes). + Removing hal_dsi_tx_ctrl.o(.revsh_text), (4 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_cmd_mode_rcv_te), (10 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_deinit), (132 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_chessboard), (280 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_flicker), (172 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_draw_mode_init), (30 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_ulps_mode), (16 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_ulps_mode), (16 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_read_cmd), (140 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_release_handle), (28 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_ccm), (32 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_cus_pq_filter), (28 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_endianness), (16 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_escape_clock_div), (16 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_lp_cmd), (16 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_overwrite), (16 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_rect_pixel_data), (272 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_vpg), (80 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_stop), (68 bytes). + Removing hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_array_cmd), (216 bytes). + Removing hal_dsi_tx_ctrl.o(.constdata), (36 bytes). + Removing hal_gpio.o(.rev16_text), (4 bytes). + Removing hal_gpio.o(.revsh_text), (4 bytes). + Removing hal_gpio.o(i.hal_gpio_get_int_type), (20 bytes). + Removing hal_gpio.o(i.hal_gpio_get_pull_state), (32 bytes). + Removing hal_gpio.o(i.hal_gpio_init_input), (32 bytes). + Removing hal_gpio.o(i.hal_gpio_set_ap_reset_int), (80 bytes). + Removing hal_gpio.o(i.hal_gpio_set_driving_strength), (32 bytes). + Removing hal_gpio.o(i.hal_gpio_set_output_data_ex), (36 bytes). + Removing hal_gpio.o(i.hal_gpio_set_schmitt_trigger), (32 bytes). + Removing hal_gpio.o(i.hal_gpio_set_slew_rate), (32 bytes). + Removing hal_i2c_master.o(.rev16_text), (4 bytes). + Removing hal_i2c_master.o(.revsh_text), (4 bytes). + Removing hal_i2c_master.o(i.hal_i2c_m_deinit), (8 bytes). + Removing hal_i2c_master.o(i.hal_i2c_m_dma_write), (28 bytes). + Removing hal_i2c_master.o(i.hal_i2c_m_set_high_impedance), (46 bytes). + Removing hal_i2c_slave.o(.rev16_text), (4 bytes). + Removing hal_i2c_slave.o(.revsh_text), (4 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_deinit), (88 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_get_tx_byte_num), (12 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_read_complate), (12 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_read_complate_clear), (12 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_read_data), (32 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_rxfifo_notempty), (40 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_sel), (12 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_set_dma_tx_cycle), (36 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_set_high_impedance), (88 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_write_complate), (12 bytes). + Removing hal_i2c_slave.o(i.hal_i2c_s_write_data), (32 bytes). + Removing hal_pwm.o(.rev16_text), (4 bytes). + Removing hal_pwm.o(.revsh_text), (4 bytes). + Removing hal_pwm.o(i.hal_pwm_in_clear_int), (8 bytes). + Removing hal_pwm.o(i.hal_pwm_in_config_int), (60 bytes). + Removing hal_pwm.o(i.hal_pwm_in_ctrl_int), (8 bytes). + Removing hal_pwm.o(i.hal_pwm_in_deinit), (18 bytes). + Removing hal_pwm.o(i.hal_pwm_in_get_current_count), (8 bytes). + Removing hal_pwm.o(i.hal_pwm_in_get_high_period), (36 bytes). + Removing hal_pwm.o(i.hal_pwm_in_get_low_period), (36 bytes). + Removing hal_pwm.o(i.hal_pwm_in_get_total_period), (36 bytes). + Removing hal_pwm.o(i.hal_pwm_in_init), (26 bytes). + Removing hal_pwm.o(i.hal_pwm_in_register_callback), (10 bytes). + Removing hal_pwm.o(i.hal_pwm_in_set_int), (8 bytes). + Removing hal_pwm.o(i.hal_pwm_out_config_duty_ratio), (76 bytes). + Removing hal_pwm.o(i.hal_pwm_out_deinit), (32 bytes). + Removing hal_pwm.o(i.hal_pwm_out_pause), (8 bytes). + Removing hal_pwm.o(i.hal_pwm_out_sync_all), (16 bytes). + Removing hal_pwm.o(i.hal_pwm_out_sync_ctl), (30 bytes). + Removing hal_pwm.o(i.hal_pwm_out_sync_pause), (28 bytes). + Removing hal_pwm.o(i.hal_pwm_out_sync_period), (48 bytes). + Removing hal_spi_master.o(.rev16_text), (4 bytes). + Removing hal_spi_master.o(.revsh_text), (4 bytes). + Removing hal_spi_master.o(i.hal_spi_m_callback), (24 bytes). + Removing hal_spi_master.o(i.hal_spi_m_deinit), (10 bytes). + Removing hal_spi_master.o(i.hal_spi_m_dma_init), (104 bytes). + Removing hal_spi_master.o(i.hal_spi_m_dma_read), (36 bytes). + Removing hal_spi_master.o(i.hal_spi_m_dma_write), (40 bytes). + Removing hal_spi_master.o(i.hal_spi_m_get_transfer_complate), (36 bytes). + Removing hal_spi_master.o(i.hal_spi_m_gpio_init), (8 bytes). + Removing hal_spi_master.o(i.hal_spi_m_read_rxfifo), (28 bytes). + Removing hal_spi_master.o(i.hal_spi_m_set_high_impedance), (100 bytes). + Removing hal_spi_master.o(.data), (1 bytes). + Removing hal_swire.o(.rev16_text), (4 bytes). + Removing hal_swire.o(.revsh_text), (4 bytes). + Removing hal_swire.o(i.hal_swire_deinit), (18 bytes). + Removing hal_swire.o(i.hal_swire_init), (32 bytes). + Removing hal_swire.o(i.hal_swire_open), (22 bytes). + Removing hal_swire.o(i.hal_swire_register_callback), (10 bytes). + Removing hal_swire.o(i.hal_swire_start), (112 bytes). + Removing hal_system.o(.rev16_text), (4 bytes). + Removing hal_system.o(.revsh_text), (4 bytes). + Removing hal_system.o(i.hal_system_clear_debug_state), (10 bytes). + Removing hal_system.o(i.hal_system_deep_sleep_mode), (8 bytes). + Removing hal_system.o(i.hal_system_disable_systick), (8 bytes). + Removing hal_system.o(i.hal_system_flash_read), (52 bytes). + Removing hal_system.o(i.hal_system_flash_write), (60 bytes). + Removing hal_system.o(i.hal_system_get_debug_state), (8 bytes). + Removing hal_system.o(i.hal_system_get_tick), (8 bytes). + Removing hal_system.o(i.hal_system_idle_mode), (8 bytes). + Removing hal_system.o(i.hal_system_register_systick_cb), (8 bytes). + Removing hal_system.o(i.hal_system_reset_chip), (32 bytes). + Removing hal_system.o(i.hal_system_set_pvd), (8 bytes). + Removing hal_system.o(i.hal_system_set_vcc), (8 bytes). + Removing hal_system.o(i.hal_system_sleep_mode), (48 bytes). + Removing hal_timer.o(.rev16_text), (4 bytes). + Removing hal_timer.o(.revsh_text), (4 bytes). + Removing hal_timer.o(i.hal_timer_deinit), (46 bytes). + Removing hal_timer.o(i.hal_timer_get_status), (8 bytes). + Removing hal_timer.o(i.hal_timer_set_repeat), (8 bytes). + Removing hal_timer.o(i.hal_timer_start_ex), (72 bytes). + Removing hal_timer.o(i.hal_timer_stop), (40 bytes). + Removing tau_delay.o(.rev16_text), (4 bytes). + Removing tau_delay.o(.revsh_text), (4 bytes). + Removing tau_log.o(.rev16_text), (4 bytes). + Removing tau_log.o(.revsh_text), (4 bytes). + Removing tau_log.o(i.fgetc), (22 bytes). + Removing hal_uart.o(.rev16_text), (4 bytes). + Removing hal_uart.o(.revsh_text), (4 bytes). + Removing hal_uart.o(i.hal_uart_deinit), (28 bytes). + Removing hal_uart.o(i.hal_uart_dmacallback), (36 bytes). + Removing hal_uart.o(i.hal_uart_receive_blocking), (16 bytes). + Removing hal_uart.o(i.hal_uart_receive_dma), (76 bytes). + Removing hal_uart.o(i.hal_uart_transmit_dma), (76 bytes). + Removing norflash.o(.rev16_text), (4 bytes). + Removing norflash.o(.revsh_text), (4 bytes). + Removing norflash.o(i.norflash_best_cfg_init), (44 bytes). + Removing norflash.o(i.norflash_big_end_clear), (14 bytes). + Removing norflash.o(i.norflash_big_end_enable), (20 bytes). + Removing norflash.o(i.norflash_check_crc32), (14 bytes). + Removing norflash.o(i.norflash_check_id), (72 bytes). + Removing norflash.o(i.norflash_dma_callback), (24 bytes). + Removing norflash.o(i.norflash_dma_read), (156 bytes). + Removing norflash.o(i.norflash_dma_write), (252 bytes). + Removing norflash.o(i.norflash_dual_read), (60 bytes). + Removing norflash.o(i.norflash_dual_write), (112 bytes). + Removing norflash.o(i.norflash_en4b), (40 bytes). + Removing norflash.o(i.norflash_en_quad), (116 bytes). + Removing norflash.o(i.norflash_en_quad_check), (64 bytes). + Removing norflash.o(i.norflash_erase_block), (44 bytes). + Removing norflash.o(i.norflash_erase_chip), (28 bytes). + Removing norflash.o(i.norflash_erase_sector), (44 bytes). + Removing norflash.o(i.norflash_ex4b), (40 bytes). + Removing norflash.o(i.norflash_exit_quad), (76 bytes). + Removing norflash.o(i.norflash_get_dual_hstatus), (52 bytes). + Removing norflash.o(i.norflash_get_hstatus), (52 bytes). + Removing norflash.o(i.norflash_get_status), (52 bytes). + Removing norflash.o(i.norflash_init), (48 bytes). + Removing norflash.o(i.norflash_quad_read), (76 bytes). + Removing norflash.o(i.norflash_quad_write), (108 bytes). + Removing norflash.o(i.norflash_read), (28 bytes). + Removing norflash.o(i.norflash_read_config_reg), (36 bytes). + Removing norflash.o(i.norflash_read_id), (20 bytes). + Removing norflash.o(i.norflash_reset), (2 bytes). + Removing norflash.o(i.norflash_reset_crc32), (32 bytes). + Removing norflash.o(i.norflash_set_best_cfg), (50 bytes). + Removing norflash.o(i.norflash_set_best_read_cfg), (84 bytes). + Removing norflash.o(i.norflash_set_best_write_cfg), (84 bytes). + Removing norflash.o(i.norflash_switch_fls_spi), (112 bytes). + Removing norflash.o(i.norflash_write), (96 bytes). + Removing norflash.o(i.norflash_write_disable), (64 bytes). + Removing norflash.o(i.norflash_write_enable), (56 bytes). + Removing norflash.o(i.norflash_write_endian_scr), (132 bytes). + Removing norflash.o(.bss), (412 bytes). + Removing norflash.o(.bss), (32 bytes). + Removing norflash.o(.data), (2 bytes). + Removing drv_common.o(.rev16_text), (4 bytes). + Removing drv_common.o(.revsh_text), (4 bytes). + Removing drv_common.o(i.drv_common_disable_systick), (20 bytes). + Removing drv_common.o(i.drv_common_get_tick), (12 bytes). + Removing drv_common.o(i.drv_common_idle_mode), (40 bytes). + Removing drv_common.o(i.drv_common_systick_register_cb), (12 bytes). + Removing drv_crgu.o(.rev16_text), (4 bytes). + Removing drv_crgu.o(.revsh_text), (4 bytes). + Removing drv_crgu.o(i.drv_crgu_clear_all_reset_flags), (12 bytes). + Removing drv_crgu.o(i.drv_crgu_clear_reset_flag), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_config_clocks), (16 bytes). + Removing drv_crgu.o(i.drv_crgu_config_clocks_div), (16 bytes). + Removing drv_crgu.o(i.drv_crgu_config_clocks_src), (16 bytes). + Removing drv_crgu.o(i.drv_crgu_get_ana_clk_status), (24 bytes). + Removing drv_crgu.o(i.drv_crgu_get_clocks), (12 bytes). + Removing drv_crgu.o(i.drv_crgu_get_fpga_id), (12 bytes). + Removing drv_crgu.o(i.drv_crgu_get_mipi_ref_src), (16 bytes). + Removing drv_crgu.o(i.drv_crgu_get_reset_flag), (24 bytes). + Removing drv_crgu.o(i.drv_crgu_get_system_clk), (28 bytes). + Removing drv_crgu.o(i.drv_crgu_reset_chip), (12 bytes). + Removing drv_crgu.o(i.drv_crgu_set_200m_scan_src), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_300m_scan_src), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_abp0_div), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_adc_div), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_adc_src), (24 bytes). + Removing drv_crgu.o(i.drv_crgu_set_apb1_div), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_apb2_div), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_fls_div), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_fls_src), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_monitor_div), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_monitor_src), (20 bytes). + Removing drv_crgu.o(i.drv_crgu_set_swire_div), (20 bytes). + Removing drv_dma.o(.rev16_text), (4 bytes). + Removing drv_dma.o(.revsh_text), (4 bytes). + Removing drv_dma.o(i.drv_dma_abort_transfer), (32 bytes). + Removing drv_dma.o(i.drv_dma_ahb_init), (74 bytes). + Removing drv_dma.o(i.drv_dma_channel_is_active), (20 bytes). + Removing drv_dma.o(i.drv_dma_deinit), (32 bytes). + Removing drv_dma.o(i.drv_dma_disenable_channel_interrupts), (24 bytes). + Removing drv_dma.o(i.drv_dma_enable_cycle), (44 bytes). + Removing drv_dma.o(i.drv_dma_get_remaining_bytes), (32 bytes). + Removing drv_dma.o(i.drv_dma_init), (24 bytes). + Removing drv_dma.o(i.drv_dma_m2m_init), (72 bytes). + Removing drv_dma.o(i.drv_dma_reset), (10 bytes). + Removing drv_dma.o(i.drv_dma_set_ccr), (114 bytes). + Removing drv_dma.o(i.drv_dma_start_transfer), (32 bytes). + Removing drv_fls.o(.rev16_text), (4 bytes). + Removing drv_fls.o(.revsh_text), (4 bytes). + Removing drv_fls.o(i.__NVIC_DisableIRQ), (32 bytes). + Removing drv_fls.o(i.fls_EnableClk), (12 bytes). + Removing drv_fls.o(i.fls_busy_pending), (12 bytes). + Removing drv_fls.o(i.fls_clear_irq_status), (6 bytes). + Removing drv_fls.o(i.fls_ctrl_cfg_init), (72 bytes). + Removing drv_fls.o(i.fls_ddat_enable), (24 bytes). + Removing drv_fls.o(i.fls_de_init), (52 bytes). + Removing drv_fls.o(i.fls_descr), (10 bytes). + Removing drv_fls.o(i.fls_disable_it), (36 bytes). + Removing drv_fls.o(i.fls_en_scr), (10 bytes). + Removing drv_fls.o(i.fls_enable_it), (48 bytes). + Removing drv_fls.o(i.fls_get_crcout), (4 bytes). + Removing drv_fls.o(i.fls_get_default_fls_config), (20 bytes). + Removing drv_fls.o(i.fls_get_default_spi_config), (44 bytes). + Removing drv_fls.o(i.fls_get_default_tuning), (12 bytes). + Removing drv_fls.o(i.fls_get_tuning), (18 bytes). + Removing drv_fls.o(i.fls_init), (62 bytes). + Removing drv_fls.o(i.fls_qadr_enable), (22 bytes). + Removing drv_fls.o(i.fls_qcmd_enable), (22 bytes). + Removing drv_fls.o(i.fls_qdat_enable), (22 bytes). + Removing drv_fls.o(i.fls_read_byte_data), (130 bytes). + Removing drv_fls.o(i.fls_read_cmd), (104 bytes). + Removing drv_fls.o(i.fls_read_cmd_it), (110 bytes). + Removing drv_fls.o(i.fls_reset_crc), (18 bytes). + Removing drv_fls.o(i.fls_scr_clear), (10 bytes). + Removing drv_fls.o(i.fls_set_addr_dummy), (32 bytes). + Removing drv_fls.o(i.fls_set_addr_len), (32 bytes). + Removing drv_fls.o(i.fls_set_mc_irq_mask), (26 bytes). + Removing drv_fls.o(i.fls_set_read), (10 bytes). + Removing drv_fls.o(i.fls_set_tuning), (24 bytes). + Removing drv_fls.o(i.fls_set_write), (10 bytes). + Removing drv_fls.o(i.fls_single_mode), (16 bytes). + Removing drv_fls.o(i.fls_spi_init), (180 bytes). + Removing drv_fls.o(i.fls_spi_start), (10 bytes). + Removing drv_fls.o(i.fls_swrst), (18 bytes). + Removing drv_fls.o(i.fls_write_byte_data), (164 bytes). + Removing drv_fls.o(i.fls_write_cmd), (58 bytes). + Removing drv_fls.o(.data), (4 bytes). + Removing drv_gpio.o(.rev16_text), (4 bytes). + Removing drv_gpio.o(.revsh_text), (4 bytes). + Removing drv_gpio.o(i.drv_gpio_get_pull_state), (224 bytes). + Removing drv_gpio.o(i.drv_gpio_register_ap_reset_callback), (12 bytes). + Removing drv_gpio.o(i.drv_gpio_set_driving_strength), (312 bytes). + Removing drv_gpio.o(i.drv_gpio_set_schmitt_trigger), (168 bytes). + Removing drv_gpio.o(i.drv_gpio_set_slew_rate), (168 bytes). + Removing drv_i2c_dma.o(.rev16_text), (4 bytes). + Removing drv_i2c_dma.o(.revsh_text), (4 bytes). + Removing drv_i2c_dma.o(i.drv_i2c_master_write_dma), (60 bytes). + Removing drv_i2c_master.o(.rev16_text), (4 bytes). + Removing drv_i2c_master.o(.revsh_text), (4 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_bus_init), (36 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_deinit), (44 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_disable_intr), (16 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_get_fifo_status), (28 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_read_data), (32 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_set_fifo_threshold), (24 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_set_sys_mask), (48 bytes). + Removing drv_i2c_master.o(i.drv_i2c_m_write_data), (32 bytes). + Removing drv_i2c_slave.o(.rev16_text), (4 bytes). + Removing drv_i2c_slave.o(.revsh_text), (4 bytes). + Removing drv_i2c_slave.o(i.drv_i2c_s_read_data), (30 bytes). + Removing drv_i2c_slave.o(i.drv_i2c_s_set_fifo_threshold), (16 bytes). + Removing drv_param_init.o(.rev16_text), (4 bytes). + Removing drv_param_init.o(.revsh_text), (4 bytes). + Removing drv_param_init.o(i.drv_param_init_set_ccm), (20 bytes). + Removing drv_param_init.o(i.drv_param_init_set_sclu_filter), (28 bytes). + Removing drv_pwm.o(.rev16_text), (4 bytes). + Removing drv_pwm.o(.revsh_text), (4 bytes). + Removing drv_pwm.o(i.drv_pwm_in_clear_pwm_int_all), (12 bytes). + Removing drv_pwm.o(i.drv_pwm_in_enable), (32 bytes). + Removing drv_pwm.o(i.drv_pwm_in_get_counter_period), (12 bytes). + Removing drv_pwm.o(i.drv_pwm_in_get_current_count), (12 bytes). + Removing drv_pwm.o(i.drv_pwm_in_get_high_period), (12 bytes). + Removing drv_pwm.o(i.drv_pwm_in_get_low_period), (12 bytes). + Removing drv_pwm.o(i.drv_pwm_in_register_callback), (24 bytes). + Removing drv_pwm.o(i.drv_pwm_in_set_pwm_int), (32 bytes). + Removing drv_pwm.o(i.drv_pwm_in_set_sys_int), (64 bytes). + Removing drv_pwm.o(i.drv_pwm_out_pause), (28 bytes). + Removing drv_pwr.o(.rev16_text), (4 bytes). + Removing drv_pwr.o(.revsh_text), (4 bytes). + Removing drv_pwr.o(i.drv_pwr_enter_deep_sleep_mode), (44 bytes). + Removing drv_pwr.o(i.drv_pwr_set_cp_mode), (32 bytes). + Removing drv_pwr.o(i.drv_pwr_set_frame_buff_pd), (28 bytes). + Removing drv_spi_dma.o(.rev16_text), (4 bytes). + Removing drv_spi_dma.o(.revsh_text), (4 bytes). + Removing drv_spi_dma.o(i.__NVIC_ClearPendingIRQ), (24 bytes). + Removing drv_spi_dma.o(i.drv_spi_abort_dma), (108 bytes). + Removing drv_spi_dma.o(i.drv_spi_dma_callback), (60 bytes). + Removing drv_spi_dma.o(i.drv_spi_dma_ch6_init), (208 bytes). + Removing drv_spi_dma.o(i.drv_spi_dma_init), (220 bytes). + Removing drv_spi_dma.o(i.drv_spi_set_dma_ch6_irq_callback), (48 bytes). + Removing drv_spi_dma.o(i.drv_spi_set_dma_irq_callback), (88 bytes). + Removing drv_spi_dma.o(i.drv_spim_dma_read), (96 bytes). + Removing drv_spi_dma.o(i.drv_spim_dma_write), (60 bytes). + Removing drv_spi_dma.o(i.drv_spis_dma_write), (72 bytes). + Removing drv_spi_dma.o(.bss), (480 bytes). + Removing drv_spi_dma.o(.data), (16 bytes). + Removing drv_spi_master.o(.rev16_text), (4 bytes). + Removing drv_spi_master.o(.revsh_text), (4 bytes). + Removing drv_spi_master.o(i.drv_spi_m_deinit), (40 bytes). + Removing drv_spi_master.o(i.drv_spi_m_disable_int), (68 bytes). + Removing drv_spi_master.o(i.drv_spi_m_enable_int), (72 bytes). + Removing drv_spi_master.o(i.drv_spi_m_enable_rx_dma), (32 bytes). + Removing drv_spi_master.o(i.drv_spi_m_enable_tx_dma), (28 bytes). + Removing drv_spi_master.o(i.drv_spi_m_get_dma_address), (8 bytes). + Removing drv_spi_master.o(i.drv_spi_m_gpio_init), (32 bytes). + Removing drv_spi_master.o(i.drv_spi_m_set_intr_callback), (12 bytes). + Removing drv_spi_master.o(i.drv_spi_m_switch_sclk), (28 bytes). + Removing drv_spi_master.o(i.drv_spi_m_write_data), (44 bytes). + Removing drv_spi_master.o(i.drv_spi_master_init), (164 bytes). + Removing drv_swire.o(.rev16_text), (4 bytes). + Removing drv_swire.o(.revsh_text), (4 bytes). + Removing drv_swire.o(i.drv_swire_enable), (28 bytes). + Removing drv_swire.o(i.drv_swire_register_callback), (12 bytes). + Removing drv_swire.o(i.drv_swire_set_bit_time), (24 bytes). + Removing drv_swire.o(i.drv_swire_set_power_down), (28 bytes). + Removing drv_swire.o(i.drv_swire_set_pulse_count), (12 bytes). + Removing drv_sys_cfg.o(.rev16_text), (4 bytes). + Removing drv_sys_cfg.o(.revsh_text), (4 bytes). + Removing drv_sys_cfg.o(i.drv_sys_cfg_dma_req_mask), (32 bytes). + Removing drv_sys_cfg.o(i.drv_sys_cfg_read_version0_id), (12 bytes). + Removing drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_trig), (28 bytes). + Removing drv_sys_cfg.o(i.drv_sys_cfg_set_ap_reset), (28 bytes). + Removing drv_timer.o(.rev16_text), (4 bytes). + Removing drv_timer.o(.revsh_text), (4 bytes). + Removing drv_timer.o(i.drv_timer_get_status), (38 bytes). + Removing drv_timer.o(i.drv_timer_set_repeat), (16 bytes). + Removing hal_internal_vsync.o(.rev16_text), (4 bytes). + Removing hal_internal_vsync.o(.revsh_text), (4 bytes). + Removing hal_internal_vsync.o(i.hal_internal_sync_cmd_mode_rcv_te), (168 bytes). + Removing hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change_ex), (468 bytes). + Removing hal_internal_vsync.o(i.hal_internal_sync_set_fb_setting_manual), (528 bytes). + Removing hal_internal_vsync.o(i.hal_internal_vsync_get_rx_state), (12 bytes). + Removing hal_internal_vsync.o(i.hal_internal_vsync_get_tx_state), (12 bytes). + Removing hal_internal_vsync.o(i.hal_internal_vsync_set_dcs_direct_mode), (48 bytes). + Removing hal_internal_vsync.o(i.hal_internal_vsync_set_tear_mode), (80 bytes). + Removing hal_internal_vsync.o(i.hal_vsync_reset_lcdc_scaler), (476 bytes). + Removing dcs_packet_fifo.o(i.dcs_packet_get_fifo_size), (16 bytes). + Removing drv_dsi_rx.o(.rev16_text), (4 bytes). + Removing drv_dsi_rx.o(.revsh_text), (4 bytes). + Removing drv_dsi_rx.o(i.drv_dsi_rx_get_max_ret_size), (6 bytes). + Removing drv_dsi_rx.o(i.drv_dsi_rx_get_phy_stopstate), (66 bytes). + Removing drv_dsi_rx.o(i.drv_dsi_rx_get_version), (4 bytes). + Removing drv_dsi_rx.o(i.drv_dsi_rx_phy_resistor_calibration), (236 bytes). + Removing drv_dsi_rx.o(i.drv_dsi_rx_set_ddi_pg_cfg), (32 bytes). + Removing drv_dsi_rx.o(i.drv_dsi_rx_set_ipi_pg_cfg), (48 bytes). + Removing drv_dsi_rx.o(i.drv_dsi_rx_shut_down), (14 bytes). + Removing drv_dsi_rx.o(i.drv_rx_phy_test_read), (12 bytes). + Removing drv_dsi_tx.o(.rev16_text), (4 bytes). + Removing drv_dsi_tx.o(.revsh_text), (4 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_command_get_payload), (4 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_force_interrupt), (8 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_get_phy_status), (6 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_forcepll), (12 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_resistor_calibration), (232 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_start), (18 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_status_pll_lock), (10 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_status_ulpsactivenot), (62 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_trigger), (92 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_enter), (344 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_phy_ulps_exit), (276 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_sdf_3d), (28 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_set_bta), (22 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_set_vpg), (70 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_version), (4 bytes). + Removing drv_dsi_tx.o(i.drv_dsi_tx_vid_shadow), (16 bytes). + Removing drv_dsi_tx.o(i.drv_tx_phy_test_read), (10 bytes). + Removing drv_lcdc.o(.rev16_text), (4 bytes). + Removing drv_lcdc.o(.revsh_text), (4 bytes). + Removing drv_lcdc.o(i.drv_lcdc_config_rgb_to_pentile), (6 bytes). + Removing drv_lcdc.o(i.drv_lcdc_enable), (42 bytes). + Removing drv_lcdc.o(i.drv_lcdc_update_shadow_reg), (12 bytes). + Removing drv_memc.o(.rev16_text), (4 bytes). + Removing drv_memc.o(.revsh_text), (4 bytes). + Removing drv_memc.o(i.drv_memc_set_db_frm_time), (14 bytes). + Removing drv_memc.o(i.drv_memc_set_db_int_frame), (28 bytes). + Removing drv_memc.o(i.drv_memc_set_fb_remaining_line_trigger), (12 bytes). + Removing drv_memc.o(i.drv_memc_set_read_trigger_line), (16 bytes). + Removing drv_memc.o(i.drv_memc_set_te_ind), (16 bytes). + Removing drv_memc.o(i.drv_memc_set_tear_hwclr), (16 bytes). + Removing drv_memc.o(i.drv_memc_set_vidc_fb_arb), (14 bytes). + Removing drv_memc.o(i.drv_memc_set_write_trigger_line), (16 bytes). + Removing drv_rxbr.o(.rev16_text), (4 bytes). + Removing drv_rxbr.o(.revsh_text), (4 bytes). + Removing drv_rxbr.o(i.drv_rxbr_dsc_flush), (16 bytes). + Removing drv_rxbr.o(i.drv_rxbr_get_cur_hline_rcv_cnt), (8 bytes). + Removing drv_rxbr.o(i.drv_rxbr_get_ipi_vsync_interval), (8 bytes). + Removing drv_rxbr.o(i.drv_rxbr_get_pix_fmt), (8 bytes). + Removing drv_rxbr.o(i.drv_rxbr_set_ack_pkt_header), (20 bytes). + Removing drv_rxbr.o(i.drv_rxbr_set_col_addr), (4 bytes). + Removing drv_rxbr.o(i.drv_rxbr_set_compress), (24 bytes). + Removing drv_rxbr.o(i.drv_rxbr_set_page_addr), (4 bytes). + Removing drv_rxbr.o(i.drv_rxbr_soft_reset), (98 bytes). + Removing drv_vidc.o(.rev16_text), (4 bytes). + Removing drv_vidc.o(.revsh_text), (4 bytes). + Removing drv_vidc.o(i.drv_vidc_clear_status0), (14 bytes). + Removing drv_vidc.o(i.drv_vidc_debug_cap_pixel), (24 bytes). + Removing drv_vidc.o(i.drv_vidc_debug_signal_frame), (30 bytes). + Removing drv_vidc.o(i.drv_vidc_get_int_source), (38 bytes). + Removing drv_vidc.o(i.drv_vidc_get_status0), (20 bytes). + Removing drv_vidc.o(i.drv_vidc_get_status1), (20 bytes). + Removing drv_vidc.o(i.drv_vidc_get_status2), (6 bytes). + Removing drv_vidc.o(i.drv_vidc_set_dsc_thresh), (4 bytes). + Removing drv_vidc.o(i.drv_vidc_set_frmst_latency), (12 bytes). + Removing drv_vidc.o(i.drv_vidc_set_inff_thresh), (4 bytes). + Removing drv_vidc.o(i.drv_vidc_set_irq_line), (20 bytes). + Removing drv_vidc.o(i.drv_vidc_set_module_enable), (20 bytes). + Removing drv_vidc.o(i.drv_vidc_set_outff_thresh), (4 bytes). + Removing drv_vidc.o(i.drv_vidc_update_src_format), (14 bytes). + Removing irq_redirect .o(.rev16_text), (4 bytes). + Removing irq_redirect .o(.revsh_text), (4 bytes). + Removing drv_efuse.o(.rev16_text), (4 bytes). + Removing drv_efuse.o(.revsh_text), (4 bytes). + Removing drv_efuse.o(i.drv_efuse_crc_cal), (128 bytes). + Removing drv_efuse.o(i.drv_efuse_get_default_config), (26 bytes). + Removing drv_efuse.o(i.drv_efuse_int_disable), (12 bytes). + Removing drv_efuse.o(i.drv_efuse_write), (46 bytes). + Removing drv_efuse.o(i.drv_efuse_write_req), (22 bytes). + Removing drv_phy_common.o(.rev16_text), (4 bytes). + Removing drv_phy_common.o(.revsh_text), (4 bytes). + Removing drv_phy_common.o(i.drv_phy_test_read), (8 bytes). + Removing drv_chip_info.o(.rev16_text), (4 bytes). + Removing drv_chip_info.o(.revsh_text), (4 bytes). + Removing drv_dsc_dec.o(.rev16_text), (4 bytes). + Removing drv_dsc_dec.o(.revsh_text), (4 bytes). + Removing drv_dsc_dec.o(i.drv_dsc_dec_set_u32_pps), (120 bytes). + Removing hal_spi_slave.o(.rev16_text), (4 bytes). + Removing hal_spi_slave.o(.revsh_text), (4 bytes). + Removing hal_spi_slave.o(i.hal_spi_s_set_high_impedance), (100 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_auto_transfer_abort), (16 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_auto_transfer_start), (56 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_busy), (16 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_deinit), (10 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_disable), (16 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_enable), (96 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_flush_fifo), (20 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_get_rxfifo_notempty), (16 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_gpio_init), (8 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_init), (76 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_read_data), (10 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_register_callback), (12 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_reset_tx), (68 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_set_auto_rx_buffer), (16 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_set_auto_tx_buffer), (16 bytes). + Removing hal_spi_slave.o(i.hal_spi_slave_write_data), (14 bytes). + Removing drv_fls_dma.o(.rev16_text), (4 bytes). + Removing drv_fls_dma.o(.revsh_text), (4 bytes). + Removing drv_fls_dma.o(i.fls_abort_dma), (42 bytes). + Removing drv_fls_dma.o(i.fls_dma_disable), (10 bytes). + Removing drv_fls_dma.o(i.fls_dma_enable), (10 bytes). + Removing drv_fls_dma.o(i.fls_dma_read_prepare), (86 bytes). + Removing drv_fls_dma.o(i.fls_dma_write_prepare), (82 bytes). + Removing drv_fls_dma.o(i.fls_read_dmacallback), (32 bytes). + Removing drv_fls_dma.o(i.fls_transfer_create_handle_dma), (208 bytes). + Removing drv_fls_dma.o(i.fls_transfer_dma), (112 bytes). + Removing drv_fls_dma.o(i.fls_transfer_get_receive_count_dma), (44 bytes). + Removing drv_fls_dma.o(i.fls_write_dmacallback), (32 bytes). + Removing drv_fls_dma.o(.data), (8 bytes). + Removing drv_spi_slave.o(.rev16_text), (4 bytes). + Removing drv_spi_slave.o(.revsh_text), (4 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_deinit), (40 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_disable_int), (68 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_enable_int), (72 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_enable_rx_dma), (32 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_enable_tx_dma), (28 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_get_dma_address), (8 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_gpio_init), (24 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_read_data), (32 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_switch_sclk), (28 bytes). + Removing drv_spi_slave.o(i.drv_spi_s_write_data), (44 bytes). + Removing drv_spi_slave.o(i.drv_spi_slave_init), (76 bytes). + Removing drv_uart.o(.rev16_text), (4 bytes). + Removing drv_uart.o(.revsh_text), (4 bytes). + Removing drv_uart.o(i.UART_AbortReceive), (30 bytes). + Removing drv_uart.o(i.UART_AbortSend), (30 bytes). + Removing drv_uart.o(i.UART_Deinit), (28 bytes). + Removing drv_uart.o(i.UART_Disable_IT), (68 bytes). + Removing drv_uart.o(i.UART_EnableDma), (32 bytes). + Removing drv_uart.o(i.UART_Enable_IT), (44 bytes). + Removing drv_uart.o(i.UART_GetDefaultConfig), (72 bytes). + Removing drv_uart.o(i.UART_GetFIFO_Ctrl), (20 bytes). + Removing drv_uart.o(i.UART_GetReceiveCount), (22 bytes). + Removing drv_uart.o(i.UART_GetReceiveStatus), (20 bytes). + Removing drv_uart.o(i.UART_GetRxRingBufferLength), (28 bytes). + Removing drv_uart.o(i.UART_GetSendCount), (22 bytes). + Removing drv_uart.o(i.UART_GetSendStatus), (20 bytes). + Removing drv_uart.o(i.UART_ReadBlocking), (32 bytes). + Removing drv_uart.o(i.UART_ReceiveNonBlocking), (50 bytes). + Removing drv_uart.o(i.UART_ResetTxFIFO), (36 bytes). + Removing drv_uart.o(i.UART_SendNonBlocking), (38 bytes). + Removing drv_uart.o(i.UART_TransferCreateHandle), (96 bytes). + Removing drv_uart.o(i.UART_TransferStartRingBuffer), (30 bytes). + Removing drv_uart.o(.constdata), (1 bytes). + Removing drv_uart_dma.o(.rev16_text), (4 bytes). + Removing drv_uart_dma.o(.revsh_text), (4 bytes). + Removing drv_uart_dma.o(i.UART_DMAInit), (76 bytes). + Removing drv_uart_dma.o(i.UART_TransferAbortReceiveDMA), (16 bytes). + Removing drv_uart_dma.o(i.UART_TransferAbortSendDMA), (16 bytes). + Removing drv_uart_dma.o(i.UART_TransferCreateHandleDMA), (176 bytes). + Removing drv_uart_dma.o(i.UART_TransferGetReceiveCountDMA), (44 bytes). + Removing drv_uart_dma.o(i.UART_TransferReceiveDMA), (68 bytes). + Removing drv_uart_dma.o(i.UART_TransferReceiveDMACallback), (34 bytes). + Removing drv_uart_dma.o(i.UART_TransferSendDMA), (68 bytes). + Removing drv_uart_dma.o(i.UART_TransferSendDMACallback), (34 bytes). + Removing drv_uart_dma.o(.data), (8 bytes). + Removing drv_wdg.o(.rev16_text), (4 bytes). + Removing drv_wdg.o(.revsh_text), (4 bytes). + Removing drv_wdg.o(i.drv_wdg_enable), (32 bytes). + Removing drv_wdg.o(i.drv_wdg_load_match), (12 bytes). + Removing drv_wdg.o(i.drv_wdg_register_callback), (12 bytes). + Removing drv_wdg.o(i.drv_wdg_sel_mode), (28 bytes). + Removing drv_wdg.o(i.drv_wdg_set_repeat), (12 bytes). + Removing dflti.o(.text), (40 bytes). + +581 unused section(s) (total 28966 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 idiv.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE + ../clib/microlib/errno.c 0x00000000 Number 0 errno.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE + ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE + ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE + ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE + ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE + ../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE + ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE + ../fplib/microlib/fpadd.c 0x00000000 Number 0 fadd.o ABSOLUTE + ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE + ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixui.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixi.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 fflti.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE + ../fplib/microlib/fpscalb.c 0x00000000 Number 0 fscalb.o ABSOLUTE + ../fplib/microlib/fpsqrt.c 0x00000000 Number 0 dsqrt.o ABSOLUTE + ../mathlib/ceil.c 0x00000000 Number 0 ceil.o ABSOLUTE + ../mathlib/sqrt.c 0x00000000 Number 0 sqrt_x.o ABSOLUTE + ../mathlib/sqrt.c 0x00000000 Number 0 sqrt.o ABSOLUTE + ..\..\..\src\common\tau_delay.c 0x00000000 Number 0 tau_delay.o ABSOLUTE + ..\..\..\src\common\tau_log.c 0x00000000 Number 0 tau_log.o ABSOLUTE + ..\..\..\src\driver\robin\src\drv_chip_info.c 0x00000000 Number 0 drv_chip_info.o ABSOLUTE + ..\..\..\src\driver\robin\src\drv_dsc_dec.c 0x00000000 Number 0 drv_dsc_dec.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_dsi_rx.c 0x00000000 Number 0 drv_dsi_rx.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_dsi_tx.c 0x00000000 Number 0 drv_dsi_tx.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_efuse.c 0x00000000 Number 0 drv_efuse.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_lcdc.c 0x00000000 Number 0 drv_lcdc.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_memc.c 0x00000000 Number 0 drv_memc.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_phy_common.c 0x00000000 Number 0 drv_phy_common.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_rxbr.c 0x00000000 Number 0 drv_rxbr.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\drv_vidc.c 0x00000000 Number 0 drv_vidc.o ABSOLUTE + ..\..\..\src\driver\source\robin\drv\irq_redirect .c 0x00000000 Number 0 irq_redirect .o ABSOLUTE + ..\..\..\src\driver\source\robin\hal\internal\dcs_packet_fifo.c 0x00000000 Number 0 dcs_packet_fifo.o ABSOLUTE + ..\..\..\src\driver\source\robin\hal\internal\hal_internal_vsync.c 0x00000000 Number 0 hal_internal_vsync.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_common.c 0x00000000 Number 0 drv_common.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_crgu.c 0x00000000 Number 0 drv_crgu.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_dma.c 0x00000000 Number 0 drv_dma.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_fls.c 0x00000000 Number 0 drv_fls.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_fls_dma.c 0x00000000 Number 0 drv_fls_dma.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_gpio.c 0x00000000 Number 0 drv_gpio.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_i2c_dma.c 0x00000000 Number 0 drv_i2c_dma.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_i2c_master.c 0x00000000 Number 0 drv_i2c_master.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_i2c_slave.c 0x00000000 Number 0 drv_i2c_slave.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_param_init.c 0x00000000 Number 0 drv_param_init.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_pwm.c 0x00000000 Number 0 drv_pwm.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_pwr.c 0x00000000 Number 0 drv_pwr.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_spi_dma.c 0x00000000 Number 0 drv_spi_dma.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_spi_master.c 0x00000000 Number 0 drv_spi_master.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_spi_slave.c 0x00000000 Number 0 drv_spi_slave.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_swire.c 0x00000000 Number 0 drv_swire.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_sys_cfg.c 0x00000000 Number 0 drv_sys_cfg.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_timer.c 0x00000000 Number 0 drv_timer.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_uart.c 0x00000000 Number 0 drv_uart.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_uart_dma.c 0x00000000 Number 0 drv_uart_dma.o ABSOLUTE + ..\..\..\src\sdk\robin\src\drv\drv_wdg.c 0x00000000 Number 0 drv_wdg.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_dsi_rx_ctrl.c 0x00000000 Number 0 hal_dsi_rx_ctrl.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_dsi_tx_ctrl.c 0x00000000 Number 0 hal_dsi_tx_ctrl.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_gpio.c 0x00000000 Number 0 hal_gpio.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_i2c_master.c 0x00000000 Number 0 hal_i2c_master.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_i2c_slave.c 0x00000000 Number 0 hal_i2c_slave.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_pwm.c 0x00000000 Number 0 hal_pwm.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_spi_master.c 0x00000000 Number 0 hal_spi_master.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_spi_slave.c 0x00000000 Number 0 hal_spi_slave.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_swire.c 0x00000000 Number 0 hal_swire.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_system.c 0x00000000 Number 0 hal_system.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_timer.c 0x00000000 Number 0 hal_timer.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\hal_uart.c 0x00000000 Number 0 hal_uart.o ABSOLUTE + ..\..\..\src\sdk\robin\src\hal\internal\norflash.c 0x00000000 Number 0 norflash.o ABSOLUTE + ..\..\src\app\ap_demo\ap_demo.c 0x00000000 Number 0 ap_demo.o ABSOLUTE + ..\..\src\app\ap_demo\app_tp_for_custom_mi8se.c 0x00000000 Number 0 app_tp_for_custom_mi8se.o ABSOLUTE + ..\..\src\app\ap_demo\app_tp_transfer.c 0x00000000 Number 0 app_tp_transfer.o ABSOLUTE + ..\..\src\app\main.c 0x00000000 Number 0 main.o ABSOLUTE + ..\..\src\board\board.c 0x00000000 Number 0 board.o ABSOLUTE + ..\..\src\board\startup\startup_ARMCM0.s 0x00000000 Number 0 startup_armcm0.o ABSOLUTE + ..\\..\\..\\src\\common\\tau_delay.c 0x00000000 Number 0 tau_delay.o ABSOLUTE + ..\\..\\..\\src\\common\\tau_log.c 0x00000000 Number 0 tau_log.o ABSOLUTE + ..\\..\\..\\src\\driver\\robin\\src\\drv_chip_info.c 0x00000000 Number 0 drv_chip_info.o ABSOLUTE + ..\\..\\..\\src\\driver\\robin\\src\\drv_dsc_dec.c 0x00000000 Number 0 drv_dsc_dec.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_dsi_rx.c 0x00000000 Number 0 drv_dsi_rx.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_dsi_tx.c 0x00000000 Number 0 drv_dsi_tx.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_efuse.c 0x00000000 Number 0 drv_efuse.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_lcdc.c 0x00000000 Number 0 drv_lcdc.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_memc.c 0x00000000 Number 0 drv_memc.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_phy_common.c 0x00000000 Number 0 drv_phy_common.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_rxbr.c 0x00000000 Number 0 drv_rxbr.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\drv_vidc.c 0x00000000 Number 0 drv_vidc.o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\drv\\irq_redirect .c 0x00000000 Number 0 irq_redirect .o ABSOLUTE + ..\\..\\..\\src\\driver\\source\\robin\\hal\\internal\\hal_internal_vsync.c 0x00000000 Number 0 hal_internal_vsync.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_common.c 0x00000000 Number 0 drv_common.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_crgu.c 0x00000000 Number 0 drv_crgu.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_dma.c 0x00000000 Number 0 drv_dma.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_fls.c 0x00000000 Number 0 drv_fls.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_fls_dma.c 0x00000000 Number 0 drv_fls_dma.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_gpio.c 0x00000000 Number 0 drv_gpio.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_i2c_dma.c 0x00000000 Number 0 drv_i2c_dma.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_i2c_master.c 0x00000000 Number 0 drv_i2c_master.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_i2c_slave.c 0x00000000 Number 0 drv_i2c_slave.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_param_init.c 0x00000000 Number 0 drv_param_init.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_pwm.c 0x00000000 Number 0 drv_pwm.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_pwr.c 0x00000000 Number 0 drv_pwr.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_spi_dma.c 0x00000000 Number 0 drv_spi_dma.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_spi_master.c 0x00000000 Number 0 drv_spi_master.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_spi_slave.c 0x00000000 Number 0 drv_spi_slave.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_swire.c 0x00000000 Number 0 drv_swire.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_sys_cfg.c 0x00000000 Number 0 drv_sys_cfg.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_timer.c 0x00000000 Number 0 drv_timer.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_uart.c 0x00000000 Number 0 drv_uart.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_uart_dma.c 0x00000000 Number 0 drv_uart_dma.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\drv\\drv_wdg.c 0x00000000 Number 0 drv_wdg.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_dsi_rx_ctrl.c 0x00000000 Number 0 hal_dsi_rx_ctrl.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_dsi_tx_ctrl.c 0x00000000 Number 0 hal_dsi_tx_ctrl.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_gpio.c 0x00000000 Number 0 hal_gpio.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_i2c_master.c 0x00000000 Number 0 hal_i2c_master.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_i2c_slave.c 0x00000000 Number 0 hal_i2c_slave.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_pwm.c 0x00000000 Number 0 hal_pwm.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_spi_master.c 0x00000000 Number 0 hal_spi_master.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_spi_slave.c 0x00000000 Number 0 hal_spi_slave.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_swire.c 0x00000000 Number 0 hal_swire.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_system.c 0x00000000 Number 0 hal_system.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_timer.c 0x00000000 Number 0 hal_timer.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\hal_uart.c 0x00000000 Number 0 hal_uart.o ABSOLUTE + ..\\..\\..\\src\\sdk\\robin\\src\\hal\\internal\\norflash.c 0x00000000 Number 0 norflash.o ABSOLUTE + ..\\..\\src\\app\\ap_demo\\ap_demo.c 0x00000000 Number 0 ap_demo.o ABSOLUTE + ..\\..\\src\\app\\ap_demo\\app_tp_for_custom_mi8se.c 0x00000000 Number 0 app_tp_for_custom_mi8se.o ABSOLUTE + ..\\..\\src\\app\\ap_demo\\app_tp_transfer.c 0x00000000 Number 0 app_tp_transfer.o ABSOLUTE + ..\\..\\src\\app\\main.c 0x00000000 Number 0 main.o ABSOLUTE + ..\\..\\src\\board\\board.c 0x00000000 Number 0 board.o ABSOLUTE + cdcmple.s 0x00000000 Number 0 cdcmple.o ABSOLUTE + cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE + cfrcmple.s 0x00000000 Number 0 cfrcmple.o ABSOLUTE + dc.s 0x00000000 Number 0 dc.o ABSOLUTE + handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE + init.s 0x00000000 Number 0 init.o ABSOLUTE + RESET 0x00010000 Section 192 startup_armcm0.o(RESET) + .ARM.Collect$$$$00000000 0x000100c0 Section 0 entry.o(.ARM.Collect$$$$00000000) + .ARM.Collect$$$$00000001 0x000100c0 Section 4 entry2.o(.ARM.Collect$$$$00000001) + .ARM.Collect$$$$00000004 0x000100c4 Section 4 entry5.o(.ARM.Collect$$$$00000004) + .ARM.Collect$$$$00000008 0x000100c8 Section 0 entry7b.o(.ARM.Collect$$$$00000008) + .ARM.Collect$$$$0000000A 0x000100c8 Section 0 entry8b.o(.ARM.Collect$$$$0000000A) + .ARM.Collect$$$$0000000B 0x000100c8 Section 8 entry9a.o(.ARM.Collect$$$$0000000B) + .ARM.Collect$$$$0000000D 0x000100d0 Section 0 entry10a.o(.ARM.Collect$$$$0000000D) + .ARM.Collect$$$$0000000F 0x000100d0 Section 0 entry11a.o(.ARM.Collect$$$$0000000F) + .ARM.Collect$$$$00002712 0x000100d0 Section 4 entry2.o(.ARM.Collect$$$$00002712) + __lit__00000000 0x000100d0 Data 4 entry2.o(.ARM.Collect$$$$00002712) + .text 0x000100d4 Section 120 startup_armcm0.o(.text) + .text 0x0001014c Section 0 uidiv.o(.text) + .text 0x00010178 Section 0 idiv.o(.text) + .text 0x000101a0 Section 0 memcpya.o(.text) + .text 0x000101c4 Section 0 memseta.o(.text) + .text 0x000101e8 Section 0 fadd.o(.text) + .text 0x0001029a Section 0 fmul.o(.text) + .text 0x00010314 Section 0 fdiv.o(.text) + .text 0x00010390 Section 0 fscalb.o(.text) + .text 0x000103a8 Section 0 dadd.o(.text) + .text 0x0001050c Section 0 dmul.o(.text) + .text 0x000105dc Section 0 ddiv.o(.text) + .text 0x000106cc Section 0 fflti.o(.text) + .text 0x000106e2 Section 0 ffltui.o(.text) + .text 0x000106f0 Section 0 dfltui.o(.text) + .text 0x0001070c Section 0 ffixi.o(.text) + .text 0x0001073e Section 0 ffixui.o(.text) + .text 0x00010768 Section 0 dfixi.o(.text) + .text 0x000107b0 Section 0 dfixui.o(.text) + .text 0x000107ec Section 0 f2d.o(.text) + .text 0x00010814 Section 40 cdcmple.o(.text) + .text 0x0001083c Section 20 cfrcmple.o(.text) + .text 0x00010850 Section 0 uldiv.o(.text) + .text 0x000108b0 Section 0 llshl.o(.text) + .text 0x000108d0 Section 0 llushr.o(.text) + .text 0x000108f2 Section 0 llsshr.o(.text) + .text 0x00010918 Section 0 iusefp.o(.text) + .text 0x00010918 Section 0 fepilogue.o(.text) + .text 0x0001099a Section 0 depilogue.o(.text) + .text 0x00010a58 Section 0 dsqrt.o(.text) + .text 0x00010afc Section 0 dfixul.o(.text) + .text 0x00010b3c Section 40 cdrcmple.o(.text) + .text 0x00010b64 Section 36 init.o(.text) + .text 0x00010b88 Section 0 __dczerorl2.o(.text) + i.ADC_IRQn_Handler 0x00010be0 Section 0 irq_redirect .o(i.ADC_IRQn_Handler) + i.AP_NRESET_IRQn_Handler 0x00010bf8 Section 0 irq_redirect .o(i.AP_NRESET_IRQn_Handler) + i.AP_SWIRE_init 0x00010c10 Section 0 ap_demo.o(i.AP_SWIRE_init) + AP_SWIRE_init 0x00010c11 Thumb Code 58 ap_demo.o(i.AP_SWIRE_init) + i.DMA_IRQn_Handler 0x00010c4c Section 0 irq_redirect .o(i.DMA_IRQn_Handler) + i.EXTI_INT0_IRQn_Handler 0x00010c60 Section 0 irq_redirect .o(i.EXTI_INT0_IRQn_Handler) + i.EXTI_INT1_IRQn_Handler 0x00010c7c Section 0 irq_redirect .o(i.EXTI_INT1_IRQn_Handler) + i.EXTI_INT2_IRQn_Handler 0x00010c98 Section 0 irq_redirect .o(i.EXTI_INT2_IRQn_Handler) + i.EXTI_INT3_IRQn_Handler 0x00010cb4 Section 0 irq_redirect .o(i.EXTI_INT3_IRQn_Handler) + i.EXTI_INT4_IRQn_Handler 0x00010cd0 Section 0 irq_redirect .o(i.EXTI_INT4_IRQn_Handler) + i.EXTI_INT5_IRQn_Handler 0x00010cec Section 0 irq_redirect .o(i.EXTI_INT5_IRQn_Handler) + i.EXTI_INT6_IRQn_Handler 0x00010d08 Section 0 irq_redirect .o(i.EXTI_INT6_IRQn_Handler) + i.EXTI_INT7_IRQn_Handler 0x00010d24 Section 0 irq_redirect .o(i.EXTI_INT7_IRQn_Handler) + i.FLSCTRL_IRQn_Handler 0x00010d40 Section 0 irq_redirect .o(i.FLSCTRL_IRQn_Handler) + i.HardFault_Handler 0x00010d54 Section 0 irq_redirect .o(i.HardFault_Handler) + i.I2C0_IRQn_Handler 0x00010d68 Section 0 irq_redirect .o(i.I2C0_IRQn_Handler) + i.I2C1_IRQn_Handler 0x00010d80 Section 0 irq_redirect .o(i.I2C1_IRQn_Handler) + i.LCDC_IRQn_Handler 0x00010d98 Section 0 irq_redirect .o(i.LCDC_IRQn_Handler) + i.LOG_printf 0x00010db0 Section 0 tau_log.o(i.LOG_printf) + i.MEMC_IRQn_Handler 0x00010dd8 Section 0 irq_redirect .o(i.MEMC_IRQn_Handler) + i.MIPI_RX_IRQn_Handler 0x00010df0 Section 0 irq_redirect .o(i.MIPI_RX_IRQn_Handler) + i.MIPI_TX_IRQn_Handler 0x00010e08 Section 0 irq_redirect .o(i.MIPI_TX_IRQn_Handler) + i.PWMDET_IRQn_Handler 0x00010e20 Section 0 irq_redirect .o(i.PWMDET_IRQn_Handler) + i.PWM_Task 0x00010e3c Section 0 ap_demo.o(i.PWM_Task) + i.PWM_init 0x00010e70 Section 0 ap_demo.o(i.PWM_init) + PWM_init 0x00010e71 Thumb Code 26 ap_demo.o(i.PWM_init) + i.SPIM_IRQn_Handler 0x00010e8c Section 0 irq_redirect .o(i.SPIM_IRQn_Handler) + i.SPIS_IRQn_Handler 0x00010ea8 Section 0 irq_redirect .o(i.SPIS_IRQn_Handler) + i.SWIRE_IRQn_Handler 0x00010ec4 Section 0 irq_redirect .o(i.SWIRE_IRQn_Handler) + i.SysTick_Handler 0x00010ee0 Section 0 irq_redirect .o(i.SysTick_Handler) + i.TIMER0_IRQn_Handler 0x00010ef8 Section 0 irq_redirect .o(i.TIMER0_IRQn_Handler) + i.TIMER1_IRQn_Handler 0x00010f10 Section 0 irq_redirect .o(i.TIMER1_IRQn_Handler) + i.TIMER2_IRQn_Handler 0x00010f28 Section 0 irq_redirect .o(i.TIMER2_IRQn_Handler) + i.TIMER3_IRQn_Handler 0x00010f40 Section 0 irq_redirect .o(i.TIMER3_IRQn_Handler) + i.UART0_IRQ_Handle 0x00010f58 Section 0 drv_uart.o(i.UART0_IRQ_Handle) + i.UART_DisableDma 0x00010f74 Section 0 drv_uart.o(i.UART_DisableDma) + i.UART_GetInstance 0x00010f76 Section 0 drv_uart.o(i.UART_GetInstance) + i.UART_IRQn_Handler 0x00010f7c Section 0 irq_redirect .o(i.UART_IRQn_Handler) + i.UART_ResetRxFIFO 0x00010f94 Section 0 drv_uart.o(i.UART_ResetRxFIFO) + i.UART_SetBaudRate 0x00010fb8 Section 0 drv_uart.o(i.UART_SetBaudRate) + .ARM.__at_0x11000 0x00011000 Section 20 drv_common.o(.ARM.__at_0x11000) + i.__scatterload_null 0x00011014 Section 2 handlers.o(i.__scatterload_null) + .ARM.__at_0x11018 0x00011018 Section 4 drv_common.o(.ARM.__at_0x11018) + i.UART_SwitchSCLK 0x0001101c Section 0 drv_uart.o(i.UART_SwitchSCLK) + i.UART_TransferHandleIRQ 0x00011036 Section 0 drv_uart.o(i.UART_TransferHandleIRQ) + i.UART_WriteBlocking 0x0001116a Section 0 drv_uart.o(i.UART_WriteBlocking) + i.UART_init 0x00011184 Section 0 drv_uart.o(i.UART_init) + i.VIDC_IRQn_Handler 0x00011240 Section 0 irq_redirect .o(i.VIDC_IRQn_Handler) + i.VPRE_IRQn_Handler 0x00011258 Section 0 irq_redirect .o(i.VPRE_IRQn_Handler) + i.WDG_IRQn_Handler 0x00011270 Section 0 irq_redirect .o(i.WDG_IRQn_Handler) + i.__0printf 0x00011288 Section 0 printfa.o(i.__0printf) + i.__0vsprintf 0x000112a8 Section 0 printfa.o(i.__0vsprintf) + i.__ARM_clz 0x000112cc Section 0 depilogue.o(i.__ARM_clz) + i.__ARM_common_switch8 0x000112fa Section 0 hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) + i.__NVIC_ClearPendingIRQ 0x00011314 Section 0 drv_i2c_master.o(i.__NVIC_ClearPendingIRQ) + __NVIC_ClearPendingIRQ 0x00011315 Thumb Code 18 drv_i2c_master.o(i.__NVIC_ClearPendingIRQ) + i.__NVIC_ClearPendingIRQ 0x0001132c Section 0 drv_spi_master.o(i.__NVIC_ClearPendingIRQ) + __NVIC_ClearPendingIRQ 0x0001132d Thumb Code 18 drv_spi_master.o(i.__NVIC_ClearPendingIRQ) + i.__NVIC_DisableIRQ 0x00011344 Section 0 drv_rxbr.o(i.__NVIC_DisableIRQ) + __NVIC_DisableIRQ 0x00011345 Thumb Code 26 drv_rxbr.o(i.__NVIC_DisableIRQ) + i.__NVIC_EnableIRQ 0x00011364 Section 0 drv_rxbr.o(i.__NVIC_EnableIRQ) + __NVIC_EnableIRQ 0x00011365 Thumb Code 18 drv_rxbr.o(i.__NVIC_EnableIRQ) + i.__NVIC_SetPriority 0x0001137c Section 0 hal_spi_slave.o(i.__NVIC_SetPriority) + __NVIC_SetPriority 0x0001137d Thumb Code 60 hal_spi_slave.o(i.__NVIC_SetPriority) + i.__scatterload_copy 0x000113c0 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_zeroinit 0x000113ce Section 14 handlers.o(i.__scatterload_zeroinit) + i.__set_errno 0x000113dc Section 0 errno.o(i.__set_errno) + i._fp_digits 0x000113e8 Section 0 printfa.o(i._fp_digits) + _fp_digits 0x000113e9 Thumb Code 344 printfa.o(i._fp_digits) + i._printf_core 0x0001155c Section 0 printfa.o(i._printf_core) + _printf_core 0x0001155d Thumb Code 1754 printfa.o(i._printf_core) + i._printf_post_padding 0x00011c48 Section 0 printfa.o(i._printf_post_padding) + _printf_post_padding 0x00011c49 Thumb Code 32 printfa.o(i._printf_post_padding) + i._printf_pre_padding 0x00011c68 Section 0 printfa.o(i._printf_pre_padding) + _printf_pre_padding 0x00011c69 Thumb Code 44 printfa.o(i._printf_pre_padding) + i._sputc 0x00011c94 Section 0 printfa.o(i._sputc) + _sputc 0x00011c95 Thumb Code 10 printfa.o(i._sputc) + i.ap_dcs_read 0x00011ca0 Section 0 ap_demo.o(i.ap_dcs_read) + ap_dcs_read 0x00011ca1 Thumb Code 28 ap_demo.o(i.ap_dcs_read) + i.ap_demo 0x00011cd8 Section 0 ap_demo.o(i.ap_demo) + i.ap_set_backlight 0x00011dc4 Section 0 ap_demo.o(i.ap_set_backlight) + ap_set_backlight 0x00011dc5 Thumb Code 74 ap_demo.o(i.ap_set_backlight) + i.ap_set_display_off 0x00011e18 Section 0 ap_demo.o(i.ap_set_display_off) + ap_set_display_off 0x00011e19 Thumb Code 26 ap_demo.o(i.ap_set_display_off) + i.ap_set_display_on 0x00011e54 Section 0 ap_demo.o(i.ap_set_display_on) + ap_set_display_on 0x00011e55 Thumb Code 26 ap_demo.o(i.ap_set_display_on) + i.ap_set_enter_sleep_mode 0x00011e90 Section 0 ap_demo.o(i.ap_set_enter_sleep_mode) + ap_set_enter_sleep_mode 0x00011e91 Thumb Code 60 ap_demo.o(i.ap_set_enter_sleep_mode) + i.ap_set_exit_sleep_mode 0x00011ef4 Section 0 ap_demo.o(i.ap_set_exit_sleep_mode) + ap_set_exit_sleep_mode 0x00011ef5 Thumb Code 26 ap_demo.o(i.ap_set_exit_sleep_mode) + i.app_ADC_IRQn_Handler 0x00011f38 Section 0 drv_rxbr.o(i.app_ADC_IRQn_Handler) + i.app_AP_NRESET_IRQn_Handler 0x00011f54 Section 0 drv_gpio.o(i.app_AP_NRESET_IRQn_Handler) + i.app_EXTI_INT0_IRQn_Handler 0x00011f78 Section 0 drv_gpio.o(i.app_EXTI_INT0_IRQn_Handler) + i.app_EXTI_INT1_IRQn_Handler 0x00011f94 Section 0 drv_gpio.o(i.app_EXTI_INT1_IRQn_Handler) + i.app_EXTI_INT2_IRQn_Handler 0x00011fb0 Section 0 drv_gpio.o(i.app_EXTI_INT2_IRQn_Handler) + i.app_EXTI_INT3_IRQn_Handler 0x00011fcc Section 0 drv_gpio.o(i.app_EXTI_INT3_IRQn_Handler) + i.app_EXTI_INT4_IRQn_Handler 0x00011fe8 Section 0 drv_gpio.o(i.app_EXTI_INT4_IRQn_Handler) + i.app_EXTI_INT5_IRQn_Handler 0x00012004 Section 0 drv_gpio.o(i.app_EXTI_INT5_IRQn_Handler) + i.app_EXTI_INT6_IRQn_Handler 0x00012020 Section 0 drv_gpio.o(i.app_EXTI_INT6_IRQn_Handler) + i.app_EXTI_INT7_IRQn_Handler 0x0001203c Section 0 drv_gpio.o(i.app_EXTI_INT7_IRQn_Handler) + i.app_HardFault_Handler 0x00012058 Section 0 drv_common.o(i.app_HardFault_Handler) + i.app_I2C0_IRQn_Handler 0x000120a0 Section 0 drv_i2c_slave.o(i.app_I2C0_IRQn_Handler) + i.app_I2C1_IRQn_Handler 0x000120b8 Section 0 drv_i2c_master.o(i.app_I2C1_IRQn_Handler) + i.app_LCDC_IRQn_Handler 0x000120c8 Section 0 hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) + i.app_MEMC_IRQn_Handler 0x000121f8 Section 0 drv_memc.o(i.app_MEMC_IRQn_Handler) + i.app_MIPI_RX_IRQn_Handler 0x00012280 Section 0 drv_dsi_rx.o(i.app_MIPI_RX_IRQn_Handler) + i.app_MIPI_TX_IRQn_Handler 0x00012518 Section 0 drv_dsi_tx.o(i.app_MIPI_TX_IRQn_Handler) + i.app_PWMDET_IRQn_Handler 0x000125b8 Section 0 drv_pwm.o(i.app_PWMDET_IRQn_Handler) + i.app_SPIM_IRQn_Handler 0x00012600 Section 0 drv_spi_master.o(i.app_SPIM_IRQn_Handler) + i.app_SPIS_IRQn_Handler 0x00012630 Section 0 hal_spi_slave.o(i.app_SPIS_IRQn_Handler) + i.app_SWIRE_IRQn_Handler 0x00012830 Section 0 drv_swire.o(i.app_SWIRE_IRQn_Handler) + i.app_SysTick_Handler 0x00012850 Section 0 drv_common.o(i.app_SysTick_Handler) + i.app_TIMER0_IRQn_Handler 0x00012868 Section 0 drv_timer.o(i.app_TIMER0_IRQn_Handler) + i.app_TIMER1_IRQn_Handler 0x00012872 Section 0 drv_timer.o(i.app_TIMER1_IRQn_Handler) + i.app_TIMER2_IRQn_Handler 0x0001287c Section 0 drv_timer.o(i.app_TIMER2_IRQn_Handler) + i.app_TIMER3_IRQn_Handler 0x00012886 Section 0 drv_timer.o(i.app_TIMER3_IRQn_Handler) + i.app_UART_IRQn_Handler 0x00012890 Section 0 drv_uart.o(i.app_UART_IRQn_Handler) + i.app_VIDC_IRQn_Handler 0x00012898 Section 0 drv_vidc.o(i.app_VIDC_IRQn_Handler) + i.app_VPRE_IRQn_Handler 0x000128b4 Section 0 drv_rxbr.o(i.app_VPRE_IRQn_Handler) + i.app_WDG_IRQn_Handler 0x000128d0 Section 0 drv_wdg.o(i.app_WDG_IRQn_Handler) + i.app_dma_irq_handler 0x00012908 Section 0 drv_dma.o(i.app_dma_irq_handler) + i.app_fls_ctrl_Handler 0x00012918 Section 0 norflash.o(i.app_fls_ctrl_Handler) + i.app_tp_i2cs_callback 0x00012948 Section 0 app_tp_transfer.o(i.app_tp_i2cs_callback) + app_tp_i2cs_callback 0x00012949 Thumb Code 56 app_tp_transfer.o(i.app_tp_i2cs_callback) + i.app_tp_init 0x0001298c Section 0 app_tp_transfer.o(i.app_tp_init) + i.app_tp_m_read 0x000129f0 Section 0 app_tp_transfer.o(i.app_tp_m_read) + app_tp_m_read 0x000129f1 Thumb Code 48 app_tp_transfer.o(i.app_tp_m_read) + i.app_tp_m_transfer_complate 0x00012a20 Section 0 app_tp_transfer.o(i.app_tp_m_transfer_complate) + i.app_tp_phone_analysis_data_custom 0x00012a28 Section 0 app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) + i.app_tp_phone_clear_reset_on 0x00012e9c Section 0 app_tp_transfer.o(i.app_tp_phone_clear_reset_on) + i.app_tp_s_read 0x00012ea8 Section 0 app_tp_transfer.o(i.app_tp_s_read) + i.app_tp_s_write 0x00012eb8 Section 0 app_tp_transfer.o(i.app_tp_s_write) + i.app_tp_screen_analysis_int 0x00012ec8 Section 0 app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) + i.app_tp_screen_int_callback 0x00013178 Section 0 app_tp_transfer.o(i.app_tp_screen_int_callback) + app_tp_screen_int_callback 0x00013179 Thumb Code 8 app_tp_transfer.o(i.app_tp_screen_int_callback) + i.app_tp_screen_int_init 0x00013184 Section 0 app_tp_transfer.o(i.app_tp_screen_int_init) + app_tp_screen_int_init 0x00013185 Thumb Code 56 app_tp_transfer.o(i.app_tp_screen_int_init) + i.app_tp_screen_int_lvl_low 0x000131c4 Section 0 app_tp_transfer.o(i.app_tp_screen_int_lvl_low) + app_tp_screen_int_lvl_low 0x000131c5 Thumb Code 4 app_tp_transfer.o(i.app_tp_screen_int_lvl_low) + i.app_tp_transfer_phone 0x000131c8 Section 0 app_tp_transfer.o(i.app_tp_transfer_phone) + app_tp_transfer_phone 0x000131c9 Thumb Code 32 app_tp_transfer.o(i.app_tp_transfer_phone) + i.app_tp_transfer_screen_const 0x000131f4 Section 0 app_tp_transfer.o(i.app_tp_transfer_screen_const) + app_tp_transfer_screen_const 0x000131f5 Thumb Code 54 app_tp_transfer.o(i.app_tp_transfer_screen_const) + i.app_tp_transfer_screen_int 0x00013248 Section 0 app_tp_transfer.o(i.app_tp_transfer_screen_int) + i.app_tp_transfer_screen_start 0x0001331c Section 0 app_tp_transfer.o(i.app_tp_transfer_screen_start) + i.board_Init 0x00013340 Section 0 board.o(i.board_Init) + i.calc_framebuffer_setting 0x00013364 Section 0 hal_internal_vsync.o(i.calc_framebuffer_setting) + i.ceil 0x000137d8 Section 0 ceil.o(i.ceil) + i.check_mipi_rx_tx_video_info 0x000138a0 Section 0 hal_internal_vsync.o(i.check_mipi_rx_tx_video_info) + check_mipi_rx_tx_video_info 0x000138a1 Thumb Code 44 hal_internal_vsync.o(i.check_mipi_rx_tx_video_info) + i.check_pkt_buf_rev 0x000138cc Section 0 hal_internal_vsync.o(i.check_pkt_buf_rev) + check_pkt_buf_rev 0x000138cd Thumb Code 90 hal_internal_vsync.o(i.check_pkt_buf_rev) + i.dcs_packet_fifo_alloc 0x00013960 Section 0 dcs_packet_fifo.o(i.dcs_packet_fifo_alloc) + i.dcs_packet_fifo_init 0x000139b8 Section 0 dcs_packet_fifo.o(i.dcs_packet_fifo_init) + i.dcs_packet_free_fifo_header 0x000139d0 Section 0 dcs_packet_fifo.o(i.dcs_packet_free_fifo_header) + i.dcs_packet_get_fifo_header 0x00013a14 Section 0 dcs_packet_fifo.o(i.dcs_packet_get_fifo_header) + i.dcs_sw_filter 0x00013a38 Section 0 hal_internal_vsync.o(i.dcs_sw_filter) + dcs_sw_filter 0x00013a39 Thumb Code 24 hal_internal_vsync.o(i.dcs_sw_filter) + i.delayMs 0x00013a54 Section 0 tau_delay.o(i.delayMs) + i.delayUs 0x00013a6c Section 0 tau_delay.o(i.delayUs) + i.drv_ap_rst_trig_edge_detect 0x00013a90 Section 0 drv_sys_cfg.o(i.drv_ap_rst_trig_edge_detect) + i.drv_chip_info_get_info 0x00013ac8 Section 0 drv_chip_info.o(i.drv_chip_info_get_info) + i.drv_chip_info_init 0x00013ad4 Section 0 drv_chip_info.o(i.drv_chip_info_init) + i.drv_chip_rx_info_check 0x00013b14 Section 0 drv_chip_info.o(i.drv_chip_rx_info_check) + i.drv_chip_rx_init_done 0x00013bdc Section 0 drv_chip_info.o(i.drv_chip_rx_init_done) + i.drv_common_enable_systick 0x00013bf0 Section 0 drv_common.o(i.drv_common_enable_systick) + i.drv_common_system_init 0x00013c48 Section 0 drv_common.o(i.drv_common_system_init) + i.drv_crgu_config_reset_modules 0x00013c50 Section 0 drv_crgu.o(i.drv_crgu_config_reset_modules) + i.drv_crgu_set_ahb_pre_div 0x00013c60 Section 0 drv_crgu.o(i.drv_crgu_set_ahb_pre_div) + i.drv_crgu_set_ahb_src 0x00013c74 Section 0 drv_crgu.o(i.drv_crgu_set_ahb_src) + i.drv_crgu_set_clock 0x00013c88 Section 0 drv_crgu.o(i.drv_crgu_set_clock) + i.drv_crgu_set_dpi_mux_src 0x00013ca8 Section 0 drv_crgu.o(i.drv_crgu_set_dpi_mux_src) + i.drv_crgu_set_dpi_pre_div 0x00013cbc Section 0 drv_crgu.o(i.drv_crgu_set_dpi_pre_div) + i.drv_crgu_set_dpi_pre_src 0x00013cd4 Section 0 drv_crgu.o(i.drv_crgu_set_dpi_pre_src) + i.drv_crgu_set_dsc_core_div 0x00013ce8 Section 0 drv_crgu.o(i.drv_crgu_set_dsc_core_div) + i.drv_crgu_set_dsco_src 0x00013cfc Section 0 drv_crgu.o(i.drv_crgu_set_dsco_src) + i.drv_crgu_set_dsco_src_div 0x00013d10 Section 0 drv_crgu.o(i.drv_crgu_set_dsco_src_div) + i.drv_crgu_set_fb_div 0x00013d24 Section 0 drv_crgu.o(i.drv_crgu_set_fb_div) + i.drv_crgu_set_fb_src 0x00013d38 Section 0 drv_crgu.o(i.drv_crgu_set_fb_src) + i.drv_crgu_set_lcdc_div 0x00013d4c Section 0 drv_crgu.o(i.drv_crgu_set_lcdc_div) + i.drv_crgu_set_lcdc_src 0x00013d60 Section 0 drv_crgu.o(i.drv_crgu_set_lcdc_src) + i.drv_crgu_set_mipi_cfg_src 0x00013d74 Section 0 drv_crgu.o(i.drv_crgu_set_mipi_cfg_src) + i.drv_crgu_set_mipi_ref_src 0x00013d88 Section 0 drv_crgu.o(i.drv_crgu_set_mipi_ref_src) + i.drv_crgu_set_reset 0x00013da0 Section 0 drv_crgu.o(i.drv_crgu_set_reset) + i.drv_crgu_set_rxbr_div 0x00013db8 Section 0 drv_crgu.o(i.drv_crgu_set_rxbr_div) + i.drv_crgu_set_rxbr_src 0x00013dcc Section 0 drv_crgu.o(i.drv_crgu_set_rxbr_src) + i.drv_crgu_set_vidc_src 0x00013de0 Section 0 drv_crgu.o(i.drv_crgu_set_vidc_src) + i.drv_dma_clear_flag 0x00013df4 Section 0 drv_dma.o(i.drv_dma_clear_flag) + i.drv_dma_create_handle 0x00013e0c Section 0 drv_dma.o(i.drv_dma_create_handle) + i.drv_dma_disenable_channel 0x00013e28 Section 0 drv_dma.o(i.drv_dma_disenable_channel) + i.drv_dma_enable_channel 0x00013e38 Section 0 drv_dma.o(i.drv_dma_enable_channel) + i.drv_dma_enable_channel_interrupts 0x00013e48 Section 0 drv_dma.o(i.drv_dma_enable_channel_interrupts) + i.drv_dma_get_channel_flag 0x00013e6c Section 0 drv_dma.o(i.drv_dma_get_channel_flag) + i.drv_dma_irq_handler 0x00013e78 Section 0 drv_dma.o(i.drv_dma_irq_handler) + i.drv_dma_prepar_transfer 0x00013f08 Section 0 drv_dma.o(i.drv_dma_prepar_transfer) + i.drv_dma_set_burst 0x00013f1a Section 0 drv_dma.o(i.drv_dma_set_burst) + i.drv_dma_set_callback 0x00013f34 Section 0 drv_dma.o(i.drv_dma_set_callback) + i.drv_dma_set_transfer 0x00013f3c Section 0 drv_dma.o(i.drv_dma_set_transfer) + i.drv_dsc_dec_convert_pps_rc_parameter 0x00013f80 Section 0 drv_dsc_dec.o(i.drv_dsc_dec_convert_pps_rc_parameter) + i.drv_dsc_dec_disable 0x00013fb6 Section 0 drv_dsc_dec.o(i.drv_dsc_dec_disable) + i.drv_dsc_dec_enable 0x00013fc4 Section 0 drv_dsc_dec.o(i.drv_dsc_dec_enable) + i.drv_dsc_dec_get_nslc 0x00014038 Section 0 drv_dsc_dec.o(i.drv_dsc_dec_get_nslc) + i.drv_dsc_dec_set_u8_pps 0x00014042 Section 0 drv_dsc_dec.o(i.drv_dsc_dec_set_u8_pps) + i.drv_dsi_rx_calc_ipi_tx_delay 0x0001406c Section 0 drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) + i.drv_dsi_rx_enable_irq 0x00014170 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_enable_irq) + i.drv_dsi_rx_get_color_bpp 0x000141b0 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_get_color_bpp) + drv_dsi_rx_get_color_bpp 0x000141b1 Thumb Code 62 drv_dsi_rx.o(i.drv_dsi_rx_get_color_bpp) + i.drv_dsi_rx_get_color_pcc 0x00014200 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_get_color_pcc) + drv_dsi_rx_get_color_pcc 0x00014201 Thumb Code 24 drv_dsi_rx.o(i.drv_dsi_rx_get_color_pcc) + i.drv_dsi_rx_get_compression_en 0x0001421c Section 0 drv_dsi_rx.o(i.drv_dsi_rx_get_compression_en) + i.drv_dsi_rx_power_up 0x00014224 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_power_up) + i.drv_dsi_rx_set_ctrl_cfg 0x00014232 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_set_ctrl_cfg) + i.drv_dsi_rx_set_ddi_cfg 0x00014252 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_set_ddi_cfg) + i.drv_dsi_rx_set_inten 0x00014262 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_set_inten) + i.drv_dsi_rx_set_ipi_cfg 0x00014266 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_set_ipi_cfg) + i.drv_dsi_rx_set_lane_swap 0x00014276 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_set_lane_swap) + i.drv_dsi_rx_set_resp_cnt 0x000142bc Section 0 drv_dsi_rx.o(i.drv_dsi_rx_set_resp_cnt) + i.drv_dsi_rx_set_up_phy 0x000142e4 Section 0 drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) + i.drv_dsi_tx_command_header 0x000143e8 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_command_header) + i.drv_dsi_tx_command_mode_cfg 0x000143fc Section 0 drv_dsi_tx.o(i.drv_dsi_tx_command_mode_cfg) + i.drv_dsi_tx_command_put_payload 0x00014468 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_command_put_payload) + i.drv_dsi_tx_config_eotp 0x0001446c Section 0 drv_dsi_tx.o(i.drv_dsi_tx_config_eotp) + i.drv_dsi_tx_config_int 0x00014484 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_config_int) + i.drv_dsi_tx_dpi_lpcmd_time 0x0001448c Section 0 drv_dsi_tx.o(i.drv_dsi_tx_dpi_lpcmd_time) + i.drv_dsi_tx_dpi_mode 0x00014494 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_dpi_mode) + i.drv_dsi_tx_dpi_polarity 0x0001449e Section 0 drv_dsi_tx.o(i.drv_dsi_tx_dpi_polarity) + i.drv_dsi_tx_edpi_cmd_size 0x000144c2 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_edpi_cmd_size) + i.drv_dsi_tx_get_cmd_status 0x000144c6 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_get_cmd_status) + i.drv_dsi_tx_mode 0x000144ca Section 0 drv_dsi_tx.o(i.drv_dsi_tx_mode) + i.drv_dsi_tx_phy_clock_lane_auto_lp 0x000144ce Section 0 drv_dsi_tx.o(i.drv_dsi_tx_phy_clock_lane_auto_lp) + i.drv_dsi_tx_phy_clock_lane_req_hs 0x000144e6 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_phy_clock_lane_req_hs) + i.drv_dsi_tx_phy_lane_mode 0x00014500 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_phy_lane_mode) + i.drv_dsi_tx_phy_status_ready 0x0001450c Section 0 drv_dsi_tx.o(i.drv_dsi_tx_phy_status_ready) + i.drv_dsi_tx_phy_status_stopstate 0x00014570 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_phy_status_stopstate) + i.drv_dsi_tx_phy_test_setup 0x000145ae Section 0 drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) + i.drv_dsi_tx_phy_time_cfg 0x000146e2 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_phy_time_cfg) + i.drv_dsi_tx_powerup 0x00014700 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_powerup) + i.drv_dsi_tx_response_mode 0x00014708 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_response_mode) + i.drv_dsi_tx_set_bta_ack 0x00014724 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_set_bta_ack) + i.drv_dsi_tx_set_esc_div 0x0001473c Section 0 drv_dsi_tx.o(i.drv_dsi_tx_set_esc_div) + i.drv_dsi_tx_set_int 0x00014748 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_set_int) + i.drv_dsi_tx_set_time_out_div 0x00014788 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_set_time_out_div) + i.drv_dsi_tx_set_video_chunk 0x00014798 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_set_video_chunk) + i.drv_dsi_tx_set_video_timing 0x000147a0 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_set_video_timing) + i.drv_dsi_tx_shutdown 0x000147c2 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_shutdown) + i.drv_dsi_tx_timeout_cfg 0x000147ca Section 0 drv_dsi_tx.o(i.drv_dsi_tx_timeout_cfg) + i.drv_dsi_tx_video_mode_cfg 0x000147f0 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_video_mode_cfg) + i.drv_dsi_tx_video_mode_disable_hact_cmd 0x0001489a Section 0 drv_dsi_tx.o(i.drv_dsi_tx_video_mode_disable_hact_cmd) + i.drv_dsi_tx_video_mode_set_lp_cmd 0x000148b0 Section 0 drv_dsi_tx.o(i.drv_dsi_tx_video_mode_set_lp_cmd) + i.drv_efuse_enter_inactive 0x000148c8 Section 0 drv_efuse.o(i.drv_efuse_enter_inactive) + i.drv_efuse_int_enable 0x000148e8 Section 0 drv_efuse.o(i.drv_efuse_int_enable) + i.drv_efuse_read 0x000148f4 Section 0 drv_efuse.o(i.drv_efuse_read) + i.drv_efuse_read_req 0x00014926 Section 0 drv_efuse.o(i.drv_efuse_read_req) + i.drv_fls_gpio_connect 0x00014940 Section 0 drv_fls.o(i.drv_fls_gpio_connect) + i.drv_fls_gpio_disconnect 0x0001495c Section 0 drv_fls.o(i.drv_fls_gpio_disconnect) + i.drv_gpio_get_input_data 0x0001497c Section 0 drv_gpio.o(i.drv_gpio_get_input_data) + i.drv_gpio_register_callback 0x00014994 Section 0 drv_gpio.o(i.drv_gpio_register_callback) + i.drv_gpio_set_int 0x000149a8 Section 0 drv_gpio.o(i.drv_gpio_set_int) + i.drv_gpio_set_ioe 0x000149f8 Section 0 drv_gpio.o(i.drv_gpio_set_ioe) + i.drv_gpio_set_mode0 0x00014a18 Section 0 drv_gpio.o(i.drv_gpio_set_mode0) + i.drv_gpio_set_mode1 0x00014a28 Section 0 drv_gpio.o(i.drv_gpio_set_mode1) + i.drv_gpio_set_mode2 0x00014a38 Section 0 drv_gpio.o(i.drv_gpio_set_mode2) + i.drv_gpio_set_mode3 0x00014a48 Section 0 drv_gpio.o(i.drv_gpio_set_mode3) + i.drv_gpio_set_output_data 0x00014a58 Section 0 hal_gpio.o(i.drv_gpio_set_output_data) + drv_gpio_set_output_data 0x00014a59 Thumb Code 26 hal_gpio.o(i.drv_gpio_set_output_data) + i.drv_gpio_set_pull_state 0x00014a78 Section 0 drv_gpio.o(i.drv_gpio_set_pull_state) + i.drv_i2c0_set_callback 0x00014ba8 Section 0 drv_i2c_slave.o(i.drv_i2c0_set_callback) + i.drv_i2c1_set_callback 0x00014bb4 Section 0 drv_i2c_master.o(i.drv_i2c1_set_callback) + i.drv_i2c_dma_callback 0x00014bc0 Section 0 drv_i2c_dma.o(i.drv_i2c_dma_callback) + drv_i2c_dma_callback 0x00014bc1 Thumb Code 40 drv_i2c_dma.o(i.drv_i2c_dma_callback) + i.drv_i2c_dma_init 0x00014bf4 Section 0 drv_i2c_dma.o(i.drv_i2c_dma_init) + i.drv_i2c_enable_rx_dma 0x00014ca0 Section 0 drv_i2c_dma.o(i.drv_i2c_enable_rx_dma) + i.drv_i2c_enable_tx_dma 0x00014cba Section 0 drv_i2c_dma.o(i.drv_i2c_enable_tx_dma) + i.drv_i2c_m_clear_it_pending_bit 0x00014cd4 Section 0 drv_i2c_master.o(i.drv_i2c_m_clear_it_pending_bit) + i.drv_i2c_m_enable 0x00014d34 Section 0 drv_i2c_master.o(i.drv_i2c_m_enable) + i.drv_i2c_m_enable_intr 0x00014d44 Section 0 drv_i2c_master.o(i.drv_i2c_m_enable_intr) + i.drv_i2c_master_init 0x00014d7c Section 0 drv_i2c_master.o(i.drv_i2c_master_init) + i.drv_i2c_master_read_dma 0x00014e08 Section 0 drv_i2c_dma.o(i.drv_i2c_master_read_dma) + i.drv_i2c_master_write_read_cmd 0x00014e64 Section 0 drv_i2c_dma.o(i.drv_i2c_master_write_read_cmd) + drv_i2c_master_write_read_cmd 0x00014e65 Thumb Code 46 drv_i2c_dma.o(i.drv_i2c_master_write_read_cmd) + i.drv_i2c_s_clear_it_pending_bit 0x00014e92 Section 0 drv_i2c_slave.o(i.drv_i2c_s_clear_it_pending_bit) + i.drv_i2c_s_config_intr 0x00014ed4 Section 0 drv_i2c_slave.o(i.drv_i2c_s_config_intr) + i.drv_i2c_s_enable 0x00014ed8 Section 0 drv_i2c_slave.o(i.drv_i2c_s_enable) + i.drv_i2c_s_get_fifo_status 0x00014ee0 Section 0 drv_i2c_slave.o(i.drv_i2c_s_get_fifo_status) + i.drv_i2c_s_set_intr 0x00014ef4 Section 0 drv_i2c_slave.o(i.drv_i2c_s_set_intr) + i.drv_i2c_s_write_data 0x00014f44 Section 0 drv_i2c_slave.o(i.drv_i2c_s_write_data) + i.drv_i2c_set_dma_irq_callback 0x00014f60 Section 0 drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) + i.drv_i2c_slave_init 0x00014fb8 Section 0 drv_i2c_slave.o(i.drv_i2c_slave_init) + i.drv_i2c_slave_write_dma 0x00014fec Section 0 drv_i2c_dma.o(i.drv_i2c_slave_write_dma) + i.drv_lcdc_config_bypass 0x00015004 Section 0 drv_lcdc.o(i.drv_lcdc_config_bypass) + i.drv_lcdc_config_ccm 0x0001501c Section 0 drv_lcdc.o(i.drv_lcdc_config_ccm) + i.drv_lcdc_config_disp_mode 0x0001504c Section 0 drv_lcdc.o(i.drv_lcdc_config_disp_mode) + i.drv_lcdc_config_dpi_polarity 0x00015062 Section 0 drv_lcdc.o(i.drv_lcdc_config_dpi_polarity) + i.drv_lcdc_config_dpi_timing 0x00015086 Section 0 drv_lcdc.o(i.drv_lcdc_config_dpi_timing) + i.drv_lcdc_config_edpi_mode 0x000150ac Section 0 drv_lcdc.o(i.drv_lcdc_config_edpi_mode) + i.drv_lcdc_config_endianness 0x000150c2 Section 0 drv_lcdc.o(i.drv_lcdc_config_endianness) + i.drv_lcdc_config_input_size 0x000150d8 Section 0 drv_lcdc.o(i.drv_lcdc_config_input_size) + i.drv_lcdc_config_int 0x000150e4 Section 0 drv_lcdc.o(i.drv_lcdc_config_int) + i.drv_lcdc_config_int_single 0x00015102 Section 0 drv_lcdc.o(i.drv_lcdc_config_int_single) + i.drv_lcdc_config_overwrite 0x00015124 Section 0 drv_lcdc.o(i.drv_lcdc_config_overwrite) + i.drv_lcdc_config_overwrite_rgb 0x00015146 Section 0 drv_lcdc.o(i.drv_lcdc_config_overwrite_rgb) + i.drv_lcdc_config_partial_display_area 0x00015152 Section 0 drv_lcdc.o(i.drv_lcdc_config_partial_display_area) + i.drv_lcdc_config_partial_display_enable 0x0001516c Section 0 drv_lcdc.o(i.drv_lcdc_config_partial_display_enable) + i.drv_lcdc_config_scale_up_coef 0x0001518e Section 0 drv_lcdc.o(i.drv_lcdc_config_scale_up_coef) + i.drv_lcdc_config_scale_up_step 0x000151a8 Section 0 drv_lcdc.o(i.drv_lcdc_config_scale_up_step) + i.drv_lcdc_config_src_parameter 0x000151b4 Section 0 drv_lcdc.o(i.drv_lcdc_config_src_parameter) + i.drv_lcdc_config_thresh 0x00015200 Section 0 drv_lcdc.o(i.drv_lcdc_config_thresh) + i.drv_lcdc_ctrl_flow 0x00015206 Section 0 drv_lcdc.o(i.drv_lcdc_ctrl_flow) + i.drv_lcdc_enable_shadow_reg 0x00015218 Section 0 drv_lcdc.o(i.drv_lcdc_enable_shadow_reg) + i.drv_lcdc_set_int 0x00015238 Section 0 drv_lcdc.o(i.drv_lcdc_set_int) + i.drv_lcdc_set_prefetch 0x00015278 Section 0 drv_lcdc.o(i.drv_lcdc_set_prefetch) + i.drv_lcdc_set_video_hw_mode 0x00015290 Section 0 drv_lcdc.o(i.drv_lcdc_set_video_hw_mode) + i.drv_lcdc_start 0x000152a4 Section 0 drv_lcdc.o(i.drv_lcdc_start) + i.drv_memc_clear_status 0x000152c4 Section 0 drv_memc.o(i.drv_memc_clear_status) + i.drv_memc_enable_irq 0x000152d0 Section 0 drv_memc.o(i.drv_memc_enable_irq) + i.drv_memc_gen_a_tear_signal 0x00015310 Section 0 drv_memc.o(i.drv_memc_gen_a_tear_signal) + i.drv_memc_get_status 0x0001531c Section 0 drv_memc.o(i.drv_memc_get_status) + i.drv_memc_rate_transfer_sel 0x0001532e Section 0 drv_memc.o(i.drv_memc_rate_transfer_sel) + i.drv_memc_sel_vsync 0x0001533e Section 0 drv_memc.o(i.drv_memc_sel_vsync) + i.drv_memc_set_active_height 0x0001534c Section 0 drv_memc.o(i.drv_memc_set_active_height) + i.drv_memc_set_data_mode 0x00015360 Section 0 drv_memc.o(i.drv_memc_set_data_mode) + i.drv_memc_set_double_buffer 0x0001536c Section 0 drv_memc.o(i.drv_memc_set_double_buffer) + i.drv_memc_set_double_buffer_reverse 0x0001537c Section 0 drv_memc.o(i.drv_memc_set_double_buffer_reverse) + i.drv_memc_set_fs_en_conditions 0x0001538e Section 0 drv_memc.o(i.drv_memc_set_fs_en_conditions) + i.drv_memc_set_inten 0x0001539e Section 0 drv_memc.o(i.drv_memc_set_inten) + i.drv_memc_set_lcdc_st_conditions 0x000153b4 Section 0 drv_memc.o(i.drv_memc_set_lcdc_st_conditions) + i.drv_memc_set_ltpo_mode 0x000153cc Section 0 drv_memc.o(i.drv_memc_set_ltpo_mode) + i.drv_memc_set_tear_mode 0x000153e6 Section 0 drv_memc.o(i.drv_memc_set_tear_mode) + i.drv_memc_set_tear_waveform 0x000153f4 Section 0 drv_memc.o(i.drv_memc_set_tear_waveform) + i.drv_memc_set_vidc_sync_cnt 0x0001541c Section 0 drv_memc.o(i.drv_memc_set_vidc_sync_cnt) + i.drv_param_init_get_ccm 0x0001542c Section 0 drv_param_init.o(i.drv_param_init_get_ccm) + i.drv_param_init_get_scld_filter_h 0x00015434 Section 0 drv_param_init.o(i.drv_param_init_get_scld_filter_h) + i.drv_param_init_get_scld_filter_v 0x00015448 Section 0 drv_param_init.o(i.drv_param_init_get_scld_filter_v) + i.drv_param_init_get_sclu_filter 0x0001545c Section 0 drv_param_init.o(i.drv_param_init_get_sclu_filter) + i.drv_param_init_set_scld_filter 0x00015464 Section 0 drv_param_init.o(i.drv_param_init_set_scld_filter) + i.drv_param_p2r_filter_init 0x000154c8 Section 0 drv_param_init.o(i.drv_param_p2r_filter_init) + i.drv_phy_enable_calibration 0x000154ec Section 0 drv_phy_common.o(i.drv_phy_enable_calibration) + i.drv_phy_get_calibration 0x000154fc Section 0 drv_phy_common.o(i.drv_phy_get_calibration) + i.drv_phy_get_pll_para 0x00015538 Section 0 drv_phy_common.o(i.drv_phy_get_pll_para) + i.drv_phy_get_rate_para 0x00015598 Section 0 drv_phy_common.o(i.drv_phy_get_rate_para) + i.drv_phy_test_clear 0x000155ec Section 0 drv_phy_common.o(i.drv_phy_test_clear) + i.drv_phy_test_lock 0x000155fc Section 0 drv_phy_common.o(i.drv_phy_test_lock) + i.drv_phy_test_write_1_byte 0x00015614 Section 0 drv_phy_common.o(i.drv_phy_test_write_1_byte) + i.drv_phy_test_write_2_byte 0x00015634 Section 0 drv_phy_common.o(i.drv_phy_test_write_2_byte) + i.drv_phy_test_write_code 0x0001565a Section 0 drv_phy_common.o(i.drv_phy_test_write_code) + i.drv_phy_test_write_data 0x00015678 Section 0 drv_phy_common.o(i.drv_phy_test_write_data) + drv_phy_test_write_data 0x00015679 Thumb Code 32 drv_phy_common.o(i.drv_phy_test_write_data) + i.drv_pwm_out_enable 0x00015698 Section 0 drv_pwm.o(i.drv_pwm_out_enable) + i.drv_pwm_out_get_sync_flag 0x000156b8 Section 0 drv_pwm.o(i.drv_pwm_out_get_sync_flag) + i.drv_pwm_out_set_control 0x000156c8 Section 0 drv_pwm.o(i.drv_pwm_out_set_control) + i.drv_pwm_out_set_period 0x000156d4 Section 0 drv_pwm.o(i.drv_pwm_out_set_period) + i.drv_pwm_out_set_sync_mode 0x000156e0 Section 0 drv_pwm.o(i.drv_pwm_out_set_sync_mode) + i.drv_pwm_out_set_threshold 0x00015700 Section 0 drv_pwm.o(i.drv_pwm_out_set_threshold) + i.drv_pwr_set_pvd_mode 0x0001570c Section 0 drv_pwr.o(i.drv_pwr_set_pvd_mode) + i.drv_pwr_set_system_clk_src 0x00015724 Section 0 drv_pwr.o(i.drv_pwr_set_system_clk_src) + i.drv_rx_phy_test_clear 0x0001575c Section 0 drv_dsi_rx.o(i.drv_rx_phy_test_clear) + drv_rx_phy_test_clear 0x0001575d Thumb Code 12 drv_dsi_rx.o(i.drv_rx_phy_test_clear) + i.drv_rx_phy_test_lock 0x00015768 Section 0 drv_dsi_rx.o(i.drv_rx_phy_test_lock) + drv_rx_phy_test_lock 0x00015769 Thumb Code 16 drv_dsi_rx.o(i.drv_rx_phy_test_lock) + i.drv_rx_phy_test_write_1_byte 0x00015778 Section 0 drv_dsi_rx.o(i.drv_rx_phy_test_write_1_byte) + drv_rx_phy_test_write_1_byte 0x00015779 Thumb Code 20 drv_dsi_rx.o(i.drv_rx_phy_test_write_1_byte) + i.drv_rx_phy_test_write_2_byte 0x0001578c Section 0 drv_dsi_rx.o(i.drv_rx_phy_test_write_2_byte) + drv_rx_phy_test_write_2_byte 0x0001578d Thumb Code 22 drv_dsi_rx.o(i.drv_rx_phy_test_write_2_byte) + i.drv_rxbr_clear_pkt_buffer 0x000157a2 Section 0 drv_rxbr.o(i.drv_rxbr_clear_pkt_buffer) + i.drv_rxbr_clear_status0 0x000157ac Section 0 drv_rxbr.o(i.drv_rxbr_clear_status0) + i.drv_rxbr_enable_irq 0x000157b0 Section 0 drv_rxbr.o(i.drv_rxbr_enable_irq) + i.drv_rxbr_frame_drop_cfg 0x0001580c Section 0 drv_rxbr.o(i.drv_rxbr_frame_drop_cfg) + i.drv_rxbr_get_clk 0x00015820 Section 0 drv_rxbr.o(i.drv_rxbr_get_clk) + i.drv_rxbr_get_col_addr 0x00015884 Section 0 drv_rxbr.o(i.drv_rxbr_get_col_addr) + i.drv_rxbr_get_int_source 0x00015888 Section 0 hal_internal_vsync.o(i.drv_rxbr_get_int_source) + drv_rxbr_get_int_source 0x00015889 Thumb Code 18 hal_internal_vsync.o(i.drv_rxbr_get_int_source) + i.drv_rxbr_get_page_addr 0x0001589a Section 0 drv_rxbr.o(i.drv_rxbr_get_page_addr) + i.drv_rxbr_get_status0 0x0001589e Section 0 hal_internal_vsync.o(i.drv_rxbr_get_status0) + drv_rxbr_get_status0 0x0001589f Thumb Code 18 hal_internal_vsync.o(i.drv_rxbr_get_status0) + i.drv_rxbr_hline_rcv0_cfg 0x000158b0 Section 0 drv_rxbr.o(i.drv_rxbr_hline_rcv0_cfg) + i.drv_rxbr_hline_rcv_cfg 0x000158bc Section 0 drv_rxbr.o(i.drv_rxbr_hline_rcv_cfg) + i.drv_rxbr_register_irq0_callback 0x000158c4 Section 0 drv_rxbr.o(i.drv_rxbr_register_irq0_callback) + i.drv_rxbr_register_irq1_callback 0x000158d0 Section 0 drv_rxbr.o(i.drv_rxbr_register_irq1_callback) + i.drv_rxbr_set_cmd_filter 0x000158dc Section 0 drv_rxbr.o(i.drv_rxbr_set_cmd_filter) + i.drv_rxbr_set_color_format 0x000159a8 Section 0 drv_rxbr.o(i.drv_rxbr_set_color_format) + i.drv_rxbr_set_inten 0x000159bc Section 0 drv_rxbr.o(i.drv_rxbr_set_inten) + i.drv_rxbr_set_ltpo_drop_th 0x000159d0 Section 0 drv_rxbr.o(i.drv_rxbr_set_ltpo_drop_th) + i.drv_rxbr_set_usr_cfg 0x000159e0 Section 0 drv_rxbr.o(i.drv_rxbr_set_usr_cfg) + i.drv_rxbr_set_usr_col 0x00015a06 Section 0 drv_rxbr.o(i.drv_rxbr_set_usr_col) + i.drv_rxbr_set_usr_row 0x00015a0e Section 0 drv_rxbr.o(i.drv_rxbr_set_usr_row) + i.drv_spi_m_read_data 0x00015a18 Section 0 drv_spi_master.o(i.drv_spi_m_read_data) + i.drv_swire_set_int 0x00015a38 Section 0 drv_swire.o(i.drv_swire_set_int) + i.drv_sys_cfg_clear_all_int 0x00015a8c Section 0 drv_sys_cfg.o(i.drv_sys_cfg_clear_all_int) + i.drv_sys_cfg_clear_pending 0x00015a98 Section 0 drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) + i.drv_sys_cfg_sel_ap_rst_lvl_trig 0x00015ac0 Section 0 drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_lvl_trig) + i.drv_sys_cfg_sel_gpio_group 0x00015ad8 Section 0 drv_sys_cfg.o(i.drv_sys_cfg_sel_gpio_group) + i.drv_sys_cfg_sel_int_trig 0x00015afc Section 0 drv_sys_cfg.o(i.drv_sys_cfg_sel_int_trig) + i.drv_sys_cfg_set_dma_rx_req 0x00015b20 Section 0 drv_sys_cfg.o(i.drv_sys_cfg_set_dma_rx_req) + i.drv_sys_cfg_set_dma_tx_req 0x00015b30 Section 0 drv_sys_cfg.o(i.drv_sys_cfg_set_dma_tx_req) + i.drv_sys_cfg_set_int 0x00015b40 Section 0 drv_sys_cfg.o(i.drv_sys_cfg_set_int) + i.drv_timer_clear_status_flags 0x00015b64 Section 0 drv_timer.o(i.drv_timer_clear_status_flags) + drv_timer_clear_status_flags 0x00015b65 Thumb Code 26 drv_timer.o(i.drv_timer_clear_status_flags) + i.drv_timer_enable 0x00015b7e Section 0 drv_timer.o(i.drv_timer_enable) + i.drv_timer_get_instance 0x00015ba0 Section 0 drv_timer.o(i.drv_timer_get_instance) + i.drv_timer_get_prescaler 0x00015bb0 Section 0 drv_timer.o(i.drv_timer_get_prescaler) + i.drv_timer_handle_interrupt 0x00015bc0 Section 0 drv_timer.o(i.drv_timer_handle_interrupt) + drv_timer_handle_interrupt 0x00015bc1 Thumb Code 62 drv_timer.o(i.drv_timer_handle_interrupt) + i.drv_timer_register_callback 0x00015c04 Section 0 drv_timer.o(i.drv_timer_register_callback) + i.drv_timer_set_compare_val 0x00015c18 Section 0 drv_timer.o(i.drv_timer_set_compare_val) + i.drv_timer_set_int 0x00015c28 Section 0 drv_timer.o(i.drv_timer_set_int) + i.drv_timer_set_prescaler 0x00015c7c Section 0 drv_timer.o(i.drv_timer_set_prescaler) + i.drv_tx_phy_test_clear 0x00015ca4 Section 0 drv_dsi_tx.o(i.drv_tx_phy_test_clear) + drv_tx_phy_test_clear 0x00015ca5 Thumb Code 10 drv_dsi_tx.o(i.drv_tx_phy_test_clear) + i.drv_tx_phy_test_enter 0x00015cae Section 0 drv_dsi_tx.o(i.drv_tx_phy_test_enter) + i.drv_tx_phy_test_exit 0x00015cca Section 0 drv_dsi_tx.o(i.drv_tx_phy_test_exit) + i.drv_tx_phy_test_write_1_byte 0x00015ce6 Section 0 drv_dsi_tx.o(i.drv_tx_phy_test_write_1_byte) + drv_tx_phy_test_write_1_byte 0x00015ce7 Thumb Code 18 drv_dsi_tx.o(i.drv_tx_phy_test_write_1_byte) + i.drv_tx_phy_test_write_2_byte 0x00015cf8 Section 0 drv_dsi_tx.o(i.drv_tx_phy_test_write_2_byte) + drv_tx_phy_test_write_2_byte 0x00015cf9 Thumb Code 20 drv_dsi_tx.o(i.drv_tx_phy_test_write_2_byte) + i.drv_tx_phy_test_write_code 0x00015d0c Section 0 drv_dsi_tx.o(i.drv_tx_phy_test_write_code) + drv_tx_phy_test_write_code 0x00015d0d Thumb Code 16 drv_dsi_tx.o(i.drv_tx_phy_test_write_code) + i.drv_vidc_clear_irq 0x00015d1c Section 0 drv_vidc.o(i.drv_vidc_clear_irq) + i.drv_vidc_enable 0x00015d24 Section 0 drv_vidc.o(i.drv_vidc_enable) + i.drv_vidc_enable_irq 0x00015d3c Section 0 drv_vidc.o(i.drv_vidc_enable_irq) + i.drv_vidc_get_irq_status 0x00015d7c Section 0 drv_vidc.o(i.drv_vidc_get_irq_status) + i.drv_vidc_init_module_enable 0x00015d90 Section 0 drv_vidc.o(i.drv_vidc_init_module_enable) + i.drv_vidc_register_callback 0x00015db8 Section 0 drv_vidc.o(i.drv_vidc_register_callback) + i.drv_vidc_reset 0x00015dc4 Section 0 drv_vidc.o(i.drv_vidc_reset) + i.drv_vidc_set_dst_parameter 0x00015dca Section 0 drv_vidc.o(i.drv_vidc_set_dst_parameter) + i.drv_vidc_set_irqen 0x00015e06 Section 0 drv_vidc.o(i.drv_vidc_set_irqen) + i.drv_vidc_set_mirror 0x00015e1a Section 0 drv_vidc.o(i.drv_vidc_set_mirror) + i.drv_vidc_set_p2r_hcoef0 0x00015e2a Section 0 drv_vidc.o(i.drv_vidc_set_p2r_hcoef0) + i.drv_vidc_set_p2r_hinitb 0x00015e32 Section 0 drv_vidc.o(i.drv_vidc_set_p2r_hinitb) + i.drv_vidc_set_p2r_hinitr 0x00015e58 Section 0 drv_vidc.o(i.drv_vidc_set_p2r_hinitr) + i.drv_vidc_set_pentile_swap 0x00015e80 Section 0 drv_vidc.o(i.drv_vidc_set_pentile_swap) + i.drv_vidc_set_pu_ctrl 0x00015e98 Section 0 drv_vidc.o(i.drv_vidc_set_pu_ctrl) + i.drv_vidc_set_rotation 0x00015ea2 Section 0 drv_vidc.o(i.drv_vidc_set_rotation) + i.drv_vidc_set_scld_hcoef0 0x00015eb2 Section 0 drv_vidc.o(i.drv_vidc_set_scld_hcoef0) + i.drv_vidc_set_scld_hcoef1 0x00015ebc Section 0 drv_vidc.o(i.drv_vidc_set_scld_hcoef1) + i.drv_vidc_set_scld_step 0x00015ec6 Section 0 drv_vidc.o(i.drv_vidc_set_scld_step) + i.drv_vidc_set_scld_vcoef0 0x00015ed8 Section 0 drv_vidc.o(i.drv_vidc_set_scld_vcoef0) + i.drv_vidc_set_scld_vcoef1 0x00015ee2 Section 0 drv_vidc.o(i.drv_vidc_set_scld_vcoef1) + i.drv_vidc_set_src_parameter 0x00015eec Section 0 drv_vidc.o(i.drv_vidc_set_src_parameter) + i.drv_wdg_clear_counter 0x00015f04 Section 0 drv_wdg.o(i.drv_wdg_clear_counter) + i.drv_wdg_clear_edge_flag 0x00015f14 Section 0 drv_wdg.o(i.drv_wdg_clear_edge_flag) + drv_wdg_clear_edge_flag 0x00015f15 Thumb Code 12 drv_wdg.o(i.drv_wdg_clear_edge_flag) + i.drv_wdg_read_edge_flag 0x00015f24 Section 0 drv_wdg.o(i.drv_wdg_read_edge_flag) + drv_wdg_read_edge_flag 0x00015f25 Thumb Code 10 drv_wdg.o(i.drv_wdg_read_edge_flag) + i.drv_wdg_set_int 0x00015f34 Section 0 drv_wdg.o(i.drv_wdg_set_int) + i.fls_clr_interrupt_flag 0x00015f74 Section 0 drv_fls.o(i.fls_clr_interrupt_flag) + i.fputc 0x00015f7e Section 0 tau_log.o(i.fputc) + i.hal_dsi_rx_ctrl_create_handle 0x00015f94 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_create_handle) + i.hal_dsi_rx_ctrl_dsc_async_handler 0x00015fc8 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) + i.hal_dsi_rx_ctrl_gen_a_tear_signal 0x0001604c Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_gen_a_tear_signal) + i.hal_dsi_rx_ctrl_init 0x00016074 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) + i.hal_dsi_rx_ctrl_init_clk 0x000160d4 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) + hal_dsi_rx_ctrl_init_clk 0x000160d5 Thumb Code 332 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_clk) + i.hal_dsi_rx_ctrl_init_dsi_rx 0x00016278 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) + hal_dsi_rx_ctrl_init_dsi_rx 0x00016279 Thumb Code 184 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_dsi_rx) + i.hal_dsi_rx_ctrl_init_memc 0x00016350 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) + hal_dsi_rx_ctrl_init_memc 0x00016351 Thumb Code 334 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_memc) + i.hal_dsi_rx_ctrl_init_rxbr 0x000164a8 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) + hal_dsi_rx_ctrl_init_rxbr 0x000164a9 Thumb Code 294 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_rxbr) + i.hal_dsi_rx_ctrl_init_vidc 0x000165e0 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) + hal_dsi_rx_ctrl_init_vidc 0x000165e1 Thumb Code 546 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init_vidc) + i.hal_dsi_rx_ctrl_set_cus_scld_filter 0x00016810 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) + i.hal_dsi_rx_ctrl_set_cus_sync_line 0x0001687c Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_sync_line) + i.hal_dsi_rx_ctrl_set_ipi_cfg 0x000168b0 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_ipi_cfg) + hal_dsi_rx_ctrl_set_ipi_cfg 0x000168b1 Thumb Code 50 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_ipi_cfg) + i.hal_dsi_rx_ctrl_set_rxbr_clk 0x000168e8 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) + hal_dsi_rx_ctrl_set_rxbr_clk 0x000168e9 Thumb Code 114 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_rxbr_clk) + i.hal_dsi_rx_ctrl_start 0x0001695c Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) + i.hal_dsi_rx_ctrl_toggle_resolution 0x00016998 Section 0 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution) + i.hal_dsi_tx_calc_video_chunks 0x000169b8 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) + hal_dsi_tx_calc_video_chunks 0x000169b9 Thumb Code 384 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_calc_video_chunks) + i.hal_dsi_tx_config_params_for_lane_rate 0x00016b48 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_config_params_for_lane_rate) + hal_dsi_tx_config_params_for_lane_rate 0x00016b49 Thumb Code 42 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_config_params_for_lane_rate) + i.hal_dsi_tx_count_lane_rate 0x00016b7c Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) + hal_dsi_tx_count_lane_rate 0x00016b7d Thumb Code 1022 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_count_lane_rate) + i.hal_dsi_tx_crop_pic 0x00016fcc Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) + i.hal_dsi_tx_ctrl_create_handle 0x00017060 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_create_handle) + i.hal_dsi_tx_ctrl_enter_init_panel_mode 0x0001708c Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_init_panel_mode) + i.hal_dsi_tx_ctrl_exit_init_panel_mode 0x000170d8 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_init_panel_mode) + i.hal_dsi_tx_ctrl_init 0x00017100 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) + i.hal_dsi_tx_ctrl_init_clk 0x000171a4 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init_clk) + hal_dsi_tx_ctrl_init_clk 0x000171a5 Thumb Code 36 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init_clk) + i.hal_dsi_tx_ctrl_panel_reset_pin 0x000171c8 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_panel_reset_pin) + i.hal_dsi_tx_ctrl_set_overwrite_rgb 0x000171d4 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_overwrite_rgb) + i.hal_dsi_tx_ctrl_set_partial_disp 0x000171e8 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp) + i.hal_dsi_tx_ctrl_set_partial_disp_area 0x000171f8 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp_area) + i.hal_dsi_tx_ctrl_start 0x0001721c Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) + i.hal_dsi_tx_ctrl_write_cmd 0x000172b8 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_cmd) + i.hal_dsi_tx_init_data_mode 0x00017368 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_data_mode) + hal_dsi_tx_init_data_mode 0x00017369 Thumb Code 58 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_data_mode) + i.hal_dsi_tx_init_dpi_cfg 0x000173ac Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_dpi_cfg) + hal_dsi_tx_init_dpi_cfg 0x000173ad Thumb Code 42 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_dpi_cfg) + i.hal_dsi_tx_init_interrupt 0x000173dc Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_interrupt) + hal_dsi_tx_init_interrupt 0x000173dd Thumb Code 28 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_interrupt) + i.hal_dsi_tx_init_phy_cfg 0x000173fc Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_phy_cfg) + hal_dsi_tx_init_phy_cfg 0x000173fd Thumb Code 28 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_phy_cfg) + i.hal_dsi_tx_init_remains 0x0001741c Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) + hal_dsi_tx_init_remains 0x0001741d Thumb Code 142 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_remains) + i.hal_dsi_tx_init_video_mode 0x000174b0 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) + hal_dsi_tx_init_video_mode 0x000174b1 Thumb Code 82 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_init_video_mode) + i.hal_dsi_tx_send_cmd 0x00017508 Section 0 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) + hal_dsi_tx_send_cmd 0x00017509 Thumb Code 60 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_send_cmd) + i.hal_gpio_ctrl_eint 0x0001754c Section 0 hal_gpio.o(i.hal_gpio_ctrl_eint) + i.hal_gpio_get_input_data 0x00017564 Section 0 hal_gpio.o(i.hal_gpio_get_input_data) + i.hal_gpio_init_eint 0x00017578 Section 0 hal_gpio.o(i.hal_gpio_init_eint) + i.hal_gpio_init_output 0x000175b8 Section 0 hal_gpio.o(i.hal_gpio_init_output) + i.hal_gpio_reg_eint_cb 0x000175e0 Section 0 hal_gpio.o(i.hal_gpio_reg_eint_cb) + i.hal_gpio_set_mode 0x000175f8 Section 0 hal_gpio.o(i.hal_gpio_set_mode) + i.hal_gpio_set_output_data 0x00017658 Section 0 hal_gpio.o(i.hal_gpio_set_output_data) + i.hal_gpio_set_pull_state 0x00017660 Section 0 hal_gpio.o(i.hal_gpio_set_pull_state) + i.hal_i2c_m_dma_init 0x00017680 Section 0 hal_i2c_master.o(i.hal_i2c_m_dma_init) + i.hal_i2c_m_dma_read 0x000176ec Section 0 hal_i2c_master.o(i.hal_i2c_m_dma_read) + i.hal_i2c_m_transfer_complate 0x0001770c Section 0 hal_i2c_master.o(i.hal_i2c_m_transfer_complate) + i.hal_i2c_master_irq_callback 0x00017718 Section 0 hal_i2c_master.o(i.hal_i2c_master_irq_callback) + hal_i2c_master_irq_callback 0x00017719 Thumb Code 24 hal_i2c_master.o(i.hal_i2c_master_irq_callback) + i.hal_i2c_s_dma_user_callback 0x00017738 Section 0 hal_i2c_slave.o(i.hal_i2c_s_dma_user_callback) + hal_i2c_s_dma_user_callback 0x00017739 Thumb Code 12 hal_i2c_slave.o(i.hal_i2c_s_dma_user_callback) + i.hal_i2c_s_dma_write 0x00017748 Section 0 hal_i2c_slave.o(i.hal_i2c_s_dma_write) + i.hal_i2c_s_init 0x00017794 Section 0 hal_i2c_slave.o(i.hal_i2c_s_init) + i.hal_i2c_s_nonblocking_read 0x0001785c Section 0 hal_i2c_slave.o(i.hal_i2c_s_nonblocking_read) + i.hal_i2c_s_set_transfer 0x00017870 Section 0 hal_i2c_slave.o(i.hal_i2c_s_set_transfer) + i.hal_i2c_slave_irq_callback 0x0001787c Section 0 hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) + hal_i2c_slave_irq_callback 0x0001787d Thumb Code 354 hal_i2c_slave.o(i.hal_i2c_slave_irq_callback) + i.hal_internal_init_memc 0x000179f0 Section 0 hal_internal_vsync.o(i.hal_internal_init_memc) + i.hal_internal_sync_get_fb_setting 0x00017aec Section 0 hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) + i.hal_internal_sync_get_hight_performan_mode 0x00017afc Section 0 hal_internal_vsync.o(i.hal_internal_sync_get_hight_performan_mode) + i.hal_internal_sync_input_resolution_change 0x00017b0c Section 0 hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) + i.hal_internal_vsync_deinit 0x00017d38 Section 0 hal_internal_vsync.o(i.hal_internal_vsync_deinit) + i.hal_internal_vsync_get_sync_line 0x00017d60 Section 0 hal_internal_vsync.o(i.hal_internal_vsync_get_sync_line) + i.hal_internal_vsync_get_tear_mode 0x00017d78 Section 0 hal_internal_vsync.o(i.hal_internal_vsync_get_tear_mode) + i.hal_internal_vsync_init_rx 0x00017d84 Section 0 hal_internal_vsync.o(i.hal_internal_vsync_init_rx) + i.hal_internal_vsync_init_tx 0x00017e9c Section 0 hal_internal_vsync.o(i.hal_internal_vsync_init_tx) + i.hal_internal_vsync_set_auto_hw_filter 0x00017f4c Section 0 hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) + i.hal_internal_vsync_set_rx_state 0x00018068 Section 0 hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) + i.hal_internal_vsync_set_sync_line 0x0001807c Section 0 hal_internal_vsync.o(i.hal_internal_vsync_set_sync_line) + i.hal_internal_vsync_set_tx_state 0x000180a0 Section 0 hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) + i.hal_internal_vsync_update_lcdc_addr 0x00018120 Section 0 hal_internal_vsync.o(i.hal_internal_vsync_update_lcdc_addr) + i.hal_lcdc_config_ccm 0x00018150 Section 0 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_ccm) + hal_lcdc_config_ccm 0x00018151 Thumb Code 30 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_ccm) + i.hal_lcdc_config_remains 0x00018174 Section 0 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) + hal_lcdc_config_remains 0x00018175 Thumb Code 84 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_remains) + i.hal_lcdc_config_rgb_to_pentile 0x000181cc Section 0 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_rgb_to_pentile) + hal_lcdc_config_rgb_to_pentile 0x000181cd Thumb Code 14 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_rgb_to_pentile) + i.hal_lcdc_config_upscaler 0x000181e0 Section 0 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) + hal_lcdc_config_upscaler 0x000181e1 Thumb Code 348 hal_dsi_tx_ctrl.o(i.hal_lcdc_config_upscaler) + i.hal_lcdc_init_cfg 0x00018344 Section 0 hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) + hal_lcdc_init_cfg 0x00018345 Thumb Code 78 hal_dsi_tx_ctrl.o(i.hal_lcdc_init_cfg) + i.hal_lcdc_init_clk 0x00018398 Section 0 hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) + hal_lcdc_init_clk 0x00018399 Thumb Code 392 hal_dsi_tx_ctrl.o(i.hal_lcdc_init_clk) + i.hal_lcdc_init_interrupt 0x00018528 Section 0 hal_dsi_tx_ctrl.o(i.hal_lcdc_init_interrupt) + hal_lcdc_init_interrupt 0x00018529 Thumb Code 58 hal_dsi_tx_ctrl.o(i.hal_lcdc_init_interrupt) + i.hal_pwm_out_common_config 0x00018568 Section 0 hal_pwm.o(i.hal_pwm_out_common_config) + hal_pwm_out_common_config 0x00018569 Thumb Code 32 hal_pwm.o(i.hal_pwm_out_common_config) + i.hal_pwm_out_config_all 0x00018588 Section 0 hal_pwm.o(i.hal_pwm_out_config_all) + i.hal_pwm_out_convert_time 0x00018598 Section 0 hal_pwm.o(i.hal_pwm_out_convert_time) + hal_pwm_out_convert_time 0x00018599 Thumb Code 150 hal_pwm.o(i.hal_pwm_out_convert_time) + i.hal_pwm_out_init 0x0001863c Section 0 hal_pwm.o(i.hal_pwm_out_init) + i.hal_pwm_out_sel_io 0x00018648 Section 0 hal_pwm.o(i.hal_pwm_out_sel_io) + i.hal_pwm_out_sync_thr 0x00018670 Section 0 hal_pwm.o(i.hal_pwm_out_sync_thr) + i.hal_spi_m_clear_rxfifo 0x000186a4 Section 0 hal_spi_master.o(i.hal_spi_m_clear_rxfifo) + i.hal_system_enable_systick 0x000186b2 Section 0 hal_system.o(i.hal_system_enable_systick) + i.hal_system_init 0x000186bc Section 0 hal_system.o(i.hal_system_init) + i.hal_system_init_console 0x00018744 Section 0 hal_system.o(i.hal_system_init_console) + i.hal_system_set_phy_calibration 0x00018760 Section 0 hal_system.o(i.hal_system_set_phy_calibration) + i.hal_system_share_flash_mode 0x00018768 Section 0 hal_system.o(i.hal_system_share_flash_mode) + i.hal_timer_init 0x0001877c Section 0 hal_timer.o(i.hal_timer_init) + i.hal_timer_start 0x00018798 Section 0 hal_timer.o(i.hal_timer_start) + i.hal_uart_init 0x000187e0 Section 0 hal_uart.o(i.hal_uart_init) + i.hal_uart_transmit_blocking 0x0001886c Section 0 hal_uart.o(i.hal_uart_transmit_blocking) + i.handle_init 0x0001887c Section 0 irq_redirect .o(i.handle_init) + i.init_mipi_tx 0x0001898c Section 0 ap_demo.o(i.init_mipi_tx) + init_mipi_tx 0x0001898d Thumb Code 216 ap_demo.o(i.init_mipi_tx) + i.init_panel 0x00018a70 Section 0 ap_demo.o(i.init_panel) + init_panel 0x00018a71 Thumb Code 6222 ap_demo.o(i.init_panel) + i.main 0x0001a2be Section 0 main.o(i.main) + i.open_mipi_rx 0x0001a2d0 Section 0 ap_demo.o(i.open_mipi_rx) + open_mipi_rx 0x0001a2d1 Thumb Code 210 ap_demo.o(i.open_mipi_rx) + i.pps_update_handle 0x0001a3c4 Section 0 ap_demo.o(i.pps_update_handle) + pps_update_handle 0x0001a3c5 Thumb Code 76 ap_demo.o(i.pps_update_handle) + i.rx_get_dcs_packet_data 0x0001a418 Section 0 hal_internal_vsync.o(i.rx_get_dcs_packet_data) + rx_get_dcs_packet_data 0x0001a419 Thumb Code 654 hal_internal_vsync.o(i.rx_get_dcs_packet_data) + i.rx_partial_update 0x0001a80c Section 0 hal_internal_vsync.o(i.rx_partial_update) + rx_partial_update 0x0001a80d Thumb Code 358 hal_internal_vsync.o(i.rx_partial_update) + i.rx_receive_packet 0x0001a984 Section 0 hal_internal_vsync.o(i.rx_receive_packet) + rx_receive_packet 0x0001a985 Thumb Code 128 hal_internal_vsync.o(i.rx_receive_packet) + i.rx_receive_pps 0x0001aa10 Section 0 hal_internal_vsync.o(i.rx_receive_pps) + rx_receive_pps 0x0001aa11 Thumb Code 268 hal_internal_vsync.o(i.rx_receive_pps) + i.rxbr_irq0_callback 0x0001ab90 Section 0 hal_internal_vsync.o(i.rxbr_irq0_callback) + rxbr_irq0_callback 0x0001ab91 Thumb Code 158 hal_internal_vsync.o(i.rxbr_irq0_callback) + i.rxbr_irq1_callback 0x0001ac34 Section 0 hal_internal_vsync.o(i.rxbr_irq1_callback) + rxbr_irq1_callback 0x0001ac35 Thumb Code 282 hal_internal_vsync.o(i.rxbr_irq1_callback) + i.soft_gen_te 0x0001ade8 Section 0 hal_internal_vsync.o(i.soft_gen_te) + soft_gen_te 0x0001ade9 Thumb Code 166 hal_internal_vsync.o(i.soft_gen_te) + i.soft_gen_te_double_buffer 0x0001aeac Section 0 hal_internal_vsync.o(i.soft_gen_te_double_buffer) + soft_gen_te_double_buffer 0x0001aead Thumb Code 166 hal_internal_vsync.o(i.soft_gen_te_double_buffer) + i.sqrt 0x0001af6c Section 0 sqrt.o(i.sqrt) + i.tp_int_high_timer_callback 0x0001afb4 Section 0 app_tp_for_custom_mi8se.o(i.tp_int_high_timer_callback) + tp_int_high_timer_callback 0x0001afb5 Thumb Code 120 app_tp_for_custom_mi8se.o(i.tp_int_high_timer_callback) + i.tp_int_high_timer_init 0x0001b03c Section 0 app_tp_for_custom_mi8se.o(i.tp_int_high_timer_init) + i.tx_display_on 0x0001b058 Section 0 ap_demo.o(i.tx_display_on) + tx_display_on 0x0001b059 Thumb Code 60 ap_demo.o(i.tx_display_on) + i.tx_panel_reset 0x0001b0c0 Section 0 ap_demo.o(i.tx_panel_reset) + tx_panel_reset 0x0001b0c1 Thumb Code 40 ap_demo.o(i.tx_panel_reset) + i.vidc_callback 0x0001b0e8 Section 0 hal_internal_vsync.o(i.vidc_callback) + vidc_callback 0x0001b0e9 Thumb Code 232 hal_internal_vsync.o(i.vidc_callback) + i.vpre_err_reset 0x0001b1f0 Section 0 hal_internal_vsync.o(i.vpre_err_reset) + vpre_err_reset 0x0001b1f1 Thumb Code 184 hal_internal_vsync.o(i.vpre_err_reset) + i.vsync_set_te_mode 0x0001b2c0 Section 0 hal_internal_vsync.o(i.vsync_set_te_mode) + vsync_set_te_mode 0x0001b2c1 Thumb Code 300 hal_internal_vsync.o(i.vsync_set_te_mode) + .constdata 0x0001b48c Section 72 ap_demo.o(.constdata) + g_cus_rx_dcs_execute_table 0x0001b48c Data 72 ap_demo.o(.constdata) + .constdata 0x0001b4d4 Section 698 app_tp_for_custom_mi8se.o(.constdata) + .constdata 0x0001b78e Section 210 hal_gpio.o(.constdata) + s_gpio_map 0x0001b78e Data 120 hal_gpio.o(.constdata) + s_gpio_perf 0x0001b806 Data 90 hal_gpio.o(.constdata) + .constdata 0x0001b860 Section 32 hal_i2c_slave.o(.constdata) + sg_i2c_s_config 0x0001b860 Data 32 hal_i2c_slave.o(.constdata) + .constdata 0x0001b880 Section 8 drv_param_init.o(.constdata) + .constdata 0x0001b888 Section 390 drv_phy_common.o(.constdata) + phy_para_mapping_h 0x0001b888 Data 184 drv_phy_common.o(.constdata) + phy_para_mapping_l 0x0001b940 Data 128 drv_phy_common.o(.constdata) + phy_data_high_map 0x0001b9c0 Data 48 drv_phy_common.o(.constdata) + phy_data_lp_map 0x0001b9f0 Data 30 drv_phy_common.o(.constdata) + .conststring 0x0001ba10 Section 67 hal_dsi_tx_ctrl.o(.conststring) + .conststring 0x0001ba54 Section 308 hal_internal_vsync.o(.conststring) + .ARM.__AT_0x00070100 0x00070100 Section 192 irq_redirect .o(.ARM.__AT_0x00070100) + .data 0x000701d0 Section 532 ap_demo.o(.data) + g_rx_ctrl_handle 0x000701d0 Data 4 ap_demo.o(.data) + g_tx_ctrl_handle 0x000701d4 Data 4 ap_demo.o(.data) + start_display_on 0x000701d8 Data 1 ap_demo.o(.data) + panel_display_done 0x000701d9 Data 1 ap_demo.o(.data) + g_resolution_change 0x000701da Data 1 ap_demo.o(.data) + swire_num 0x000701db Data 1 ap_demo.o(.data) + loop_count 0x000701e0 Data 4 ap_demo.o(.data) + .data 0x000703e4 Section 231 app_tp_for_custom_mi8se.o(.data) + app_tp_count 0x000704be Data 1 app_tp_for_custom_mi8se.o(.data) + point_counter 0x000704c0 Data 2 app_tp_for_custom_mi8se.o(.data) + phone_A6_flag 0x000704c2 Data 1 app_tp_for_custom_mi8se.o(.data) + phone_FA_flag 0x000704c3 Data 1 app_tp_for_custom_mi8se.o(.data) + phone_86_flag 0x000704c4 Data 1 app_tp_for_custom_mi8se.o(.data) + phone_A6_flag 0x000704c5 Data 1 app_tp_for_custom_mi8se.o(.data) + phone_FA_flag 0x000704c6 Data 1 app_tp_for_custom_mi8se.o(.data) + phone_86_flag 0x000704c8 Data 2 app_tp_for_custom_mi8se.o(.data) + phone_poweron_flag 0x000704ca Data 1 app_tp_for_custom_mi8se.o(.data) + .data 0x000704cc Section 27 app_tp_transfer.o(.data) + s_slave_txbuffer_size 0x000704d8 Data 4 app_tp_transfer.o(.data) + s_spim_write 0x000704dc Data 1 app_tp_transfer.o(.data) + s_screen_int_flag 0x000704dd Data 1 app_tp_transfer.o(.data) + s_phone_reset_flag 0x000704de Data 1 app_tp_transfer.o(.data) + s_screen_int_transfer_status 0x000704df Data 1 app_tp_transfer.o(.data) + s_screen_const_transfer_count 0x000704e1 Data 1 app_tp_transfer.o(.data) + i2cs_transfer 0x000704e4 Data 1 app_tp_transfer.o(.data) + screen_int_transfer_count 0x000704e5 Data 1 app_tp_transfer.o(.data) + screen_int_transfer_buffer_ready 0x000704e6 Data 1 app_tp_transfer.o(.data) + .data 0x000704e8 Section 8 hal_dsi_rx_ctrl.o(.data) + g_hw_auto_filter 0x000704e8 Data 1 hal_dsi_rx_ctrl.o(.data) + g_esc_clk 0x000704ec Data 4 hal_dsi_rx_ctrl.o(.data) + .data 0x000704f0 Section 3 hal_dsi_tx_ctrl.o(.data) + g_tx_vcom_en 0x000704f0 Data 1 hal_dsi_tx_ctrl.o(.data) + g_tx_vpg_en 0x000704f1 Data 1 hal_dsi_tx_ctrl.o(.data) + g_tx_mode 0x000704f2 Data 1 hal_dsi_tx_ctrl.o(.data) + .data 0x000704f3 Section 1 hal_i2c_master.o(.data) + s_i2c_m_transfer_end 0x000704f3 Data 1 hal_i2c_master.o(.data) + .data 0x000704f4 Section 32 hal_i2c_slave.o(.data) + s_txbuffer_complate 0x000704f4 Data 1 hal_i2c_slave.o(.data) + s_i2c_s_dma_end 0x000704f5 Data 1 hal_i2c_slave.o(.data) + s_i2c_s_receive_cnt 0x000704f6 Data 1 hal_i2c_slave.o(.data) + sg_i2c_s_index 0x000704f7 Data 1 hal_i2c_slave.o(.data) + s_hal_slave_rxbuffer 0x000704f8 Data 4 hal_i2c_slave.o(.data) + s_hal_slave_rxbuffer_size 0x000704fc Data 4 hal_i2c_slave.o(.data) + hal_i2c_s_callback 0x00070500 Data 4 hal_i2c_slave.o(.data) + sg_tx_byte_num 0x00070504 Data 4 hal_i2c_slave.o(.data) + s_receive_count 0x00070508 Data 4 hal_i2c_slave.o(.data) + s_tx_buffer_t 0x0007050c Data 4 hal_i2c_slave.o(.data) + tx_sum 0x00070510 Data 4 hal_i2c_slave.o(.data) + .data 0x00070514 Section 1 hal_pwm.o(.data) + sg_pwm_run 0x00070514 Data 1 hal_pwm.o(.data) + .data 0x00070518 Section 18 norflash.o(.data) + tmprg 0x00070520 Data 4 norflash.o(.data) + .data 0x0007052c Section 12 drv_common.o(.data) + s_my_tick 0x0007052c Data 4 drv_common.o(.data) + .data 0x00070538 Section 4 drv_gpio.o(.data) + g_ap_reset_cb 0x00070538 Data 4 drv_gpio.o(.data) + .data 0x0007053c Section 8 drv_i2c_dma.o(.data) + i2c0_dma_callback 0x0007053c Data 4 drv_i2c_dma.o(.data) + i2c1_dma_callback 0x00070540 Data 4 drv_i2c_dma.o(.data) + .data 0x00070544 Section 4 drv_i2c_master.o(.data) + i2c1_intr_callback 0x00070544 Data 4 drv_i2c_master.o(.data) + .data 0x00070548 Section 4 drv_i2c_slave.o(.data) + i2c0_intr_callback 0x00070548 Data 4 drv_i2c_slave.o(.data) + .data 0x0007054c Section 1188 drv_param_init.o(.data) + .data 0x000709f0 Section 12 drv_pwm.o(.data) + s_pwm_type 0x000709f0 Data 1 drv_pwm.o(.data) + s_pwm_cb 0x000709f4 Data 8 drv_pwm.o(.data) + .data 0x000709fc Section 4 drv_spi_master.o(.data) + SPIM_intr_callback 0x000709fc Data 4 drv_spi_master.o(.data) + .data 0x00070a00 Section 8 drv_swire.o(.data) + s_swire_cb 0x00070a00 Data 8 drv_swire.o(.data) + .data 0x00070a08 Section 1 drv_sys_cfg.o(.data) + sg_ap_rstn_trigger_type 0x00070a08 Data 1 drv_sys_cfg.o(.data) + .data 0x00070a0c Section 80 drv_timer.o(.data) + sg_timer_info 0x00070a0c Data 80 drv_timer.o(.data) + .data 0x00070a5c Section 12 hal_internal_vsync.o(.data) + sg_cmd_mode_tx_start 0x00070a5c Data 1 hal_internal_vsync.o(.data) + sg_cur_te_info 0x00070a60 Data 4 hal_internal_vsync.o(.data) + .data 0x00070a68 Section 8 drv_rxbr.o(.data) + .data 0x00070a70 Section 4 drv_vidc.o(.data) + .data 0x00070a74 Section 1 drv_phy_common.o(.data) + g_phy_calibration 0x00070a74 Data 1 drv_phy_common.o(.data) + .data 0x00070a78 Section 12 drv_chip_info.o(.data) + sg_chip_info 0x00070a78 Data 4 drv_chip_info.o(.data) + sg_chip_function 0x00070a7c Data 4 drv_chip_info.o(.data) + sg_chip_encrypt 0x00070a80 Data 4 drv_chip_info.o(.data) + .data 0x00070a84 Section 8 drv_uart.o(.data) + s_UartFcrReg 0x00070a84 Data 4 drv_uart.o(.data) + uart_userData 0x00070a88 Data 4 drv_uart.o(.data) + .data 0x00070a8c Section 12 drv_wdg.o(.data) + sg_wdg_repeat 0x00070a8c Data 1 drv_wdg.o(.data) + sg_wdg_cb 0x00070a90 Data 8 drv_wdg.o(.data) + .data 0x00070a98 Section 4 stdout.o(.data) + .data 0x00070a9c Section 4 errno.o(.data) + _errno 0x00070a9c Data 4 errno.o(.data) + .bss 0x00070aa0 Section 80 app_tp_for_custom_mi8se.o(.bss) + .bss 0x00070af0 Section 492 app_tp_transfer.o(.bss) + s_screen_read_buffer 0x00070b40 Data 200 app_tp_transfer.o(.bss) + s_phone_read_buffer 0x00070c08 Data 200 app_tp_transfer.o(.bss) + .bss 0x00070cdc Section 196 hal_dsi_rx_ctrl.o(.bss) + g_rx_ctrl_handle 0x00070cdc Data 196 hal_dsi_rx_ctrl.o(.bss) + .bss 0x00070da0 Section 76 hal_dsi_tx_ctrl.o(.bss) + g_tx_ctrl_handle 0x00070da0 Data 76 hal_dsi_tx_ctrl.o(.bss) + .bss 0x00070dec Section 256 tau_log.o(.bss) + .bss 0x00070eec Section 208 hal_uart.o(.bss) + .bss 0x00070fbc Section 28 drv_dma.o(.bss) + s_dma_handle 0x00070fbc Data 28 drv_dma.o(.bss) + .bss 0x00070fd8 Section 64 drv_gpio.o(.bss) + s_gpio_cb 0x00070fd8 Data 64 drv_gpio.o(.bss) + .bss 0x00071018 Section 320 drv_i2c_dma.o(.bss) + i2c0_dma_slave_handle 0x00071018 Data 160 drv_i2c_dma.o(.bss) + i2c1_dma_master_handle 0x000710b8 Data 160 drv_i2c_dma.o(.bss) + .bss 0x00071158 Section 2416 hal_internal_vsync.o(.bss) + g_imm_buffer 0x000719a8 Data 255 hal_internal_vsync.o(.bss) + sg_te_info 0x00071aa8 Data 12 hal_internal_vsync.o(.bss) + g_imm_packet 0x00071ab4 Data 20 hal_internal_vsync.o(.bss) + .bss 0x00071ac8 Section 4144 dcs_packet_fifo.o(.bss) + .bss 0x00072af8 Section 32 hal_spi_slave.o(.bss) + STACK 0x00072b18 Section 4096 startup_armcm0.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv3M$S$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$IEEEJ$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE + _printf_a 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_c 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_charcount 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_d 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_e 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_f 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_flags 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_fp_dec 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_fp_hex 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_g 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_i 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_int_dec 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_l 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_lc 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_ll 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_lld 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_lli 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_llo 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_llu 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_llx 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_longlong_dec 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_longlong_hex 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_longlong_oct 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_ls 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_mbtowc 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_n 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_o 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_p 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_percent 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_pre_padding 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_return_value 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_s 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_sizespec 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_str 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_truncate_signed 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_truncate_unsigned 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_u 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_wc 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_wctomb 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_widthprec 0x00000000 Number 0 stubs.o ABSOLUTE + _printf_x 0x00000000 Number 0 stubs.o ABSOLUTE + __cpp_initialize__aeabi_ - Undefined Weak Reference + __cxa_finalize - Undefined Weak Reference + _clock_init - Undefined Weak Reference + _microlib_exit - Undefined Weak Reference + __Vectors_Size 0x000000c0 Number 0 startup_armcm0.o ABSOLUTE + __Vectors 0x00010000 Data 4 startup_armcm0.o(RESET) + __Vectors_End 0x000100c0 Data 0 startup_armcm0.o(RESET) + __main 0x000100c1 Thumb Code 0 entry.o(.ARM.Collect$$$$00000000) + _main_stk 0x000100c1 Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001) + _main_scatterload 0x000100c5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + __main_after_scatterload 0x000100c9 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + _main_clock 0x000100c9 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008) + _main_cpp_init 0x000100c9 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A) + _main_init 0x000100c9 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B) + __rt_final_cpp 0x000100d1 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000D) + __rt_final_exit 0x000100d1 Thumb Code 0 entry11a.o(.ARM.Collect$$$$0000000F) + Reset_Handler 0x000100d5 Thumb Code 28 startup_armcm0.o(.text) + NMI_Handler 0x000100f1 Thumb Code 2 startup_armcm0.o(.text) + SVC_Handler 0x000100f5 Thumb Code 2 startup_armcm0.o(.text) + PendSV_Handler 0x000100f7 Thumb Code 2 startup_armcm0.o(.text) + OTP_IRQn_Handler 0x00010123 Thumb Code 2 startup_armcm0.o(.text) + PVD_IRQn_Handler 0x00010127 Thumb Code 2 startup_armcm0.o(.text) + __aeabi_uidiv 0x0001014d Thumb Code 0 uidiv.o(.text) + __aeabi_uidivmod 0x0001014d Thumb Code 44 uidiv.o(.text) + __aeabi_idiv 0x00010179 Thumb Code 0 idiv.o(.text) + __aeabi_idivmod 0x00010179 Thumb Code 40 idiv.o(.text) + __aeabi_memcpy 0x000101a1 Thumb Code 36 memcpya.o(.text) + __aeabi_memcpy4 0x000101a1 Thumb Code 0 memcpya.o(.text) + __aeabi_memcpy8 0x000101a1 Thumb Code 0 memcpya.o(.text) + __aeabi_memset 0x000101c5 Thumb Code 14 memseta.o(.text) + __aeabi_memset4 0x000101c5 Thumb Code 0 memseta.o(.text) + __aeabi_memset8 0x000101c5 Thumb Code 0 memseta.o(.text) + __aeabi_memclr 0x000101d3 Thumb Code 4 memseta.o(.text) + __aeabi_memclr4 0x000101d3 Thumb Code 0 memseta.o(.text) + __aeabi_memclr8 0x000101d3 Thumb Code 0 memseta.o(.text) + _memset$wrapper 0x000101d7 Thumb Code 18 memseta.o(.text) + __aeabi_fadd 0x000101e9 Thumb Code 162 fadd.o(.text) + __aeabi_fsub 0x0001028b Thumb Code 8 fadd.o(.text) + __aeabi_frsub 0x00010293 Thumb Code 8 fadd.o(.text) + __aeabi_fmul 0x0001029b Thumb Code 122 fmul.o(.text) + __aeabi_fdiv 0x00010315 Thumb Code 124 fdiv.o(.text) + __ARM_scalbnf 0x00010391 Thumb Code 24 fscalb.o(.text) + scalbnf 0x00010391 Thumb Code 0 fscalb.o(.text) + __aeabi_dadd 0x000103a9 Thumb Code 328 dadd.o(.text) + __aeabi_dsub 0x000104f1 Thumb Code 12 dadd.o(.text) + __aeabi_drsub 0x000104fd Thumb Code 12 dadd.o(.text) + __aeabi_dmul 0x0001050d Thumb Code 202 dmul.o(.text) + __aeabi_ddiv 0x000105dd Thumb Code 234 ddiv.o(.text) + __aeabi_i2f 0x000106cd Thumb Code 22 fflti.o(.text) + __aeabi_ui2f 0x000106e3 Thumb Code 14 ffltui.o(.text) + __aeabi_ui2d 0x000106f1 Thumb Code 24 dfltui.o(.text) + __aeabi_f2iz 0x0001070d Thumb Code 50 ffixi.o(.text) + __aeabi_f2uiz 0x0001073f Thumb Code 40 ffixui.o(.text) + __aeabi_d2iz 0x00010769 Thumb Code 62 dfixi.o(.text) + __aeabi_d2uiz 0x000107b1 Thumb Code 50 dfixui.o(.text) + __aeabi_f2d 0x000107ed Thumb Code 40 f2d.o(.text) + __aeabi_cdcmpeq 0x00010815 Thumb Code 0 cdcmple.o(.text) + __aeabi_cdcmple 0x00010815 Thumb Code 38 cdcmple.o(.text) + __aeabi_cfrcmple 0x0001083d Thumb Code 20 cfrcmple.o(.text) + __aeabi_uldivmod 0x00010851 Thumb Code 96 uldiv.o(.text) + __aeabi_llsl 0x000108b1 Thumb Code 32 llshl.o(.text) + _ll_shift_l 0x000108b1 Thumb Code 0 llshl.o(.text) + __aeabi_llsr 0x000108d1 Thumb Code 34 llushr.o(.text) + _ll_ushift_r 0x000108d1 Thumb Code 0 llushr.o(.text) + __aeabi_lasr 0x000108f3 Thumb Code 38 llsshr.o(.text) + _ll_sshift_r 0x000108f3 Thumb Code 0 llsshr.o(.text) + __I$use$fp 0x00010919 Thumb Code 0 iusefp.o(.text) + _float_round 0x00010919 Thumb Code 16 fepilogue.o(.text) + _float_epilogue 0x00010929 Thumb Code 114 fepilogue.o(.text) + _double_round 0x0001099b Thumb Code 26 depilogue.o(.text) + _double_epilogue 0x000109b5 Thumb Code 164 depilogue.o(.text) + _dsqrt 0x00010a59 Thumb Code 162 dsqrt.o(.text) + __aeabi_d2ulz 0x00010afd Thumb Code 54 dfixul.o(.text) + __aeabi_cdrcmple 0x00010b3d Thumb Code 38 cdrcmple.o(.text) + __scatterload 0x00010b65 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x00010b65 Thumb Code 0 init.o(.text) + __decompress 0x00010b89 Thumb Code 0 __dczerorl2.o(.text) + __decompress1 0x00010b89 Thumb Code 86 __dczerorl2.o(.text) + ADC_IRQn_Handler 0x00010be1 Thumb Code 18 irq_redirect .o(i.ADC_IRQn_Handler) + AP_NRESET_IRQn_Handler 0x00010bf9 Thumb Code 18 irq_redirect .o(i.AP_NRESET_IRQn_Handler) + DMA_IRQn_Handler 0x00010c4d Thumb Code 14 irq_redirect .o(i.DMA_IRQn_Handler) + EXTI_INT0_IRQn_Handler 0x00010c61 Thumb Code 22 irq_redirect .o(i.EXTI_INT0_IRQn_Handler) + EXTI_INT1_IRQn_Handler 0x00010c7d Thumb Code 22 irq_redirect .o(i.EXTI_INT1_IRQn_Handler) + EXTI_INT2_IRQn_Handler 0x00010c99 Thumb Code 22 irq_redirect .o(i.EXTI_INT2_IRQn_Handler) + EXTI_INT3_IRQn_Handler 0x00010cb5 Thumb Code 22 irq_redirect .o(i.EXTI_INT3_IRQn_Handler) + EXTI_INT4_IRQn_Handler 0x00010cd1 Thumb Code 22 irq_redirect .o(i.EXTI_INT4_IRQn_Handler) + EXTI_INT5_IRQn_Handler 0x00010ced Thumb Code 22 irq_redirect .o(i.EXTI_INT5_IRQn_Handler) + EXTI_INT6_IRQn_Handler 0x00010d09 Thumb Code 22 irq_redirect .o(i.EXTI_INT6_IRQn_Handler) + EXTI_INT7_IRQn_Handler 0x00010d25 Thumb Code 22 irq_redirect .o(i.EXTI_INT7_IRQn_Handler) + FLSCTRL_IRQn_Handler 0x00010d41 Thumb Code 14 irq_redirect .o(i.FLSCTRL_IRQn_Handler) + HardFault_Handler 0x00010d55 Thumb Code 14 irq_redirect .o(i.HardFault_Handler) + I2C0_IRQn_Handler 0x00010d69 Thumb Code 18 irq_redirect .o(i.I2C0_IRQn_Handler) + I2C1_IRQn_Handler 0x00010d81 Thumb Code 18 irq_redirect .o(i.I2C1_IRQn_Handler) + LCDC_IRQn_Handler 0x00010d99 Thumb Code 18 irq_redirect .o(i.LCDC_IRQn_Handler) + LOG_printf 0x00010db1 Thumb Code 30 tau_log.o(i.LOG_printf) + MEMC_IRQn_Handler 0x00010dd9 Thumb Code 18 irq_redirect .o(i.MEMC_IRQn_Handler) + MIPI_RX_IRQn_Handler 0x00010df1 Thumb Code 18 irq_redirect .o(i.MIPI_RX_IRQn_Handler) + MIPI_TX_IRQn_Handler 0x00010e09 Thumb Code 18 irq_redirect .o(i.MIPI_TX_IRQn_Handler) + PWMDET_IRQn_Handler 0x00010e21 Thumb Code 22 irq_redirect .o(i.PWMDET_IRQn_Handler) + PWM_Task 0x00010e3d Thumb Code 42 ap_demo.o(i.PWM_Task) + SPIM_IRQn_Handler 0x00010e8d Thumb Code 22 irq_redirect .o(i.SPIM_IRQn_Handler) + SPIS_IRQn_Handler 0x00010ea9 Thumb Code 22 irq_redirect .o(i.SPIS_IRQn_Handler) + SWIRE_IRQn_Handler 0x00010ec5 Thumb Code 22 irq_redirect .o(i.SWIRE_IRQn_Handler) + SysTick_Handler 0x00010ee1 Thumb Code 18 irq_redirect .o(i.SysTick_Handler) + TIMER0_IRQn_Handler 0x00010ef9 Thumb Code 18 irq_redirect .o(i.TIMER0_IRQn_Handler) + TIMER1_IRQn_Handler 0x00010f11 Thumb Code 18 irq_redirect .o(i.TIMER1_IRQn_Handler) + TIMER2_IRQn_Handler 0x00010f29 Thumb Code 18 irq_redirect .o(i.TIMER2_IRQn_Handler) + TIMER3_IRQn_Handler 0x00010f41 Thumb Code 18 irq_redirect .o(i.TIMER3_IRQn_Handler) + UART0_IRQ_Handle 0x00010f59 Thumb Code 20 drv_uart.o(i.UART0_IRQ_Handle) + UART_DisableDma 0x00010f75 Thumb Code 2 drv_uart.o(i.UART_DisableDma) + UART_GetInstance 0x00010f77 Thumb Code 4 drv_uart.o(i.UART_GetInstance) + UART_IRQn_Handler 0x00010f7d Thumb Code 18 irq_redirect .o(i.UART_IRQn_Handler) + UART_ResetRxFIFO 0x00010f95 Thumb Code 32 drv_uart.o(i.UART_ResetRxFIFO) + UART_SetBaudRate 0x00010fb9 Thumb Code 72 drv_uart.o(i.UART_SetBaudRate) + s_RAM_CK 0x00011000 Data 20 drv_common.o(.ARM.__at_0x11000) + __scatterload_null 0x00011015 Thumb Code 2 handlers.o(i.__scatterload_null) + s_debug_state 0x00011018 Data 4 drv_common.o(.ARM.__at_0x11018) + UART_SwitchSCLK 0x0001101d Thumb Code 26 drv_uart.o(i.UART_SwitchSCLK) + UART_TransferHandleIRQ 0x00011037 Thumb Code 308 drv_uart.o(i.UART_TransferHandleIRQ) + UART_WriteBlocking 0x0001116b Thumb Code 26 drv_uart.o(i.UART_WriteBlocking) + UART_init 0x00011185 Thumb Code 182 drv_uart.o(i.UART_init) + VIDC_IRQn_Handler 0x00011241 Thumb Code 18 irq_redirect .o(i.VIDC_IRQn_Handler) + VPRE_IRQn_Handler 0x00011259 Thumb Code 18 irq_redirect .o(i.VPRE_IRQn_Handler) + WDG_IRQn_Handler 0x00011271 Thumb Code 18 irq_redirect .o(i.WDG_IRQn_Handler) + __0printf 0x00011289 Thumb Code 24 printfa.o(i.__0printf) + __1printf 0x00011289 Thumb Code 0 printfa.o(i.__0printf) + __2printf 0x00011289 Thumb Code 0 printfa.o(i.__0printf) + __c89printf 0x00011289 Thumb Code 0 printfa.o(i.__0printf) + printf 0x00011289 Thumb Code 0 printfa.o(i.__0printf) + __0vsprintf 0x000112a9 Thumb Code 30 printfa.o(i.__0vsprintf) + __1vsprintf 0x000112a9 Thumb Code 0 printfa.o(i.__0vsprintf) + __2vsprintf 0x000112a9 Thumb Code 0 printfa.o(i.__0vsprintf) + __c89vsprintf 0x000112a9 Thumb Code 0 printfa.o(i.__0vsprintf) + vsprintf 0x000112a9 Thumb Code 0 printfa.o(i.__0vsprintf) + __ARM_clz 0x000112cd Thumb Code 46 depilogue.o(i.__ARM_clz) + __ARM_common_switch8 0x000112fb Thumb Code 26 hal_dsi_rx_ctrl.o(i.__ARM_common_switch8) + __scatterload_copy 0x000113c1 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_zeroinit 0x000113cf Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + __set_errno 0x000113dd Thumb Code 6 errno.o(i.__set_errno) + ap_demo 0x00011cd9 Thumb Code 174 ap_demo.o(i.ap_demo) + app_ADC_IRQn_Handler 0x00011f39 Thumb Code 22 drv_rxbr.o(i.app_ADC_IRQn_Handler) + app_AP_NRESET_IRQn_Handler 0x00011f55 Thumb Code 32 drv_gpio.o(i.app_AP_NRESET_IRQn_Handler) + app_EXTI_INT0_IRQn_Handler 0x00011f79 Thumb Code 22 drv_gpio.o(i.app_EXTI_INT0_IRQn_Handler) + app_EXTI_INT1_IRQn_Handler 0x00011f95 Thumb Code 22 drv_gpio.o(i.app_EXTI_INT1_IRQn_Handler) + app_EXTI_INT2_IRQn_Handler 0x00011fb1 Thumb Code 22 drv_gpio.o(i.app_EXTI_INT2_IRQn_Handler) + app_EXTI_INT3_IRQn_Handler 0x00011fcd Thumb Code 22 drv_gpio.o(i.app_EXTI_INT3_IRQn_Handler) + app_EXTI_INT4_IRQn_Handler 0x00011fe9 Thumb Code 22 drv_gpio.o(i.app_EXTI_INT4_IRQn_Handler) + app_EXTI_INT5_IRQn_Handler 0x00012005 Thumb Code 22 drv_gpio.o(i.app_EXTI_INT5_IRQn_Handler) + app_EXTI_INT6_IRQn_Handler 0x00012021 Thumb Code 22 drv_gpio.o(i.app_EXTI_INT6_IRQn_Handler) + app_EXTI_INT7_IRQn_Handler 0x0001203d Thumb Code 22 drv_gpio.o(i.app_EXTI_INT7_IRQn_Handler) + app_HardFault_Handler 0x00012059 Thumb Code 12 drv_common.o(i.app_HardFault_Handler) + app_I2C0_IRQn_Handler 0x000120a1 Thumb Code 14 drv_i2c_slave.o(i.app_I2C0_IRQn_Handler) + app_I2C1_IRQn_Handler 0x000120b9 Thumb Code 8 drv_i2c_master.o(i.app_I2C1_IRQn_Handler) + app_LCDC_IRQn_Handler 0x000120c9 Thumb Code 146 hal_internal_vsync.o(i.app_LCDC_IRQn_Handler) + app_MEMC_IRQn_Handler 0x000121f9 Thumb Code 132 drv_memc.o(i.app_MEMC_IRQn_Handler) + app_MIPI_RX_IRQn_Handler 0x00012281 Thumb Code 232 drv_dsi_rx.o(i.app_MIPI_RX_IRQn_Handler) + app_MIPI_TX_IRQn_Handler 0x00012519 Thumb Code 56 drv_dsi_tx.o(i.app_MIPI_TX_IRQn_Handler) + app_PWMDET_IRQn_Handler 0x000125b9 Thumb Code 62 drv_pwm.o(i.app_PWMDET_IRQn_Handler) + app_SPIM_IRQn_Handler 0x00012601 Thumb Code 34 drv_spi_master.o(i.app_SPIM_IRQn_Handler) + app_SPIS_IRQn_Handler 0x00012631 Thumb Code 500 hal_spi_slave.o(i.app_SPIS_IRQn_Handler) + app_SWIRE_IRQn_Handler 0x00012831 Thumb Code 28 drv_swire.o(i.app_SWIRE_IRQn_Handler) + app_SysTick_Handler 0x00012851 Thumb Code 20 drv_common.o(i.app_SysTick_Handler) + app_TIMER0_IRQn_Handler 0x00012869 Thumb Code 10 drv_timer.o(i.app_TIMER0_IRQn_Handler) + app_TIMER1_IRQn_Handler 0x00012873 Thumb Code 10 drv_timer.o(i.app_TIMER1_IRQn_Handler) + app_TIMER2_IRQn_Handler 0x0001287d Thumb Code 10 drv_timer.o(i.app_TIMER2_IRQn_Handler) + app_TIMER3_IRQn_Handler 0x00012887 Thumb Code 10 drv_timer.o(i.app_TIMER3_IRQn_Handler) + app_UART_IRQn_Handler 0x00012891 Thumb Code 8 drv_uart.o(i.app_UART_IRQn_Handler) + app_VIDC_IRQn_Handler 0x00012899 Thumb Code 22 drv_vidc.o(i.app_VIDC_IRQn_Handler) + app_VPRE_IRQn_Handler 0x000128b5 Thumb Code 22 drv_rxbr.o(i.app_VPRE_IRQn_Handler) + app_WDG_IRQn_Handler 0x000128d1 Thumb Code 52 drv_wdg.o(i.app_WDG_IRQn_Handler) + app_dma_irq_handler 0x00012909 Thumb Code 10 drv_dma.o(i.app_dma_irq_handler) + app_fls_ctrl_Handler 0x00012919 Thumb Code 38 norflash.o(i.app_fls_ctrl_Handler) + app_tp_init 0x0001298d Thumb Code 80 app_tp_transfer.o(i.app_tp_init) + app_tp_m_transfer_complate 0x00012a21 Thumb Code 8 app_tp_transfer.o(i.app_tp_m_transfer_complate) + app_tp_phone_analysis_data_custom 0x00012a29 Thumb Code 948 app_tp_for_custom_mi8se.o(i.app_tp_phone_analysis_data_custom) + app_tp_phone_clear_reset_on 0x00012e9d Thumb Code 8 app_tp_transfer.o(i.app_tp_phone_clear_reset_on) + app_tp_s_read 0x00012ea9 Thumb Code 16 app_tp_transfer.o(i.app_tp_s_read) + app_tp_s_write 0x00012eb9 Thumb Code 16 app_tp_transfer.o(i.app_tp_s_write) + app_tp_screen_analysis_int 0x00012ec9 Thumb Code 646 app_tp_for_custom_mi8se.o(i.app_tp_screen_analysis_int) + app_tp_transfer_screen_int 0x00013249 Thumb Code 174 app_tp_transfer.o(i.app_tp_transfer_screen_int) + app_tp_transfer_screen_start 0x0001331d Thumb Code 24 app_tp_transfer.o(i.app_tp_transfer_screen_start) + board_Init 0x00013341 Thumb Code 30 board.o(i.board_Init) + calc_framebuffer_setting 0x00013365 Thumb Code 1138 hal_internal_vsync.o(i.calc_framebuffer_setting) + ceil 0x000137d9 Thumb Code 180 ceil.o(i.ceil) + dcs_packet_fifo_alloc 0x00013961 Thumb Code 80 dcs_packet_fifo.o(i.dcs_packet_fifo_alloc) + dcs_packet_fifo_init 0x000139b9 Thumb Code 18 dcs_packet_fifo.o(i.dcs_packet_fifo_init) + dcs_packet_free_fifo_header 0x000139d1 Thumb Code 60 dcs_packet_fifo.o(i.dcs_packet_free_fifo_header) + dcs_packet_get_fifo_header 0x00013a15 Thumb Code 26 dcs_packet_fifo.o(i.dcs_packet_get_fifo_header) + delayMs 0x00013a55 Thumb Code 24 tau_delay.o(i.delayMs) + delayUs 0x00013a6d Thumb Code 34 tau_delay.o(i.delayUs) + drv_ap_rst_trig_edge_detect 0x00013a91 Thumb Code 46 drv_sys_cfg.o(i.drv_ap_rst_trig_edge_detect) + drv_chip_info_get_info 0x00013ac9 Thumb Code 6 drv_chip_info.o(i.drv_chip_info_get_info) + drv_chip_info_init 0x00013ad5 Thumb Code 56 drv_chip_info.o(i.drv_chip_info_init) + drv_chip_rx_info_check 0x00013b15 Thumb Code 122 drv_chip_info.o(i.drv_chip_rx_info_check) + drv_chip_rx_init_done 0x00013bdd Thumb Code 16 drv_chip_info.o(i.drv_chip_rx_init_done) + drv_common_enable_systick 0x00013bf1 Thumb Code 70 drv_common.o(i.drv_common_enable_systick) + drv_common_system_init 0x00013c49 Thumb Code 8 drv_common.o(i.drv_common_system_init) + drv_crgu_config_reset_modules 0x00013c51 Thumb Code 10 drv_crgu.o(i.drv_crgu_config_reset_modules) + drv_crgu_set_ahb_pre_div 0x00013c61 Thumb Code 14 drv_crgu.o(i.drv_crgu_set_ahb_pre_div) + drv_crgu_set_ahb_src 0x00013c75 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_ahb_src) + drv_crgu_set_clock 0x00013c89 Thumb Code 26 drv_crgu.o(i.drv_crgu_set_clock) + drv_crgu_set_dpi_mux_src 0x00013ca9 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_dpi_mux_src) + drv_crgu_set_dpi_pre_div 0x00013cbd Thumb Code 18 drv_crgu.o(i.drv_crgu_set_dpi_pre_div) + drv_crgu_set_dpi_pre_src 0x00013cd5 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_dpi_pre_src) + drv_crgu_set_dsc_core_div 0x00013ce9 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_dsc_core_div) + drv_crgu_set_dsco_src 0x00013cfd Thumb Code 16 drv_crgu.o(i.drv_crgu_set_dsco_src) + drv_crgu_set_dsco_src_div 0x00013d11 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_dsco_src_div) + drv_crgu_set_fb_div 0x00013d25 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_fb_div) + drv_crgu_set_fb_src 0x00013d39 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_fb_src) + drv_crgu_set_lcdc_div 0x00013d4d Thumb Code 16 drv_crgu.o(i.drv_crgu_set_lcdc_div) + drv_crgu_set_lcdc_src 0x00013d61 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_lcdc_src) + drv_crgu_set_mipi_cfg_src 0x00013d75 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_mipi_cfg_src) + drv_crgu_set_mipi_ref_src 0x00013d89 Thumb Code 18 drv_crgu.o(i.drv_crgu_set_mipi_ref_src) + drv_crgu_set_reset 0x00013da1 Thumb Code 20 drv_crgu.o(i.drv_crgu_set_reset) + drv_crgu_set_rxbr_div 0x00013db9 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_rxbr_div) + drv_crgu_set_rxbr_src 0x00013dcd Thumb Code 16 drv_crgu.o(i.drv_crgu_set_rxbr_src) + drv_crgu_set_vidc_src 0x00013de1 Thumb Code 16 drv_crgu.o(i.drv_crgu_set_vidc_src) + drv_dma_clear_flag 0x00013df5 Thumb Code 24 drv_dma.o(i.drv_dma_clear_flag) + drv_dma_create_handle 0x00013e0d Thumb Code 22 drv_dma.o(i.drv_dma_create_handle) + drv_dma_disenable_channel 0x00013e29 Thumb Code 16 drv_dma.o(i.drv_dma_disenable_channel) + drv_dma_enable_channel 0x00013e39 Thumb Code 16 drv_dma.o(i.drv_dma_enable_channel) + drv_dma_enable_channel_interrupts 0x00013e49 Thumb Code 32 drv_dma.o(i.drv_dma_enable_channel_interrupts) + drv_dma_get_channel_flag 0x00013e6d Thumb Code 12 drv_dma.o(i.drv_dma_get_channel_flag) + drv_dma_irq_handler 0x00013e79 Thumb Code 138 drv_dma.o(i.drv_dma_irq_handler) + drv_dma_prepar_transfer 0x00013f09 Thumb Code 18 drv_dma.o(i.drv_dma_prepar_transfer) + drv_dma_set_burst 0x00013f1b Thumb Code 26 drv_dma.o(i.drv_dma_set_burst) + drv_dma_set_callback 0x00013f35 Thumb Code 6 drv_dma.o(i.drv_dma_set_callback) + drv_dma_set_transfer 0x00013f3d Thumb Code 62 drv_dma.o(i.drv_dma_set_transfer) + drv_dsc_dec_convert_pps_rc_parameter 0x00013f81 Thumb Code 54 drv_dsc_dec.o(i.drv_dsc_dec_convert_pps_rc_parameter) + drv_dsc_dec_disable 0x00013fb7 Thumb Code 12 drv_dsc_dec.o(i.drv_dsc_dec_disable) + drv_dsc_dec_enable 0x00013fc5 Thumb Code 88 drv_dsc_dec.o(i.drv_dsc_dec_enable) + drv_dsc_dec_get_nslc 0x00014039 Thumb Code 10 drv_dsc_dec.o(i.drv_dsc_dec_get_nslc) + drv_dsc_dec_set_u8_pps 0x00014043 Thumb Code 40 drv_dsc_dec.o(i.drv_dsc_dec_set_u8_pps) + drv_dsi_rx_calc_ipi_tx_delay 0x0001406d Thumb Code 244 drv_dsi_rx.o(i.drv_dsi_rx_calc_ipi_tx_delay) + drv_dsi_rx_enable_irq 0x00014171 Thumb Code 58 drv_dsi_rx.o(i.drv_dsi_rx_enable_irq) + drv_dsi_rx_get_compression_en 0x0001421d Thumb Code 8 drv_dsi_rx.o(i.drv_dsi_rx_get_compression_en) + drv_dsi_rx_power_up 0x00014225 Thumb Code 14 drv_dsi_rx.o(i.drv_dsi_rx_power_up) + drv_dsi_rx_set_ctrl_cfg 0x00014233 Thumb Code 32 drv_dsi_rx.o(i.drv_dsi_rx_set_ctrl_cfg) + drv_dsi_rx_set_ddi_cfg 0x00014253 Thumb Code 16 drv_dsi_rx.o(i.drv_dsi_rx_set_ddi_cfg) + drv_dsi_rx_set_inten 0x00014263 Thumb Code 4 drv_dsi_rx.o(i.drv_dsi_rx_set_inten) + drv_dsi_rx_set_ipi_cfg 0x00014267 Thumb Code 16 drv_dsi_rx.o(i.drv_dsi_rx_set_ipi_cfg) + drv_dsi_rx_set_lane_swap 0x00014277 Thumb Code 70 drv_dsi_rx.o(i.drv_dsi_rx_set_lane_swap) + drv_dsi_rx_set_resp_cnt 0x000142bd Thumb Code 38 drv_dsi_rx.o(i.drv_dsi_rx_set_resp_cnt) + drv_dsi_rx_set_up_phy 0x000142e5 Thumb Code 256 drv_dsi_rx.o(i.drv_dsi_rx_set_up_phy) + drv_dsi_tx_command_header 0x000143e9 Thumb Code 20 drv_dsi_tx.o(i.drv_dsi_tx_command_header) + drv_dsi_tx_command_mode_cfg 0x000143fd Thumb Code 108 drv_dsi_tx.o(i.drv_dsi_tx_command_mode_cfg) + drv_dsi_tx_command_put_payload 0x00014469 Thumb Code 4 drv_dsi_tx.o(i.drv_dsi_tx_command_put_payload) + drv_dsi_tx_config_eotp 0x0001446d Thumb Code 24 drv_dsi_tx.o(i.drv_dsi_tx_config_eotp) + drv_dsi_tx_config_int 0x00014485 Thumb Code 8 drv_dsi_tx.o(i.drv_dsi_tx_config_int) + drv_dsi_tx_dpi_lpcmd_time 0x0001448d Thumb Code 8 drv_dsi_tx.o(i.drv_dsi_tx_dpi_lpcmd_time) + drv_dsi_tx_dpi_mode 0x00014495 Thumb Code 10 drv_dsi_tx.o(i.drv_dsi_tx_dpi_mode) + drv_dsi_tx_dpi_polarity 0x0001449f Thumb Code 36 drv_dsi_tx.o(i.drv_dsi_tx_dpi_polarity) + drv_dsi_tx_edpi_cmd_size 0x000144c3 Thumb Code 4 drv_dsi_tx.o(i.drv_dsi_tx_edpi_cmd_size) + drv_dsi_tx_get_cmd_status 0x000144c7 Thumb Code 4 drv_dsi_tx.o(i.drv_dsi_tx_get_cmd_status) + drv_dsi_tx_mode 0x000144cb Thumb Code 4 drv_dsi_tx.o(i.drv_dsi_tx_mode) + drv_dsi_tx_phy_clock_lane_auto_lp 0x000144cf Thumb Code 24 drv_dsi_tx.o(i.drv_dsi_tx_phy_clock_lane_auto_lp) + drv_dsi_tx_phy_clock_lane_req_hs 0x000144e7 Thumb Code 26 drv_dsi_tx.o(i.drv_dsi_tx_phy_clock_lane_req_hs) + drv_dsi_tx_phy_lane_mode 0x00014501 Thumb Code 12 drv_dsi_tx.o(i.drv_dsi_tx_phy_lane_mode) + drv_dsi_tx_phy_status_ready 0x0001450d Thumb Code 100 drv_dsi_tx.o(i.drv_dsi_tx_phy_status_ready) + drv_dsi_tx_phy_status_stopstate 0x00014571 Thumb Code 62 drv_dsi_tx.o(i.drv_dsi_tx_phy_status_stopstate) + drv_dsi_tx_phy_test_setup 0x000145af Thumb Code 308 drv_dsi_tx.o(i.drv_dsi_tx_phy_test_setup) + drv_dsi_tx_phy_time_cfg 0x000146e3 Thumb Code 30 drv_dsi_tx.o(i.drv_dsi_tx_phy_time_cfg) + drv_dsi_tx_powerup 0x00014701 Thumb Code 8 drv_dsi_tx.o(i.drv_dsi_tx_powerup) + drv_dsi_tx_response_mode 0x00014709 Thumb Code 28 drv_dsi_tx.o(i.drv_dsi_tx_response_mode) + drv_dsi_tx_set_bta_ack 0x00014725 Thumb Code 24 drv_dsi_tx.o(i.drv_dsi_tx_set_bta_ack) + drv_dsi_tx_set_esc_div 0x0001473d Thumb Code 12 drv_dsi_tx.o(i.drv_dsi_tx_set_esc_div) + drv_dsi_tx_set_int 0x00014749 Thumb Code 58 drv_dsi_tx.o(i.drv_dsi_tx_set_int) + drv_dsi_tx_set_time_out_div 0x00014789 Thumb Code 16 drv_dsi_tx.o(i.drv_dsi_tx_set_time_out_div) + drv_dsi_tx_set_video_chunk 0x00014799 Thumb Code 8 drv_dsi_tx.o(i.drv_dsi_tx_set_video_chunk) + drv_dsi_tx_set_video_timing 0x000147a1 Thumb Code 34 drv_dsi_tx.o(i.drv_dsi_tx_set_video_timing) + drv_dsi_tx_shutdown 0x000147c3 Thumb Code 8 drv_dsi_tx.o(i.drv_dsi_tx_shutdown) + drv_dsi_tx_timeout_cfg 0x000147cb Thumb Code 38 drv_dsi_tx.o(i.drv_dsi_tx_timeout_cfg) + drv_dsi_tx_video_mode_cfg 0x000147f1 Thumb Code 170 drv_dsi_tx.o(i.drv_dsi_tx_video_mode_cfg) + drv_dsi_tx_video_mode_disable_hact_cmd 0x0001489b Thumb Code 22 drv_dsi_tx.o(i.drv_dsi_tx_video_mode_disable_hact_cmd) + drv_dsi_tx_video_mode_set_lp_cmd 0x000148b1 Thumb Code 24 drv_dsi_tx.o(i.drv_dsi_tx_video_mode_set_lp_cmd) + drv_efuse_enter_inactive 0x000148c9 Thumb Code 32 drv_efuse.o(i.drv_efuse_enter_inactive) + drv_efuse_int_enable 0x000148e9 Thumb Code 12 drv_efuse.o(i.drv_efuse_int_enable) + drv_efuse_read 0x000148f5 Thumb Code 50 drv_efuse.o(i.drv_efuse_read) + drv_efuse_read_req 0x00014927 Thumb Code 24 drv_efuse.o(i.drv_efuse_read_req) + drv_fls_gpio_connect 0x00014941 Thumb Code 18 drv_fls.o(i.drv_fls_gpio_connect) + drv_fls_gpio_disconnect 0x0001495d Thumb Code 22 drv_fls.o(i.drv_fls_gpio_disconnect) + drv_gpio_get_input_data 0x0001497d Thumb Code 20 drv_gpio.o(i.drv_gpio_get_input_data) + drv_gpio_register_callback 0x00014995 Thumb Code 14 drv_gpio.o(i.drv_gpio_register_callback) + drv_gpio_set_int 0x000149a9 Thumb Code 74 drv_gpio.o(i.drv_gpio_set_int) + drv_gpio_set_ioe 0x000149f9 Thumb Code 26 drv_gpio.o(i.drv_gpio_set_ioe) + drv_gpio_set_mode0 0x00014a19 Thumb Code 12 drv_gpio.o(i.drv_gpio_set_mode0) + drv_gpio_set_mode1 0x00014a29 Thumb Code 12 drv_gpio.o(i.drv_gpio_set_mode1) + drv_gpio_set_mode2 0x00014a39 Thumb Code 12 drv_gpio.o(i.drv_gpio_set_mode2) + drv_gpio_set_mode3 0x00014a49 Thumb Code 12 drv_gpio.o(i.drv_gpio_set_mode3) + drv_gpio_set_pull_state 0x00014a79 Thumb Code 298 drv_gpio.o(i.drv_gpio_set_pull_state) + drv_i2c0_set_callback 0x00014ba9 Thumb Code 6 drv_i2c_slave.o(i.drv_i2c0_set_callback) + drv_i2c1_set_callback 0x00014bb5 Thumb Code 6 drv_i2c_master.o(i.drv_i2c1_set_callback) + drv_i2c_dma_init 0x00014bf5 Thumb Code 146 drv_i2c_dma.o(i.drv_i2c_dma_init) + drv_i2c_enable_rx_dma 0x00014ca1 Thumb Code 26 drv_i2c_dma.o(i.drv_i2c_enable_rx_dma) + drv_i2c_enable_tx_dma 0x00014cbb Thumb Code 24 drv_i2c_dma.o(i.drv_i2c_enable_tx_dma) + drv_i2c_m_clear_it_pending_bit 0x00014cd5 Thumb Code 86 drv_i2c_master.o(i.drv_i2c_m_clear_it_pending_bit) + drv_i2c_m_enable 0x00014d35 Thumb Code 10 drv_i2c_master.o(i.drv_i2c_m_enable) + drv_i2c_m_enable_intr 0x00014d45 Thumb Code 42 drv_i2c_master.o(i.drv_i2c_m_enable_intr) + drv_i2c_master_init 0x00014d7d Thumb Code 118 drv_i2c_master.o(i.drv_i2c_master_init) + drv_i2c_master_read_dma 0x00014e09 Thumb Code 82 drv_i2c_dma.o(i.drv_i2c_master_read_dma) + drv_i2c_s_clear_it_pending_bit 0x00014e93 Thumb Code 66 drv_i2c_slave.o(i.drv_i2c_s_clear_it_pending_bit) + drv_i2c_s_config_intr 0x00014ed5 Thumb Code 4 drv_i2c_slave.o(i.drv_i2c_s_config_intr) + drv_i2c_s_enable 0x00014ed9 Thumb Code 8 drv_i2c_slave.o(i.drv_i2c_s_enable) + drv_i2c_s_get_fifo_status 0x00014ee1 Thumb Code 20 drv_i2c_slave.o(i.drv_i2c_s_get_fifo_status) + drv_i2c_s_set_intr 0x00014ef5 Thumb Code 74 drv_i2c_slave.o(i.drv_i2c_s_set_intr) + drv_i2c_s_write_data 0x00014f45 Thumb Code 28 drv_i2c_slave.o(i.drv_i2c_s_write_data) + drv_i2c_set_dma_irq_callback 0x00014f61 Thumb Code 68 drv_i2c_dma.o(i.drv_i2c_set_dma_irq_callback) + drv_i2c_slave_init 0x00014fb9 Thumb Code 50 drv_i2c_slave.o(i.drv_i2c_slave_init) + drv_i2c_slave_write_dma 0x00014fed Thumb Code 20 drv_i2c_dma.o(i.drv_i2c_slave_write_dma) + drv_lcdc_config_bypass 0x00015005 Thumb Code 24 drv_lcdc.o(i.drv_lcdc_config_bypass) + drv_lcdc_config_ccm 0x0001501d Thumb Code 48 drv_lcdc.o(i.drv_lcdc_config_ccm) + drv_lcdc_config_disp_mode 0x0001504d Thumb Code 22 drv_lcdc.o(i.drv_lcdc_config_disp_mode) + drv_lcdc_config_dpi_polarity 0x00015063 Thumb Code 36 drv_lcdc.o(i.drv_lcdc_config_dpi_polarity) + drv_lcdc_config_dpi_timing 0x00015087 Thumb Code 38 drv_lcdc.o(i.drv_lcdc_config_dpi_timing) + drv_lcdc_config_edpi_mode 0x000150ad Thumb Code 22 drv_lcdc.o(i.drv_lcdc_config_edpi_mode) + drv_lcdc_config_endianness 0x000150c3 Thumb Code 22 drv_lcdc.o(i.drv_lcdc_config_endianness) + drv_lcdc_config_input_size 0x000150d9 Thumb Code 12 drv_lcdc.o(i.drv_lcdc_config_input_size) + drv_lcdc_config_int 0x000150e5 Thumb Code 30 drv_lcdc.o(i.drv_lcdc_config_int) + drv_lcdc_config_int_single 0x00015103 Thumb Code 34 drv_lcdc.o(i.drv_lcdc_config_int_single) + drv_lcdc_config_overwrite 0x00015125 Thumb Code 34 drv_lcdc.o(i.drv_lcdc_config_overwrite) + drv_lcdc_config_overwrite_rgb 0x00015147 Thumb Code 12 drv_lcdc.o(i.drv_lcdc_config_overwrite_rgb) + drv_lcdc_config_partial_display_area 0x00015153 Thumb Code 26 drv_lcdc.o(i.drv_lcdc_config_partial_display_area) + drv_lcdc_config_partial_display_enable 0x0001516d Thumb Code 34 drv_lcdc.o(i.drv_lcdc_config_partial_display_enable) + drv_lcdc_config_scale_up_coef 0x0001518f Thumb Code 26 drv_lcdc.o(i.drv_lcdc_config_scale_up_coef) + drv_lcdc_config_scale_up_step 0x000151a9 Thumb Code 12 drv_lcdc.o(i.drv_lcdc_config_scale_up_step) + drv_lcdc_config_src_parameter 0x000151b5 Thumb Code 76 drv_lcdc.o(i.drv_lcdc_config_src_parameter) + drv_lcdc_config_thresh 0x00015201 Thumb Code 6 drv_lcdc.o(i.drv_lcdc_config_thresh) + drv_lcdc_ctrl_flow 0x00015207 Thumb Code 18 drv_lcdc.o(i.drv_lcdc_ctrl_flow) + drv_lcdc_enable_shadow_reg 0x00015219 Thumb Code 32 drv_lcdc.o(i.drv_lcdc_enable_shadow_reg) + drv_lcdc_set_int 0x00015239 Thumb Code 58 drv_lcdc.o(i.drv_lcdc_set_int) + drv_lcdc_set_prefetch 0x00015279 Thumb Code 24 drv_lcdc.o(i.drv_lcdc_set_prefetch) + drv_lcdc_set_video_hw_mode 0x00015291 Thumb Code 20 drv_lcdc.o(i.drv_lcdc_set_video_hw_mode) + drv_lcdc_start 0x000152a5 Thumb Code 32 drv_lcdc.o(i.drv_lcdc_start) + drv_memc_clear_status 0x000152c5 Thumb Code 12 drv_memc.o(i.drv_memc_clear_status) + drv_memc_enable_irq 0x000152d1 Thumb Code 58 drv_memc.o(i.drv_memc_enable_irq) + drv_memc_gen_a_tear_signal 0x00015311 Thumb Code 12 drv_memc.o(i.drv_memc_gen_a_tear_signal) + drv_memc_get_status 0x0001531d Thumb Code 18 drv_memc.o(i.drv_memc_get_status) + drv_memc_rate_transfer_sel 0x0001532f Thumb Code 16 drv_memc.o(i.drv_memc_rate_transfer_sel) + drv_memc_sel_vsync 0x0001533f Thumb Code 14 drv_memc.o(i.drv_memc_sel_vsync) + drv_memc_set_active_height 0x0001534d Thumb Code 14 drv_memc.o(i.drv_memc_set_active_height) + drv_memc_set_data_mode 0x00015361 Thumb Code 12 drv_memc.o(i.drv_memc_set_data_mode) + drv_memc_set_double_buffer 0x0001536d Thumb Code 16 drv_memc.o(i.drv_memc_set_double_buffer) + drv_memc_set_double_buffer_reverse 0x0001537d Thumb Code 18 drv_memc.o(i.drv_memc_set_double_buffer_reverse) + drv_memc_set_fs_en_conditions 0x0001538f Thumb Code 16 drv_memc.o(i.drv_memc_set_fs_en_conditions) + drv_memc_set_inten 0x0001539f Thumb Code 20 drv_memc.o(i.drv_memc_set_inten) + drv_memc_set_lcdc_st_conditions 0x000153b5 Thumb Code 18 drv_memc.o(i.drv_memc_set_lcdc_st_conditions) + drv_memc_set_ltpo_mode 0x000153cd Thumb Code 26 drv_memc.o(i.drv_memc_set_ltpo_mode) + drv_memc_set_tear_mode 0x000153e7 Thumb Code 14 drv_memc.o(i.drv_memc_set_tear_mode) + drv_memc_set_tear_waveform 0x000153f5 Thumb Code 34 drv_memc.o(i.drv_memc_set_tear_waveform) + drv_memc_set_vidc_sync_cnt 0x0001541d Thumb Code 14 drv_memc.o(i.drv_memc_set_vidc_sync_cnt) + drv_param_init_get_ccm 0x0001542d Thumb Code 4 drv_param_init.o(i.drv_param_init_get_ccm) + drv_param_init_get_scld_filter_h 0x00015435 Thumb Code 12 drv_param_init.o(i.drv_param_init_get_scld_filter_h) + drv_param_init_get_scld_filter_v 0x00015449 Thumb Code 12 drv_param_init.o(i.drv_param_init_get_scld_filter_v) + drv_param_init_get_sclu_filter 0x0001545d Thumb Code 4 drv_param_init.o(i.drv_param_init_get_sclu_filter) + drv_param_init_set_scld_filter 0x00015465 Thumb Code 92 drv_param_init.o(i.drv_param_init_set_scld_filter) + drv_param_p2r_filter_init 0x000154c9 Thumb Code 30 drv_param_init.o(i.drv_param_p2r_filter_init) + drv_phy_enable_calibration 0x000154ed Thumb Code 12 drv_phy_common.o(i.drv_phy_enable_calibration) + drv_phy_get_calibration 0x000154fd Thumb Code 50 drv_phy_common.o(i.drv_phy_get_calibration) + drv_phy_get_pll_para 0x00015539 Thumb Code 88 drv_phy_common.o(i.drv_phy_get_pll_para) + drv_phy_get_rate_para 0x00015599 Thumb Code 76 drv_phy_common.o(i.drv_phy_get_rate_para) + drv_phy_test_clear 0x000155ed Thumb Code 16 drv_phy_common.o(i.drv_phy_test_clear) + drv_phy_test_lock 0x000155fd Thumb Code 24 drv_phy_common.o(i.drv_phy_test_lock) + drv_phy_test_write_1_byte 0x00015615 Thumb Code 32 drv_phy_common.o(i.drv_phy_test_write_1_byte) + drv_phy_test_write_2_byte 0x00015635 Thumb Code 38 drv_phy_common.o(i.drv_phy_test_write_2_byte) + drv_phy_test_write_code 0x0001565b Thumb Code 30 drv_phy_common.o(i.drv_phy_test_write_code) + drv_pwm_out_enable 0x00015699 Thumb Code 26 drv_pwm.o(i.drv_pwm_out_enable) + drv_pwm_out_get_sync_flag 0x000156b9 Thumb Code 10 drv_pwm.o(i.drv_pwm_out_get_sync_flag) + drv_pwm_out_set_control 0x000156c9 Thumb Code 6 drv_pwm.o(i.drv_pwm_out_set_control) + drv_pwm_out_set_period 0x000156d5 Thumb Code 6 drv_pwm.o(i.drv_pwm_out_set_period) + drv_pwm_out_set_sync_mode 0x000156e1 Thumb Code 26 drv_pwm.o(i.drv_pwm_out_set_sync_mode) + drv_pwm_out_set_threshold 0x00015701 Thumb Code 8 drv_pwm.o(i.drv_pwm_out_set_threshold) + drv_pwr_set_pvd_mode 0x0001570d Thumb Code 18 drv_pwr.o(i.drv_pwr_set_pvd_mode) + drv_pwr_set_system_clk_src 0x00015725 Thumb Code 44 drv_pwr.o(i.drv_pwr_set_system_clk_src) + drv_rxbr_clear_pkt_buffer 0x000157a3 Thumb Code 10 drv_rxbr.o(i.drv_rxbr_clear_pkt_buffer) + drv_rxbr_clear_status0 0x000157ad Thumb Code 4 drv_rxbr.o(i.drv_rxbr_clear_status0) + drv_rxbr_enable_irq 0x000157b1 Thumb Code 90 drv_rxbr.o(i.drv_rxbr_enable_irq) + drv_rxbr_frame_drop_cfg 0x0001580d Thumb Code 16 drv_rxbr.o(i.drv_rxbr_frame_drop_cfg) + drv_rxbr_get_clk 0x00015821 Thumb Code 66 drv_rxbr.o(i.drv_rxbr_get_clk) + drv_rxbr_get_col_addr 0x00015885 Thumb Code 4 drv_rxbr.o(i.drv_rxbr_get_col_addr) + drv_rxbr_get_page_addr 0x0001589b Thumb Code 4 drv_rxbr.o(i.drv_rxbr_get_page_addr) + drv_rxbr_hline_rcv0_cfg 0x000158b1 Thumb Code 12 drv_rxbr.o(i.drv_rxbr_hline_rcv0_cfg) + drv_rxbr_hline_rcv_cfg 0x000158bd Thumb Code 8 drv_rxbr.o(i.drv_rxbr_hline_rcv_cfg) + drv_rxbr_register_irq0_callback 0x000158c5 Thumb Code 6 drv_rxbr.o(i.drv_rxbr_register_irq0_callback) + drv_rxbr_register_irq1_callback 0x000158d1 Thumb Code 6 drv_rxbr.o(i.drv_rxbr_register_irq1_callback) + drv_rxbr_set_cmd_filter 0x000158dd Thumb Code 204 drv_rxbr.o(i.drv_rxbr_set_cmd_filter) + drv_rxbr_set_color_format 0x000159a9 Thumb Code 20 drv_rxbr.o(i.drv_rxbr_set_color_format) + drv_rxbr_set_inten 0x000159bd Thumb Code 20 drv_rxbr.o(i.drv_rxbr_set_inten) + drv_rxbr_set_ltpo_drop_th 0x000159d1 Thumb Code 16 drv_rxbr.o(i.drv_rxbr_set_ltpo_drop_th) + drv_rxbr_set_usr_cfg 0x000159e1 Thumb Code 38 drv_rxbr.o(i.drv_rxbr_set_usr_cfg) + drv_rxbr_set_usr_col 0x00015a07 Thumb Code 8 drv_rxbr.o(i.drv_rxbr_set_usr_col) + drv_rxbr_set_usr_row 0x00015a0f Thumb Code 8 drv_rxbr.o(i.drv_rxbr_set_usr_row) + drv_spi_m_read_data 0x00015a19 Thumb Code 28 drv_spi_master.o(i.drv_spi_m_read_data) + drv_swire_set_int 0x00015a39 Thumb Code 76 drv_swire.o(i.drv_swire_set_int) + drv_sys_cfg_clear_all_int 0x00015a8d Thumb Code 8 drv_sys_cfg.o(i.drv_sys_cfg_clear_all_int) + drv_sys_cfg_clear_pending 0x00015a99 Thumb Code 32 drv_sys_cfg.o(i.drv_sys_cfg_clear_pending) + drv_sys_cfg_sel_ap_rst_lvl_trig 0x00015ac1 Thumb Code 18 drv_sys_cfg.o(i.drv_sys_cfg_sel_ap_rst_lvl_trig) + drv_sys_cfg_sel_gpio_group 0x00015ad9 Thumb Code 30 drv_sys_cfg.o(i.drv_sys_cfg_sel_gpio_group) + drv_sys_cfg_sel_int_trig 0x00015afd Thumb Code 30 drv_sys_cfg.o(i.drv_sys_cfg_sel_int_trig) + drv_sys_cfg_set_dma_rx_req 0x00015b21 Thumb Code 10 drv_sys_cfg.o(i.drv_sys_cfg_set_dma_rx_req) + drv_sys_cfg_set_dma_tx_req 0x00015b31 Thumb Code 10 drv_sys_cfg.o(i.drv_sys_cfg_set_dma_tx_req) + drv_sys_cfg_set_int 0x00015b41 Thumb Code 30 drv_sys_cfg.o(i.drv_sys_cfg_set_int) + drv_timer_enable 0x00015b7f Thumb Code 32 drv_timer.o(i.drv_timer_enable) + drv_timer_get_instance 0x00015ba1 Thumb Code 10 drv_timer.o(i.drv_timer_get_instance) + drv_timer_get_prescaler 0x00015bb1 Thumb Code 12 drv_timer.o(i.drv_timer_get_prescaler) + drv_timer_register_callback 0x00015c05 Thumb Code 14 drv_timer.o(i.drv_timer_register_callback) + drv_timer_set_compare_val 0x00015c19 Thumb Code 16 drv_timer.o(i.drv_timer_set_compare_val) + drv_timer_set_int 0x00015c29 Thumb Code 80 drv_timer.o(i.drv_timer_set_int) + drv_timer_set_prescaler 0x00015c7d Thumb Code 36 drv_timer.o(i.drv_timer_set_prescaler) + drv_tx_phy_test_enter 0x00015caf Thumb Code 28 drv_dsi_tx.o(i.drv_tx_phy_test_enter) + drv_tx_phy_test_exit 0x00015ccb Thumb Code 28 drv_dsi_tx.o(i.drv_tx_phy_test_exit) + drv_vidc_clear_irq 0x00015d1d Thumb Code 8 drv_vidc.o(i.drv_vidc_clear_irq) + drv_vidc_enable 0x00015d25 Thumb Code 24 drv_vidc.o(i.drv_vidc_enable) + drv_vidc_enable_irq 0x00015d3d Thumb Code 58 drv_vidc.o(i.drv_vidc_enable_irq) + drv_vidc_get_irq_status 0x00015d7d Thumb Code 18 drv_vidc.o(i.drv_vidc_get_irq_status) + drv_vidc_init_module_enable 0x00015d91 Thumb Code 36 drv_vidc.o(i.drv_vidc_init_module_enable) + drv_vidc_register_callback 0x00015db9 Thumb Code 6 drv_vidc.o(i.drv_vidc_register_callback) + drv_vidc_reset 0x00015dc5 Thumb Code 6 drv_vidc.o(i.drv_vidc_reset) + drv_vidc_set_dst_parameter 0x00015dcb Thumb Code 60 drv_vidc.o(i.drv_vidc_set_dst_parameter) + drv_vidc_set_irqen 0x00015e07 Thumb Code 20 drv_vidc.o(i.drv_vidc_set_irqen) + drv_vidc_set_mirror 0x00015e1b Thumb Code 16 drv_vidc.o(i.drv_vidc_set_mirror) + drv_vidc_set_p2r_hcoef0 0x00015e2b Thumb Code 8 drv_vidc.o(i.drv_vidc_set_p2r_hcoef0) + drv_vidc_set_p2r_hinitb 0x00015e33 Thumb Code 38 drv_vidc.o(i.drv_vidc_set_p2r_hinitb) + drv_vidc_set_p2r_hinitr 0x00015e59 Thumb Code 38 drv_vidc.o(i.drv_vidc_set_p2r_hinitr) + drv_vidc_set_pentile_swap 0x00015e81 Thumb Code 18 drv_vidc.o(i.drv_vidc_set_pentile_swap) + drv_vidc_set_pu_ctrl 0x00015e99 Thumb Code 10 drv_vidc.o(i.drv_vidc_set_pu_ctrl) + drv_vidc_set_rotation 0x00015ea3 Thumb Code 16 drv_vidc.o(i.drv_vidc_set_rotation) + drv_vidc_set_scld_hcoef0 0x00015eb3 Thumb Code 10 drv_vidc.o(i.drv_vidc_set_scld_hcoef0) + drv_vidc_set_scld_hcoef1 0x00015ebd Thumb Code 10 drv_vidc.o(i.drv_vidc_set_scld_hcoef1) + drv_vidc_set_scld_step 0x00015ec7 Thumb Code 18 drv_vidc.o(i.drv_vidc_set_scld_step) + drv_vidc_set_scld_vcoef0 0x00015ed9 Thumb Code 10 drv_vidc.o(i.drv_vidc_set_scld_vcoef0) + drv_vidc_set_scld_vcoef1 0x00015ee3 Thumb Code 10 drv_vidc.o(i.drv_vidc_set_scld_vcoef1) + drv_vidc_set_src_parameter 0x00015eed Thumb Code 22 drv_vidc.o(i.drv_vidc_set_src_parameter) + drv_wdg_clear_counter 0x00015f05 Thumb Code 12 drv_wdg.o(i.drv_wdg_clear_counter) + drv_wdg_set_int 0x00015f35 Thumb Code 60 drv_wdg.o(i.drv_wdg_set_int) + fls_clr_interrupt_flag 0x00015f75 Thumb Code 10 drv_fls.o(i.fls_clr_interrupt_flag) + fputc 0x00015f7f Thumb Code 20 tau_log.o(i.fputc) + hal_dsi_rx_ctrl_create_handle 0x00015f95 Thumb Code 48 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_create_handle) + hal_dsi_rx_ctrl_dsc_async_handler 0x00015fc9 Thumb Code 120 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_dsc_async_handler) + hal_dsi_rx_ctrl_gen_a_tear_signal 0x0001604d Thumb Code 32 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_gen_a_tear_signal) + hal_dsi_rx_ctrl_init 0x00016075 Thumb Code 88 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_init) + hal_dsi_rx_ctrl_set_cus_scld_filter 0x00016811 Thumb Code 98 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_scld_filter) + hal_dsi_rx_ctrl_set_cus_sync_line 0x0001687d Thumb Code 44 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_set_cus_sync_line) + hal_dsi_rx_ctrl_start 0x0001695d Thumb Code 46 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_start) + hal_dsi_rx_ctrl_toggle_resolution 0x00016999 Thumb Code 28 hal_dsi_rx_ctrl.o(i.hal_dsi_rx_ctrl_toggle_resolution) + hal_dsi_tx_crop_pic 0x00016fcd Thumb Code 144 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_crop_pic) + hal_dsi_tx_ctrl_create_handle 0x00017061 Thumb Code 34 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_create_handle) + hal_dsi_tx_ctrl_enter_init_panel_mode 0x0001708d Thumb Code 68 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_enter_init_panel_mode) + hal_dsi_tx_ctrl_exit_init_panel_mode 0x000170d9 Thumb Code 32 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_exit_init_panel_mode) + hal_dsi_tx_ctrl_init 0x00017101 Thumb Code 154 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_init) + hal_dsi_tx_ctrl_panel_reset_pin 0x000171c9 Thumb Code 12 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_panel_reset_pin) + hal_dsi_tx_ctrl_set_overwrite_rgb 0x000171d5 Thumb Code 16 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_overwrite_rgb) + hal_dsi_tx_ctrl_set_partial_disp 0x000171e9 Thumb Code 12 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp) + hal_dsi_tx_ctrl_set_partial_disp_area 0x000171f9 Thumb Code 30 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_set_partial_disp_area) + hal_dsi_tx_ctrl_start 0x0001721d Thumb Code 140 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_start) + hal_dsi_tx_ctrl_write_cmd 0x000172b9 Thumb Code 172 hal_dsi_tx_ctrl.o(i.hal_dsi_tx_ctrl_write_cmd) + hal_gpio_ctrl_eint 0x0001754d Thumb Code 18 hal_gpio.o(i.hal_gpio_ctrl_eint) + hal_gpio_get_input_data 0x00017565 Thumb Code 18 hal_gpio.o(i.hal_gpio_get_input_data) + hal_gpio_init_eint 0x00017579 Thumb Code 58 hal_gpio.o(i.hal_gpio_init_eint) + hal_gpio_init_output 0x000175b9 Thumb Code 34 hal_gpio.o(i.hal_gpio_init_output) + hal_gpio_reg_eint_cb 0x000175e1 Thumb Code 20 hal_gpio.o(i.hal_gpio_reg_eint_cb) + hal_gpio_set_mode 0x000175f9 Thumb Code 90 hal_gpio.o(i.hal_gpio_set_mode) + hal_gpio_set_output_data 0x00017659 Thumb Code 8 hal_gpio.o(i.hal_gpio_set_output_data) + hal_gpio_set_pull_state 0x00017661 Thumb Code 26 hal_gpio.o(i.hal_gpio_set_pull_state) + hal_i2c_m_dma_init 0x00017681 Thumb Code 92 hal_i2c_master.o(i.hal_i2c_m_dma_init) + hal_i2c_m_dma_read 0x000176ed Thumb Code 26 hal_i2c_master.o(i.hal_i2c_m_dma_read) + hal_i2c_m_transfer_complate 0x0001770d Thumb Code 6 hal_i2c_master.o(i.hal_i2c_m_transfer_complate) + hal_i2c_s_dma_write 0x00017749 Thumb Code 62 hal_i2c_slave.o(i.hal_i2c_s_dma_write) + hal_i2c_s_init 0x00017795 Thumb Code 176 hal_i2c_slave.o(i.hal_i2c_s_init) + hal_i2c_s_nonblocking_read 0x0001785d Thumb Code 14 hal_i2c_slave.o(i.hal_i2c_s_nonblocking_read) + hal_i2c_s_set_transfer 0x00017871 Thumb Code 6 hal_i2c_slave.o(i.hal_i2c_s_set_transfer) + hal_internal_init_memc 0x000179f1 Thumb Code 170 hal_internal_vsync.o(i.hal_internal_init_memc) + hal_internal_sync_get_fb_setting 0x00017aed Thumb Code 12 hal_internal_vsync.o(i.hal_internal_sync_get_fb_setting) + hal_internal_sync_get_hight_performan_mode 0x00017afd Thumb Code 10 hal_internal_vsync.o(i.hal_internal_sync_get_hight_performan_mode) + hal_internal_sync_input_resolution_change 0x00017b0d Thumb Code 438 hal_internal_vsync.o(i.hal_internal_sync_input_resolution_change) + hal_internal_vsync_deinit 0x00017d39 Thumb Code 30 hal_internal_vsync.o(i.hal_internal_vsync_deinit) + hal_internal_vsync_get_sync_line 0x00017d61 Thumb Code 18 hal_internal_vsync.o(i.hal_internal_vsync_get_sync_line) + hal_internal_vsync_get_tear_mode 0x00017d79 Thumb Code 6 hal_internal_vsync.o(i.hal_internal_vsync_get_tear_mode) + hal_internal_vsync_init_rx 0x00017d85 Thumb Code 236 hal_internal_vsync.o(i.hal_internal_vsync_init_rx) + hal_internal_vsync_init_tx 0x00017e9d Thumb Code 172 hal_internal_vsync.o(i.hal_internal_vsync_init_tx) + hal_internal_vsync_set_auto_hw_filter 0x00017f4d Thumb Code 222 hal_internal_vsync.o(i.hal_internal_vsync_set_auto_hw_filter) + hal_internal_vsync_set_rx_state 0x00018069 Thumb Code 16 hal_internal_vsync.o(i.hal_internal_vsync_set_rx_state) + hal_internal_vsync_set_sync_line 0x0001807d Thumb Code 30 hal_internal_vsync.o(i.hal_internal_vsync_set_sync_line) + hal_internal_vsync_set_tx_state 0x000180a1 Thumb Code 118 hal_internal_vsync.o(i.hal_internal_vsync_set_tx_state) + hal_internal_vsync_update_lcdc_addr 0x00018121 Thumb Code 42 hal_internal_vsync.o(i.hal_internal_vsync_update_lcdc_addr) + hal_pwm_out_config_all 0x00018589 Thumb Code 16 hal_pwm.o(i.hal_pwm_out_config_all) + hal_pwm_out_init 0x0001863d Thumb Code 12 hal_pwm.o(i.hal_pwm_out_init) + hal_pwm_out_sel_io 0x00018649 Thumb Code 38 hal_pwm.o(i.hal_pwm_out_sel_io) + hal_pwm_out_sync_thr 0x00018671 Thumb Code 44 hal_pwm.o(i.hal_pwm_out_sync_thr) + hal_spi_m_clear_rxfifo 0x000186a5 Thumb Code 14 hal_spi_master.o(i.hal_spi_m_clear_rxfifo) + hal_system_enable_systick 0x000186b3 Thumb Code 8 hal_system.o(i.hal_system_enable_systick) + hal_system_init 0x000186bd Thumb Code 104 hal_system.o(i.hal_system_init) + hal_system_init_console 0x00018745 Thumb Code 28 hal_system.o(i.hal_system_init_console) + hal_system_set_phy_calibration 0x00018761 Thumb Code 8 hal_system.o(i.hal_system_set_phy_calibration) + hal_system_share_flash_mode 0x00018769 Thumb Code 20 hal_system.o(i.hal_system_share_flash_mode) + hal_timer_init 0x0001877d Thumb Code 26 hal_timer.o(i.hal_timer_init) + hal_timer_start 0x00018799 Thumb Code 66 hal_timer.o(i.hal_timer_start) + hal_uart_init 0x000187e1 Thumb Code 126 hal_uart.o(i.hal_uart_init) + hal_uart_transmit_blocking 0x0001886d Thumb Code 12 hal_uart.o(i.hal_uart_transmit_blocking) + handle_init 0x0001887d Thumb Code 140 irq_redirect .o(i.handle_init) + main 0x0001a2bf Thumb Code 16 main.o(i.main) + sqrt 0x0001af6d Thumb Code 66 sqrt.o(i.sqrt) + tp_int_high_timer_init 0x0001b03d Thumb Code 22 app_tp_for_custom_mi8se.o(i.tp_int_high_timer_init) + phone_data_86_0 0x0001b4d4 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_1 0x0001b4dc Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_2 0x0001b4e4 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_3 0x0001b4ec Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_4 0x0001b4f4 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_5 0x0001b4fc Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_6 0x0001b504 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_7 0x0001b50c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_8 0x0001b514 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_9 0x0001b51c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_10 0x0001b524 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_11 0x0001b52c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_12 0x0001b534 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_13 0x0001b53c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_14 0x0001b544 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_15 0x0001b54c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_16 0x0001b554 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_17 0x0001b55c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_18 0x0001b564 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_19 0x0001b56c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_20 0x0001b574 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_21 0x0001b57c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_1800 0x0001b584 Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_86_4000 0x0001b58c Data 8 app_tp_for_custom_mi8se.o(.constdata) + phone_data_A6_0 0x0001b594 Data 208 app_tp_for_custom_mi8se.o(.constdata) + phone_data_A6_1 0x0001b664 Data 4 app_tp_for_custom_mi8se.o(.constdata) + phone_data_A6_2 0x0001b668 Data 28 app_tp_for_custom_mi8se.o(.constdata) + phone_data_A6_3 0x0001b684 Data 4 app_tp_for_custom_mi8se.o(.constdata) + phone_data_A6_4 0x0001b688 Data 28 app_tp_for_custom_mi8se.o(.constdata) + phone_data_A6_5 0x0001b6a4 Data 4 app_tp_for_custom_mi8se.o(.constdata) + phone_data_A6_6 0x0001b6a8 Data 208 app_tp_for_custom_mi8se.o(.constdata) + phone_data_FA_0 0x0001b778 Data 1 app_tp_for_custom_mi8se.o(.constdata) + phone_data_FA_1 0x0001b779 Data 2 app_tp_for_custom_mi8se.o(.constdata) + phone_data_FA_2 0x0001b77b Data 2 app_tp_for_custom_mi8se.o(.constdata) + phone_data_43 0x0001b77d Data 8 app_tp_for_custom_mi8se.o(.constdata) + screen_87_data 0x0001b785 Data 1 app_tp_for_custom_mi8se.o(.constdata) + screen_a0_00_ff_data 0x0001b786 Data 3 app_tp_for_custom_mi8se.o(.constdata) + screen_a4_06_c1_data 0x0001b789 Data 3 app_tp_for_custom_mi8se.o(.constdata) + screen_reg_int_data_size 0x0001b78c Data 1 app_tp_for_custom_mi8se.o(.constdata) + screen_reg_start_data_size 0x0001b78d Data 1 app_tp_for_custom_mi8se.o(.constdata) + Region$$Table$$Base 0x0001bb88 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x0001bbb8 Number 0 anon$$obj.o(Region$$Table) + g_fun_handle 0x00070100 Data 192 irq_redirect .o(.ARM.__AT_0x00070100) + read_bl_data 0x000701dc Data 2 ap_demo.o(.data) + read_bl_data_bak 0x000701de Data 2 ap_demo.o(.data) + rx_filter_1080_h_4_70 0x000701e4 Data 256 ap_demo.o(.data) + rx_filter_2240_v_4_70 0x000702e4 Data 256 ap_demo.o(.data) + phone_data_B1 0x000703e4 Data 2 app_tp_for_custom_mi8se.o(.data) + tp_flag 0x000703e6 Data 1 app_tp_for_custom_mi8se.o(.data) + s8_host_num 0x000703e7 Data 11 app_tp_for_custom_mi8se.o(.data) + s8_host_id 0x000703f2 Data 10 app_tp_for_custom_mi8se.o(.data) + g_screen_input_rst_pad 0x000703fc Data 1 app_tp_for_custom_mi8se.o(.data) + g_screen_input_int_pad 0x000703fd Data 1 app_tp_for_custom_mi8se.o(.data) + g_phone_input_rst_pad 0x000703fe Data 1 app_tp_for_custom_mi8se.o(.data) + g_phone_output_int_pad 0x000703ff Data 1 app_tp_for_custom_mi8se.o(.data) + Flag_EA_EN 0x00070400 Data 1 app_tp_for_custom_mi8se.o(.data) + Flag_touch_count 0x00070401 Data 1 app_tp_for_custom_mi8se.o(.data) + touch_send_flag 0x00070402 Data 1 app_tp_for_custom_mi8se.o(.data) + touch_recv_flag 0x00070403 Data 1 app_tp_for_custom_mi8se.o(.data) + touchnum_bak 0x00070404 Data 1 app_tp_for_custom_mi8se.o(.data) + Flag_blacklight_EN 0x00070405 Data 1 app_tp_for_custom_mi8se.o(.data) + first_touch 0x00070406 Data 2 app_tp_for_custom_mi8se.o(.data) + first_send 0x00070408 Data 2 app_tp_for_custom_mi8se.o(.data) + flnger_state_flg 0x0007040a Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_1 0x0007040c Data 1 app_tp_for_custom_mi8se.o(.data) + screen_data_write_2 0x0007040d Data 1 app_tp_for_custom_mi8se.o(.data) + screen_data_write_3 0x0007040e Data 1 app_tp_for_custom_mi8se.o(.data) + screen_data_write_4 0x0007040f Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_5 0x00070411 Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_6 0x00070413 Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_7 0x00070415 Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_8 0x00070417 Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_9 0x00070419 Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_10 0x0007041b Data 2 app_tp_for_custom_mi8se.o(.data) + screen_data_write_11 0x0007041d Data 1 app_tp_for_custom_mi8se.o(.data) + screen_data_write_12 0x0007041e Data 1 app_tp_for_custom_mi8se.o(.data) + screen_reg_int_data 0x00070420 Data 48 app_tp_for_custom_mi8se.o(.data) + screen_reg_start_data 0x00070450 Data 64 app_tp_for_custom_mi8se.o(.data) + phone_reg_point_data 0x00070490 Data 3 app_tp_for_custom_mi8se.o(.data) + phone_reg_point_back 0x00070493 Data 2 app_tp_for_custom_mi8se.o(.data) + phone_reg_coord_data 0x00070495 Data 1 app_tp_for_custom_mi8se.o(.data) + phone_reg_int_data 0x00070498 Data 32 app_tp_for_custom_mi8se.o(.data) + phone_reg_int_size 0x000704b8 Data 1 app_tp_for_custom_mi8se.o(.data) + phone_reg_const_data 0x000704bc Data 0 app_tp_for_custom_mi8se.o(.data) + phone_reg_const_data_size 0x000704bd Data 1 app_tp_for_custom_mi8se.o(.data) + read_point 0x000704cc Data 1 app_tp_transfer.o(.data) + s_screen_number 0x000704cd Data 2 app_tp_transfer.o(.data) + s_screen_temp 0x000704cf Data 2 app_tp_transfer.o(.data) + s_slave_txbuffer 0x000704d4 Data 4 app_tp_transfer.o(.data) + s_screen_init_complate 0x000704e0 Data 1 app_tp_transfer.o(.data) + u16TouchID 0x000704e2 Data 2 app_tp_transfer.o(.data) + g_fls_w_cmd 0x00070518 Data 1 norflash.o(.data) + g_fls_r_cmd 0x00070519 Data 1 norflash.o(.data) + g_fls_write_en_status 0x0007051a Data 1 norflash.o(.data) + isFlsTransferEnd 0x0007051b Data 1 norflash.o(.data) + isFlsFifoReq 0x0007051c Data 1 norflash.o(.data) + isNandWriteCompleted 0x0007051d Data 1 norflash.o(.data) + isNandReadCompleted 0x0007051e Data 1 norflash.o(.data) + g_fls_error_info 0x00070524 Data 6 norflash.o(.data) + g_systick_cb_func 0x00070530 Data 4 drv_common.o(.data) + g_system_clock 0x00070534 Data 4 drv_common.o(.data) + g_scld_fhd_filter_h 0x0007054c Data 256 drv_param_init.o(.data) + g_scld_fhd_filter_v 0x0007064c Data 256 drv_param_init.o(.data) + g_scld_hd_filter_h 0x0007074c Data 256 drv_param_init.o(.data) + g_scld_hd_filter_v 0x0007084c Data 256 drv_param_init.o(.data) + g_sclu_lanczos_filter 0x0007094c Data 128 drv_param_init.o(.data) + g_ccm_setting 0x000709cc Data 36 drv_param_init.o(.data) + g_sof_gen_te_func 0x00070a64 Data 4 hal_internal_vsync.o(.data) + g_int_rxbr_irq0_cb_func 0x00070a68 Data 4 drv_rxbr.o(.data) + g_int_rxbr_irq1_cb_func 0x00070a6c Data 4 drv_rxbr.o(.data) + g_int_vidc_cb_func 0x00070a70 Data 4 drv_vidc.o(.data) + __stdout 0x00070a98 Data 4 stdout.o(.data) + phone_reg_coord_back 0x00070aa0 Data 80 app_tp_for_custom_mi8se.o(.bss) + s_screen_read_bak 0x00070af0 Data 80 app_tp_transfer.o(.bss) + tp_scan_data 0x00070cd0 Data 12 app_tp_transfer.o(.bss) + string 0x00070dec Data 256 tau_log.o(.bss) + hal_dmahandle 0x00070eec Data 160 hal_uart.o(.bss) + hal_uarthandle_dma 0x00070f8c Data 32 hal_uart.o(.bss) + hal_uart_handle_global 0x00070fac Data 16 hal_uart.o(.bss) + g_vsync_hande 0x00071158 Data 80 hal_internal_vsync.o(.bss) + g_dcs_execute_table 0x000711a8 Data 2048 hal_internal_vsync.o(.bss) + g_packet_fifo 0x00071ac8 Data 4144 dcs_packet_fifo.o(.bss) + g_spis_ctrl_handle 0x00072af8 Data 32 hal_spi_slave.o(.bss) + __stack_limit 0x00072b18 Data 0 startup_armcm0.o(STACK) + __initial_sp 0x00073b18 Data 0 startup_armcm0.o(STACK) + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x000100c1 + + Load Region LR_IROM2 (Base: 0x00010000, Size: 0x0000c488, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x0000c12c]) + + Execution Region ER_IROM2 (Exec base: 0x00010000, Load base: 0x00010000, Size: 0x0000bbb8, Max: 0x00010000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x00010000 0x00010000 0x000000c0 Data RO 494 RESET startup_armcm0.o + 0x000100c0 0x000100c0 0x00000000 Code RO 2574 * .ARM.Collect$$$$00000000 mc_p.l(entry.o) + 0x000100c0 0x000100c0 0x00000004 Code RO 2884 .ARM.Collect$$$$00000001 mc_p.l(entry2.o) + 0x000100c4 0x000100c4 0x00000004 Code RO 2887 .ARM.Collect$$$$00000004 mc_p.l(entry5.o) + 0x000100c8 0x000100c8 0x00000000 Code RO 2889 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o) + 0x000100c8 0x000100c8 0x00000000 Code RO 2891 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o) + 0x000100c8 0x000100c8 0x00000008 Code RO 2892 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o) + 0x000100d0 0x000100d0 0x00000000 Code RO 2894 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o) + 0x000100d0 0x000100d0 0x00000000 Code RO 2896 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o) + 0x000100d0 0x000100d0 0x00000004 Code RO 2885 .ARM.Collect$$$$00002712 mc_p.l(entry2.o) + 0x000100d4 0x000100d4 0x00000078 Code RO 495 .text startup_armcm0.o + 0x0001014c 0x0001014c 0x0000002c Code RO 2577 .text mc_p.l(uidiv.o) + 0x00010178 0x00010178 0x00000028 Code RO 2579 .text mc_p.l(idiv.o) + 0x000101a0 0x000101a0 0x00000024 Code RO 2581 .text mc_p.l(memcpya.o) + 0x000101c4 0x000101c4 0x00000024 Code RO 2583 .text mc_p.l(memseta.o) + 0x000101e8 0x000101e8 0x000000b2 Code RO 2848 .text mf_p.l(fadd.o) + 0x0001029a 0x0001029a 0x0000007a Code RO 2850 .text mf_p.l(fmul.o) + 0x00010314 0x00010314 0x0000007c Code RO 2852 .text mf_p.l(fdiv.o) + 0x00010390 0x00010390 0x00000018 Code RO 2854 .text mf_p.l(fscalb.o) + 0x000103a8 0x000103a8 0x00000164 Code RO 2856 .text mf_p.l(dadd.o) + 0x0001050c 0x0001050c 0x000000d0 Code RO 2858 .text mf_p.l(dmul.o) + 0x000105dc 0x000105dc 0x000000f0 Code RO 2860 .text mf_p.l(ddiv.o) + 0x000106cc 0x000106cc 0x00000016 Code RO 2862 .text mf_p.l(fflti.o) + 0x000106e2 0x000106e2 0x0000000e Code RO 2864 .text mf_p.l(ffltui.o) + 0x000106f0 0x000106f0 0x0000001c Code RO 2868 .text mf_p.l(dfltui.o) + 0x0001070c 0x0001070c 0x00000032 Code RO 2870 .text mf_p.l(ffixi.o) + 0x0001073e 0x0001073e 0x00000028 Code RO 2872 .text mf_p.l(ffixui.o) + 0x00010766 0x00010766 0x00000002 PAD + 0x00010768 0x00010768 0x00000048 Code RO 2874 .text mf_p.l(dfixi.o) + 0x000107b0 0x000107b0 0x0000003c Code RO 2876 .text mf_p.l(dfixui.o) + 0x000107ec 0x000107ec 0x00000028 Code RO 2878 .text mf_p.l(f2d.o) + 0x00010814 0x00010814 0x00000028 Code RO 2880 .text mf_p.l(cdcmple.o) + 0x0001083c 0x0001083c 0x00000014 Code RO 2882 .text mf_p.l(cfrcmple.o) + 0x00010850 0x00010850 0x00000060 Code RO 2899 .text mc_p.l(uldiv.o) + 0x000108b0 0x000108b0 0x00000020 Code RO 2901 .text mc_p.l(llshl.o) + 0x000108d0 0x000108d0 0x00000022 Code RO 2903 .text mc_p.l(llushr.o) + 0x000108f2 0x000108f2 0x00000026 Code RO 2905 .text mc_p.l(llsshr.o) + 0x00010918 0x00010918 0x00000000 Code RO 2914 .text mc_p.l(iusefp.o) + 0x00010918 0x00010918 0x00000082 Code RO 2915 .text mf_p.l(fepilogue.o) + 0x0001099a 0x0001099a 0x000000be Code RO 2917 .text mf_p.l(depilogue.o) + 0x00010a58 0x00010a58 0x000000a2 Code RO 2921 .text mf_p.l(dsqrt.o) + 0x00010afa 0x00010afa 0x00000002 PAD + 0x00010afc 0x00010afc 0x00000040 Code RO 2923 .text mf_p.l(dfixul.o) + 0x00010b3c 0x00010b3c 0x00000028 Code RO 2925 .text mf_p.l(cdrcmple.o) + 0x00010b64 0x00010b64 0x00000024 Code RO 2927 .text mc_p.l(init.o) + 0x00010b88 0x00010b88 0x00000056 Code RO 2937 .text mc_p.l(__dczerorl2.o) + 0x00010bde 0x00010bde 0x00000002 PAD + 0x00010be0 0x00010be0 0x00000018 Code RO 2208 i.ADC_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010bf8 0x00010bf8 0x00000018 Code RO 2209 i.AP_NRESET_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010c10 0x00010c10 0x0000003a Code RO 97 i.AP_SWIRE_init ap_demo.o + 0x00010c4a 0x00010c4a 0x00000002 PAD + 0x00010c4c 0x00010c4c 0x00000014 Code RO 2210 i.DMA_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010c60 0x00010c60 0x0000001c Code RO 2211 i.EXTI_INT0_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010c7c 0x00010c7c 0x0000001c Code RO 2212 i.EXTI_INT1_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010c98 0x00010c98 0x0000001c Code RO 2213 i.EXTI_INT2_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010cb4 0x00010cb4 0x0000001c Code RO 2214 i.EXTI_INT3_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010cd0 0x00010cd0 0x0000001c Code RO 2215 i.EXTI_INT4_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010cec 0x00010cec 0x0000001c Code RO 2216 i.EXTI_INT5_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010d08 0x00010d08 0x0000001c Code RO 2217 i.EXTI_INT6_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010d24 0x00010d24 0x0000001c Code RO 2218 i.EXTI_INT7_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010d40 0x00010d40 0x00000014 Code RO 2219 i.FLSCTRL_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010d54 0x00010d54 0x00000014 Code RO 2220 i.HardFault_Handler CVWL368.lib(irq_redirect .o) + 0x00010d68 0x00010d68 0x00000018 Code RO 2221 i.I2C0_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010d80 0x00010d80 0x00000018 Code RO 2222 i.I2C1_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010d98 0x00010d98 0x00000018 Code RO 2223 i.LCDC_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010db0 0x00010db0 0x00000028 Code RO 956 i.LOG_printf CVWL368.lib(tau_log.o) + 0x00010dd8 0x00010dd8 0x00000018 Code RO 2224 i.MEMC_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010df0 0x00010df0 0x00000018 Code RO 2225 i.MIPI_RX_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010e08 0x00010e08 0x00000018 Code RO 2226 i.MIPI_TX_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010e20 0x00010e20 0x0000001c Code RO 2227 i.PWMDET_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010e3c 0x00010e3c 0x00000034 Code RO 98 i.PWM_Task ap_demo.o + 0x00010e70 0x00010e70 0x0000001a Code RO 99 i.PWM_init ap_demo.o + 0x00010e8a 0x00010e8a 0x00000002 PAD + 0x00010e8c 0x00010e8c 0x0000001c Code RO 2228 i.SPIM_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010ea8 0x00010ea8 0x0000001c Code RO 2229 i.SPIS_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010ec4 0x00010ec4 0x0000001c Code RO 2230 i.SWIRE_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010ee0 0x00010ee0 0x00000018 Code RO 2231 i.SysTick_Handler CVWL368.lib(irq_redirect .o) + 0x00010ef8 0x00010ef8 0x00000018 Code RO 2232 i.TIMER0_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010f10 0x00010f10 0x00000018 Code RO 2233 i.TIMER1_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010f28 0x00010f28 0x00000018 Code RO 2234 i.TIMER2_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010f40 0x00010f40 0x00000018 Code RO 2235 i.TIMER3_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010f58 0x00010f58 0x0000001c Code RO 2452 i.UART0_IRQ_Handle CVWL368.lib(drv_uart.o) + 0x00010f74 0x00010f74 0x00000002 Code RO 2456 i.UART_DisableDma CVWL368.lib(drv_uart.o) + 0x00010f76 0x00010f76 0x00000004 Code RO 2462 i.UART_GetInstance CVWL368.lib(drv_uart.o) + 0x00010f7a 0x00010f7a 0x00000002 PAD + 0x00010f7c 0x00010f7c 0x00000018 Code RO 2236 i.UART_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00010f94 0x00010f94 0x00000024 Code RO 2470 i.UART_ResetRxFIFO CVWL368.lib(drv_uart.o) + 0x00010fb8 0x00010fb8 0x00000048 Code RO 2473 i.UART_SetBaudRate CVWL368.lib(drv_uart.o) + 0x00011000 0x00011000 0x00000014 Data RO 1078 .ARM.__at_0x11000 CVWL368.lib(drv_common.o) + 0x00011014 0x00011014 0x00000002 Code RO 2932 i.__scatterload_null mc_p.l(handlers.o) + 0x00011016 0x00011016 0x00000002 PAD + 0x00011018 0x00011018 0x00000004 Data RO 1079 .ARM.__at_0x11018 CVWL368.lib(drv_common.o) + 0x0001101c 0x0001101c 0x0000001a Code RO 2474 i.UART_SwitchSCLK CVWL368.lib(drv_uart.o) + 0x00011036 0x00011036 0x00000134 Code RO 2476 i.UART_TransferHandleIRQ CVWL368.lib(drv_uart.o) + 0x0001116a 0x0001116a 0x0000001a Code RO 2478 i.UART_WriteBlocking CVWL368.lib(drv_uart.o) + 0x00011184 0x00011184 0x000000bc Code RO 2479 i.UART_init CVWL368.lib(drv_uart.o) + 0x00011240 0x00011240 0x00000018 Code RO 2237 i.VIDC_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00011258 0x00011258 0x00000018 Code RO 2238 i.VPRE_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00011270 0x00011270 0x00000018 Code RO 2239 i.WDG_IRQn_Handler CVWL368.lib(irq_redirect .o) + 0x00011288 0x00011288 0x00000020 Code RO 2820 i.__0printf mc_p.l(printfa.o) + 0x000112a8 0x000112a8 0x00000024 Code RO 2826 i.__0vsprintf mc_p.l(printfa.o) + 0x000112cc 0x000112cc 0x0000002e Code RO 2919 i.__ARM_clz mf_p.l(depilogue.o) + 0x000112fa 0x000112fa 0x0000001a Code RO 592 i.__ARM_common_switch8 CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00011314 0x00011314 0x00000018 Code RO 1399 i.__NVIC_ClearPendingIRQ CVWL368.lib(drv_i2c_master.o) + 0x0001132c 0x0001132c 0x00000018 Code RO 1562 i.__NVIC_ClearPendingIRQ CVWL368.lib(drv_spi_master.o) + 0x00011344 0x00011344 0x00000020 Code RO 2062 i.__NVIC_DisableIRQ CVWL368.lib(drv_rxbr.o) + 0x00011364 0x00011364 0x00000018 Code RO 2063 i.__NVIC_EnableIRQ CVWL368.lib(drv_rxbr.o) + 0x0001137c 0x0001137c 0x00000044 Code RO 2358 i.__NVIC_SetPriority CVWL368.lib(hal_spi_slave.o) + 0x000113c0 0x000113c0 0x0000000e Code RO 2931 i.__scatterload_copy mc_p.l(handlers.o) + 0x000113ce 0x000113ce 0x0000000e Code RO 2933 i.__scatterload_zeroinit mc_p.l(handlers.o) + 0x000113dc 0x000113dc 0x0000000c Code RO 2909 i.__set_errno mc_p.l(errno.o) + 0x000113e8 0x000113e8 0x00000174 Code RO 2827 i._fp_digits mc_p.l(printfa.o) + 0x0001155c 0x0001155c 0x000006ec Code RO 2828 i._printf_core mc_p.l(printfa.o) + 0x00011c48 0x00011c48 0x00000020 Code RO 2829 i._printf_post_padding mc_p.l(printfa.o) + 0x00011c68 0x00011c68 0x0000002c Code RO 2830 i._printf_pre_padding mc_p.l(printfa.o) + 0x00011c94 0x00011c94 0x0000000a Code RO 2832 i._sputc mc_p.l(printfa.o) + 0x00011c9e 0x00011c9e 0x00000002 PAD + 0x00011ca0 0x00011ca0 0x00000038 Code RO 100 i.ap_dcs_read ap_demo.o + 0x00011cd8 0x00011cd8 0x000000ec Code RO 101 i.ap_demo ap_demo.o + 0x00011dc4 0x00011dc4 0x00000054 Code RO 102 i.ap_set_backlight ap_demo.o + 0x00011e18 0x00011e18 0x0000003c Code RO 103 i.ap_set_display_off ap_demo.o + 0x00011e54 0x00011e54 0x0000003c Code RO 104 i.ap_set_display_on ap_demo.o + 0x00011e90 0x00011e90 0x00000064 Code RO 105 i.ap_set_enter_sleep_mode ap_demo.o + 0x00011ef4 0x00011ef4 0x00000044 Code RO 106 i.ap_set_exit_sleep_mode ap_demo.o + 0x00011f38 0x00011f38 0x0000001c Code RO 2064 i.app_ADC_IRQn_Handler CVWL368.lib(drv_rxbr.o) + 0x00011f54 0x00011f54 0x00000024 Code RO 1323 i.app_AP_NRESET_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00011f78 0x00011f78 0x0000001c Code RO 1324 i.app_EXTI_INT0_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00011f94 0x00011f94 0x0000001c Code RO 1325 i.app_EXTI_INT1_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00011fb0 0x00011fb0 0x0000001c Code RO 1326 i.app_EXTI_INT2_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00011fcc 0x00011fcc 0x0000001c Code RO 1327 i.app_EXTI_INT3_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00011fe8 0x00011fe8 0x0000001c Code RO 1328 i.app_EXTI_INT4_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00012004 0x00012004 0x0000001c Code RO 1329 i.app_EXTI_INT5_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00012020 0x00012020 0x0000001c Code RO 1330 i.app_EXTI_INT6_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x0001203c 0x0001203c 0x0000001c Code RO 1331 i.app_EXTI_INT7_IRQn_Handler CVWL368.lib(drv_gpio.o) + 0x00012058 0x00012058 0x00000048 Code RO 1070 i.app_HardFault_Handler CVWL368.lib(drv_common.o) + 0x000120a0 0x000120a0 0x00000018 Code RO 1434 i.app_I2C0_IRQn_Handler CVWL368.lib(drv_i2c_slave.o) + 0x000120b8 0x000120b8 0x00000010 Code RO 1400 i.app_I2C1_IRQn_Handler CVWL368.lib(drv_i2c_master.o) + 0x000120c8 0x000120c8 0x00000130 Code RO 1680 i.app_LCDC_IRQn_Handler CVWL368.lib(hal_internal_vsync.o) + 0x000121f8 0x000121f8 0x00000088 Code RO 2006 i.app_MEMC_IRQn_Handler CVWL368.lib(drv_memc.o) + 0x00012280 0x00012280 0x00000298 Code RO 1778 i.app_MIPI_RX_IRQn_Handler CVWL368.lib(drv_dsi_rx.o) + 0x00012518 0x00012518 0x000000a0 Code RO 1834 i.app_MIPI_TX_IRQn_Handler CVWL368.lib(drv_dsi_tx.o) + 0x000125b8 0x000125b8 0x00000048 Code RO 1483 i.app_PWMDET_IRQn_Handler CVWL368.lib(drv_pwm.o) + 0x00012600 0x00012600 0x00000030 Code RO 1563 i.app_SPIM_IRQn_Handler CVWL368.lib(drv_spi_master.o) + 0x00012630 0x00012630 0x00000200 Code RO 2359 i.app_SPIS_IRQn_Handler CVWL368.lib(hal_spi_slave.o) + 0x00012830 0x00012830 0x00000020 Code RO 1595 i.app_SWIRE_IRQn_Handler CVWL368.lib(drv_swire.o) + 0x00012850 0x00012850 0x00000018 Code RO 1071 i.app_SysTick_Handler CVWL368.lib(drv_common.o) + 0x00012868 0x00012868 0x0000000a Code RO 1645 i.app_TIMER0_IRQn_Handler CVWL368.lib(drv_timer.o) + 0x00012872 0x00012872 0x0000000a Code RO 1646 i.app_TIMER1_IRQn_Handler CVWL368.lib(drv_timer.o) + 0x0001287c 0x0001287c 0x0000000a Code RO 1647 i.app_TIMER2_IRQn_Handler CVWL368.lib(drv_timer.o) + 0x00012886 0x00012886 0x0000000a Code RO 1648 i.app_TIMER3_IRQn_Handler CVWL368.lib(drv_timer.o) + 0x00012890 0x00012890 0x00000008 Code RO 2480 i.app_UART_IRQn_Handler CVWL368.lib(drv_uart.o) + 0x00012898 0x00012898 0x0000001c Code RO 2129 i.app_VIDC_IRQn_Handler CVWL368.lib(drv_vidc.o) + 0x000128b4 0x000128b4 0x0000001c Code RO 2065 i.app_VPRE_IRQn_Handler CVWL368.lib(drv_rxbr.o) + 0x000128d0 0x000128d0 0x00000038 Code RO 2539 i.app_WDG_IRQn_Handler CVWL368.lib(drv_wdg.o) + 0x00012908 0x00012908 0x00000010 Code RO 1185 i.app_dma_irq_handler CVWL368.lib(drv_dma.o) + 0x00012918 0x00012918 0x00000030 Code RO 986 i.app_fls_ctrl_Handler CVWL368.lib(norflash.o) + 0x00012948 0x00012948 0x00000044 Code RO 327 i.app_tp_i2cs_callback app_tp_transfer.o + 0x0001298c 0x0001298c 0x00000064 Code RO 328 i.app_tp_init app_tp_transfer.o + 0x000129f0 0x000129f0 0x00000030 Code RO 329 i.app_tp_m_read app_tp_transfer.o + 0x00012a20 0x00012a20 0x00000008 Code RO 330 i.app_tp_m_transfer_complate app_tp_transfer.o + 0x00012a28 0x00012a28 0x00000474 Code RO 262 i.app_tp_phone_analysis_data_custom app_tp_for_custom_mi8se.o + 0x00012e9c 0x00012e9c 0x0000000c Code RO 332 i.app_tp_phone_clear_reset_on app_tp_transfer.o + 0x00012ea8 0x00012ea8 0x00000010 Code RO 334 i.app_tp_s_read app_tp_transfer.o + 0x00012eb8 0x00012eb8 0x00000010 Code RO 336 i.app_tp_s_write app_tp_transfer.o + 0x00012ec8 0x00012ec8 0x000002b0 Code RO 264 i.app_tp_screen_analysis_int app_tp_for_custom_mi8se.o + 0x00013178 0x00013178 0x0000000c Code RO 338 i.app_tp_screen_int_callback app_tp_transfer.o + 0x00013184 0x00013184 0x00000040 Code RO 339 i.app_tp_screen_int_init app_tp_transfer.o + 0x000131c4 0x000131c4 0x00000004 Code RO 340 i.app_tp_screen_int_lvl_low app_tp_transfer.o + 0x000131c8 0x000131c8 0x0000002c Code RO 341 i.app_tp_transfer_phone app_tp_transfer.o + 0x000131f4 0x000131f4 0x00000054 Code RO 342 i.app_tp_transfer_screen_const app_tp_transfer.o + 0x00013248 0x00013248 0x000000d4 Code RO 343 i.app_tp_transfer_screen_int app_tp_transfer.o + 0x0001331c 0x0001331c 0x00000024 Code RO 344 i.app_tp_transfer_screen_start app_tp_transfer.o + 0x00013340 0x00013340 0x00000024 Code RO 474 i.board_Init board.o + 0x00013364 0x00013364 0x00000472 Code RO 1681 i.calc_framebuffer_setting CVWL368.lib(hal_internal_vsync.o) + 0x000137d6 0x000137d6 0x00000002 PAD + 0x000137d8 0x000137d8 0x000000c8 Code RO 2563 i.ceil m_ps.l(ceil.o) + 0x000138a0 0x000138a0 0x0000002c Code RO 1682 i.check_mipi_rx_tx_video_info CVWL368.lib(hal_internal_vsync.o) + 0x000138cc 0x000138cc 0x00000094 Code RO 1683 i.check_pkt_buf_rev CVWL368.lib(hal_internal_vsync.o) + 0x00013960 0x00013960 0x00000058 Code RO 1765 i.dcs_packet_fifo_alloc CVWL368.lib(dcs_packet_fifo.o) + 0x000139b8 0x000139b8 0x00000018 Code RO 1766 i.dcs_packet_fifo_init CVWL368.lib(dcs_packet_fifo.o) + 0x000139d0 0x000139d0 0x00000044 Code RO 1767 i.dcs_packet_free_fifo_header CVWL368.lib(dcs_packet_fifo.o) + 0x00013a14 0x00013a14 0x00000024 Code RO 1768 i.dcs_packet_get_fifo_header CVWL368.lib(dcs_packet_fifo.o) + 0x00013a38 0x00013a38 0x0000001c Code RO 1684 i.dcs_sw_filter CVWL368.lib(hal_internal_vsync.o) + 0x00013a54 0x00013a54 0x00000018 Code RO 948 i.delayMs CVWL368.lib(tau_delay.o) + 0x00013a6c 0x00013a6c 0x00000022 Code RO 949 i.delayUs CVWL368.lib(tau_delay.o) + 0x00013a8e 0x00013a8e 0x00000002 PAD + 0x00013a90 0x00013a90 0x00000038 Code RO 1614 i.drv_ap_rst_trig_edge_detect CVWL368.lib(drv_sys_cfg.o) + 0x00013ac8 0x00013ac8 0x0000000c Code RO 2329 i.drv_chip_info_get_info CVWL368.lib(drv_chip_info.o) + 0x00013ad4 0x00013ad4 0x00000040 Code RO 2330 i.drv_chip_info_init CVWL368.lib(drv_chip_info.o) + 0x00013b14 0x00013b14 0x000000c8 Code RO 2331 i.drv_chip_rx_info_check CVWL368.lib(drv_chip_info.o) + 0x00013bdc 0x00013bdc 0x00000014 Code RO 2332 i.drv_chip_rx_init_done CVWL368.lib(drv_chip_info.o) + 0x00013bf0 0x00013bf0 0x00000058 Code RO 1073 i.drv_common_enable_systick CVWL368.lib(drv_common.o) + 0x00013c48 0x00013c48 0x00000008 Code RO 1076 i.drv_common_system_init CVWL368.lib(drv_common.o) + 0x00013c50 0x00013c50 0x00000010 Code RO 1098 i.drv_crgu_config_reset_modules CVWL368.lib(drv_crgu.o) + 0x00013c60 0x00013c60 0x00000014 Code RO 1111 i.drv_crgu_set_ahb_pre_div CVWL368.lib(drv_crgu.o) + 0x00013c74 0x00013c74 0x00000014 Code RO 1112 i.drv_crgu_set_ahb_src CVWL368.lib(drv_crgu.o) + 0x00013c88 0x00013c88 0x00000020 Code RO 1115 i.drv_crgu_set_clock CVWL368.lib(drv_crgu.o) + 0x00013ca8 0x00013ca8 0x00000014 Code RO 1116 i.drv_crgu_set_dpi_mux_src CVWL368.lib(drv_crgu.o) + 0x00013cbc 0x00013cbc 0x00000018 Code RO 1117 i.drv_crgu_set_dpi_pre_div CVWL368.lib(drv_crgu.o) + 0x00013cd4 0x00013cd4 0x00000014 Code RO 1118 i.drv_crgu_set_dpi_pre_src CVWL368.lib(drv_crgu.o) + 0x00013ce8 0x00013ce8 0x00000014 Code RO 1119 i.drv_crgu_set_dsc_core_div CVWL368.lib(drv_crgu.o) + 0x00013cfc 0x00013cfc 0x00000014 Code RO 1120 i.drv_crgu_set_dsco_src CVWL368.lib(drv_crgu.o) + 0x00013d10 0x00013d10 0x00000014 Code RO 1121 i.drv_crgu_set_dsco_src_div CVWL368.lib(drv_crgu.o) + 0x00013d24 0x00013d24 0x00000014 Code RO 1122 i.drv_crgu_set_fb_div CVWL368.lib(drv_crgu.o) + 0x00013d38 0x00013d38 0x00000014 Code RO 1123 i.drv_crgu_set_fb_src CVWL368.lib(drv_crgu.o) + 0x00013d4c 0x00013d4c 0x00000014 Code RO 1126 i.drv_crgu_set_lcdc_div CVWL368.lib(drv_crgu.o) + 0x00013d60 0x00013d60 0x00000014 Code RO 1127 i.drv_crgu_set_lcdc_src CVWL368.lib(drv_crgu.o) + 0x00013d74 0x00013d74 0x00000014 Code RO 1128 i.drv_crgu_set_mipi_cfg_src CVWL368.lib(drv_crgu.o) + 0x00013d88 0x00013d88 0x00000018 Code RO 1129 i.drv_crgu_set_mipi_ref_src CVWL368.lib(drv_crgu.o) + 0x00013da0 0x00013da0 0x00000018 Code RO 1132 i.drv_crgu_set_reset CVWL368.lib(drv_crgu.o) + 0x00013db8 0x00013db8 0x00000014 Code RO 1133 i.drv_crgu_set_rxbr_div CVWL368.lib(drv_crgu.o) + 0x00013dcc 0x00013dcc 0x00000014 Code RO 1134 i.drv_crgu_set_rxbr_src CVWL368.lib(drv_crgu.o) + 0x00013de0 0x00013de0 0x00000014 Code RO 1136 i.drv_crgu_set_vidc_src CVWL368.lib(drv_crgu.o) + 0x00013df4 0x00013df4 0x00000018 Code RO 1189 i.drv_dma_clear_flag CVWL368.lib(drv_dma.o) + 0x00013e0c 0x00013e0c 0x0000001c Code RO 1190 i.drv_dma_create_handle CVWL368.lib(drv_dma.o) + 0x00013e28 0x00013e28 0x00000010 Code RO 1192 i.drv_dma_disenable_channel CVWL368.lib(drv_dma.o) + 0x00013e38 0x00013e38 0x00000010 Code RO 1194 i.drv_dma_enable_channel CVWL368.lib(drv_dma.o) + 0x00013e48 0x00013e48 0x00000024 Code RO 1195 i.drv_dma_enable_channel_interrupts CVWL368.lib(drv_dma.o) + 0x00013e6c 0x00013e6c 0x0000000c Code RO 1197 i.drv_dma_get_channel_flag CVWL368.lib(drv_dma.o) + 0x00013e78 0x00013e78 0x00000090 Code RO 1200 i.drv_dma_irq_handler CVWL368.lib(drv_dma.o) + 0x00013f08 0x00013f08 0x00000012 Code RO 1202 i.drv_dma_prepar_transfer CVWL368.lib(drv_dma.o) + 0x00013f1a 0x00013f1a 0x0000001a Code RO 1204 i.drv_dma_set_burst CVWL368.lib(drv_dma.o) + 0x00013f34 0x00013f34 0x00000006 Code RO 1205 i.drv_dma_set_callback CVWL368.lib(drv_dma.o) + 0x00013f3a 0x00013f3a 0x00000002 PAD + 0x00013f3c 0x00013f3c 0x00000044 Code RO 1207 i.drv_dma_set_transfer CVWL368.lib(drv_dma.o) + 0x00013f80 0x00013f80 0x00000036 Code RO 2342 i.drv_dsc_dec_convert_pps_rc_parameter CVWL368.lib(drv_dsc_dec.o) + 0x00013fb6 0x00013fb6 0x0000000c Code RO 2343 i.drv_dsc_dec_disable CVWL368.lib(drv_dsc_dec.o) + 0x00013fc2 0x00013fc2 0x00000002 PAD + 0x00013fc4 0x00013fc4 0x00000074 Code RO 2344 i.drv_dsc_dec_enable CVWL368.lib(drv_dsc_dec.o) + 0x00014038 0x00014038 0x0000000a Code RO 2345 i.drv_dsc_dec_get_nslc CVWL368.lib(drv_dsc_dec.o) + 0x00014042 0x00014042 0x00000028 Code RO 2347 i.drv_dsc_dec_set_u8_pps CVWL368.lib(drv_dsc_dec.o) + 0x0001406a 0x0001406a 0x00000002 PAD + 0x0001406c 0x0001406c 0x00000104 Code RO 1779 i.drv_dsi_rx_calc_ipi_tx_delay CVWL368.lib(drv_dsi_rx.o) + 0x00014170 0x00014170 0x00000040 Code RO 1780 i.drv_dsi_rx_enable_irq CVWL368.lib(drv_dsi_rx.o) + 0x000141b0 0x000141b0 0x00000050 Code RO 1781 i.drv_dsi_rx_get_color_bpp CVWL368.lib(drv_dsi_rx.o) + 0x00014200 0x00014200 0x0000001c Code RO 1782 i.drv_dsi_rx_get_color_pcc CVWL368.lib(drv_dsi_rx.o) + 0x0001421c 0x0001421c 0x00000008 Code RO 1783 i.drv_dsi_rx_get_compression_en CVWL368.lib(drv_dsi_rx.o) + 0x00014224 0x00014224 0x0000000e Code RO 1788 i.drv_dsi_rx_power_up CVWL368.lib(drv_dsi_rx.o) + 0x00014232 0x00014232 0x00000020 Code RO 1789 i.drv_dsi_rx_set_ctrl_cfg CVWL368.lib(drv_dsi_rx.o) + 0x00014252 0x00014252 0x00000010 Code RO 1790 i.drv_dsi_rx_set_ddi_cfg CVWL368.lib(drv_dsi_rx.o) + 0x00014262 0x00014262 0x00000004 Code RO 1792 i.drv_dsi_rx_set_inten CVWL368.lib(drv_dsi_rx.o) + 0x00014266 0x00014266 0x00000010 Code RO 1793 i.drv_dsi_rx_set_ipi_cfg CVWL368.lib(drv_dsi_rx.o) + 0x00014276 0x00014276 0x00000046 Code RO 1795 i.drv_dsi_rx_set_lane_swap CVWL368.lib(drv_dsi_rx.o) + 0x000142bc 0x000142bc 0x00000026 Code RO 1796 i.drv_dsi_rx_set_resp_cnt CVWL368.lib(drv_dsi_rx.o) + 0x000142e2 0x000142e2 0x00000002 PAD + 0x000142e4 0x000142e4 0x00000104 Code RO 1797 i.drv_dsi_rx_set_up_phy CVWL368.lib(drv_dsi_rx.o) + 0x000143e8 0x000143e8 0x00000014 Code RO 1836 i.drv_dsi_tx_command_header CVWL368.lib(drv_dsi_tx.o) + 0x000143fc 0x000143fc 0x0000006c Code RO 1837 i.drv_dsi_tx_command_mode_cfg CVWL368.lib(drv_dsi_tx.o) + 0x00014468 0x00014468 0x00000004 Code RO 1838 i.drv_dsi_tx_command_put_payload CVWL368.lib(drv_dsi_tx.o) + 0x0001446c 0x0001446c 0x00000018 Code RO 1839 i.drv_dsi_tx_config_eotp CVWL368.lib(drv_dsi_tx.o) + 0x00014484 0x00014484 0x00000008 Code RO 1840 i.drv_dsi_tx_config_int CVWL368.lib(drv_dsi_tx.o) + 0x0001448c 0x0001448c 0x00000008 Code RO 1841 i.drv_dsi_tx_dpi_lpcmd_time CVWL368.lib(drv_dsi_tx.o) + 0x00014494 0x00014494 0x0000000a Code RO 1842 i.drv_dsi_tx_dpi_mode CVWL368.lib(drv_dsi_tx.o) + 0x0001449e 0x0001449e 0x00000024 Code RO 1843 i.drv_dsi_tx_dpi_polarity CVWL368.lib(drv_dsi_tx.o) + 0x000144c2 0x000144c2 0x00000004 Code RO 1844 i.drv_dsi_tx_edpi_cmd_size CVWL368.lib(drv_dsi_tx.o) + 0x000144c6 0x000144c6 0x00000004 Code RO 1846 i.drv_dsi_tx_get_cmd_status CVWL368.lib(drv_dsi_tx.o) + 0x000144ca 0x000144ca 0x00000004 Code RO 1848 i.drv_dsi_tx_mode CVWL368.lib(drv_dsi_tx.o) + 0x000144ce 0x000144ce 0x00000018 Code RO 1849 i.drv_dsi_tx_phy_clock_lane_auto_lp CVWL368.lib(drv_dsi_tx.o) + 0x000144e6 0x000144e6 0x0000001a Code RO 1850 i.drv_dsi_tx_phy_clock_lane_req_hs CVWL368.lib(drv_dsi_tx.o) + 0x00014500 0x00014500 0x0000000c Code RO 1852 i.drv_dsi_tx_phy_lane_mode CVWL368.lib(drv_dsi_tx.o) + 0x0001450c 0x0001450c 0x00000064 Code RO 1856 i.drv_dsi_tx_phy_status_ready CVWL368.lib(drv_dsi_tx.o) + 0x00014570 0x00014570 0x0000003e Code RO 1857 i.drv_dsi_tx_phy_status_stopstate CVWL368.lib(drv_dsi_tx.o) + 0x000145ae 0x000145ae 0x00000134 Code RO 1859 i.drv_dsi_tx_phy_test_setup CVWL368.lib(drv_dsi_tx.o) + 0x000146e2 0x000146e2 0x0000001e Code RO 1860 i.drv_dsi_tx_phy_time_cfg CVWL368.lib(drv_dsi_tx.o) + 0x00014700 0x00014700 0x00000008 Code RO 1864 i.drv_dsi_tx_powerup CVWL368.lib(drv_dsi_tx.o) + 0x00014708 0x00014708 0x0000001c Code RO 1865 i.drv_dsi_tx_response_mode CVWL368.lib(drv_dsi_tx.o) + 0x00014724 0x00014724 0x00000018 Code RO 1868 i.drv_dsi_tx_set_bta_ack CVWL368.lib(drv_dsi_tx.o) + 0x0001473c 0x0001473c 0x0000000c Code RO 1869 i.drv_dsi_tx_set_esc_div CVWL368.lib(drv_dsi_tx.o) + 0x00014748 0x00014748 0x00000040 Code RO 1870 i.drv_dsi_tx_set_int CVWL368.lib(drv_dsi_tx.o) + 0x00014788 0x00014788 0x00000010 Code RO 1871 i.drv_dsi_tx_set_time_out_div CVWL368.lib(drv_dsi_tx.o) + 0x00014798 0x00014798 0x00000008 Code RO 1872 i.drv_dsi_tx_set_video_chunk CVWL368.lib(drv_dsi_tx.o) + 0x000147a0 0x000147a0 0x00000022 Code RO 1873 i.drv_dsi_tx_set_video_timing CVWL368.lib(drv_dsi_tx.o) + 0x000147c2 0x000147c2 0x00000008 Code RO 1875 i.drv_dsi_tx_shutdown CVWL368.lib(drv_dsi_tx.o) + 0x000147ca 0x000147ca 0x00000026 Code RO 1876 i.drv_dsi_tx_timeout_cfg CVWL368.lib(drv_dsi_tx.o) + 0x000147f0 0x000147f0 0x000000aa Code RO 1879 i.drv_dsi_tx_video_mode_cfg CVWL368.lib(drv_dsi_tx.o) + 0x0001489a 0x0001489a 0x00000016 Code RO 1880 i.drv_dsi_tx_video_mode_disable_hact_cmd CVWL368.lib(drv_dsi_tx.o) + 0x000148b0 0x000148b0 0x00000018 Code RO 1881 i.drv_dsi_tx_video_mode_set_lp_cmd CVWL368.lib(drv_dsi_tx.o) + 0x000148c8 0x000148c8 0x00000020 Code RO 2280 i.drv_efuse_enter_inactive CVWL368.lib(drv_efuse.o) + 0x000148e8 0x000148e8 0x0000000c Code RO 2283 i.drv_efuse_int_enable CVWL368.lib(drv_efuse.o) + 0x000148f4 0x000148f4 0x00000032 Code RO 2284 i.drv_efuse_read CVWL368.lib(drv_efuse.o) + 0x00014926 0x00014926 0x00000018 Code RO 2285 i.drv_efuse_read_req CVWL368.lib(drv_efuse.o) + 0x0001493e 0x0001493e 0x00000002 PAD + 0x00014940 0x00014940 0x0000001c Code RO 1239 i.drv_fls_gpio_connect CVWL368.lib(drv_fls.o) + 0x0001495c 0x0001495c 0x00000020 Code RO 1240 i.drv_fls_gpio_disconnect CVWL368.lib(drv_fls.o) + 0x0001497c 0x0001497c 0x00000018 Code RO 1332 i.drv_gpio_get_input_data CVWL368.lib(drv_gpio.o) + 0x00014994 0x00014994 0x00000014 Code RO 1335 i.drv_gpio_register_callback CVWL368.lib(drv_gpio.o) + 0x000149a8 0x000149a8 0x00000050 Code RO 1337 i.drv_gpio_set_int CVWL368.lib(drv_gpio.o) + 0x000149f8 0x000149f8 0x00000020 Code RO 1338 i.drv_gpio_set_ioe CVWL368.lib(drv_gpio.o) + 0x00014a18 0x00014a18 0x00000010 Code RO 1339 i.drv_gpio_set_mode0 CVWL368.lib(drv_gpio.o) + 0x00014a28 0x00014a28 0x00000010 Code RO 1340 i.drv_gpio_set_mode1 CVWL368.lib(drv_gpio.o) + 0x00014a38 0x00014a38 0x00000010 Code RO 1341 i.drv_gpio_set_mode2 CVWL368.lib(drv_gpio.o) + 0x00014a48 0x00014a48 0x00000010 Code RO 1342 i.drv_gpio_set_mode3 CVWL368.lib(drv_gpio.o) + 0x00014a58 0x00014a58 0x00000020 Code RO 700 i.drv_gpio_set_output_data CVWL368.lib(hal_gpio.o) + 0x00014a78 0x00014a78 0x00000130 Code RO 1343 i.drv_gpio_set_pull_state CVWL368.lib(drv_gpio.o) + 0x00014ba8 0x00014ba8 0x0000000c Code RO 1435 i.drv_i2c0_set_callback CVWL368.lib(drv_i2c_slave.o) + 0x00014bb4 0x00014bb4 0x0000000c Code RO 1401 i.drv_i2c1_set_callback CVWL368.lib(drv_i2c_master.o) + 0x00014bc0 0x00014bc0 0x00000034 Code RO 1375 i.drv_i2c_dma_callback CVWL368.lib(drv_i2c_dma.o) + 0x00014bf4 0x00014bf4 0x000000ac Code RO 1376 i.drv_i2c_dma_init CVWL368.lib(drv_i2c_dma.o) + 0x00014ca0 0x00014ca0 0x0000001a Code RO 1377 i.drv_i2c_enable_rx_dma CVWL368.lib(drv_i2c_dma.o) + 0x00014cba 0x00014cba 0x00000018 Code RO 1378 i.drv_i2c_enable_tx_dma CVWL368.lib(drv_i2c_dma.o) + 0x00014cd2 0x00014cd2 0x00000002 PAD + 0x00014cd4 0x00014cd4 0x00000060 Code RO 1403 i.drv_i2c_m_clear_it_pending_bit CVWL368.lib(drv_i2c_master.o) + 0x00014d34 0x00014d34 0x00000010 Code RO 1406 i.drv_i2c_m_enable CVWL368.lib(drv_i2c_master.o) + 0x00014d44 0x00014d44 0x00000038 Code RO 1407 i.drv_i2c_m_enable_intr CVWL368.lib(drv_i2c_master.o) + 0x00014d7c 0x00014d7c 0x0000008c Code RO 1413 i.drv_i2c_master_init CVWL368.lib(drv_i2c_master.o) + 0x00014e08 0x00014e08 0x0000005c Code RO 1379 i.drv_i2c_master_read_dma CVWL368.lib(drv_i2c_dma.o) + 0x00014e64 0x00014e64 0x0000002e Code RO 1381 i.drv_i2c_master_write_read_cmd CVWL368.lib(drv_i2c_dma.o) + 0x00014e92 0x00014e92 0x00000042 Code RO 1436 i.drv_i2c_s_clear_it_pending_bit CVWL368.lib(drv_i2c_slave.o) + 0x00014ed4 0x00014ed4 0x00000004 Code RO 1437 i.drv_i2c_s_config_intr CVWL368.lib(drv_i2c_slave.o) + 0x00014ed8 0x00014ed8 0x00000008 Code RO 1438 i.drv_i2c_s_enable CVWL368.lib(drv_i2c_slave.o) + 0x00014ee0 0x00014ee0 0x00000014 Code RO 1439 i.drv_i2c_s_get_fifo_status CVWL368.lib(drv_i2c_slave.o) + 0x00014ef4 0x00014ef4 0x00000050 Code RO 1442 i.drv_i2c_s_set_intr CVWL368.lib(drv_i2c_slave.o) + 0x00014f44 0x00014f44 0x0000001c Code RO 1443 i.drv_i2c_s_write_data CVWL368.lib(drv_i2c_slave.o) + 0x00014f60 0x00014f60 0x00000058 Code RO 1382 i.drv_i2c_set_dma_irq_callback CVWL368.lib(drv_i2c_dma.o) + 0x00014fb8 0x00014fb8 0x00000032 Code RO 1444 i.drv_i2c_slave_init CVWL368.lib(drv_i2c_slave.o) + 0x00014fea 0x00014fea 0x00000002 PAD + 0x00014fec 0x00014fec 0x00000018 Code RO 1383 i.drv_i2c_slave_write_dma CVWL368.lib(drv_i2c_dma.o) + 0x00015004 0x00015004 0x00000018 Code RO 1948 i.drv_lcdc_config_bypass CVWL368.lib(drv_lcdc.o) + 0x0001501c 0x0001501c 0x00000030 Code RO 1949 i.drv_lcdc_config_ccm CVWL368.lib(drv_lcdc.o) + 0x0001504c 0x0001504c 0x00000016 Code RO 1950 i.drv_lcdc_config_disp_mode CVWL368.lib(drv_lcdc.o) + 0x00015062 0x00015062 0x00000024 Code RO 1951 i.drv_lcdc_config_dpi_polarity CVWL368.lib(drv_lcdc.o) + 0x00015086 0x00015086 0x00000026 Code RO 1952 i.drv_lcdc_config_dpi_timing CVWL368.lib(drv_lcdc.o) + 0x000150ac 0x000150ac 0x00000016 Code RO 1953 i.drv_lcdc_config_edpi_mode CVWL368.lib(drv_lcdc.o) + 0x000150c2 0x000150c2 0x00000016 Code RO 1954 i.drv_lcdc_config_endianness CVWL368.lib(drv_lcdc.o) + 0x000150d8 0x000150d8 0x0000000c Code RO 1955 i.drv_lcdc_config_input_size CVWL368.lib(drv_lcdc.o) + 0x000150e4 0x000150e4 0x0000001e Code RO 1956 i.drv_lcdc_config_int CVWL368.lib(drv_lcdc.o) + 0x00015102 0x00015102 0x00000022 Code RO 1957 i.drv_lcdc_config_int_single CVWL368.lib(drv_lcdc.o) + 0x00015124 0x00015124 0x00000022 Code RO 1958 i.drv_lcdc_config_overwrite CVWL368.lib(drv_lcdc.o) + 0x00015146 0x00015146 0x0000000c Code RO 1959 i.drv_lcdc_config_overwrite_rgb CVWL368.lib(drv_lcdc.o) + 0x00015152 0x00015152 0x0000001a Code RO 1960 i.drv_lcdc_config_partial_display_area CVWL368.lib(drv_lcdc.o) + 0x0001516c 0x0001516c 0x00000022 Code RO 1961 i.drv_lcdc_config_partial_display_enable CVWL368.lib(drv_lcdc.o) + 0x0001518e 0x0001518e 0x0000001a Code RO 1963 i.drv_lcdc_config_scale_up_coef CVWL368.lib(drv_lcdc.o) + 0x000151a8 0x000151a8 0x0000000c Code RO 1964 i.drv_lcdc_config_scale_up_step CVWL368.lib(drv_lcdc.o) + 0x000151b4 0x000151b4 0x0000004c Code RO 1965 i.drv_lcdc_config_src_parameter CVWL368.lib(drv_lcdc.o) + 0x00015200 0x00015200 0x00000006 Code RO 1966 i.drv_lcdc_config_thresh CVWL368.lib(drv_lcdc.o) + 0x00015206 0x00015206 0x00000012 Code RO 1967 i.drv_lcdc_ctrl_flow CVWL368.lib(drv_lcdc.o) + 0x00015218 0x00015218 0x00000020 Code RO 1969 i.drv_lcdc_enable_shadow_reg CVWL368.lib(drv_lcdc.o) + 0x00015238 0x00015238 0x00000040 Code RO 1970 i.drv_lcdc_set_int CVWL368.lib(drv_lcdc.o) + 0x00015278 0x00015278 0x00000018 Code RO 1971 i.drv_lcdc_set_prefetch CVWL368.lib(drv_lcdc.o) + 0x00015290 0x00015290 0x00000014 Code RO 1972 i.drv_lcdc_set_video_hw_mode CVWL368.lib(drv_lcdc.o) + 0x000152a4 0x000152a4 0x00000020 Code RO 1973 i.drv_lcdc_start CVWL368.lib(drv_lcdc.o) + 0x000152c4 0x000152c4 0x0000000c Code RO 2007 i.drv_memc_clear_status CVWL368.lib(drv_memc.o) + 0x000152d0 0x000152d0 0x00000040 Code RO 2008 i.drv_memc_enable_irq CVWL368.lib(drv_memc.o) + 0x00015310 0x00015310 0x0000000c Code RO 2009 i.drv_memc_gen_a_tear_signal CVWL368.lib(drv_memc.o) + 0x0001531c 0x0001531c 0x00000012 Code RO 2010 i.drv_memc_get_status CVWL368.lib(drv_memc.o) + 0x0001532e 0x0001532e 0x00000010 Code RO 2011 i.drv_memc_rate_transfer_sel CVWL368.lib(drv_memc.o) + 0x0001533e 0x0001533e 0x0000000e Code RO 2012 i.drv_memc_sel_vsync CVWL368.lib(drv_memc.o) + 0x0001534c 0x0001534c 0x00000014 Code RO 2013 i.drv_memc_set_active_height CVWL368.lib(drv_memc.o) + 0x00015360 0x00015360 0x0000000c Code RO 2014 i.drv_memc_set_data_mode CVWL368.lib(drv_memc.o) + 0x0001536c 0x0001536c 0x00000010 Code RO 2017 i.drv_memc_set_double_buffer CVWL368.lib(drv_memc.o) + 0x0001537c 0x0001537c 0x00000012 Code RO 2018 i.drv_memc_set_double_buffer_reverse CVWL368.lib(drv_memc.o) + 0x0001538e 0x0001538e 0x00000010 Code RO 2020 i.drv_memc_set_fs_en_conditions CVWL368.lib(drv_memc.o) + 0x0001539e 0x0001539e 0x00000014 Code RO 2021 i.drv_memc_set_inten CVWL368.lib(drv_memc.o) + 0x000153b2 0x000153b2 0x00000002 PAD + 0x000153b4 0x000153b4 0x00000018 Code RO 2022 i.drv_memc_set_lcdc_st_conditions CVWL368.lib(drv_memc.o) + 0x000153cc 0x000153cc 0x0000001a Code RO 2023 i.drv_memc_set_ltpo_mode CVWL368.lib(drv_memc.o) + 0x000153e6 0x000153e6 0x0000000e Code RO 2027 i.drv_memc_set_tear_mode CVWL368.lib(drv_memc.o) + 0x000153f4 0x000153f4 0x00000028 Code RO 2028 i.drv_memc_set_tear_waveform CVWL368.lib(drv_memc.o) + 0x0001541c 0x0001541c 0x0000000e Code RO 2030 i.drv_memc_set_vidc_sync_cnt CVWL368.lib(drv_memc.o) + 0x0001542a 0x0001542a 0x00000002 PAD + 0x0001542c 0x0001542c 0x00000008 Code RO 1461 i.drv_param_init_get_ccm CVWL368.lib(drv_param_init.o) + 0x00015434 0x00015434 0x00000014 Code RO 1462 i.drv_param_init_get_scld_filter_h CVWL368.lib(drv_param_init.o) + 0x00015448 0x00015448 0x00000014 Code RO 1463 i.drv_param_init_get_scld_filter_v CVWL368.lib(drv_param_init.o) + 0x0001545c 0x0001545c 0x00000008 Code RO 1464 i.drv_param_init_get_sclu_filter CVWL368.lib(drv_param_init.o) + 0x00015464 0x00015464 0x00000064 Code RO 1466 i.drv_param_init_set_scld_filter CVWL368.lib(drv_param_init.o) + 0x000154c8 0x000154c8 0x00000024 Code RO 1468 i.drv_param_p2r_filter_init CVWL368.lib(drv_param_init.o) + 0x000154ec 0x000154ec 0x00000010 Code RO 2301 i.drv_phy_enable_calibration CVWL368.lib(drv_phy_common.o) + 0x000154fc 0x000154fc 0x0000003c Code RO 2302 i.drv_phy_get_calibration CVWL368.lib(drv_phy_common.o) + 0x00015538 0x00015538 0x00000060 Code RO 2303 i.drv_phy_get_pll_para CVWL368.lib(drv_phy_common.o) + 0x00015598 0x00015598 0x00000054 Code RO 2304 i.drv_phy_get_rate_para CVWL368.lib(drv_phy_common.o) + 0x000155ec 0x000155ec 0x00000010 Code RO 2305 i.drv_phy_test_clear CVWL368.lib(drv_phy_common.o) + 0x000155fc 0x000155fc 0x00000018 Code RO 2306 i.drv_phy_test_lock CVWL368.lib(drv_phy_common.o) + 0x00015614 0x00015614 0x00000020 Code RO 2308 i.drv_phy_test_write_1_byte CVWL368.lib(drv_phy_common.o) + 0x00015634 0x00015634 0x00000026 Code RO 2309 i.drv_phy_test_write_2_byte CVWL368.lib(drv_phy_common.o) + 0x0001565a 0x0001565a 0x0000001e Code RO 2310 i.drv_phy_test_write_code CVWL368.lib(drv_phy_common.o) + 0x00015678 0x00015678 0x00000020 Code RO 2311 i.drv_phy_test_write_data CVWL368.lib(drv_phy_common.o) + 0x00015698 0x00015698 0x00000020 Code RO 1493 i.drv_pwm_out_enable CVWL368.lib(drv_pwm.o) + 0x000156b8 0x000156b8 0x00000010 Code RO 1494 i.drv_pwm_out_get_sync_flag CVWL368.lib(drv_pwm.o) + 0x000156c8 0x000156c8 0x0000000c Code RO 1496 i.drv_pwm_out_set_control CVWL368.lib(drv_pwm.o) + 0x000156d4 0x000156d4 0x0000000c Code RO 1497 i.drv_pwm_out_set_period CVWL368.lib(drv_pwm.o) + 0x000156e0 0x000156e0 0x00000020 Code RO 1498 i.drv_pwm_out_set_sync_mode CVWL368.lib(drv_pwm.o) + 0x00015700 0x00015700 0x0000000c Code RO 1499 i.drv_pwm_out_set_threshold CVWL368.lib(drv_pwm.o) + 0x0001570c 0x0001570c 0x00000018 Code RO 1525 i.drv_pwr_set_pvd_mode CVWL368.lib(drv_pwr.o) + 0x00015724 0x00015724 0x00000038 Code RO 1526 i.drv_pwr_set_system_clk_src CVWL368.lib(drv_pwr.o) + 0x0001575c 0x0001575c 0x0000000c Code RO 1799 i.drv_rx_phy_test_clear CVWL368.lib(drv_dsi_rx.o) + 0x00015768 0x00015768 0x00000010 Code RO 1800 i.drv_rx_phy_test_lock CVWL368.lib(drv_dsi_rx.o) + 0x00015778 0x00015778 0x00000014 Code RO 1802 i.drv_rx_phy_test_write_1_byte CVWL368.lib(drv_dsi_rx.o) + 0x0001578c 0x0001578c 0x00000016 Code RO 1803 i.drv_rx_phy_test_write_2_byte CVWL368.lib(drv_dsi_rx.o) + 0x000157a2 0x000157a2 0x0000000a Code RO 2066 i.drv_rxbr_clear_pkt_buffer CVWL368.lib(drv_rxbr.o) + 0x000157ac 0x000157ac 0x00000004 Code RO 2067 i.drv_rxbr_clear_status0 CVWL368.lib(drv_rxbr.o) + 0x000157b0 0x000157b0 0x0000005a Code RO 2069 i.drv_rxbr_enable_irq CVWL368.lib(drv_rxbr.o) + 0x0001580a 0x0001580a 0x00000002 PAD + 0x0001580c 0x0001580c 0x00000014 Code RO 2070 i.drv_rxbr_frame_drop_cfg CVWL368.lib(drv_rxbr.o) + 0x00015820 0x00015820 0x00000064 Code RO 2071 i.drv_rxbr_get_clk CVWL368.lib(drv_rxbr.o) + 0x00015884 0x00015884 0x00000004 Code RO 2072 i.drv_rxbr_get_col_addr CVWL368.lib(drv_rxbr.o) + 0x00015888 0x00015888 0x00000012 Code RO 1685 i.drv_rxbr_get_int_source CVWL368.lib(hal_internal_vsync.o) + 0x0001589a 0x0001589a 0x00000004 Code RO 2075 i.drv_rxbr_get_page_addr CVWL368.lib(drv_rxbr.o) + 0x0001589e 0x0001589e 0x00000012 Code RO 1686 i.drv_rxbr_get_status0 CVWL368.lib(hal_internal_vsync.o) + 0x000158b0 0x000158b0 0x0000000c Code RO 2077 i.drv_rxbr_hline_rcv0_cfg CVWL368.lib(drv_rxbr.o) + 0x000158bc 0x000158bc 0x00000008 Code RO 2078 i.drv_rxbr_hline_rcv_cfg CVWL368.lib(drv_rxbr.o) + 0x000158c4 0x000158c4 0x0000000c Code RO 2079 i.drv_rxbr_register_irq0_callback CVWL368.lib(drv_rxbr.o) + 0x000158d0 0x000158d0 0x0000000c Code RO 2080 i.drv_rxbr_register_irq1_callback CVWL368.lib(drv_rxbr.o) + 0x000158dc 0x000158dc 0x000000cc Code RO 2082 i.drv_rxbr_set_cmd_filter CVWL368.lib(drv_rxbr.o) + 0x000159a8 0x000159a8 0x00000014 Code RO 2084 i.drv_rxbr_set_color_format CVWL368.lib(drv_rxbr.o) + 0x000159bc 0x000159bc 0x00000014 Code RO 2086 i.drv_rxbr_set_inten CVWL368.lib(drv_rxbr.o) + 0x000159d0 0x000159d0 0x00000010 Code RO 2087 i.drv_rxbr_set_ltpo_drop_th CVWL368.lib(drv_rxbr.o) + 0x000159e0 0x000159e0 0x00000026 Code RO 2089 i.drv_rxbr_set_usr_cfg CVWL368.lib(drv_rxbr.o) + 0x00015a06 0x00015a06 0x00000008 Code RO 2090 i.drv_rxbr_set_usr_col CVWL368.lib(drv_rxbr.o) + 0x00015a0e 0x00015a0e 0x00000008 Code RO 2091 i.drv_rxbr_set_usr_row CVWL368.lib(drv_rxbr.o) + 0x00015a16 0x00015a16 0x00000002 PAD + 0x00015a18 0x00015a18 0x00000020 Code RO 1571 i.drv_spi_m_read_data CVWL368.lib(drv_spi_master.o) + 0x00015a38 0x00015a38 0x00000054 Code RO 1599 i.drv_swire_set_int CVWL368.lib(drv_swire.o) + 0x00015a8c 0x00015a8c 0x0000000c Code RO 1615 i.drv_sys_cfg_clear_all_int CVWL368.lib(drv_sys_cfg.o) + 0x00015a98 0x00015a98 0x00000028 Code RO 1616 i.drv_sys_cfg_clear_pending CVWL368.lib(drv_sys_cfg.o) + 0x00015ac0 0x00015ac0 0x00000018 Code RO 1619 i.drv_sys_cfg_sel_ap_rst_lvl_trig CVWL368.lib(drv_sys_cfg.o) + 0x00015ad8 0x00015ad8 0x00000024 Code RO 1621 i.drv_sys_cfg_sel_gpio_group CVWL368.lib(drv_sys_cfg.o) + 0x00015afc 0x00015afc 0x00000024 Code RO 1622 i.drv_sys_cfg_sel_int_trig CVWL368.lib(drv_sys_cfg.o) + 0x00015b20 0x00015b20 0x00000010 Code RO 1624 i.drv_sys_cfg_set_dma_rx_req CVWL368.lib(drv_sys_cfg.o) + 0x00015b30 0x00015b30 0x00000010 Code RO 1625 i.drv_sys_cfg_set_dma_tx_req CVWL368.lib(drv_sys_cfg.o) + 0x00015b40 0x00015b40 0x00000024 Code RO 1626 i.drv_sys_cfg_set_int CVWL368.lib(drv_sys_cfg.o) + 0x00015b64 0x00015b64 0x0000001a Code RO 1649 i.drv_timer_clear_status_flags CVWL368.lib(drv_timer.o) + 0x00015b7e 0x00015b7e 0x00000020 Code RO 1650 i.drv_timer_enable CVWL368.lib(drv_timer.o) + 0x00015b9e 0x00015b9e 0x00000002 PAD + 0x00015ba0 0x00015ba0 0x00000010 Code RO 1651 i.drv_timer_get_instance CVWL368.lib(drv_timer.o) + 0x00015bb0 0x00015bb0 0x00000010 Code RO 1652 i.drv_timer_get_prescaler CVWL368.lib(drv_timer.o) + 0x00015bc0 0x00015bc0 0x00000044 Code RO 1654 i.drv_timer_handle_interrupt CVWL368.lib(drv_timer.o) + 0x00015c04 0x00015c04 0x00000014 Code RO 1655 i.drv_timer_register_callback CVWL368.lib(drv_timer.o) + 0x00015c18 0x00015c18 0x00000010 Code RO 1656 i.drv_timer_set_compare_val CVWL368.lib(drv_timer.o) + 0x00015c28 0x00015c28 0x00000054 Code RO 1657 i.drv_timer_set_int CVWL368.lib(drv_timer.o) + 0x00015c7c 0x00015c7c 0x00000028 Code RO 1658 i.drv_timer_set_prescaler CVWL368.lib(drv_timer.o) + 0x00015ca4 0x00015ca4 0x0000000a Code RO 1882 i.drv_tx_phy_test_clear CVWL368.lib(drv_dsi_tx.o) + 0x00015cae 0x00015cae 0x0000001c Code RO 1883 i.drv_tx_phy_test_enter CVWL368.lib(drv_dsi_tx.o) + 0x00015cca 0x00015cca 0x0000001c Code RO 1884 i.drv_tx_phy_test_exit CVWL368.lib(drv_dsi_tx.o) + 0x00015ce6 0x00015ce6 0x00000012 Code RO 1886 i.drv_tx_phy_test_write_1_byte CVWL368.lib(drv_dsi_tx.o) + 0x00015cf8 0x00015cf8 0x00000014 Code RO 1887 i.drv_tx_phy_test_write_2_byte CVWL368.lib(drv_dsi_tx.o) + 0x00015d0c 0x00015d0c 0x00000010 Code RO 1888 i.drv_tx_phy_test_write_code CVWL368.lib(drv_dsi_tx.o) + 0x00015d1c 0x00015d1c 0x00000008 Code RO 2130 i.drv_vidc_clear_irq CVWL368.lib(drv_vidc.o) + 0x00015d24 0x00015d24 0x00000018 Code RO 2134 i.drv_vidc_enable CVWL368.lib(drv_vidc.o) + 0x00015d3c 0x00015d3c 0x00000040 Code RO 2135 i.drv_vidc_enable_irq CVWL368.lib(drv_vidc.o) + 0x00015d7c 0x00015d7c 0x00000012 Code RO 2137 i.drv_vidc_get_irq_status CVWL368.lib(drv_vidc.o) + 0x00015d8e 0x00015d8e 0x00000002 PAD + 0x00015d90 0x00015d90 0x00000028 Code RO 2141 i.drv_vidc_init_module_enable CVWL368.lib(drv_vidc.o) + 0x00015db8 0x00015db8 0x0000000c Code RO 2142 i.drv_vidc_register_callback CVWL368.lib(drv_vidc.o) + 0x00015dc4 0x00015dc4 0x00000006 Code RO 2143 i.drv_vidc_reset CVWL368.lib(drv_vidc.o) + 0x00015dca 0x00015dca 0x0000003c Code RO 2145 i.drv_vidc_set_dst_parameter CVWL368.lib(drv_vidc.o) + 0x00015e06 0x00015e06 0x00000014 Code RO 2149 i.drv_vidc_set_irqen CVWL368.lib(drv_vidc.o) + 0x00015e1a 0x00015e1a 0x00000010 Code RO 2150 i.drv_vidc_set_mirror CVWL368.lib(drv_vidc.o) + 0x00015e2a 0x00015e2a 0x00000008 Code RO 2153 i.drv_vidc_set_p2r_hcoef0 CVWL368.lib(drv_vidc.o) + 0x00015e32 0x00015e32 0x00000026 Code RO 2154 i.drv_vidc_set_p2r_hinitb CVWL368.lib(drv_vidc.o) + 0x00015e58 0x00015e58 0x00000026 Code RO 2155 i.drv_vidc_set_p2r_hinitr CVWL368.lib(drv_vidc.o) + 0x00015e7e 0x00015e7e 0x00000002 PAD + 0x00015e80 0x00015e80 0x00000018 Code RO 2156 i.drv_vidc_set_pentile_swap CVWL368.lib(drv_vidc.o) + 0x00015e98 0x00015e98 0x0000000a Code RO 2157 i.drv_vidc_set_pu_ctrl CVWL368.lib(drv_vidc.o) + 0x00015ea2 0x00015ea2 0x00000010 Code RO 2158 i.drv_vidc_set_rotation CVWL368.lib(drv_vidc.o) + 0x00015eb2 0x00015eb2 0x0000000a Code RO 2159 i.drv_vidc_set_scld_hcoef0 CVWL368.lib(drv_vidc.o) + 0x00015ebc 0x00015ebc 0x0000000a Code RO 2160 i.drv_vidc_set_scld_hcoef1 CVWL368.lib(drv_vidc.o) + 0x00015ec6 0x00015ec6 0x00000012 Code RO 2161 i.drv_vidc_set_scld_step CVWL368.lib(drv_vidc.o) + 0x00015ed8 0x00015ed8 0x0000000a Code RO 2162 i.drv_vidc_set_scld_vcoef0 CVWL368.lib(drv_vidc.o) + 0x00015ee2 0x00015ee2 0x0000000a Code RO 2163 i.drv_vidc_set_scld_vcoef1 CVWL368.lib(drv_vidc.o) + 0x00015eec 0x00015eec 0x00000016 Code RO 2164 i.drv_vidc_set_src_parameter CVWL368.lib(drv_vidc.o) + 0x00015f02 0x00015f02 0x00000002 PAD + 0x00015f04 0x00015f04 0x00000010 Code RO 2540 i.drv_wdg_clear_counter CVWL368.lib(drv_wdg.o) + 0x00015f14 0x00015f14 0x00000010 Code RO 2541 i.drv_wdg_clear_edge_flag CVWL368.lib(drv_wdg.o) + 0x00015f24 0x00015f24 0x00000010 Code RO 2544 i.drv_wdg_read_edge_flag CVWL368.lib(drv_wdg.o) + 0x00015f34 0x00015f34 0x00000040 Code RO 2547 i.drv_wdg_set_int CVWL368.lib(drv_wdg.o) + 0x00015f74 0x00015f74 0x0000000a Code RO 1244 i.fls_clr_interrupt_flag CVWL368.lib(drv_fls.o) + 0x00015f7e 0x00015f7e 0x00000014 Code RO 958 i.fputc CVWL368.lib(tau_log.o) + 0x00015f92 0x00015f92 0x00000002 PAD + 0x00015f94 0x00015f94 0x00000034 Code RO 503 i.hal_dsi_rx_ctrl_create_handle CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00015fc8 0x00015fc8 0x00000084 Code RO 507 i.hal_dsi_rx_ctrl_dsc_async_handler CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x0001604c 0x0001604c 0x00000028 Code RO 509 i.hal_dsi_rx_ctrl_gen_a_tear_signal CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00016074 0x00016074 0x00000060 Code RO 513 i.hal_dsi_rx_ctrl_init CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x000160d4 0x000160d4 0x000001a4 Code RO 514 i.hal_dsi_rx_ctrl_init_clk CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00016278 0x00016278 0x000000d8 Code RO 515 i.hal_dsi_rx_ctrl_init_dsi_rx CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00016350 0x00016350 0x00000158 Code RO 516 i.hal_dsi_rx_ctrl_init_memc CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x000164a8 0x000164a8 0x00000138 Code RO 517 i.hal_dsi_rx_ctrl_init_rxbr CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x000165e0 0x000165e0 0x00000230 Code RO 518 i.hal_dsi_rx_ctrl_init_vidc CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00016810 0x00016810 0x0000006c Code RO 525 i.hal_dsi_rx_ctrl_set_cus_scld_filter CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x0001687c 0x0001687c 0x00000034 Code RO 526 i.hal_dsi_rx_ctrl_set_cus_sync_line CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x000168b0 0x000168b0 0x00000038 Code RO 530 i.hal_dsi_rx_ctrl_set_ipi_cfg CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x000168e8 0x000168e8 0x00000072 Code RO 535 i.hal_dsi_rx_ctrl_set_rxbr_clk CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x0001695a 0x0001695a 0x00000002 PAD + 0x0001695c 0x0001695c 0x0000003c Code RO 539 i.hal_dsi_rx_ctrl_start CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00016998 0x00016998 0x00000020 Code RO 542 i.hal_dsi_rx_ctrl_toggle_resolution CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x000169b8 0x000169b8 0x00000190 Code RO 596 i.hal_dsi_tx_calc_video_chunks CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00016b48 0x00016b48 0x00000034 Code RO 597 i.hal_dsi_tx_config_params_for_lane_rate CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00016b7c 0x00016b7c 0x00000450 Code RO 598 i.hal_dsi_tx_count_lane_rate CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00016fcc 0x00016fcc 0x00000094 Code RO 599 i.hal_dsi_tx_crop_pic CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00017060 0x00017060 0x0000002c Code RO 601 i.hal_dsi_tx_ctrl_create_handle CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x0001708c 0x0001708c 0x0000004c Code RO 606 i.hal_dsi_tx_ctrl_enter_init_panel_mode CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000170d8 0x000170d8 0x00000028 Code RO 608 i.hal_dsi_tx_ctrl_exit_init_panel_mode CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00017100 0x00017100 0x000000a4 Code RO 610 i.hal_dsi_tx_ctrl_init CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000171a4 0x000171a4 0x00000024 Code RO 611 i.hal_dsi_tx_ctrl_init_clk CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000171c8 0x000171c8 0x0000000c Code RO 612 i.hal_dsi_tx_ctrl_panel_reset_pin CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000171d4 0x000171d4 0x00000014 Code RO 621 i.hal_dsi_tx_ctrl_set_overwrite_rgb CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000171e8 0x000171e8 0x00000010 Code RO 622 i.hal_dsi_tx_ctrl_set_partial_disp CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000171f8 0x000171f8 0x00000024 Code RO 623 i.hal_dsi_tx_ctrl_set_partial_disp_area CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x0001721c 0x0001721c 0x0000009c Code RO 626 i.hal_dsi_tx_ctrl_start CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000172b8 0x000172b8 0x000000b0 Code RO 629 i.hal_dsi_tx_ctrl_write_cmd CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00017368 0x00017368 0x00000044 Code RO 630 i.hal_dsi_tx_init_data_mode CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000173ac 0x000173ac 0x00000030 Code RO 631 i.hal_dsi_tx_init_dpi_cfg CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000173dc 0x000173dc 0x00000020 Code RO 632 i.hal_dsi_tx_init_interrupt CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000173fc 0x000173fc 0x00000020 Code RO 633 i.hal_dsi_tx_init_phy_cfg CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x0001741c 0x0001741c 0x00000094 Code RO 634 i.hal_dsi_tx_init_remains CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000174b0 0x000174b0 0x00000058 Code RO 635 i.hal_dsi_tx_init_video_mode CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00017508 0x00017508 0x00000044 Code RO 636 i.hal_dsi_tx_send_cmd CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x0001754c 0x0001754c 0x00000018 Code RO 701 i.hal_gpio_ctrl_eint CVWL368.lib(hal_gpio.o) + 0x00017564 0x00017564 0x00000012 Code RO 702 i.hal_gpio_get_input_data CVWL368.lib(hal_gpio.o) + 0x00017576 0x00017576 0x00000002 PAD + 0x00017578 0x00017578 0x00000040 Code RO 705 i.hal_gpio_init_eint CVWL368.lib(hal_gpio.o) + 0x000175b8 0x000175b8 0x00000028 Code RO 707 i.hal_gpio_init_output CVWL368.lib(hal_gpio.o) + 0x000175e0 0x000175e0 0x00000018 Code RO 708 i.hal_gpio_reg_eint_cb CVWL368.lib(hal_gpio.o) + 0x000175f8 0x000175f8 0x00000060 Code RO 711 i.hal_gpio_set_mode CVWL368.lib(hal_gpio.o) + 0x00017658 0x00017658 0x00000008 Code RO 712 i.hal_gpio_set_output_data CVWL368.lib(hal_gpio.o) + 0x00017660 0x00017660 0x00000020 Code RO 714 i.hal_gpio_set_pull_state CVWL368.lib(hal_gpio.o) + 0x00017680 0x00017680 0x0000006c Code RO 740 i.hal_i2c_m_dma_init CVWL368.lib(hal_i2c_master.o) + 0x000176ec 0x000176ec 0x00000020 Code RO 741 i.hal_i2c_m_dma_read CVWL368.lib(hal_i2c_master.o) + 0x0001770c 0x0001770c 0x0000000c Code RO 744 i.hal_i2c_m_transfer_complate CVWL368.lib(hal_i2c_master.o) + 0x00017718 0x00017718 0x00000020 Code RO 745 i.hal_i2c_master_irq_callback CVWL368.lib(hal_i2c_master.o) + 0x00017738 0x00017738 0x00000010 Code RO 759 i.hal_i2c_s_dma_user_callback CVWL368.lib(hal_i2c_slave.o) + 0x00017748 0x00017748 0x0000004c Code RO 760 i.hal_i2c_s_dma_write CVWL368.lib(hal_i2c_slave.o) + 0x00017794 0x00017794 0x000000c8 Code RO 762 i.hal_i2c_s_init CVWL368.lib(hal_i2c_slave.o) + 0x0001785c 0x0001785c 0x00000014 Code RO 763 i.hal_i2c_s_nonblocking_read CVWL368.lib(hal_i2c_slave.o) + 0x00017870 0x00017870 0x0000000c Code RO 771 i.hal_i2c_s_set_transfer CVWL368.lib(hal_i2c_slave.o) + 0x0001787c 0x0001787c 0x00000174 Code RO 774 i.hal_i2c_slave_irq_callback CVWL368.lib(hal_i2c_slave.o) + 0x000179f0 0x000179f0 0x000000fc Code RO 1687 i.hal_internal_init_memc CVWL368.lib(hal_internal_vsync.o) + 0x00017aec 0x00017aec 0x00000010 Code RO 1689 i.hal_internal_sync_get_fb_setting CVWL368.lib(hal_internal_vsync.o) + 0x00017afc 0x00017afc 0x00000010 Code RO 1690 i.hal_internal_sync_get_hight_performan_mode CVWL368.lib(hal_internal_vsync.o) + 0x00017b0c 0x00017b0c 0x0000022c Code RO 1691 i.hal_internal_sync_input_resolution_change CVWL368.lib(hal_internal_vsync.o) + 0x00017d38 0x00017d38 0x00000028 Code RO 1694 i.hal_internal_vsync_deinit CVWL368.lib(hal_internal_vsync.o) + 0x00017d60 0x00017d60 0x00000018 Code RO 1696 i.hal_internal_vsync_get_sync_line CVWL368.lib(hal_internal_vsync.o) + 0x00017d78 0x00017d78 0x0000000c Code RO 1697 i.hal_internal_vsync_get_tear_mode CVWL368.lib(hal_internal_vsync.o) + 0x00017d84 0x00017d84 0x00000118 Code RO 1699 i.hal_internal_vsync_init_rx CVWL368.lib(hal_internal_vsync.o) + 0x00017e9c 0x00017e9c 0x000000b0 Code RO 1700 i.hal_internal_vsync_init_tx CVWL368.lib(hal_internal_vsync.o) + 0x00017f4c 0x00017f4c 0x0000011c Code RO 1701 i.hal_internal_vsync_set_auto_hw_filter CVWL368.lib(hal_internal_vsync.o) + 0x00018068 0x00018068 0x00000014 Code RO 1703 i.hal_internal_vsync_set_rx_state CVWL368.lib(hal_internal_vsync.o) + 0x0001807c 0x0001807c 0x00000024 Code RO 1704 i.hal_internal_vsync_set_sync_line CVWL368.lib(hal_internal_vsync.o) + 0x000180a0 0x000180a0 0x00000080 Code RO 1706 i.hal_internal_vsync_set_tx_state CVWL368.lib(hal_internal_vsync.o) + 0x00018120 0x00018120 0x00000030 Code RO 1707 i.hal_internal_vsync_update_lcdc_addr CVWL368.lib(hal_internal_vsync.o) + 0x00018150 0x00018150 0x00000024 Code RO 637 i.hal_lcdc_config_ccm CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00018174 0x00018174 0x00000058 Code RO 638 i.hal_lcdc_config_remains CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000181cc 0x000181cc 0x00000014 Code RO 639 i.hal_lcdc_config_rgb_to_pentile CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000181e0 0x000181e0 0x00000164 Code RO 640 i.hal_lcdc_config_upscaler CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00018344 0x00018344 0x00000054 Code RO 641 i.hal_lcdc_init_cfg CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00018398 0x00018398 0x00000190 Code RO 642 i.hal_lcdc_init_clk CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00018528 0x00018528 0x00000040 Code RO 643 i.hal_lcdc_init_interrupt CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00018568 0x00018568 0x00000020 Code RO 809 i.hal_pwm_out_common_config CVWL368.lib(hal_pwm.o) + 0x00018588 0x00018588 0x00000010 Code RO 810 i.hal_pwm_out_config_all CVWL368.lib(hal_pwm.o) + 0x00018598 0x00018598 0x000000a4 Code RO 812 i.hal_pwm_out_convert_time CVWL368.lib(hal_pwm.o) + 0x0001863c 0x0001863c 0x0000000c Code RO 814 i.hal_pwm_out_init CVWL368.lib(hal_pwm.o) + 0x00018648 0x00018648 0x00000026 Code RO 816 i.hal_pwm_out_sel_io CVWL368.lib(hal_pwm.o) + 0x0001866e 0x0001866e 0x00000002 PAD + 0x00018670 0x00018670 0x00000034 Code RO 821 i.hal_pwm_out_sync_thr CVWL368.lib(hal_pwm.o) + 0x000186a4 0x000186a4 0x0000000e Code RO 852 i.hal_spi_m_clear_rxfifo CVWL368.lib(hal_spi_master.o) + 0x000186b2 0x000186b2 0x00000008 Code RO 893 i.hal_system_enable_systick CVWL368.lib(hal_system.o) + 0x000186ba 0x000186ba 0x00000002 PAD + 0x000186bc 0x000186bc 0x00000088 Code RO 899 i.hal_system_init CVWL368.lib(hal_system.o) + 0x00018744 0x00018744 0x0000001c Code RO 900 i.hal_system_init_console CVWL368.lib(hal_system.o) + 0x00018760 0x00018760 0x00000008 Code RO 903 i.hal_system_set_phy_calibration CVWL368.lib(hal_system.o) + 0x00018768 0x00018768 0x00000014 Code RO 906 i.hal_system_share_flash_mode CVWL368.lib(hal_system.o) + 0x0001877c 0x0001877c 0x0000001a Code RO 932 i.hal_timer_init CVWL368.lib(hal_timer.o) + 0x00018796 0x00018796 0x00000002 PAD + 0x00018798 0x00018798 0x00000048 Code RO 934 i.hal_timer_start CVWL368.lib(hal_timer.o) + 0x000187e0 0x000187e0 0x0000008c Code RO 969 i.hal_uart_init CVWL368.lib(hal_uart.o) + 0x0001886c 0x0001886c 0x00000010 Code RO 972 i.hal_uart_transmit_blocking CVWL368.lib(hal_uart.o) + 0x0001887c 0x0001887c 0x00000110 Code RO 2240 i.handle_init CVWL368.lib(irq_redirect .o) + 0x0001898c 0x0001898c 0x000000e4 Code RO 107 i.init_mipi_tx ap_demo.o + 0x00018a70 0x00018a70 0x0000184e Code RO 108 i.init_panel ap_demo.o + 0x0001a2be 0x0001a2be 0x00000010 Code RO 3 i.main main.o + 0x0001a2ce 0x0001a2ce 0x00000002 PAD + 0x0001a2d0 0x0001a2d0 0x000000f4 Code RO 109 i.open_mipi_rx ap_demo.o + 0x0001a3c4 0x0001a3c4 0x00000054 Code RO 110 i.pps_update_handle ap_demo.o + 0x0001a418 0x0001a418 0x000003f4 Code RO 1709 i.rx_get_dcs_packet_data CVWL368.lib(hal_internal_vsync.o) + 0x0001a80c 0x0001a80c 0x00000178 Code RO 1710 i.rx_partial_update CVWL368.lib(hal_internal_vsync.o) + 0x0001a984 0x0001a984 0x0000008c Code RO 1711 i.rx_receive_packet CVWL368.lib(hal_internal_vsync.o) + 0x0001aa10 0x0001aa10 0x00000180 Code RO 1712 i.rx_receive_pps CVWL368.lib(hal_internal_vsync.o) + 0x0001ab90 0x0001ab90 0x000000a4 Code RO 1713 i.rxbr_irq0_callback CVWL368.lib(hal_internal_vsync.o) + 0x0001ac34 0x0001ac34 0x000001b4 Code RO 1714 i.rxbr_irq1_callback CVWL368.lib(hal_internal_vsync.o) + 0x0001ade8 0x0001ade8 0x000000c4 Code RO 1715 i.soft_gen_te CVWL368.lib(hal_internal_vsync.o) + 0x0001aeac 0x0001aeac 0x000000c0 Code RO 1716 i.soft_gen_te_double_buffer CVWL368.lib(hal_internal_vsync.o) + 0x0001af6c 0x0001af6c 0x00000048 Code RO 2567 i.sqrt m_ps.l(sqrt.o) + 0x0001afb4 0x0001afb4 0x00000088 Code RO 265 i.tp_int_high_timer_callback app_tp_for_custom_mi8se.o + 0x0001b03c 0x0001b03c 0x0000001c Code RO 266 i.tp_int_high_timer_init app_tp_for_custom_mi8se.o + 0x0001b058 0x0001b058 0x00000068 Code RO 116 i.tx_display_on ap_demo.o + 0x0001b0c0 0x0001b0c0 0x00000028 Code RO 117 i.tx_panel_reset ap_demo.o + 0x0001b0e8 0x0001b0e8 0x00000108 Code RO 1717 i.vidc_callback CVWL368.lib(hal_internal_vsync.o) + 0x0001b1f0 0x0001b1f0 0x000000d0 Code RO 1718 i.vpre_err_reset CVWL368.lib(hal_internal_vsync.o) + 0x0001b2c0 0x0001b2c0 0x000001cc Code RO 1719 i.vsync_set_te_mode CVWL368.lib(hal_internal_vsync.o) + 0x0001b48c 0x0001b48c 0x00000048 Data RO 118 .constdata ap_demo.o + 0x0001b4d4 0x0001b4d4 0x000002ba Data RO 268 .constdata app_tp_for_custom_mi8se.o + 0x0001b78e 0x0001b78e 0x000000d2 Data RO 717 .constdata CVWL368.lib(hal_gpio.o) + 0x0001b860 0x0001b860 0x00000020 Data RO 775 .constdata CVWL368.lib(hal_i2c_slave.o) + 0x0001b880 0x0001b880 0x00000008 Data RO 1469 .constdata CVWL368.lib(drv_param_init.o) + 0x0001b888 0x0001b888 0x00000186 Data RO 2312 .constdata CVWL368.lib(drv_phy_common.o) + 0x0001ba0e 0x0001ba0e 0x00000002 PAD + 0x0001ba10 0x0001ba10 0x00000043 Data RO 646 .conststring CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x0001ba53 0x0001ba53 0x00000001 PAD + 0x0001ba54 0x0001ba54 0x00000134 Data RO 1721 .conststring CVWL368.lib(hal_internal_vsync.o) + 0x0001bb88 0x0001bb88 0x00000030 Data RO 2929 Region$$Table anon$$obj.o + + + Execution Region RW_RAM1 (Exec base: 0x00070000, Load base: 0x0001bbb8, Size: 0x00000000, Max: 0x000000f0, ABSOLUTE) + + **** No section assigned to this execution region **** + + + Execution Region RW_RAM2 (Exec base: 0x00070100, Load base: 0x0001bbb8, Size: 0x000000c0, Max: 0x000000d0, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x00070100 - 0x000000c0 Zero RW 2241 .ARM.__AT_0x00070100 CVWL368.lib(irq_redirect .o) + + + Execution Region RW_RAM3 (Exec base: 0x000701d0, Load base: 0x0001bbb8, Size: 0x00003948, Max: 0x00007e30, ABSOLUTE, COMPRESSED[0x00000574]) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x000701d0 COMPRESSED 0x00000214 Data RW 119 .data ap_demo.o + 0x000703e4 COMPRESSED 0x000000e7 Data RW 269 .data app_tp_for_custom_mi8se.o + 0x000704cb COMPRESSED 0x00000001 PAD + 0x000704cc COMPRESSED 0x0000001b Data RW 346 .data app_tp_transfer.o + 0x000704e7 COMPRESSED 0x00000001 PAD + 0x000704e8 COMPRESSED 0x00000008 Data RW 546 .data CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x000704f0 COMPRESSED 0x00000003 Data RW 647 .data CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x000704f3 COMPRESSED 0x00000001 Data RW 746 .data CVWL368.lib(hal_i2c_master.o) + 0x000704f4 COMPRESSED 0x00000020 Data RW 776 .data CVWL368.lib(hal_i2c_slave.o) + 0x00070514 COMPRESSED 0x00000001 Data RW 822 .data CVWL368.lib(hal_pwm.o) + 0x00070515 COMPRESSED 0x00000003 PAD + 0x00070518 COMPRESSED 0x00000012 Data RW 1026 .data CVWL368.lib(norflash.o) + 0x0007052a COMPRESSED 0x00000002 PAD + 0x0007052c COMPRESSED 0x0000000c Data RW 1080 .data CVWL368.lib(drv_common.o) + 0x00070538 COMPRESSED 0x00000004 Data RW 1347 .data CVWL368.lib(drv_gpio.o) + 0x0007053c COMPRESSED 0x00000008 Data RW 1385 .data CVWL368.lib(drv_i2c_dma.o) + 0x00070544 COMPRESSED 0x00000004 Data RW 1414 .data CVWL368.lib(drv_i2c_master.o) + 0x00070548 COMPRESSED 0x00000004 Data RW 1445 .data CVWL368.lib(drv_i2c_slave.o) + 0x0007054c COMPRESSED 0x000004a4 Data RW 1470 .data CVWL368.lib(drv_param_init.o) + 0x000709f0 COMPRESSED 0x0000000c Data RW 1500 .data CVWL368.lib(drv_pwm.o) + 0x000709fc COMPRESSED 0x00000004 Data RW 1576 .data CVWL368.lib(drv_spi_master.o) + 0x00070a00 COMPRESSED 0x00000008 Data RW 1602 .data CVWL368.lib(drv_swire.o) + 0x00070a08 COMPRESSED 0x00000001 Data RW 1627 .data CVWL368.lib(drv_sys_cfg.o) + 0x00070a09 COMPRESSED 0x00000003 PAD + 0x00070a0c COMPRESSED 0x00000050 Data RW 1660 .data CVWL368.lib(drv_timer.o) + 0x00070a5c COMPRESSED 0x0000000c Data RW 1722 .data CVWL368.lib(hal_internal_vsync.o) + 0x00070a68 COMPRESSED 0x00000008 Data RW 2093 .data CVWL368.lib(drv_rxbr.o) + 0x00070a70 COMPRESSED 0x00000004 Data RW 2166 .data CVWL368.lib(drv_vidc.o) + 0x00070a74 COMPRESSED 0x00000001 Data RW 2313 .data CVWL368.lib(drv_phy_common.o) + 0x00070a75 COMPRESSED 0x00000003 PAD + 0x00070a78 COMPRESSED 0x0000000c Data RW 2333 .data CVWL368.lib(drv_chip_info.o) + 0x00070a84 COMPRESSED 0x00000008 Data RW 2482 .data CVWL368.lib(drv_uart.o) + 0x00070a8c COMPRESSED 0x0000000c Data RW 2549 .data CVWL368.lib(drv_wdg.o) + 0x00070a98 COMPRESSED 0x00000004 Data RW 2898 .data mc_p.l(stdout.o) + 0x00070a9c COMPRESSED 0x00000004 Data RW 2910 .data mc_p.l(errno.o) + 0x00070aa0 - 0x00000050 Zero RW 267 .bss app_tp_for_custom_mi8se.o + 0x00070af0 - 0x000001ec Zero RW 345 .bss app_tp_transfer.o + 0x00070cdc - 0x000000c4 Zero RW 544 .bss CVWL368.lib(hal_dsi_rx_ctrl.o) + 0x00070da0 - 0x0000004c Zero RW 644 .bss CVWL368.lib(hal_dsi_tx_ctrl.o) + 0x00070dec - 0x00000100 Zero RW 959 .bss CVWL368.lib(tau_log.o) + 0x00070eec - 0x000000d0 Zero RW 974 .bss CVWL368.lib(hal_uart.o) + 0x00070fbc - 0x0000001c Zero RW 1209 .bss CVWL368.lib(drv_dma.o) + 0x00070fd8 - 0x00000040 Zero RW 1346 .bss CVWL368.lib(drv_gpio.o) + 0x00071018 - 0x00000140 Zero RW 1384 .bss CVWL368.lib(drv_i2c_dma.o) + 0x00071158 - 0x00000970 Zero RW 1720 .bss CVWL368.lib(hal_internal_vsync.o) + 0x00071ac8 - 0x00001030 Zero RW 1770 .bss CVWL368.lib(dcs_packet_fifo.o) + 0x00072af8 - 0x00000020 Zero RW 2377 .bss CVWL368.lib(hal_spi_slave.o) + 0x00072b18 - 0x00001000 Zero RW 492 STACK startup_armcm0.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 7722 388 72 532 0 23477 ap_demo.o + 1992 256 698 231 80 16113 app_tp_for_custom_mi8se.o + 724 140 0 27 492 12419 app_tp_transfer.o + 36 6 0 0 0 545 board.o + 16 0 0 0 0 9723 main.o + 120 18 192 0 4096 2108 startup_armcm0.o + + ---------------------------------------------------------------------- + 10616 808 1010 792 4668 64385 Object Totals + 0 0 48 0 0 0 (incl. Generated) + 6 0 0 2 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + + 216 32 0 0 4144 252 dcs_packet_fifo.o + 296 96 0 12 0 256 drv_chip_info.o + 192 82 24 12 0 264 drv_common.o + 420 90 0 0 0 1200 drv_crgu.o + 410 28 0 0 28 796 drv_dma.o + 232 28 0 0 0 340 drv_dsc_dec.o + 1624 494 0 0 0 1216 drv_dsi_rx.o + 1528 118 0 0 0 2428 drv_dsi_tx.o + 118 0 0 0 0 256 drv_efuse.o + 70 20 0 0 0 196 drv_fls.o + 784 106 0 4 64 1176 drv_gpio.o + 524 72 0 8 320 548 drv_i2c_dma.o + 360 86 0 4 0 456 drv_i2c_master.o + 292 36 0 4 0 580 drv_i2c_slave.o + 704 6 0 0 0 1504 drv_lcdc.o + 492 28 0 0 0 1112 drv_memc.o + 192 38 8 1188 0 384 drv_param_init.o + 428 30 390 1 0 664 drv_phy_common.o + 188 44 0 12 0 436 drv_pwm.o + 80 18 0 0 0 120 drv_pwr.o + 702 84 0 8 0 1388 drv_rxbr.o + 104 24 0 4 0 188 drv_spi_master.o + 116 12 0 8 0 140 drv_swire.o + 272 58 0 1 0 560 drv_sys_cfg.o + 358 30 0 80 0 872 drv_timer.o + 698 18 0 8 0 680 drv_uart.o + 510 28 0 4 0 1452 drv_vidc.o + 168 22 0 12 0 316 drv_wdg.o + 2620 244 0 8 196 1176 hal_dsi_rx_ctrl.o + 4012 270 67 3 76 2176 hal_dsi_tx_ctrl.o + 338 40 210 0 0 612 hal_gpio.o + 184 36 0 1 0 272 hal_i2c_master.o + 696 72 32 32 0 408 hal_i2c_slave.o + 7418 1596 308 12 2416 2344 hal_internal_vsync.o + 314 22 0 1 0 436 hal_pwm.o + 14 0 0 0 0 68 hal_spi_master.o + 580 32 0 0 32 136 hal_spi_slave.o + 200 32 0 0 0 340 hal_system.o + 98 6 0 0 0 140 hal_timer.o + 156 18 0 0 208 144 hal_uart.o + 1076 324 0 0 192 1980 irq_redirect .o + 48 10 0 18 0 68 norflash.o + 58 0 0 0 0 128 tau_delay.o + 60 10 0 0 256 156 tau_log.o + 200 20 0 0 0 76 ceil.o + 72 6 0 0 0 76 sqrt.o + 86 0 0 0 0 0 __dczerorl2.o + 0 0 0 0 0 0 entry.o + 0 0 0 0 0 0 entry10a.o + 0 0 0 0 0 0 entry11a.o + 8 4 0 0 0 0 entry2.o + 4 0 0 0 0 0 entry5.o + 0 0 0 0 0 0 entry7b.o + 0 0 0 0 0 0 entry8b.o + 8 4 0 0 0 0 entry9a.o + 12 6 0 4 0 60 errno.o + 30 0 0 0 0 0 handlers.o + 40 0 0 0 0 72 idiv.o + 36 8 0 0 0 68 init.o + 0 0 0 0 0 0 iusefp.o + 32 0 0 0 0 68 llshl.o + 38 0 0 0 0 68 llsshr.o + 34 0 0 0 0 68 llushr.o + 36 0 0 0 0 60 memcpya.o + 36 0 0 0 0 100 memseta.o + 2298 104 0 0 0 544 printfa.o + 0 0 0 4 0 0 stdout.o + 44 0 0 0 0 72 uidiv.o + 96 0 0 0 0 84 uldiv.o + 40 2 0 0 0 68 cdcmple.o + 40 2 0 0 0 68 cdrcmple.o + 20 0 0 0 0 68 cfrcmple.o + 356 4 0 0 0 140 dadd.o + 240 6 0 0 0 84 ddiv.o + 236 0 0 0 0 216 depilogue.o + 72 10 0 0 0 72 dfixi.o + 60 10 0 0 0 68 dfixui.o + 64 10 0 0 0 68 dfixul.o + 28 4 0 0 0 68 dfltui.o + 208 6 0 0 0 88 dmul.o + 162 0 0 0 0 80 dsqrt.o + 40 0 0 0 0 60 f2d.o + 178 0 0 0 0 108 fadd.o + 124 0 0 0 0 72 fdiv.o + 130 0 0 0 0 144 fepilogue.o + 50 0 0 0 0 60 ffixi.o + 40 0 0 0 0 60 ffixui.o + 22 0 0 0 0 68 fflti.o + 14 0 0 0 0 68 ffltui.o + 122 0 0 0 0 72 fmul.o + 24 0 0 0 0 60 fscalb.o + + ---------------------------------------------------------------------- + 35388 4646 1042 1464 7932 33640 Library Totals + 58 0 3 11 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Name + + 29950 4440 1039 1445 7932 30364 CVWL368.lib + 272 26 0 0 0 152 m_ps.l + 2838 126 0 8 0 1264 mc_p.l + 2270 54 0 0 0 1860 mf_p.l + + ---------------------------------------------------------------------- + 35388 4646 1042 1464 7932 33640 Library Totals + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 46004 5454 2052 2256 12600 74861 Grand Totals + 46004 5454 2052 1396 12600 74861 ELF Image Totals (compressed) + 46004 5454 2052 1396 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 48056 ( 46.93kB) + Total RW Size (RW Data + ZI Data) 14856 ( 14.51kB) + Total ROM Size (Code + RO Data + RW Data) 49452 ( 48.29kB) + +============================================================================== + diff --git a/project/ISP_368/Listings/ap_demo.txt b/project/ISP_368/Listings/ap_demo.txt new file mode 100644 index 0000000..69d36cd --- /dev/null +++ b/project/ISP_368/Listings/ap_demo.txt @@ -0,0 +1,5299 @@ +; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637] +; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\ap_demo.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\ap_demo.d --cpu=Cortex-M0 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL368 -I..\..\src\app\ap_demo -I.\RTE\_ISP_368 -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_368 --omf_browse=.\objects\ap_demo.crf ..\..\src\app\ap_demo\ap_demo.c] + THUMB + + AREA ||i.AP_SWIRE_init||, CODE, READONLY, ALIGN=1 + + AP_SWIRE_init PROC +;;;1432 +;;;1433 static void AP_SWIRE_init() +000000 b510 PUSH {r4,lr} +;;;1434 { +;;;1435 uint8_t i; +;;;1436 +;;;1437 hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH); +000002 2101 MOVS r1,#1 +000004 2014 MOVS r0,#0x14 +000006 f7fffffe BL hal_gpio_set_output_data +;;;1438 delayMs(1); +00000a 2001 MOVS r0,#1 +00000c f7fffffe BL delayMs +;;;1439 +;;;1440 for(i=0; i<5; i++) +000010 2400 MOVS r4,#0 +000012 e00f B |L1.52| + |L1.20| +;;;1441 { +;;;1442 hal_gpio_set_output_data(IO_PAD_ADCIN,IO_LVL_LOW); +000014 2100 MOVS r1,#0 +000016 2014 MOVS r0,#0x14 +000018 f7fffffe BL hal_gpio_set_output_data +;;;1443 delayUs(10); +00001c 200a MOVS r0,#0xa +00001e f7fffffe BL delayUs +;;;1444 hal_gpio_set_output_data(IO_PAD_ADCIN,IO_LVL_HIGH); +000022 2101 MOVS r1,#1 +000024 2014 MOVS r0,#0x14 +000026 f7fffffe BL hal_gpio_set_output_data +;;;1445 delayUs(10); +00002a 200a MOVS r0,#0xa +00002c f7fffffe BL delayUs +000030 1c60 ADDS r0,r4,#1 ;1440 +000032 b2c4 UXTB r4,r0 ;1440 + |L1.52| +000034 2c05 CMP r4,#5 ;1440 +000036 dbed BLT |L1.20| +;;;1446 } +;;;1447 } +000038 bd10 POP {r4,pc} +;;;1448 + ENDP + + + AREA ||i.PWM_Task||, CODE, READONLY, ALIGN=2 + + PWM_Task PROC +;;;285 +;;;286 void PWM_Task(void) +000000 b510 PUSH {r4,lr} +;;;287 { +;;;288 uint16_t pwm_h; +;;;289 +;;;290 #if 0 // NOTE10ий绰Ϩ +;;;291 if(Flag_blacklight_EN) +;;;292 { +;;;293 read_bl_data_bak = 0; +;;;294 hal_pwm_out_sync_thr(PWM_PERIOD + 1, 0); +;;;295 return; +;;;296 } +;;;297 #endif +;;;298 +;;;299 #if 1// +;;;300 if(read_bl_data != read_bl_data_bak) +000002 480a LDR r0,|L2.44| +000004 8800 LDRH r0,[r0,#0] ; read_bl_data +000006 490a LDR r1,|L2.48| +000008 8809 LDRH r1,[r1,#0] ; read_bl_data_bak +00000a 4288 CMP r0,r1 +00000c d00c BEQ |L2.40| +;;;301 { +;;;302 read_bl_data_bak = read_bl_data; +00000e 4807 LDR r0,|L2.44| +000010 8800 LDRH r0,[r0,#0] ; read_bl_data +000012 4907 LDR r1,|L2.48| +000014 8008 STRH r0,[r1,#0] +;;;303 pwm_h = read_bl_data ; +000016 4805 LDR r0,|L2.44| +000018 8804 LDRH r4,[r0,#0] ; read_bl_data +;;;304 +;;;305 if(pwm_h < PWM_MIN) +00001a 2c0c CMP r4,#0xc +00001c da00 BGE |L2.32| +;;;306 pwm_h = PWM_MIN; +00001e 240c MOVS r4,#0xc + |L2.32| +;;;307 hal_pwm_out_sync_thr(0, pwm_h); +000020 4621 MOV r1,r4 +000022 2000 MOVS r0,#0 +000024 f7fffffe BL hal_pwm_out_sync_thr + |L2.40| +;;;308 } +;;;309 #endif +;;;310 +;;;311 } +000028 bd10 POP {r4,pc} +;;;312 #endif + ENDP + +00002a 0000 DCW 0x0000 + |L2.44| + DCD read_bl_data + |L2.48| + DCD read_bl_data_bak + + AREA ||i.PWM_init||, CODE, READONLY, ALIGN=1 + + PWM_init PROC +;;;277 //} +;;;278 static void PWM_init(void) +000000 b508 PUSH {r3,lr} +;;;279 { +;;;280 // 1ms ڳʼ͵ƽ1000 +;;;281 hal_pwm_out_init(); +000002 f7fffffe BL hal_pwm_out_init +;;;282 hal_pwm_out_config_all(PWMO_CTRL_HIGH, PWMO_CTRL_LOW, PWM_PERIOD, 0, PWM_PERIOD); +000006 20ff MOVS r0,#0xff +000008 3001 ADDS r0,#1 +00000a 2300 MOVS r3,#0 +00000c 4602 MOV r2,r0 +00000e 2101 MOVS r1,#1 +000010 9000 STR r0,[sp,#0] +000012 2002 MOVS r0,#2 +000014 f7fffffe BL hal_pwm_out_config_all +;;;283 // hal_pwm_out_config_all(PWMO_CTRL_HIGH, PWMO_CTRL_LOW, PWM_PERIOD/2, 0, PWM_PERIOD); +;;;284 } +000018 bd08 POP {r3,pc} +;;;285 + ENDP + + + AREA ||i.ap_dcs_read||, CODE, READONLY, ALIGN=2 + + ap_dcs_read PROC +;;;233 +;;;234 static bool ap_dcs_read(uint8_t data_type, uint8_t dcs_cmd, uint8_t param) +000000 b570 PUSH {r4-r6,lr} +;;;235 { +000002 4605 MOV r5,r0 +000004 460c MOV r4,r1 +000006 4616 MOV r6,r2 +;;;236 TAU_LOGD("cmd=%x\n", dcs_cmd); +000008 bf00 NOP +00000a 4623 MOV r3,r4 +00000c 22ec MOVS r2,#0xec +00000e a103 ADR r1,|L4.28| +000010 a004 ADR r0,|L4.36| +000012 f7fffffe BL LOG_printf +000016 bf00 NOP +;;;237 return true; +000018 2001 MOVS r0,#1 +;;;238 } +00001a bd70 POP {r4-r6,pc} +;;;239 #if 1 + ENDP + + |L4.28| +00001c 4d693853 DCB "Mi8SE",0 +000020 4500 +000022 00 DCB 0 +000023 00 DCB 0 + |L4.36| +000024 5b25735d DCB "[%s] (%04d) cmd=%x\n",0 +000028 20282530 +00002c 34642920 +000030 636d643d +000034 25780a00 + + AREA ||i.ap_demo||, CODE, READONLY, ALIGN=2 + + ap_demo PROC +;;;1543 +;;;1544 void ap_demo(void) +000000 2100 MOVS r1,#0 +;;;1545 { +;;;1546 hal_gpio_init_output(IO_PAD_PWMEN, IO_LVL_LOW); +000002 2013 MOVS r0,#0x13 +000004 f7fffffe BL hal_gpio_init_output +;;;1547 hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_LOW); +000008 2100 MOVS r1,#0 +00000a 2014 MOVS r0,#0x14 +00000c f7fffffe BL hal_gpio_init_output +;;;1548 hal_gpio_init_output(IO_PAD_AP_SWIRE, IO_LVL_LOW); +000010 2100 MOVS r1,#0 +000012 2004 MOVS r0,#4 +000014 f7fffffe BL hal_gpio_init_output +;;;1549 hal_pwm_out_sel_io(IO_PAD_AP_SWIRE); +000018 2004 MOVS r0,#4 +00001a f7fffffe BL hal_pwm_out_sel_io +;;;1550 /* mipi rxʼ */ +;;;1551 open_mipi_rx(); +00001e f7fffffe BL open_mipi_rx +;;;1552 +;;;1553 PWM_init(); +000022 f7fffffe BL PWM_init +;;;1554 AP_SWIRE_init(); +000026 f7fffffe BL AP_SWIRE_init +;;;1555 #if SHARE_FLASH_MODE +;;;1556 hal_system_share_flash_mode(true); // ʹڲFLASH +00002a 2001 MOVS r0,#1 +00002c f7fffffe BL hal_system_share_flash_mode +;;;1557 #endif +;;;1558 +;;;1559 /* swire ʼ */ +;;;1560 // swire_init(); +;;;1561 +;;;1562 /* Ӧ,1.8V AP TP1.8, PWMEN ӵ AP AVDD_SWIRE, ڼϢAC */ +;;;1563 +;;;1564 if (hal_gpio_get_input_data(IO_PAD_AP_TPRSTN)) +000030 2015 MOVS r0,#0x15 +000032 f7fffffe BL hal_gpio_get_input_data +000036 2800 CMP r0,#0 +000038 d00a BEQ |L5.80| +;;;1565 { +;;;1566 /* Ϣ */ +;;;1567 start_display_on = true; +00003a 2001 MOVS r0,#1 +00003c 491c LDR r1,|L5.176| +00003e 7008 STRB r0,[r1,#0] +;;;1568 TAU_LOGD("DC\n"); +000040 bf00 NOP +000042 2231 MOVS r2,#0x31 +000044 0152 LSLS r2,r2,#5 +000046 a11b ADR r1,|L5.180| +000048 a01c ADR r0,|L5.188| +00004a f7fffffe BL LOG_printf +00004e e006 B |L5.94| + |L5.80| +;;;1569 } +;;;1570 else +;;;1571 { +;;;1572 /* AC */ +;;;1573 TAU_LOGD("AC\n"); +000050 bf00 NOP +000052 4a1e LDR r2,|L5.204| +000054 a117 ADR r1,|L5.180| +000056 a01e ADR r0,|L5.208| +000058 f7fffffe BL LOG_printf +00005c bf00 NOP + |L5.94| +;;;1574 } +;;;1575 +;;;1576 // NVIC_SetPriority(I2C0_IRQn, 0x00); +;;;1577 // NVIC_SetPriority(I2C1_IRQn, 0x01); +;;;1578 /* TP1.8е֮ǰʹTEʾ֮лΪӲTE */ +;;;1579 // soft_te_timer_init(); +;;;1580 +;;;1581 /* mipi tx ʼ*/ +;;;1582 +;;;1583 init_mipi_tx(); +00005e f7fffffe BL init_mipi_tx +;;;1584 +;;;1585 #if 0 // TEST RGB, From Lin +;;;1586 RGB_TEST(); +;;;1587 #endif +;;;1588 +;;;1589 /* touch ģʼ */ +;;;1590 app_tp_init(); +000062 f7fffffe BL app_tp_init +;;;1591 +;;;1592 // hal_dsi_rx_ctrl_enable_test_pattern(g_rx_ctrl_handle, 0, true);//TEST +;;;1593 loop_count =1; +000066 2001 MOVS r0,#1 +000068 491d LDR r1,|L5.224| +00006a 6008 STR r0,[r1,#0] ; loop_count +;;;1594 while (1) +00006c e01e B |L5.172| + |L5.110| +;;;1595 { +;;;1596 /* ȴ AP TP ϵ*/ +;;;1597 if (start_display_on == true) +00006e 4810 LDR r0,|L5.176| +000070 7800 LDRB r0,[r0,#0] ; start_display_on +000072 2801 CMP r0,#1 +000074 d10b BNE |L5.142| +;;;1598 { +;;;1599 /* ʼ */ +;;;1600 tx_display_on(); +000076 f7fffffe BL tx_display_on +;;;1601 +;;;1602 #if SHARE_FLASH_MODE +;;;1603 //hal_system_share_flash_mode(false); // ڲFLASHر +;;;1604 #endif +;;;1605 +;;;1606 start_display_on = false; +00007a 2000 MOVS r0,#0 +00007c 490c LDR r1,|L5.176| +00007e 7008 STRB r0,[r1,#0] +;;;1607 panel_display_done = true; +000080 2001 MOVS r0,#1 +000082 4918 LDR r1,|L5.228| +000084 7008 STRB r0,[r1,#0] +;;;1608 +;;;1609 app_tp_phone_clear_reset_on(); +000086 f7fffffe BL app_tp_phone_clear_reset_on +;;;1610 +;;;1611 /* TP ģͨѶʼ */ +;;;1612 #ifndef DISABLE_TDDI_I2C_FUNCTION +;;;1613 app_tp_transfer_screen_start(); +00008a f7fffffe BL app_tp_transfer_screen_start + |L5.142| +;;;1614 #endif +;;;1615 } +;;;1616 +;;;1617 if(panel_display_done) +00008e 4815 LDR r0,|L5.228| +000090 7800 LDRB r0,[r0,#0] ; panel_display_done +000092 2800 CMP r0,#0 +000094 d001 BEQ |L5.154| +;;;1618 { +;;;1619 PWM_Task(); +000096 f7fffffe BL PWM_Task + |L5.154| +;;;1620 } +;;;1621 /* ȴ TP жϱTP Эת */ +;;;1622 #ifndef DISABLE_TDDI_I2C_FUNCTION +;;;1623 app_tp_transfer_screen_int(); +00009a f7fffffe BL app_tp_transfer_screen_int +;;;1624 #endif +;;;1625 +;;;1626 while (hal_dsi_rx_ctrl_dsc_async_handler(g_rx_ctrl_handle)); +00009e bf00 NOP + |L5.160| +0000a0 4811 LDR r0,|L5.232| +0000a2 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +0000a4 f7fffffe BL hal_dsi_rx_ctrl_dsc_async_handler +0000a8 2800 CMP r0,#0 +0000aa d1f9 BNE |L5.160| + |L5.172| +0000ac e7df B |L5.110| +;;;1627 +;;;1628 } +;;;1629 } +;;;1630 + ENDP + +0000ae 0000 DCW 0x0000 + |L5.176| + DCD start_display_on + |L5.180| +0000b4 4d693853 DCB "Mi8SE",0 +0000b8 4500 +0000ba 00 DCB 0 +0000bb 00 DCB 0 + |L5.188| +0000bc 5b25735d DCB "[%s] (%04d) DC\n",0 +0000c0 20282530 +0000c4 34642920 +0000c8 44430a00 + |L5.204| + DCD 0x00000625 + |L5.208| +0000d0 5b25735d DCB "[%s] (%04d) AC\n",0 +0000d4 20282530 +0000d8 34642920 +0000dc 41430a00 + |L5.224| + DCD loop_count + |L5.228| + DCD panel_display_done + |L5.232| + DCD g_rx_ctrl_handle + + AREA ||i.ap_set_backlight||, CODE, READONLY, ALIGN=2 + + ap_set_backlight PROC +;;;387 #if 1 // +;;;388 static bool ap_set_backlight(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* dcs_packet) +000000 b5fe PUSH {r1-r7,lr} +;;;389 { +000002 460d MOV r5,r1 +;;;390 uint32_t temp_in_max = 0x3FF; +000004 4e11 LDR r6,|L6.76| +;;;391 uint32_t temp_in_min = 0x08; +000006 2408 MOVS r4,#8 +;;;392 uint32_t temp_out_max = 255; +000008 20ff MOVS r0,#0xff +00000a 9002 STR r0,[sp,#8] +;;;393 uint32_t temp_out_min = 12; +00000c 200c MOVS r0,#0xc +00000e 9001 STR r0,[sp,#4] +;;;394 uint32_t src_bl; +;;;395 +;;;396 src_bl = (dcs_packet->packet_param[0] << 8) | dcs_packet->packet_param[1]; +000010 68e8 LDR r0,[r5,#0xc] +000012 7800 LDRB r0,[r0,#0] +000014 0200 LSLS r0,r0,#8 +000016 68e9 LDR r1,[r5,#0xc] +000018 7849 LDRB r1,[r1,#1] +00001a 4308 ORRS r0,r0,r1 +00001c 4607 MOV r7,r0 +;;;397 // TAU_LOGD("src_bl[%x]. len[%d]", src_bl ,dcs_packet->param_length); +;;;398 +;;;399 if(src_bl <= temp_in_min) +00001e 42a7 CMP r7,r4 +000020 d801 BHI |L6.38| +;;;400 src_bl = temp_in_min; +000022 4627 MOV r7,r4 +000024 e002 B |L6.44| + |L6.38| +;;;401 else if(src_bl >= temp_in_max) +000026 42b7 CMP r7,r6 +000028 d300 BCC |L6.44| +;;;402 src_bl = temp_in_max; +00002a 4637 MOV r7,r6 + |L6.44| +;;;403 +;;;404 read_bl_data = temp_out_min + (src_bl - temp_in_min) * (temp_out_max - temp_out_min) / (temp_in_max - temp_in_min); +00002c 1b38 SUBS r0,r7,r4 +00002e 9b01 LDR r3,[sp,#4] +000030 9a02 LDR r2,[sp,#8] +000032 1ad2 SUBS r2,r2,r3 +000034 4350 MULS r0,r2,r0 +000036 1b31 SUBS r1,r6,r4 +000038 9000 STR r0,[sp,#0] +00003a f7fffffe BL __aeabi_uidivmod +00003e 9901 LDR r1,[sp,#4] +000040 1840 ADDS r0,r0,r1 +000042 4903 LDR r1,|L6.80| +000044 8008 STRH r0,[r1,#0] +;;;405 // TAU_LOGD("read_bl_data[%4x]", read_bl_data); +;;;406 return true; +000046 2001 MOVS r0,#1 +;;;407 } +000048 bdfe POP {r1-r7,pc} +;;;408 #endif + ENDP + +00004a 0000 DCW 0x0000 + |L6.76| + DCD 0x000003ff + |L6.80| + DCD read_bl_data + + AREA ||i.ap_set_display_off||, CODE, READONLY, ALIGN=2 + + ap_set_display_off PROC +;;;350 +;;;351 static bool ap_set_display_off(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +000000 b570 PUSH {r4-r6,lr} +;;;352 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;353 +;;;354 //delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x28); +;;;355 TAU_LOGD("disp off \n"); +000006 bf00 NOP +000008 22ff MOVS r2,#0xff +00000a 3264 ADDS r2,r2,#0x64 +00000c a103 ADR r1,|L7.28| +00000e a005 ADR r0,|L7.36| +000010 f7fffffe BL LOG_printf +000014 bf00 NOP +;;;356 // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_LOW); +;;;357 // hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_LOW); +;;;358 // hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_LOW); +;;;359 // hal_swire_open(DISABLE); +;;;360 return true; +000016 2001 MOVS r0,#1 +;;;361 } +000018 bd70 POP {r4-r6,pc} +;;;362 + ENDP + +00001a 0000 DCW 0x0000 + |L7.28| +00001c 4d693853 DCB "Mi8SE",0 +000020 4500 +000022 00 DCB 0 +000023 00 DCB 0 + |L7.36| +000024 5b25735d DCB "[%s] (%04d) disp off \n",0 +000028 20282530 +00002c 34642920 +000030 64697370 +000034 206f6666 +000038 200a00 +00003b 00 DCB 0 + + AREA ||i.ap_set_display_on||, CODE, READONLY, ALIGN=2 + + ap_set_display_on PROC +;;;343 +;;;344 static bool ap_set_display_on(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +000000 b570 PUSH {r4-r6,lr} +;;;345 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;346 +;;;347 TAU_LOGD("disp on \n"); +000006 bf00 NOP +000008 22ff MOVS r2,#0xff +00000a 325c ADDS r2,r2,#0x5c +00000c a103 ADR r1,|L8.28| +00000e a005 ADR r0,|L8.36| +000010 f7fffffe BL LOG_printf +000014 bf00 NOP +;;;348 return true; +000016 2001 MOVS r0,#1 +;;;349 } +000018 bd70 POP {r4-r6,pc} +;;;350 + ENDP + +00001a 0000 DCW 0x0000 + |L8.28| +00001c 4d693853 DCB "Mi8SE",0 +000020 4500 +000022 00 DCB 0 +000023 00 DCB 0 + |L8.36| +000024 5b25735d DCB "[%s] (%04d) disp on \n",0 +000028 20282530 +00002c 34642920 +000030 64697370 +000034 206f6e20 +000038 0a00 +00003a 00 DCB 0 +00003b 00 DCB 0 + + AREA ||i.ap_set_enter_sleep_mode||, CODE, READONLY, ALIGN=2 + + ap_set_enter_sleep_mode PROC +;;;362 +;;;363 static bool ap_set_enter_sleep_mode(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +000000 b570 PUSH {r4-r6,lr} +;;;364 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;365 TAU_LOGD("enter sleep mode\n"); +000006 bf00 NOP +000008 22ff MOVS r2,#0xff +00000a 326e ADDS r2,r2,#0x6e +00000c a10b ADR r1,|L9.60| +00000e a00d ADR r0,|L9.68| +000010 f7fffffe BL LOG_printf +000014 bf00 NOP +;;;366 // delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x10); +;;;367 +;;;368 hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_LOW); +000016 2100 MOVS r1,#0 +000018 2013 MOVS r0,#0x13 +00001a f7fffffe BL hal_gpio_set_output_data +;;;369 hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_LOW); +00001e 2100 MOVS r1,#0 +000020 2004 MOVS r0,#4 +000022 f7fffffe BL hal_gpio_set_output_data +;;;370 hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_LOW); +000026 2100 MOVS r1,#0 +000028 2014 MOVS r0,#0x14 +00002a f7fffffe BL hal_gpio_set_output_data +;;;371 +;;;372 hal_pwm_out_sync_thr(PWM_PERIOD + 1, 0); +00002e 2100 MOVS r1,#0 +000030 20ff MOVS r0,#0xff +000032 3002 ADDS r0,#2 +000034 f7fffffe BL hal_pwm_out_sync_thr +;;;373 +;;;374 // hal_system_set_vcc(false); +;;;375 +;;;376 return true; +000038 2001 MOVS r0,#1 +;;;377 } +00003a bd70 POP {r4-r6,pc} +;;;378 + ENDP + + |L9.60| +00003c 4d693853 DCB "Mi8SE",0 +000040 4500 +000042 00 DCB 0 +000043 00 DCB 0 + |L9.68| +000044 5b25735d DCB "[%s] (%04d) enter sleep mode\n",0 +000048 20282530 +00004c 34642920 +000050 656e7465 +000054 7220736c +000058 65657020 +00005c 6d6f6465 +000060 0a00 +000062 00 DCB 0 +000063 00 DCB 0 + + AREA ||i.ap_set_exit_sleep_mode||, CODE, READONLY, ALIGN=2 + + ap_set_exit_sleep_mode PROC +;;;378 +;;;379 static bool ap_set_exit_sleep_mode(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +000000 b570 PUSH {r4-r6,lr} +;;;380 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;381 TAU_LOGD("exit sleep mode\n"); +000006 bf00 NOP +000008 22ff MOVS r2,#0xff +00000a 327e ADDS r2,r2,#0x7e +00000c a103 ADR r1,|L10.28| +00000e a005 ADR r0,|L10.36| +000010 f7fffffe BL LOG_printf +000014 bf00 NOP +;;;382 /* AVDD ϵ, ڽϢPPS */ +;;;383 // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); +;;;384 return true; +000016 2001 MOVS r0,#1 +;;;385 } +000018 bd70 POP {r4-r6,pc} +;;;386 + ENDP + +00001a 0000 DCW 0x0000 + |L10.28| +00001c 4d693853 DCB "Mi8SE",0 +000020 4500 +000022 00 DCB 0 +000023 00 DCB 0 + |L10.36| +000024 5b25735d DCB "[%s] (%04d) exit sleep mode\n",0 +000028 20282530 +00002c 34642920 +000030 65786974 +000034 20736c65 +000038 6570206d +00003c 6f64650a +000040 00 +000041 00 DCB 0 +000042 00 DCB 0 +000043 00 DCB 0 + + AREA ||i.init_mipi_tx||, CODE, READONLY, ALIGN=2 + + init_mipi_tx PROC +;;;1374 +;;;1375 static void init_mipi_tx(void) +000000 b510 PUSH {r4,lr} +;;;1376 { +;;;1377 if (g_tx_ctrl_handle == NULL) +000002 4835 LDR r0,|L11.216| +000004 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +000006 2800 CMP r0,#0 +000008 d103 BNE |L11.18| +;;;1378 { +;;;1379 g_tx_ctrl_handle = hal_dsi_tx_ctrl_create_handle(); +00000a f7fffffe BL hal_dsi_tx_ctrl_create_handle +00000e 4932 LDR r1,|L11.216| +000010 6008 STR r0,[r1,#0] ; g_tx_ctrl_handle + |L11.18| +;;;1380 } +;;;1381 g_tx_ctrl_handle->channel_id = OUTPUT_VC; +000012 2000 MOVS r0,#0 +000014 4930 LDR r1,|L11.216| +000016 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000018 7088 STRB r0,[r1,#2] +;;;1382 g_tx_ctrl_handle->lane_num = OUTPUT_LANE_NUMBER; +00001a 2004 MOVS r0,#4 +00001c 492e LDR r1,|L11.216| +00001e 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000020 7048 STRB r0,[r1,#1] +;;;1383 g_tx_ctrl_handle->vid_mode = OUTPUT_VIDEO_MODEL; +000022 2002 MOVS r0,#2 +000024 492c LDR r1,|L11.216| +000026 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000028 70c8 STRB r0,[r1,#3] +;;;1384 g_tx_ctrl_handle->cmd_tx_type = _CMD_TYPE; +00002a 2001 MOVS r0,#1 +00002c 492a LDR r1,|L11.216| +00002e 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000030 7108 STRB r0,[r1,#4] +;;;1385 g_tx_ctrl_handle->dpi_vsa = OUTPUT_VSA; +000032 2008 MOVS r0,#8 +000034 4928 LDR r1,|L11.216| +000036 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000038 6088 STR r0,[r1,#8] +;;;1386 g_tx_ctrl_handle->dpi_vbp = OUTPUT_VBP; +00003a 206e MOVS r0,#0x6e +00003c 4926 LDR r1,|L11.216| +00003e 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000040 60c8 STR r0,[r1,#0xc] +;;;1387 g_tx_ctrl_handle->dpi_vfp = OUTPUT_VFP; +000042 2082 MOVS r0,#0x82 +000044 4924 LDR r1,|L11.216| +000046 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000048 6108 STR r0,[r1,#0x10] +;;;1388 g_tx_ctrl_handle->dpi_hsa = OUTPUT_HSA; +00004a 2010 MOVS r0,#0x10 +00004c 4922 LDR r1,|L11.216| +00004e 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000050 6148 STR r0,[r1,#0x14] +;;;1389 g_tx_ctrl_handle->dpi_hbp = OUTPUT_HBP; +000052 201e MOVS r0,#0x1e +000054 4920 LDR r1,|L11.216| +000056 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000058 6188 STR r0,[r1,#0x18] +;;;1390 g_tx_ctrl_handle->dpi_hfp = OUTPUT_HFP; +00005a 202d MOVS r0,#0x2d +00005c 491e LDR r1,|L11.216| +00005e 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +000060 61c8 STR r0,[r1,#0x1c] +;;;1391 // g_tx_ctrl_handle->lane_rate_coef = _LANE_RATE_COEF; +;;;1392 g_tx_ctrl_handle->base_info.src_w = INPUT_WIDTH; +000062 2087 MOVS r0,#0x87 +000064 00c0 LSLS r0,r0,#3 +000066 491c LDR r1,|L11.216| +000068 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +00006a 6208 STR r0,[r1,#0x20] +;;;1393 g_tx_ctrl_handle->base_info.src_h = INPUT_HEIGHT; +00006c 491b LDR r1,|L11.220| +00006e 481a LDR r0,|L11.216| +000070 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +000072 6241 STR r1,[r0,#0x24] +;;;1394 g_tx_ctrl_handle->base_info.dst_w = OUTPUT_WIDTH; +000074 212d MOVS r1,#0x2d +000076 0109 LSLS r1,r1,#4 +000078 4817 LDR r0,|L11.216| +00007a 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +00007c 6281 STR r1,[r0,#0x28] +;;;1395 g_tx_ctrl_handle->base_info.dst_h = OUTPUT_HEIGHT; +00007e 2119 MOVS r1,#0x19 +000080 0189 LSLS r1,r1,#6 +000082 4815 LDR r0,|L11.216| +000084 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +000086 62c1 STR r1,[r0,#0x2c] +;;;1396 g_tx_ctrl_handle->base_info.src_frate = INPUT_FRAME_RATE; +000088 2100 MOVS r1,#0 +00008a 4813 LDR r0,|L11.216| +00008c 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +00008e 3020 ADDS r0,r0,#0x20 +000090 7401 STRB r1,[r0,#0x10] +;;;1397 g_tx_ctrl_handle->base_info.src_mode = INPUT_DATA_MODE; +000092 2101 MOVS r1,#1 +000094 4810 LDR r0,|L11.216| +000096 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +000098 3020 ADDS r0,r0,#0x20 +00009a 7441 STRB r1,[r0,#0x11] +;;;1398 +;;;1399 g_tx_ctrl_handle->tx_frame_rate = 60; +00009c 4810 LDR r0,|L11.224| +00009e 490e LDR r1,|L11.216| +0000a0 6809 LDR r1,[r1,#0] ; g_tx_ctrl_handle +0000a2 6408 STR r0,[r1,#0x40] +;;;1400 g_tx_ctrl_handle->tx_clkawayshs = true; +0000a4 2101 MOVS r1,#1 +0000a6 480c LDR r0,|L11.216| +0000a8 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +0000aa 3040 ADDS r0,r0,#0x40 +0000ac 7101 STRB r1,[r0,#4] +;;;1401 // g_tx_ctrl_handle->tx_line_delay = 600; +;;;1402 +;;;1403 hal_dsi_tx_ctrl_init(g_tx_ctrl_handle); +0000ae 480a LDR r0,|L11.216| +0000b0 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +0000b2 f7fffffe BL hal_dsi_tx_ctrl_init +;;;1404 /* AP ûзʱĬϵʾɫ, Ϊ0 0 0(ɫ), ɫΪdebugʹ */ +;;;1405 hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0x00); +0000b6 2200 MOVS r2,#0 +0000b8 4611 MOV r1,r2 +0000ba 4610 MOV r0,r2 +0000bc f7fffffe BL hal_dsi_tx_ctrl_set_overwrite_rgb +;;;1406 +;;;1407 //#define INPUT_WIDTH 1080 +;;;1408 //#define INPUT_HEIGHT 2244 +;;;1409 +;;;1410 +;;;1411 // #define OUTPUT_WIDTH 720 +;;;1412 // #define OUTPUT_HEIGHT 1600 +;;;1413 +;;;1414 /*ȱֱͼ*/ +;;;1415 //ԭװ18.79װ209 +;;;1416 //Ҽ25(18.7:9),20(18.9:9),15(19.2:9) +;;;1417 +;;;1418 //20230419ͻƫ +;;;1419 // ٳ1618ͼ첻أպߺڱߡ +;;;1420 // ڳ1518ͼе㣬λúԭװӽ +;;;1421 hal_dsi_tx_crop_t *crop; +;;;1422 crop->crop_top=0; +0000c0 2000 MOVS r0,#0 +0000c2 8020 STRH r0,[r4,#0] +;;;1423 crop->crop_bottom=0; +0000c4 8060 STRH r0,[r4,#2] +;;;1424 crop->crop_left=15; +0000c6 200f MOVS r0,#0xf +0000c8 80a0 STRH r0,[r4,#4] +;;;1425 crop->crop_right=15; +0000ca 80e0 STRH r0,[r4,#6] +;;;1426 hal_dsi_tx_crop_pic(g_tx_ctrl_handle,crop); +0000cc 4621 MOV r1,r4 +0000ce 4802 LDR r0,|L11.216| +0000d0 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +0000d2 f7fffffe BL hal_dsi_tx_crop_pic +;;;1427 +;;;1428 #if CUS_SCLD_FILTER +;;;1429 // hal_dsi_tx_ctrl_set_cus_pq_filter(g_tx_ctrl_handle, tx_filter_H, tx_filter_V); +;;;1430 #endif +;;;1431 } +0000d6 bd10 POP {r4,pc} +;;;1432 + ENDP + + |L11.216| + DCD g_tx_ctrl_handle + |L11.220| + DCD 0x000008c4 + |L11.224| + DCD 0x42700000 + + AREA ||i.init_panel||, CODE, READONLY, ALIGN=2 + + init_panel PROC +;;;487 +;;;488 static void init_panel(void) +000000 b500 PUSH {lr} +;;;489 { +000002 b091 SUB sp,sp,#0x44 +;;;490 /* reset panel*/ +;;;491 tx_panel_reset(); +000004 f7fffffe BL tx_panel_reset +;;;492 +;;;493 hal_gpio_init_output(IO_PAD_TD_LEDPWM, IO_LVL_HIGH); +000008 2101 MOVS r1,#1 +00000a 200a MOVS r0,#0xa +00000c f7fffffe BL hal_gpio_init_output +;;;494 +;;;495 /* enter send initial code mode*/ +;;;496 hal_dsi_tx_ctrl_enter_init_panel_mode(); +000010 f7fffffe BL hal_dsi_tx_ctrl_enter_init_panel_mode +;;;497 +;;;498 //------------- Display Initial Setting end ------------------------- +;;;499 #if LCD_FT8006S_HKC6517 +;;;500 TAU_LOGD("Mi8SE\n"); +000014 bf00 NOP +000016 22ff MOVS r2,#0xff +000018 32f5 ADDS r2,r2,#0xf5 +00001a a1fd ADR r1,|L12.1040| +00001c a0fe ADR r0,|L12.1048| +00001e f7fffffe BL LOG_printf +000022 bf00 NOP +;;;501 #ifdef FT8006S_HKC6517_4L_720x1600_gamma25 +;;;502 +;;;503 delayMs(50); +;;;504 // delayMs(1000); +;;;505 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x41,0x5A); +;;;506 //INT CANCEL +;;;507 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x4C, 0x03); +;;;508 +;;;509 //SPI Not LoadFinish +;;;510 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); +;;;511 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x5A); +;;;512 //VCOM +;;;513 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x03); +;;;514 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x80,0x1A,0x01); +;;;515 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x80, 0x3f, 0x01); +;;;516 //Blank 8 +;;;517 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x08); +;;;518 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,4,0x80,0x1A,0x2D,0x05); +;;;519 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,4,0x80,0x3F,0x2D,0x05); +;;;520 //Blank 9 +;;;521 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x09); +;;;522 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x5A,0x51,0xB5,0x2A,0x6C,0xE5,0x4A,0x01,0x40,0x62,0x0F,0x82,0x20,0x08,0xF0,0xB7); +;;;523 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x00,0x24,0x42,0x0A,0xE3,0x91,0xA4,0xF0,0xD6,0xC3,0x70,0x20,0x2D,0xA1,0x26,0x00); +;;;524 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x51,0x55,0x55,0x00,0xA0,0x4D,0x06,0x11,0x0D,0x60,0x00,0xFF,0xFF,0x03,0xA5,0xE6); +;;;525 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x08,0x3A,0x12,0x64,0x0B,0x00,0x00,0x11,0x00,0x60,0x00,0xFF,0xFF,0x03,0xFF,0x34); +;;;526 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0xC0,0x0C,0xFF,0x18,0x9F,0x0F,0x00,0x08,0x00); +;;;527 //Blank 10 gamma2.2 +;;;528 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0A); +;;;529 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFF,0xB6,0x6D,0x03,0x00,0x12,0x20,0x32,0x45,0x58,0x60,0x96,0x82,0xC1,0x72,0x37); +;;;530 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x74,0x44,0x41,0x32,0x23,0x16,0x0E,0x0B,0x00,0x12,0x20,0x32,0x45,0x58,0x60,0x96); +;;;531 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0xA0,0x82,0xC1,0x72,0x37,0x74,0x44,0x41,0x32,0x23,0x16,0x0E,0x0B,0x00); +;;;532 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0B); +;;;533 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xB0,0x23); +;;;534 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x90,0x15,0x00); +;;;535 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0C); +;;;536 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBA,0x68,0x68,0x01,0x32,0x4B,0x58,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); +;;;537 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); +;;;538 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xAB,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x49,0x29,0x84,0x52,0x01,0x09,0x00); +;;;539 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB0,0x00,0x00); +;;;540 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0D); +;;;541 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0xF0,0xB1,0x71,0xEF,0x4B,0xC0,0x80); +;;;542 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0E); +;;;543 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0x80,0xFF,0x01,0x55,0x55,0x23,0x88,0x88,0x1C); +;;;544 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0F); +;;;545 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBD,0x07,0x70,0xC0,0x12,0x08,0x64,0x08,0x52,0x51,0x58,0x49,0x03,0x52,0x4C,0x4C); +;;;546 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x68,0x68,0x68,0x4C,0x4C,0x7C,0x14,0x00,0x20,0x06,0xC2,0x00,0x04,0x06,0x0C,0x00); +;;;547 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x92,0x00,0x00); +;;;548 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x10); +;;;549 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x03,0xE7,0x1F,0x17,0x10,0x48,0x80,0xAA,0xD0,0x18,0x30,0x88,0x41,0x8A); +;;;550 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0x90,0x39,0x28,0xA9,0xC5,0x9A,0x7B,0xF0,0x07,0x7E,0xE0,0x07,0x7E,0x20,0x10,0x00); +;;;551 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x11); +;;;552 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x46,0x77,0x03,0x40,0xCA,0xF3,0xFF,0x83,0x30,0x08,0xC4,0x06,0xA1,0xD8,0x24,0x18); +;;;553 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x30,0xC6,0x66,0xC1,0x80,0x31,0x15,0xCB,0xE5,0xD2,0x68,0x6C,0x36,0x1D,0x04,0xC8); +;;;554 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xD9,0x88,0x60,0xB0,0x81,0x40,0x1A,0x1B,0x48,0x63,0x03,0xB9,0x00,0x1C,0x80); +;;;555 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x50,0x30,0x00,0xE0,0xE1,0x01,0x00,0x28,0x0E,0x06,0x43,0x55,0x55,0x55,0x55,0x55); +;;;556 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x95,0x88,0x88,0x88,0x88,0x88,0xC8,0x08,0x86,0xC6,0xE3,0x81,0x00,0x20,0x00,0x21); +;;;557 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); +;;;558 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0C); +;;;559 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xF0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5E,0x4A,0x01,0x78,0x00,0x08,0x00,0x00); +;;;560 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x12); +;;;561 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x41,0x37); +;;;562 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xF1,0xE7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x23,0x05); +;;;563 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0xA0,0xFB,0x08,0x2D,0x23,0x05,0xFB,0x0C); +;;;564 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x13); +;;;565 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFD,0x0F,0x00,0x0C,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1C,0x44,0x0C,0xCE,0xE7); +;;;566 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,15,0x90,0x62,0x0E,0x24,0x98,0xAC,0x21,0x01,0x00,0xD0,0x93,0x24,0x49,0x06,0x20); +;;;567 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x14); +;;;568 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x02,0x41,0x36,0xE9,0xEF,0xF7,0xFB,0xFD,0x7E,0x01,0x00,0x00,0x90,0xC5,0x8A); +;;;569 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x27,0x6D,0x20,0x4E,0x3C,0x69,0x03,0xDB,0xE0,0x49,0x1B,0xD8,0x08,0x4F,0xDA,0x00); +;;;570 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x82,0xB5,0xE2,0xF7,0x47,0x00); +;;;571 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0xD8,0x89,0xDF,0x1F,0x01,0x00,0x00,0x00,0x00,0x1C,0xB2,0x21,0x2B,0x00,0x40,0xA1); +;;;572 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x50,0x78,0x17,0xDA,0xF4,0x80,0x51,0x1C,0x6F,0x42,0x9B,0x1E,0x30,0x8A,0xE3,0x3D); +;;;573 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x68,0xD3,0x03,0x46,0x71,0xBC,0x05,0x6D,0x7A,0xC0,0x28,0x8E,0x77,0xA0,0x4D,0x0F); +;;;574 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x18,0xC5,0xF1,0x06,0xB4,0xE9,0x01,0xA3,0x38,0x5E,0x80,0x36,0x3D,0x60,0x14,0xC7); +;;;575 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x2B,0xD0,0xA6,0x07,0x8C,0xE2,0x18,0x01,0xBF,0xDF,0x08,0x00,0x00,0x00,0x00,0x00); +;;;576 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x15); +;;;577 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xD9,0xE0,0xF7); +;;;578 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xA3,0x00,0x20,0x4B,0x07,0xAB,0xC5,0x03,0x00,0x00,0xD6,0xC1,0x6A,0xF1,0x00,0x00); +;;;579 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); +;;;580 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x75,0xA1,0x6A,0xB5,0x00,0x00,0x00,0x00,0x13,0x00,0xF0,0x00,0x14,0xD3,0x34,0xCD); +;;;581 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x90,0x02,0x4D,0x10,0x20,0x10,0x06,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x35,0x4D,0xD3); +;;;582 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xA8,0xB6,0x6D,0xDB,0xB6,0x6D,0xDB,0xB6,0x35); +;;;583 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xCD,0xD0,0x02,0x4D,0x50,0x30,0x14,0x47,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B); +;;;584 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0xD3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xAC,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B,0x00); +;;;585 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x16); +;;;586 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;587 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,7,0x90,0x00,0x00,0x00,0x00,0xF0,0x20); +;;;588 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x18); +;;;589 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xEF,0xBD,0xF7,0xDE,0x7B,0xEF,0xBD,0x07,0x08,0x08,0x0A,0x0C,0x0C,0x0C,0x0C,0x0C); +;;;590 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x0C,0x0C,0x0C,0x5C,0x09,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x5A); +;;;591 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xFF,0x00,0x80); +;;;592 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xB0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); +;;;593 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x19); +;;;594 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xC0,0xAF,0xA3,0x9B,0x92,0x8D,0x8A,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xF6,0xCF); +;;;595 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xFC,0x2F,0xF3,0xEF,0xCF,0xBF,0x0F,0xFF,0xAF,0xB5,0x71,0x0E,0x6C,0x4A,0x69,0x08); +;;;596 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x00,0x08,0x00); +;;;597 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1A); +;;;598 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00,0x40); +;;;599 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0,0xA8); +;;;600 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE,0xFF); +;;;601 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00); +;;;602 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0); +;;;603 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE); +;;;604 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xFF,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38); +;;;605 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); +;;;606 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1B); +;;;607 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xA0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC); +;;;608 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0x90,0xFE,0xFF,0x00,0x00); +;;;609 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x20); +;;;610 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); +;;;611 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x22); +;;;612 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0x80,0x2D,0xD3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9F,0x00); +;;;613 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x23); +;;;614 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;615 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,13,0x90,0xFF,0x0F,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0x07,0x35); +;;;616 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); +;;;617 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x03,0x00,0xFF,0xFF,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x30); +;;;618 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x5A,0x5A,0x5A,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;619 // BIST MODE +;;;620 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); +;;;621 //SPI FINISH +;;;622 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x42,0x24); +;;;623 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x00); +;;;624 //Blank select 2F +;;;625 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x2F); +;;;626 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x19,0x00); +;;;627 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x4C,0x03); +;;;628 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x11); +;;;629 delayMs(120); +;;;630 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x29); +;;;631 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x51,0xFF,0x0F); +;;;632 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x53,0x24); +;;;633 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x55,0x00); +;;;634 delayMs(10); +;;;635 #endif +;;;636 #ifdef FT8006S_HKC6517_4L_720x1600_gamma22 +;;;637 +;;;638 delayMs(10); +;;;639 // delayMs(1000); +;;;640 #if 1 +;;;641 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x41,0x5A); +;;;642 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); +;;;643 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x5A); +;;;644 +;;;645 //VCOM +;;;646 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x03); +;;;647 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x80, 0x3f, 0x01); +;;;648 +;;;649 //----------------------LCD initial code start----------------------// +;;;650 //Blank 8 +;;;651 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x08); +;;;652 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 4, 0x80, 0x3f, 0x2d, 0x05); +;;;653 //Blank 9 +;;;654 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x09); +;;;655 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x5A, 0x51, 0xB5, 0x2A, 0x6C, 0xC5, 0x4A, 0x01, 0x40, 0x62, 0x0F, 0x82, 0x20, 0x08, 0xF0, 0xB7); +;;;656 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x00, 0x24, 0x42, 0x0A, 0xE3, 0x91, 0xA4, 0xF0, 0xC3, 0xE1, 0x6B, 0x20, 0x69, 0xA1, 0x26, 0x00); +;;;657 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x51, 0x55, 0x55, 0x0A/*0x00*/, 0xA0, 0x4C, 0x06, 0x11, 0x0D, 0x60, 0x00, 0xFF, 0xFF, 0x03, 0xA5, 0xE6); +;;;658 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x08, 0x3A, 0x12, 0x64, 0x0B, 0x00, 0x00, 0x11, 0x00, 0x60, 0x00, 0xFF, 0xFF, 0x03, 0xFF, 0x34); +;;;659 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xC0, 0x0C, 0xFF, 0x18, 0x9F, 0x0F, 0x00, 0x08, 0x00); +;;;660 //Blank 10 gamma2.2 +;;;661 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0A); +;;;662 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFF, 0x51, 0xA3, 0x02, 0x00, 0x1E, 0x2E, 0x3F, 0x50, 0x60, 0x65, 0x94, 0x75, 0xAC, 0x8B, 0x58); +;;;663 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x87, 0x5D, 0x58, 0x48, 0x37, 0x25, 0x16, 0x0B, 0x00, 0x1E, 0x2E, 0x3F, 0x50, 0x60, 0x65, 0x94); +;;;664 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 14, 0xA0, 0x75, 0xAC, 0x8B, 0x58, 0x87, 0x5D, 0x58, 0x48, 0x37, 0x25, 0x16, 0x0B, 0x00); +;;;665 //Blank 11 +;;;666 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0B); +;;;667 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x20, 0x44, 0x08, 0x00, 0x60, 0x47, 0x00, 0x00, 0x10, 0x22, 0x04, 0x00, 0xB0, 0x23); +;;;668 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x90, 0x15, 0x00); +;;;669 //Blank 12 +;;;670 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0C); +;;;671 //hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFA, 0x68, 0x68, 0x81, 0xAF, 0x8D, 0x30, 0x07, 0x00, 0x60, 0x15, 0x00, 0x50, 0x15, 0x56, 0x51); +;;;672 // hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBA,0x68,0x68,0x01,0x32,0x4B,0x58,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); +;;;673 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFA, 0x68, 0x68, 0x81, 0xB8, 0x8D, 0x30, 0x07, 0x00, 0x60, 0x15, 0x00, 0x50, 0x15, 0x56, 0x51); +;;;674 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x15, 0x55, 0x61, 0x15, 0x00, 0x60, 0x15, 0x00, 0x50, 0x15, 0x56, 0x51, 0x15, 0x55, 0x61, 0x95); +;;;675 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0xAB, 0x18, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x80, 0x4C, 0x29, 0x84, 0x52, 0x01, 0x09, 0x00); +;;;676 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB0, 0x00, 0x00); +;;;677 //Blank 13 +;;;678 /*hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0D); +;;;679 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 8, 0x80, 0xF0, 0xB1, 0x71, 0xEF, 0x4B, 0xC0, 0x80); +;;;680 //Blank 14 +;;;681 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0E); +;;;682 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 9, 0x80, 0xFF, 0x01, 0x55, 0x55, 0x32, 0x88, 0x88, 0x1C);*/ +;;;683 //Blank 15 +;;;684 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0F); +;;;685 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xB5, 0x05, 0x82, 0xC0, 0x10, 0xA0, 0x63, 0x08, 0x52, 0x51, 0x58, 0x49, 0x03, 0x52, 0x4C, 0x4C); +;;;686 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x68, 0x68, 0x68, 0x4C, 0x4C, 0x7C, 0x14, 0x00, 0x20, 0x06, 0xC2, 0x00, 0x04, 0x06, 0x0C, 0x00); +;;;687 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xA0, 0x00, 0x92, 0x00, 0x00); +;;;688 //Blank 16 +;;;689 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x10); +;;;690 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x03, 0xE7, 0x1F, 0x17, 0x00, 0x48, 0x40, 0x02, 0xCF, 0x18, 0x30, 0x88, 0x41, 0x8A); +;;;691 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 16, 0x90, 0x39, 0x28, 0xA9, 0xC5, 0x9A, 0x7B, 0xF0, 0x07, 0x7E, 0xE0, 0x07, 0x7E, 0x20, 0x10, 0x00); +;;;692 //Blank 17 +;;;693 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x11); +;;;694 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x46, 0x77, 0x03, 0x40, 0xCA, 0xF3, 0xFF, 0x83, 0x30, 0x08, 0xC4, 0x06, 0xA1, 0xD8, 0x24, 0x18); +;;;695 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x30, 0xC6, 0x66, 0xC1, 0x80, 0x31, 0x15, 0xCB, 0xE5, 0xD2, 0x68, 0x6C, 0x36, 0x1D, 0x04, 0xC8); +;;;696 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0xB0, 0xD9, 0x88, 0x60, 0xB0, 0x81, 0x40, 0x1A, 0x1B, 0x48, 0x63, 0x03, 0xB9, 0x00, 0x1C, 0x80); +;;;697 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x50, 0x30, 0x00, 0xE0, 0xE1, 0x01, 0x00, 0x28, 0x0E, 0x06, 0x43, 0x55, 0x55, 0x55, 0x55, 0x55); +;;;698 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x95, 0x88, 0x88, 0x88, 0x88, 0x88, 0xC8, 0x08, 0x86, 0xC6, 0xE3, 0x81, 0x00, 0x20, 0x00, 0x21); +;;;699 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0x42, 0x88, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x31, 0x04, 0x41, 0x06, 0x00, 0x00, 0x00); +;;;700 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0x00, 0x92, 0x04, 0x00, 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x92, 0x04, 0x00, 0x85, 0x11, 0x0C); +;;;701 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 16, 0xF0, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x4A, 0x01, 0x78, 0x00, 0x08, 0x00, 0x00); +;;;702 //Blank 18 +;;;703 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x12); +;;;704 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01, 0x41, 0x37); +;;;705 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0xF1, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x23, 0x05); +;;;706 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 8, 0xA0, 0xFB, 0x08, 0x2D, 0x23, 0x05, 0xFB, 0x0C); +;;;707 //Blank 19 +;;;708 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x13); +;;;709 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFD, 0x0F, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x01, 0x1C, 0x44, 0x0C, 0xCE, 0xE7); +;;;710 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 15, 0x90, 0x62, 0x0E, 0x24, 0x98, 0xAC, 0x21, 0xB1, 0x88, 0xD0, 0x93, 0x24, 0x49, 0x06, 0x20); +;;;711 //Blank 20 +;;;712 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x14); +;;;713 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x01, 0x02, 0x41, 0x36, 0xE9, 0xEF, 0xF7, 0xFB, 0xFD, 0x7E, 0x01, 0x00, 0x00, 0x7C, 0xC5, 0x85); +;;;714 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x26, 0x3D, 0x20, 0x26, 0x34, 0xE9, 0x01, 0xF1, 0xA0, 0x49, 0x0F, 0x88, 0x05, 0x4D, 0x7A, 0xC0); +;;;715 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x02, 0x68, 0xD2, 0x03, 0x96, 0x40, 0x93, 0x1E, 0x00, 0xF8, 0x82, 0xB5, 0xE2, 0xF7, 0x47, 0x00); +;;;716 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0xD8, 0x89, 0xDF, 0x1F, 0x01, 0x00, 0x10, 0x00, 0x00, 0xBC, 0xAF, 0xFB, 0x2A, 0x00, 0x40, 0xA1); +;;;717 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x50, 0x78, 0x07, 0x1A, 0xFC, 0x80, 0x52, 0x1C, 0x6F, 0x40, 0x83, 0x1F, 0x50, 0x8A, 0xE3, 0x05); +;;;718 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0x68, 0xF0, 0x03, 0x4A, 0x71, 0xBC, 0x02, 0x0D, 0x7E, 0x40, 0x29, 0x8E, 0x97, 0xA0, 0xC1, 0x0F); +;;;719 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0x28, 0xC5, 0xF1, 0x1A, 0x34, 0xF8, 0x01, 0xA5, 0x38, 0x5E, 0x84, 0x06, 0x3F, 0xA0, 0x14, 0xC7); +;;;720 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xF0, 0xAB, 0xD0, 0xE0, 0x07, 0x94, 0xE2, 0x18, 0x01, 0xBF, 0xDF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00); +;;;721 //Blank 21 +;;;722 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x15); +;;;723 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xD8, 0xE0, 0xF7); +;;;724 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0xA3, 0x80, 0xFB, 0x5A, 0x84, 0xCA, 0xE3, 0x05, 0xE1, 0xF1, 0x12, 0xA1, 0xF2, 0x78, 0x41, 0x78); +;;;725 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); +;;;726 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x13, 0x00, 0xF0, 0x00, 0x94, 0x15, 0x5B, 0x57); +;;;727 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x90, 0x82, 0xD4, 0x10, 0x20, 0x10, 0x66, 0x5D, 0xDB, 0xB6, 0x6D, 0xDB, 0xB6, 0x55, 0xA5, 0x75); +;;;728 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0x5D, 0xD7, 0x55, 0x10, 0x0C, 0x43, 0x51, 0x1C, 0xC7, 0x6A, 0xDB, 0xB6, 0x6D, 0xDB, 0x55, 0x5B); +;;;729 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0x57, 0xD0, 0x92, 0xD4, 0x50, 0x30, 0x14, 0x67, 0x5D, 0xDB, 0xB6, 0x6D, 0xDB, 0xB6, 0x55, 0xA1); +;;;730 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xF0, 0x75, 0x5D, 0xD7, 0x15, 0x00, 0x08, 0x02, 0x41, 0x18, 0x86, 0x6A, 0xDB, 0xB6, 0x6D, 0x5B, 0xC0); +;;;731 //Blank 22 +;;;732 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x16); +;;;733 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xC3, 0x43, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); +;;;734 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0x90, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x20); +;;;735 //Blank 24 +;;;736 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x18); +;;;737 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xEF, 0xBD, 0xF7, 0xDE, 0x7B, 0xEF, 0xBD, 0x07, 0x08, 0x08, 0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C); +;;;738 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x0C, 0x0C, 0x0C, 0x5C, 0x09, 0xA8, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x5A); +;;;739 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x09, 0x04, 0xFF, 0x00, 0x80); +;;;740 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 16, 0xB0, 0x80, 0x00, 0x04, 0x20, 0x00, 0x01, 0x08, 0x40, 0x00, 0x02, 0x10, 0x80, 0x00, 0x04, 0x00); +;;;741 //Blank 25 +;;;742 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x19); +;;;743 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xC0, 0xAF, 0xA3, 0x9B, 0x92, 0x8D, 0x8A, 0x86, 0x84, 0x83, 0x82, 0x81, 0x00, 0x50, 0xF6, 0xCF); +;;;744 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0xFC, 0x2F, 0xF3, 0xEF, 0xCF, 0xBF, 0x0F, 0xFF, 0xAF, 0xB5, 0x71, 0x0E, 0x6C, 0x4A, 0x69, 0x08); +;;;745 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xA0, 0x00, 0x00, 0x08, 0x00); +;;;746 //Blank 26 +;;;747 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x41, 0x5A, 0x1A); +;;;748 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x04, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, 0x1C, 0x00, 0x20, 0x28, 0x30, 0x38, 0x00, 0x40); +;;;749 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x48, 0x50, 0x58, 0x00, 0x60, 0x68, 0x70, 0x78, 0x00, 0x80, 0x88, 0x90, 0x98, 0x00, 0xA0, 0xA8); +;;;750 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0xB0, 0xB8, 0x00, 0xC0, 0xC8, 0xD0, 0xD8, 0x00, 0xE0, 0xE8, 0xF0, 0xF8, 0x00, 0xFC, 0xFE, 0xFF); +;;;751 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x00, 0x00, 0x04, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, 0x1C, 0x00, 0x20, 0x28, 0x30, 0x38, 0x00); +;;;752 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x40, 0x48, 0x50, 0x58, 0x00, 0x60, 0x68, 0x70, 0x78, 0x00, 0x80, 0x88, 0x90, 0x98, 0x00, 0xA0); +;;;753 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0xA8, 0xB0, 0xB8, 0x00, 0xC0, 0xC8, 0xD0, 0xD8, 0x00, 0xE0, 0xE8, 0xF0, 0xF8, 0x00, 0xFC, 0xFE); +;;;754 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0xFF, 0x00, 0x00, 0x04, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, 0x1C, 0x00, 0x20, 0x28, 0x30, 0x38); +;;;755 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xF0, 0x00, 0x40, 0x48, 0x50, 0x58, 0x00, 0x60, 0x68, 0x70, 0x78, 0x00, 0x80, 0x88, 0x90, 0x98, 0x00); +;;;756 //Blank 27 +;;;757 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x1B); +;;;758 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xA0, 0xA8, 0xB0, 0xB8, 0x00, 0xC0, 0xC8, 0xD0, 0xD8, 0x00, 0xE0, 0xE8, 0xF0, 0xF8, 0x00, 0xFC); +;;;759 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x90, 0xFE, 0xFF, 0x00, 0x00); +;;;760 //Blank 32 +;;;761 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x20); +;;;762 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 8, 0x80, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); +;;;763 //Blank 34 +;;;764 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x22); +;;;765 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 14, 0x80, 0x2D, 0xD3, 0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x9F, 0x00); +;;;766 //Blank 35 +;;;767 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x23); +;;;768 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x01, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); +;;;769 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 13, 0x90, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x07, 0x35); +;;;770 //Blank 36 +;;;771 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x24); +;;;772 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x03, 0x00, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0A); +;;;773 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x5A, 0x5A, 0x5A, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); +;;;774 +;;;775 // BIST MODE +;;;776 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); +;;;777 +;;;778 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x42,0x24); +;;;779 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x00); +;;;780 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x2F); +;;;781 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x19,0x00); +;;;782 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x4C,0x03); +;;;783 hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x11); +;;;784 delayMs(120); +;;;785 hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x29); +;;;786 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x51,0xFF,0x0F); +;;;787 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x53,0x24); +;;;788 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x55,0x00); +;;;789 delayMs(10); +;;;790 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB7,0x59,0x02); +;;;791 // hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x00,0xff,0x00); +;;;792 #else +;;;793 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x41,0x5A); +;;;794 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); +;;;795 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x5A); +;;;796 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x03); +;;;797 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x80,0x1A,0x01); +;;;798 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x08); +;;;799 hal_dsi_tx_ctrl_write_cmd(0x39,0,4,0x80,0x1A,0x2D,0x05); +;;;800 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x09); +;;;801 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x5A,0x51,0xB5,0x2A,0x6C,0xE5,0x4A,0x01,0x40,0x62,0x0F,0x82,0x20,0x08,0xF0,0xB7); +;;;802 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x00,0x24,0x42,0x0A,0xE3,0x91,0xA4,0xF0,0xD6,0xC3,0x70,0x20,0x2D,0xA1,0x26,0x00); +;;;803 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x51,0x55,0x55,0x00,0xA0,0x4D,0x06,0x11,0x0D,0x60,0x00,0xFF,0xFF,0x03,0xA5,0xE6); +;;;804 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x08,0x3A,0x12,0x64,0x0B,0x00,0x00,0x11,0x00,0x60,0x00,0xFF,0xFF,0x03,0xFF,0x34); +;;;805 hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0xC0,0x0C,0xFF,0x18,0x9F,0x0F,0x00,0x08,0x00); +;;;806 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0A); +;;;807 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFF,0xB6,0x6D,0x03,0x00,0x10,0x1D,0x2E,0x40,0x52,0x59,0x8E,0x70,0xAE,0x86,0x4D); +;;;808 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x81,0x54,0x50,0x40,0x31,0x21,0x14,0x0B,0x00,0x10,0x1D,0x2E,0x40,0x52,0x59,0x8E); +;;;809 hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0xA0,0x70,0xAE,0x86,0x4D,0x81,0x54,0x50,0x40,0x31,0x21,0x14,0x0B,0x00); +;;;810 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0B); +;;;811 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xB0,0x23); +;;;812 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x90,0x15,0x00); +;;;813 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0C); +;;;814 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBA,0x68,0x68,0x01,0x32,0x4B,0x58,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); +;;;815 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); +;;;816 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xAB,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x49,0x29,0x84,0x52,0x01,0x09,0x00); +;;;817 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB0,0x00,0x00); +;;;818 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0D); +;;;819 hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0xF0,0xB1,0x71,0xEF,0x4B,0xC0,0x80); +;;;820 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0E); +;;;821 hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0x80,0xFF,0x01,0x55,0x55,0x23,0x88,0x88,0x1C); +;;;822 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0F); +;;;823 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBD,0x07,0x70,0xC0,0x12,0x08,0x64,0x08,0x52,0x51,0x58,0x49,0x03,0x52,0x4C,0x4C); +;;;824 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x68,0x68,0x68,0x4C,0x4C,0x7C,0x14,0x00,0x20,0x06,0xC2,0x00,0x04,0x06,0x0C,0x00); +;;;825 hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x92,0x00,0x00); +;;;826 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x10); +;;;827 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x03,0xE7,0x1F,0x17,0x10,0x48,0x80,0xAA,0xD0,0x18,0x30,0x88,0x41,0x8A); +;;;828 hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0x90,0x39,0x28,0xA9,0xC5,0x9A,0x7B,0xF0,0x07,0x7E,0xE0,0x07,0x7E,0x20,0x10,0x00); +;;;829 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x11); +;;;830 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x46,0x77,0x03,0x40,0xCA,0xF3,0xFF,0x83,0x30,0x08,0xC4,0x06,0xA1,0xD8,0x24,0x18); +;;;831 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x30,0xC6,0x66,0xC1,0x80,0x31,0x15,0xCB,0xE5,0xD2,0x68,0x6C,0x36,0x1D,0x04,0xC8); +;;;832 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xD9,0x88,0x60,0xB0,0x81,0x40,0x1A,0x1B,0x48,0x63,0x03,0xB9,0x00,0x1C,0x80); +;;;833 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x50,0x30,0x00,0xE0,0xE1,0x01,0x00,0x28,0x0E,0x06,0x43,0x55,0x55,0x55,0x55,0x55); +;;;834 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x95,0x88,0x88,0x88,0x88,0x88,0xC8,0x08,0x86,0xC6,0xE3,0x81,0x00,0x20,0x00,0x21); +;;;835 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); +;;;836 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0C); +;;;837 hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xF0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5E,0x4A,0x01,0x78,0x00,0x08,0x00,0x00); +;;;838 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x12); +;;;839 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x41,0x37); +;;;840 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xF1,0xE7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x23,0x05); +;;;841 hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0xA0,0xFB,0x08,0x2D,0x23,0x05,0xFB,0x0C); +;;;842 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x13); +;;;843 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFD,0x0F,0x00,0x0C,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1C,0x44,0x0C,0xCE,0xE7); +;;;844 hal_dsi_tx_ctrl_write_cmd(0x39,0,15,0x90,0x62,0x0E,0x24,0x98,0xAC,0x21,0x01,0x00,0xD0,0x93,0x24,0x49,0x06,0x20); +;;;845 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x14); +;;;846 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x02,0x41,0x36,0xE9,0xEF,0xF7,0xFB,0xFD,0x7E,0x01,0x00,0x00,0x90,0xC5,0x8A); +;;;847 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x27,0x6D,0x20,0x4E,0x3C,0x69,0x03,0xDB,0xE0,0x49,0x1B,0xD8,0x08,0x4F,0xDA,0x00); +;;;848 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x82,0xB5,0xE2,0xF7,0x47,0x00); +;;;849 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0xD8,0x89,0xDF,0x1F,0x01,0x00,0x00,0x00,0x00,0x1C,0xB2,0x21,0x2B,0x00,0x40,0xA1); +;;;850 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x50,0x78,0x17,0xDA,0xF4,0x80,0x51,0x1C,0x6F,0x42,0x9B,0x1E,0x30,0x8A,0xE3,0x3D); +;;;851 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x68,0xD3,0x03,0x46,0x71,0xBC,0x05,0x6D,0x7A,0xC0,0x28,0x8E,0x77,0xA0,0x4D,0x0F); +;;;852 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x18,0xC5,0xF1,0x06,0xB4,0xE9,0x01,0xA3,0x38,0x5E,0x80,0x36,0x3D,0x60,0x14,0xC7); +;;;853 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x2B,0xD0,0xA6,0x07,0x8C,0xE2,0x18,0x01,0xBF,0xDF,0x08,0x00,0x00,0x00,0x00,0x00); +;;;854 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x15); +;;;855 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xD9,0xE0,0xF7); +;;;856 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xA3,0x00,0x20,0x4B,0x07,0xAB,0xC5,0x03,0x00,0x00,0xD6,0xC1,0x6A,0xF1,0x00,0x00); +;;;857 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); +;;;858 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x75,0xA1,0x6A,0xB5,0x00,0x00,0x00,0x00,0x13,0x00,0xF0,0x00,0x14,0xD3,0x34,0xCD); +;;;859 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x90,0x02,0x4D,0x10,0x20,0x10,0x06,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x35,0x4D,0xD3); +;;;860 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xA8,0xB6,0x6D,0xDB,0xB6,0x6D,0xDB,0xB6,0x35); +;;;861 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xCD,0xD0,0x02,0x4D,0x50,0x30,0x14,0x47,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B); +;;;862 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0xD3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xAC,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B,0x00); +;;;863 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x16); +;;;864 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;865 hal_dsi_tx_ctrl_write_cmd(0x39,0,7,0x90,0x00,0x00,0x00,0x00,0xF0,0x20); +;;;866 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x18); +;;;867 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xEF,0xBD,0xF7,0xDE,0x7B,0xEF,0xBD,0x07,0x08,0x08,0x0A,0x0C,0x0C,0x0C,0x0C,0x0C); +;;;868 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x0C,0x0C,0x0C,0x5C,0x09,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x5A); +;;;869 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xFF,0x00,0x80); +;;;870 hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xB0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); +;;;871 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x19); +;;;872 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xC0,0xAF,0xA3,0x9B,0x92,0x8D,0x8A,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xF6,0xCF); +;;;873 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xFC,0x2F,0xF3,0xEF,0xCF,0xBF,0x0F,0xFF,0xAF,0xB5,0x71,0x0E,0x6C,0x4A,0x69,0x08); +;;;874 hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x00,0x08,0x00); +;;;875 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1A); +;;;876 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00,0x40); +;;;877 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0,0xA8); +;;;878 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE,0xFF); +;;;879 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00); +;;;880 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0); +;;;881 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE); +;;;882 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xFF,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38); +;;;883 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); +;;;884 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1B); +;;;885 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xA0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC); +;;;886 hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0x90,0xFE,0xFF,0x00,0x00); +;;;887 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x20); +;;;888 hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); +;;;889 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x22); +;;;890 hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0x80,0x2D,0xD3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9F,0x00); +;;;891 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x23); +;;;892 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;893 hal_dsi_tx_ctrl_write_cmd(0x39,0,13,0x90,0xFF,0x0F,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0x07,0x35); +;;;894 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); +;;;895 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x03,0x00,0xFF,0xFF,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x30); +;;;896 hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x5A,0x5A,0x5A,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;897 +;;;898 // BIST MODE +;;;899 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); +;;;900 +;;;901 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x42,0x24); +;;;902 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x00); +;;;903 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x2F); +;;;904 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x19,0x00); +;;;905 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x4C,0x03); +;;;906 hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x11); +;;;907 delayMs(120); +;;;908 // hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x29); +;;;909 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x51,0xFF,0x0F); +;;;910 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x53,0x24); +;;;911 hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x55,0x00); +;;;912 delayMs(10); +;;;913 hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB7,0x59,0x02); +;;;914 // hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x00,0xff,0x00); +;;;915 #endif +;;;916 +;;;917 #endif +;;;918 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0xB7); +;;;919 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x59); +;;;920 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x02); +;;;921 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x00,0xff,0x00); +;;;922 #if 1 +;;;923 #if 0 +;;;924 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x41,0x5a); +;;;925 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x24); +;;;926 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x5a); +;;;927 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x03); +;;;928 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x80,0x25,0x01); +;;;929 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x08); +;;;930 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x04,0x80,0x20,0x2d,0x05); +;;;931 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x09); +;;;932 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x5a,0x51,0xb5,0x2a,0x6c,0xe5,0x4a,0x01,0x40,0x62,0x0f,0x82,0x20,0x08,0xf0,0xb7); +;;;933 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x00,0x24,0x42,0x0a,0xe3,0x91,0xa4,0xf0,0xc3,0xc3,0x6b,0x20,0x2d,0xa1,0x26,0x00); +;;;934 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x51,0x55,0x55,0x00,0xa0,0x4c,0x06,0x11,0x0d,0x60,0x5a,0xff,0xff,0x03,0xa5,0xe6); +;;;935 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x08,0xc9,0x16,0x64,0x0b,0x00,0x00,0x11,0x07,0x60,0x00,0xff,0xff,0x03,0xff,0x34); +;;;936 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x09,0xc0,0x0c,0x3f,0x1f,0x9f,0x0f,0x00,0x08,0x00); +;;;937 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0a); +;;;938 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xff,0xb6,0x6d,0x03,0x00,0x0f,0x1b,0x2b,0x3d,0x4e,0x55,0x89,0x68,0xa5,0x8e,0x56); +;;;939 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x85,0x58,0x53,0x43,0x33,0x23,0x16,0x0b,0x00,0x0f,0x1b,0x2b,0x3d,0x4e,0x55,0x89); +;;;940 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0e,0xa0,0x68,0xa5,0x8e,0x56,0x85,0x58,0x53,0x43,0x33,0x23,0x16,0x0b,0x00); +;;;941 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0b); +;;;942 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xb0,0x23); +;;;943 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x90,0x15,0x00); +;;;944 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0c); +;;;945 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xfa,0x68,0x68,0x01,0xb2,0x75,0xd0,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); +;;;946 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); +;;;947 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0xab,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x80,0x4c,0x29,0x84,0x52,0x01,0x09,0x00); +;;;948 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0xb0,0x00,0x00); +;;;949 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0d); +;;;950 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x08,0x80,0xf0,0xb1,0x71,0xef,0x4b,0xc0,0x80); +;;;951 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0e); +;;;952 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x09,0x80,0xff,0x01,0x55,0x55,0x23,0x88,0x88,0x1c); +;;;953 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0f); +;;;954 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xd1,0x07,0x70,0x40,0x13,0x38,0x64,0x08,0x52,0x51,0x58,0x49,0x03,0x52,0x4c,0x4c); +;;;955 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x68,0x68,0x68,0x4c,0x4c,0x7c,0x14,0x00,0x20,0x06,0xc2,0x00,0x04,0x06,0x0c,0x00); +;;;956 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x05,0xa0,0x00,0x92,0x00,0x00); +;;;957 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x10); +;;;958 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x03,0xe7,0x1f,0x17,0x10,0x48,0x80,0xaa,0xd0,0x18,0x30,0x88,0x41,0x8a); +;;;959 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x10,0x90,0x39,0x28,0xa9,0xc5,0x9a,0x7b,0xf0,0x07,0x7e,0xe0,0x07,0x7e,0x20,0x10,0x00); +;;;960 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x11); +;;;961 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x49,0x77,0x03,0x40,0xca,0xf3,0xff,0xa3,0x20,0x08,0xc4,0x06,0xa1,0xd8,0x24,0x18); +;;;962 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x30,0xc6,0x66,0xc1,0x80,0x1d,0x15,0xcb,0xe5,0xe2,0x70,0x6c,0x36,0x1d,0x04,0xc8); +;;;963 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0xb0,0xd9,0x88,0x60,0xb0,0x81,0x40,0x1c,0x1b,0x88,0x63,0x03,0xb9,0x00,0x1c,0x80); +;;;964 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x50,0x30,0x00,0xe0,0xe1,0x01,0x00,0x28,0x0e,0x06,0x43,0x55,0x55,0x55,0x55,0x55); +;;;965 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0x95,0x88,0x88,0x88,0x88,0x88,0xc8,0x08,0x84,0xc6,0xe3,0x81,0x00,0x20,0x00,0x21); +;;;966 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x31,0x04,0x41,0x06,0x00,0x00,0x00); +;;;967 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0c); +;;;968 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x10,0xf0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5e,0x4a,0x01,0x10,0x22,0x00,0x00,0x00); +;;;969 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x12); +;;;970 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x41,0x37); +;;;971 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0xf1,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2d,0x23,0x05); +;;;972 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x08,0xa0,0xfb,0x08,0x2d,0x23,0x05,0xfb,0x0c); +;;;973 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x13); +;;;974 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xfd,0x0f,0x00,0x0c,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1c,0x44,0x0c,0xce,0xe7); +;;;975 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0f,0x90,0x62,0x0e,0x24,0x98,0xac,0x21,0x01,0x00,0xd0,0x93,0x24,0x49,0x06,0x20); +;;;976 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x14); +;;;977 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x01,0x02,0x41,0x36,0xe9,0xef,0xf7,0xfb,0xfd,0x7e,0x00,0x00,0x00,0x90,0xc5,0x89); +;;;978 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x27,0x3d,0x20,0x46,0x3c,0xe9,0x01,0xf1,0xe1,0x49,0x0f,0x88,0x0d,0x4f,0x7a,0x00); +;;;979 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;980 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0xb2,0x21,0x2b,0x00,0x40,0xa1); +;;;981 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0x50,0x78,0x03,0xf8,0xb9,0x94,0x51,0x1c,0x2f,0x00,0x3f,0x97,0x32,0x8a,0xe3,0x15); +;;;982 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0xe0,0xe7,0x52,0x46,0x71,0xbc,0x04,0xfc,0x5c,0xca,0x28,0x8e,0x37,0x81,0x9f,0x4b); +;;;983 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0x19,0xc5,0xf1,0x1e,0xf0,0x73,0x29,0xa3,0x38,0xde,0x02,0x7e,0x2e,0x65,0x14,0xc7); +;;;984 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xf0,0x3b,0xc0,0xcf,0xa5,0x8c,0xe2,0x18,0x01,0xbf,0x5f,0x08,0x00,0x00,0x00,0x00,0x00); +;;;985 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x15); +;;;986 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xd9,0xe0,0xf7); +;;;987 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0xa3,0x00,0x20,0xcb,0x85,0xaa,0xd5,0x06,0x91,0x91,0x77,0xa1,0x6a,0xb5,0x41,0x64); +;;;988 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); +;;;989 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x75,0xa1,0x6a,0xb5,0x00,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x94,0xd6,0x0c,0x4d); +;;;990 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0xc9,0x12,0x0c,0xc5,0x21,0xc1,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xc9,0xd0); +;;;991 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0xa4,0x20,0x06,0x21,0x00,0x13,0x6c,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xd6,0x0c); +;;;992 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0x4d,0x88,0x02,0x08,0x84,0x21,0xc1,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xc9); +;;;993 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xf0,0xd0,0xb4,0x24,0x47,0x31,0x04,0x13,0x6c,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b,0x12); +;;;994 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x16); +;;;995 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x03,0x03,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;996 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x07,0x90,0x00,0x00,0x00,0x00,0xf0,0x20); +;;;997 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x18); +;;;998 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xef,0xbd,0xf7,0xde,0x7b,0xef,0xbd,0x07,0x08,0x08,0x0a,0x0c,0x0c,0x0c,0x0c,0x0c); +;;;999 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x0c,0x0c,0x0c,0x5c,0x09,0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x5a); +;;;1000 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xff,0x00,0x80); +;;;1001 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x10,0xb0,0x80,0x00,0xcc,0x1a,0xda,0x00,0xc8,0xb6,0xd1,0x01,0xf0,0x4c,0x3e,0x01,0x00); +;;;1002 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x19); +;;;1003 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xc0,0xaf,0xa3,0x9b,0x92,0x8d,0x8a,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xf6,0xcf); +;;;1004 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0xfc,0x2f,0xf3,0xef,0xcf,0xbf,0x0f,0xff,0xaf,0xb5,0x71,0x0e,0x6c,0x4a,0x69,0x08); +;;;1005 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x05,0xa0,0x06,0x06,0x02,0x00); +;;;1006 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x1a); +;;;1007 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00,0x40); +;;;1008 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0,0xa8); +;;;1009 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe,0xff); +;;;1010 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00); +;;;1011 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0); +;;;1012 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe); +;;;1013 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0xff,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38); +;;;1014 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xf0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); +;;;1015 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x1b); +;;;1016 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xa0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc); +;;;1017 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x05,0x90,0xfe,0xff,0x00,0x00); +;;;1018 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x20); +;;;1019 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x08,0x80,0x87,0x00,0x00,0x00,0x00,0x00,0x00); +;;;1020 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x22); +;;;1021 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0e,0x80,0x2d,0xd3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9f,0x00); +;;;1022 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x23); +;;;1023 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00); +;;;1024 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0d,0x90,0xff,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xef,0x07,0x35); +;;;1025 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x24); +;;;1026 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x03,0x00,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x84); +;;;1027 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x5a,0x5a,0x5a,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;1028 // BIST MODE +;;;1029 delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); +;;;1030 +;;;1031 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x42,0x24); +;;;1032 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x00); +;;;1033 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x2f); +;;;1034 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x19,0x00); +;;;1035 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x4c,0x03); +;;;1036 +;;;1037 +;;;1038 // Video Mode Enable +;;;1039 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0xB7,0x59,0x02); +;;;1040 +;;;1041 +;;;1042 +;;;1043 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x11); +;;;1044 +;;;1045 hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); +;;;1046 delayMs(10); +;;;1047 hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH); +;;;1048 // swire_init(); +;;;1049 delayMs(50); +;;;1050 +;;;1051 // +;;;1052 +;;;1053 hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29); +;;;1054 // delayMs(10); +;;;1055 +;;;1056 hal_dsi_tx_ctrl_write_cmd(0x29, 0, 3, 0x51, 0x0F, 0xFF); +;;;1057 delayMs(1); +;;;1058 /* 0x29 tx start ֮ */ +;;;1059 #else +;;;1060 /* +;;;1061 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x41,0x5a); +;;;1062 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x4c,0x03); +;;;1063 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); +;;;1064 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x5a); +;;;1065 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x03); +;;;1066 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x80,0x19,0x01); +;;;1067 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x08); +;;;1068 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x04,0x80,0x19,0x2d,0x05); +;;;1069 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x09); +;;;1070 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x5a,0x51,0xb5,0x2a,0x6c,0xe5,0x4a,0x01,0x40,0x62,0x0f,0x82,0x20,0x08,0xf0,0xb7); +;;;1071 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x00,0x24,0x42,0x0a,0xe3,0x91,0xa4,0xf0,0xc2,0xb9,0x6b,0x20,0x19,0xa1,0x26,0x00); +;;;1072 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x51,0x55,0x55,0x00,0xa0,0x4d,0x06,0x11,0x0d,0x60,0x5a,0xff,0xff,0x03,0xa5,0xe6); +;;;1073 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x08,0xc9,0x16,0x64,0x0b,0x00,0x00,0x11,0x07,0x60,0x00,0xff,0xff,0x03,0xff,0x34); +;;;1074 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0xc0,0x0c,0x3f,0x1f,0x9f,0x0f,0x00,0x08,0x00); +;;;1075 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0a); +;;;1076 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xff,0xb6,0x6d,0x03,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98,0x83,0xbe,0x76,0x41); +;;;1077 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98); +;;;1078 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0xa0,0x83,0xbe,0x76,0x41,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00); +;;;1079 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0b); +;;;1080 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xb0,0x23); +;;;1081 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x90,0x15,0x00); +;;;1082 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0c); +;;;1083 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfa,0x68,0x68,0x01,0xb2,0x75,0xb0,0x04,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); +;;;1084 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); +;;;1085 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xab,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x80,0x4c,0x29,0x84,0x52,0x01,0x09,0x00); +;;;1086 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0xb0,0x00,0x00); +;;;1087 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0d); +;;;1088 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0xf0,0xb1,0x71,0xef,0x4b,0xc0,0x80); +;;;1089 // delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0xf3,0xb1,0x71,0xef,0x4b,0xc0,0x80); +;;;1090 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0e); +;;;1091 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0x80,0xff,0x01,0x55,0x55,0x23,0x88,0x88,0x1c); +;;;1092 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0f); +;;;1093 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x14,0x40,0x6f,0xc0,0x12,0x08,0x64,0x08,0x52,0x31,0x58,0x49,0x03,0x52,0x4c,0x4c); +;;;1094 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x68,0x68,0x68,0x4c,0x4c,0x7c,0x14,0x00,0x20,0x06,0xc2,0x00,0x04,0x06,0x0c,0x00); +;;;1095 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x00,0x92,0x00,0x00); +;;;1096 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x10); +;;;1097 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x03,0xe7,0x1f,0x17,0x10,0x48,0x80,0xaa,0xd0,0x18,0x30,0x88,0x41,0x8a); +;;;1098 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0x90,0x39,0x28,0xa9,0xc5,0x9a,0x7b,0xf0,0x07,0x7e,0xe0,0x07,0x7e,0x20,0x10,0x00); +;;;1099 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x11); +;;;1100 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x49,0x77,0x03,0x40,0xca,0xf3,0xff,0x83,0x30,0x08,0xc4,0x06,0xa1,0xd8,0x24,0x18); +;;;1101 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x30,0xc6,0x66,0xc1,0x80,0x31,0x15,0xcb,0xe5,0xd2,0x68,0x6c,0x36,0x1d,0x04,0xc8); +;;;1102 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xd9,0x88,0x60,0xb0,0x81,0x40,0x1a,0x1b,0x48,0x63,0x03,0xb9,0x00,0x1c,0x80); +;;;1103 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x50,0x30,0x00,0xe0,0xe1,0x01,0x00,0x28,0x0e,0x06,0x43,0x55,0x55,0x55,0x55,0x55); +;;;1104 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x95,0x88,0x88,0x88,0x88,0x88,0xc8,0x08,0x86,0xc6,0xe3,0x81,0x00,0x20,0x00,0x21); +;;;1105 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); +;;;1106 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0c); +;;;1107 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xf0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5e,0x4a,0x01,0x78,0x00,0x08,0x00,0x00); +;;;1108 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x12); +;;;1109 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x41,0x37); +;;;1110 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xf1,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2d,0x23,0x05); +;;;1111 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0xa0,0xfb,0x08,0x2d,0x23,0x05,0xfb,0x0c); +;;;1112 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x13); +;;;1113 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfd,0x0f,0x00,0x0c,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1c,0x44,0x0c,0xce,0xe7); +;;;1114 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0f,0x90,0x62,0x0e,0x24,0x98,0xac,0x21,0x01,0x00,0xd0,0xff,0xff,0xff,0x07,0x20); +;;;1115 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x14); +;;;1116 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x02,0x41,0x36,0xe1,0xef,0xf7,0xfb,0xfd,0x7e,0x01,0x00,0x00,0x90,0xc5,0x8a); +;;;1117 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x27,0x6d,0x20,0x4e,0x3c,0x69,0x03,0xdb,0xe0,0x49,0x1b,0xd8,0x08,0x4f,0xda,0x00); +;;;1118 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x82,0xb5,0xe2,0xf7,0x47,0x00); +;;;1119 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0xd8,0x89,0xdf,0x1f,0x01,0x00,0x00,0x00,0x00,0x1c,0xb2,0x21,0x2b,0x00,0x40,0xa1); +;;;1120 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x50,0x78,0x17,0xda,0xf4,0x80,0x51,0x1c,0x6f,0x42,0x9b,0x1e,0x30,0x8a,0xe3,0x3d); +;;;1121 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x68,0xd3,0x03,0x46,0x71,0xbc,0x05,0x6d,0x7a,0xc0,0x28,0x8e,0x77,0xa0,0x4d,0x0f); +;;;1122 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x18,0xc5,0xf1,0x06,0xb4,0xe9,0x01,0xa3,0x38,0x5e,0x80,0x36,0x3d,0x60,0x14,0xc7); +;;;1123 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x2b,0xd0,0xa6,0x07,0x8c,0xe2,0x18,0x01,0xbf,0xdf,0x08,0x00,0x00,0x00,0x00,0x00); +;;;1124 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x15); +;;;1125 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xd9,0xe0,0xf7); +;;;1126 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xa3,0x00,0x20,0x4b,0x07,0xab,0xc5,0x03,0x00,0x00,0xd6,0xc1,0x6a,0xf1,0x00,0x00); +;;;1127 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); +;;;1128 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x75,0xa1,0x6a,0xb5,0x00,0x00,0x00,0x00,0x13,0x00,0xf0,0x00,0x14,0xd3,0x34,0xcd); +;;;1129 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x90,0x02,0x4d,0x10,0x20,0x10,0x06,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x35,0x4d,0xd3); +;;;1130 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xa8,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x35); +;;;1131 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xcd,0xd0,0x02,0x4d,0x50,0x30,0x14,0x47,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b); +;;;1132 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0xd3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xac,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b,0x00); +;;;1133 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x16); +;;;1134 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;1135 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x07,0x90,0x00,0x00,0x00,0x00,0xf0,0x20); +;;;1136 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x18); +;;;1137 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xef,0xbd,0xf7,0xde,0x7b,0xef,0xbd,0x07,0x08,0x08,0x0a,0x0c,0x0c,0x0c,0x0c,0x0c); +;;;1138 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x0c,0x0c,0x0c,0x5c,0x09,0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x5a); +;;;1139 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xff,0x00,0x80); +;;;1140 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xb0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); +;;;1141 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x19); +;;;1142 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xc0,0xaf,0xa3,0x9b,0x92,0x8d,0x8a,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xf6,0xcf); +;;;1143 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xfc,0x2f,0xf3,0xef,0xcf,0xbf,0x0f,0xff,0xaf,0xb5,0x71,0x0e,0x6c,0x4a,0x69,0x08); +;;;1144 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x03,0x03,0x68,0x00); +;;;1145 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1a); +;;;1146 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00,0x40); +;;;1147 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0,0xa8); +;;;1148 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe,0xff); +;;;1149 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00); +;;;1150 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0); +;;;1151 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe); +;;;1152 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xff,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38); +;;;1153 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); +;;;1154 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1b); +;;;1155 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xa0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc); +;;;1156 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0x90,0xfe,0xff,0x00,0x00); +;;;1157 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x20); +;;;1158 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); +;;;1159 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x22); +;;;1160 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0x80,0x2d,0xd3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9f,0x00); +;;;1161 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x23); +;;;1162 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;1163 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0d,0x90,0xff,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xff,0x07,0x25); +;;;1164 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); +;;;1165 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x03,0x00,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xa6); +;;;1166 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x5a,0x5a,0x5a,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +;;;1167 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x42,0x24); +;;;1168 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x00); +;;;1169 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x2f); +;;;1170 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x19,0x00); +;;;1171 //delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x02,0x5a); +;;;1172 //delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x02,0x00); +;;;1173 */ +;;;1174 +;;;1175 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x41,0x5a); +000024 2032 MOVS r0,#0x32 +000026 f7fffffe BL delayUs +00002a 205a MOVS r0,#0x5a +00002c 2341 MOVS r3,#0x41 +00002e 2202 MOVS r2,#2 +000030 2100 MOVS r1,#0 +000032 9000 STR r0,[sp,#0] +000034 2015 MOVS r0,#0x15 +000036 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1176 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x4c,0x03); +00003a 2032 MOVS r0,#0x32 +00003c f7fffffe BL delayUs +000040 2003 MOVS r0,#3 +000042 234c MOVS r3,#0x4c +000044 2202 MOVS r2,#2 +000046 2100 MOVS r1,#0 +000048 9000 STR r0,[sp,#0] +00004a 2015 MOVS r0,#0x15 +00004c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1177 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); +000050 2032 MOVS r0,#0x32 +000052 f7fffffe BL delayUs +000056 2024 MOVS r0,#0x24 +000058 215a MOVS r1,#0x5a +00005a 2341 MOVS r3,#0x41 +00005c 2203 MOVS r2,#3 +00005e 9100 STR r1,[sp,#0] +000060 9001 STR r0,[sp,#4] +000062 2100 MOVS r1,#0 +000064 2029 MOVS r0,#0x29 +000066 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1178 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x5a); +00006a 2032 MOVS r0,#0x32 +00006c f7fffffe BL delayUs +000070 205a MOVS r0,#0x5a +000072 2390 MOVS r3,#0x90 +000074 2202 MOVS r2,#2 +000076 2100 MOVS r1,#0 +000078 9000 STR r0,[sp,#0] +00007a 2015 MOVS r0,#0x15 +00007c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1179 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x03); +000080 2032 MOVS r0,#0x32 +000082 f7fffffe BL delayUs +000086 2003 MOVS r0,#3 +000088 215a MOVS r1,#0x5a +00008a 2341 MOVS r3,#0x41 +00008c 4602 MOV r2,r0 +00008e 9100 STR r1,[sp,#0] +000090 9001 STR r0,[sp,#4] +000092 2100 MOVS r1,#0 +000094 2029 MOVS r0,#0x29 +000096 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1180 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x80,0x19,0x01); +00009a 2032 MOVS r0,#0x32 +00009c f7fffffe BL delayUs +0000a0 2001 MOVS r0,#1 +0000a2 2119 MOVS r1,#0x19 +0000a4 2380 MOVS r3,#0x80 +0000a6 2203 MOVS r2,#3 +0000a8 9100 STR r1,[sp,#0] +0000aa 9001 STR r0,[sp,#4] +0000ac 2100 MOVS r1,#0 +0000ae 2029 MOVS r0,#0x29 +0000b0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1181 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x08); +0000b4 2032 MOVS r0,#0x32 +0000b6 f7fffffe BL delayUs +0000ba 2008 MOVS r0,#8 +0000bc 215a MOVS r1,#0x5a +0000be 2341 MOVS r3,#0x41 +0000c0 2203 MOVS r2,#3 +0000c2 9100 STR r1,[sp,#0] +0000c4 9001 STR r0,[sp,#4] +0000c6 2100 MOVS r1,#0 +0000c8 2029 MOVS r0,#0x29 +0000ca f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1182 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x04,0x80,0x19,0x2d,0x05); +0000ce 2032 MOVS r0,#0x32 +0000d0 f7fffffe BL delayUs +0000d4 2005 MOVS r0,#5 +0000d6 212d MOVS r1,#0x2d +0000d8 2219 MOVS r2,#0x19 +0000da 2380 MOVS r3,#0x80 +0000dc 9200 STR r2,[sp,#0] +0000de 9101 STR r1,[sp,#4] +0000e0 9002 STR r0,[sp,#8] +0000e2 2204 MOVS r2,#4 +0000e4 2100 MOVS r1,#0 +0000e6 2029 MOVS r0,#0x29 +0000e8 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1183 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x09); +0000ec 2032 MOVS r0,#0x32 +0000ee f7fffffe BL delayUs +0000f2 2009 MOVS r0,#9 +0000f4 215a MOVS r1,#0x5a +0000f6 2341 MOVS r3,#0x41 +0000f8 2203 MOVS r2,#3 +0000fa 9100 STR r1,[sp,#0] +0000fc 9001 STR r0,[sp,#4] +0000fe 2100 MOVS r1,#0 +000100 2029 MOVS r0,#0x29 +000102 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1184 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x5a,0x51,0xb5,0x2a,0x6c,0xe5,0x4a,0x01,0x40,0x62,0x0f,0x82,0x20,0x08,0xf0,0xb7); +000106 2032 MOVS r0,#0x32 +000108 f7fffffe BL delayUs +00010c 20b7 MOVS r0,#0xb7 +00010e 21f0 MOVS r1,#0xf0 +000110 2208 MOVS r2,#8 +000112 2320 MOVS r3,#0x20 +000114 930c STR r3,[sp,#0x30] +000116 920d STR r2,[sp,#0x34] +000118 910e STR r1,[sp,#0x38] +00011a 900f STR r0,[sp,#0x3c] +00011c 2082 MOVS r0,#0x82 +00011e 210f MOVS r1,#0xf +000120 2262 MOVS r2,#0x62 +000122 2340 MOVS r3,#0x40 +000124 9308 STR r3,[sp,#0x20] +000126 9209 STR r2,[sp,#0x24] +000128 910a STR r1,[sp,#0x28] +00012a 900b STR r0,[sp,#0x2c] +00012c 2001 MOVS r0,#1 +00012e 214a MOVS r1,#0x4a +000130 22e5 MOVS r2,#0xe5 +000132 236c MOVS r3,#0x6c +000134 9304 STR r3,[sp,#0x10] +000136 9205 STR r2,[sp,#0x14] +000138 9106 STR r1,[sp,#0x18] +00013a 9007 STR r0,[sp,#0x1c] +00013c 202a MOVS r0,#0x2a +00013e 21b5 MOVS r1,#0xb5 +000140 2251 MOVS r2,#0x51 +000142 235a MOVS r3,#0x5a +000144 9300 STR r3,[sp,#0] +000146 9201 STR r2,[sp,#4] +000148 9102 STR r1,[sp,#8] +00014a 9003 STR r0,[sp,#0xc] +00014c 2380 MOVS r3,#0x80 +00014e 2211 MOVS r2,#0x11 +000150 2100 MOVS r1,#0 +000152 2029 MOVS r0,#0x29 +000154 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1185 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x00,0x24,0x42,0x0a,0xe3,0x91,0xa4,0xf0,0xc2,0xb9,0x6b,0x20,0x19,0xa1,0x26,0x00); +000158 2032 MOVS r0,#0x32 +00015a f7fffffe BL delayUs +00015e 2000 MOVS r0,#0 +000160 2126 MOVS r1,#0x26 +000162 22a1 MOVS r2,#0xa1 +000164 2319 MOVS r3,#0x19 +000166 930c STR r3,[sp,#0x30] +000168 920d STR r2,[sp,#0x34] +00016a 910e STR r1,[sp,#0x38] +00016c 900f STR r0,[sp,#0x3c] +00016e 2020 MOVS r0,#0x20 +000170 216b MOVS r1,#0x6b +000172 22b9 MOVS r2,#0xb9 +000174 23c2 MOVS r3,#0xc2 +000176 9308 STR r3,[sp,#0x20] +000178 9209 STR r2,[sp,#0x24] +00017a 910a STR r1,[sp,#0x28] +00017c 900b STR r0,[sp,#0x2c] +00017e 20f0 MOVS r0,#0xf0 +000180 21a4 MOVS r1,#0xa4 +000182 2291 MOVS r2,#0x91 +000184 23e3 MOVS r3,#0xe3 +000186 9304 STR r3,[sp,#0x10] +000188 9205 STR r2,[sp,#0x14] +00018a 9106 STR r1,[sp,#0x18] +00018c 9007 STR r0,[sp,#0x1c] +00018e 200a MOVS r0,#0xa +000190 2142 MOVS r1,#0x42 +000192 2224 MOVS r2,#0x24 +000194 2300 MOVS r3,#0 +000196 9300 STR r3,[sp,#0] +000198 9201 STR r2,[sp,#4] +00019a 9102 STR r1,[sp,#8] +00019c 9003 STR r0,[sp,#0xc] +00019e 2390 MOVS r3,#0x90 +0001a0 2211 MOVS r2,#0x11 +0001a2 2100 MOVS r1,#0 +0001a4 2029 MOVS r0,#0x29 +0001a6 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1186 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x51,0x55,0x55,0x00,0xa0,0x4d,0x06,0x11,0x0d,0x60,0x5a,0xff,0xff,0x03,0xa5,0xe6); +0001aa 2032 MOVS r0,#0x32 +0001ac f7fffffe BL delayUs +0001b0 20e6 MOVS r0,#0xe6 +0001b2 21a5 MOVS r1,#0xa5 +0001b4 2203 MOVS r2,#3 +0001b6 23ff MOVS r3,#0xff +0001b8 930c STR r3,[sp,#0x30] +0001ba 920d STR r2,[sp,#0x34] +0001bc 910e STR r1,[sp,#0x38] +0001be 900f STR r0,[sp,#0x3c] +0001c0 4618 MOV r0,r3 +0001c2 215a MOVS r1,#0x5a +0001c4 2260 MOVS r2,#0x60 +0001c6 230d MOVS r3,#0xd +0001c8 9308 STR r3,[sp,#0x20] +0001ca 9209 STR r2,[sp,#0x24] +0001cc 910a STR r1,[sp,#0x28] +0001ce 900b STR r0,[sp,#0x2c] +0001d0 2011 MOVS r0,#0x11 +0001d2 2106 MOVS r1,#6 +0001d4 224d MOVS r2,#0x4d +0001d6 23a0 MOVS r3,#0xa0 +0001d8 9304 STR r3,[sp,#0x10] +0001da 9205 STR r2,[sp,#0x14] +0001dc 9106 STR r1,[sp,#0x18] +0001de 9007 STR r0,[sp,#0x1c] +0001e0 2000 MOVS r0,#0 +0001e2 2155 MOVS r1,#0x55 +0001e4 2351 MOVS r3,#0x51 +0001e6 9101 STR r1,[sp,#4] +0001e8 9300 STR r3,[sp,#0] +0001ea 9102 STR r1,[sp,#8] +0001ec 9003 STR r0,[sp,#0xc] +0001ee 23a0 MOVS r3,#0xa0 +0001f0 2211 MOVS r2,#0x11 +0001f2 4601 MOV r1,r0 +0001f4 2029 MOVS r0,#0x29 +0001f6 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1187 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x08,0xc9,0x16,0x64,0x0b,0x00,0x00,0x11,0x07,0x60,0x00,0xff,0xff,0x03,0xff,0x34); +0001fa 2032 MOVS r0,#0x32 +0001fc f7fffffe BL delayUs +000200 2034 MOVS r0,#0x34 +000202 21ff MOVS r1,#0xff +000204 2203 MOVS r2,#3 +000206 910c STR r1,[sp,#0x30] +000208 920d STR r2,[sp,#0x34] +00020a 910e STR r1,[sp,#0x38] +00020c 900f STR r0,[sp,#0x3c] +00020e 4608 MOV r0,r1 +000210 2100 MOVS r1,#0 +000212 2260 MOVS r2,#0x60 +000214 2307 MOVS r3,#7 +000216 9308 STR r3,[sp,#0x20] +000218 9209 STR r2,[sp,#0x24] +00021a 910a STR r1,[sp,#0x28] +00021c 900b STR r0,[sp,#0x2c] +00021e 2011 MOVS r0,#0x11 +000220 230b MOVS r3,#0xb +000222 9105 STR r1,[sp,#0x14] +000224 9304 STR r3,[sp,#0x10] +000226 9106 STR r1,[sp,#0x18] +000228 9007 STR r0,[sp,#0x1c] +00022a 2064 MOVS r0,#0x64 +00022c 2116 MOVS r1,#0x16 +00022e 22c9 MOVS r2,#0xc9 +000230 2308 MOVS r3,#8 +000232 9300 STR r3,[sp,#0] +000234 9201 STR r2,[sp,#4] +000236 9102 STR r1,[sp,#8] +000238 9003 STR r0,[sp,#0xc] +00023a 23b0 MOVS r3,#0xb0 +00023c 2211 MOVS r2,#0x11 +00023e 2100 MOVS r1,#0 +000240 2029 MOVS r0,#0x29 +000242 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1188 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0xc0,0x0c,0x3f,0x1f,0x9f,0x0f,0x00,0x08,0x00); +000246 2032 MOVS r0,#0x32 +000248 f7fffffe BL delayUs +00024c 2000 MOVS r0,#0 +00024e 2108 MOVS r1,#8 +000250 230f MOVS r3,#0xf +000252 9005 STR r0,[sp,#0x14] +000254 9304 STR r3,[sp,#0x10] +000256 9106 STR r1,[sp,#0x18] +000258 9007 STR r0,[sp,#0x1c] +00025a 209f MOVS r0,#0x9f +00025c 211f MOVS r1,#0x1f +00025e 223f MOVS r2,#0x3f +000260 230c MOVS r3,#0xc +000262 9300 STR r3,[sp,#0] +000264 9201 STR r2,[sp,#4] +000266 9102 STR r1,[sp,#8] +000268 9003 STR r0,[sp,#0xc] +00026a 23c0 MOVS r3,#0xc0 +00026c 2209 MOVS r2,#9 +00026e 2100 MOVS r1,#0 +000270 2029 MOVS r0,#0x29 +000272 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1189 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0a); +000276 2032 MOVS r0,#0x32 +000278 f7fffffe BL delayUs +00027c 200a MOVS r0,#0xa +00027e 215a MOVS r1,#0x5a +000280 2341 MOVS r3,#0x41 +000282 2203 MOVS r2,#3 +000284 9100 STR r1,[sp,#0] +000286 9001 STR r0,[sp,#4] +000288 2100 MOVS r1,#0 +00028a 2029 MOVS r0,#0x29 +00028c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1190 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xff,0xb6,0x6d,0x03,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98,0x83,0xbe,0x76,0x41); +000290 2032 MOVS r0,#0x32 +000292 f7fffffe BL delayUs +000296 2041 MOVS r0,#0x41 +000298 2176 MOVS r1,#0x76 +00029a 22be MOVS r2,#0xbe +00029c 2383 MOVS r3,#0x83 +00029e 930c STR r3,[sp,#0x30] +0002a0 920d STR r2,[sp,#0x34] +0002a2 910e STR r1,[sp,#0x38] +0002a4 900f STR r0,[sp,#0x3c] +0002a6 2098 MOVS r0,#0x98 +0002a8 2163 MOVS r1,#0x63 +0002aa 225c MOVS r2,#0x5c +0002ac 2349 MOVS r3,#0x49 +0002ae 9308 STR r3,[sp,#0x20] +0002b0 9209 STR r2,[sp,#0x24] +0002b2 910a STR r1,[sp,#0x28] +0002b4 900b STR r0,[sp,#0x2c] +0002b6 2036 MOVS r0,#0x36 +0002b8 2123 MOVS r1,#0x23 +0002ba 2214 MOVS r2,#0x14 +0002bc 2300 MOVS r3,#0 +0002be 9304 STR r3,[sp,#0x10] +0002c0 9205 STR r2,[sp,#0x14] +0002c2 9106 STR r1,[sp,#0x18] +0002c4 9007 STR r0,[sp,#0x1c] +0002c6 2003 MOVS r0,#3 +0002c8 216d MOVS r1,#0x6d +0002ca 22b6 MOVS r2,#0xb6 +0002cc 23ff MOVS r3,#0xff +0002ce 9300 STR r3,[sp,#0] +0002d0 9201 STR r2,[sp,#4] +0002d2 9102 STR r1,[sp,#8] +0002d4 9003 STR r0,[sp,#0xc] +0002d6 2380 MOVS r3,#0x80 +0002d8 2211 MOVS r2,#0x11 +0002da 2100 MOVS r1,#0 +0002dc 2029 MOVS r0,#0x29 +0002de f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1191 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98); +0002e2 2032 MOVS r0,#0x32 +0002e4 f7fffffe BL delayUs +0002e8 2098 MOVS r0,#0x98 +0002ea 2163 MOVS r1,#0x63 +0002ec 225c MOVS r2,#0x5c +0002ee 2349 MOVS r3,#0x49 +0002f0 930c STR r3,[sp,#0x30] +0002f2 920d STR r2,[sp,#0x34] +0002f4 910e STR r1,[sp,#0x38] +0002f6 900f STR r0,[sp,#0x3c] +0002f8 2036 MOVS r0,#0x36 +0002fa 2123 MOVS r1,#0x23 +0002fc 2214 MOVS r2,#0x14 +0002fe 2300 MOVS r3,#0 +000300 9308 STR r3,[sp,#0x20] +000302 9209 STR r2,[sp,#0x24] +000304 910a STR r1,[sp,#0x28] +000306 900b STR r0,[sp,#0x2c] +000308 200b MOVS r0,#0xb +00030a 2110 MOVS r1,#0x10 +00030c 221f MOVS r2,#0x1f +00030e 232e MOVS r3,#0x2e +000310 9304 STR r3,[sp,#0x10] +000312 9205 STR r2,[sp,#0x14] +000314 9106 STR r1,[sp,#0x18] +000316 9007 STR r0,[sp,#0x1c] +000318 203e MOVS r0,#0x3e +00031a 214d MOVS r1,#0x4d +00031c 2250 MOVS r2,#0x50 +00031e 237b MOVS r3,#0x7b +000320 9300 STR r3,[sp,#0] +000322 9201 STR r2,[sp,#4] +000324 9102 STR r1,[sp,#8] +000326 9003 STR r0,[sp,#0xc] +000328 2390 MOVS r3,#0x90 +00032a 2211 MOVS r2,#0x11 +00032c 2100 MOVS r1,#0 +00032e 2029 MOVS r0,#0x29 +000330 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1192 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0xa0,0x83,0xbe,0x76,0x41,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00); +000334 2032 MOVS r0,#0x32 +000336 f7fffffe BL delayUs +00033a 2000 MOVS r0,#0 +00033c 210b MOVS r1,#0xb +00033e 2210 MOVS r2,#0x10 +000340 231f MOVS r3,#0x1f +000342 9309 STR r3,[sp,#0x24] +000344 920a STR r2,[sp,#0x28] +000346 910b STR r1,[sp,#0x2c] +000348 900c STR r0,[sp,#0x30] +00034a 202e MOVS r0,#0x2e +00034c 213e MOVS r1,#0x3e +00034e 224d MOVS r2,#0x4d +000350 2350 MOVS r3,#0x50 +000352 9305 STR r3,[sp,#0x14] +000354 9206 STR r2,[sp,#0x18] +000356 9107 STR r1,[sp,#0x1c] +000358 9008 STR r0,[sp,#0x20] +00035a 207b MOVS r0,#0x7b +00035c 2141 MOVS r1,#0x41 +00035e 2276 MOVS r2,#0x76 +000360 23be MOVS r3,#0xbe +000362 9301 STR r3,[sp,#4] +000364 9202 STR r2,[sp,#8] +000366 9103 STR r1,[sp,#0xc] +000368 9004 STR r0,[sp,#0x10] +00036a 2083 MOVS r0,#0x83 +00036c 23a0 MOVS r3,#0xa0 +00036e 220e MOVS r2,#0xe +000370 2100 MOVS r1,#0 +000372 9000 STR r0,[sp,#0] +000374 2029 MOVS r0,#0x29 +000376 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1193 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0b); +00037a 2032 MOVS r0,#0x32 +00037c f7fffffe BL delayUs +000380 200b MOVS r0,#0xb +000382 215a MOVS r1,#0x5a +000384 2341 MOVS r3,#0x41 +000386 2203 MOVS r2,#3 +000388 9100 STR r1,[sp,#0] +00038a 9001 STR r0,[sp,#4] +00038c 2100 MOVS r1,#0 +00038e 2029 MOVS r0,#0x29 +000390 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1194 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xb0,0x23); +000394 2032 MOVS r0,#0x32 +000396 f7fffffe BL delayUs +00039a 2023 MOVS r0,#0x23 +00039c 21b0 MOVS r1,#0xb0 +00039e 2200 MOVS r2,#0 +0003a0 2304 MOVS r3,#4 +0003a2 930c STR r3,[sp,#0x30] +0003a4 920d STR r2,[sp,#0x34] +0003a6 910e STR r1,[sp,#0x38] +0003a8 900f STR r0,[sp,#0x3c] +0003aa 2022 MOVS r0,#0x22 +0003ac 2110 MOVS r1,#0x10 +0003ae 9208 STR r2,[sp,#0x20] +0003b0 9209 STR r2,[sp,#0x24] +0003b2 910a STR r1,[sp,#0x28] +0003b4 900b STR r0,[sp,#0x2c] +0003b6 2047 MOVS r0,#0x47 +0003b8 2160 MOVS r1,#0x60 +0003ba 2308 MOVS r3,#8 +0003bc 9304 STR r3,[sp,#0x10] +0003be 9205 STR r2,[sp,#0x14] +0003c0 9106 STR r1,[sp,#0x18] +0003c2 9007 STR r0,[sp,#0x1c] +0003c4 2044 MOVS r0,#0x44 +0003c6 2120 MOVS r1,#0x20 +0003c8 9200 STR r2,[sp,#0] +0003ca 2380 MOVS r3,#0x80 +0003cc 9201 STR r2,[sp,#4] +0003ce 9102 STR r1,[sp,#8] +0003d0 9003 STR r0,[sp,#0xc] +0003d2 2211 MOVS r2,#0x11 +0003d4 2100 MOVS r1,#0 +0003d6 2029 MOVS r0,#0x29 +0003d8 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1195 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x90,0x15,0x00); +0003dc 2032 MOVS r0,#0x32 +0003de f7fffffe BL delayUs +0003e2 2000 MOVS r0,#0 +0003e4 2115 MOVS r1,#0x15 +0003e6 2390 MOVS r3,#0x90 +0003e8 2203 MOVS r2,#3 +0003ea 9100 STR r1,[sp,#0] +0003ec 9001 STR r0,[sp,#4] +0003ee 4601 MOV r1,r0 +0003f0 2029 MOVS r0,#0x29 +0003f2 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1196 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0c); +0003f6 2032 MOVS r0,#0x32 +0003f8 f7fffffe BL delayUs +0003fc 200c MOVS r0,#0xc +0003fe 215a MOVS r1,#0x5a +000400 2341 MOVS r3,#0x41 +000402 2203 MOVS r2,#3 +000404 9100 STR r1,[sp,#0] +000406 9001 STR r0,[sp,#4] +000408 2100 MOVS r1,#0 +00040a 2029 MOVS r0,#0x29 +00040c e00e B |L12.1068| +00040e 0000 DCW 0x0000 + |L12.1040| +000410 4d693853 DCB "Mi8SE",0 +000414 4500 +000416 00 DCB 0 +000417 00 DCB 0 + |L12.1048| +000418 5b25735d DCB "[%s] (%04d) Mi8SE\n",0 +00041c 20282530 +000420 34642920 +000424 4d693853 +000428 450a00 +00042b 00 DCB 0 + |L12.1068| +00042c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1197 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfa,0x68,0x68,0x01,0xb2,0x75,0xb0,0x04,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); +000430 2032 MOVS r0,#0x32 +000432 f7fffffe BL delayUs +000436 2051 MOVS r0,#0x51 +000438 2156 MOVS r1,#0x56 +00043a 2215 MOVS r2,#0x15 +00043c 2350 MOVS r3,#0x50 +00043e 930c STR r3,[sp,#0x30] +000440 920d STR r2,[sp,#0x34] +000442 910e STR r1,[sp,#0x38] +000444 900f STR r0,[sp,#0x3c] +000446 2000 MOVS r0,#0 +000448 4611 MOV r1,r2 +00044a 2260 MOVS r2,#0x60 +00044c 9008 STR r0,[sp,#0x20] +00044e 9209 STR r2,[sp,#0x24] +000450 910a STR r1,[sp,#0x28] +000452 900b STR r0,[sp,#0x2c] +000454 2004 MOVS r0,#4 +000456 21b0 MOVS r1,#0xb0 +000458 2275 MOVS r2,#0x75 +00045a 23b2 MOVS r3,#0xb2 +00045c 9304 STR r3,[sp,#0x10] +00045e 9205 STR r2,[sp,#0x14] +000460 9106 STR r1,[sp,#0x18] +000462 9007 STR r0,[sp,#0x1c] +000464 2001 MOVS r0,#1 +000466 2168 MOVS r1,#0x68 +000468 23fa MOVS r3,#0xfa +00046a 9101 STR r1,[sp,#4] +00046c 9300 STR r3,[sp,#0] +00046e 9102 STR r1,[sp,#8] +000470 9003 STR r0,[sp,#0xc] +000472 2380 MOVS r3,#0x80 +000474 2211 MOVS r2,#0x11 +000476 2100 MOVS r1,#0 +000478 2029 MOVS r0,#0x29 +00047a f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1198 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); +00047e 2032 MOVS r0,#0x32 +000480 f7fffffe BL delayUs +000484 2095 MOVS r0,#0x95 +000486 2161 MOVS r1,#0x61 +000488 2255 MOVS r2,#0x55 +00048a 2315 MOVS r3,#0x15 +00048c 930c STR r3,[sp,#0x30] +00048e 920d STR r2,[sp,#0x34] +000490 910e STR r1,[sp,#0x38] +000492 900f STR r0,[sp,#0x3c] +000494 2051 MOVS r0,#0x51 +000496 2156 MOVS r1,#0x56 +000498 461a MOV r2,r3 +00049a 2350 MOVS r3,#0x50 +00049c 9308 STR r3,[sp,#0x20] +00049e 9209 STR r2,[sp,#0x24] +0004a0 910a STR r1,[sp,#0x28] +0004a2 900b STR r0,[sp,#0x2c] +0004a4 2000 MOVS r0,#0 +0004a6 2115 MOVS r1,#0x15 +0004a8 2260 MOVS r2,#0x60 +0004aa 9004 STR r0,[sp,#0x10] +0004ac 9205 STR r2,[sp,#0x14] +0004ae 9106 STR r1,[sp,#0x18] +0004b0 9007 STR r0,[sp,#0x1c] +0004b2 4608 MOV r0,r1 +0004b4 2161 MOVS r1,#0x61 +0004b6 2255 MOVS r2,#0x55 +0004b8 2315 MOVS r3,#0x15 +0004ba 9300 STR r3,[sp,#0] +0004bc 9201 STR r2,[sp,#4] +0004be 9102 STR r1,[sp,#8] +0004c0 9003 STR r0,[sp,#0xc] +0004c2 2390 MOVS r3,#0x90 +0004c4 2211 MOVS r2,#0x11 +0004c6 2100 MOVS r1,#0 +0004c8 2029 MOVS r0,#0x29 +0004ca f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1199 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xab,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x80,0x4c,0x29,0x84,0x52,0x01,0x09,0x00); +0004ce 2032 MOVS r0,#0x32 +0004d0 f7fffffe BL delayUs +0004d4 2000 MOVS r0,#0 +0004d6 2109 MOVS r1,#9 +0004d8 2201 MOVS r2,#1 +0004da 2352 MOVS r3,#0x52 +0004dc 930c STR r3,[sp,#0x30] +0004de 920d STR r2,[sp,#0x34] +0004e0 910e STR r1,[sp,#0x38] +0004e2 900f STR r0,[sp,#0x3c] +0004e4 2084 MOVS r0,#0x84 +0004e6 2129 MOVS r1,#0x29 +0004e8 224c MOVS r2,#0x4c +0004ea 2380 MOVS r3,#0x80 +0004ec 9308 STR r3,[sp,#0x20] +0004ee 9209 STR r2,[sp,#0x24] +0004f0 910a STR r1,[sp,#0x28] +0004f2 900b STR r0,[sp,#0x2c] +0004f4 2005 MOVS r0,#5 +0004f6 2100 MOVS r1,#0 +0004f8 9104 STR r1,[sp,#0x10] +0004fa 9005 STR r0,[sp,#0x14] +0004fc 2218 MOVS r2,#0x18 +0004fe 23ab MOVS r3,#0xab +000500 9106 STR r1,[sp,#0x18] +000502 9007 STR r0,[sp,#0x1c] +000504 9300 STR r3,[sp,#0] +000506 9201 STR r2,[sp,#4] +000508 9102 STR r1,[sp,#8] +00050a 9003 STR r0,[sp,#0xc] +00050c 23a0 MOVS r3,#0xa0 +00050e 2211 MOVS r2,#0x11 +000510 2029 MOVS r0,#0x29 +000512 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1200 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0xb0,0x00,0x00); +000516 2032 MOVS r0,#0x32 +000518 f7fffffe BL delayUs +00051c 2000 MOVS r0,#0 +00051e 9000 STR r0,[sp,#0] +000520 23b0 MOVS r3,#0xb0 +000522 2203 MOVS r2,#3 +000524 4601 MOV r1,r0 +000526 9001 STR r0,[sp,#4] +000528 2029 MOVS r0,#0x29 +00052a f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1201 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0d); +00052e 2032 MOVS r0,#0x32 +000530 f7fffffe BL delayUs +000534 200d MOVS r0,#0xd +000536 215a MOVS r1,#0x5a +000538 2341 MOVS r3,#0x41 +00053a 2203 MOVS r2,#3 +00053c 9100 STR r1,[sp,#0] +00053e 9001 STR r0,[sp,#4] +000540 2100 MOVS r1,#0 +000542 2029 MOVS r0,#0x29 +000544 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1202 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0xf0,0xb1,0x71,0xef,0x4b,0xc0,0x80); +000548 2032 MOVS r0,#0x32 +00054a f7fffffe BL delayUs +00054e 2080 MOVS r0,#0x80 +000550 21c0 MOVS r1,#0xc0 +000552 224b MOVS r2,#0x4b +000554 23ef MOVS r3,#0xef +000556 9303 STR r3,[sp,#0xc] +000558 9204 STR r2,[sp,#0x10] +00055a 9105 STR r1,[sp,#0x14] +00055c 9006 STR r0,[sp,#0x18] +00055e 2071 MOVS r0,#0x71 +000560 21b1 MOVS r1,#0xb1 +000562 22f0 MOVS r2,#0xf0 +000564 2380 MOVS r3,#0x80 +000566 9200 STR r2,[sp,#0] +000568 9101 STR r1,[sp,#4] +00056a 9002 STR r0,[sp,#8] +00056c 2208 MOVS r2,#8 +00056e 2100 MOVS r1,#0 +000570 2029 MOVS r0,#0x29 +000572 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1203 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0e); +000576 2032 MOVS r0,#0x32 +000578 f7fffffe BL delayUs +00057c 200e MOVS r0,#0xe +00057e 215a MOVS r1,#0x5a +000580 2341 MOVS r3,#0x41 +000582 2203 MOVS r2,#3 +000584 9100 STR r1,[sp,#0] +000586 9001 STR r0,[sp,#4] +000588 2100 MOVS r1,#0 +00058a 2029 MOVS r0,#0x29 +00058c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1204 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0x80,0xff,0x01,0x55,0x55,0x23,0x88,0x88,0x1c); +000590 2032 MOVS r0,#0x32 +000592 f7fffffe BL delayUs +000596 201c MOVS r0,#0x1c +000598 2188 MOVS r1,#0x88 +00059a 2323 MOVS r3,#0x23 +00059c 9105 STR r1,[sp,#0x14] +00059e 9304 STR r3,[sp,#0x10] +0005a0 9106 STR r1,[sp,#0x18] +0005a2 9007 STR r0,[sp,#0x1c] +0005a4 2055 MOVS r0,#0x55 +0005a6 2201 MOVS r2,#1 +0005a8 23ff MOVS r3,#0xff +0005aa 9002 STR r0,[sp,#8] +0005ac 9300 STR r3,[sp,#0] +0005ae 9201 STR r2,[sp,#4] +0005b0 9003 STR r0,[sp,#0xc] +0005b2 2380 MOVS r3,#0x80 +0005b4 2209 MOVS r2,#9 +0005b6 2100 MOVS r1,#0 +0005b8 2029 MOVS r0,#0x29 +0005ba f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1205 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0f); +0005be 2032 MOVS r0,#0x32 +0005c0 f7fffffe BL delayUs +0005c4 200f MOVS r0,#0xf +0005c6 215a MOVS r1,#0x5a +0005c8 2341 MOVS r3,#0x41 +0005ca 2203 MOVS r2,#3 +0005cc 9100 STR r1,[sp,#0] +0005ce 9001 STR r0,[sp,#4] +0005d0 2100 MOVS r1,#0 +0005d2 2029 MOVS r0,#0x29 +0005d4 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1206 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x14,0x40,0x6f,0xc0,0x12,0x08,0x64,0x08,0x52,0x31,0x58,0x49,0x03,0x52,0x4c,0x4c); +0005d8 2032 MOVS r0,#0x32 +0005da f7fffffe BL delayUs +0005de 204c MOVS r0,#0x4c +0005e0 2252 MOVS r2,#0x52 +0005e2 2303 MOVS r3,#3 +0005e4 900e STR r0,[sp,#0x38] +0005e6 930c STR r3,[sp,#0x30] +0005e8 920d STR r2,[sp,#0x34] +0005ea 900f STR r0,[sp,#0x3c] +0005ec 2049 MOVS r0,#0x49 +0005ee 2158 MOVS r1,#0x58 +0005f0 2231 MOVS r2,#0x31 +0005f2 2352 MOVS r3,#0x52 +0005f4 9308 STR r3,[sp,#0x20] +0005f6 9209 STR r2,[sp,#0x24] +0005f8 910a STR r1,[sp,#0x28] +0005fa 900b STR r0,[sp,#0x2c] +0005fc 2008 MOVS r0,#8 +0005fe 2164 MOVS r1,#0x64 +000600 2312 MOVS r3,#0x12 +000602 9005 STR r0,[sp,#0x14] +000604 9304 STR r3,[sp,#0x10] +000606 9106 STR r1,[sp,#0x18] +000608 9007 STR r0,[sp,#0x1c] +00060a 20c0 MOVS r0,#0xc0 +00060c 216f MOVS r1,#0x6f +00060e 2240 MOVS r2,#0x40 +000610 2314 MOVS r3,#0x14 +000612 9300 STR r3,[sp,#0] +000614 9201 STR r2,[sp,#4] +000616 9102 STR r1,[sp,#8] +000618 9003 STR r0,[sp,#0xc] +00061a 2380 MOVS r3,#0x80 +00061c 2211 MOVS r2,#0x11 +00061e 2100 MOVS r1,#0 +000620 2029 MOVS r0,#0x29 +000622 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1207 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x68,0x68,0x68,0x4c,0x4c,0x7c,0x14,0x00,0x20,0x06,0xc2,0x00,0x04,0x06,0x0c,0x00); +000626 2032 MOVS r0,#0x32 +000628 f7fffffe BL delayUs +00062c 2000 MOVS r0,#0 +00062e 210c MOVS r1,#0xc +000630 2206 MOVS r2,#6 +000632 2304 MOVS r3,#4 +000634 930c STR r3,[sp,#0x30] +000636 920d STR r2,[sp,#0x34] +000638 910e STR r1,[sp,#0x38] +00063a 900f STR r0,[sp,#0x3c] +00063c 21c2 MOVS r1,#0xc2 +00063e 2320 MOVS r3,#0x20 +000640 9308 STR r3,[sp,#0x20] +000642 9209 STR r2,[sp,#0x24] +000644 910a STR r1,[sp,#0x28] +000646 900b STR r0,[sp,#0x2c] +000648 2114 MOVS r1,#0x14 +00064a 227c MOVS r2,#0x7c +00064c 234c MOVS r3,#0x4c +00064e 9304 STR r3,[sp,#0x10] +000650 9205 STR r2,[sp,#0x14] +000652 9106 STR r1,[sp,#0x18] +000654 9007 STR r0,[sp,#0x1c] +000656 2168 MOVS r1,#0x68 +000658 9100 STR r1,[sp,#0] +00065a 9101 STR r1,[sp,#4] +00065c 9303 STR r3,[sp,#0xc] +00065e 9102 STR r1,[sp,#8] +000660 2390 MOVS r3,#0x90 +000662 2211 MOVS r2,#0x11 +000664 2100 MOVS r1,#0 +000666 2029 MOVS r0,#0x29 +000668 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1208 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x00,0x92,0x00,0x00); +00066c 2032 MOVS r0,#0x32 +00066e f7fffffe BL delayUs +000672 2000 MOVS r0,#0 +000674 2292 MOVS r2,#0x92 +000676 9000 STR r0,[sp,#0] +000678 9002 STR r0,[sp,#8] +00067a 23a0 MOVS r3,#0xa0 +00067c 9201 STR r2,[sp,#4] +00067e 9003 STR r0,[sp,#0xc] +000680 2205 MOVS r2,#5 +000682 4601 MOV r1,r0 +000684 2029 MOVS r0,#0x29 +000686 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1209 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x10); +00068a 2032 MOVS r0,#0x32 +00068c f7fffffe BL delayUs +000690 2010 MOVS r0,#0x10 +000692 215a MOVS r1,#0x5a +000694 2341 MOVS r3,#0x41 +000696 2203 MOVS r2,#3 +000698 9100 STR r1,[sp,#0] +00069a 9001 STR r0,[sp,#4] +00069c 2100 MOVS r1,#0 +00069e 2029 MOVS r0,#0x29 +0006a0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1210 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x03,0xe7,0x1f,0x17,0x10,0x48,0x80,0xaa,0xd0,0x18,0x30,0x88,0x41,0x8a); +0006a4 2032 MOVS r0,#0x32 +0006a6 f7fffffe BL delayUs +0006aa 208a MOVS r0,#0x8a +0006ac 2141 MOVS r1,#0x41 +0006ae 2288 MOVS r2,#0x88 +0006b0 2330 MOVS r3,#0x30 +0006b2 930c STR r3,[sp,#0x30] +0006b4 920d STR r2,[sp,#0x34] +0006b6 910e STR r1,[sp,#0x38] +0006b8 900f STR r0,[sp,#0x3c] +0006ba 2018 MOVS r0,#0x18 +0006bc 21d0 MOVS r1,#0xd0 +0006be 22aa MOVS r2,#0xaa +0006c0 2380 MOVS r3,#0x80 +0006c2 9308 STR r3,[sp,#0x20] +0006c4 9209 STR r2,[sp,#0x24] +0006c6 910a STR r1,[sp,#0x28] +0006c8 900b STR r0,[sp,#0x2c] +0006ca 2048 MOVS r0,#0x48 +0006cc 2110 MOVS r1,#0x10 +0006ce 2217 MOVS r2,#0x17 +0006d0 231f MOVS r3,#0x1f +0006d2 9304 STR r3,[sp,#0x10] +0006d4 9205 STR r2,[sp,#0x14] +0006d6 9106 STR r1,[sp,#0x18] +0006d8 9007 STR r0,[sp,#0x1c] +0006da 20e7 MOVS r0,#0xe7 +0006dc 2103 MOVS r1,#3 +0006de 2200 MOVS r2,#0 +0006e0 9200 STR r2,[sp,#0] +0006e2 2380 MOVS r3,#0x80 +0006e4 9201 STR r2,[sp,#4] +0006e6 9102 STR r1,[sp,#8] +0006e8 9003 STR r0,[sp,#0xc] +0006ea 2211 MOVS r2,#0x11 +0006ec 2100 MOVS r1,#0 +0006ee 2029 MOVS r0,#0x29 +0006f0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1211 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0x90,0x39,0x28,0xa9,0xc5,0x9a,0x7b,0xf0,0x07,0x7e,0xe0,0x07,0x7e,0x20,0x10,0x00); +0006f4 2032 MOVS r0,#0x32 +0006f6 f7fffffe BL delayUs +0006fa 2000 MOVS r0,#0 +0006fc 2110 MOVS r1,#0x10 +0006fe 2220 MOVS r2,#0x20 +000700 237e MOVS r3,#0x7e +000702 930b STR r3,[sp,#0x2c] +000704 920c STR r2,[sp,#0x30] +000706 910d STR r1,[sp,#0x34] +000708 900e STR r0,[sp,#0x38] +00070a 2007 MOVS r0,#7 +00070c 21e0 MOVS r1,#0xe0 +00070e 9007 STR r0,[sp,#0x1c] +000710 9308 STR r3,[sp,#0x20] +000712 9109 STR r1,[sp,#0x24] +000714 900a STR r0,[sp,#0x28] +000716 20f0 MOVS r0,#0xf0 +000718 217b MOVS r1,#0x7b +00071a 229a MOVS r2,#0x9a +00071c 23c5 MOVS r3,#0xc5 +00071e 9303 STR r3,[sp,#0xc] +000720 9204 STR r2,[sp,#0x10] +000722 9105 STR r1,[sp,#0x14] +000724 9006 STR r0,[sp,#0x18] +000726 20a9 MOVS r0,#0xa9 +000728 2128 MOVS r1,#0x28 +00072a 2239 MOVS r2,#0x39 +00072c 2390 MOVS r3,#0x90 +00072e 9200 STR r2,[sp,#0] +000730 9101 STR r1,[sp,#4] +000732 9002 STR r0,[sp,#8] +000734 2210 MOVS r2,#0x10 +000736 2100 MOVS r1,#0 +000738 2029 MOVS r0,#0x29 +00073a f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1212 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x11); +00073e 2032 MOVS r0,#0x32 +000740 f7fffffe BL delayUs +000744 2011 MOVS r0,#0x11 +000746 215a MOVS r1,#0x5a +000748 2341 MOVS r3,#0x41 +00074a 2203 MOVS r2,#3 +00074c 9100 STR r1,[sp,#0] +00074e 9001 STR r0,[sp,#4] +000750 2100 MOVS r1,#0 +000752 2029 MOVS r0,#0x29 +000754 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1213 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x49,0x77,0x03,0x40,0xca,0xf3,0xff,0x83,0x30,0x08,0xc4,0x06,0xa1,0xd8,0x24,0x18); +000758 2032 MOVS r0,#0x32 +00075a f7fffffe BL delayUs +00075e 2018 MOVS r0,#0x18 +000760 2124 MOVS r1,#0x24 +000762 22d8 MOVS r2,#0xd8 +000764 23a1 MOVS r3,#0xa1 +000766 930c STR r3,[sp,#0x30] +000768 920d STR r2,[sp,#0x34] +00076a 910e STR r1,[sp,#0x38] +00076c 900f STR r0,[sp,#0x3c] +00076e 2006 MOVS r0,#6 +000770 21c4 MOVS r1,#0xc4 +000772 2208 MOVS r2,#8 +000774 2330 MOVS r3,#0x30 +000776 9308 STR r3,[sp,#0x20] +000778 9209 STR r2,[sp,#0x24] +00077a 910a STR r1,[sp,#0x28] +00077c 900b STR r0,[sp,#0x2c] +00077e 2083 MOVS r0,#0x83 +000780 21ff MOVS r1,#0xff +000782 22f3 MOVS r2,#0xf3 +000784 23ca MOVS r3,#0xca +000786 9304 STR r3,[sp,#0x10] +000788 9205 STR r2,[sp,#0x14] +00078a 9106 STR r1,[sp,#0x18] +00078c 9007 STR r0,[sp,#0x1c] +00078e 2040 MOVS r0,#0x40 +000790 2103 MOVS r1,#3 +000792 2277 MOVS r2,#0x77 +000794 2349 MOVS r3,#0x49 +000796 9300 STR r3,[sp,#0] +000798 9201 STR r2,[sp,#4] +00079a 9102 STR r1,[sp,#8] +00079c 9003 STR r0,[sp,#0xc] +00079e 2380 MOVS r3,#0x80 +0007a0 2211 MOVS r2,#0x11 +0007a2 2100 MOVS r1,#0 +0007a4 2029 MOVS r0,#0x29 +0007a6 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1214 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x30,0xc6,0x66,0xc1,0x80,0x31,0x15,0xcb,0xe5,0xd2,0x68,0x6c,0x36,0x1d,0x04,0xc8); +0007aa 2032 MOVS r0,#0x32 +0007ac f7fffffe BL delayUs +0007b0 20c8 MOVS r0,#0xc8 +0007b2 2104 MOVS r1,#4 +0007b4 221d MOVS r2,#0x1d +0007b6 2336 MOVS r3,#0x36 +0007b8 930c STR r3,[sp,#0x30] +0007ba 920d STR r2,[sp,#0x34] +0007bc 910e STR r1,[sp,#0x38] +0007be 900f STR r0,[sp,#0x3c] +0007c0 206c MOVS r0,#0x6c +0007c2 2168 MOVS r1,#0x68 +0007c4 22d2 MOVS r2,#0xd2 +0007c6 23e5 MOVS r3,#0xe5 +0007c8 9308 STR r3,[sp,#0x20] +0007ca 9209 STR r2,[sp,#0x24] +0007cc 910a STR r1,[sp,#0x28] +0007ce 900b STR r0,[sp,#0x2c] +0007d0 20cb MOVS r0,#0xcb +0007d2 2115 MOVS r1,#0x15 +0007d4 2231 MOVS r2,#0x31 +0007d6 2380 MOVS r3,#0x80 +0007d8 9304 STR r3,[sp,#0x10] +0007da 9205 STR r2,[sp,#0x14] +0007dc 9106 STR r1,[sp,#0x18] +0007de 9007 STR r0,[sp,#0x1c] +0007e0 20c1 MOVS r0,#0xc1 +0007e2 2166 MOVS r1,#0x66 +0007e4 22c6 MOVS r2,#0xc6 +0007e6 2330 MOVS r3,#0x30 +0007e8 9300 STR r3,[sp,#0] +0007ea 9201 STR r2,[sp,#4] +0007ec 9102 STR r1,[sp,#8] +0007ee 9003 STR r0,[sp,#0xc] +0007f0 2390 MOVS r3,#0x90 +0007f2 2211 MOVS r2,#0x11 +0007f4 2100 MOVS r1,#0 +0007f6 2029 MOVS r0,#0x29 +0007f8 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1215 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xd9,0x88,0x60,0xb0,0x81,0x40,0x1a,0x1b,0x48,0x63,0x03,0xb9,0x00,0x1c,0x80); +0007fc 2032 MOVS r0,#0x32 +0007fe f7fffffe BL delayUs +000802 2080 MOVS r0,#0x80 +000804 211c MOVS r1,#0x1c +000806 2200 MOVS r2,#0 +000808 23b9 MOVS r3,#0xb9 +00080a 930c STR r3,[sp,#0x30] +00080c 920d STR r2,[sp,#0x34] +00080e 910e STR r1,[sp,#0x38] +000810 900f STR r0,[sp,#0x3c] +000812 2003 MOVS r0,#3 +000814 2163 MOVS r1,#0x63 +000816 2248 MOVS r2,#0x48 +000818 231b MOVS r3,#0x1b +00081a 9308 STR r3,[sp,#0x20] +00081c 9209 STR r2,[sp,#0x24] +00081e 910a STR r1,[sp,#0x28] +000820 900b STR r0,[sp,#0x2c] +000822 201a MOVS r0,#0x1a +000824 2140 MOVS r1,#0x40 +000826 2281 MOVS r2,#0x81 +000828 23b0 MOVS r3,#0xb0 +00082a 9304 STR r3,[sp,#0x10] +00082c 9205 STR r2,[sp,#0x14] +00082e 9106 STR r1,[sp,#0x18] +000830 9007 STR r0,[sp,#0x1c] +000832 2060 MOVS r0,#0x60 +000834 2188 MOVS r1,#0x88 +000836 22d9 MOVS r2,#0xd9 +000838 9300 STR r3,[sp,#0] +00083a 9201 STR r2,[sp,#4] +00083c 9102 STR r1,[sp,#8] +00083e 9003 STR r0,[sp,#0xc] +000840 23a0 MOVS r3,#0xa0 +000842 2211 MOVS r2,#0x11 +000844 2100 MOVS r1,#0 +000846 2029 MOVS r0,#0x29 +000848 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1216 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x50,0x30,0x00,0xe0,0xe1,0x01,0x00,0x28,0x0e,0x06,0x43,0x55,0x55,0x55,0x55,0x55); +00084c 2032 MOVS r0,#0x32 +00084e f7fffffe BL delayUs +000852 2055 MOVS r0,#0x55 +000854 900c STR r0,[sp,#0x30] +000856 900d STR r0,[sp,#0x34] +000858 900e STR r0,[sp,#0x38] +00085a 2143 MOVS r1,#0x43 +00085c 2206 MOVS r2,#6 +00085e 230e MOVS r3,#0xe +000860 900f STR r0,[sp,#0x3c] +000862 9308 STR r3,[sp,#0x20] +000864 9209 STR r2,[sp,#0x24] +000866 910a STR r1,[sp,#0x28] +000868 900b STR r0,[sp,#0x2c] +00086a 2028 MOVS r0,#0x28 +00086c 2100 MOVS r1,#0 +00086e 2201 MOVS r2,#1 +000870 23e1 MOVS r3,#0xe1 +000872 9304 STR r3,[sp,#0x10] +000874 9205 STR r2,[sp,#0x14] +000876 9106 STR r1,[sp,#0x18] +000878 9007 STR r0,[sp,#0x1c] +00087a 20e0 MOVS r0,#0xe0 +00087c 2230 MOVS r2,#0x30 +00087e 2350 MOVS r3,#0x50 +000880 9300 STR r3,[sp,#0] +000882 9201 STR r2,[sp,#4] +000884 9102 STR r1,[sp,#8] +000886 9003 STR r0,[sp,#0xc] +000888 23b0 MOVS r3,#0xb0 +00088a 2211 MOVS r2,#0x11 +00088c 2029 MOVS r0,#0x29 +00088e f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1217 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x95,0x88,0x88,0x88,0x88,0x88,0xc8,0x08,0x86,0xc6,0xe3,0x81,0x00,0x20,0x00,0x21); +000892 2032 MOVS r0,#0x32 +000894 f7fffffe BL delayUs +000898 2021 MOVS r0,#0x21 +00089a 2100 MOVS r1,#0 +00089c 2220 MOVS r2,#0x20 +00089e 910c STR r1,[sp,#0x30] +0008a0 920d STR r2,[sp,#0x34] +0008a2 910e STR r1,[sp,#0x38] +0008a4 900f STR r0,[sp,#0x3c] +0008a6 2081 MOVS r0,#0x81 +0008a8 21e3 MOVS r1,#0xe3 +0008aa 22c6 MOVS r2,#0xc6 +0008ac 2386 MOVS r3,#0x86 +0008ae 9308 STR r3,[sp,#0x20] +0008b0 9209 STR r2,[sp,#0x24] +0008b2 910a STR r1,[sp,#0x28] +0008b4 900b STR r0,[sp,#0x2c] +0008b6 2008 MOVS r0,#8 +0008b8 21c8 MOVS r1,#0xc8 +0008ba 2288 MOVS r2,#0x88 +0008bc 9204 STR r2,[sp,#0x10] +0008be 2395 MOVS r3,#0x95 +0008c0 9205 STR r2,[sp,#0x14] +0008c2 9201 STR r2,[sp,#4] +0008c4 9202 STR r2,[sp,#8] +0008c6 9300 STR r3,[sp,#0] +0008c8 9203 STR r2,[sp,#0xc] +0008ca 9106 STR r1,[sp,#0x18] +0008cc 9007 STR r0,[sp,#0x1c] +0008ce 23c0 MOVS r3,#0xc0 +0008d0 2211 MOVS r2,#0x11 +0008d2 2100 MOVS r1,#0 +0008d4 2029 MOVS r0,#0x29 +0008d6 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1218 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); +0008da 2032 MOVS r0,#0x32 +0008dc f7fffffe BL delayUs +0008e0 2000 MOVS r0,#0 +0008e2 2306 MOVS r3,#6 +0008e4 900d STR r0,[sp,#0x34] +0008e6 900e STR r0,[sp,#0x38] +0008e8 930c STR r3,[sp,#0x30] +0008ea 900f STR r0,[sp,#0x3c] +0008ec 2041 MOVS r0,#0x41 +0008ee 2104 MOVS r1,#4 +0008f0 2231 MOVS r2,#0x31 +0008f2 2300 MOVS r3,#0 +0008f4 9308 STR r3,[sp,#0x20] +0008f6 9209 STR r2,[sp,#0x24] +0008f8 910a STR r1,[sp,#0x28] +0008fa 900b STR r0,[sp,#0x2c] +0008fc 2140 MOVS r1,#0x40 +0008fe 9304 STR r3,[sp,#0x10] +000900 9305 STR r3,[sp,#0x14] +000902 4618 MOV r0,r3 +000904 9307 STR r3,[sp,#0x1c] +000906 9106 STR r1,[sp,#0x18] +000908 4619 MOV r1,r3 +00090a 2288 MOVS r2,#0x88 +00090c 2342 MOVS r3,#0x42 +00090e 9300 STR r3,[sp,#0] +000910 9201 STR r2,[sp,#4] +000912 9102 STR r1,[sp,#8] +000914 9003 STR r0,[sp,#0xc] +000916 23d0 MOVS r3,#0xd0 +000918 2211 MOVS r2,#0x11 +00091a 2100 MOVS r1,#0 +00091c 2029 MOVS r0,#0x29 +00091e f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1219 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0c); +000922 2032 MOVS r0,#0x32 +000924 f7fffffe BL delayUs +000928 200c MOVS r0,#0xc +00092a 2111 MOVS r1,#0x11 +00092c 2285 MOVS r2,#0x85 +00092e 2300 MOVS r3,#0 +000930 930c STR r3,[sp,#0x30] +000932 920d STR r2,[sp,#0x34] +000934 910e STR r1,[sp,#0x38] +000936 900f STR r0,[sp,#0x3c] +000938 2004 MOVS r0,#4 +00093a 2192 MOVS r1,#0x92 +00093c 9308 STR r3,[sp,#0x20] +00093e 9309 STR r3,[sp,#0x24] +000940 910a STR r1,[sp,#0x28] +000942 900b STR r0,[sp,#0x2c] +000944 4618 MOV r0,r3 +000946 4619 MOV r1,r3 +000948 2204 MOVS r2,#4 +00094a 2392 MOVS r3,#0x92 +00094c 9304 STR r3,[sp,#0x10] +00094e 9205 STR r2,[sp,#0x14] +000950 9106 STR r1,[sp,#0x18] +000952 9007 STR r0,[sp,#0x1c] +000954 2000 MOVS r0,#0 +000956 9000 STR r0,[sp,#0] +000958 9301 STR r3,[sp,#4] +00095a 9202 STR r2,[sp,#8] +00095c 9003 STR r0,[sp,#0xc] +00095e 23e0 MOVS r3,#0xe0 +000960 2211 MOVS r2,#0x11 +000962 4601 MOV r1,r0 +000964 2029 MOVS r0,#0x29 +000966 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1220 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xf0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5e,0x4a,0x01,0x78,0x00,0x08,0x00,0x00); +00096a 2032 MOVS r0,#0x32 +00096c f7fffffe BL delayUs +000970 2000 MOVS r0,#0 +000972 2208 MOVS r2,#8 +000974 900b STR r0,[sp,#0x2c] +000976 900d STR r0,[sp,#0x34] +000978 920c STR r2,[sp,#0x30] +00097a 900e STR r0,[sp,#0x38] +00097c 2078 MOVS r0,#0x78 +00097e 2101 MOVS r1,#1 +000980 224a MOVS r2,#0x4a +000982 235e MOVS r3,#0x5e +000984 9307 STR r3,[sp,#0x1c] +000986 9208 STR r2,[sp,#0x20] +000988 9109 STR r1,[sp,#0x24] +00098a 900a STR r0,[sp,#0x28] +00098c 2000 MOVS r0,#0 +00098e 9003 STR r0,[sp,#0xc] +000990 9004 STR r0,[sp,#0x10] +000992 9005 STR r0,[sp,#0x14] +000994 9006 STR r0,[sp,#0x18] +000996 2040 MOVS r0,#0x40 +000998 2100 MOVS r1,#0 +00099a 9100 STR r1,[sp,#0] +00099c 23f0 MOVS r3,#0xf0 +00099e 2210 MOVS r2,#0x10 +0009a0 9101 STR r1,[sp,#4] +0009a2 9002 STR r0,[sp,#8] +0009a4 2029 MOVS r0,#0x29 +0009a6 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1221 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x12); +0009aa 2032 MOVS r0,#0x32 +0009ac f7fffffe BL delayUs +0009b0 2012 MOVS r0,#0x12 +0009b2 215a MOVS r1,#0x5a +0009b4 2341 MOVS r3,#0x41 +0009b6 2203 MOVS r2,#3 +0009b8 9100 STR r1,[sp,#0] +0009ba 9001 STR r0,[sp,#4] +0009bc 2100 MOVS r1,#0 +0009be 2029 MOVS r0,#0x29 +0009c0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1222 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x41,0x37); +0009c4 2032 MOVS r0,#0x32 +0009c6 f7fffffe BL delayUs +0009ca 2037 MOVS r0,#0x37 +0009cc 2141 MOVS r1,#0x41 +0009ce 2200 MOVS r2,#0 +0009d0 2303 MOVS r3,#3 +0009d2 930c STR r3,[sp,#0x30] +0009d4 920d STR r2,[sp,#0x34] +0009d6 910e STR r1,[sp,#0x38] +0009d8 900f STR r0,[sp,#0x3c] +0009da 2002 MOVS r0,#2 +0009dc 9208 STR r2,[sp,#0x20] +0009de 9209 STR r2,[sp,#0x24] +0009e0 920a STR r2,[sp,#0x28] +0009e2 900b STR r0,[sp,#0x2c] +0009e4 4610 MOV r0,r2 +0009e6 4619 MOV r1,r3 +0009e8 2202 MOVS r2,#2 +0009ea 2300 MOVS r3,#0 +0009ec 9304 STR r3,[sp,#0x10] +0009ee 9300 STR r3,[sp,#0] +0009f0 9301 STR r3,[sp,#4] +0009f2 9302 STR r3,[sp,#8] +0009f4 9303 STR r3,[sp,#0xc] +0009f6 9205 STR r2,[sp,#0x14] +0009f8 9106 STR r1,[sp,#0x18] +0009fa 9007 STR r0,[sp,#0x1c] +0009fc 2380 MOVS r3,#0x80 +0009fe 2211 MOVS r2,#0x11 +000a00 2100 MOVS r1,#0 +000a02 2029 MOVS r0,#0x29 +000a04 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1223 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xf1,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2d,0x23,0x05); +000a08 2032 MOVS r0,#0x32 +000a0a f7fffffe BL delayUs +000a0e 2005 MOVS r0,#5 +000a10 2123 MOVS r1,#0x23 +000a12 222d MOVS r2,#0x2d +000a14 2300 MOVS r3,#0 +000a16 930c STR r3,[sp,#0x30] +000a18 9308 STR r3,[sp,#0x20] +000a1a 9309 STR r3,[sp,#0x24] +000a1c 930a STR r3,[sp,#0x28] +000a1e 930b STR r3,[sp,#0x2c] +000a20 9304 STR r3,[sp,#0x10] +000a22 9305 STR r3,[sp,#0x14] +000a24 9306 STR r3,[sp,#0x18] +000a26 9307 STR r3,[sp,#0x1c] +000a28 920d STR r2,[sp,#0x34] +000a2a 910e STR r1,[sp,#0x38] +000a2c 900f STR r0,[sp,#0x3c] +000a2e 2000 MOVS r0,#0 +000a30 22e7 MOVS r2,#0xe7 +000a32 23f1 MOVS r3,#0xf1 +000a34 9002 STR r0,[sp,#8] +000a36 9300 STR r3,[sp,#0] +000a38 9201 STR r2,[sp,#4] +000a3a 9003 STR r0,[sp,#0xc] +000a3c 2390 MOVS r3,#0x90 +000a3e 2211 MOVS r2,#0x11 +000a40 4601 MOV r1,r0 +000a42 2029 MOVS r0,#0x29 +000a44 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1224 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0xa0,0xfb,0x08,0x2d,0x23,0x05,0xfb,0x0c); +000a48 2032 MOVS r0,#0x32 +000a4a f7fffffe BL delayUs +000a4e 200c MOVS r0,#0xc +000a50 21fb MOVS r1,#0xfb +000a52 2205 MOVS r2,#5 +000a54 2323 MOVS r3,#0x23 +000a56 9303 STR r3,[sp,#0xc] +000a58 9204 STR r2,[sp,#0x10] +000a5a 9105 STR r1,[sp,#0x14] +000a5c 9006 STR r0,[sp,#0x18] +000a5e 202d MOVS r0,#0x2d +000a60 2108 MOVS r1,#8 +000a62 22fb MOVS r2,#0xfb +000a64 23a0 MOVS r3,#0xa0 +000a66 9200 STR r2,[sp,#0] +000a68 9101 STR r1,[sp,#4] +000a6a 9002 STR r0,[sp,#8] +000a6c 460a MOV r2,r1 +000a6e 2100 MOVS r1,#0 +000a70 2029 MOVS r0,#0x29 +000a72 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1225 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x13); +000a76 2032 MOVS r0,#0x32 +000a78 f7fffffe BL delayUs +000a7c 2013 MOVS r0,#0x13 +000a7e 215a MOVS r1,#0x5a +000a80 2341 MOVS r3,#0x41 +000a82 2203 MOVS r2,#3 +000a84 9100 STR r1,[sp,#0] +000a86 9001 STR r0,[sp,#4] +000a88 2100 MOVS r1,#0 +000a8a 2029 MOVS r0,#0x29 +000a8c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1226 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfd,0x0f,0x00,0x0c,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1c,0x44,0x0c,0xce,0xe7); +000a90 2032 MOVS r0,#0x32 +000a92 f7fffffe BL delayUs +000a96 20e7 MOVS r0,#0xe7 +000a98 21ce MOVS r1,#0xce +000a9a 220c MOVS r2,#0xc +000a9c 2344 MOVS r3,#0x44 +000a9e 930c STR r3,[sp,#0x30] +000aa0 920d STR r2,[sp,#0x34] +000aa2 910e STR r1,[sp,#0x38] +000aa4 900f STR r0,[sp,#0x3c] +000aa6 201c MOVS r0,#0x1c +000aa8 2101 MOVS r1,#1 +000aaa 2208 MOVS r2,#8 +000aac 9108 STR r1,[sp,#0x20] +000aae 9209 STR r2,[sp,#0x24] +000ab0 910a STR r1,[sp,#0x28] +000ab2 900b STR r0,[sp,#0x2c] +000ab4 2000 MOVS r0,#0 +000ab6 9004 STR r0,[sp,#0x10] +000ab8 9005 STR r0,[sp,#0x14] +000aba 9006 STR r0,[sp,#0x18] +000abc 9007 STR r0,[sp,#0x1c] +000abe 200c MOVS r0,#0xc +000ac0 2100 MOVS r1,#0 +000ac2 220f MOVS r2,#0xf +000ac4 23fd MOVS r3,#0xfd +000ac6 9300 STR r3,[sp,#0] +000ac8 9201 STR r2,[sp,#4] +000aca 9102 STR r1,[sp,#8] +000acc 9003 STR r0,[sp,#0xc] +000ace 2380 MOVS r3,#0x80 +000ad0 2211 MOVS r2,#0x11 +000ad2 2029 MOVS r0,#0x29 +000ad4 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1227 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0f,0x90,0x62,0x0e,0x24,0x98,0xac,0x21,0x01,0x00,0xd0,0xff,0xff,0xff,0x07,0x20); +000ad8 2032 MOVS r0,#0x32 +000ada f7fffffe BL delayUs +000ade 2020 MOVS r0,#0x20 +000ae0 2107 MOVS r1,#7 +000ae2 22ff MOVS r2,#0xff +000ae4 920a STR r2,[sp,#0x28] +000ae6 920b STR r2,[sp,#0x2c] +000ae8 910c STR r1,[sp,#0x30] +000aea 900d STR r0,[sp,#0x34] +000aec 4610 MOV r0,r2 +000aee 21d0 MOVS r1,#0xd0 +000af0 2200 MOVS r2,#0 +000af2 2301 MOVS r3,#1 +000af4 9306 STR r3,[sp,#0x18] +000af6 9207 STR r2,[sp,#0x1c] +000af8 9108 STR r1,[sp,#0x20] +000afa 9009 STR r0,[sp,#0x24] +000afc 2021 MOVS r0,#0x21 +000afe 21ac MOVS r1,#0xac +000b00 2298 MOVS r2,#0x98 +000b02 2324 MOVS r3,#0x24 +000b04 9302 STR r3,[sp,#8] +000b06 9203 STR r2,[sp,#0xc] +000b08 9104 STR r1,[sp,#0x10] +000b0a 9005 STR r0,[sp,#0x14] +000b0c 200e MOVS r0,#0xe +000b0e 2162 MOVS r1,#0x62 +000b10 2390 MOVS r3,#0x90 +000b12 220f MOVS r2,#0xf +000b14 9100 STR r1,[sp,#0] +000b16 9001 STR r0,[sp,#4] +000b18 2100 MOVS r1,#0 +000b1a 2029 MOVS r0,#0x29 +000b1c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1228 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x14); +000b20 2032 MOVS r0,#0x32 +000b22 f7fffffe BL delayUs +000b26 2014 MOVS r0,#0x14 +000b28 215a MOVS r1,#0x5a +000b2a 2341 MOVS r3,#0x41 +000b2c 2203 MOVS r2,#3 +000b2e 9100 STR r1,[sp,#0] +000b30 9001 STR r0,[sp,#4] +000b32 2100 MOVS r1,#0 +000b34 2029 MOVS r0,#0x29 +000b36 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1229 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x02,0x41,0x36,0xe1,0xef,0xf7,0xfb,0xfd,0x7e,0x01,0x00,0x00,0x90,0xc5,0x8a); +000b3a 2032 MOVS r0,#0x32 +000b3c f7fffffe BL delayUs +000b40 208a MOVS r0,#0x8a +000b42 21c5 MOVS r1,#0xc5 +000b44 2290 MOVS r2,#0x90 +000b46 2300 MOVS r3,#0 +000b48 930c STR r3,[sp,#0x30] +000b4a 920d STR r2,[sp,#0x34] +000b4c 910e STR r1,[sp,#0x38] +000b4e 900f STR r0,[sp,#0x3c] +000b50 4618 MOV r0,r3 +000b52 2101 MOVS r1,#1 +000b54 227e MOVS r2,#0x7e +000b56 23fd MOVS r3,#0xfd +000b58 9308 STR r3,[sp,#0x20] +000b5a 9209 STR r2,[sp,#0x24] +000b5c 910a STR r1,[sp,#0x28] +000b5e 900b STR r0,[sp,#0x2c] +000b60 20fb MOVS r0,#0xfb +000b62 21f7 MOVS r1,#0xf7 +000b64 22ef MOVS r2,#0xef +000b66 23e1 MOVS r3,#0xe1 +000b68 9304 STR r3,[sp,#0x10] +000b6a 9205 STR r2,[sp,#0x14] +000b6c 9106 STR r1,[sp,#0x18] +000b6e 9007 STR r0,[sp,#0x1c] +000b70 2036 MOVS r0,#0x36 +000b72 2141 MOVS r1,#0x41 +000b74 2202 MOVS r2,#2 +000b76 2301 MOVS r3,#1 +000b78 9300 STR r3,[sp,#0] +000b7a 9201 STR r2,[sp,#4] +000b7c 9102 STR r1,[sp,#8] +000b7e 9003 STR r0,[sp,#0xc] +000b80 2380 MOVS r3,#0x80 +000b82 2211 MOVS r2,#0x11 +000b84 2100 MOVS r1,#0 +000b86 2029 MOVS r0,#0x29 +000b88 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1230 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x27,0x6d,0x20,0x4e,0x3c,0x69,0x03,0xdb,0xe0,0x49,0x1b,0xd8,0x08,0x4f,0xda,0x00); +000b8c 2032 MOVS r0,#0x32 +000b8e f7fffffe BL delayUs +000b92 2000 MOVS r0,#0 +000b94 21da MOVS r1,#0xda +000b96 224f MOVS r2,#0x4f +000b98 2308 MOVS r3,#8 +000b9a 930c STR r3,[sp,#0x30] +000b9c 920d STR r2,[sp,#0x34] +000b9e 910e STR r1,[sp,#0x38] +000ba0 900f STR r0,[sp,#0x3c] +000ba2 20d8 MOVS r0,#0xd8 +000ba4 211b MOVS r1,#0x1b +000ba6 2249 MOVS r2,#0x49 +000ba8 23e0 MOVS r3,#0xe0 +000baa 9308 STR r3,[sp,#0x20] +000bac 9209 STR r2,[sp,#0x24] +000bae 910a STR r1,[sp,#0x28] +000bb0 900b STR r0,[sp,#0x2c] +000bb2 20db MOVS r0,#0xdb +000bb4 2103 MOVS r1,#3 +000bb6 2269 MOVS r2,#0x69 +000bb8 233c MOVS r3,#0x3c +000bba 9304 STR r3,[sp,#0x10] +000bbc 9205 STR r2,[sp,#0x14] +000bbe 9106 STR r1,[sp,#0x18] +000bc0 9007 STR r0,[sp,#0x1c] +000bc2 204e MOVS r0,#0x4e +000bc4 2120 MOVS r1,#0x20 +000bc6 226d MOVS r2,#0x6d +000bc8 2327 MOVS r3,#0x27 +000bca 9300 STR r3,[sp,#0] +000bcc 9201 STR r2,[sp,#4] +000bce 9102 STR r1,[sp,#8] +000bd0 9003 STR r0,[sp,#0xc] +000bd2 2390 MOVS r3,#0x90 +000bd4 2211 MOVS r2,#0x11 +000bd6 2100 MOVS r1,#0 +000bd8 2029 MOVS r0,#0x29 +000bda f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1231 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x82,0xb5,0xe2,0xf7,0x47,0x00); +000bde 2032 MOVS r0,#0x32 +000be0 f7fffffe BL delayUs +000be4 2000 MOVS r0,#0 +000be6 2147 MOVS r1,#0x47 +000be8 22f7 MOVS r2,#0xf7 +000bea 23e2 MOVS r3,#0xe2 +000bec 930c STR r3,[sp,#0x30] +000bee 920d STR r2,[sp,#0x34] +000bf0 910e STR r1,[sp,#0x38] +000bf2 900f STR r0,[sp,#0x3c] +000bf4 20b5 MOVS r0,#0xb5 +000bf6 2182 MOVS r1,#0x82 +000bf8 22f8 MOVS r2,#0xf8 +000bfa 2300 MOVS r3,#0 +000bfc 9308 STR r3,[sp,#0x20] +000bfe 9304 STR r3,[sp,#0x10] +000c00 9305 STR r3,[sp,#0x14] +000c02 9306 STR r3,[sp,#0x18] +000c04 9307 STR r3,[sp,#0x1c] +000c06 9300 STR r3,[sp,#0] +000c08 9301 STR r3,[sp,#4] +000c0a 9302 STR r3,[sp,#8] +000c0c 9303 STR r3,[sp,#0xc] +000c0e 9209 STR r2,[sp,#0x24] +000c10 910a STR r1,[sp,#0x28] +000c12 900b STR r0,[sp,#0x2c] +000c14 23a0 MOVS r3,#0xa0 +000c16 2211 MOVS r2,#0x11 +000c18 2100 MOVS r1,#0 +000c1a 2029 MOVS r0,#0x29 +000c1c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1232 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0xd8,0x89,0xdf,0x1f,0x01,0x00,0x00,0x00,0x00,0x1c,0xb2,0x21,0x2b,0x00,0x40,0xa1); +000c20 2032 MOVS r0,#0x32 +000c22 f7fffffe BL delayUs +000c26 20a1 MOVS r0,#0xa1 +000c28 2140 MOVS r1,#0x40 +000c2a 2200 MOVS r2,#0 +000c2c 232b MOVS r3,#0x2b +000c2e 930c STR r3,[sp,#0x30] +000c30 920d STR r2,[sp,#0x34] +000c32 910e STR r1,[sp,#0x38] +000c34 900f STR r0,[sp,#0x3c] +000c36 2021 MOVS r0,#0x21 +000c38 21b2 MOVS r1,#0xb2 +000c3a 221c MOVS r2,#0x1c +000c3c 2300 MOVS r3,#0 +000c3e 9308 STR r3,[sp,#0x20] +000c40 9209 STR r2,[sp,#0x24] +000c42 910a STR r1,[sp,#0x28] +000c44 900b STR r0,[sp,#0x2c] +000c46 4618 MOV r0,r3 +000c48 4619 MOV r1,r3 +000c4a 461a MOV r2,r3 +000c4c 2301 MOVS r3,#1 +000c4e 9304 STR r3,[sp,#0x10] +000c50 9205 STR r2,[sp,#0x14] +000c52 9106 STR r1,[sp,#0x18] +000c54 9007 STR r0,[sp,#0x1c] +000c56 201f MOVS r0,#0x1f +000c58 21df MOVS r1,#0xdf +000c5a 2289 MOVS r2,#0x89 +000c5c 23d8 MOVS r3,#0xd8 +000c5e 9300 STR r3,[sp,#0] +000c60 9201 STR r2,[sp,#4] +000c62 9102 STR r1,[sp,#8] +000c64 9003 STR r0,[sp,#0xc] +000c66 23b0 MOVS r3,#0xb0 +000c68 2211 MOVS r2,#0x11 +000c6a 2100 MOVS r1,#0 +000c6c 2029 MOVS r0,#0x29 +000c6e f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1233 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x50,0x78,0x17,0xda,0xf4,0x80,0x51,0x1c,0x6f,0x42,0x9b,0x1e,0x30,0x8a,0xe3,0x3d); +000c72 2032 MOVS r0,#0x32 +000c74 f7fffffe BL delayUs +000c78 203d MOVS r0,#0x3d +000c7a 21e3 MOVS r1,#0xe3 +000c7c 228a MOVS r2,#0x8a +000c7e 2330 MOVS r3,#0x30 +000c80 930c STR r3,[sp,#0x30] +000c82 920d STR r2,[sp,#0x34] +000c84 910e STR r1,[sp,#0x38] +000c86 900f STR r0,[sp,#0x3c] +000c88 201e MOVS r0,#0x1e +000c8a 219b MOVS r1,#0x9b +000c8c 2242 MOVS r2,#0x42 +000c8e 236f MOVS r3,#0x6f +000c90 9308 STR r3,[sp,#0x20] +000c92 9209 STR r2,[sp,#0x24] +000c94 910a STR r1,[sp,#0x28] +000c96 900b STR r0,[sp,#0x2c] +000c98 201c MOVS r0,#0x1c +000c9a 2151 MOVS r1,#0x51 +000c9c 2280 MOVS r2,#0x80 +000c9e 23f4 MOVS r3,#0xf4 +000ca0 9304 STR r3,[sp,#0x10] +000ca2 9205 STR r2,[sp,#0x14] +000ca4 9106 STR r1,[sp,#0x18] +000ca6 9007 STR r0,[sp,#0x1c] +000ca8 20da MOVS r0,#0xda +000caa 2117 MOVS r1,#0x17 +000cac 2278 MOVS r2,#0x78 +000cae 2350 MOVS r3,#0x50 +000cb0 9300 STR r3,[sp,#0] +000cb2 9201 STR r2,[sp,#4] +000cb4 9102 STR r1,[sp,#8] +000cb6 9003 STR r0,[sp,#0xc] +000cb8 23c0 MOVS r3,#0xc0 +000cba 2211 MOVS r2,#0x11 +000cbc 2100 MOVS r1,#0 +000cbe 2029 MOVS r0,#0x29 +000cc0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1234 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x68,0xd3,0x03,0x46,0x71,0xbc,0x05,0x6d,0x7a,0xc0,0x28,0x8e,0x77,0xa0,0x4d,0x0f); +000cc4 2032 MOVS r0,#0x32 +000cc6 f7fffffe BL delayUs +000cca 200f MOVS r0,#0xf +000ccc 214d MOVS r1,#0x4d +000cce 22a0 MOVS r2,#0xa0 +000cd0 2377 MOVS r3,#0x77 +000cd2 930c STR r3,[sp,#0x30] +000cd4 920d STR r2,[sp,#0x34] +000cd6 910e STR r1,[sp,#0x38] +000cd8 900f STR r0,[sp,#0x3c] +000cda 208e MOVS r0,#0x8e +000cdc 2128 MOVS r1,#0x28 +000cde 22c0 MOVS r2,#0xc0 +000ce0 237a MOVS r3,#0x7a +000ce2 9308 STR r3,[sp,#0x20] +000ce4 9209 STR r2,[sp,#0x24] +000ce6 910a STR r1,[sp,#0x28] +000ce8 900b STR r0,[sp,#0x2c] +000cea 206d MOVS r0,#0x6d +000cec 2105 MOVS r1,#5 +000cee 22bc MOVS r2,#0xbc +000cf0 2371 MOVS r3,#0x71 +000cf2 9304 STR r3,[sp,#0x10] +000cf4 9205 STR r2,[sp,#0x14] +000cf6 9106 STR r1,[sp,#0x18] +000cf8 9007 STR r0,[sp,#0x1c] +000cfa 2046 MOVS r0,#0x46 +000cfc 2103 MOVS r1,#3 +000cfe 22d3 MOVS r2,#0xd3 +000d00 2368 MOVS r3,#0x68 +000d02 9300 STR r3,[sp,#0] +000d04 9201 STR r2,[sp,#4] +000d06 9102 STR r1,[sp,#8] +000d08 9003 STR r0,[sp,#0xc] +000d0a 23d0 MOVS r3,#0xd0 +000d0c 2211 MOVS r2,#0x11 +000d0e 2100 MOVS r1,#0 +000d10 2029 MOVS r0,#0x29 +000d12 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1235 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x18,0xc5,0xf1,0x06,0xb4,0xe9,0x01,0xa3,0x38,0x5e,0x80,0x36,0x3d,0x60,0x14,0xc7); +000d16 2032 MOVS r0,#0x32 +000d18 f7fffffe BL delayUs +000d1c 20c7 MOVS r0,#0xc7 +000d1e 2114 MOVS r1,#0x14 +000d20 2260 MOVS r2,#0x60 +000d22 233d MOVS r3,#0x3d +000d24 930c STR r3,[sp,#0x30] +000d26 920d STR r2,[sp,#0x34] +000d28 910e STR r1,[sp,#0x38] +000d2a 900f STR r0,[sp,#0x3c] +000d2c 2036 MOVS r0,#0x36 +000d2e 2180 MOVS r1,#0x80 +000d30 225e MOVS r2,#0x5e +000d32 2338 MOVS r3,#0x38 +000d34 9308 STR r3,[sp,#0x20] +000d36 9209 STR r2,[sp,#0x24] +000d38 910a STR r1,[sp,#0x28] +000d3a 900b STR r0,[sp,#0x2c] +000d3c 20a3 MOVS r0,#0xa3 +000d3e 2101 MOVS r1,#1 +000d40 22e9 MOVS r2,#0xe9 +000d42 23b4 MOVS r3,#0xb4 +000d44 9304 STR r3,[sp,#0x10] +000d46 9205 STR r2,[sp,#0x14] +000d48 9106 STR r1,[sp,#0x18] +000d4a 9007 STR r0,[sp,#0x1c] +000d4c 2006 MOVS r0,#6 +000d4e 21f1 MOVS r1,#0xf1 +000d50 22c5 MOVS r2,#0xc5 +000d52 2318 MOVS r3,#0x18 +000d54 9300 STR r3,[sp,#0] +000d56 9201 STR r2,[sp,#4] +000d58 9102 STR r1,[sp,#8] +000d5a 9003 STR r0,[sp,#0xc] +000d5c 23e0 MOVS r3,#0xe0 +000d5e 2211 MOVS r2,#0x11 +000d60 2100 MOVS r1,#0 +000d62 2029 MOVS r0,#0x29 +000d64 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1236 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x2b,0xd0,0xa6,0x07,0x8c,0xe2,0x18,0x01,0xbf,0xdf,0x08,0x00,0x00,0x00,0x00,0x00); +000d68 2032 MOVS r0,#0x32 +000d6a f7fffffe BL delayUs +000d6e 2000 MOVS r0,#0 +000d70 900c STR r0,[sp,#0x30] +000d72 900d STR r0,[sp,#0x34] +000d74 900e STR r0,[sp,#0x38] +000d76 2108 MOVS r1,#8 +000d78 22df MOVS r2,#0xdf +000d7a 23bf MOVS r3,#0xbf +000d7c 900f STR r0,[sp,#0x3c] +000d7e 9308 STR r3,[sp,#0x20] +000d80 9209 STR r2,[sp,#0x24] +000d82 910a STR r1,[sp,#0x28] +000d84 900b STR r0,[sp,#0x2c] +000d86 2001 MOVS r0,#1 +000d88 2118 MOVS r1,#0x18 +000d8a 22e2 MOVS r2,#0xe2 +000d8c 238c MOVS r3,#0x8c +000d8e 9304 STR r3,[sp,#0x10] +000d90 9205 STR r2,[sp,#0x14] +000d92 9106 STR r1,[sp,#0x18] +000d94 9007 STR r0,[sp,#0x1c] +000d96 2007 MOVS r0,#7 +000d98 21a6 MOVS r1,#0xa6 +000d9a 22d0 MOVS r2,#0xd0 +000d9c 232b MOVS r3,#0x2b +000d9e 9300 STR r3,[sp,#0] +000da0 9201 STR r2,[sp,#4] +000da2 9102 STR r1,[sp,#8] +000da4 9003 STR r0,[sp,#0xc] +000da6 23f0 MOVS r3,#0xf0 +000da8 2211 MOVS r2,#0x11 +000daa 2100 MOVS r1,#0 +000dac 2029 MOVS r0,#0x29 +000dae f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1237 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x15); +000db2 2032 MOVS r0,#0x32 +000db4 f7fffffe BL delayUs +000db8 2015 MOVS r0,#0x15 +000dba 215a MOVS r1,#0x5a +000dbc 2341 MOVS r3,#0x41 +000dbe 2203 MOVS r2,#3 +000dc0 9100 STR r1,[sp,#0] +000dc2 9001 STR r0,[sp,#4] +000dc4 2100 MOVS r1,#0 +000dc6 2029 MOVS r0,#0x29 +000dc8 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1238 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xd9,0xe0,0xf7); +000dcc 2032 MOVS r0,#0x32 +000dce f7fffffe BL delayUs +000dd2 20f7 MOVS r0,#0xf7 +000dd4 21e0 MOVS r1,#0xe0 +000dd6 22d9 MOVS r2,#0xd9 +000dd8 2352 MOVS r3,#0x52 +000dda 930c STR r3,[sp,#0x30] +000ddc 920d STR r2,[sp,#0x34] +000dde 910e STR r1,[sp,#0x38] +000de0 900f STR r0,[sp,#0x3c] +000de2 2000 MOVS r0,#0 +000de4 9008 STR r0,[sp,#0x20] +000de6 9009 STR r0,[sp,#0x24] +000de8 900a STR r0,[sp,#0x28] +000dea 900b STR r0,[sp,#0x2c] +000dec 9004 STR r0,[sp,#0x10] +000dee 9005 STR r0,[sp,#0x14] +000df0 9006 STR r0,[sp,#0x18] +000df2 9007 STR r0,[sp,#0x1c] +000df4 9000 STR r0,[sp,#0] +000df6 9001 STR r0,[sp,#4] +000df8 9002 STR r0,[sp,#8] +000dfa 2380 MOVS r3,#0x80 +000dfc 2211 MOVS r2,#0x11 +000dfe 2100 MOVS r1,#0 +000e00 9003 STR r0,[sp,#0xc] +000e02 2029 MOVS r0,#0x29 +000e04 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1239 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xa3,0x00,0x20,0x4b,0x07,0xab,0xc5,0x03,0x00,0x00,0xd6,0xc1,0x6a,0xf1,0x00,0x00); +000e08 2032 MOVS r0,#0x32 +000e0a f7fffffe BL delayUs +000e0e 2000 MOVS r0,#0 +000e10 22f1 MOVS r2,#0xf1 +000e12 236a MOVS r3,#0x6a +000e14 900e STR r0,[sp,#0x38] +000e16 930c STR r3,[sp,#0x30] +000e18 920d STR r2,[sp,#0x34] +000e1a 900f STR r0,[sp,#0x3c] +000e1c 20c1 MOVS r0,#0xc1 +000e1e 21d6 MOVS r1,#0xd6 +000e20 2200 MOVS r2,#0 +000e22 9208 STR r2,[sp,#0x20] +000e24 9209 STR r2,[sp,#0x24] +000e26 910a STR r1,[sp,#0x28] +000e28 900b STR r0,[sp,#0x2c] +000e2a 2003 MOVS r0,#3 +000e2c 21c5 MOVS r1,#0xc5 +000e2e 22ab MOVS r2,#0xab +000e30 2307 MOVS r3,#7 +000e32 9304 STR r3,[sp,#0x10] +000e34 9205 STR r2,[sp,#0x14] +000e36 9106 STR r1,[sp,#0x18] +000e38 9007 STR r0,[sp,#0x1c] +000e3a 204b MOVS r0,#0x4b +000e3c 2120 MOVS r1,#0x20 +000e3e 2200 MOVS r2,#0 +000e40 23a3 MOVS r3,#0xa3 +000e42 9300 STR r3,[sp,#0] +000e44 9201 STR r2,[sp,#4] +000e46 9102 STR r1,[sp,#8] +000e48 9003 STR r0,[sp,#0xc] +000e4a 2390 MOVS r3,#0x90 +000e4c 2211 MOVS r2,#0x11 +000e4e 2100 MOVS r1,#0 +000e50 2029 MOVS r0,#0x29 +000e52 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1240 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); +000e56 2032 MOVS r0,#0x32 +000e58 f7fffffe BL delayUs +000e5c 2090 MOVS r0,#0x90 +000e5e 2100 MOVS r1,#0 +000e60 910c STR r1,[sp,#0x30] +000e62 910d STR r1,[sp,#0x34] +000e64 910e STR r1,[sp,#0x38] +000e66 9108 STR r1,[sp,#0x20] +000e68 9109 STR r1,[sp,#0x24] +000e6a 910a STR r1,[sp,#0x28] +000e6c 910b STR r1,[sp,#0x2c] +000e6e 9104 STR r1,[sp,#0x10] +000e70 9105 STR r1,[sp,#0x14] +000e72 9106 STR r1,[sp,#0x18] +000e74 9107 STR r1,[sp,#0x1c] +000e76 900f STR r0,[sp,#0x3c] +000e78 2000 MOVS r0,#0 +000e7a 9000 STR r0,[sp,#0] +000e7c 9001 STR r0,[sp,#4] +000e7e 9002 STR r0,[sp,#8] +000e80 23a0 MOVS r3,#0xa0 +000e82 2211 MOVS r2,#0x11 +000e84 4601 MOV r1,r0 +000e86 9003 STR r0,[sp,#0xc] +000e88 2029 MOVS r0,#0x29 +000e8a f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1241 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x75,0xa1,0x6a,0xb5,0x00,0x00,0x00,0x00,0x13,0x00,0xf0,0x00,0x14,0xd3,0x34,0xcd); +000e8e 2032 MOVS r0,#0x32 +000e90 f7fffffe BL delayUs +000e94 20cd MOVS r0,#0xcd +000e96 2134 MOVS r1,#0x34 +000e98 22d3 MOVS r2,#0xd3 +000e9a 2314 MOVS r3,#0x14 +000e9c 930c STR r3,[sp,#0x30] +000e9e 920d STR r2,[sp,#0x34] +000ea0 910e STR r1,[sp,#0x38] +000ea2 900f STR r0,[sp,#0x3c] +000ea4 2000 MOVS r0,#0 +000ea6 21f0 MOVS r1,#0xf0 +000ea8 2313 MOVS r3,#0x13 +000eaa 9009 STR r0,[sp,#0x24] +000eac 900b STR r0,[sp,#0x2c] +000eae 9004 STR r0,[sp,#0x10] +000eb0 9005 STR r0,[sp,#0x14] +000eb2 9006 STR r0,[sp,#0x18] +000eb4 9308 STR r3,[sp,#0x20] +000eb6 910a STR r1,[sp,#0x28] +000eb8 9007 STR r0,[sp,#0x1c] +000eba 20b5 MOVS r0,#0xb5 +000ebc 216a MOVS r1,#0x6a +000ebe 22a1 MOVS r2,#0xa1 +000ec0 2375 MOVS r3,#0x75 +000ec2 9300 STR r3,[sp,#0] +000ec4 9201 STR r2,[sp,#4] +000ec6 9102 STR r1,[sp,#8] +000ec8 9003 STR r0,[sp,#0xc] +000eca 23b0 MOVS r3,#0xb0 +000ecc 2211 MOVS r2,#0x11 +000ece 2100 MOVS r1,#0 +000ed0 2029 MOVS r0,#0x29 +000ed2 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1242 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x90,0x02,0x4d,0x10,0x20,0x10,0x06,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x35,0x4d,0xd3); +000ed6 2032 MOVS r0,#0x32 +000ed8 f7fffffe BL delayUs +000edc 20d3 MOVS r0,#0xd3 +000ede 214d MOVS r1,#0x4d +000ee0 2235 MOVS r2,#0x35 +000ee2 23b6 MOVS r3,#0xb6 +000ee4 930c STR r3,[sp,#0x30] +000ee6 920d STR r2,[sp,#0x34] +000ee8 910e STR r1,[sp,#0x38] +000eea 900f STR r0,[sp,#0x3c] +000eec 20db MOVS r0,#0xdb +000eee 216d MOVS r1,#0x6d +000ef0 9008 STR r0,[sp,#0x20] +000ef2 9309 STR r3,[sp,#0x24] +000ef4 910a STR r1,[sp,#0x28] +000ef6 900b STR r0,[sp,#0x2c] +000ef8 206a MOVS r0,#0x6a +000efa 2106 MOVS r1,#6 +000efc 2210 MOVS r2,#0x10 +000efe 2320 MOVS r3,#0x20 +000f00 9304 STR r3,[sp,#0x10] +000f02 9205 STR r2,[sp,#0x14] +000f04 9106 STR r1,[sp,#0x18] +000f06 9007 STR r0,[sp,#0x1c] +000f08 4610 MOV r0,r2 +000f0a 214d MOVS r1,#0x4d +000f0c 2202 MOVS r2,#2 +000f0e 2390 MOVS r3,#0x90 +000f10 9300 STR r3,[sp,#0] +000f12 9201 STR r2,[sp,#4] +000f14 9102 STR r1,[sp,#8] +000f16 9003 STR r0,[sp,#0xc] +000f18 23c0 MOVS r3,#0xc0 +000f1a 2211 MOVS r2,#0x11 +000f1c 2100 MOVS r1,#0 +000f1e 2029 MOVS r0,#0x29 +000f20 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1243 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xa8,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x35); +000f24 2032 MOVS r0,#0x32 +000f26 f7fffffe BL delayUs +000f2a 2035 MOVS r0,#0x35 +000f2c 21b6 MOVS r1,#0xb6 +000f2e 22db MOVS r2,#0xdb +000f30 236d MOVS r3,#0x6d +000f32 930c STR r3,[sp,#0x30] +000f34 920d STR r2,[sp,#0x34] +000f36 910e STR r1,[sp,#0x38] +000f38 900f STR r0,[sp,#0x3c] +000f3a 4608 MOV r0,r1 +000f3c 4611 MOV r1,r2 +000f3e 461a MOV r2,r3 +000f40 23b6 MOVS r3,#0xb6 +000f42 9308 STR r3,[sp,#0x20] +000f44 9209 STR r2,[sp,#0x24] +000f46 910a STR r1,[sp,#0x28] +000f48 900b STR r0,[sp,#0x2c] +000f4a 20a8 MOVS r0,#0xa8 +000f4c 2161 MOVS r1,#0x61 +000f4e 2202 MOVS r2,#2 +000f50 2301 MOVS r3,#1 +000f52 9304 STR r3,[sp,#0x10] +000f54 9205 STR r2,[sp,#0x14] +000f56 9106 STR r1,[sp,#0x18] +000f58 9007 STR r0,[sp,#0x1c] +000f5a 2004 MOVS r0,#4 +000f5c 2113 MOVS r1,#0x13 +000f5e 2221 MOVS r2,#0x21 +000f60 2334 MOVS r3,#0x34 +000f62 9300 STR r3,[sp,#0] +000f64 9201 STR r2,[sp,#4] +000f66 9102 STR r1,[sp,#8] +000f68 9003 STR r0,[sp,#0xc] +000f6a 23d0 MOVS r3,#0xd0 +000f6c 2211 MOVS r2,#0x11 +000f6e 2100 MOVS r1,#0 +000f70 2029 MOVS r0,#0x29 +000f72 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1244 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xcd,0xd0,0x02,0x4d,0x50,0x30,0x14,0x47,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b); +000f76 2032 MOVS r0,#0x32 +000f78 f7fffffe BL delayUs +000f7c 205b MOVS r0,#0x5b +000f7e 216d MOVS r1,#0x6d +000f80 22b6 MOVS r2,#0xb6 +000f82 23db MOVS r3,#0xdb +000f84 930c STR r3,[sp,#0x30] +000f86 920d STR r2,[sp,#0x34] +000f88 910e STR r1,[sp,#0x38] +000f8a 900f STR r0,[sp,#0x3c] +000f8c 4608 MOV r0,r1 +000f8e 4611 MOV r1,r2 +000f90 461a MOV r2,r3 +000f92 236a MOVS r3,#0x6a +000f94 9308 STR r3,[sp,#0x20] +000f96 9209 STR r2,[sp,#0x24] +000f98 910a STR r1,[sp,#0x28] +000f9a 900b STR r0,[sp,#0x2c] +000f9c 2047 MOVS r0,#0x47 +000f9e 2114 MOVS r1,#0x14 +000fa0 2230 MOVS r2,#0x30 +000fa2 2350 MOVS r3,#0x50 +000fa4 9304 STR r3,[sp,#0x10] +000fa6 9205 STR r2,[sp,#0x14] +000fa8 9106 STR r1,[sp,#0x18] +000faa 9007 STR r0,[sp,#0x1c] +000fac 204d MOVS r0,#0x4d +000fae 2102 MOVS r1,#2 +000fb0 22d0 MOVS r2,#0xd0 +000fb2 23cd MOVS r3,#0xcd +000fb4 9300 STR r3,[sp,#0] +000fb6 9201 STR r2,[sp,#4] +000fb8 9102 STR r1,[sp,#8] +000fba 9003 STR r0,[sp,#0xc] +000fbc 23e0 MOVS r3,#0xe0 +000fbe 2211 MOVS r2,#0x11 +000fc0 2100 MOVS r1,#0 +000fc2 2029 MOVS r0,#0x29 +000fc4 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1245 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0xd3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xac,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b,0x00); +000fc8 2032 MOVS r0,#0x32 +000fca f7fffffe BL delayUs +000fce 2000 MOVS r0,#0 +000fd0 215b MOVS r1,#0x5b +000fd2 226d MOVS r2,#0x6d +000fd4 23b6 MOVS r3,#0xb6 +000fd6 930c STR r3,[sp,#0x30] +000fd8 920d STR r2,[sp,#0x34] +000fda 910e STR r1,[sp,#0x38] +000fdc 900f STR r0,[sp,#0x3c] +000fde 20db MOVS r0,#0xdb +000fe0 4611 MOV r1,r2 +000fe2 461a MOV r2,r3 +000fe4 23ac MOVS r3,#0xac +000fe6 9308 STR r3,[sp,#0x20] +000fe8 9209 STR r2,[sp,#0x24] +000fea 910a STR r1,[sp,#0x28] +000fec 900b STR r0,[sp,#0x2c] +000fee 2071 MOVS r0,#0x71 +000ff0 2143 MOVS r1,#0x43 +000ff2 2205 MOVS r2,#5 +000ff4 2304 MOVS r3,#4 +000ff6 9304 STR r3,[sp,#0x10] +000ff8 9205 STR r2,[sp,#0x14] +000ffa 9106 STR r1,[sp,#0x18] +000ffc 9007 STR r0,[sp,#0x1c] +000ffe 2013 MOVS r0,#0x13 +001000 2125 MOVS r1,#0x25 +001002 2234 MOVS r2,#0x34 +001004 23d3 MOVS r3,#0xd3 +001006 9300 STR r3,[sp,#0] +001008 9201 STR r2,[sp,#4] +00100a 9102 STR r1,[sp,#8] +00100c 9003 STR r0,[sp,#0xc] +00100e 23f0 MOVS r3,#0xf0 +001010 2211 MOVS r2,#0x11 +001012 2100 MOVS r1,#0 +001014 2029 MOVS r0,#0x29 +001016 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1246 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x16); +00101a 2032 MOVS r0,#0x32 +00101c f7fffffe BL delayUs +001020 2016 MOVS r0,#0x16 +001022 215a MOVS r1,#0x5a +001024 2341 MOVS r3,#0x41 +001026 2203 MOVS r2,#3 +001028 9100 STR r1,[sp,#0] +00102a 9001 STR r0,[sp,#4] +00102c 2100 MOVS r1,#0 +00102e 2029 MOVS r0,#0x29 +001030 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1247 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +001034 2032 MOVS r0,#0x32 +001036 f7fffffe BL delayUs +00103a 2000 MOVS r0,#0 +00103c 900c STR r0,[sp,#0x30] +00103e 900d STR r0,[sp,#0x34] +001040 900e STR r0,[sp,#0x38] +001042 900f STR r0,[sp,#0x3c] +001044 9008 STR r0,[sp,#0x20] +001046 9009 STR r0,[sp,#0x24] +001048 900a STR r0,[sp,#0x28] +00104a 900b STR r0,[sp,#0x2c] +00104c 9004 STR r0,[sp,#0x10] +00104e 9005 STR r0,[sp,#0x14] +001050 9006 STR r0,[sp,#0x18] +001052 9007 STR r0,[sp,#0x1c] +001054 2001 MOVS r0,#1 +001056 2141 MOVS r1,#0x41 +001058 2242 MOVS r2,#0x42 +00105a 2302 MOVS r3,#2 +00105c 9300 STR r3,[sp,#0] +00105e 9201 STR r2,[sp,#4] +001060 9102 STR r1,[sp,#8] +001062 9003 STR r0,[sp,#0xc] +001064 2380 MOVS r3,#0x80 +001066 2211 MOVS r2,#0x11 +001068 2100 MOVS r1,#0 +00106a 2029 MOVS r0,#0x29 +00106c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1248 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x07,0x90,0x00,0x00,0x00,0x00,0xf0,0x20); +001070 2032 MOVS r0,#0x32 +001072 f7fffffe BL delayUs +001076 2020 MOVS r0,#0x20 +001078 21f0 MOVS r1,#0xf0 +00107a 2200 MOVS r2,#0 +00107c 9202 STR r2,[sp,#8] +00107e 9203 STR r2,[sp,#0xc] +001080 9200 STR r2,[sp,#0] +001082 2390 MOVS r3,#0x90 +001084 9201 STR r2,[sp,#4] +001086 9104 STR r1,[sp,#0x10] +001088 9005 STR r0,[sp,#0x14] +00108a 2207 MOVS r2,#7 +00108c 2100 MOVS r1,#0 +00108e 2029 MOVS r0,#0x29 +001090 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1249 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x18); +001094 2032 MOVS r0,#0x32 +001096 f7fffffe BL delayUs +00109a 2018 MOVS r0,#0x18 +00109c 215a MOVS r1,#0x5a +00109e 2341 MOVS r3,#0x41 +0010a0 2203 MOVS r2,#3 +0010a2 9100 STR r1,[sp,#0] +0010a4 9001 STR r0,[sp,#4] +0010a6 2100 MOVS r1,#0 +0010a8 2029 MOVS r0,#0x29 +0010aa f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1250 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xef,0xbd,0xf7,0xde,0x7b,0xef,0xbd,0x07,0x08,0x08,0x0a,0x0c,0x0c,0x0c,0x0c,0x0c); +0010ae 2032 MOVS r0,#0x32 +0010b0 f7fffffe BL delayUs +0010b4 200c MOVS r0,#0xc +0010b6 900c STR r0,[sp,#0x30] +0010b8 900d STR r0,[sp,#0x34] +0010ba 900e STR r0,[sp,#0x38] +0010bc 210a MOVS r1,#0xa +0010be 2208 MOVS r2,#8 +0010c0 9208 STR r2,[sp,#0x20] +0010c2 900f STR r0,[sp,#0x3c] +0010c4 9209 STR r2,[sp,#0x24] +0010c6 910a STR r1,[sp,#0x28] +0010c8 900b STR r0,[sp,#0x2c] +0010ca 2007 MOVS r0,#7 +0010cc 21bd MOVS r1,#0xbd +0010ce 22ef MOVS r2,#0xef +0010d0 237b MOVS r3,#0x7b +0010d2 9304 STR r3,[sp,#0x10] +0010d4 9205 STR r2,[sp,#0x14] +0010d6 9106 STR r1,[sp,#0x18] +0010d8 9007 STR r0,[sp,#0x1c] +0010da 20de MOVS r0,#0xde +0010dc 21f7 MOVS r1,#0xf7 +0010de 22bd MOVS r2,#0xbd +0010e0 23ef MOVS r3,#0xef +0010e2 9300 STR r3,[sp,#0] +0010e4 9201 STR r2,[sp,#4] +0010e6 9102 STR r1,[sp,#8] +0010e8 9003 STR r0,[sp,#0xc] +0010ea 2380 MOVS r3,#0x80 +0010ec 2211 MOVS r2,#0x11 +0010ee 2100 MOVS r1,#0 +0010f0 2029 MOVS r0,#0x29 +0010f2 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1251 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x0c,0x0c,0x0c,0x5c,0x09,0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x5a); +0010f6 2032 MOVS r0,#0x32 +0010f8 f7fffffe BL delayUs +0010fc 205a MOVS r0,#0x5a +0010fe 21aa MOVS r1,#0xaa +001100 910c STR r1,[sp,#0x30] +001102 910d STR r1,[sp,#0x34] +001104 910e STR r1,[sp,#0x38] +001106 9108 STR r1,[sp,#0x20] +001108 9109 STR r1,[sp,#0x24] +00110a 910a STR r1,[sp,#0x28] +00110c 22a8 MOVS r2,#0xa8 +00110e 2309 MOVS r3,#9 +001110 910b STR r1,[sp,#0x2c] +001112 9106 STR r1,[sp,#0x18] +001114 9304 STR r3,[sp,#0x10] +001116 9205 STR r2,[sp,#0x14] +001118 9107 STR r1,[sp,#0x1c] +00111a 900f STR r0,[sp,#0x3c] +00111c 205c MOVS r0,#0x5c +00111e 210c MOVS r1,#0xc +001120 9100 STR r1,[sp,#0] +001122 9101 STR r1,[sp,#4] +001124 2390 MOVS r3,#0x90 +001126 2211 MOVS r2,#0x11 +001128 9102 STR r1,[sp,#8] +00112a 9003 STR r0,[sp,#0xc] +00112c 2100 MOVS r1,#0 +00112e 2029 MOVS r0,#0x29 +001130 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1252 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xff,0x00,0x80); +001134 2032 MOVS r0,#0x32 +001136 f7fffffe BL delayUs +00113a 2080 MOVS r0,#0x80 +00113c 2100 MOVS r1,#0 +00113e 22ff MOVS r2,#0xff +001140 2304 MOVS r3,#4 +001142 930c STR r3,[sp,#0x30] +001144 920d STR r2,[sp,#0x34] +001146 910e STR r1,[sp,#0x38] +001148 900f STR r0,[sp,#0x3c] +00114a 2009 MOVS r0,#9 +00114c 2159 MOVS r1,#0x59 +00114e 9108 STR r1,[sp,#0x20] +001150 9109 STR r1,[sp,#0x24] +001152 910a STR r1,[sp,#0x28] +001154 9104 STR r1,[sp,#0x10] +001156 9105 STR r1,[sp,#0x14] +001158 9106 STR r1,[sp,#0x18] +00115a 9107 STR r1,[sp,#0x1c] +00115c 9100 STR r1,[sp,#0] +00115e 9101 STR r1,[sp,#4] +001160 9102 STR r1,[sp,#8] +001162 23a0 MOVS r3,#0xa0 +001164 2211 MOVS r2,#0x11 +001166 9103 STR r1,[sp,#0xc] +001168 900b STR r0,[sp,#0x2c] +00116a 2100 MOVS r1,#0 +00116c 2029 MOVS r0,#0x29 +00116e f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1253 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xb0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); +001172 2032 MOVS r0,#0x32 +001174 f7fffffe BL delayUs +001178 2000 MOVS r0,#0 +00117a 2104 MOVS r1,#4 +00117c 2380 MOVS r3,#0x80 +00117e 900c STR r0,[sp,#0x30] +001180 930b STR r3,[sp,#0x2c] +001182 910d STR r1,[sp,#0x34] +001184 900e STR r0,[sp,#0x38] +001186 2010 MOVS r0,#0x10 +001188 2102 MOVS r1,#2 +00118a 2200 MOVS r2,#0 +00118c 2340 MOVS r3,#0x40 +00118e 9307 STR r3,[sp,#0x1c] +001190 9208 STR r2,[sp,#0x20] +001192 9109 STR r1,[sp,#0x24] +001194 900a STR r0,[sp,#0x28] +001196 2008 MOVS r0,#8 +001198 2101 MOVS r1,#1 +00119a 2320 MOVS r3,#0x20 +00119c 9303 STR r3,[sp,#0xc] +00119e 9204 STR r2,[sp,#0x10] +0011a0 9105 STR r1,[sp,#0x14] +0011a2 9006 STR r0,[sp,#0x18] +0011a4 2004 MOVS r0,#4 +0011a6 4611 MOV r1,r2 +0011a8 2280 MOVS r2,#0x80 +0011aa 23b0 MOVS r3,#0xb0 +0011ac 9200 STR r2,[sp,#0] +0011ae 9101 STR r1,[sp,#4] +0011b0 9002 STR r0,[sp,#8] +0011b2 2210 MOVS r2,#0x10 +0011b4 2100 MOVS r1,#0 +0011b6 2029 MOVS r0,#0x29 +0011b8 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1254 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x19); +0011bc 2032 MOVS r0,#0x32 +0011be f7fffffe BL delayUs +0011c2 2019 MOVS r0,#0x19 +0011c4 215a MOVS r1,#0x5a +0011c6 2341 MOVS r3,#0x41 +0011c8 2203 MOVS r2,#3 +0011ca 9100 STR r1,[sp,#0] +0011cc 9001 STR r0,[sp,#4] +0011ce 2100 MOVS r1,#0 +0011d0 2029 MOVS r0,#0x29 +0011d2 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1255 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xc0,0xaf,0xa3,0x9b,0x92,0x8d,0x8a,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xf6,0xcf); +0011d6 2032 MOVS r0,#0x32 +0011d8 f7fffffe BL delayUs +0011dc 20cf MOVS r0,#0xcf +0011de 21f6 MOVS r1,#0xf6 +0011e0 2250 MOVS r2,#0x50 +0011e2 2300 MOVS r3,#0 +0011e4 930c STR r3,[sp,#0x30] +0011e6 920d STR r2,[sp,#0x34] +0011e8 910e STR r1,[sp,#0x38] +0011ea 900f STR r0,[sp,#0x3c] +0011ec 2081 MOVS r0,#0x81 +0011ee 2182 MOVS r1,#0x82 +0011f0 2283 MOVS r2,#0x83 +0011f2 2384 MOVS r3,#0x84 +0011f4 9308 STR r3,[sp,#0x20] +0011f6 9209 STR r2,[sp,#0x24] +0011f8 910a STR r1,[sp,#0x28] +0011fa 900b STR r0,[sp,#0x2c] +0011fc 2086 MOVS r0,#0x86 +0011fe 218a MOVS r1,#0x8a +001200 228d MOVS r2,#0x8d +001202 2392 MOVS r3,#0x92 +001204 9304 STR r3,[sp,#0x10] +001206 9205 STR r2,[sp,#0x14] +001208 9106 STR r1,[sp,#0x18] +00120a 9007 STR r0,[sp,#0x1c] +00120c 209b MOVS r0,#0x9b +00120e 21a3 MOVS r1,#0xa3 +001210 22af MOVS r2,#0xaf +001212 23c0 MOVS r3,#0xc0 +001214 9300 STR r3,[sp,#0] +001216 9201 STR r2,[sp,#4] +001218 9102 STR r1,[sp,#8] +00121a 9003 STR r0,[sp,#0xc] +00121c 2380 MOVS r3,#0x80 +00121e 2211 MOVS r2,#0x11 +001220 2100 MOVS r1,#0 +001222 2029 MOVS r0,#0x29 +001224 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1256 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xfc,0x2f,0xf3,0xef,0xcf,0xbf,0x0f,0xff,0xaf,0xb5,0x71,0x0e,0x6c,0x4a,0x69,0x08); +001228 2032 MOVS r0,#0x32 +00122a f7fffffe BL delayUs +00122e 2008 MOVS r0,#8 +001230 2169 MOVS r1,#0x69 +001232 224a MOVS r2,#0x4a +001234 236c MOVS r3,#0x6c +001236 930c STR r3,[sp,#0x30] +001238 920d STR r2,[sp,#0x34] +00123a 910e STR r1,[sp,#0x38] +00123c 900f STR r0,[sp,#0x3c] +00123e 200e MOVS r0,#0xe +001240 2171 MOVS r1,#0x71 +001242 22b5 MOVS r2,#0xb5 +001244 23af MOVS r3,#0xaf +001246 9308 STR r3,[sp,#0x20] +001248 9209 STR r2,[sp,#0x24] +00124a 910a STR r1,[sp,#0x28] +00124c 900b STR r0,[sp,#0x2c] +00124e 20ff MOVS r0,#0xff +001250 210f MOVS r1,#0xf +001252 22bf MOVS r2,#0xbf +001254 23cf MOVS r3,#0xcf +001256 9304 STR r3,[sp,#0x10] +001258 9205 STR r2,[sp,#0x14] +00125a 9106 STR r1,[sp,#0x18] +00125c 9007 STR r0,[sp,#0x1c] +00125e 20ef MOVS r0,#0xef +001260 21f3 MOVS r1,#0xf3 +001262 222f MOVS r2,#0x2f +001264 23fc MOVS r3,#0xfc +001266 9300 STR r3,[sp,#0] +001268 9201 STR r2,[sp,#4] +00126a 9102 STR r1,[sp,#8] +00126c 9003 STR r0,[sp,#0xc] +00126e 2390 MOVS r3,#0x90 +001270 2211 MOVS r2,#0x11 +001272 2100 MOVS r1,#0 +001274 2029 MOVS r0,#0x29 +001276 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1257 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x03,0x03,0x68,0x00); +00127a 2032 MOVS r0,#0x32 +00127c f7fffffe BL delayUs +001280 2000 MOVS r0,#0 +001282 2168 MOVS r1,#0x68 +001284 2203 MOVS r2,#3 +001286 9200 STR r2,[sp,#0] +001288 23a0 MOVS r3,#0xa0 +00128a 9201 STR r2,[sp,#4] +00128c 9102 STR r1,[sp,#8] +00128e 9003 STR r0,[sp,#0xc] +001290 2205 MOVS r2,#5 +001292 4601 MOV r1,r0 +001294 2029 MOVS r0,#0x29 +001296 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1258 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1a); +00129a 2032 MOVS r0,#0x32 +00129c f7fffffe BL delayUs +0012a0 201a MOVS r0,#0x1a +0012a2 215a MOVS r1,#0x5a +0012a4 2341 MOVS r3,#0x41 +0012a6 2203 MOVS r2,#3 +0012a8 9100 STR r1,[sp,#0] +0012aa 9001 STR r0,[sp,#4] +0012ac 2100 MOVS r1,#0 +0012ae 2029 MOVS r0,#0x29 +0012b0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1259 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00,0x40); +0012b4 2032 MOVS r0,#0x32 +0012b6 f7fffffe BL delayUs +0012ba 2040 MOVS r0,#0x40 +0012bc 2100 MOVS r1,#0 +0012be 2238 MOVS r2,#0x38 +0012c0 2330 MOVS r3,#0x30 +0012c2 930c STR r3,[sp,#0x30] +0012c4 920d STR r2,[sp,#0x34] +0012c6 910e STR r1,[sp,#0x38] +0012c8 900f STR r0,[sp,#0x3c] +0012ca 2028 MOVS r0,#0x28 +0012cc 2120 MOVS r1,#0x20 +0012ce 2200 MOVS r2,#0 +0012d0 231c MOVS r3,#0x1c +0012d2 9308 STR r3,[sp,#0x20] +0012d4 9209 STR r2,[sp,#0x24] +0012d6 910a STR r1,[sp,#0x28] +0012d8 900b STR r0,[sp,#0x2c] +0012da 2018 MOVS r0,#0x18 +0012dc 2114 MOVS r1,#0x14 +0012de 2210 MOVS r2,#0x10 +0012e0 2300 MOVS r3,#0 +0012e2 9304 STR r3,[sp,#0x10] +0012e4 9205 STR r2,[sp,#0x14] +0012e6 9106 STR r1,[sp,#0x18] +0012e8 9007 STR r0,[sp,#0x1c] +0012ea 200c MOVS r0,#0xc +0012ec 2108 MOVS r1,#8 +0012ee 2204 MOVS r2,#4 +0012f0 9300 STR r3,[sp,#0] +0012f2 9201 STR r2,[sp,#4] +0012f4 9102 STR r1,[sp,#8] +0012f6 9003 STR r0,[sp,#0xc] +0012f8 2380 MOVS r3,#0x80 +0012fa 2211 MOVS r2,#0x11 +0012fc 2100 MOVS r1,#0 +0012fe 2029 MOVS r0,#0x29 +001300 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1260 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0,0xa8); +001304 2032 MOVS r0,#0x32 +001306 f7fffffe BL delayUs +00130a 20a8 MOVS r0,#0xa8 +00130c 21a0 MOVS r1,#0xa0 +00130e 2200 MOVS r2,#0 +001310 2398 MOVS r3,#0x98 +001312 930c STR r3,[sp,#0x30] +001314 920d STR r2,[sp,#0x34] +001316 910e STR r1,[sp,#0x38] +001318 900f STR r0,[sp,#0x3c] +00131a 2090 MOVS r0,#0x90 +00131c 2188 MOVS r1,#0x88 +00131e 2280 MOVS r2,#0x80 +001320 2300 MOVS r3,#0 +001322 9308 STR r3,[sp,#0x20] +001324 9209 STR r2,[sp,#0x24] +001326 910a STR r1,[sp,#0x28] +001328 900b STR r0,[sp,#0x2c] +00132a 2078 MOVS r0,#0x78 +00132c 2170 MOVS r1,#0x70 +00132e 2268 MOVS r2,#0x68 +001330 2360 MOVS r3,#0x60 +001332 9304 STR r3,[sp,#0x10] +001334 9205 STR r2,[sp,#0x14] +001336 9106 STR r1,[sp,#0x18] +001338 9007 STR r0,[sp,#0x1c] +00133a 2000 MOVS r0,#0 +00133c 2158 MOVS r1,#0x58 +00133e 2250 MOVS r2,#0x50 +001340 2348 MOVS r3,#0x48 +001342 9300 STR r3,[sp,#0] +001344 9201 STR r2,[sp,#4] +001346 9102 STR r1,[sp,#8] +001348 9003 STR r0,[sp,#0xc] +00134a 2390 MOVS r3,#0x90 +00134c 2211 MOVS r2,#0x11 +00134e 4601 MOV r1,r0 +001350 2029 MOVS r0,#0x29 +001352 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1261 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe,0xff); +001356 2032 MOVS r0,#0x32 +001358 f7fffffe BL delayUs +00135c 20ff MOVS r0,#0xff +00135e 21fe MOVS r1,#0xfe +001360 22fc MOVS r2,#0xfc +001362 2300 MOVS r3,#0 +001364 930c STR r3,[sp,#0x30] +001366 920d STR r2,[sp,#0x34] +001368 910e STR r1,[sp,#0x38] +00136a 900f STR r0,[sp,#0x3c] +00136c 20f8 MOVS r0,#0xf8 +00136e 21f0 MOVS r1,#0xf0 +001370 22e8 MOVS r2,#0xe8 +001372 23e0 MOVS r3,#0xe0 +001374 9308 STR r3,[sp,#0x20] +001376 9209 STR r2,[sp,#0x24] +001378 910a STR r1,[sp,#0x28] +00137a 900b STR r0,[sp,#0x2c] +00137c 2000 MOVS r0,#0 +00137e 21d8 MOVS r1,#0xd8 +001380 22d0 MOVS r2,#0xd0 +001382 23c8 MOVS r3,#0xc8 +001384 9304 STR r3,[sp,#0x10] +001386 9205 STR r2,[sp,#0x14] +001388 9106 STR r1,[sp,#0x18] +00138a 9007 STR r0,[sp,#0x1c] +00138c 20c0 MOVS r0,#0xc0 +00138e 2100 MOVS r1,#0 +001390 22b8 MOVS r2,#0xb8 +001392 23b0 MOVS r3,#0xb0 +001394 9300 STR r3,[sp,#0] +001396 9201 STR r2,[sp,#4] +001398 9102 STR r1,[sp,#8] +00139a 9003 STR r0,[sp,#0xc] +00139c 23a0 MOVS r3,#0xa0 +00139e 2211 MOVS r2,#0x11 +0013a0 2029 MOVS r0,#0x29 +0013a2 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1262 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00); +0013a6 2032 MOVS r0,#0x32 +0013a8 f7fffffe BL delayUs +0013ac 2000 MOVS r0,#0 +0013ae 2138 MOVS r1,#0x38 +0013b0 2230 MOVS r2,#0x30 +0013b2 2328 MOVS r3,#0x28 +0013b4 930c STR r3,[sp,#0x30] +0013b6 920d STR r2,[sp,#0x34] +0013b8 910e STR r1,[sp,#0x38] +0013ba 900f STR r0,[sp,#0x3c] +0013bc 2020 MOVS r0,#0x20 +0013be 2100 MOVS r1,#0 +0013c0 221c MOVS r2,#0x1c +0013c2 2318 MOVS r3,#0x18 +0013c4 9308 STR r3,[sp,#0x20] +0013c6 9209 STR r2,[sp,#0x24] +0013c8 910a STR r1,[sp,#0x28] +0013ca 900b STR r0,[sp,#0x2c] +0013cc 2014 MOVS r0,#0x14 +0013ce 2110 MOVS r1,#0x10 +0013d0 2200 MOVS r2,#0 +0013d2 230c MOVS r3,#0xc +0013d4 9304 STR r3,[sp,#0x10] +0013d6 9205 STR r2,[sp,#0x14] +0013d8 9106 STR r1,[sp,#0x18] +0013da 9007 STR r0,[sp,#0x1c] +0013dc 2008 MOVS r0,#8 +0013de 2104 MOVS r1,#4 +0013e0 9200 STR r2,[sp,#0] +0013e2 23b0 MOVS r3,#0xb0 +0013e4 9201 STR r2,[sp,#4] +0013e6 9102 STR r1,[sp,#8] +0013e8 9003 STR r0,[sp,#0xc] +0013ea 2211 MOVS r2,#0x11 +0013ec 2100 MOVS r1,#0 +0013ee 2029 MOVS r0,#0x29 +0013f0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1263 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0); +0013f4 2032 MOVS r0,#0x32 +0013f6 f7fffffe BL delayUs +0013fa 20a0 MOVS r0,#0xa0 +0013fc 2100 MOVS r1,#0 +0013fe 2298 MOVS r2,#0x98 +001400 2390 MOVS r3,#0x90 +001402 930c STR r3,[sp,#0x30] +001404 920d STR r2,[sp,#0x34] +001406 910e STR r1,[sp,#0x38] +001408 900f STR r0,[sp,#0x3c] +00140a 2088 MOVS r0,#0x88 +00140c 2180 MOVS r1,#0x80 +00140e 2200 MOVS r2,#0 +001410 2378 MOVS r3,#0x78 +001412 9308 STR r3,[sp,#0x20] +001414 9209 STR r2,[sp,#0x24] +001416 910a STR r1,[sp,#0x28] +001418 900b STR r0,[sp,#0x2c] +00141a 2070 MOVS r0,#0x70 +00141c 2168 MOVS r1,#0x68 +00141e 2260 MOVS r2,#0x60 +001420 2300 MOVS r3,#0 +001422 9304 STR r3,[sp,#0x10] +001424 9205 STR r2,[sp,#0x14] +001426 9106 STR r1,[sp,#0x18] +001428 9007 STR r0,[sp,#0x1c] +00142a 2058 MOVS r0,#0x58 +00142c 2150 MOVS r1,#0x50 +00142e 2248 MOVS r2,#0x48 +001430 2340 MOVS r3,#0x40 +001432 9300 STR r3,[sp,#0] +001434 9201 STR r2,[sp,#4] +001436 9102 STR r1,[sp,#8] +001438 9003 STR r0,[sp,#0xc] +00143a 23c0 MOVS r3,#0xc0 +00143c 2211 MOVS r2,#0x11 +00143e 2100 MOVS r1,#0 +001440 2029 MOVS r0,#0x29 +001442 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1264 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe); +001446 2032 MOVS r0,#0x32 +001448 f7fffffe BL delayUs +00144c 20fe MOVS r0,#0xfe +00144e 21fc MOVS r1,#0xfc +001450 2200 MOVS r2,#0 +001452 23f8 MOVS r3,#0xf8 +001454 930c STR r3,[sp,#0x30] +001456 920d STR r2,[sp,#0x34] +001458 910e STR r1,[sp,#0x38] +00145a 900f STR r0,[sp,#0x3c] +00145c 20f0 MOVS r0,#0xf0 +00145e 21e8 MOVS r1,#0xe8 +001460 22e0 MOVS r2,#0xe0 +001462 2300 MOVS r3,#0 +001464 9308 STR r3,[sp,#0x20] +001466 9209 STR r2,[sp,#0x24] +001468 910a STR r1,[sp,#0x28] +00146a 900b STR r0,[sp,#0x2c] +00146c 20d8 MOVS r0,#0xd8 +00146e 21d0 MOVS r1,#0xd0 +001470 22c8 MOVS r2,#0xc8 +001472 23c0 MOVS r3,#0xc0 +001474 9304 STR r3,[sp,#0x10] +001476 9205 STR r2,[sp,#0x14] +001478 9106 STR r1,[sp,#0x18] +00147a 9007 STR r0,[sp,#0x1c] +00147c 2000 MOVS r0,#0 +00147e 21b8 MOVS r1,#0xb8 +001480 22b0 MOVS r2,#0xb0 +001482 23a8 MOVS r3,#0xa8 +001484 9300 STR r3,[sp,#0] +001486 9201 STR r2,[sp,#4] +001488 9102 STR r1,[sp,#8] +00148a 9003 STR r0,[sp,#0xc] +00148c 23d0 MOVS r3,#0xd0 +00148e 2211 MOVS r2,#0x11 +001490 4601 MOV r1,r0 +001492 2029 MOVS r0,#0x29 +001494 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1265 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xff,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38); +001498 2032 MOVS r0,#0x32 +00149a f7fffffe BL delayUs +00149e 2038 MOVS r0,#0x38 +0014a0 2130 MOVS r1,#0x30 +0014a2 2228 MOVS r2,#0x28 +0014a4 2320 MOVS r3,#0x20 +0014a6 930c STR r3,[sp,#0x30] +0014a8 920d STR r2,[sp,#0x34] +0014aa 910e STR r1,[sp,#0x38] +0014ac 900f STR r0,[sp,#0x3c] +0014ae 2000 MOVS r0,#0 +0014b0 211c MOVS r1,#0x1c +0014b2 2218 MOVS r2,#0x18 +0014b4 2314 MOVS r3,#0x14 +0014b6 9308 STR r3,[sp,#0x20] +0014b8 9209 STR r2,[sp,#0x24] +0014ba 910a STR r1,[sp,#0x28] +0014bc 900b STR r0,[sp,#0x2c] +0014be 2010 MOVS r0,#0x10 +0014c0 2100 MOVS r1,#0 +0014c2 220c MOVS r2,#0xc +0014c4 2308 MOVS r3,#8 +0014c6 9304 STR r3,[sp,#0x10] +0014c8 9205 STR r2,[sp,#0x14] +0014ca 9106 STR r1,[sp,#0x18] +0014cc 9007 STR r0,[sp,#0x1c] +0014ce 2004 MOVS r0,#4 +0014d0 23ff MOVS r3,#0xff +0014d2 9101 STR r1,[sp,#4] +0014d4 9300 STR r3,[sp,#0] +0014d6 9102 STR r1,[sp,#8] +0014d8 9003 STR r0,[sp,#0xc] +0014da 23e0 MOVS r3,#0xe0 +0014dc 2211 MOVS r2,#0x11 +0014de 2029 MOVS r0,#0x29 +0014e0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1266 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); +0014e4 2032 MOVS r0,#0x32 +0014e6 f7fffffe BL delayUs +0014ea 2000 MOVS r0,#0 +0014ec 2198 MOVS r1,#0x98 +0014ee 2290 MOVS r2,#0x90 +0014f0 2388 MOVS r3,#0x88 +0014f2 930c STR r3,[sp,#0x30] +0014f4 920d STR r2,[sp,#0x34] +0014f6 910e STR r1,[sp,#0x38] +0014f8 900f STR r0,[sp,#0x3c] +0014fa 2080 MOVS r0,#0x80 +0014fc 2100 MOVS r1,#0 +0014fe 2278 MOVS r2,#0x78 +001500 2370 MOVS r3,#0x70 +001502 9308 STR r3,[sp,#0x20] +001504 9209 STR r2,[sp,#0x24] +001506 910a STR r1,[sp,#0x28] +001508 900b STR r0,[sp,#0x2c] +00150a 2068 MOVS r0,#0x68 +00150c 2160 MOVS r1,#0x60 +00150e 2200 MOVS r2,#0 +001510 2358 MOVS r3,#0x58 +001512 9304 STR r3,[sp,#0x10] +001514 9205 STR r2,[sp,#0x14] +001516 9106 STR r1,[sp,#0x18] +001518 9007 STR r0,[sp,#0x1c] +00151a 2050 MOVS r0,#0x50 +00151c 2148 MOVS r1,#0x48 +00151e 2240 MOVS r2,#0x40 +001520 2300 MOVS r3,#0 +001522 9300 STR r3,[sp,#0] +001524 9201 STR r2,[sp,#4] +001526 9102 STR r1,[sp,#8] +001528 9003 STR r0,[sp,#0xc] +00152a 23f0 MOVS r3,#0xf0 +00152c 2211 MOVS r2,#0x11 +00152e 2100 MOVS r1,#0 +001530 2029 MOVS r0,#0x29 +001532 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1267 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1b); +001536 2032 MOVS r0,#0x32 +001538 f7fffffe BL delayUs +00153c 201b MOVS r0,#0x1b +00153e 215a MOVS r1,#0x5a +001540 2341 MOVS r3,#0x41 +001542 2203 MOVS r2,#3 +001544 9100 STR r1,[sp,#0] +001546 9001 STR r0,[sp,#4] +001548 2100 MOVS r1,#0 +00154a 2029 MOVS r0,#0x29 +00154c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1268 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xa0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc); +001550 2032 MOVS r0,#0x32 +001552 f7fffffe BL delayUs +001556 20fc MOVS r0,#0xfc +001558 2100 MOVS r1,#0 +00155a 22f8 MOVS r2,#0xf8 +00155c 23f0 MOVS r3,#0xf0 +00155e 930c STR r3,[sp,#0x30] +001560 920d STR r2,[sp,#0x34] +001562 910e STR r1,[sp,#0x38] +001564 900f STR r0,[sp,#0x3c] +001566 20e8 MOVS r0,#0xe8 +001568 21e0 MOVS r1,#0xe0 +00156a 2200 MOVS r2,#0 +00156c 23d8 MOVS r3,#0xd8 +00156e 9308 STR r3,[sp,#0x20] +001570 9209 STR r2,[sp,#0x24] +001572 910a STR r1,[sp,#0x28] +001574 900b STR r0,[sp,#0x2c] +001576 20d0 MOVS r0,#0xd0 +001578 21c8 MOVS r1,#0xc8 +00157a 22c0 MOVS r2,#0xc0 +00157c 2300 MOVS r3,#0 +00157e 9304 STR r3,[sp,#0x10] +001580 9205 STR r2,[sp,#0x14] +001582 9106 STR r1,[sp,#0x18] +001584 9007 STR r0,[sp,#0x1c] +001586 20b8 MOVS r0,#0xb8 +001588 21b0 MOVS r1,#0xb0 +00158a 22a8 MOVS r2,#0xa8 +00158c 23a0 MOVS r3,#0xa0 +00158e 9300 STR r3,[sp,#0] +001590 9201 STR r2,[sp,#4] +001592 9102 STR r1,[sp,#8] +001594 9003 STR r0,[sp,#0xc] +001596 2380 MOVS r3,#0x80 +001598 2211 MOVS r2,#0x11 +00159a 2100 MOVS r1,#0 +00159c 2029 MOVS r0,#0x29 +00159e f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1269 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0x90,0xfe,0xff,0x00,0x00); +0015a2 2032 MOVS r0,#0x32 +0015a4 f7fffffe BL delayUs +0015a8 2000 MOVS r0,#0 +0015aa 22ff MOVS r2,#0xff +0015ac 23fe MOVS r3,#0xfe +0015ae 9002 STR r0,[sp,#8] +0015b0 9300 STR r3,[sp,#0] +0015b2 9201 STR r2,[sp,#4] +0015b4 9003 STR r0,[sp,#0xc] +0015b6 2390 MOVS r3,#0x90 +0015b8 2205 MOVS r2,#5 +0015ba 4601 MOV r1,r0 +0015bc 2029 MOVS r0,#0x29 +0015be f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1270 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x20); +0015c2 2032 MOVS r0,#0x32 +0015c4 f7fffffe BL delayUs +0015c8 2020 MOVS r0,#0x20 +0015ca 215a MOVS r1,#0x5a +0015cc 2341 MOVS r3,#0x41 +0015ce 2203 MOVS r2,#3 +0015d0 9100 STR r1,[sp,#0] +0015d2 9001 STR r0,[sp,#4] +0015d4 2100 MOVS r1,#0 +0015d6 2029 MOVS r0,#0x29 +0015d8 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1271 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); +0015dc 2032 MOVS r0,#0x32 +0015de f7fffffe BL delayUs +0015e2 2000 MOVS r0,#0 +0015e4 9003 STR r0,[sp,#0xc] +0015e6 9004 STR r0,[sp,#0x10] +0015e8 9005 STR r0,[sp,#0x14] +0015ea 2281 MOVS r2,#0x81 +0015ec 9006 STR r0,[sp,#0x18] +0015ee 9001 STR r0,[sp,#4] +0015f0 2380 MOVS r3,#0x80 +0015f2 9200 STR r2,[sp,#0] +0015f4 9002 STR r0,[sp,#8] +0015f6 2208 MOVS r2,#8 +0015f8 4601 MOV r1,r0 +0015fa 2029 MOVS r0,#0x29 +0015fc f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1272 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x22); +001600 2032 MOVS r0,#0x32 +001602 f7fffffe BL delayUs +001606 2022 MOVS r0,#0x22 +001608 215a MOVS r1,#0x5a +00160a 2341 MOVS r3,#0x41 +00160c 2203 MOVS r2,#3 +00160e 9100 STR r1,[sp,#0] +001610 9001 STR r0,[sp,#4] +001612 2100 MOVS r1,#0 +001614 2029 MOVS r0,#0x29 +001616 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1273 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0x80,0x2d,0xd3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9f,0x00); +00161a 2032 MOVS r0,#0x32 +00161c f7fffffe BL delayUs +001620 2000 MOVS r0,#0 +001622 219f MOVS r1,#0x9f +001624 2255 MOVS r2,#0x55 +001626 9209 STR r2,[sp,#0x24] +001628 920a STR r2,[sp,#0x28] +00162a 9205 STR r2,[sp,#0x14] +00162c 9206 STR r2,[sp,#0x18] +00162e 9207 STR r2,[sp,#0x1c] +001630 9208 STR r2,[sp,#0x20] +001632 910b STR r1,[sp,#0x2c] +001634 900c STR r0,[sp,#0x30] +001636 4610 MOV r0,r2 +001638 4611 MOV r1,r2 +00163a 2200 MOVS r2,#0 +00163c 23d3 MOVS r3,#0xd3 +00163e 9301 STR r3,[sp,#4] +001640 9202 STR r2,[sp,#8] +001642 9103 STR r1,[sp,#0xc] +001644 9004 STR r0,[sp,#0x10] +001646 202d MOVS r0,#0x2d +001648 2380 MOVS r3,#0x80 +00164a 220e MOVS r2,#0xe +00164c 2100 MOVS r1,#0 +00164e 9000 STR r0,[sp,#0] +001650 2029 MOVS r0,#0x29 +001652 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1274 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x23); +001656 2032 MOVS r0,#0x32 +001658 f7fffffe BL delayUs +00165c 2023 MOVS r0,#0x23 +00165e 215a MOVS r1,#0x5a +001660 2341 MOVS r3,#0x41 +001662 2203 MOVS r2,#3 +001664 9100 STR r1,[sp,#0] +001666 9001 STR r0,[sp,#4] +001668 2100 MOVS r1,#0 +00166a 2029 MOVS r0,#0x29 +00166c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1275 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +001670 2032 MOVS r0,#0x32 +001672 f7fffffe BL delayUs +001676 2000 MOVS r0,#0 +001678 900c STR r0,[sp,#0x30] +00167a 900d STR r0,[sp,#0x34] +00167c 900e STR r0,[sp,#0x38] +00167e 900f STR r0,[sp,#0x3c] +001680 9008 STR r0,[sp,#0x20] +001682 9009 STR r0,[sp,#0x24] +001684 900a STR r0,[sp,#0x28] +001686 900b STR r0,[sp,#0x2c] +001688 9004 STR r0,[sp,#0x10] +00168a 9005 STR r0,[sp,#0x14] +00168c 9006 STR r0,[sp,#0x18] +00168e 9007 STR r0,[sp,#0x1c] +001690 2005 MOVS r0,#5 +001692 2100 MOVS r1,#0 +001694 2301 MOVS r3,#1 +001696 9001 STR r0,[sp,#4] +001698 9300 STR r3,[sp,#0] +00169a 9102 STR r1,[sp,#8] +00169c 9003 STR r0,[sp,#0xc] +00169e 2380 MOVS r3,#0x80 +0016a0 2211 MOVS r2,#0x11 +0016a2 2029 MOVS r0,#0x29 +0016a4 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1276 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0d,0x90,0xff,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xff,0x07,0x25); +0016a8 2032 MOVS r0,#0x32 +0016aa f7fffffe BL delayUs +0016ae 2025 MOVS r0,#0x25 +0016b0 2107 MOVS r1,#7 +0016b2 22ff MOVS r2,#0xff +0016b4 2300 MOVS r3,#0 +0016b6 9308 STR r3,[sp,#0x20] +0016b8 9209 STR r2,[sp,#0x24] +0016ba 910a STR r1,[sp,#0x28] +0016bc 900b STR r0,[sp,#0x2c] +0016be 2203 MOVS r2,#3 +0016c0 9304 STR r3,[sp,#0x10] +0016c2 9306 STR r3,[sp,#0x18] +0016c4 4618 MOV r0,r3 +0016c6 4619 MOV r1,r3 +0016c8 9307 STR r3,[sp,#0x1c] +0016ca 9205 STR r2,[sp,#0x14] +0016cc 220f MOVS r2,#0xf +0016ce 23ff MOVS r3,#0xff +0016d0 9300 STR r3,[sp,#0] +0016d2 9201 STR r2,[sp,#4] +0016d4 9102 STR r1,[sp,#8] +0016d6 9003 STR r0,[sp,#0xc] +0016d8 2390 MOVS r3,#0x90 +0016da 220d MOVS r2,#0xd +0016dc 2100 MOVS r1,#0 +0016de 2029 MOVS r0,#0x29 +0016e0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1277 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); +0016e4 2032 MOVS r0,#0x32 +0016e6 f7fffffe BL delayUs +0016ea 2024 MOVS r0,#0x24 +0016ec 215a MOVS r1,#0x5a +0016ee 2341 MOVS r3,#0x41 +0016f0 2203 MOVS r2,#3 +0016f2 9100 STR r1,[sp,#0] +0016f4 9001 STR r0,[sp,#4] +0016f6 2100 MOVS r1,#0 +0016f8 2029 MOVS r0,#0x29 +0016fa f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1278 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x03,0x00,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xa6); +0016fe 2032 MOVS r0,#0x32 +001700 f7fffffe BL delayUs +001704 20a6 MOVS r0,#0xa6 +001706 2152 MOVS r1,#0x52 +001708 2200 MOVS r2,#0 +00170a 920c STR r2,[sp,#0x30] +00170c 920d STR r2,[sp,#0x34] +00170e 9208 STR r2,[sp,#0x20] +001710 9209 STR r2,[sp,#0x24] +001712 920a STR r2,[sp,#0x28] +001714 920b STR r2,[sp,#0x2c] +001716 910e STR r1,[sp,#0x38] +001718 900f STR r0,[sp,#0x3c] +00171a 4610 MOV r0,r2 +00171c 4611 MOV r1,r2 +00171e 2220 MOVS r2,#0x20 +001720 23ff MOVS r3,#0xff +001722 9304 STR r3,[sp,#0x10] +001724 9205 STR r2,[sp,#0x14] +001726 9106 STR r1,[sp,#0x18] +001728 9007 STR r0,[sp,#0x1c] +00172a 2100 MOVS r1,#0 +00172c 2203 MOVS r2,#3 +00172e 9100 STR r1,[sp,#0] +001730 9303 STR r3,[sp,#0xc] +001732 9201 STR r2,[sp,#4] +001734 9102 STR r1,[sp,#8] +001736 2380 MOVS r3,#0x80 +001738 2211 MOVS r2,#0x11 +00173a 2029 MOVS r0,#0x29 +00173c f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1279 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x5a,0x5a,0x5a,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +001740 2032 MOVS r0,#0x32 +001742 f7fffffe BL delayUs +001746 2000 MOVS r0,#0 +001748 900c STR r0,[sp,#0x30] +00174a 900d STR r0,[sp,#0x34] +00174c 900e STR r0,[sp,#0x38] +00174e 900f STR r0,[sp,#0x3c] +001750 9008 STR r0,[sp,#0x20] +001752 9009 STR r0,[sp,#0x24] +001754 900a STR r0,[sp,#0x28] +001756 900b STR r0,[sp,#0x2c] +001758 9004 STR r0,[sp,#0x10] +00175a 9005 STR r0,[sp,#0x14] +00175c 9006 STR r0,[sp,#0x18] +00175e 9007 STR r0,[sp,#0x1c] +001760 2055 MOVS r0,#0x55 +001762 215a MOVS r1,#0x5a +001764 9100 STR r1,[sp,#0] +001766 9101 STR r1,[sp,#4] +001768 2390 MOVS r3,#0x90 +00176a 2211 MOVS r2,#0x11 +00176c 9102 STR r1,[sp,#8] +00176e 9003 STR r0,[sp,#0xc] +001770 2100 MOVS r1,#0 +001772 2029 MOVS r0,#0x29 +001774 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1280 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x42,0x24); +001778 2032 MOVS r0,#0x32 +00177a f7fffffe BL delayUs +00177e 2024 MOVS r0,#0x24 +001780 2342 MOVS r3,#0x42 +001782 2202 MOVS r2,#2 +001784 2100 MOVS r1,#0 +001786 9000 STR r0,[sp,#0] +001788 2015 MOVS r0,#0x15 +00178a f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1281 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x00); +00178e 2032 MOVS r0,#0x32 +001790 f7fffffe BL delayUs +001794 2000 MOVS r0,#0 +001796 2390 MOVS r3,#0x90 +001798 2202 MOVS r2,#2 +00179a 4601 MOV r1,r0 +00179c 9000 STR r0,[sp,#0] +00179e 2015 MOVS r0,#0x15 +0017a0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1282 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x2f); +0017a4 2032 MOVS r0,#0x32 +0017a6 f7fffffe BL delayUs +0017aa 202f MOVS r0,#0x2f +0017ac 215a MOVS r1,#0x5a +0017ae 2341 MOVS r3,#0x41 +0017b0 2203 MOVS r2,#3 +0017b2 9100 STR r1,[sp,#0] +0017b4 9001 STR r0,[sp,#4] +0017b6 2100 MOVS r1,#0 +0017b8 2029 MOVS r0,#0x29 +0017ba f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1283 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x19,0x00); +0017be 2032 MOVS r0,#0x32 +0017c0 f7fffffe BL delayUs +0017c4 2000 MOVS r0,#0 +0017c6 2319 MOVS r3,#0x19 +0017c8 2202 MOVS r2,#2 +0017ca 4601 MOV r1,r0 +0017cc 9000 STR r0,[sp,#0] +0017ce 2015 MOVS r0,#0x15 +0017d0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1284 +;;;1285 +;;;1286 +;;;1287 +;;;1288 +;;;1289 +;;;1290 //----------------------LCD initial code End----------------------// +;;;1291 +;;;1292 // BIST MODE +;;;1293 // delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); +;;;1294 //SPI FINISH +;;;1295 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x42, 0x24); +0017d4 2024 MOVS r0,#0x24 +0017d6 2342 MOVS r3,#0x42 +0017d8 2202 MOVS r2,#2 +0017da 2100 MOVS r1,#0 +0017dc 9000 STR r0,[sp,#0] +0017de 2039 MOVS r0,#0x39 +0017e0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1296 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x90, 0x00); +0017e4 2000 MOVS r0,#0 +0017e6 2390 MOVS r3,#0x90 +0017e8 2202 MOVS r2,#2 +0017ea 4601 MOV r1,r0 +0017ec 9000 STR r0,[sp,#0] +0017ee 2039 MOVS r0,#0x39 +0017f0 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1297 //Blank select 2F +;;;1298 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x2F); +0017f4 202f MOVS r0,#0x2f +0017f6 215a MOVS r1,#0x5a +0017f8 2341 MOVS r3,#0x41 +0017fa 2203 MOVS r2,#3 +0017fc 9100 STR r1,[sp,#0] +0017fe 9001 STR r0,[sp,#4] +001800 2100 MOVS r1,#0 +001802 2039 MOVS r0,#0x39 +001804 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1299 hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x19, 0x00); +001808 2000 MOVS r0,#0 +00180a 2319 MOVS r3,#0x19 +00180c 2202 MOVS r2,#2 +00180e 4601 MOV r1,r0 +001810 9000 STR r0,[sp,#0] +001812 2039 MOVS r0,#0x39 +001814 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1300 +;;;1301 // Video Mode Enable +;;;1302 // delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0xB7,0x59,0x02); +;;;1303 +;;;1304 hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x11); +001818 2311 MOVS r3,#0x11 +00181a 2201 MOVS r2,#1 +00181c 2100 MOVS r1,#0 +00181e 2005 MOVS r0,#5 +001820 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1305 delayMs(5); +001824 2005 MOVS r0,#5 +001826 f7fffffe BL delayMs +;;;1306 hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); +00182a 2101 MOVS r1,#1 +00182c 2013 MOVS r0,#0x13 +00182e f7fffffe BL hal_gpio_set_output_data +;;;1307 delayMs(5); +001832 2005 MOVS r0,#5 +001834 f7fffffe BL delayMs +;;;1308 // hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH); +;;;1309 hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_HIGH); +001838 2101 MOVS r1,#1 +00183a 2004 MOVS r0,#4 +00183c f7fffffe BL hal_gpio_set_output_data +;;;1310 +;;;1311 // hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, 0xff, 0x0f); +;;;1312 // hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x53, 0x24); +;;;1313 // hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x55, 0x00); +;;;1314 +;;;1315 +;;;1316 +;;;1317 #endif +;;;1318 #endif +;;;1319 +;;;1320 #endif +;;;1321 +;;;1322 #if 0 +;;;1323 uint8_t data[10] = {0}; +;;;1324 hal_dsi_tx_ctrl_read_cmd(0x06, 0, 0x0A, 1, data); +;;;1325 TAU_LOGI("read[0x%02x]:%02x\n", 0x0A, data[0]); +;;;1326 #endif +;;;1327 +;;;1328 +;;;1329 /* exit send initial code mode*/ +;;;1330 hal_dsi_tx_ctrl_exit_init_panel_mode(); +001840 f7fffffe BL hal_dsi_tx_ctrl_exit_init_panel_mode +;;;1331 delayMs(10); +001844 200a MOVS r0,#0xa +001846 f7fffffe BL delayMs +;;;1332 } +00184a b011 ADD sp,sp,#0x44 +00184c bd00 POP {pc} +;;;1333 + ENDP + + + AREA ||i.open_mipi_rx||, CODE, READONLY, ALIGN=2 + + open_mipi_rx PROC +;;;1333 +;;;1334 static void open_mipi_rx(void) +000000 b510 PUSH {r4,lr} +;;;1335 { +;;;1336 /* TE */ +;;;1337 hal_gpio_set_mode(IO_PAD_AP_TE, IO_MODE_TEAR); +000002 2100 MOVS r1,#0 +000004 2003 MOVS r0,#3 +000006 f7fffffe BL hal_gpio_set_mode +;;;1338 +;;;1339 if (g_rx_ctrl_handle == NULL) +00000a 4832 LDR r0,|L13.212| +00000c 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +00000e 2800 CMP r0,#0 +000010 d103 BNE |L13.26| +;;;1340 { +;;;1341 /* rx ctrl handle */ +;;;1342 g_rx_ctrl_handle = hal_dsi_rx_ctrl_create_handle(); +000012 f7fffffe BL hal_dsi_rx_ctrl_create_handle +000016 492f LDR r1,|L13.212| +000018 6008 STR r0,[r1,#0] ; g_rx_ctrl_handle + |L13.26| +;;;1343 } +;;;1344 /* ò */ +;;;1345 g_rx_ctrl_handle->base_info.src_w = INPUT_WIDTH; +00001a 2087 MOVS r0,#0x87 +00001c 00c0 LSLS r0,r0,#3 +00001e 492d LDR r1,|L13.212| +000020 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +000022 6008 STR r0,[r1,#0] +;;;1346 g_rx_ctrl_handle->base_info.src_h = INPUT_HEIGHT; +000024 482c LDR r0,|L13.216| +000026 492b LDR r1,|L13.212| +000028 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +00002a 6048 STR r0,[r1,#4] +;;;1347 g_rx_ctrl_handle->base_info.dst_w = OUTPUT_WIDTH; +00002c 202d MOVS r0,#0x2d +00002e 0100 LSLS r0,r0,#4 +000030 4928 LDR r1,|L13.212| +000032 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +000034 6088 STR r0,[r1,#8] +;;;1348 g_rx_ctrl_handle->base_info.dst_h = OUTPUT_HEIGHT; +000036 2019 MOVS r0,#0x19 +000038 0180 LSLS r0,r0,#6 +00003a 4926 LDR r1,|L13.212| +00003c 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +00003e 60c8 STR r0,[r1,#0xc] +;;;1349 g_rx_ctrl_handle->base_info.src_frate = INPUT_FRAME_RATE; +000040 2000 MOVS r0,#0 +000042 4924 LDR r1,|L13.212| +000044 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +000046 7408 STRB r0,[r1,#0x10] +;;;1350 g_rx_ctrl_handle->base_info.src_mode = INPUT_DATA_MODE; +000048 2001 MOVS r0,#1 +00004a 4922 LDR r1,|L13.212| +00004c 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +00004e 7448 STRB r0,[r1,#0x11] +;;;1351 g_rx_ctrl_handle->rx_color_mode = INPUT_COLOR_MODE; +000050 2004 MOVS r0,#4 +000052 4920 LDR r1,|L13.212| +000054 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +000056 7708 STRB r0,[r1,#0x1c] +;;;1352 g_rx_ctrl_handle->rx_lanes = INPUT_MIPI_LANE_NUM; +000058 491e LDR r1,|L13.212| +00005a 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +00005c 7748 STRB r0,[r1,#0x1d] +;;;1353 g_rx_ctrl_handle->rx_nonburst_models = INPUT_VIDEO_MODEL; /* ɲ */ +00005e 2001 MOVS r0,#1 +000060 491c LDR r1,|L13.212| +000062 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +000064 7788 STRB r0,[r1,#0x1e] +;;;1354 g_rx_ctrl_handle->rx_vc = INPUT_VC; +000066 2000 MOVS r0,#0 +000068 491a LDR r1,|L13.212| +00006a 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +00006c 77c8 STRB r0,[r1,#0x1f] +;;;1355 g_rx_ctrl_handle->compress_en = INPUT_COMPRESS; +00006e 2100 MOVS r1,#0 +000070 4818 LDR r0,|L13.212| +000072 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000074 3020 ADDS r0,r0,#0x20 +000076 7001 STRB r1,[r0,#0] +;;;1356 g_rx_ctrl_handle->rx_hsclk_rate = INPUT_MIPI_LANE_RATE; +000078 4818 LDR r0,|L13.220| +00007a 4916 LDR r1,|L13.212| +00007c 6809 LDR r1,[r1,#0] ; g_rx_ctrl_handle +00007e 6248 STR r0,[r1,#0x24] +;;;1357 g_rx_ctrl_handle->cus_dcs_entry_table = g_cus_rx_dcs_execute_table; /* ע DCSб */ +000080 4917 LDR r1,|L13.224| +000082 4814 LDR r0,|L13.212| +000084 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000086 3080 ADDS r0,r0,#0x80 +000088 6281 STR r1,[r0,#0x28] +;;;1358 g_rx_ctrl_handle->rx_dcs_read_entry = ap_dcs_read; /* עdsc read ص,ѡ,˺Ϊʱcus_dcs_entry_tableִ */ +00008a 4916 LDR r1,|L13.228| +00008c 4811 LDR r0,|L13.212| +00008e 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000090 3080 ADDS r0,r0,#0x80 +000092 62c1 STR r1,[r0,#0x2c] +;;;1359 g_rx_ctrl_handle->pps_update_entry = pps_update_handle; +000094 4914 LDR r1,|L13.232| +000096 480f LDR r0,|L13.212| +000098 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +00009a 3080 ADDS r0,r0,#0x80 +00009c 6301 STR r1,[r0,#0x30] +;;;1360 g_rx_ctrl_handle->pq_marginal = true; //true:ˮơfalse +00009e 2101 MOVS r1,#1 +0000a0 480c LDR r0,|L13.212| +0000a2 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +0000a4 30a0 ADDS r0,r0,#0xa0 +0000a6 7541 STRB r1,[r0,#0x15] +;;;1361 /* ǰԤPPS, AP PPS cmdҲ */ +;;;1362 +;;;1363 /* ʼrx ctrl */ +;;;1364 hal_dsi_rx_ctrl_init(g_rx_ctrl_handle); +0000a8 480a LDR r0,|L13.212| +0000aa 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +0000ac f7fffffe BL hal_dsi_rx_ctrl_init +;;;1365 hal_dsi_rx_ctrl_set_cus_sync_line(g_rx_ctrl_handle, 2400);// lss add, ˺1600 +0000b0 214b MOVS r1,#0x4b +0000b2 0149 LSLS r1,r1,#5 +0000b4 4807 LDR r0,|L13.212| +0000b6 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +0000b8 f7fffffe BL hal_dsi_rx_ctrl_set_cus_sync_line +;;;1366 // hal_dsi_rx_ctrl_hight_performan_mode(g_rx_ctrl_handle); +;;;1367 hal_dsi_rx_ctrl_set_cus_scld_filter(g_rx_ctrl_handle,rx_filter_1080_h_4_70,rx_filter_2240_v_4_70); +0000bc 4a0b LDR r2,|L13.236| +0000be 490c LDR r1,|L13.240| +0000c0 4804 LDR r0,|L13.212| +0000c2 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +0000c4 f7fffffe BL hal_dsi_rx_ctrl_set_cus_scld_filter +;;;1368 /* rx ctrl */ +;;;1369 hal_dsi_rx_ctrl_start(g_rx_ctrl_handle); +0000c8 4802 LDR r0,|L13.212| +0000ca 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +0000cc f7fffffe BL hal_dsi_rx_ctrl_start +;;;1370 //hal_dsi_rx_ctrl_set_auto_hw_filter(g_rx_ctrl_handle, true); +;;;1371 +;;;1372 // delayMs(20); +;;;1373 } +0000d0 bd10 POP {r4,pc} +;;;1374 + ENDP + +0000d2 0000 DCW 0x0000 + |L13.212| + DCD g_rx_ctrl_handle + |L13.216| + DCD 0x000008c4 + |L13.220| + DCD 0x4190ab00 + |L13.224| + DCD g_cus_rx_dcs_execute_table + |L13.228| + DCD ap_dcs_read + |L13.232| + DCD pps_update_handle + |L13.236| + DCD rx_filter_2240_v_4_70 + |L13.240| + DCD rx_filter_1080_h_4_70 + + AREA ||i.pps_update_handle||, CODE, READONLY, ALIGN=2 + + pps_update_handle PROC +;;;314 /* PPS update callback ڷֱлcase */ +;;;315 static bool pps_update_handle(uint8_t *pps, uint8_t size, uint32_t pic_width, uint32_t pic_height) +000000 b5f8 PUSH {r3-r7,lr} +;;;316 { +000002 4606 MOV r6,r0 +000004 460f MOV r7,r1 +000006 4614 MOV r4,r2 +000008 461d MOV r5,r3 +;;;317 /* AVDD ϵ, ڽϢPPS */ +;;;318 // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); +;;;319 // hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle); +;;;320 if (pic_width != g_rx_ctrl_handle->base_info.src_w || pic_height != g_rx_ctrl_handle->base_info.src_h) +00000a 4810 LDR r0,|L14.76| +00000c 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +00000e 6800 LDR r0,[r0,#0] +000010 42a0 CMP r0,r4 +000012 d104 BNE |L14.30| +000014 480d LDR r0,|L14.76| +000016 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000018 6840 LDR r0,[r0,#4] +00001a 42a8 CMP r0,r5 +00001c d014 BEQ |L14.72| + |L14.30| +;;;321 { +;;;322 +;;;323 /* PPS Update ҷֱʷ仯 */ +;;;324 g_rx_ctrl_handle->base_info.src_w = pic_width; +00001e 480b LDR r0,|L14.76| +000020 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000022 6004 STR r4,[r0,#0] +;;;325 g_rx_ctrl_handle->base_info.src_h = pic_height; +000024 4809 LDR r0,|L14.76| +000026 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000028 6045 STR r5,[r0,#4] +;;;326 g_rx_ctrl_handle->compress_en = true; +00002a 2101 MOVS r1,#1 +00002c 4807 LDR r0,|L14.76| +00002e 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000030 3020 ADDS r0,r0,#0x20 +000032 7001 STRB r1,[r0,#0] +;;;327 /* עⲿֻPPSǰ Compression Mode Command */ +;;;328 +;;;329 g_tx_ctrl_handle->base_info.src_w = pic_width; +000034 4806 LDR r0,|L14.80| +000036 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +000038 6204 STR r4,[r0,#0x20] +;;;330 g_tx_ctrl_handle->base_info.src_h = pic_height; +00003a 4805 LDR r0,|L14.80| +00003c 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +00003e 6245 STR r5,[r0,#0x24] +;;;331 +;;;332 hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle); +000040 4802 LDR r0,|L14.76| +000042 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000044 f7fffffe BL hal_dsi_rx_ctrl_toggle_resolution + |L14.72| +;;;333 // hal_dsi_rx_ctrl_set_auto_hw_filter(g_rx_ctrl_handle, true); +;;;334 +;;;335 // hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle); +;;;336 // TAU_LOGD("resolution update w[%d] h[%d] compress[%d]\n", pic_width, pic_height, g_rx_ctrl_handle->compress_en); +;;;337 } +;;;338 // hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle); +;;;339 // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); +;;;340 // TAU_LOGD("PPS Update\n"); +;;;341 return true; +000048 2001 MOVS r0,#1 +;;;342 } +00004a bdf8 POP {r3-r7,pc} +;;;343 + ENDP + + |L14.76| + DCD g_rx_ctrl_handle + |L14.80| + DCD g_tx_ctrl_handle + + AREA ||i.soft_te_timer_cb||, CODE, READONLY, ALIGN=2 + + soft_te_timer_cb PROC +;;;409 +;;;410 static void soft_te_timer_cb(void *data) +000000 b510 PUSH {r4,lr} +;;;411 { +000002 4604 MOV r4,r0 +;;;412 /* +;;;413 S8 ӵTP1.8V, AC ҪȵTP1.8 ٳʼ, TP ǰҪͨTEֻֻ +;;;414 */ +;;;415 if (panel_display_done == false) +000004 4809 LDR r0,|L15.44| +000006 7800 LDRB r0,[r0,#0] ; panel_display_done +000008 2800 CMP r0,#0 +00000a d10a BNE |L15.34| +;;;416 { +;;;417 hal_dsi_rx_ctrl_gen_a_tear_signal(g_rx_ctrl_handle); +00000c 4808 LDR r0,|L15.48| +00000e 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000010 f7fffffe BL hal_dsi_rx_ctrl_gen_a_tear_signal +;;;418 hal_timer_start(TE_TIMER, 17, soft_te_timer_cb, NULL); +000014 2300 MOVS r3,#0 +000016 4a07 LDR r2,|L15.52| +000018 2111 MOVS r1,#0x11 +00001a 2002 MOVS r0,#2 +00001c f7fffffe BL hal_timer_start +000020 e003 B |L15.42| + |L15.34| +;;;419 } +;;;420 else +;;;421 { +;;;422 hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle); +000022 4803 LDR r0,|L15.48| +000024 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000026 f7fffffe BL hal_dsi_rx_ctrl_set_hw_tear_mode + |L15.42| +;;;423 } +;;;424 } +00002a bd10 POP {r4,pc} +;;;425 + ENDP + + |L15.44| + DCD panel_display_done + |L15.48| + DCD g_rx_ctrl_handle + |L15.52| + DCD soft_te_timer_cb + + AREA ||i.soft_te_timer_init||, CODE, READONLY, ALIGN=2 + + soft_te_timer_init PROC +;;;425 +;;;426 static void soft_te_timer_init() +000000 b510 PUSH {r4,lr} +;;;427 { +;;;428 TAU_LOGD("soft_te_timer_init\n"); +000002 bf00 NOP +000004 22ff MOVS r2,#0xff +000006 32ad ADDS r2,r2,#0xad +000008 a109 ADR r1,|L16.48| +00000a a00b ADR r0,|L16.56| +00000c f7fffffe BL LOG_printf +000010 bf00 NOP +;;;429 hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle); +000012 4811 LDR r0,|L16.88| +000014 6800 LDR r0,[r0,#0] ; g_rx_ctrl_handle +000016 f7fffffe BL hal_dsi_rx_ctrl_set_sw_tear_mode +;;;430 hal_timer_init(TE_TIMER); +00001a 2002 MOVS r0,#2 +00001c f7fffffe BL hal_timer_init +;;;431 hal_timer_start(TE_TIMER, 1, soft_te_timer_cb, NULL); +000020 2300 MOVS r3,#0 +000022 4a0e LDR r2,|L16.92| +000024 2101 MOVS r1,#1 +000026 2002 MOVS r0,#2 +000028 f7fffffe BL hal_timer_start +;;;432 } +00002c bd10 POP {r4,pc} +;;;433 + ENDP + +00002e 0000 DCW 0x0000 + |L16.48| +000030 4d693853 DCB "Mi8SE",0 +000034 4500 +000036 00 DCB 0 +000037 00 DCB 0 + |L16.56| +000038 5b25735d DCB "[%s] (%04d) soft_te_timer_init\n",0 +00003c 20282530 +000040 34642920 +000044 736f6674 +000048 5f74655f +00004c 74696d65 +000050 725f696e +000054 69740a00 + |L16.88| + DCD g_rx_ctrl_handle + |L16.92| + DCD soft_te_timer_cb + + AREA ||i.swire_callback||, CODE, READONLY, ALIGN=2 + + swire_callback PROC +;;;1480 +;;;1481 static void swire_callback(void *data) +000000 b510 PUSH {r4,lr} +;;;1482 { +000002 4604 MOV r4,r0 +;;;1483 /* swire ǷҪһֱҪֻֻͬͬ */ +;;;1484 //if(start_display_on == false) +;;;1485 { +;;;1486 hal_timer_start(SWIRE_TIMER, 26, swire_timer_callback, NULL); +000004 2300 MOVS r3,#0 +000006 4a03 LDR r2,|L17.20| +000008 211a MOVS r1,#0x1a +00000a 2001 MOVS r0,#1 +00000c f7fffffe BL hal_timer_start +;;;1487 } +;;;1488 } +000010 bd10 POP {r4,pc} +;;;1489 + ENDP + +000012 0000 DCW 0x0000 + |L17.20| + DCD swire_timer_callback + + AREA ||i.swire_init||, CODE, READONLY, ALIGN=2 + + swire_init PROC +;;;1490 /* swire ʼ,ͨ hal_swire_start , ѭһֱ */ +;;;1491 static void swire_init() +000000 b508 PUSH {r3,lr} +;;;1492 { +;;;1493 hal_swire_open(DISABLE); +000002 2000 MOVS r0,#0 +000004 f7fffffe BL hal_swire_open +;;;1494 hal_swire_init(); +000008 f7fffffe BL hal_swire_init +;;;1495 /* swire ηɺص */ +;;;1496 hal_swire_register_callback(swire_callback); +00000c 480b LDR r0,|L18.60| +00000e f7fffffe BL hal_swire_register_callback +;;;1497 hal_swire_open(ENABLE); +000012 2001 MOVS r0,#1 +000014 f7fffffe BL hal_swire_open +;;;1498 //hal_swire_start(12, 12, 12, 12, 43); +;;;1499 hal_swire_start(12, 12, 12, 12, 36); //3~27,~,9.45V~7.43V +000018 2024 MOVS r0,#0x24 +00001a 230c MOVS r3,#0xc +00001c 461a MOV r2,r3 +00001e 4619 MOV r1,r3 +000020 9000 STR r0,[sp,#0] +000022 4618 MOV r0,r3 +000024 f7fffffe BL hal_swire_start +;;;1500 hal_timer_init(SWIRE_TIMER); +000028 2001 MOVS r0,#1 +00002a f7fffffe BL hal_timer_init +;;;1501 hal_timer_start(SWIRE_TIMER, 26, swire_timer_callback, NULL); +00002e 2300 MOVS r3,#0 +000030 4a03 LDR r2,|L18.64| +000032 211a MOVS r1,#0x1a +000034 2001 MOVS r0,#1 +000036 f7fffffe BL hal_timer_start +;;;1502 } +00003a bd08 POP {r3,pc} +;;;1503 + ENDP + + |L18.60| + DCD swire_callback + |L18.64| + DCD swire_timer_callback + + AREA ||i.swire_timer_callback||, CODE, READONLY, ALIGN=2 + + swire_timer_callback PROC +;;;1475 +;;;1476 static void swire_timer_callback(void *data) +000000 b538 PUSH {r3-r5,lr} +;;;1477 { +000002 4604 MOV r4,r0 +;;;1478 hal_swire_start(12, 12, 12, 12, swire_num); +000004 4804 LDR r0,|L19.24| +000006 7800 LDRB r0,[r0,#0] ; swire_num +000008 230c MOVS r3,#0xc +00000a 461a MOV r2,r3 +00000c 4619 MOV r1,r3 +00000e 9000 STR r0,[sp,#0] +000010 4618 MOV r0,r3 +000012 f7fffffe BL hal_swire_start +;;;1479 } +000016 bd38 POP {r3-r5,pc} +;;;1480 + ENDP + + |L19.24| + DCD swire_num + + AREA ||i.tx_display_on||, CODE, READONLY, ALIGN=2 + + tx_display_on PROC +;;;1449 +;;;1450 static void tx_display_on(void) +000000 b510 PUSH {r4,lr} +;;;1451 { +;;;1452 init_panel(); +000002 f7fffffe BL init_panel +;;;1453 // delayMs(150); +;;;1454 hal_dsi_tx_ctrl_start(g_tx_ctrl_handle); +000006 480d LDR r0,|L20.60| +000008 6800 LDR r0,[r0,#0] ; g_tx_ctrl_handle +00000a f7fffffe BL hal_dsi_tx_ctrl_start +;;;1455 delayMs(150); +00000e 2096 MOVS r0,#0x96 +000010 f7fffffe BL delayMs +;;;1456 delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29); +000014 2032 MOVS r0,#0x32 +000016 f7fffffe BL delayUs +00001a 2329 MOVS r3,#0x29 +00001c 2201 MOVS r2,#1 +00001e 2100 MOVS r1,#0 +000020 2005 MOVS r0,#5 +000022 f7fffffe BL hal_dsi_tx_ctrl_write_cmd +;;;1457 +;;;1458 // delayMs(40); +;;;1459 // hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_HIGH); +;;;1460 // delayMs(200); +;;;1461 // delayMs(50); +;;;1462 // hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29); +;;;1463 TAU_LOGD("write 29\n"); +000026 bf00 NOP +000028 4a05 LDR r2,|L20.64| +00002a a106 ADR r1,|L20.68| +00002c a007 ADR r0,|L20.76| +00002e f7fffffe BL LOG_printf +000032 bf00 NOP +;;;1464 +;;;1465 /* if(g_resolution_change) +;;;1466 { +;;;1467 hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle); +;;;1468 //hal_dsi_rx_ctrl_set_auto_hw_filter(g_rx_ctrl_handle, true); +;;;1469 TAU_LOGD("resolutio toggle\n"); +;;;1470 } +;;;1471 */ +;;;1472 panel_display_done = true; +000034 2001 MOVS r0,#1 +000036 490b LDR r1,|L20.100| +000038 7008 STRB r0,[r1,#0] +;;;1473 +;;;1474 } +00003a bd10 POP {r4,pc} +;;;1475 + ENDP + + |L20.60| + DCD g_tx_ctrl_handle + |L20.64| + DCD 0x000005b7 + |L20.68| +000044 4d693853 DCB "Mi8SE",0 +000048 4500 +00004a 00 DCB 0 +00004b 00 DCB 0 + |L20.76| +00004c 5b25735d DCB "[%s] (%04d) write 29\n",0 +000050 20282530 +000054 34642920 +000058 77726974 +00005c 65203239 +000060 0a00 +000062 00 DCB 0 +000063 00 DCB 0 + |L20.100| + DCD panel_display_done + + AREA ||i.tx_panel_reset||, CODE, READONLY, ALIGN=1 + + tx_panel_reset PROC +;;;470 +;;;471 static void tx_panel_reset(void) +000000 b510 PUSH {r4,lr} +;;;472 { +;;;473 #ifdef USE_WL518_INTERNAL_FLASH +;;;474 hal_system_share_flash_mode(true);//*******************************************ǷҪflash,򿪵ĻҪFLASHֱӽBINļ¼518,رҪFLASH +;;;475 #endif +;;;476 +;;;477 hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_HIGH); +000002 2001 MOVS r0,#1 +000004 f7fffffe BL hal_dsi_tx_ctrl_panel_reset_pin +;;;478 delayMs(10); //10ms +000008 200a MOVS r0,#0xa +00000a f7fffffe BL delayMs +;;;479 hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_LOW); +00000e 2000 MOVS r0,#0 +000010 f7fffffe BL hal_dsi_tx_ctrl_panel_reset_pin +;;;480 delayMs(10); //10ms +000014 200a MOVS r0,#0xa +000016 f7fffffe BL delayMs +;;;481 hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_HIGH); +00001a 2001 MOVS r0,#1 +00001c f7fffffe BL hal_dsi_tx_ctrl_panel_reset_pin +;;;482 delayMs(30); +000020 201e MOVS r0,#0x1e +000022 f7fffffe BL delayMs +;;;483 } +000026 bd10 POP {r4,pc} +;;;484 + ENDP + + + AREA ||.constdata||, DATA, READONLY, ALIGN=2 + + g_cus_rx_dcs_execute_table + DCD 0x00000029 + DCD ap_set_display_on +000008 01000000 DCB 0x01,0x00,0x00,0x00 + DCD 0x00000028 + DCD ap_set_display_off +000014 01000000 DCB 0x01,0x00,0x00,0x00 + DCD 0x00000051 + DCD ap_set_backlight +000020 00000000 DCB 0x00,0x00,0x00,0x00 + DCD 0x00000010 + DCD ap_set_enter_sleep_mode +00002c 01000000 DCB 0x01,0x00,0x00,0x00 + DCD 0x00000011 + DCD ap_set_exit_sleep_mode +000038 01000000 DCB 0x01,0x00,0x00,0x00 + DCD 0x00000000 + DCD 0x00000000 +000044 00000000 DCB 0x00,0x00,0x00,0x00 + + AREA ||.data||, DATA, ALIGN=2 + + g_rx_ctrl_handle + DCD 0x00000000 + g_tx_ctrl_handle + DCD 0x00000000 + start_display_on +000008 01 DCB 0x01 + panel_display_done +000009 00 DCB 0x00 + g_resolution_change +00000a 00 DCB 0x00 + swire_num +00000b 26 DCB 0x26 + read_bl_data +00000c 0000 DCW 0x0000 + read_bl_data_bak +00000e 0000 DCW 0x0000 + loop_count + DCD 0x00000000 + rx_filter_1080_h_4_70 + DCD 0xe0f9503e + DCD 0x0000000e + DCD 0xe10d5039 + DCD 0x0000000e + DCD 0xe9214e34 + DCD 0x0000000e + DCD 0xe9354e2f + DCD 0x0000000e + DCD 0xf1494c2a + DCD 0x0000000e + DCD 0xf95d4a25 + DCD 0x0000000e + DCD 0x01714820 + DCD 0x0000000f + DCD 0x1185421c + DCD 0x0000000f + DCD 0x21954017 + DCD 0x0000000f + DCD 0x29a93c13 + DCD 0x0000000f + DCD 0x39bd380e + DCD 0x0000000f + DCD 0x51cd320a + DCD 0x0000000f + DCD 0x61e12c06 + DCD 0x0000000f + DCD 0x79f12602 + DCD 0x0000000f + DCD 0x92011fff + DCD 0x0000000f + DCD 0xaa1119fb + DCD 0x0000000f + DCD 0xc22111f8 + DCD 0x0000000f + DCD 0xda3109f5 + DCD 0x0000000f + DCD 0xfa3d01f2 + DCD 0x0000000f + DCD 0x124cf9ef + DCD 0x00000000 + DCD 0x3258f1ec + DCD 0x00000000 + DCD 0x5264e7ea + DCD 0x00000000 + DCD 0x7270dfe7 + DCD 0x00000000 + DCD 0x9a78d5e5 + DCD 0x00000000 + DCD 0xba80cbe4 + DCD 0x00000000 + DCD 0xe284c3e2 + DCD 0x00000000 + DCD 0x0290b9e0 + DCD 0x00000001 + DCD 0x2a94afdf + DCD 0x00000001 + DCD 0x5298a5de + DCD 0x00000001 + DCD 0x7a9c9bdd + DCD 0x00000001 + DCD 0xa29c91dd + DCD 0x00000001 + DCD 0xcaa087dc + DCD 0x00000001 + rx_filter_2240_v_4_70 + DCD 0xe0f9503e + DCD 0x0000000e + DCD 0xe10d5039 + DCD 0x0000000e + DCD 0xe9214e34 + DCD 0x0000000e + DCD 0xe9354e2f + DCD 0x0000000e + DCD 0xf1494c2a + DCD 0x0000000e + DCD 0xf95d4a25 + DCD 0x0000000e + DCD 0x01714820 + DCD 0x0000000f + DCD 0x1185421c + DCD 0x0000000f + DCD 0x21954017 + DCD 0x0000000f + DCD 0x29a93c13 + DCD 0x0000000f + DCD 0x39bd380e + DCD 0x0000000f + DCD 0x51cd320a + DCD 0x0000000f + DCD 0x61e12c06 + DCD 0x0000000f + DCD 0x79f12602 + DCD 0x0000000f + DCD 0x92011fff + DCD 0x0000000f + DCD 0xaa1119fb + DCD 0x0000000f + DCD 0xc22111f8 + DCD 0x0000000f + DCD 0xda3109f5 + DCD 0x0000000f + DCD 0xfa3d01f2 + DCD 0x0000000f + DCD 0x124cf9ef + DCD 0x00000000 + DCD 0x3258f1ec + DCD 0x00000000 + DCD 0x5264e7ea + DCD 0x00000000 + DCD 0x7270dfe7 + DCD 0x00000000 + DCD 0x9a78d5e5 + DCD 0x00000000 + DCD 0xba80cbe4 + DCD 0x00000000 + DCD 0xe284c3e2 + DCD 0x00000000 + DCD 0x0290b9e0 + DCD 0x00000001 + DCD 0x2a94afdf + DCD 0x00000001 + DCD 0x5298a5de + DCD 0x00000001 + DCD 0x7a9c9bdd + DCD 0x00000001 + DCD 0xa29c91dd + DCD 0x00000001 + DCD 0xcaa087dc + DCD 0x00000001 + +;*** Start embedded assembler *** + +#line 1 "..\\..\\src\\app\\ap_demo\\ap_demo.c" + AREA ||.rev16_text||, CODE + THUMB + EXPORT |__asm___9_ap_demo_c_74605b7a____REV16| +#line 467 "C:\\Keil_v5\\ARM\\PACK\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h" +|__asm___9_ap_demo_c_74605b7a____REV16| PROC +#line 468 + + rev16 r0, r0 + bx lr + ENDP + AREA ||.revsh_text||, CODE + THUMB + EXPORT |__asm___9_ap_demo_c_74605b7a____REVSH| +#line 482 +|__asm___9_ap_demo_c_74605b7a____REVSH| PROC +#line 483 + + revsh r0, r0 + bx lr + ENDP + +;*** End embedded assembler *** diff --git a/project/ISP_368/Listings/app_tp_for_custom_mi8se.txt b/project/ISP_368/Listings/app_tp_for_custom_mi8se.txt new file mode 100644 index 0000000..87751ca --- /dev/null +++ b/project/ISP_368/Listings/app_tp_for_custom_mi8se.txt @@ -0,0 +1,3284 @@ +; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637] +; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\app_tp_for_custom_mi8se.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\app_tp_for_custom_mi8se.d --cpu=Cortex-M0 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL368 -I..\..\src\app\ap_demo -I.\RTE\_ISP_368 -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_368 --omf_browse=.\objects\app_tp_for_custom_mi8se.crf ..\..\src\app\ap_demo\app_tp_for_custom_mi8se.c] + THUMB + + AREA ||i.app_tp_phone_analysis_data||, CODE, READONLY, ALIGN=2 + + REQUIRE _printf_percent + REQUIRE _printf_d + REQUIRE _printf_int_dec + app_tp_phone_analysis_data PROC +;;;505 **************************************************************************/ +;;;506 void app_tp_phone_analysis_data(uint8_t *rxbuffer, size_t rxbuffer_size, const uint8_t **txbuffer, size_t *txbuffer_size) +000000 b5f8 PUSH {r3-r7,lr} +;;;507 { +000002 4606 MOV r6,r0 +000004 460f MOV r7,r1 +000006 4614 MOV r4,r2 +000008 461d MOV r5,r3 +;;;508 #ifdef USE_FOR_SUMSUNG_S10 +;;;509 static uint8_t phone_A6_flag = 0; +;;;510 static uint8_t phone_FA_flag = 0; +;;;511 static uint8_t phone_86_flag = 0; +;;;512 +;;;513 if( (rxbuffer_size ==3) &&(rxbuffer[0] ==0xA6)) +00000a 2f03 CMP r7,#3 +00000c d14c BNE |L1.168| +00000e 7830 LDRB r0,[r6,#0] +000010 28a6 CMP r0,#0xa6 +000012 d149 BNE |L1.168| +;;;514 { +;;;515 printf("%d\n",phone_A6_flag); +000014 48f9 LDR r0,|L1.1020| +000016 7801 LDRB r1,[r0,#0] ; phone_A6_flag +000018 a0f9 ADR r0,|L1.1024| +00001a f7fffffe BL __2printf +;;;516 if (phone_A6_flag == 0) +00001e 48f7 LDR r0,|L1.1020| +000020 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000022 2800 CMP r0,#0 +000024 d104 BNE |L1.48| +;;;517 { +;;;518 *txbuffer = phone_data_A6_0; +000026 48f7 LDR r0,|L1.1028| +000028 6020 STR r0,[r4,#0] +;;;519 *txbuffer_size = sizeof(phone_data_A6_0); +00002a 20d0 MOVS r0,#0xd0 +00002c 6028 STR r0,[r5,#0] +00002e e030 B |L1.146| + |L1.48| +;;;520 } +;;;521 else if (phone_A6_flag == 1) +000030 48f2 LDR r0,|L1.1020| +000032 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000034 2801 CMP r0,#1 +000036 d104 BNE |L1.66| +;;;522 { +;;;523 *txbuffer = phone_data_A6_1; +000038 48f3 LDR r0,|L1.1032| +00003a 6020 STR r0,[r4,#0] +;;;524 *txbuffer_size = sizeof(phone_data_A6_1); +00003c 2004 MOVS r0,#4 +00003e 6028 STR r0,[r5,#0] +000040 e027 B |L1.146| + |L1.66| +;;;525 } +;;;526 else if (phone_A6_flag == 2) +000042 48ee LDR r0,|L1.1020| +000044 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000046 2802 CMP r0,#2 +000048 d104 BNE |L1.84| +;;;527 { +;;;528 *txbuffer = phone_data_A6_2; +00004a 48f0 LDR r0,|L1.1036| +00004c 6020 STR r0,[r4,#0] +;;;529 *txbuffer_size = sizeof(phone_data_A6_2); +00004e 201c MOVS r0,#0x1c +000050 6028 STR r0,[r5,#0] +000052 e01e B |L1.146| + |L1.84| +;;;530 } +;;;531 else if (phone_A6_flag == 3) +000054 48e9 LDR r0,|L1.1020| +000056 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000058 2803 CMP r0,#3 +00005a d104 BNE |L1.102| +;;;532 { +;;;533 *txbuffer = phone_data_A6_3; +00005c 48ec LDR r0,|L1.1040| +00005e 6020 STR r0,[r4,#0] +;;;534 *txbuffer_size = sizeof(phone_data_A6_3); +000060 2004 MOVS r0,#4 +000062 6028 STR r0,[r5,#0] +000064 e015 B |L1.146| + |L1.102| +;;;535 } +;;;536 else if (phone_A6_flag == 4) +000066 48e5 LDR r0,|L1.1020| +000068 7800 LDRB r0,[r0,#0] ; phone_A6_flag +00006a 2804 CMP r0,#4 +00006c d104 BNE |L1.120| +;;;537 { +;;;538 *txbuffer = phone_data_A6_4; +00006e 48e9 LDR r0,|L1.1044| +000070 6020 STR r0,[r4,#0] +;;;539 *txbuffer_size = sizeof(phone_data_A6_4); +000072 201c MOVS r0,#0x1c +000074 6028 STR r0,[r5,#0] +000076 e00c B |L1.146| + |L1.120| +;;;540 } +;;;541 else if (phone_A6_flag == 5) +000078 48e0 LDR r0,|L1.1020| +00007a 7800 LDRB r0,[r0,#0] ; phone_A6_flag +00007c 2805 CMP r0,#5 +00007e d104 BNE |L1.138| +;;;542 { +;;;543 *txbuffer = phone_data_A6_5; +000080 48e5 LDR r0,|L1.1048| +000082 6020 STR r0,[r4,#0] +;;;544 *txbuffer_size = sizeof(phone_data_A6_5); +000084 2004 MOVS r0,#4 +000086 6028 STR r0,[r5,#0] +000088 e003 B |L1.146| + |L1.138| +;;;545 } +;;;546 else +;;;547 { +;;;548 *txbuffer = phone_data_A6_4; +00008a 48e2 LDR r0,|L1.1044| +00008c 6020 STR r0,[r4,#0] +;;;549 *txbuffer_size = sizeof(phone_data_A6_4); +00008e 201c MOVS r0,#0x1c +000090 6028 STR r0,[r5,#0] + |L1.146| +;;;550 } +;;;551 phone_A6_flag++; +000092 48da LDR r0,|L1.1020| +000094 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000096 1c40 ADDS r0,r0,#1 +000098 49d8 LDR r1,|L1.1020| +00009a 7008 STRB r0,[r1,#0] +;;;552 if (phone_A6_flag > 6) +00009c 4608 MOV r0,r1 +00009e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +0000a0 2806 CMP r0,#6 +0000a2 dd01 BLE |L1.168| +;;;553 phone_A6_flag = 0; +0000a4 2000 MOVS r0,#0 +0000a6 7008 STRB r0,[r1,#0] + |L1.168| +;;;554 } +;;;555 if( (rxbuffer_size == 5) &&(rxbuffer[0] ==0xFA)) +0000a8 2f05 CMP r7,#5 +0000aa d12c BNE |L1.262| +0000ac 7830 LDRB r0,[r6,#0] +0000ae 28fa CMP r0,#0xfa +0000b0 d129 BNE |L1.262| +;;;556 { +;;;557 if (phone_FA_flag == 0) +0000b2 48da LDR r0,|L1.1052| +0000b4 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000b6 2800 CMP r0,#0 +0000b8 d104 BNE |L1.196| +;;;558 { +;;;559 *txbuffer = phone_data_FA_0; +0000ba 48d9 LDR r0,|L1.1056| +0000bc 6020 STR r0,[r4,#0] +;;;560 *txbuffer_size = sizeof(phone_data_FA_0); +0000be 2001 MOVS r0,#1 +0000c0 6028 STR r0,[r5,#0] +0000c2 e015 B |L1.240| + |L1.196| +;;;561 } +;;;562 else if (phone_FA_flag == 1) +0000c4 48d5 LDR r0,|L1.1052| +0000c6 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000c8 2801 CMP r0,#1 +0000ca d104 BNE |L1.214| +;;;563 { +;;;564 *txbuffer = phone_data_FA_1; +0000cc 48d5 LDR r0,|L1.1060| +0000ce 6020 STR r0,[r4,#0] +;;;565 *txbuffer_size = sizeof(phone_data_FA_1); +0000d0 2002 MOVS r0,#2 +0000d2 6028 STR r0,[r5,#0] +0000d4 e00c B |L1.240| + |L1.214| +;;;566 } +;;;567 else if (phone_FA_flag == 2) +0000d6 48d1 LDR r0,|L1.1052| +0000d8 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000da 2802 CMP r0,#2 +0000dc d104 BNE |L1.232| +;;;568 { +;;;569 *txbuffer = phone_data_FA_2; +0000de 48d2 LDR r0,|L1.1064| +0000e0 6020 STR r0,[r4,#0] +;;;570 *txbuffer_size = sizeof(phone_data_FA_2); +0000e2 2002 MOVS r0,#2 +0000e4 6028 STR r0,[r5,#0] +0000e6 e003 B |L1.240| + |L1.232| +;;;571 } +;;;572 else +;;;573 { +;;;574 *txbuffer = phone_data_FA_2; +0000e8 48cf LDR r0,|L1.1064| +0000ea 6020 STR r0,[r4,#0] +;;;575 *txbuffer_size = sizeof(phone_data_FA_2); +0000ec 2002 MOVS r0,#2 +0000ee 6028 STR r0,[r5,#0] + |L1.240| +;;;576 } +;;;577 +;;;578 phone_FA_flag++; +0000f0 48ca LDR r0,|L1.1052| +0000f2 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000f4 1c40 ADDS r0,r0,#1 +0000f6 49c9 LDR r1,|L1.1052| +0000f8 7008 STRB r0,[r1,#0] +;;;579 if (phone_FA_flag > 6) +0000fa 4608 MOV r0,r1 +0000fc 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000fe 2806 CMP r0,#6 +000100 dd01 BLE |L1.262| +;;;580 phone_FA_flag = 0; +000102 2000 MOVS r0,#0 +000104 7008 STRB r0,[r1,#0] + |L1.262| +;;;581 } +;;;582 +;;;583 if(rxbuffer_size ==1) +000106 2f01 CMP r7,#1 +000108 d17a BNE |L1.512| +;;;584 { +;;;585 switch(rxbuffer[0]) +00010a 7830 LDRB r0,[r6,#0] +00010c 2886 CMP r0,#0x86 +00010e d01e BEQ |L1.334| +000110 dc04 BGT |L1.284| +000112 2843 CMP r0,#0x43 +000114 d007 BEQ |L1.294| +000116 2883 CMP r0,#0x83 + |L1.280| +000118 d173 BNE |L1.514| +00011a e00e B |L1.314| + |L1.284| +00011c 2887 CMP r0,#0x87 +00011e d011 BEQ |L1.324| +000120 28c3 CMP r0,#0xc3 +000122 d1f9 BNE |L1.280| +000124 e004 B |L1.304| + |L1.294| +;;;586 { +;;;587 case 0x43: +;;;588 *txbuffer = phone_data_43; +000126 48c1 LDR r0,|L1.1068| +000128 6020 STR r0,[r4,#0] +;;;589 *txbuffer_size = sizeof(phone_data_43); +00012a 2008 MOVS r0,#8 +00012c 6028 STR r0,[r5,#0] +;;;590 break; +00012e e1ff B |L1.1328| + |L1.304| +;;;591 case 0xC3: +;;;592 *txbuffer = phone_data_43; +000130 48be LDR r0,|L1.1068| +000132 6020 STR r0,[r4,#0] +;;;593 *txbuffer_size = sizeof(phone_data_43); +000134 2008 MOVS r0,#8 +000136 6028 STR r0,[r5,#0] +;;;594 break; +000138 e1fa B |L1.1328| + |L1.314| +;;;595 case 0x83: +;;;596 *txbuffer = phone_data_43; +00013a 48bc LDR r0,|L1.1068| +00013c 6020 STR r0,[r4,#0] +;;;597 *txbuffer_size = sizeof(phone_data_43); +00013e 2008 MOVS r0,#8 +000140 6028 STR r0,[r5,#0] +;;;598 break; +000142 e1f5 B |L1.1328| + |L1.324| +;;;599 case 0x87: +;;;600 *txbuffer = phone_data_43; +000144 48b9 LDR r0,|L1.1068| +000146 6020 STR r0,[r4,#0] +;;;601 *txbuffer_size = sizeof(phone_data_43); +000148 2008 MOVS r0,#8 +00014a 6028 STR r0,[r5,#0] +;;;602 break; +00014c e1f0 B |L1.1328| + |L1.334| +;;;603 case 0x86: +;;;604 +;;;605 touch_recv_flag++; +00014e 48b8 LDR r0,|L1.1072| +000150 7800 LDRB r0,[r0,#0] ; touch_recv_flag +000152 1c40 ADDS r0,r0,#1 +000154 49b6 LDR r1,|L1.1072| +000156 7008 STRB r0,[r1,#0] +;;;606 // if((touch_recv_flag%2) == 0) +;;;607 { +;;;608 // printf("%d\n",phone_86_flag); +;;;609 // if(phone_86_flag<25) touch_recv_flag = 0; +;;;610 +;;;611 if (phone_86_flag == 0) +000158 48b6 LDR r0,|L1.1076| +00015a 7800 LDRB r0,[r0,#0] ; phone_86_flag +00015c 2800 CMP r0,#0 +00015e d109 BNE |L1.372| +;;;612 { +;;;613 *txbuffer = phone_data_86_0; +000160 48b5 LDR r0,|L1.1080| +000162 6020 STR r0,[r4,#0] +;;;614 *txbuffer_size = sizeof(phone_data_86_0); +000164 2008 MOVS r0,#8 +000166 6028 STR r0,[r5,#0] +;;;615 phone_86_flag++; +000168 48b2 LDR r0,|L1.1076| +00016a 7800 LDRB r0,[r0,#0] ; phone_86_flag +00016c 1c40 ADDS r0,r0,#1 +00016e 49b1 LDR r1,|L1.1076| +000170 7008 STRB r0,[r1,#0] +000172 e1db B |L1.1324| + |L1.372| +;;;616 } +;;;617 else if (phone_86_flag == 1) +000174 48af LDR r0,|L1.1076| +000176 7800 LDRB r0,[r0,#0] ; phone_86_flag +000178 2801 CMP r0,#1 +00017a d109 BNE |L1.400| +;;;618 { +;;;619 *txbuffer = phone_data_86_0; +00017c 48ae LDR r0,|L1.1080| +00017e 6020 STR r0,[r4,#0] +;;;620 *txbuffer_size = sizeof(phone_data_86_0); +000180 2008 MOVS r0,#8 +000182 6028 STR r0,[r5,#0] +;;;621 phone_86_flag++; +000184 48ab LDR r0,|L1.1076| +000186 7800 LDRB r0,[r0,#0] ; phone_86_flag +000188 1c40 ADDS r0,r0,#1 +00018a 49aa LDR r1,|L1.1076| +00018c 7008 STRB r0,[r1,#0] +00018e e1cd B |L1.1324| + |L1.400| +;;;622 } +;;;623 else if (phone_86_flag == 2) +000190 48a8 LDR r0,|L1.1076| +000192 7800 LDRB r0,[r0,#0] ; phone_86_flag +000194 2802 CMP r0,#2 +000196 d109 BNE |L1.428| +;;;624 { +;;;625 *txbuffer = phone_data_86_1; +000198 48a8 LDR r0,|L1.1084| +00019a 6020 STR r0,[r4,#0] +;;;626 *txbuffer_size = sizeof(phone_data_86_1); +00019c 2008 MOVS r0,#8 +00019e 6028 STR r0,[r5,#0] +;;;627 phone_86_flag++; +0001a0 48a4 LDR r0,|L1.1076| +0001a2 7800 LDRB r0,[r0,#0] ; phone_86_flag +0001a4 1c40 ADDS r0,r0,#1 +0001a6 49a3 LDR r1,|L1.1076| +0001a8 7008 STRB r0,[r1,#0] +0001aa e1bf B |L1.1324| + |L1.428| +;;;628 } +;;;629 else if (phone_86_flag == 3) +0001ac 48a1 LDR r0,|L1.1076| +0001ae 7800 LDRB r0,[r0,#0] ; phone_86_flag +0001b0 2803 CMP r0,#3 +0001b2 d109 BNE |L1.456| +;;;630 { +;;;631 *txbuffer = phone_data_86_1; +0001b4 48a1 LDR r0,|L1.1084| +0001b6 6020 STR r0,[r4,#0] +;;;632 *txbuffer_size = sizeof(phone_data_86_1); +0001b8 2008 MOVS r0,#8 +0001ba 6028 STR r0,[r5,#0] +;;;633 phone_86_flag++; +0001bc 489d LDR r0,|L1.1076| +0001be 7800 LDRB r0,[r0,#0] ; phone_86_flag +0001c0 1c40 ADDS r0,r0,#1 +0001c2 499c LDR r1,|L1.1076| +0001c4 7008 STRB r0,[r1,#0] +0001c6 e1b1 B |L1.1324| + |L1.456| +;;;634 } +;;;635 else if (phone_86_flag == 4) +0001c8 489a LDR r0,|L1.1076| +0001ca 7800 LDRB r0,[r0,#0] ; phone_86_flag +0001cc 2804 CMP r0,#4 +0001ce d109 BNE |L1.484| +;;;636 { +;;;637 *txbuffer = phone_data_86_2; +0001d0 489b LDR r0,|L1.1088| +0001d2 6020 STR r0,[r4,#0] +;;;638 *txbuffer_size = sizeof(phone_data_86_2); +0001d4 2008 MOVS r0,#8 +0001d6 6028 STR r0,[r5,#0] +;;;639 phone_86_flag++; +0001d8 4896 LDR r0,|L1.1076| +0001da 7800 LDRB r0,[r0,#0] ; phone_86_flag +0001dc 1c40 ADDS r0,r0,#1 +0001de 4995 LDR r1,|L1.1076| +0001e0 7008 STRB r0,[r1,#0] +0001e2 e1a3 B |L1.1324| + |L1.484| +;;;640 } +;;;641 else if (phone_86_flag == 5) +0001e4 4893 LDR r0,|L1.1076| +0001e6 7800 LDRB r0,[r0,#0] ; phone_86_flag +0001e8 2805 CMP r0,#5 +0001ea d10b BNE |L1.516| +;;;642 { +;;;643 *txbuffer = phone_data_86_3; +0001ec 4895 LDR r0,|L1.1092| +0001ee 6020 STR r0,[r4,#0] +;;;644 *txbuffer_size = sizeof(phone_data_86_3); +0001f0 2008 MOVS r0,#8 +0001f2 6028 STR r0,[r5,#0] +;;;645 phone_86_flag++; +0001f4 488f LDR r0,|L1.1076| +0001f6 7800 LDRB r0,[r0,#0] ; phone_86_flag +0001f8 1c40 ADDS r0,r0,#1 +0001fa 498e LDR r1,|L1.1076| +0001fc 7008 STRB r0,[r1,#0] +0001fe e195 B |L1.1324| + |L1.512| +000200 e197 B |L1.1330| + |L1.514| +000202 e194 B |L1.1326| + |L1.516| +;;;646 } +;;;647 else if (phone_86_flag == 6) +000204 488b LDR r0,|L1.1076| +000206 7800 LDRB r0,[r0,#0] ; phone_86_flag +000208 2806 CMP r0,#6 +00020a d109 BNE |L1.544| +;;;648 { +;;;649 *txbuffer = phone_data_86_4; +00020c 488e LDR r0,|L1.1096| +00020e 6020 STR r0,[r4,#0] +;;;650 *txbuffer_size = sizeof(phone_data_86_4); +000210 2008 MOVS r0,#8 +000212 6028 STR r0,[r5,#0] +;;;651 phone_86_flag++; +000214 4887 LDR r0,|L1.1076| +000216 7800 LDRB r0,[r0,#0] ; phone_86_flag +000218 1c40 ADDS r0,r0,#1 +00021a 4986 LDR r1,|L1.1076| +00021c 7008 STRB r0,[r1,#0] +00021e e185 B |L1.1324| + |L1.544| +;;;652 } +;;;653 else if (phone_86_flag == 7) +000220 4884 LDR r0,|L1.1076| +000222 7800 LDRB r0,[r0,#0] ; phone_86_flag +000224 2807 CMP r0,#7 +000226 d109 BNE |L1.572| +;;;654 { +;;;655 *txbuffer = phone_data_86_5; +000228 4888 LDR r0,|L1.1100| +00022a 6020 STR r0,[r4,#0] +;;;656 *txbuffer_size = sizeof(phone_data_86_5); +00022c 2008 MOVS r0,#8 +00022e 6028 STR r0,[r5,#0] +;;;657 phone_86_flag++; +000230 4880 LDR r0,|L1.1076| +000232 7800 LDRB r0,[r0,#0] ; phone_86_flag +000234 1c40 ADDS r0,r0,#1 +000236 497f LDR r1,|L1.1076| +000238 7008 STRB r0,[r1,#0] +00023a e177 B |L1.1324| + |L1.572| +;;;658 } +;;;659 else if (phone_86_flag == 8) +00023c 487d LDR r0,|L1.1076| +00023e 7800 LDRB r0,[r0,#0] ; phone_86_flag +000240 2808 CMP r0,#8 +000242 d109 BNE |L1.600| +;;;660 { +;;;661 *txbuffer = phone_data_86_6; +000244 4882 LDR r0,|L1.1104| +000246 6020 STR r0,[r4,#0] +;;;662 *txbuffer_size = sizeof(phone_data_86_6); +000248 2008 MOVS r0,#8 +00024a 6028 STR r0,[r5,#0] +;;;663 phone_86_flag++; +00024c 4879 LDR r0,|L1.1076| +00024e 7800 LDRB r0,[r0,#0] ; phone_86_flag +000250 1c40 ADDS r0,r0,#1 +000252 4978 LDR r1,|L1.1076| +000254 7008 STRB r0,[r1,#0] +000256 e169 B |L1.1324| + |L1.600| +;;;664 } +;;;665 else if (phone_86_flag == 9) +000258 4876 LDR r0,|L1.1076| +00025a 7800 LDRB r0,[r0,#0] ; phone_86_flag +00025c 2809 CMP r0,#9 +00025e d109 BNE |L1.628| +;;;666 { +;;;667 *txbuffer = phone_data_86_7; +000260 487c LDR r0,|L1.1108| +000262 6020 STR r0,[r4,#0] +;;;668 *txbuffer_size = sizeof(phone_data_86_7); +000264 2008 MOVS r0,#8 +000266 6028 STR r0,[r5,#0] +;;;669 phone_86_flag++; +000268 4872 LDR r0,|L1.1076| +00026a 7800 LDRB r0,[r0,#0] ; phone_86_flag +00026c 1c40 ADDS r0,r0,#1 +00026e 4971 LDR r1,|L1.1076| +000270 7008 STRB r0,[r1,#0] +000272 e15b B |L1.1324| + |L1.628| +;;;670 } +;;;671 else if (phone_86_flag == 10) +000274 486f LDR r0,|L1.1076| +000276 7800 LDRB r0,[r0,#0] ; phone_86_flag +000278 280a CMP r0,#0xa +00027a d109 BNE |L1.656| +;;;672 { +;;;673 *txbuffer = phone_data_86_8; +00027c 4876 LDR r0,|L1.1112| +00027e 6020 STR r0,[r4,#0] +;;;674 *txbuffer_size = sizeof(phone_data_86_8); +000280 2008 MOVS r0,#8 +000282 6028 STR r0,[r5,#0] +;;;675 phone_86_flag++; +000284 486b LDR r0,|L1.1076| +000286 7800 LDRB r0,[r0,#0] ; phone_86_flag +000288 1c40 ADDS r0,r0,#1 +00028a 496a LDR r1,|L1.1076| +00028c 7008 STRB r0,[r1,#0] +00028e e14d B |L1.1324| + |L1.656| +;;;676 } +;;;677 else if (phone_86_flag == 11) +000290 4868 LDR r0,|L1.1076| +000292 7800 LDRB r0,[r0,#0] ; phone_86_flag +000294 280b CMP r0,#0xb +000296 d109 BNE |L1.684| +;;;678 { +;;;679 *txbuffer = phone_data_86_9; +000298 4870 LDR r0,|L1.1116| +00029a 6020 STR r0,[r4,#0] +;;;680 *txbuffer_size = sizeof(phone_data_86_9); +00029c 2008 MOVS r0,#8 +00029e 6028 STR r0,[r5,#0] +;;;681 phone_86_flag++; +0002a0 4864 LDR r0,|L1.1076| +0002a2 7800 LDRB r0,[r0,#0] ; phone_86_flag +0002a4 1c40 ADDS r0,r0,#1 +0002a6 4963 LDR r1,|L1.1076| +0002a8 7008 STRB r0,[r1,#0] +0002aa e13f B |L1.1324| + |L1.684| +;;;682 } +;;;683 else if (phone_86_flag == 12) +0002ac 4861 LDR r0,|L1.1076| +0002ae 7800 LDRB r0,[r0,#0] ; phone_86_flag +0002b0 280c CMP r0,#0xc +0002b2 d109 BNE |L1.712| +;;;684 { +;;;685 *txbuffer = phone_data_86_10; +0002b4 486a LDR r0,|L1.1120| +0002b6 6020 STR r0,[r4,#0] +;;;686 *txbuffer_size = sizeof(phone_data_86_10); +0002b8 2008 MOVS r0,#8 +0002ba 6028 STR r0,[r5,#0] +;;;687 phone_86_flag++; +0002bc 485d LDR r0,|L1.1076| +0002be 7800 LDRB r0,[r0,#0] ; phone_86_flag +0002c0 1c40 ADDS r0,r0,#1 +0002c2 495c LDR r1,|L1.1076| +0002c4 7008 STRB r0,[r1,#0] +0002c6 e131 B |L1.1324| + |L1.712| +;;;688 } +;;;689 else if (phone_86_flag == 13) +0002c8 485a LDR r0,|L1.1076| +0002ca 7800 LDRB r0,[r0,#0] ; phone_86_flag +0002cc 280d CMP r0,#0xd +0002ce d109 BNE |L1.740| +;;;690 { +;;;691 *txbuffer = phone_data_86_11; +0002d0 4864 LDR r0,|L1.1124| +0002d2 6020 STR r0,[r4,#0] +;;;692 *txbuffer_size = sizeof(phone_data_86_11); +0002d4 2008 MOVS r0,#8 +0002d6 6028 STR r0,[r5,#0] +;;;693 phone_86_flag++; +0002d8 4856 LDR r0,|L1.1076| +0002da 7800 LDRB r0,[r0,#0] ; phone_86_flag +0002dc 1c40 ADDS r0,r0,#1 +0002de 4955 LDR r1,|L1.1076| +0002e0 7008 STRB r0,[r1,#0] +0002e2 e123 B |L1.1324| + |L1.740| +;;;694 } +;;;695 else if (phone_86_flag == 14) +0002e4 4853 LDR r0,|L1.1076| +0002e6 7800 LDRB r0,[r0,#0] ; phone_86_flag +0002e8 280e CMP r0,#0xe +0002ea d109 BNE |L1.768| +;;;696 { +;;;697 *txbuffer = phone_data_86_12; +0002ec 485e LDR r0,|L1.1128| +0002ee 6020 STR r0,[r4,#0] +;;;698 *txbuffer_size = sizeof(phone_data_86_12); +0002f0 2008 MOVS r0,#8 +0002f2 6028 STR r0,[r5,#0] +;;;699 phone_86_flag++; +0002f4 484f LDR r0,|L1.1076| +0002f6 7800 LDRB r0,[r0,#0] ; phone_86_flag +0002f8 1c40 ADDS r0,r0,#1 +0002fa 494e LDR r1,|L1.1076| +0002fc 7008 STRB r0,[r1,#0] +0002fe e115 B |L1.1324| + |L1.768| +;;;700 } +;;;701 else if (phone_86_flag == 15) +000300 484c LDR r0,|L1.1076| +000302 7800 LDRB r0,[r0,#0] ; phone_86_flag +000304 280f CMP r0,#0xf +000306 d109 BNE |L1.796| +;;;702 { +;;;703 *txbuffer = phone_reg_coord_back; +000308 4858 LDR r0,|L1.1132| +00030a 6020 STR r0,[r4,#0] +;;;704 *txbuffer_size = sizeof(phone_reg_coord_back); +00030c 2050 MOVS r0,#0x50 +00030e 6028 STR r0,[r5,#0] +;;;705 phone_86_flag++; +000310 4848 LDR r0,|L1.1076| +000312 7800 LDRB r0,[r0,#0] ; phone_86_flag +000314 1c40 ADDS r0,r0,#1 +000316 4947 LDR r1,|L1.1076| +000318 7008 STRB r0,[r1,#0] +00031a e107 B |L1.1324| + |L1.796| +;;;706 } +;;;707 else if (phone_86_flag == 16) +00031c 4845 LDR r0,|L1.1076| +00031e 7800 LDRB r0,[r0,#0] ; phone_86_flag +000320 2810 CMP r0,#0x10 +000322 d109 BNE |L1.824| +;;;708 { +;;;709 *txbuffer = phone_data_86_13; +000324 4852 LDR r0,|L1.1136| +000326 6020 STR r0,[r4,#0] +;;;710 *txbuffer_size = sizeof(phone_data_86_13); +000328 2008 MOVS r0,#8 +00032a 6028 STR r0,[r5,#0] +;;;711 phone_86_flag++; +00032c 4841 LDR r0,|L1.1076| +00032e 7800 LDRB r0,[r0,#0] ; phone_86_flag +000330 1c40 ADDS r0,r0,#1 +000332 4940 LDR r1,|L1.1076| +000334 7008 STRB r0,[r1,#0] +000336 e0f9 B |L1.1324| + |L1.824| +;;;712 } +;;;713 else if (phone_86_flag == 17) +000338 483e LDR r0,|L1.1076| +00033a 7800 LDRB r0,[r0,#0] ; phone_86_flag +00033c 2811 CMP r0,#0x11 +00033e d109 BNE |L1.852| +;;;714 { +;;;715 *txbuffer = phone_data_86_14; +000340 484c LDR r0,|L1.1140| +000342 6020 STR r0,[r4,#0] +;;;716 *txbuffer_size = sizeof(phone_data_86_14); +000344 2008 MOVS r0,#8 +000346 6028 STR r0,[r5,#0] +;;;717 phone_86_flag++; +000348 483a LDR r0,|L1.1076| +00034a 7800 LDRB r0,[r0,#0] ; phone_86_flag +00034c 1c40 ADDS r0,r0,#1 +00034e 4939 LDR r1,|L1.1076| +000350 7008 STRB r0,[r1,#0] +000352 e0eb B |L1.1324| + |L1.852| +;;;718 } +;;;719 else if (phone_86_flag == 18) +000354 4837 LDR r0,|L1.1076| +000356 7800 LDRB r0,[r0,#0] ; phone_86_flag +000358 2812 CMP r0,#0x12 +00035a d109 BNE |L1.880| +;;;720 { +;;;721 *txbuffer = phone_data_86_15; +00035c 4846 LDR r0,|L1.1144| +00035e 6020 STR r0,[r4,#0] +;;;722 *txbuffer_size = sizeof(phone_data_86_15); +000360 2008 MOVS r0,#8 +000362 6028 STR r0,[r5,#0] +;;;723 phone_86_flag++; +000364 4833 LDR r0,|L1.1076| +000366 7800 LDRB r0,[r0,#0] ; phone_86_flag +000368 1c40 ADDS r0,r0,#1 +00036a 4932 LDR r1,|L1.1076| +00036c 7008 STRB r0,[r1,#0] +00036e e0dd B |L1.1324| + |L1.880| +;;;724 } +;;;725 else if (phone_86_flag == 19) +000370 4830 LDR r0,|L1.1076| +000372 7800 LDRB r0,[r0,#0] ; phone_86_flag +000374 2813 CMP r0,#0x13 +000376 d109 BNE |L1.908| +;;;726 { +;;;727 *txbuffer = phone_data_86_16; +000378 4840 LDR r0,|L1.1148| +00037a 6020 STR r0,[r4,#0] +;;;728 *txbuffer_size = sizeof(phone_data_86_16); +00037c 2008 MOVS r0,#8 +00037e 6028 STR r0,[r5,#0] +;;;729 phone_86_flag++; +000380 482c LDR r0,|L1.1076| +000382 7800 LDRB r0,[r0,#0] ; phone_86_flag +000384 1c40 ADDS r0,r0,#1 +000386 492b LDR r1,|L1.1076| +000388 7008 STRB r0,[r1,#0] +00038a e0cf B |L1.1324| + |L1.908| +;;;730 } +;;;731 else if (phone_86_flag == 20) +00038c 4829 LDR r0,|L1.1076| +00038e 7800 LDRB r0,[r0,#0] ; phone_86_flag +000390 2814 CMP r0,#0x14 +000392 d109 BNE |L1.936| +;;;732 { +;;;733 *txbuffer = phone_data_86_17; +000394 483a LDR r0,|L1.1152| +000396 6020 STR r0,[r4,#0] +;;;734 *txbuffer_size = sizeof(phone_data_86_17); +000398 2008 MOVS r0,#8 +00039a 6028 STR r0,[r5,#0] +;;;735 phone_86_flag++; +00039c 4825 LDR r0,|L1.1076| +00039e 7800 LDRB r0,[r0,#0] ; phone_86_flag +0003a0 1c40 ADDS r0,r0,#1 +0003a2 4924 LDR r1,|L1.1076| +0003a4 7008 STRB r0,[r1,#0] +0003a6 e0c1 B |L1.1324| + |L1.936| +;;;736 } +;;;737 else if (phone_86_flag == 21) +0003a8 4822 LDR r0,|L1.1076| +0003aa 7800 LDRB r0,[r0,#0] ; phone_86_flag +0003ac 2815 CMP r0,#0x15 +0003ae d109 BNE |L1.964| +;;;738 { +;;;739 *txbuffer = phone_data_86_18; +0003b0 4834 LDR r0,|L1.1156| +0003b2 6020 STR r0,[r4,#0] +;;;740 *txbuffer_size = sizeof(phone_data_86_18); +0003b4 2008 MOVS r0,#8 +0003b6 6028 STR r0,[r5,#0] +;;;741 phone_86_flag++; +0003b8 481e LDR r0,|L1.1076| +0003ba 7800 LDRB r0,[r0,#0] ; phone_86_flag +0003bc 1c40 ADDS r0,r0,#1 +0003be 491d LDR r1,|L1.1076| +0003c0 7008 STRB r0,[r1,#0] +0003c2 e0b3 B |L1.1324| + |L1.964| +;;;742 } +;;;743 else if (phone_86_flag == 22) +0003c4 481b LDR r0,|L1.1076| +0003c6 7800 LDRB r0,[r0,#0] ; phone_86_flag +0003c8 2816 CMP r0,#0x16 +0003ca d109 BNE |L1.992| +;;;744 { +;;;745 *txbuffer = phone_data_86_19; +0003cc 482e LDR r0,|L1.1160| +0003ce 6020 STR r0,[r4,#0] +;;;746 *txbuffer_size = sizeof(phone_data_86_19); +0003d0 2008 MOVS r0,#8 +0003d2 6028 STR r0,[r5,#0] +;;;747 phone_86_flag++; +0003d4 4817 LDR r0,|L1.1076| +0003d6 7800 LDRB r0,[r0,#0] ; phone_86_flag +0003d8 1c40 ADDS r0,r0,#1 +0003da 4916 LDR r1,|L1.1076| +0003dc 7008 STRB r0,[r1,#0] +0003de e0a5 B |L1.1324| + |L1.992| +;;;748 } +;;;749 else if (phone_86_flag == 23) +0003e0 4814 LDR r0,|L1.1076| +0003e2 7800 LDRB r0,[r0,#0] ; phone_86_flag +0003e4 2817 CMP r0,#0x17 +0003e6 d153 BNE |L1.1168| +;;;750 { +;;;751 *txbuffer = phone_data_86_20; +0003e8 4828 LDR r0,|L1.1164| +0003ea 6020 STR r0,[r4,#0] +;;;752 *txbuffer_size = sizeof(phone_data_86_20); +0003ec 2008 MOVS r0,#8 +0003ee 6028 STR r0,[r5,#0] +;;;753 phone_86_flag++; +0003f0 4810 LDR r0,|L1.1076| +0003f2 7800 LDRB r0,[r0,#0] ; phone_86_flag +0003f4 1c40 ADDS r0,r0,#1 +0003f6 490f LDR r1,|L1.1076| +0003f8 7008 STRB r0,[r1,#0] +0003fa e097 B |L1.1324| + |L1.1020| + DCD phone_A6_flag + |L1.1024| +000400 25640a00 DCB "%d\n",0 + |L1.1028| + DCD phone_data_A6_0 + |L1.1032| + DCD phone_data_A6_1 + |L1.1036| + DCD phone_data_A6_2 + |L1.1040| + DCD phone_data_A6_3 + |L1.1044| + DCD phone_data_A6_4 + |L1.1048| + DCD phone_data_A6_5 + |L1.1052| + DCD phone_FA_flag + |L1.1056| + DCD phone_data_FA_0 + |L1.1060| + DCD phone_data_FA_1 + |L1.1064| + DCD phone_data_FA_2 + |L1.1068| + DCD phone_data_43 + |L1.1072| + DCD touch_recv_flag + |L1.1076| + DCD phone_86_flag + |L1.1080| + DCD phone_data_86_0 + |L1.1084| + DCD phone_data_86_1 + |L1.1088| + DCD phone_data_86_2 + |L1.1092| + DCD phone_data_86_3 + |L1.1096| + DCD phone_data_86_4 + |L1.1100| + DCD phone_data_86_5 + |L1.1104| + DCD phone_data_86_6 + |L1.1108| + DCD phone_data_86_7 + |L1.1112| + DCD phone_data_86_8 + |L1.1116| + DCD phone_data_86_9 + |L1.1120| + DCD phone_data_86_10 + |L1.1124| + DCD phone_data_86_11 + |L1.1128| + DCD phone_data_86_12 + |L1.1132| + DCD phone_reg_coord_back + |L1.1136| + DCD phone_data_86_13 + |L1.1140| + DCD phone_data_86_14 + |L1.1144| + DCD phone_data_86_15 + |L1.1148| + DCD phone_data_86_16 + |L1.1152| + DCD phone_data_86_17 + |L1.1156| + DCD phone_data_86_18 + |L1.1160| + DCD phone_data_86_19 + |L1.1164| + DCD phone_data_86_20 + |L1.1168| +;;;754 } +;;;755 else if (phone_86_flag == 24) +000490 4828 LDR r0,|L1.1332| +000492 7800 LDRB r0,[r0,#0] ; phone_86_flag +000494 2818 CMP r0,#0x18 +000496 d109 BNE |L1.1196| +;;;756 { +;;;757 *txbuffer = phone_data_86_21; +000498 4827 LDR r0,|L1.1336| +00049a 6020 STR r0,[r4,#0] +;;;758 *txbuffer_size = sizeof(phone_data_86_21); +00049c 2008 MOVS r0,#8 +00049e 6028 STR r0,[r5,#0] +;;;759 phone_86_flag++; +0004a0 4824 LDR r0,|L1.1332| +0004a2 7800 LDRB r0,[r0,#0] ; phone_86_flag +0004a4 1c40 ADDS r0,r0,#1 +0004a6 4923 LDR r1,|L1.1332| +0004a8 7008 STRB r0,[r1,#0] +0004aa e03f B |L1.1324| + |L1.1196| +;;;760 } +;;;761 else +;;;762 { +;;;763 // printf("A\n"); +;;;764 printf("%d\n",Flag_touch_count); +0004ac 4823 LDR r0,|L1.1340| +0004ae 7801 LDRB r1,[r0,#0] ; Flag_touch_count +0004b0 4823 LDR r0,|L1.1344| +0004b2 f7fffffe BL __2printf +;;;765 if(Flag_touch_count > 1) +0004b6 4821 LDR r0,|L1.1340| +0004b8 7800 LDRB r0,[r0,#0] ; Flag_touch_count +0004ba 2801 CMP r0,#1 +0004bc dd22 BLE |L1.1284| +;;;766 { +;;;767 // printf("%d\n",Flag_touch_count); +;;;768 touch_send_flag++; +0004be 4821 LDR r0,|L1.1348| +0004c0 7800 LDRB r0,[r0,#0] ; touch_send_flag +0004c2 1c40 ADDS r0,r0,#1 +0004c4 491f LDR r1,|L1.1348| +0004c6 7008 STRB r0,[r1,#0] +;;;769 if(touch_send_flag == 1) +0004c8 4608 MOV r0,r1 +0004ca 7800 LDRB r0,[r0,#0] ; touch_send_flag +0004cc 2801 CMP r0,#1 +0004ce d104 BNE |L1.1242| +;;;770 { +;;;771 *txbuffer = phone_reg_coord_back; +0004d0 481d LDR r0,|L1.1352| +0004d2 6020 STR r0,[r4,#0] +;;;772 *txbuffer_size = 8; +0004d4 2008 MOVS r0,#8 +0004d6 6028 STR r0,[r5,#0] +0004d8 e028 B |L1.1324| + |L1.1242| +;;;773 // printf("A"); +;;;774 } +;;;775 else +;;;776 { +;;;777 touch_send_flag = 0; +0004da 2000 MOVS r0,#0 +0004dc 4919 LDR r1,|L1.1348| +0004de 7008 STRB r0,[r1,#0] +;;;778 touch_recv_flag = 0; +0004e0 491a LDR r1,|L1.1356| +0004e2 7008 STRB r0,[r1,#0] +;;;779 Flag_touch_count = 0; +0004e4 4915 LDR r1,|L1.1340| +0004e6 7008 STRB r0,[r1,#0] +;;;780 +;;;781 *txbuffer = &phone_reg_coord_back[8]; +0004e8 4817 LDR r0,|L1.1352| +0004ea 3008 ADDS r0,r0,#8 +0004ec 6020 STR r0,[r4,#0] +;;;782 *txbuffer_size = 8*(Flag_touch_count-1); +0004ee 4608 MOV r0,r1 +0004f0 7800 LDRB r0,[r0,#0] ; Flag_touch_count +0004f2 1e40 SUBS r0,r0,#1 +0004f4 00c0 LSLS r0,r0,#3 +0004f6 6028 STR r0,[r5,#0] +;;;783 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); +0004f8 2101 MOVS r1,#1 +0004fa 4815 LDR r0,|L1.1360| +0004fc 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +0004fe f7fffffe BL hal_gpio_set_output_data +000502 e013 B |L1.1324| + |L1.1284| +;;;784 // printf("B\n"); +;;;785 } +;;;786 } +;;;787 else +;;;788 { +;;;789 if(Flag_touch_count == 1) // ָ Flag_touch_count = 0 +000504 480d LDR r0,|L1.1340| +000506 7800 LDRB r0,[r0,#0] ; Flag_touch_count +000508 2801 CMP r0,#1 +00050a d103 BNE |L1.1300| +;;;790 { +;;;791 *txbuffer = phone_reg_coord_back; +00050c 480e LDR r0,|L1.1352| +00050e 6020 STR r0,[r4,#0] +;;;792 *txbuffer_size = 8; +000510 2008 MOVS r0,#8 +000512 6028 STR r0,[r5,#0] + |L1.1300| +;;;793 } +;;;794 touch_send_flag = 0; +000514 2000 MOVS r0,#0 +000516 490b LDR r1,|L1.1348| +000518 7008 STRB r0,[r1,#0] +;;;795 touch_recv_flag = 0; +00051a 490c LDR r1,|L1.1356| +00051c 7008 STRB r0,[r1,#0] +;;;796 Flag_touch_count = 0; +00051e 4907 LDR r1,|L1.1340| +000520 7008 STRB r0,[r1,#0] +;;;797 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); +000522 2101 MOVS r1,#1 +000524 480a LDR r0,|L1.1360| +000526 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +000528 f7fffffe BL hal_gpio_set_output_data + |L1.1324| +;;;798 // printf("C\n"); +;;;799 } +;;;800 } +;;;801 } +;;;802 break; +00052c e000 B |L1.1328| + |L1.1326| +;;;803 default: +;;;804 +;;;805 break; +00052e bf00 NOP + |L1.1328| +000530 bf00 NOP ;590 + |L1.1330| +;;;806 +;;;807 } +;;;808 } +;;;809 +;;;810 //////////////////////////////////////////////////////////////////////////////////////////// +;;;811 +;;;812 +;;;813 #endif +;;;814 +;;;815 } +000532 bdf8 POP {r3-r7,pc} +;;;816 + ENDP + + |L1.1332| + DCD phone_86_flag + |L1.1336| + DCD phone_data_86_21 + |L1.1340| + DCD Flag_touch_count + |L1.1344| + DCD ||i.app_tp_phone_analysis_data||+0x400 + |L1.1348| + DCD touch_send_flag + |L1.1352| + DCD phone_reg_coord_back + |L1.1356| + DCD touch_recv_flag + |L1.1360| + DCD g_phone_output_int_pad + + AREA ||i.app_tp_phone_analysis_data_custom||, CODE, READONLY, ALIGN=2 + + REQUIRE _printf_percent + REQUIRE _printf_d + REQUIRE _printf_int_dec + app_tp_phone_analysis_data_custom PROC +;;;816 +;;;817 void app_tp_phone_analysis_data_custom(uint8_t *rxbuffer, size_t rxbuffer_size, uint8_t *phonetxbuffer, size_t *txbuffer_size) +000000 b5f8 PUSH {r3-r7,lr} +;;;818 +;;;819 { +000002 4606 MOV r6,r0 +000004 460f MOV r7,r1 +000006 461c MOV r4,r3 +;;;820 #ifdef USE_FOR_SUMSUNG_S10 +;;;821 static uint8_t phone_A6_flag = 0; +;;;822 static uint8_t phone_FA_flag = 0; +;;;823 static uint16_t phone_86_flag = 0; +;;;824 static uint8_t phone_poweron_flag = 0; +;;;825 +;;;826 uint8_t *txbuffer; +;;;827 +;;;828 if( (rxbuffer_size ==3) &&(rxbuffer[0] ==0xA6)) +000008 2f03 CMP r7,#3 +00000a d14d BNE |L2.168| +00000c 7830 LDRB r0,[r6,#0] +00000e 28a6 CMP r0,#0xa6 +000010 d14a BNE |L2.168| +;;;829 { +;;;830 printf("A6 %d\n",phone_A6_flag); +000012 48e8 LDR r0,|L2.948| +000014 7801 LDRB r1,[r0,#0] ; phone_A6_flag +000016 a0e8 ADR r0,|L2.952| +000018 f7fffffe BL __2printf +;;;831 if (phone_A6_flag == 0) +00001c 48e5 LDR r0,|L2.948| +00001e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000020 2800 CMP r0,#0 +000022 d103 BNE |L2.44| +;;;832 { +;;;833 txbuffer = (uint8_t*)phone_data_A6_0; +000024 4de6 LDR r5,|L2.960| +;;;834 *txbuffer_size = sizeof(phone_data_A6_0); +000026 20d0 MOVS r0,#0xd0 +000028 6020 STR r0,[r4,#0] +00002a e032 B |L2.146| + |L2.44| +;;;835 } +;;;836 else if (phone_A6_flag == 1) +00002c 48e1 LDR r0,|L2.948| +00002e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000030 2801 CMP r0,#1 +000032 d103 BNE |L2.60| +;;;837 { +;;;838 txbuffer = (uint8_t*)phone_data_A6_1; +000034 4de3 LDR r5,|L2.964| +;;;839 *txbuffer_size = sizeof(phone_data_A6_1); +000036 2004 MOVS r0,#4 +000038 6020 STR r0,[r4,#0] +00003a e02a B |L2.146| + |L2.60| +;;;840 } +;;;841 else if (phone_A6_flag == 2) +00003c 48dd LDR r0,|L2.948| +00003e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000040 2802 CMP r0,#2 +000042 d103 BNE |L2.76| +;;;842 { +;;;843 txbuffer = (uint8_t*)phone_data_A6_4; +000044 4de0 LDR r5,|L2.968| +;;;844 *txbuffer_size = sizeof(phone_data_A6_4); +000046 201c MOVS r0,#0x1c +000048 6020 STR r0,[r4,#0] +00004a e022 B |L2.146| + |L2.76| +;;;845 } +;;;846 else if (phone_A6_flag == 3) +00004c 48d9 LDR r0,|L2.948| +00004e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000050 2803 CMP r0,#3 +000052 d103 BNE |L2.92| +;;;847 { +;;;848 txbuffer = (uint8_t*)phone_data_A6_3; +000054 4ddd LDR r5,|L2.972| +;;;849 *txbuffer_size = sizeof(phone_data_A6_3); +000056 2004 MOVS r0,#4 +000058 6020 STR r0,[r4,#0] +00005a e01a B |L2.146| + |L2.92| +;;;850 } +;;;851 else if (phone_A6_flag == 4) +00005c 48d5 LDR r0,|L2.948| +00005e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000060 2804 CMP r0,#4 +000062 d103 BNE |L2.108| +;;;852 { +;;;853 txbuffer = (uint8_t*)phone_data_A6_4; +000064 4dd8 LDR r5,|L2.968| +;;;854 *txbuffer_size = sizeof(phone_data_A6_4); +000066 201c MOVS r0,#0x1c +000068 6020 STR r0,[r4,#0] +00006a e012 B |L2.146| + |L2.108| +;;;855 } +;;;856 else if (phone_A6_flag == 5) +00006c 48d1 LDR r0,|L2.948| +00006e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000070 2805 CMP r0,#5 +000072 d103 BNE |L2.124| +;;;857 { +;;;858 txbuffer = (uint8_t*)phone_data_A6_5; +000074 4dd6 LDR r5,|L2.976| +;;;859 *txbuffer_size = sizeof(phone_data_A6_5); +000076 2004 MOVS r0,#4 +000078 6020 STR r0,[r4,#0] +00007a e00a B |L2.146| + |L2.124| +;;;860 } +;;;861 else if (phone_A6_flag == 6) +00007c 48cd LDR r0,|L2.948| +00007e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000080 2806 CMP r0,#6 +000082 d103 BNE |L2.140| +;;;862 { +;;;863 txbuffer = (uint8_t*)phone_data_A6_4; +000084 4dd0 LDR r5,|L2.968| +;;;864 *txbuffer_size = sizeof(phone_data_A6_4); +000086 201c MOVS r0,#0x1c +000088 6020 STR r0,[r4,#0] +00008a e002 B |L2.146| + |L2.140| +;;;865 } +;;;866 else +;;;867 { +;;;868 txbuffer = (uint8_t*)phone_data_A6_6; +00008c 4dd1 LDR r5,|L2.980| +;;;869 *txbuffer_size = sizeof(phone_data_A6_6); +00008e 20d0 MOVS r0,#0xd0 +000090 6020 STR r0,[r4,#0] + |L2.146| +;;;870 } +;;;871 phone_A6_flag++; +000092 48c8 LDR r0,|L2.948| +000094 7800 LDRB r0,[r0,#0] ; phone_A6_flag +000096 1c40 ADDS r0,r0,#1 +000098 49c6 LDR r1,|L2.948| +00009a 7008 STRB r0,[r1,#0] +;;;872 if (phone_A6_flag > 7) +00009c 4608 MOV r0,r1 +00009e 7800 LDRB r0,[r0,#0] ; phone_A6_flag +0000a0 2807 CMP r0,#7 +0000a2 dd01 BLE |L2.168| +;;;873 phone_A6_flag = 0; +0000a4 2000 MOVS r0,#0 +0000a6 7008 STRB r0,[r1,#0] + |L2.168| +;;;874 } +;;;875 if( (rxbuffer_size == 5) &&(rxbuffer[0] ==0xFA)) +0000a8 2f05 CMP r7,#5 +0000aa d127 BNE |L2.252| +0000ac 7830 LDRB r0,[r6,#0] +0000ae 28fa CMP r0,#0xfa +0000b0 d124 BNE |L2.252| +;;;876 { +;;;877 if (phone_FA_flag == 0) +0000b2 48c9 LDR r0,|L2.984| +0000b4 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000b6 2800 CMP r0,#0 +0000b8 d103 BNE |L2.194| +;;;878 { +;;;879 txbuffer = (uint8_t*)phone_data_FA_0; +0000ba 4dc8 LDR r5,|L2.988| +;;;880 *txbuffer_size = sizeof(phone_data_FA_0); +0000bc 2001 MOVS r0,#1 +0000be 6020 STR r0,[r4,#0] +0000c0 e011 B |L2.230| + |L2.194| +;;;881 } +;;;882 else if (phone_FA_flag == 1) +0000c2 48c5 LDR r0,|L2.984| +0000c4 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000c6 2801 CMP r0,#1 +0000c8 d103 BNE |L2.210| +;;;883 { +;;;884 txbuffer = (uint8_t*)phone_data_FA_1; +0000ca 4dc5 LDR r5,|L2.992| +;;;885 *txbuffer_size = sizeof(phone_data_FA_1); +0000cc 2002 MOVS r0,#2 +0000ce 6020 STR r0,[r4,#0] +0000d0 e009 B |L2.230| + |L2.210| +;;;886 } +;;;887 else if (phone_FA_flag == 2) +0000d2 48c1 LDR r0,|L2.984| +0000d4 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000d6 2802 CMP r0,#2 +0000d8 d102 BNE |L2.224| +;;;888 { +;;;889 txbuffer = (uint8_t*)phone_data_FA_2; +0000da 4dc2 LDR r5,|L2.996| +;;;890 *txbuffer_size = sizeof(phone_data_FA_2); +0000dc 6020 STR r0,[r4,#0] +0000de e002 B |L2.230| + |L2.224| +;;;891 } +;;;892 else +;;;893 { +;;;894 txbuffer = (uint8_t*)phone_data_FA_2; +0000e0 4dc0 LDR r5,|L2.996| +;;;895 *txbuffer_size = sizeof(phone_data_FA_2); +0000e2 2002 MOVS r0,#2 +0000e4 6020 STR r0,[r4,#0] + |L2.230| +;;;896 } +;;;897 +;;;898 phone_FA_flag++; +0000e6 48bc LDR r0,|L2.984| +0000e8 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000ea 1c40 ADDS r0,r0,#1 +0000ec 49ba LDR r1,|L2.984| +0000ee 7008 STRB r0,[r1,#0] +;;;899 if (phone_FA_flag > 6) +0000f0 4608 MOV r0,r1 +0000f2 7800 LDRB r0,[r0,#0] ; phone_FA_flag +0000f4 2806 CMP r0,#6 +0000f6 dd01 BLE |L2.252| +;;;900 phone_FA_flag = 0; +0000f8 2000 MOVS r0,#0 +0000fa 7008 STRB r0,[r1,#0] + |L2.252| +;;;901 } +;;;902 +;;;903 if(rxbuffer_size ==1) +0000fc 2f01 CMP r7,#1 +0000fe d174 BNE |L2.490| +;;;904 { +;;;905 switch(rxbuffer[0]) +000100 7830 LDRB r0,[r6,#0] +000102 2886 CMP r0,#0x86 +000104 d01a BEQ |L2.316| +000106 dc04 BGT |L2.274| +000108 2843 CMP r0,#0x43 +00010a d007 BEQ |L2.284| +00010c 2883 CMP r0,#0x83 + |L2.270| +00010e d16d BNE |L2.492| +000110 e00c B |L2.300| + |L2.274| +000112 2887 CMP r0,#0x87 +000114 d00e BEQ |L2.308| +000116 28c3 CMP r0,#0xc3 +000118 d1f9 BNE |L2.270| +00011a e003 B |L2.292| + |L2.284| +;;;906 { +;;;907 case 0x43: +;;;908 txbuffer = (uint8_t*)phone_data_43; +00011c 4db2 LDR r5,|L2.1000| +;;;909 *txbuffer_size = sizeof(phone_data_43); +00011e 2008 MOVS r0,#8 +000120 6020 STR r0,[r4,#0] +;;;910 break; +000122 e143 B |L2.940| + |L2.292| +;;;911 case 0xC3: +;;;912 txbuffer = (uint8_t*)phone_data_43; +000124 4db0 LDR r5,|L2.1000| +;;;913 *txbuffer_size = sizeof(phone_data_43); +000126 2008 MOVS r0,#8 +000128 6020 STR r0,[r4,#0] +;;;914 break; +00012a e13f B |L2.940| + |L2.300| +;;;915 case 0x83: +;;;916 txbuffer = (uint8_t*)phone_data_43; +00012c 4dae LDR r5,|L2.1000| +;;;917 *txbuffer_size = sizeof(phone_data_43); +00012e 2008 MOVS r0,#8 +000130 6020 STR r0,[r4,#0] +;;;918 break; +000132 e13b B |L2.940| + |L2.308| +;;;919 case 0x87: +;;;920 txbuffer = (uint8_t*)phone_data_43; +000134 4dac LDR r5,|L2.1000| +;;;921 *txbuffer_size = sizeof(phone_data_43); +000136 2008 MOVS r0,#8 +000138 6020 STR r0,[r4,#0] +;;;922 break; +00013a e137 B |L2.940| + |L2.316| +;;;923 case 0x86: +;;;924 +;;;925 if(phone_poweron_flag == 0) // ֵ +00013c 48ab LDR r0,|L2.1004| +00013e 7800 LDRB r0,[r0,#0] ; phone_poweron_flag +000140 2800 CMP r0,#0 +000142 d173 BNE |L2.556| +;;;926 { +;;;927 printf("86 %d\n",phone_86_flag); +000144 48aa LDR r0,|L2.1008| +000146 8801 LDRH r1,[r0,#0] ; phone_86_flag +000148 a0aa ADR r0,|L2.1012| +00014a f7fffffe BL __2printf +;;;928 if(phone_86_flag < 3200) +00014e 48a8 LDR r0,|L2.1008| +000150 8800 LDRH r0,[r0,#0] ; phone_86_flag +000152 2119 MOVS r1,#0x19 +000154 01c9 LSLS r1,r1,#7 +000156 4288 CMP r0,r1 +000158 da05 BGE |L2.358| +;;;929 { +;;;930 phone_86_flag++; +00015a 48a5 LDR r0,|L2.1008| +00015c 8800 LDRH r0,[r0,#0] ; phone_86_flag +00015e 1c40 ADDS r0,r0,#1 +000160 49a3 LDR r1,|L2.1008| +000162 8008 STRH r0,[r1,#0] +000164 e002 B |L2.364| + |L2.358| +;;;931 } +;;;932 else +;;;933 { +;;;934 phone_poweron_flag = 1; +000166 2001 MOVS r0,#1 +000168 49a0 LDR r1,|L2.1004| +00016a 7008 STRB r0,[r1,#0] + |L2.364| +;;;935 } +;;;936 +;;;937 if (phone_86_flag == 0) +00016c 48a0 LDR r0,|L2.1008| +00016e 8800 LDRH r0,[r0,#0] ; phone_86_flag +000170 2800 CMP r0,#0 +000172 d103 BNE |L2.380| +;;;938 { +;;;939 txbuffer = (uint8_t*)phone_data_86_0; +000174 4da1 LDR r5,|L2.1020| +;;;940 *txbuffer_size = sizeof(phone_data_86_0); +000176 2008 MOVS r0,#8 +000178 6020 STR r0,[r4,#0] + |L2.378| +00017a e115 B |L2.936| + |L2.380| +;;;941 } +;;;942 else if (phone_86_flag == 1) +00017c 489c LDR r0,|L2.1008| +00017e 8800 LDRH r0,[r0,#0] ; phone_86_flag +000180 2801 CMP r0,#1 +000182 d103 BNE |L2.396| +;;;943 { +;;;944 txbuffer = (uint8_t*)phone_data_86_0; +000184 4d9d LDR r5,|L2.1020| +;;;945 *txbuffer_size = sizeof(phone_data_86_0); +000186 2008 MOVS r0,#8 +000188 6020 STR r0,[r4,#0] +00018a e10d B |L2.936| + |L2.396| +;;;946 } +;;;947 else if (phone_86_flag == 2) +00018c 4898 LDR r0,|L2.1008| +00018e 8800 LDRH r0,[r0,#0] ; phone_86_flag +000190 2802 CMP r0,#2 +000192 d103 BNE |L2.412| +;;;948 { +;;;949 txbuffer = (uint8_t*)phone_data_86_1; +000194 4d9a LDR r5,|L2.1024| +;;;950 *txbuffer_size = sizeof(phone_data_86_1); +000196 2008 MOVS r0,#8 +000198 6020 STR r0,[r4,#0] +00019a e105 B |L2.936| + |L2.412| +;;;951 } +;;;952 else if (phone_86_flag == 3) +00019c 4894 LDR r0,|L2.1008| +00019e 8800 LDRH r0,[r0,#0] ; phone_86_flag +0001a0 2803 CMP r0,#3 +0001a2 d103 BNE |L2.428| +;;;953 { +;;;954 txbuffer = (uint8_t*)phone_data_86_1; +0001a4 4d96 LDR r5,|L2.1024| +;;;955 *txbuffer_size = sizeof(phone_data_86_1); +0001a6 2008 MOVS r0,#8 +0001a8 6020 STR r0,[r4,#0] +0001aa e0fd B |L2.936| + |L2.428| +;;;956 } +;;;957 else if (phone_86_flag == 4) +0001ac 4890 LDR r0,|L2.1008| +0001ae 8800 LDRH r0,[r0,#0] ; phone_86_flag +0001b0 2804 CMP r0,#4 +0001b2 d103 BNE |L2.444| +;;;958 { +;;;959 txbuffer = (uint8_t*)phone_data_86_2; +0001b4 4d93 LDR r5,|L2.1028| +;;;960 *txbuffer_size = sizeof(phone_data_86_2); +0001b6 2008 MOVS r0,#8 +0001b8 6020 STR r0,[r4,#0] +0001ba e0f5 B |L2.936| + |L2.444| +;;;961 } +;;;962 else if (phone_86_flag == 5) +0001bc 488c LDR r0,|L2.1008| +0001be 8800 LDRH r0,[r0,#0] ; phone_86_flag +0001c0 2805 CMP r0,#5 +0001c2 d10a BNE |L2.474| +;;;963 { +;;;964 txbuffer = (uint8_t*)phone_data_86_3; +0001c4 4d90 LDR r5,|L2.1032| +;;;965 *txbuffer_size = sizeof(phone_data_86_3); +0001c6 2008 MOVS r0,#8 +0001c8 6020 STR r0,[r4,#0] +;;;966 if(phone_A6_flag == 0) // ʱA6ָȡʱ޴ָȡ +0001ca 487a LDR r0,|L2.948| +0001cc 7800 LDRB r0,[r0,#0] ; phone_A6_flag +0001ce 2800 CMP r0,#0 +0001d0 d1d3 BNE |L2.378| +;;;967 { +;;;968 phone_poweron_flag = 1; +0001d2 2001 MOVS r0,#1 +0001d4 4985 LDR r1,|L2.1004| +0001d6 7008 STRB r0,[r1,#0] +0001d8 e0e6 B |L2.936| + |L2.474| +;;;969 } +;;;970 } +;;;971 else if (phone_86_flag == 6) +0001da 4885 LDR r0,|L2.1008| +0001dc 8800 LDRH r0,[r0,#0] ; phone_86_flag +0001de 2806 CMP r0,#6 +0001e0 d105 BNE |L2.494| +;;;972 { +;;;973 txbuffer = (uint8_t*)phone_data_86_4; +0001e2 4d8a LDR r5,|L2.1036| +;;;974 *txbuffer_size = sizeof(phone_data_86_4); +0001e4 2008 MOVS r0,#8 +0001e6 6020 STR r0,[r4,#0] +0001e8 e0de B |L2.936| + |L2.490| +0001ea e0e0 B |L2.942| + |L2.492| +0001ec e0dd B |L2.938| + |L2.494| +;;;975 } +;;;976 else if (phone_86_flag == 7) +0001ee 4880 LDR r0,|L2.1008| +0001f0 8800 LDRH r0,[r0,#0] ; phone_86_flag +0001f2 2807 CMP r0,#7 +0001f4 d103 BNE |L2.510| +;;;977 { +;;;978 txbuffer = (uint8_t*)phone_data_86_5; +0001f6 4d86 LDR r5,|L2.1040| +;;;979 *txbuffer_size = sizeof(phone_data_86_5); +0001f8 2008 MOVS r0,#8 +0001fa 6020 STR r0,[r4,#0] +0001fc e0d4 B |L2.936| + |L2.510| +;;;980 } +;;;981 else if (phone_86_flag == 8) +0001fe 487c LDR r0,|L2.1008| +000200 8800 LDRH r0,[r0,#0] ; phone_86_flag +000202 2808 CMP r0,#8 +000204 d102 BNE |L2.524| +;;;982 { +;;;983 txbuffer = (uint8_t*)phone_data_86_6; +000206 4d83 LDR r5,|L2.1044| +;;;984 *txbuffer_size = sizeof(phone_data_86_6); +000208 6020 STR r0,[r4,#0] +00020a e0cd B |L2.936| + |L2.524| +;;;985 } +;;;986 else if (phone_86_flag == 9) +00020c 4878 LDR r0,|L2.1008| +00020e 8800 LDRH r0,[r0,#0] ; phone_86_flag +000210 2809 CMP r0,#9 +000212 d103 BNE |L2.540| +;;;987 { +;;;988 txbuffer = (uint8_t*)phone_data_86_7; +000214 4d80 LDR r5,|L2.1048| +;;;989 *txbuffer_size = sizeof(phone_data_86_7); +000216 2008 MOVS r0,#8 +000218 6020 STR r0,[r4,#0] +00021a e0c5 B |L2.936| + |L2.540| +;;;990 } +;;;991 else if (phone_86_flag == 10) +00021c 4874 LDR r0,|L2.1008| +00021e 8800 LDRH r0,[r0,#0] ; phone_86_flag +000220 280a CMP r0,#0xa +000222 d104 BNE |L2.558| +;;;992 { +;;;993 txbuffer = (uint8_t*)phone_data_86_8; +000224 4d7d LDR r5,|L2.1052| +;;;994 *txbuffer_size = sizeof(phone_data_86_8); +000226 2008 MOVS r0,#8 +000228 6020 STR r0,[r4,#0] +00022a e0bd B |L2.936| + |L2.556| +00022c e086 B |L2.828| + |L2.558| +;;;995 } +;;;996 else if (phone_86_flag == 11) +00022e 4870 LDR r0,|L2.1008| +000230 8800 LDRH r0,[r0,#0] ; phone_86_flag +000232 280b CMP r0,#0xb +000234 d103 BNE |L2.574| +;;;997 { +;;;998 txbuffer = (uint8_t*)phone_data_86_9; +000236 4d7a LDR r5,|L2.1056| +;;;999 *txbuffer_size = sizeof(phone_data_86_9); +000238 2008 MOVS r0,#8 +00023a 6020 STR r0,[r4,#0] +00023c e0b4 B |L2.936| + |L2.574| +;;;1000 } +;;;1001 else if (phone_86_flag == 12) +00023e 486c LDR r0,|L2.1008| +000240 8800 LDRH r0,[r0,#0] ; phone_86_flag +000242 280c CMP r0,#0xc +000244 d103 BNE |L2.590| +;;;1002 { +;;;1003 txbuffer = (uint8_t*)phone_data_86_10; +000246 4d77 LDR r5,|L2.1060| +;;;1004 *txbuffer_size = sizeof(phone_data_86_10); +000248 2008 MOVS r0,#8 +00024a 6020 STR r0,[r4,#0] +00024c e0ac B |L2.936| + |L2.590| +;;;1005 } +;;;1006 else if (phone_86_flag == 13) +00024e 4868 LDR r0,|L2.1008| +000250 8800 LDRH r0,[r0,#0] ; phone_86_flag +000252 280d CMP r0,#0xd +000254 d103 BNE |L2.606| +;;;1007 { +;;;1008 txbuffer = (uint8_t*)phone_data_86_11; +000256 4d74 LDR r5,|L2.1064| +;;;1009 *txbuffer_size = sizeof(phone_data_86_11); +000258 2008 MOVS r0,#8 +00025a 6020 STR r0,[r4,#0] +00025c e0a4 B |L2.936| + |L2.606| +;;;1010 } +;;;1011 else if (phone_86_flag == 14) +00025e 4864 LDR r0,|L2.1008| +000260 8800 LDRH r0,[r0,#0] ; phone_86_flag +000262 280e CMP r0,#0xe +000264 d103 BNE |L2.622| +;;;1012 { +;;;1013 txbuffer = (uint8_t*)phone_data_86_12; +000266 4d71 LDR r5,|L2.1068| +;;;1014 *txbuffer_size = sizeof(phone_data_86_12); +000268 2008 MOVS r0,#8 +00026a 6020 STR r0,[r4,#0] +00026c e09c B |L2.936| + |L2.622| +;;;1015 } +;;;1016 else if (phone_86_flag == 15) +00026e 4860 LDR r0,|L2.1008| +000270 8800 LDRH r0,[r0,#0] ; phone_86_flag +000272 280f CMP r0,#0xf +000274 d103 BNE |L2.638| +;;;1017 { +;;;1018 txbuffer = (uint8_t*)phone_reg_coord_back; +000276 4d6e LDR r5,|L2.1072| +;;;1019 *txbuffer_size = sizeof(phone_reg_coord_back); +000278 2050 MOVS r0,#0x50 +00027a 6020 STR r0,[r4,#0] +00027c e094 B |L2.936| + |L2.638| +;;;1020 } +;;;1021 else if (phone_86_flag == 16) +00027e 485c LDR r0,|L2.1008| +000280 8800 LDRH r0,[r0,#0] ; phone_86_flag +000282 2810 CMP r0,#0x10 +000284 d103 BNE |L2.654| +;;;1022 { +;;;1023 txbuffer = (uint8_t*)phone_data_86_13; +000286 4d6b LDR r5,|L2.1076| +;;;1024 *txbuffer_size = sizeof(phone_data_86_13); +000288 2008 MOVS r0,#8 +00028a 6020 STR r0,[r4,#0] +00028c e08c B |L2.936| + |L2.654| +;;;1025 } +;;;1026 else if (phone_86_flag == 17) +00028e 4858 LDR r0,|L2.1008| +000290 8800 LDRH r0,[r0,#0] ; phone_86_flag +000292 2811 CMP r0,#0x11 +000294 d103 BNE |L2.670| +;;;1027 { +;;;1028 txbuffer = (uint8_t*)phone_data_86_14; +000296 4d68 LDR r5,|L2.1080| +;;;1029 *txbuffer_size = sizeof(phone_data_86_14); +000298 2008 MOVS r0,#8 +00029a 6020 STR r0,[r4,#0] +00029c e084 B |L2.936| + |L2.670| +;;;1030 } +;;;1031 else if (phone_86_flag == 18) +00029e 4854 LDR r0,|L2.1008| +0002a0 8800 LDRH r0,[r0,#0] ; phone_86_flag +0002a2 2812 CMP r0,#0x12 +0002a4 d103 BNE |L2.686| +;;;1032 { +;;;1033 txbuffer = (uint8_t*)phone_data_86_15; +0002a6 4d65 LDR r5,|L2.1084| +;;;1034 *txbuffer_size = sizeof(phone_data_86_15); +0002a8 2008 MOVS r0,#8 +0002aa 6020 STR r0,[r4,#0] +0002ac e07c B |L2.936| + |L2.686| +;;;1035 } +;;;1036 else if (phone_86_flag == 19) +0002ae 4850 LDR r0,|L2.1008| +0002b0 8800 LDRH r0,[r0,#0] ; phone_86_flag +0002b2 2813 CMP r0,#0x13 +0002b4 d103 BNE |L2.702| +;;;1037 { +;;;1038 txbuffer = (uint8_t*)phone_data_86_16; +0002b6 4d62 LDR r5,|L2.1088| +;;;1039 *txbuffer_size = sizeof(phone_data_86_16); +0002b8 2008 MOVS r0,#8 +0002ba 6020 STR r0,[r4,#0] +0002bc e074 B |L2.936| + |L2.702| +;;;1040 } +;;;1041 else if (phone_86_flag == 20) +0002be 484c LDR r0,|L2.1008| +0002c0 8800 LDRH r0,[r0,#0] ; phone_86_flag +0002c2 2814 CMP r0,#0x14 +0002c4 d103 BNE |L2.718| +;;;1042 { +;;;1043 txbuffer = (uint8_t*)phone_data_86_17; +0002c6 4d5f LDR r5,|L2.1092| +;;;1044 *txbuffer_size = sizeof(phone_data_86_17); +0002c8 2008 MOVS r0,#8 +0002ca 6020 STR r0,[r4,#0] +0002cc e06c B |L2.936| + |L2.718| +;;;1045 } +;;;1046 else if (phone_86_flag == 21) +0002ce 4848 LDR r0,|L2.1008| +0002d0 8800 LDRH r0,[r0,#0] ; phone_86_flag +0002d2 2815 CMP r0,#0x15 +0002d4 d103 BNE |L2.734| +;;;1047 { +;;;1048 txbuffer = (uint8_t*)phone_data_86_18; +0002d6 4d5c LDR r5,|L2.1096| +;;;1049 *txbuffer_size = sizeof(phone_data_86_18); +0002d8 2008 MOVS r0,#8 +0002da 6020 STR r0,[r4,#0] +0002dc e064 B |L2.936| + |L2.734| +;;;1050 } +;;;1051 else if (phone_86_flag == 22) +0002de 4844 LDR r0,|L2.1008| +0002e0 8800 LDRH r0,[r0,#0] ; phone_86_flag +0002e2 2816 CMP r0,#0x16 +0002e4 d103 BNE |L2.750| +;;;1052 { +;;;1053 txbuffer = (uint8_t*)phone_data_86_19; +0002e6 4d59 LDR r5,|L2.1100| +;;;1054 *txbuffer_size = sizeof(phone_data_86_19); +0002e8 2008 MOVS r0,#8 +0002ea 6020 STR r0,[r4,#0] +0002ec e05c B |L2.936| + |L2.750| +;;;1055 } +;;;1056 else if (phone_86_flag == 23) +0002ee 4840 LDR r0,|L2.1008| +0002f0 8800 LDRH r0,[r0,#0] ; phone_86_flag +0002f2 2817 CMP r0,#0x17 +0002f4 d103 BNE |L2.766| +;;;1057 { +;;;1058 txbuffer = (uint8_t*)phone_data_86_20; +0002f6 4d56 LDR r5,|L2.1104| +;;;1059 *txbuffer_size = sizeof(phone_data_86_20); +0002f8 2008 MOVS r0,#8 +0002fa 6020 STR r0,[r4,#0] +0002fc e054 B |L2.936| + |L2.766| +;;;1060 } +;;;1061 else if (phone_86_flag == 24) +0002fe 483c LDR r0,|L2.1008| +000300 8800 LDRH r0,[r0,#0] ; phone_86_flag +000302 2818 CMP r0,#0x18 +000304 d103 BNE |L2.782| +;;;1062 { +;;;1063 txbuffer = (uint8_t*)phone_data_86_21; +000306 4d53 LDR r5,|L2.1108| +;;;1064 *txbuffer_size = sizeof(phone_data_86_21); +000308 2008 MOVS r0,#8 +00030a 6020 STR r0,[r4,#0] +00030c e04c B |L2.936| + |L2.782| +;;;1065 } +;;;1066 else if (phone_86_flag == 1800) +00030e 4838 LDR r0,|L2.1008| +000310 8800 LDRH r0,[r0,#0] ; phone_86_flag +000312 21e1 MOVS r1,#0xe1 +000314 00c9 LSLS r1,r1,#3 +000316 4288 CMP r0,r1 +000318 d103 BNE |L2.802| +;;;1067 { +;;;1068 txbuffer = (uint8_t*)phone_data_86_1800; +00031a 4d4f LDR r5,|L2.1112| +;;;1069 *txbuffer_size = sizeof(phone_data_86_1800); +00031c 2008 MOVS r0,#8 +00031e 6020 STR r0,[r4,#0] +000320 e042 B |L2.936| + |L2.802| +;;;1070 } +;;;1071 else if (phone_86_flag == 3000) +000322 4833 LDR r0,|L2.1008| +000324 8800 LDRH r0,[r0,#0] ; phone_86_flag +000326 494d LDR r1,|L2.1116| +000328 4288 CMP r0,r1 +00032a d103 BNE |L2.820| +;;;1072 { +;;;1073 txbuffer = (uint8_t*)phone_data_86_1800; +00032c 4d4a LDR r5,|L2.1112| +;;;1074 *txbuffer_size = sizeof(phone_data_86_1800); +00032e 2008 MOVS r0,#8 +000330 6020 STR r0,[r4,#0] +000332 e039 B |L2.936| + |L2.820| +;;;1075 } +;;;1076 /* else if (phone_86_flag == 4000) +;;;1077 { +;;;1078 txbuffer = (uint8_t*)phone_data_86_4000; +;;;1079 *txbuffer_size = sizeof(phone_data_86_4000); +;;;1080 } +;;;1081 */ +;;;1082 else +;;;1083 { +;;;1084 txbuffer = (uint8_t*)phone_reg_coord_back; +000334 4d3e LDR r5,|L2.1072| +;;;1085 *txbuffer_size = 8; +000336 2008 MOVS r0,#8 +000338 6020 STR r0,[r4,#0] +00033a e035 B |L2.936| + |L2.828| +;;;1086 } +;;;1087 +;;;1088 } +;;;1089 else +;;;1090 { +;;;1091 // printf("A\n"); +;;;1092 // printf("touch %d\n",Flag_touch_count); +;;;1093 touch_recv_flag++; +00033c 4848 LDR r0,|L2.1120| +00033e 7800 LDRB r0,[r0,#0] ; touch_recv_flag +000340 1c40 ADDS r0,r0,#1 +000342 4947 LDR r1,|L2.1120| +000344 7008 STRB r0,[r1,#0] +;;;1094 +;;;1095 if(Flag_touch_count > 1) +000346 4847 LDR r0,|L2.1124| +000348 7800 LDRB r0,[r0,#0] ; Flag_touch_count +00034a 2801 CMP r0,#1 +00034c dd1f BLE |L2.910| +;;;1096 { +;;;1097 // printf("%d\n",Flag_touch_count); +;;;1098 touch_send_flag++; +00034e 4846 LDR r0,|L2.1128| +000350 7800 LDRB r0,[r0,#0] ; touch_send_flag +000352 1c40 ADDS r0,r0,#1 +000354 4944 LDR r1,|L2.1128| +000356 7008 STRB r0,[r1,#0] +;;;1099 if(touch_send_flag == 1) +000358 4608 MOV r0,r1 +00035a 7800 LDRB r0,[r0,#0] ; touch_send_flag +00035c 2801 CMP r0,#1 +00035e d103 BNE |L2.872| +;;;1100 { +;;;1101 txbuffer = (uint8_t*)phone_reg_coord_back; +000360 4d33 LDR r5,|L2.1072| +;;;1102 *txbuffer_size = 8; +000362 2008 MOVS r0,#8 +000364 6020 STR r0,[r4,#0] +000366 e01f B |L2.936| + |L2.872| +;;;1103 // printf("A"); +;;;1104 } +;;;1105 else +;;;1106 { +;;;1107 touch_send_flag = 0; +000368 2000 MOVS r0,#0 +00036a 493f LDR r1,|L2.1128| +00036c 7008 STRB r0,[r1,#0] +;;;1108 +;;;1109 txbuffer = (uint8_t*)&phone_reg_coord_back[8]; +00036e 4d30 LDR r5,|L2.1072| +000370 3508 ADDS r5,r5,#8 +;;;1110 *txbuffer_size = (8*(Flag_touch_count-1)); +000372 483c LDR r0,|L2.1124| +000374 7800 LDRB r0,[r0,#0] ; Flag_touch_count +000376 1e40 SUBS r0,r0,#1 +000378 00c0 LSLS r0,r0,#3 +00037a 6020 STR r0,[r4,#0] +;;;1111 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); +00037c 2101 MOVS r1,#1 +00037e 483b LDR r0,|L2.1132| +000380 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +000382 f7fffffe BL hal_gpio_set_output_data +;;;1112 +;;;1113 Flag_touch_count = 0; +000386 2000 MOVS r0,#0 +000388 4936 LDR r1,|L2.1124| +00038a 7008 STRB r0,[r1,#0] +00038c e00c B |L2.936| + |L2.910| +;;;1114 // printf("B\n"); +;;;1115 } +;;;1116 } +;;;1117 else +;;;1118 { +;;;1119 // if(Flag_touch_count == 1) // ָ Flag_touch_count = 0 +;;;1120 { +;;;1121 txbuffer = (uint8_t*)phone_reg_coord_back; +00038e 4d28 LDR r5,|L2.1072| +;;;1122 *txbuffer_size = 8; +000390 2008 MOVS r0,#8 +000392 6020 STR r0,[r4,#0] +;;;1123 } +;;;1124 +;;;1125 touch_send_flag = 0; +000394 2000 MOVS r0,#0 +000396 4934 LDR r1,|L2.1128| +000398 7008 STRB r0,[r1,#0] +;;;1126 Flag_touch_count = 0; +00039a 4932 LDR r1,|L2.1124| +00039c 7008 STRB r0,[r1,#0] +;;;1127 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); +00039e 2101 MOVS r1,#1 +0003a0 4832 LDR r0,|L2.1132| +0003a2 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +0003a4 f7fffffe BL hal_gpio_set_output_data + |L2.936| +;;;1128 // printf("C\n"); +;;;1129 } +;;;1130 } +;;;1131 break; +0003a8 e000 B |L2.940| + |L2.938| +;;;1132 default: +;;;1133 +;;;1134 break; +0003aa bf00 NOP + |L2.940| +0003ac bf00 NOP ;910 + |L2.942| +;;;1135 +;;;1136 } +;;;1137 } +;;;1138 //printf("1111 %p \n",*phonetxbuffer); +;;;1139 s_slave_txbuffer = txbuffer; +0003ae 4830 LDR r0,|L2.1136| +0003b0 6005 STR r5,[r0,#0] ; s_slave_txbuffer +;;;1140 //printf("222 %p \n",*phonetxbuffer); +;;;1141 //////////////////////////////////////////////////////////////////////////////////////////// +;;;1142 +;;;1143 +;;;1144 #endif +;;;1145 +;;;1146 } +0003b2 bdf8 POP {r3-r7,pc} +;;;1147 + ENDP + + |L2.948| + DCD |symbol_number.31| + |L2.952| +0003b8 41362025 DCB "A6 %d\n",0 +0003bc 640a00 +0003bf 00 DCB 0 + |L2.960| + DCD phone_data_A6_0 + |L2.964| + DCD phone_data_A6_1 + |L2.968| + DCD phone_data_A6_4 + |L2.972| + DCD phone_data_A6_3 + |L2.976| + DCD phone_data_A6_5 + |L2.980| + DCD phone_data_A6_6 + |L2.984| + DCD |symbol_number.32| + |L2.988| + DCD phone_data_FA_0 + |L2.992| + DCD phone_data_FA_1 + |L2.996| + DCD phone_data_FA_2 + |L2.1000| + DCD phone_data_43 + |L2.1004| + DCD phone_poweron_flag + |L2.1008| + DCD |symbol_number.33| + |L2.1012| +0003f4 38362025 DCB "86 %d\n",0 +0003f8 640a00 +0003fb 00 DCB 0 + |L2.1020| + DCD phone_data_86_0 + |L2.1024| + DCD phone_data_86_1 + |L2.1028| + DCD phone_data_86_2 + |L2.1032| + DCD phone_data_86_3 + |L2.1036| + DCD phone_data_86_4 + |L2.1040| + DCD phone_data_86_5 + |L2.1044| + DCD phone_data_86_6 + |L2.1048| + DCD phone_data_86_7 + |L2.1052| + DCD phone_data_86_8 + |L2.1056| + DCD phone_data_86_9 + |L2.1060| + DCD phone_data_86_10 + |L2.1064| + DCD phone_data_86_11 + |L2.1068| + DCD phone_data_86_12 + |L2.1072| + DCD phone_reg_coord_back + |L2.1076| + DCD phone_data_86_13 + |L2.1080| + DCD phone_data_86_14 + |L2.1084| + DCD phone_data_86_15 + |L2.1088| + DCD phone_data_86_16 + |L2.1092| + DCD phone_data_86_17 + |L2.1096| + DCD phone_data_86_18 + |L2.1100| + DCD phone_data_86_19 + |L2.1104| + DCD phone_data_86_20 + |L2.1108| + DCD phone_data_86_21 + |L2.1112| + DCD phone_data_86_1800 + |L2.1116| + DCD 0x00000bb8 + |L2.1120| + DCD touch_recv_flag + |L2.1124| + DCD Flag_touch_count + |L2.1128| + DCD touch_send_flag + |L2.1132| + DCD g_phone_output_int_pad + |L2.1136| + DCD s_slave_txbuffer + + AREA ||i.app_tp_screen_analysis_const||, CODE, READONLY, ALIGN=2 + + app_tp_screen_analysis_const PROC +;;;213 **************************************************************************/ +;;;214 uint8_t app_tp_screen_analysis_const(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size) +000000 b570 PUSH {r4-r6,lr} +;;;215 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +000006 4616 MOV r6,r2 +;;;216 static uint8_t app_tp_count = 0; +;;;217 +;;;218 app_tp_count++; +000008 4814 LDR r0,|L3.92| +00000a 7800 LDRB r0,[r0,#0] ; app_tp_count +00000c 1c40 ADDS r0,r0,#1 +00000e 4913 LDR r1,|L3.92| +000010 7008 STRB r0,[r1,#0] +;;;219 if (app_tp_count > 20) //ʼɹreset screen +000012 4608 MOV r0,r1 +000014 7800 LDRB r0,[r0,#0] ; app_tp_count +000016 2814 CMP r0,#0x14 +000018 dd05 BLE |L3.38| +;;;220 { +;;;221 app_tp_count = 0; +00001a 2000 MOVS r0,#0 +00001c 7008 STRB r0,[r1,#0] +;;;222 app_tp_screen_init(); +00001e f7fffffe BL app_tp_screen_init +;;;223 return 0; +000022 2000 MOVS r0,#0 + |L3.36| +;;;224 } +;;;225 +;;;226 if (transfer_now == 0) +;;;227 { +;;;228 if (rxbuffer[2] == 0x03) +;;;229 { +;;;230 TAU_LOGD("TD TP init done\n"); +;;;231 return 1; +;;;232 } +;;;233 else +;;;234 { +;;;235 TAU_LOGD("TD TP return false [%d]\n", rxbuffer[2]); +;;;236 return 0; +;;;237 } +;;;238 } +;;;239 +;;;240 return transfer_now + 1; +;;;241 } +000024 bd70 POP {r4-r6,pc} + |L3.38| +000026 2c00 CMP r4,#0 ;226 +000028 d115 BNE |L3.86| +00002a 78a8 LDRB r0,[r5,#2] ;228 +00002c 2803 CMP r0,#3 ;228 +00002e d108 BNE |L3.66| +000030 bf00 NOP ;230 +000032 22e6 MOVS r2,#0xe6 ;230 +000034 a10a ADR r1,|L3.96| +000036 a00c ADR r0,|L3.104| +000038 f7fffffe BL LOG_printf +00003c bf00 NOP ;230 +00003e 2001 MOVS r0,#1 ;231 +000040 e7f0 B |L3.36| + |L3.66| +000042 bf00 NOP ;235 +000044 78ab LDRB r3,[r5,#2] ;235 +000046 22eb MOVS r2,#0xeb ;235 +000048 a105 ADR r1,|L3.96| +00004a a00f ADR r0,|L3.136| +00004c f7fffffe BL LOG_printf +000050 bf00 NOP ;235 +000052 2000 MOVS r0,#0 ;236 +000054 e7e6 B |L3.36| + |L3.86| +000056 1c60 ADDS r0,r4,#1 ;240 +000058 b2c0 UXTB r0,r0 ;240 +00005a e7e3 B |L3.36| +;;;242 + ENDP + + |L3.92| + DCD app_tp_count + |L3.96| +000060 7461755f DCB "tau_log",0 +000064 6c6f6700 + |L3.104| +000068 5b25735d DCB "[%s] (%04d) TD TP init done\n",0 +00006c 20282530 +000070 34642920 +000074 54442054 +000078 5020696e +00007c 69742064 +000080 6f6e650a +000084 00 +000085 00 DCB 0 +000086 00 DCB 0 +000087 00 DCB 0 + |L3.136| +000088 5b25735d DCB "[%s] (%04d) TD TP return false [%d]\n",0 +00008c 20282530 +000090 34642920 +000094 54442054 +000098 50207265 +00009c 7475726e +0000a0 2066616c +0000a4 7365205b +0000a8 25645d0a +0000ac 00 +0000ad 00 DCB 0 +0000ae 00 DCB 0 +0000af 00 DCB 0 + + AREA ||i.app_tp_screen_analysis_int||, CODE, READONLY, ALIGN=2 + + app_tp_screen_analysis_int PROC +;;;251 **************************************************************************/ +;;;252 uint8_t app_tp_screen_analysis_int(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size) +000000 b5f0 PUSH {r4-r7,lr} +;;;253 { +000002 b089 SUB sp,sp,#0x24 +000004 460e MOV r6,r1 +;;;254 +;;;255 #ifdef USE_FOR_SUMSUNG_S10 +;;;256 uint8_t ii, jj,i,j,k; +;;;257 uint8_t temp_flag,temp,touchnum; +;;;258 uint8_t temp_8,touch_id; +;;;259 uint16_t temp16 = 1; +000006 2001 MOVS r0,#1 +000008 9004 STR r0,[sp,#0x10] +;;;260 uint32_t xx, yy, zz; +;;;261 uint8_t send_point = 0; // ǰҪ͵ı̧ʱҲҪ +00000a 2700 MOVS r7,#0 +;;;262 +;;;263 static uint16_t point_counter =0; +;;;264 +;;;265 send_point =0; +00000c bf00 NOP +;;;266 touchnum =0; +00000e 2000 MOVS r0,#0 +000010 9007 STR r0,[sp,#0x1c] +;;;267 touchnum = rxbuffer[2]; +000012 78b0 LDRB r0,[r6,#2] +000014 9007 STR r0,[sp,#0x1c] +;;;268 if(touchnum>0x10) +000016 9807 LDR r0,[sp,#0x1c] +000018 2810 CMP r0,#0x10 +00001a dd01 BLE |L4.32| +;;;269 touchnum = 0; +00001c 2000 MOVS r0,#0 +00001e 9007 STR r0,[sp,#0x1c] + |L4.32| +;;;270 /* +;;;271 for(ii=0;ii<64;ii++) +;;;272 { +;;;273 printf("%2x ",rxbuffer[ii]); +;;;274 } +;;;275 printf("\n"); +;;;276 */ +;;;277 #if 0 +;;;278 if(point_counter == 0) +;;;279 { +;;;280 // point_counter = 1; +;;;281 phone_reg_coord_back[0] = 0x13; +;;;282 phone_reg_coord_back[1] = 0x01; +;;;283 phone_reg_coord_back[2] = 0xE9; +;;;284 phone_reg_coord_back[3] = 0x61; +;;;285 phone_reg_coord_back[4] = 0x25; +;;;286 phone_reg_coord_back[5] = 0x00; +;;;287 phone_reg_coord_back[6] = 0x00; +;;;288 phone_reg_coord_back[7] = 0x00; +;;;289 } +;;;290 else if(point_counter == 1) +;;;291 { +;;;292 +;;;293 phone_reg_coord_back[0] = 0x23; +;;;294 phone_reg_coord_back[1] = 0x01; +;;;295 phone_reg_coord_back[2] = 0xE9; +;;;296 phone_reg_coord_back[3] = 0x61; +;;;297 phone_reg_coord_back[4] = 0x25; +;;;298 phone_reg_coord_back[5] = 0x00; +;;;299 phone_reg_coord_back[6] = 0x00; +;;;300 phone_reg_coord_back[7] = 0x00; +;;;301 } +;;;302 else if(point_counter == 10) +;;;303 { +;;;304 // point_counter++; +;;;305 phone_reg_coord_back[0] = 0x23; +;;;306 phone_reg_coord_back[1] = 0x01; +;;;307 phone_reg_coord_back[2] = 0xF5; +;;;308 phone_reg_coord_back[3] = 0xE1; +;;;309 phone_reg_coord_back[4] = 0x25; +;;;310 phone_reg_coord_back[5] = 0x00; +;;;311 phone_reg_coord_back[6] = 0x00; +;;;312 phone_reg_coord_back[7] = 0x00; +;;;313 } +;;;314 +;;;315 point_counter++; +;;;316 if(point_counter == 1000) +;;;317 { +;;;318 point_counter = 0; +;;;319 phone_reg_coord_back[0] = 0x33; +;;;320 phone_reg_coord_back[1] = 0x01; +;;;321 phone_reg_coord_back[2] = 0xF5; +;;;322 phone_reg_coord_back[3] = 0xE1; +;;;323 phone_reg_coord_back[4] = 0x25; +;;;324 phone_reg_coord_back[5] = 0x00; +;;;325 phone_reg_coord_back[6] = 0x00; +;;;326 phone_reg_coord_back[7] = 0x00; +;;;327 } +;;;328 +;;;329 send_point = 1; +;;;330 +;;;331 if(temp16 || send_point) +;;;332 { +;;;333 tp_flag =true; +;;;334 TAU_LOGD("TD TP done %d \n",point_counter); +;;;335 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_LOW); //TPжϽ,֪ͨAPȡTP +;;;336 } +;;;337 return screen_reg_int_data_size + 1; +;;;338 +;;;339 #else +;;;340 for(ii =0; ii<5; ii++) +000020 2400 MOVS r4,#0 +000022 e004 B |L4.46| + |L4.36| +;;;341 { +;;;342 phone_reg_coord_back[7]=0; +000024 2000 MOVS r0,#0 +000026 4998 LDR r1,|L4.648| +000028 71c8 STRB r0,[r1,#7] +00002a 1c60 ADDS r0,r4,#1 ;340 +00002c b2c4 UXTB r4,r0 ;340 + |L4.46| +00002e 2c05 CMP r4,#5 ;340 +000030 dbf8 BLT |L4.36| +;;;343 } +;;;344 +;;;345 +;;;346 // if(Flag_touch_count == 0) // +;;;347 { +;;;348 +;;;349 // TAU_LOGD("[%2x][%2x][%2x][%2x][%2x][%2x][%2x][%2x]\n",rxbuffer[0],rxbuffer[1],rxbuffer[2],rxbuffer[3],rxbuffer[4],rxbuffer[5],rxbuffer[6],rxbuffer[7]); +;;;350 send_point = rxbuffer[2]; // ȡ +000032 78b7 LDRB r7,[r6,#2] +;;;351 +;;;352 if( send_point <= 10 && (rxbuffer[3]!= 0x00) && (rxbuffer[4]!= 0x00) ) // ݲ10 б +000034 2f0a CMP r7,#0xa +000036 dc7d BGT |L4.308| +000038 78f0 LDRB r0,[r6,#3] +00003a 2800 CMP r0,#0 + |L4.60| +00003c d07a BEQ |L4.308| +00003e 7930 LDRB r0,[r6,#4] +000040 2800 CMP r0,#0 +000042 d0fb BEQ |L4.60| +;;;353 { +;;;354 +;;;355 +;;;356 for(ii =0; ii<10; ii++) +000044 2400 MOVS r4,#0 +000046 e02b B |L4.160| + |L4.72| +;;;357 { +;;;358 temp_flag = s8_host_id[ii]&0xF0; +000048 4890 LDR r0,|L4.652| +00004a 5d00 LDRB r0,[r0,r4] +00004c 21f0 MOVS r1,#0xf0 +00004e 4008 ANDS r0,r0,r1 +000050 9008 STR r0,[sp,#0x20] +;;;359 temp_8 = rxbuffer[6*ii+3]&0xf0; +000052 4620 MOV r0,r4 +000054 2106 MOVS r1,#6 +000056 4348 MULS r0,r1,r0 +000058 1cc0 ADDS r0,r0,#3 +00005a 5c30 LDRB r0,[r6,r0] +00005c 21f0 MOVS r1,#0xf0 +00005e 4008 ANDS r0,r0,r1 +000060 9006 STR r0,[sp,#0x18] +;;;360 touch_id=(rxbuffer[6*ii+5]>>4)&0x0f; +000062 4620 MOV r0,r4 +000064 2106 MOVS r1,#6 +000066 4348 MULS r0,r1,r0 +000068 1d40 ADDS r0,r0,#5 +00006a 5c30 LDRB r0,[r6,r0] +00006c 1100 ASRS r0,r0,#4 +00006e 9005 STR r0,[sp,#0x14] +;;;361 if(temp_8==0x00)//((temp16 >>ii) &0x01) // ӦIDб +000070 9806 LDR r0,[sp,#0x18] +000072 2800 CMP r0,#0 +000074 d103 BNE |L4.126| +;;;362 { +;;;363 // send_point++; +;;;364 s8_host_id[ii]=0x13; +000076 2013 MOVS r0,#0x13 +000078 4984 LDR r1,|L4.652| +00007a 5508 STRB r0,[r1,r4] +00007c e00e B |L4.156| + |L4.126| +;;;365 } +;;;366 else if(temp_8== 0x80) // +00007e 9806 LDR r0,[sp,#0x18] +000080 2880 CMP r0,#0x80 +000082 d103 BNE |L4.140| +;;;367 { +;;;368 // send_point++; +;;;369 s8_host_id[ii]=0x23; +000084 2023 MOVS r0,#0x23 +000086 4981 LDR r1,|L4.652| +000088 5508 STRB r0,[r1,r4] +00008a e007 B |L4.156| + |L4.140| +;;;370 } +;;;371 else if(temp_8== 0x40) // ̧ +00008c 9806 LDR r0,[sp,#0x18] +00008e 2840 CMP r0,#0x40 +000090 d104 BNE |L4.156| +;;;372 { +;;;373 send_point++; +000092 1c78 ADDS r0,r7,#1 +000094 b2c7 UXTB r7,r0 +;;;374 s8_host_id[ii] = 0x33; +000096 2033 MOVS r0,#0x33 +000098 497c LDR r1,|L4.652| +00009a 5508 STRB r0,[r1,r4] + |L4.156| +00009c 1c60 ADDS r0,r4,#1 ;356 +00009e b2c4 UXTB r4,r0 ;356 + |L4.160| +0000a0 2c0a CMP r4,#0xa ;356 +0000a2 dbd1 BLT |L4.72| +;;;375 } +;;;376 } +;;;377 +;;;378 //// phone_reg_point_back[1] = s8_host_num[send_point]; //ҪͱļĴ +;;;379 // printf("send_point %d ",send_point); +;;;380 +;;;381 jj =0; +0000a4 2500 MOVS r5,#0 +;;;382 for(ii =0; ii<10; ii++) +0000a6 2400 MOVS r4,#0 +0000a8 e0c9 B |L4.574| + |L4.170| +;;;383 { +;;;384 temp_8 = rxbuffer[6*ii+3]&0xf0; +0000aa 4620 MOV r0,r4 +0000ac 2106 MOVS r1,#6 +0000ae 4348 MULS r0,r1,r0 +0000b0 1cc0 ADDS r0,r0,#3 +0000b2 5c30 LDRB r0,[r6,r0] +0000b4 21f0 MOVS r1,#0xf0 +0000b6 4008 ANDS r0,r0,r1 +0000b8 9006 STR r0,[sp,#0x18] +;;;385 temp_flag = s8_host_id[ii]&0x30; +0000ba 4874 LDR r0,|L4.652| +0000bc 5d00 LDRB r0,[r0,r4] +0000be 2130 MOVS r1,#0x30 +0000c0 4008 ANDS r0,r0,r1 +0000c2 9008 STR r0,[sp,#0x20] +;;;386 touch_id = (rxbuffer[6*ii+5]>>4)&0x0f; +0000c4 4620 MOV r0,r4 +0000c6 2106 MOVS r1,#6 +0000c8 4348 MULS r0,r1,r0 +0000ca 1d40 ADDS r0,r0,#5 +0000cc 5c30 LDRB r0,[r6,r0] +0000ce 1100 ASRS r0,r0,#4 +0000d0 9005 STR r0,[sp,#0x14] +;;;387 touch_id = (touch_id<<4); +0000d2 9805 LDR r0,[sp,#0x14] +0000d4 0100 LSLS r0,r0,#4 +0000d6 9005 STR r0,[sp,#0x14] +;;;388 if(temp_flag) //2BITΪ0Ҫͱ +0000d8 9808 LDR r0,[sp,#0x20] +0000da 2800 CMP r0,#0 +0000dc d074 BEQ |L4.456| +;;;389 { +;;;390 xx = ((rxbuffer[6*ii+3]&0x0f) << 8) | (rxbuffer[6*ii+4]); +0000de 4620 MOV r0,r4 +0000e0 4348 MULS r0,r1,r0 +0000e2 1cc0 ADDS r0,r0,#3 +0000e4 5c30 LDRB r0,[r6,r0] +0000e6 0700 LSLS r0,r0,#28 +0000e8 0d01 LSRS r1,r0,#20 +0000ea 4620 MOV r0,r4 +0000ec 2206 MOVS r2,#6 +0000ee 4350 MULS r0,r2,r0 +0000f0 1d00 ADDS r0,r0,#4 +0000f2 5c30 LDRB r0,[r6,r0] +0000f4 4301 ORRS r1,r1,r0 +0000f6 9103 STR r1,[sp,#0xc] +;;;391 yy = ((rxbuffer[6*ii+5]&0x0f) << 8) | (rxbuffer[6*ii+6]); +0000f8 4620 MOV r0,r4 +0000fa 2106 MOVS r1,#6 +0000fc 4348 MULS r0,r1,r0 +0000fe 1d40 ADDS r0,r0,#5 +000100 5c30 LDRB r0,[r6,r0] +000102 0700 LSLS r0,r0,#28 +000104 0d01 LSRS r1,r0,#20 +000106 4620 MOV r0,r4 +000108 4350 MULS r0,r2,r0 +00010a 1d80 ADDS r0,r0,#6 +00010c 5c30 LDRB r0,[r6,r0] +00010e 4308 ORRS r0,r0,r1 +000110 9002 STR r0,[sp,#8] +;;;392 zz = rxbuffer[6*ii+7]; +000112 4620 MOV r0,r4 +000114 2106 MOVS r1,#6 +000116 4348 MULS r0,r1,r0 +000118 1dc0 ADDS r0,r0,#7 +00011a 5c30 LDRB r0,[r6,r0] +00011c 9001 STR r0,[sp,#4] +;;;393 +;;;394 xx = xx * INPUT_WIDTH_VALUE / OUTPUT_WIDTH_VALUE; +00011e 2287 MOVS r2,#0x87 +000120 00d2 LSLS r2,r2,#3 +000122 9903 LDR r1,[sp,#0xc] +000124 4351 MULS r1,r2,r1 +000126 4608 MOV r0,r1 +000128 212d MOVS r1,#0x2d +00012a 0109 LSLS r1,r1,#4 +00012c f7fffffe BL __aeabi_uidivmod +000130 9003 STR r0,[sp,#0xc] +;;;395 if(xx > 4095) +000132 e000 B |L4.310| + |L4.308| +000134 e0a4 B |L4.640| + |L4.310| +000136 4956 LDR r1,|L4.656| +000138 9803 LDR r0,[sp,#0xc] +00013a 4288 CMP r0,r1 +00013c d901 BLS |L4.322| +;;;396 xx = 4095; +00013e 4608 MOV r0,r1 +000140 9003 STR r0,[sp,#0xc] + |L4.322| +;;;397 yy = yy * INPUT_HEIGHT_VALUE / OUTPUT_HEIGHT_VALUE; +000142 2223 MOVS r2,#0x23 +000144 0192 LSLS r2,r2,#6 +000146 9902 LDR r1,[sp,#8] +000148 4351 MULS r1,r2,r1 +00014a 4608 MOV r0,r1 +00014c 2119 MOVS r1,#0x19 +00014e 0189 LSLS r1,r1,#6 +000150 f7fffffe BL __aeabi_uidivmod +000154 9002 STR r0,[sp,#8] +;;;398 if(yy > 4095) +000156 494e LDR r1,|L4.656| +000158 9802 LDR r0,[sp,#8] +00015a 4288 CMP r0,r1 +00015c d901 BLS |L4.354| +;;;399 yy = 4095; +00015e 4608 MOV r0,r1 +000160 9002 STR r0,[sp,#8] + |L4.354| +;;;400 +;;;401 if (temp_flag ==0x30) // ̧ +000162 9808 LDR r0,[sp,#0x20] +000164 2830 CMP r0,#0x30 +000166 d136 BNE |L4.470| +;;;402 { +;;;403 #if 1 +;;;404 phone_reg_coord_back[8*jj+0] = s8_host_id[ii]; //13 press 33 leave 23 move +000168 4848 LDR r0,|L4.652| +00016a 5d01 LDRB r1,[r0,r4] +00016c 00e8 LSLS r0,r5,#3 +00016e 4a46 LDR r2,|L4.648| +000170 5411 STRB r1,[r2,r0] +;;;405 phone_reg_coord_back[8*jj+1] = touch_id|0x01; //id +000172 2101 MOVS r1,#1 +000174 9805 LDR r0,[sp,#0x14] +000176 4308 ORRS r0,r0,r1 +000178 00e9 LSLS r1,r5,#3 +00017a 1c49 ADDS r1,r1,#1 +00017c 5450 STRB r0,[r2,r1] +;;;406 phone_reg_coord_back[8*jj+2] = (uint8_t)(xx& 0xFF); //x Ͱλ +00017e 9803 LDR r0,[sp,#0xc] +000180 b2c1 UXTB r1,r0 +000182 00e8 LSLS r0,r5,#3 +000184 1c80 ADDS r0,r0,#2 +000186 5411 STRB r1,[r2,r0] +;;;407 phone_reg_coord_back[8*jj+3] = ((yy & 0x0F) << 4) | ((xx>>8) & 0x0F); //bit0-bit3:xλ;bit4-bit7:yλ; +000188 9802 LDR r0,[sp,#8] +00018a 0700 LSLS r0,r0,#28 +00018c 0e00 LSRS r0,r0,#24 +00018e 9903 LDR r1,[sp,#0xc] +000190 0509 LSLS r1,r1,#20 +000192 0f09 LSRS r1,r1,#28 +000194 4308 ORRS r0,r0,r1 +000196 00e9 LSLS r1,r5,#3 +000198 1cc9 ADDS r1,r1,#3 +00019a 5450 STRB r0,[r2,r1] +;;;408 phone_reg_coord_back[8*jj+4] = (uint8_t)((yy>>4)& 0xFF); //y ߰λ +00019c 9802 LDR r0,[sp,#8] +00019e 0500 LSLS r0,r0,#20 +0001a0 0e01 LSRS r1,r0,#24 +0001a2 00e8 LSLS r0,r5,#3 +0001a4 1d00 ADDS r0,r0,#4 +0001a6 5411 STRB r1,[r2,r0] +;;;409 phone_reg_coord_back[8*jj+5] = 0x00; //zzλ +0001a8 2100 MOVS r1,#0 +0001aa 00e8 LSLS r0,r5,#3 +0001ac 1d40 ADDS r0,r0,#5 +0001ae 5411 STRB r1,[r2,r0] +;;;410 //touch type0:ָͨ1:2:ף3:;4:;5:;6:ʪ;7:ӽ;8:ҡ +;;;411 phone_reg_coord_back[8*jj+6] = 0x00; //bit0-bit5:zֻ6λ;bit6-bit7:touch typeĸλ +0001b0 00e8 LSLS r0,r5,#3 +0001b2 1d80 ADDS r0,r0,#6 +0001b4 5411 STRB r1,[r2,r0] +;;;412 +;;;413 if(send_point>jj) +0001b6 42af CMP r7,r5 +0001b8 dd07 BLE |L4.458| +;;;414 phone_reg_coord_back[8*jj+7] = send_point-jj-1; +0001ba 1b78 SUBS r0,r7,r5 +0001bc 1e40 SUBS r0,r0,#1 +0001be b2c1 UXTB r1,r0 +0001c0 00e8 LSLS r0,r5,#3 +0001c2 1dc0 ADDS r0,r0,#7 +0001c4 5411 STRB r1,[r2,r0] +0001c6 e033 B |L4.560| + |L4.456| +0001c8 e034 B |L4.564| + |L4.458| +;;;415 else +;;;416 phone_reg_coord_back[8*jj+7] = 0x00; +0001ca 2100 MOVS r1,#0 +0001cc 00e8 LSLS r0,r5,#3 +0001ce 1dc0 ADDS r0,r0,#7 +0001d0 4a2d LDR r2,|L4.648| +0001d2 5411 STRB r1,[r2,r0] +0001d4 e02c B |L4.560| + |L4.470| +;;;417 #else +;;;418 phone_reg_coord_back[8*jj+0] = s8_host_id[ii]; +;;;419 phone_reg_coord_back[8*jj+1] = touch_id|0x01; +;;;420 phone_reg_coord_back[8*jj+2] = s_screen_read_bak[8*ii+2]; +;;;421 phone_reg_coord_back[8*jj+3] = s_screen_read_bak[8*ii+3]; +;;;422 phone_reg_coord_back[8*jj+4] = s_screen_read_bak[8*ii+4]; +;;;423 phone_reg_coord_back[8*jj+5] = s_screen_read_bak[8*ii+5]; +;;;424 phone_reg_coord_back[8*jj+6] = s_screen_read_bak[8*ii+6]; +;;;425 // phone_reg_coord_back[8*jj+7] = 0x00; +;;;426 if(send_point>=jj) +;;;427 phone_reg_coord_back[8*jj+7] = 0x00; +;;;428 else +;;;429 phone_reg_coord_back[8*jj+7] = send_point-jj-1; +;;;430 #endif +;;;431 +;;;432 } +;;;433 else +;;;434 { +;;;435 /* xx = ((rxbuffer[6*ii+3]&0x0f) << 8) | (rxbuffer[6*ii+4]); +;;;436 yy = ((rxbuffer[6*ii+5]&0x0f) << 8) | (rxbuffer[6*ii+6]); +;;;437 zz = rxbuffer[6*ii+7]; +;;;438 +;;;439 xx = xx * INPUT_WIDTH_VALUE / OUTPUT_WIDTH_VALUE; +;;;440 if(xx > 4095) +;;;441 xx = 4095; +;;;442 yy = yy * INPUT_HEIGHT_VALUE / OUTPUT_HEIGHT_VALUE; +;;;443 if(yy > 4095) +;;;444 yy = 4095; +;;;445 */ +;;;446 +;;;447 phone_reg_coord_back[8*jj+0] = s8_host_id[ii]; //13 press 33 leave 23 move +0001d6 482d LDR r0,|L4.652| +0001d8 5d01 LDRB r1,[r0,r4] +0001da 00e8 LSLS r0,r5,#3 +0001dc 4a2a LDR r2,|L4.648| +0001de 5411 STRB r1,[r2,r0] +;;;448 phone_reg_coord_back[8*jj+1] = touch_id|0x01; //id +0001e0 2101 MOVS r1,#1 +0001e2 9805 LDR r0,[sp,#0x14] +0001e4 4308 ORRS r0,r0,r1 +0001e6 00e9 LSLS r1,r5,#3 +0001e8 1c49 ADDS r1,r1,#1 +0001ea 5450 STRB r0,[r2,r1] +;;;449 phone_reg_coord_back[8*jj+2] = (uint8_t)(xx& 0xFF); //x Ͱλ +0001ec 9803 LDR r0,[sp,#0xc] +0001ee b2c1 UXTB r1,r0 +0001f0 00e8 LSLS r0,r5,#3 +0001f2 1c80 ADDS r0,r0,#2 +0001f4 5411 STRB r1,[r2,r0] +;;;450 phone_reg_coord_back[8*jj+3] = ((yy & 0x0F) << 4) | ((xx>>8) & 0x0F); //bit0-bit3:xλ;bit4-bit7:yλ; +0001f6 9802 LDR r0,[sp,#8] +0001f8 0700 LSLS r0,r0,#28 +0001fa 0e00 LSRS r0,r0,#24 +0001fc 9903 LDR r1,[sp,#0xc] +0001fe 0509 LSLS r1,r1,#20 +000200 0f09 LSRS r1,r1,#28 +000202 4308 ORRS r0,r0,r1 +000204 00e9 LSLS r1,r5,#3 +000206 1cc9 ADDS r1,r1,#3 +000208 5450 STRB r0,[r2,r1] +;;;451 phone_reg_coord_back[8*jj+4] = (uint8_t)((yy>>4)& 0xFF); //y ߰λ +00020a 9802 LDR r0,[sp,#8] +00020c 0500 LSLS r0,r0,#20 +00020e 0e01 LSRS r1,r0,#24 +000210 00e8 LSLS r0,r5,#3 +000212 1d00 ADDS r0,r0,#4 +000214 5411 STRB r1,[r2,r0] +;;;452 phone_reg_coord_back[8*jj+5] = 0x00; //zzλ +000216 2100 MOVS r1,#0 +000218 00e8 LSLS r0,r5,#3 +00021a 1d40 ADDS r0,r0,#5 +00021c 5411 STRB r1,[r2,r0] +;;;453 //touch type0:ָͨ1:2:ף3:;4:;5:;6:ʪ;7:ӽ;8:ҡ +;;;454 phone_reg_coord_back[8*jj+6] = 0x00; //bit0-bit5:zֻ6λ;bit6-bit7:touch typeĸλ +00021e 00e8 LSLS r0,r5,#3 +000220 1d80 ADDS r0,r0,#6 +000222 5411 STRB r1,[r2,r0] +;;;455 // phone_reg_coord_back[8*jj+7] = 0x00; +;;;456 phone_reg_coord_back[8*jj+7] = send_point-jj-1; //bit0-bit5:bufferʣٸ¼;bit6-bit7touch type λ +000224 1b78 SUBS r0,r7,r5 +000226 1e40 SUBS r0,r0,#1 +000228 b2c1 UXTB r1,r0 +00022a 00e8 LSLS r0,r5,#3 +00022c 1dc0 ADDS r0,r0,#7 +00022e 5411 STRB r1,[r2,r0] + |L4.560| +;;;457 +;;;458 } +;;;459 +;;;460 #if 0// +;;;461 s_screen_read_bak[8*ii+0] =phone_reg_coord_back[8*jj+0]; +;;;462 s_screen_read_bak[8*ii+1] =phone_reg_coord_back[8*jj+1]; +;;;463 s_screen_read_bak[8*ii+2] =phone_reg_coord_back[8*jj+2]; +;;;464 s_screen_read_bak[8*ii+3] =phone_reg_coord_back[8*jj+3]; +;;;465 s_screen_read_bak[8*ii+4] =phone_reg_coord_back[8*jj+4]; +;;;466 s_screen_read_bak[8*ii+5] =phone_reg_coord_back[8*jj+5]; +;;;467 s_screen_read_bak[8*ii+6] =phone_reg_coord_back[8*jj+6]; +;;;468 s_screen_read_bak[8*ii+7] =phone_reg_coord_back[8*jj+7]; +;;;469 #endif +;;;470 jj++; +000230 1c68 ADDS r0,r5,#1 +000232 b2c5 UXTB r5,r0 + |L4.564| +;;;471 } +;;;472 +;;;473 if(jj >= send_point) break; +000234 42bd CMP r5,r7 +000236 db00 BLT |L4.570| +000238 e004 B |L4.580| + |L4.570| +00023a 1c60 ADDS r0,r4,#1 ;382 +00023c b2c4 UXTB r4,r0 ;382 + |L4.574| +00023e 2c0a CMP r4,#0xa ;382 +000240 da00 BGE |L4.580| +000242 e732 B |L4.170| + |L4.580| +000244 bf00 NOP +;;;474 } +;;;475 +;;;476 +;;;477 touchnum_bak = touchnum; +000246 4913 LDR r1,|L4.660| +000248 9807 LDR r0,[sp,#0x1c] +00024a 7008 STRB r0,[r1,#0] +;;;478 phone_data_B1[1] =0x86; +00024c 2086 MOVS r0,#0x86 +00024e 4912 LDR r1,|L4.664| +000250 7048 STRB r0,[r1,#1] +;;;479 Flag_touch_count = send_point; // ¼ +000252 4812 LDR r0,|L4.668| +000254 7007 STRB r7,[r0,#0] +;;;480 touch_send_flag = 0; +000256 2000 MOVS r0,#0 +000258 4911 LDR r1,|L4.672| +00025a 7008 STRB r0,[r1,#0] +;;;481 +;;;482 if(temp16 || send_point) +00025c 9804 LDR r0,[sp,#0x10] +00025e 2800 CMP r0,#0 +000260 d101 BNE |L4.614| +000262 2f00 CMP r7,#0 +000264 d00c BEQ |L4.640| + |L4.614| +;;;483 { +;;;484 touch_recv_flag = 0; +000266 2000 MOVS r0,#0 +000268 490e LDR r1,|L4.676| +00026a 7008 STRB r0,[r1,#0] +;;;485 tp_flag =true; +00026c 2001 MOVS r0,#1 +00026e 490e LDR r1,|L4.680| +000270 7008 STRB r0,[r1,#0] +;;;486 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_LOW); //TPжϽ,֪ͨAPȡTP +000272 2100 MOVS r1,#0 +000274 480d LDR r0,|L4.684| +000276 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +000278 f7fffffe BL hal_gpio_set_output_data +;;;487 tp_int_high_timer_init(); +00027c f7fffffe BL tp_int_high_timer_init + |L4.640| +;;;488 } +;;;489 } +;;;490 } +;;;491 return screen_reg_int_data_size + 1; +000280 2004 MOVS r0,#4 +;;;492 #endif +;;;493 +;;;494 #endif +;;;495 +;;;496 } +000282 b009 ADD sp,sp,#0x24 +000284 bdf0 POP {r4-r7,pc} +;;;497 + ENDP + +000286 0000 DCW 0x0000 + |L4.648| + DCD phone_reg_coord_back + |L4.652| + DCD s8_host_id + |L4.656| + DCD 0x00000fff + |L4.660| + DCD touchnum_bak + |L4.664| + DCD phone_data_B1 + |L4.668| + DCD Flag_touch_count + |L4.672| + DCD touch_send_flag + |L4.676| + DCD touch_recv_flag + |L4.680| + DCD tp_flag + |L4.684| + DCD g_phone_output_int_pad + + AREA ||i.tp_int_high_timer_callback||, CODE, READONLY, ALIGN=2 + + tp_int_high_timer_callback PROC +;;;170 +;;;171 static void tp_int_high_timer_callback(void *data) +000000 b570 PUSH {r4-r6,lr} +;;;172 { +000002 4606 MOV r6,r0 +;;;173 uint8_t ii, jj=0; +000004 2400 MOVS r4,#0 +;;;174 +;;;175 if(touch_recv_flag == 0) // 1msûйȡݣԶ +000006 481c LDR r0,|L5.120| +000008 7800 LDRB r0,[r0,#0] ; touch_recv_flag +00000a 2800 CMP r0,#0 +00000c d105 BNE |L5.26| +;;;176 { +;;;177 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); +00000e 2101 MOVS r1,#1 +000010 481a LDR r0,|L5.124| +000012 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +000014 f7fffffe BL hal_gpio_set_output_data +000018 e02d B |L5.118| + |L5.26| +;;;178 } +;;;179 else // 25ms ޴release¼ +;;;180 { +;;;181 +;;;182 for(jj=0; jj<10; jj++) +00001a 2400 MOVS r4,#0 +00001c e022 B |L5.100| + |L5.30| +;;;183 { +;;;184 ii = jj; +00001e 4625 MOV r5,r4 +;;;185 phone_reg_coord_back[8*jj+0] = 0x33; //13 press 33 leave 23 move +000020 2133 MOVS r1,#0x33 +000022 00e0 LSLS r0,r4,#3 +000024 4a16 LDR r2,|L5.128| +000026 5411 STRB r1,[r2,r0] +;;;186 phone_reg_coord_back[8*jj+1] = (jj<<4)|0x01; //id +000028 0120 LSLS r0,r4,#4 +00002a 1c40 ADDS r0,r0,#1 +00002c b2c1 UXTB r1,r0 +00002e 00e0 LSLS r0,r4,#3 +000030 1c40 ADDS r0,r0,#1 +000032 5411 STRB r1,[r2,r0] +;;;187 phone_reg_coord_back[8*jj+2] = 0x00; //x Ͱλ +000034 2100 MOVS r1,#0 +000036 00e0 LSLS r0,r4,#3 +000038 1c80 ADDS r0,r0,#2 +00003a 5411 STRB r1,[r2,r0] +;;;188 phone_reg_coord_back[8*jj+3] = 0x00; //bit0-bit3:xλ;bit4-bit7:yλ; +00003c 00e0 LSLS r0,r4,#3 +00003e 1cc0 ADDS r0,r0,#3 +000040 5411 STRB r1,[r2,r0] +;;;189 phone_reg_coord_back[8*jj+4] = 0x00; //y ߰λ +000042 00e0 LSLS r0,r4,#3 +000044 1d00 ADDS r0,r0,#4 +000046 5411 STRB r1,[r2,r0] +;;;190 phone_reg_coord_back[8*jj+5] = 0x00; //zzλ +000048 00e0 LSLS r0,r4,#3 +00004a 1d40 ADDS r0,r0,#5 +00004c 5411 STRB r1,[r2,r0] +;;;191 //touch type0:ָͨ1:2:ף3:;4:;5:;6:ʪ;7:ӽ;8:ҡ +;;;192 phone_reg_coord_back[8*jj+6] = 0x00; //bit0-bit5:zֻ6λ;bit6-bit7:touch typeĸλ +00004e 00e0 LSLS r0,r4,#3 +000050 1d80 ADDS r0,r0,#6 +000052 5411 STRB r1,[r2,r0] +;;;193 phone_reg_coord_back[8*jj+7] = 9-jj; +000054 2009 MOVS r0,#9 +000056 1b00 SUBS r0,r0,r4 +000058 b2c1 UXTB r1,r0 +00005a 00e0 LSLS r0,r4,#3 +00005c 1dc0 ADDS r0,r0,#7 +00005e 5411 STRB r1,[r2,r0] +000060 1c60 ADDS r0,r4,#1 ;182 +000062 b2c4 UXTB r4,r0 ;182 + |L5.100| +000064 2c0a CMP r4,#0xa ;182 +000066 dbda BLT |L5.30| +;;;194 } +;;;195 +;;;196 Flag_touch_count = jj; +000068 4806 LDR r0,|L5.132| +00006a 7004 STRB r4,[r0,#0] +;;;197 +;;;198 hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_LOW); //TPжϽ,֪ͨAPȡTP +00006c 2100 MOVS r1,#0 +00006e 4803 LDR r0,|L5.124| +000070 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +000072 f7fffffe BL hal_gpio_set_output_data + |L5.118| +;;;199 } +;;;200 } +000076 bd70 POP {r4-r6,pc} +;;;201 void tp_int_high_timer_init(void) + ENDP + + |L5.120| + DCD touch_recv_flag + |L5.124| + DCD g_phone_output_int_pad + |L5.128| + DCD phone_reg_coord_back + |L5.132| + DCD Flag_touch_count + + AREA ||i.tp_int_high_timer_init||, CODE, READONLY, ALIGN=2 + + tp_int_high_timer_init PROC +;;;200 } +;;;201 void tp_int_high_timer_init(void) +000000 b510 PUSH {r4,lr} +;;;202 { +;;;203 hal_timer_init(TIMER_NUM3); +000002 2003 MOVS r0,#3 +000004 f7fffffe BL hal_timer_init +;;;204 hal_timer_start(TIMER_NUM3, 25, tp_int_high_timer_callback, NULL); +000008 2300 MOVS r3,#0 +00000a 4a03 LDR r2,|L6.24| +00000c 2119 MOVS r1,#0x19 +00000e 2003 MOVS r0,#3 +000010 f7fffffe BL hal_timer_start +;;;205 } +000014 bd10 POP {r4,pc} +;;;206 + ENDP + +000016 0000 DCW 0x0000 + |L6.24| + DCD tp_int_high_timer_callback + + AREA ||.bss||, DATA, NOINIT, ALIGN=0 + + phone_reg_coord_back + % 80 + + AREA ||.constdata||, DATA, READONLY, ALIGN=0 + + phone_data_86_0 +000000 ffffffff DCB 0xff,0xff,0xff,0xff +000004 ffffffff DCB 0xff,0xff,0xff,0xff + phone_data_86_1 +000008 00000000 DCB 0x00,0x00,0x00,0x00 +00000c 00000000 DCB 0x00,0x00,0x00,0x00 + phone_data_86_2 +000010 03000000 DCB 0x03,0x00,0x00,0x00 +000014 00000000 DCB 0x00,0x00,0x00,0x00 + phone_data_86_3 +000018 4301a406 DCB 0x43,0x01,0xa4,0x06 +00001c 70000000 DCB 0x70,0x00,0x00,0x00 + phone_data_86_4 +000020 321e0105 DCB 0x32,0x1e,0x01,0x05 +000024 0104000f DCB 0x01,0x04,0x00,0x0f + phone_data_86_5 +000028 96969696 DCB 0x96,0x96,0x96,0x96 +00002c 04c004ff DCB 0x04,0xc0,0x04,0xff + phone_data_86_6 +000030 ffffffff DCB 0xff,0xff,0xff,0xff +000034 ffff04ff DCB 0xff,0xff,0x04,0xff + phone_data_86_7 +000038 ffffffff DCB 0xff,0xff,0xff,0xff +00003c ffff0400 DCB 0xff,0xff,0x04,0x00 + phone_data_86_8 +000040 00000000 DCB 0x00,0x00,0x00,0x00 +000044 00000400 DCB 0x00,0x00,0x04,0x00 + phone_data_86_9 +000048 00000000 DCB 0x00,0x00,0x00,0x00 +00004c 00000403 DCB 0x00,0x00,0x04,0x03 + phone_data_86_10 +000050 00000000 DCB 0x00,0x00,0x00,0x00 +000054 000004a5 DCB 0x00,0x00,0x04,0xa5 + phone_data_86_11 +000058 01000443 DCB 0x01,0x00,0x04,0x43 +00005c 01a40670 DCB 0x01,0xa4,0x06,0x70 + phone_data_86_12 +000060 000004a5 DCB 0x00,0x00,0x04,0xa5 +000064 70020000 DCB 0x70,0x02,0x00,0x00 + phone_data_86_13 +000068 00084f70 DCB 0x00,0x08,0x4f,0x70 +00006c cb483832 DCB 0xcb,0x48,0x38,0x32 + phone_data_86_14 +000070 45325200 DCB 0x45,0x32,0x52,0x00 +000074 04ffffff DCB 0x04,0xff,0xff,0xff + phone_data_86_15 +000078 ffffffff DCB 0xff,0xff,0xff,0xff +00007c 04ffffff DCB 0x04,0xff,0xff,0xff + phone_data_86_16 +000080 ffffffff DCB 0xff,0xff,0xff,0xff +000084 04000000 DCB 0x04,0x00,0x00,0x00 + phone_data_86_17 +000088 00000000 DCB 0x00,0x00,0x00,0x00 +00008c 04000000 DCB 0x04,0x00,0x00,0x00 + phone_data_86_18 +000090 00000000 DCB 0x00,0x00,0x00,0x00 +000094 04030000 DCB 0x04,0x03,0x00,0x00 + phone_data_86_19 +000098 00000000 DCB 0x00,0x00,0x00,0x00 +00009c 04430501 DCB 0x04,0x43,0x05,0x01 + phone_data_86_20 +0000a0 00000000 DCB 0x00,0x00,0x00,0x00 +0000a4 044301a0 DCB 0x04,0x43,0x01,0xa0 + phone_data_86_21 +0000a8 01000000 DCB 0x01,0x00,0x00,0x00 +0000ac 00000000 DCB 0x00,0x00,0x00,0x00 + phone_data_86_1800 +0000b0 4301a406 DCB 0x43,0x01,0xa4,0x06 +0000b4 70000000 DCB 0x70,0x00,0x00,0x00 + phone_data_86_4000 +0000b8 03003936 DCB 0x03,0x00,0x39,0x36 +0000bc 00000000 DCB 0x00,0x00,0x00,0x00 + phone_data_A6_0 +0000c0 a5010100 DCB 0xa5,0x01,0x01,0x00 +0000c4 00000002 DCB 0x00,0x00,0x00,0x02 +0000c8 03003936 DCB 0x03,0x00,0x39,0x36 +0000cc 00000000 DCB 0x00,0x00,0x00,0x00 +0000d0 54003919 DCB 0x54,0x00,0x39,0x19 +0000d4 30000000 DCB 0x30,0x00,0x00,0x00 +0000d8 ffff0000 DCB 0xff,0xff,0x00,0x00 +0000dc 09090900 DCB 0x09,0x09,0x09,0x00 +0000e0 3937004d DCB 0x39,0x37,0x00,0x4d +0000e4 504b3758 DCB 0x50,0x4b,0x37,0x58 +0000e8 0b000000 DCB 0x0b,0x00,0x00,0x00 +0000ec 01140000 DCB 0x01,0x14,0x00,0x00 +0000f0 18710000 DCB 0x18,0x71,0x00,0x00 +0000f4 00000000 DCB 0x00,0x00,0x00,0x00 +0000f8 50354f54 DCB 0x50,0x35,0x4f,0x54 +0000fc 3b383329 DCB 0x3b,0x38,0x33,0x29 +000100 00000000 DCB 0x00,0x00,0x00,0x00 +000104 00000000 DCB 0x00,0x00,0x00,0x00 +000108 00000000 DCB 0x00,0x00,0x00,0x00 +00010c 00000000 DCB 0x00,0x00,0x00,0x00 +000110 61041b02 DCB 0x61,0x04,0x1b,0x02 +000114 070f0000 DCB 0x07,0x0f,0x00,0x00 +000118 00000000 DCB 0x00,0x00,0x00,0x00 +00011c 00000000 DCB 0x00,0x00,0x00,0x00 +000120 00000000 DCB 0x00,0x00,0x00,0x00 +000124 00000000 DCB 0x00,0x00,0x00,0x00 +000128 00000000 DCB 0x00,0x00,0x00,0x00 +00012c 00000000 DCB 0x00,0x00,0x00,0x00 +000130 00000000 DCB 0x00,0x00,0x00,0x00 +000134 00000000 DCB 0x00,0x00,0x00,0x00 +000138 00000000 DCB 0x00,0x00,0x00,0x00 +00013c 00000000 DCB 0x00,0x00,0x00,0x00 +000140 74290000 DCB 0x74,0x29,0x00,0x00 +000144 00000000 DCB 0x00,0x00,0x00,0x00 +000148 3e387f1f DCB 0x3e,0x38,0x7f,0x1f +00014c 1d222c29 DCB 0x1d,0x22,0x2c,0x29 +000150 4c37410d DCB 0x4c,0x37,0x41,0x0d +000154 7c0d4a2c DCB 0x7c,0x0d,0x4a,0x2c +000158 6137560d DCB 0x61,0x37,0x56,0x0d +00015c 110d5f2c DCB 0x11,0x0d,0x5f,0x2c +000160 00000000 DCB 0x00,0x00,0x00,0x00 +000164 00000000 DCB 0x00,0x00,0x00,0x00 +000168 00000000 DCB 0x00,0x00,0x00,0x00 +00016c 00000000 DCB 0x00,0x00,0x00,0x00 +000170 00000000 DCB 0x00,0x00,0x00,0x00 +000174 00000000 DCB 0x00,0x00,0x00,0x00 +000178 00000000 DCB 0x00,0x00,0x00,0x00 +00017c 00000000 DCB 0x00,0x00,0x00,0x00 +000180 00000000 DCB 0x00,0x00,0x00,0x00 +000184 00000000 DCB 0x00,0x00,0x00,0x00 +000188 00000000 DCB 0x00,0x00,0x00,0x00 +00018c 00000000 DCB 0x00,0x00,0x00,0x00 + phone_data_A6_1 +000190 a5010100 DCB 0xa5,0x01,0x01,0x00 + phone_data_A6_2 +000194 a5700200 DCB 0xa5,0x70,0x02,0x00 +000198 00010000 DCB 0x00,0x01,0x00,0x00 +00019c 00000000 DCB 0x00,0x00,0x00,0x00 +0001a0 00000000 DCB 0x00,0x00,0x00,0x00 +0001a4 084f70cb DCB 0x08,0x4f,0x70,0xcb +0001a8 481c1902 DCB 0x48,0x1c,0x19,0x02 +0001ac 22192900 DCB 0x22,0x19,0x29,0x00 + phone_data_A6_3 +0001b0 00000000 DCB 0x00,0x00,0x00,0x00 + phone_data_A6_4 +0001b4 a5700200 DCB 0xa5,0x70,0x02,0x00 +0001b8 00010000 DCB 0x00,0x01,0x00,0x00 +0001bc 00000000 DCB 0x00,0x00,0x00,0x00 +0001c0 00000000 DCB 0x00,0x00,0x00,0x00 +0001c4 084f70cb DCB 0x08,0x4f,0x70,0xcb +0001c8 48383205 DCB 0x48,0x38,0x32,0x05 +0001cc 45325200 DCB 0x45,0x32,0x52,0x00 + phone_data_A6_5 +0001d0 ffffffff DCB 0xff,0xff,0xff,0xff + phone_data_A6_6 +0001d4 00391930 DCB 0x00,0x39,0x19,0x30 +0001d8 000000ff DCB 0x00,0x00,0x00,0xff +0001dc ff000009 DCB 0xff,0x00,0x00,0x09 +0001e0 09090039 DCB 0x09,0x09,0x00,0x39 +0001e4 37004d50 DCB 0x37,0x00,0x4d,0x50 +0001e8 4b37580b DCB 0x4b,0x37,0x58,0x0b +0001ec 00000001 DCB 0x00,0x00,0x00,0x01 +0001f0 29000030 DCB 0x29,0x00,0x00,0x30 +0001f4 e2000000 DCB 0xe2,0x00,0x00,0x00 +0001f8 000000a1 DCB 0x00,0x00,0x00,0xa1 +0001fc 6b9fa977 DCB 0x6b,0x9f,0xa9,0x77 +000200 70665200 DCB 0x70,0x66,0x52,0x00 +000204 00000000 DCB 0x00,0x00,0x00,0x00 +000208 00000000 DCB 0x00,0x00,0x00,0x00 +00020c 00000000 DCB 0x00,0x00,0x00,0x00 +000210 000000c3 DCB 0x00,0x00,0x00,0xc3 +000214 0837040f DCB 0x08,0x37,0x04,0x0f +000218 1f000000 DCB 0x1f,0x00,0x00,0x00 +00021c 00000000 DCB 0x00,0x00,0x00,0x00 +000220 00000000 DCB 0x00,0x00,0x00,0x00 +000224 00000000 DCB 0x00,0x00,0x00,0x00 +000228 00000000 DCB 0x00,0x00,0x00,0x00 +00022c 00000000 DCB 0x00,0x00,0x00,0x00 +000230 00000000 DCB 0x00,0x00,0x00,0x00 +000234 00000000 DCB 0x00,0x00,0x00,0x00 +000238 00000000 DCB 0x00,0x00,0x00,0x00 +00023c 00000000 DCB 0x00,0x00,0x00,0x00 +000240 000000e8 DCB 0x00,0x00,0x00,0xe8 +000244 52000000 DCB 0x52,0x00,0x00,0x00 +000248 0000007c DCB 0x00,0x00,0x00,0x7c +00024c 71fe3e3a DCB 0x71,0xfe,0x3e,0x3a +000250 45585398 DCB 0x45,0x58,0x53,0x98 +000254 6e821af8 DCB 0x6e,0x82,0x1a,0xf8 +000258 1a9459c2 DCB 0x1a,0x94,0x59,0xc2 +00025c 6eac1a22 DCB 0x6e,0xac,0x1a,0x22 +000260 1bbe5900 DCB 0x1b,0xbe,0x59,0x00 +000264 00000000 DCB 0x00,0x00,0x00,0x00 +000268 00000000 DCB 0x00,0x00,0x00,0x00 +00026c 00000000 DCB 0x00,0x00,0x00,0x00 +000270 00000000 DCB 0x00,0x00,0x00,0x00 +000274 00000000 DCB 0x00,0x00,0x00,0x00 +000278 00000000 DCB 0x00,0x00,0x00,0x00 +00027c 00000000 DCB 0x00,0x00,0x00,0x00 +000280 00000000 DCB 0x00,0x00,0x00,0x00 +000284 00000000 DCB 0x00,0x00,0x00,0x00 +000288 00000000 DCB 0x00,0x00,0x00,0x00 +00028c 00000000 DCB 0x00,0x00,0x00,0x00 +000290 00000004 DCB 0x00,0x00,0x00,0x04 +000294 a5010100 DCB 0xa5,0x01,0x01,0x00 +000298 044301a4 DCB 0x04,0x43,0x01,0xa4 +00029c 06700000 DCB 0x06,0x70,0x00,0x00 +0002a0 0004a570 DCB 0x00,0x04,0xa5,0x70 + phone_data_FA_0 +0002a4 00 DCB 0x00 + phone_data_FA_1 +0002a5 a501 DCB 0xa5,0x01 + phone_data_FA_2 +0002a7 00 DCB 0x00 +0002a8 04 DCB 0x04 + phone_data_43 +0002a9 000000 DCB 0x00,0x00,0x00 +0002ac 00000000 DCB 0x00,0x00,0x00,0x00 +0002b0 00 DCB 0x00 + screen_87_data +0002b1 87 DCB 0x87 + screen_a0_00_ff_data +0002b2 a000 DCB 0xa0,0x00 +0002b4 ff DCB 0xff + screen_a4_06_c1_data +0002b5 a406c1 DCB 0xa4,0x06,0xc1 + screen_reg_int_data_size +0002b8 03 DCB 0x03 + screen_reg_start_data_size +0002b9 04 DCB 0x04 + + AREA ||.data||, DATA, ALIGN=2 + + phone_data_B1 +000000 0082 DCB 0x00,0x82 + tp_flag +000002 00 DCB 0x00 + s8_host_num +000003 02 DCB 0x02 +000004 02040608 DCB 0x02,0x04,0x06,0x08 +000008 0a0c0e10 DCB 0x0a,0x0c,0x0e,0x10 +00000c 1214 DCB 0x12,0x14 + s8_host_id +00000e 0010 DCB 0x00,0x10 +000010 20304050 DCB 0x20,0x30,0x40,0x50 +000014 60708090 DCB 0x60,0x70,0x80,0x90 + g_screen_input_rst_pad +000018 08 DCB 0x08 + g_screen_input_int_pad +000019 09 DCB 0x09 + g_phone_input_rst_pad +00001a 15 DCB 0x15 + g_phone_output_int_pad +00001b 02 DCB 0x02 + Flag_EA_EN +00001c 00 DCB 0x00 + Flag_touch_count +00001d 00 DCB 0x00 + touch_send_flag +00001e 00 DCB 0x00 + touch_recv_flag +00001f 00 DCB 0x00 + touchnum_bak +000020 00 DCB 0x00 + Flag_blacklight_EN +000021 00 DCB 0x00 + first_touch +000022 0000 DCW 0x0000 + first_send +000024 0000 DCW 0x0000 + flnger_state_flg +000026 0000 DCW 0x0000 + screen_data_write_1 +000028 04 DCB 0x04 + screen_data_write_2 +000029 08 DCB 0x08 + screen_data_write_3 +00002a 00 DCB 0x00 + screen_data_write_4 +00002b ff DCB 0xff +00002c 00 DCB 0x00 + screen_data_write_5 +00002d 1fff DCB 0x1f,0xff + screen_data_write_6 +00002f 0e DCB 0x0e +000030 24 DCB 0x24 + screen_data_write_7 +000031 2401 DCB 0x24,0x01 + screen_data_write_8 +000033 0d DCB 0x0d +000034 00 DCB 0x00 + screen_data_write_9 +000035 0e00 DCB 0x0e,0x00 + screen_data_write_10 +000037 0e DCB 0x0e +000038 07 DCB 0x07 + screen_data_write_11 +000039 0d DCB 0x0d + screen_data_write_12 +00003a 0500 DCB 0x05,0x00 + screen_reg_int_data + DCD screen_data_write_1 + DCD 0x00000001 + DCD 0x00000002 +000048 01000000 DCB 0x01,0x00,0x00,0x00 + DCD screen_data_write_2 + DCD 0x00000001 + DCD 0x00000002 +000058 01000000 DCB 0x01,0x00,0x00,0x00 + DCD screen_data_write_3 + DCD 0x00000001 + DCD 0x00000008 +000068 01000000 DCB 0x01,0x00,0x00,0x00 + screen_reg_start_data + DCD screen_data_write_4 + DCD 0x00000002 + DCD 0x00000002 +000078 00000000 DCB 0x00,0x00,0x00,0x00 + DCD screen_data_write_5 + DCD 0x00000002 + DCD 0x00000002 +000088 00000000 DCB 0x00,0x00,0x00,0x00 + DCD screen_data_write_6 + DCD 0x00000002 + DCD 0x00000008 +000098 00000000 DCB 0x00,0x00,0x00,0x00 + DCD screen_data_write_7 + DCD 0x00000002 + DCD 0x00000008 +0000a8 00000000 DCB 0x00,0x00,0x00,0x00 + phone_reg_point_data +0000ac b60023 DCB 0xb6,0x00,0x23 + phone_reg_point_back +0000af 05 DCB 0x05 +0000b0 02 DCB 0x02 + phone_reg_coord_data +0000b1 860000 DCB 0x86,0x00,0x00 + phone_reg_int_data +0000b4 03000000 DCB 0x03,0x00,0x00,0x00 + DCD 0x00000002 + DCD phone_reg_point_data + DCD phone_reg_point_back +0000c4 01000000 DCB 0x01,0x00,0x00,0x00 + DCD 0x00000050 + DCD phone_reg_coord_data + DCD phone_reg_coord_back + phone_reg_int_size +0000d4 02000000 DCB 0x02,0x00,0x00,0x00 + phone_reg_const_data +0000d8 00 DCB 0x00 + phone_reg_const_data_size +0000d9 00 DCB 0x00 + app_tp_count +0000da 0000 DCB 0x00,0x00 + point_counter +0000dc 0000 DCW 0x0000 + phone_A6_flag +0000de 00 DCB 0x00 + phone_FA_flag +0000df 00 DCB 0x00 + phone_86_flag +0000e0 00 DCB 0x00 + |symbol_number.31| +0000e1 00 DCB 0x00 + |symbol_number.32| +0000e2 0000 DCB 0x00,0x00 + |symbol_number.33| +0000e4 0000 DCW 0x0000 + phone_poweron_flag +0000e6 00 DCB 0x00 + +;*** Start embedded assembler *** + +#line 1 "..\\..\\src\\app\\ap_demo\\app_tp_for_custom_mi8se.c" + AREA ||.rev16_text||, CODE + THUMB + EXPORT |__asm___25_app_tp_for_custom_mi8se_c_9df6279d____REV16| +#line 467 "C:\\Keil_v5\\ARM\\PACK\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h" +|__asm___25_app_tp_for_custom_mi8se_c_9df6279d____REV16| PROC +#line 468 + + rev16 r0, r0 + bx lr + ENDP + AREA ||.revsh_text||, CODE + THUMB + EXPORT |__asm___25_app_tp_for_custom_mi8se_c_9df6279d____REVSH| +#line 482 +|__asm___25_app_tp_for_custom_mi8se_c_9df6279d____REVSH| PROC +#line 483 + + revsh r0, r0 + bx lr + ENDP + +;*** End embedded assembler *** diff --git a/project/ISP_368/Listings/app_tp_transfer.txt b/project/ISP_368/Listings/app_tp_transfer.txt new file mode 100644 index 0000000..a52f3de --- /dev/null +++ b/project/ISP_368/Listings/app_tp_transfer.txt @@ -0,0 +1,1198 @@ +; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637] +; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\app_tp_transfer.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\app_tp_transfer.d --cpu=Cortex-M0 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL368 -I..\..\src\app\ap_demo -I.\RTE\_ISP_368 -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_368 --omf_browse=.\objects\app_tp_transfer.crf ..\..\src\app\ap_demo\app_tp_transfer.c] + THUMB + + AREA ||i.ap_tp_scan_point_init||, CODE, READONLY, ALIGN=2 + + ap_tp_scan_point_init PROC +;;;725 +;;;726 void ap_tp_scan_point_init(void) +000000 2000 MOVS r0,#0 +;;;727 { +;;;728 uint8_t i=0; +;;;729 +;;;730 for(i=0;i0) // в +000020 4807 LDR r0,|L2.64| +000022 7980 LDRB r0,[r0,#6] ; tp_scan_data +000024 2800 CMP r0,#0 +000026 dd07 BLE |L2.56| +;;;750 { +;;;751 printf("release finger %2d\n",tp_scan_data.tp_read_point_counter); +000028 4805 LDR r0,|L2.64| +00002a 7981 LDRB r1,[r0,#6] ; tp_scan_data +00002c a006 ADR r0,|L2.72| +00002e f7fffffe BL __2printf +;;;752 tp_scan_data.tp_read_point_counter = 0; +000032 2000 MOVS r0,#0 +000034 4902 LDR r1,|L2.64| +000036 7188 STRB r0,[r1,#6] + |L2.56| +;;;753 // ap_tp_simulate_finger_release_event(); +;;;754 } +;;;755 +;;;756 ap_tp_scan_point_init(); +000038 f7fffffe BL ap_tp_scan_point_init + |L2.60| +;;;757 } +;;;758 } +;;;759 +;;;760 } +00003c bd10 POP {r4,pc} +;;;761 + ENDP + +00003e 0000 DCW 0x0000 + |L2.64| + DCD tp_scan_data + |L2.68| + DCD 0x00001999 + |L2.72| +000048 72656c65 DCB "release finger %2d\n",0 +00004c 61736520 +000050 66696e67 +000054 65722025 +000058 32640a00 + + AREA ||i.app_tp_i2cs_callback||, CODE, READONLY, ALIGN=2 + + app_tp_i2cs_callback PROC +;;;337 #if PHONE_SLAVE_TRANSFER_I2C //warning +;;;338 static void app_tp_i2cs_callback(e_i2c_s_int_status int_status, size_t recieve_num) +000000 b570 PUSH {r4-r6,lr} +;;;339 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;340 static bool i2cs_transfer = true; //ȷһֻͨһ +;;;341 if (i2cs_transfer) +000006 480c LDR r0,|L3.56| +000008 7800 LDRB r0,[r0,#0] ; i2cs_transfer +00000a 2800 CMP r0,#0 +00000c d005 BEQ |L3.26| +;;;342 { +;;;343 i2cs_transfer = false; +00000e 2000 MOVS r0,#0 +000010 4909 LDR r1,|L3.56| +000012 7008 STRB r0,[r1,#0] +;;;344 app_tp_transfer_phone(recieve_num); +000014 4628 MOV r0,r5 +000016 f7fffffe BL app_tp_transfer_phone + |L3.26| +;;;345 } +;;;346 if (int_status == I2C_S_INT_READ) +00001a 2c00 CMP r4,#0 +00001c d106 BNE |L3.44| +;;;347 { +;;;348 app_tp_s_write(s_slave_txbuffer, s_slave_txbuffer_size); +00001e 4807 LDR r0,|L3.60| +000020 6801 LDR r1,[r0,#0] ; s_slave_txbuffer_size +000022 4807 LDR r0,|L3.64| +000024 6800 LDR r0,[r0,#0] ; s_slave_txbuffer +000026 f7fffffe BL app_tp_s_write +00002a e004 B |L3.54| + |L3.44| +;;;349 } +;;;350 else if (int_status == I2C_S_INT_STOP) +00002c 2c02 CMP r4,#2 +00002e d102 BNE |L3.54| +;;;351 { +;;;352 i2cs_transfer = true; +000030 2001 MOVS r0,#1 +000032 4901 LDR r1,|L3.56| +000034 7008 STRB r0,[r1,#0] + |L3.54| +;;;353 } +;;;354 } +000036 bd70 POP {r4-r6,pc} +;;;355 #endif + ENDP + + |L3.56| + DCD i2cs_transfer + |L3.60| + DCD s_slave_txbuffer_size + |L3.64| + DCD s_slave_txbuffer + + AREA ||i.app_tp_init||, CODE, READONLY, ALIGN=2 + + app_tp_init PROC +;;;142 **************************************************************************/ +;;;143 void app_tp_init(void) +000000 b510 PUSH {r4,lr} +;;;144 { +;;;145 #ifdef ADD_MCU_BD826 +;;;146 hal_gpio_init_output(IO_PAD_TD_SPIM_MOSI, IO_LVL_HIGH); //ʼTP_reset, +;;;147 hal_gpio_init_input(IO_PAD_TD_SPIM_MISO); +;;;148 #endif +;;;149 +;;;150 #ifdef DISABLE_TDDI_I2C_FUNCTION +;;;151 hal_gpio_set_mode(IO_PAD_TD_SPIM_CLK,IO_MODE_I2C1_SCL); +;;;152 hal_gpio_set_mode(IO_PAD_TD_SPIM_CSN,IO_MODE_I2C1_SDA); +;;;153 +;;;154 return; +;;;155 #else +;;;156 hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CLK, ENABLE, DISABLE); +000002 2200 MOVS r2,#0 +000004 2101 MOVS r1,#1 +000006 2018 MOVS r0,#0x18 +000008 f7fffffe BL hal_gpio_set_pull_state +;;;157 hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CSN, ENABLE, DISABLE); +00000c 2200 MOVS r2,#0 +00000e 2101 MOVS r1,#1 +000010 2019 MOVS r0,#0x19 +000012 f7fffffe BL hal_gpio_set_pull_state +;;;158 #endif +;;;159 +;;;160 //app_tp_phone_reset_init(); //ʼֻλIO +;;;161 app_tp_screen_int_init(); //screenж +000016 f7fffffe BL app_tp_screen_int_init +;;;162 #ifdef G_PHONE_INT_DEFAULT_LOW +;;;163 hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_LOW); //phoneжIO +;;;164 #else +;;;165 hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_HIGH); //phoneжIO +00001a 2101 MOVS r1,#1 +00001c 480c LDR r0,|L4.80| +00001e 7800 LDRB r0,[r0,#0] ; g_phone_output_int_pad +000020 f7fffffe BL hal_gpio_init_output +;;;166 #endif +;;;167 hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH); //ģTP RESET +000024 2101 MOVS r1,#1 +000026 480b LDR r0,|L4.84| +000028 7800 LDRB r0,[r0,#0] ; g_screen_input_rst_pad +00002a f7fffffe BL hal_gpio_init_output +;;;168 +;;;169 #if SCREEN_MASTER_TRANSFER_I2C +;;;170 hal_i2c_m_dma_init(SCREEN_I2C_ADDRESS, SCREEN_I2C_ADDR_BITS, I2C_MASTER_SPEED); +00002e 4a0a LDR r2,|L4.88| +000030 2107 MOVS r1,#7 +000032 2038 MOVS r0,#0x38 +000034 f7fffffe BL hal_i2c_m_dma_init +;;;171 #elif SCREEN_MASTER_TRANSFER_SPI +;;;172 hal_spi_m_dma_init(SPI_MASTER_SPEED, SCREEN_SPI_CPHA, SCREEN_SPI_CPOL); +;;;173 #endif +;;;174 +;;;175 #if PHONE_SLAVE_TRANSFER_I2C +;;;176 hal_i2c_s_init(CHIP_I2C_ADDRESS, CHIP_I2C_ADDR_BITS); +000038 2107 MOVS r1,#7 +00003a 2049 MOVS r0,#0x49 +00003c f7fffffe BL hal_i2c_s_init +;;;177 hal_i2c_s_set_transfer(app_tp_i2cs_callback); +000040 4806 LDR r0,|L4.92| +000042 f7fffffe BL hal_i2c_s_set_transfer +;;;178 hal_i2c_s_nonblocking_read(s_phone_read_buffer, BUFFER_SIZE_MAX); //ý buffer +000046 21c8 MOVS r1,#0xc8 +000048 4805 LDR r0,|L4.96| +00004a f7fffffe BL hal_i2c_s_nonblocking_read +;;;179 #elif PHONE_SLAVE_TRANSFER_SPI +;;;180 hal_spi_slave_init(PHONE_SPI_CPHA, PHONE_SPI_CPOL, true); // ʼspiԼdma +;;;181 hal_spi_slave_register_callback(app_tp_spis_callback); // עص +;;;182 hal_spi_slave_auto_transfer_abort(); // ֹͣ +;;;183 hal_spi_slave_flush_fifo(); // Flush FIFO +;;;184 +;;;185 /* ÿpacketԶ, circle mode Ϊfalse, յbuffer max sizeݺbufferٸ, packetɺûص */ +;;;186 hal_spi_slave_set_auto_rx_buffer(s_phone_read_buffer, BUFFER_SIZE_MAX, false); // auto rx buffer +;;;187 hal_spi_slave_set_auto_tx_buffer(phone_reg_const_data[0].write_back, phone_reg_const_data[0].write_back_size, false); // TX BUFFER +;;;188 +;;;189 hal_spi_slave_enable(); // spis +;;;190 hal_spi_slave_auto_transfer_start(); // rxԶ +;;;191 #endif +;;;192 +;;;193 } +00004e bd10 POP {r4,pc} +;;;194 + ENDP + + |L4.80| + DCD g_phone_output_int_pad + |L4.84| + DCD g_screen_input_rst_pad + |L4.88| + DCD 0x00061a80 + |L4.92| + DCD app_tp_i2cs_callback + |L4.96| + DCD s_phone_read_buffer + + AREA ||i.app_tp_m_read||, CODE, READONLY, ALIGN=1 + + app_tp_m_read PROC +;;;258 **************************************************************************/ +;;;259 static void app_tp_m_read(const uint8_t *cmd, size_t cmd_size, uint8_t *data_buffer, size_t data_size) +000000 b5ff PUSH {r0-r7,lr} +;;;260 { +000002 b081 SUB sp,sp,#4 +000004 4605 MOV r5,r0 +000006 460e MOV r6,r1 +;;;261 #if SCREEN_MASTER_TRANSFER_I2C +;;;262 uint8_t i = 0; +000008 2400 MOVS r4,#0 +;;;263 uint32_t address = 0; +00000a 2700 MOVS r7,#0 +;;;264 +;;;265 for (i = 0; i < cmd_size; i++) //ȽҪ͵ϵ address +00000c bf00 NOP +00000e e005 B |L5.28| + |L5.16| +;;;266 { +;;;267 address |= (uint32_t)cmd[i] << i * 8; +000010 5d28 LDRB r0,[r5,r4] +000012 00e1 LSLS r1,r4,#3 +000014 4088 LSLS r0,r0,r1 +000016 4307 ORRS r7,r7,r0 +000018 1c60 ADDS r0,r4,#1 ;265 +00001a b2c4 UXTB r4,r0 ;265 + |L5.28| +00001c 42b4 CMP r4,r6 ;265 +00001e d3f7 BCC |L5.16| +;;;268 } +;;;269 hal_i2c_m_dma_read(address, cmd_size, data_buffer, data_size); +000020 4631 MOV r1,r6 +000022 4638 MOV r0,r7 +000024 9b04 LDR r3,[sp,#0x10] +000026 9a03 LDR r2,[sp,#0xc] +000028 f7fffffe BL hal_i2c_m_dma_read +;;;270 #elif SCREEN_MASTER_TRANSFER_SPI +;;;271 hal_spi_m_dma_read(cmd, cmd_size, data_buffer, data_size); +;;;272 #endif +;;;273 } +00002c b005 ADD sp,sp,#0x14 +00002e bdf0 POP {r4-r7,pc} +;;;274 + ENDP + + + AREA ||i.app_tp_m_transfer_complate||, CODE, READONLY, ALIGN=1 + + app_tp_m_transfer_complate PROC +;;;201 **************************************************************************/ +;;;202 bool app_tp_m_transfer_complate(void) +000000 b510 PUSH {r4,lr} +;;;203 { +;;;204 #if SCREEN_MASTER_TRANSFER_I2C +;;;205 return hal_i2c_m_transfer_complate(); +000002 f7fffffe BL hal_i2c_m_transfer_complate +;;;206 #elif SCREEN_MASTER_TRANSFER_SPI +;;;207 return hal_spi_m_get_transfer_complate(); +;;;208 #else +;;;209 return true; +;;;210 #endif +;;;211 } +000006 bd10 POP {r4,pc} +;;;212 + ENDP + + + AREA ||i.app_tp_m_write||, CODE, READONLY, ALIGN=1 + + app_tp_m_write PROC +;;;238 **************************************************************************/ +;;;239 static void app_tp_m_write(const uint8_t *txbuffer, size_t buffer_size) +000000 b570 PUSH {r4-r6,lr} +;;;240 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;241 #if SCREEN_MASTER_TRANSFER_I2C +;;;242 hal_i2c_m_dma_write(txbuffer, buffer_size); +000006 4629 MOV r1,r5 +000008 4620 MOV r0,r4 +00000a f7fffffe BL hal_i2c_m_dma_write +;;;243 #elif SCREEN_MASTER_TRANSFER_SPI +;;;244 hal_spi_m_dma_write(txbuffer, buffer_size); +;;;245 s_spim_write = true; +;;;246 #endif +;;;247 } +00000e bd70 POP {r4-r6,pc} +;;;248 + ENDP + + + AREA ||i.app_tp_phone_clear_reset_on||, CODE, READONLY, ALIGN=2 + + app_tp_phone_clear_reset_on PROC +;;;781 **************************************************************************/ +;;;782 void app_tp_phone_clear_reset_on(void) +000000 2000 MOVS r0,#0 +;;;783 { +;;;784 s_phone_reset_flag = false; +000002 4901 LDR r1,|L8.8| +000004 7008 STRB r0,[r1,#0] +;;;785 } +000006 4770 BX lr +;;;786 + ENDP + + |L8.8| + DCD s_phone_reset_flag + + AREA ||i.app_tp_phone_reset_on||, CODE, READONLY, ALIGN=2 + + app_tp_phone_reset_on PROC +;;;769 **************************************************************************/ +;;;770 bool app_tp_phone_reset_on(void) +000000 4801 LDR r0,|L9.8| +;;;771 { +;;;772 return s_phone_reset_flag; +000002 7800 LDRB r0,[r0,#0] ; s_phone_reset_flag +;;;773 } +000004 4770 BX lr +;;;774 + ENDP + +000006 0000 DCW 0x0000 + |L9.8| + DCD s_phone_reset_flag + + AREA ||i.app_tp_s_read||, CODE, READONLY, ALIGN=1 + + app_tp_s_read PROC +;;;303 **************************************************************************/ +;;;304 void app_tp_s_read(void *rxBuffer, size_t data_size) +000000 b570 PUSH {r4-r6,lr} +;;;305 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;306 #if PHONE_SLAVE_TRANSFER_I2C +;;;307 hal_i2c_s_nonblocking_read(rxBuffer, data_size); +000006 4629 MOV r1,r5 +000008 4620 MOV r0,r4 +00000a f7fffffe BL hal_i2c_s_nonblocking_read +;;;308 #endif +;;;309 } +00000e bd70 POP {r4-r6,pc} +;;;310 + ENDP + + + AREA ||i.app_tp_s_transfer_complate||, CODE, READONLY, ALIGN=1 + + app_tp_s_transfer_complate PROC +;;;219 **************************************************************************/ +;;;220 bool app_tp_s_transfer_complate(void) +000000 b510 PUSH {r4,lr} +;;;221 { +;;;222 #if SCREEN_MASTER_TRANSFER_I2C +;;;223 return hal_i2c_s_write_complate() && hal_i2c_s_read_complate(); +000002 f7fffffe BL hal_i2c_s_write_complate +000006 2800 CMP r0,#0 +000008 d005 BEQ |L11.22| +00000a f7fffffe BL hal_i2c_s_read_complate +00000e 2800 CMP r0,#0 +000010 d001 BEQ |L11.22| +000012 2001 MOVS r0,#1 + |L11.20| +;;;224 #elif SCREEN_MASTER_TRANSFER_SPI +;;;225 return !hal_spi_slave_busy(); +;;;226 #else +;;;227 return true; +;;;228 #endif +;;;229 } +000014 bd10 POP {r4,pc} + |L11.22| +000016 2000 MOVS r0,#0 ;223 +000018 e7fc B |L11.20| +;;;230 + ENDP + + + AREA ||i.app_tp_s_write||, CODE, READONLY, ALIGN=1 + + app_tp_s_write PROC +;;;282 **************************************************************************/ +;;;283 void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size) +000000 b570 PUSH {r4-r6,lr} +;;;284 { +000002 4604 MOV r4,r0 +000004 460d MOV r5,r1 +;;;285 #if PHONE_SLAVE_TRANSFER_I2C +;;;286 hal_i2c_s_dma_write(txbuffer, buffer_size); +000006 4629 MOV r1,r5 +000008 4620 MOV r0,r4 +00000a f7fffffe BL hal_i2c_s_dma_write +;;;287 #elif PHONE_SLAVE_TRANSFER_SPI +;;;288 //while (hal_spi_slave_busy()); +;;;289 hal_spi_slave_auto_transfer_abort(); +;;;290 hal_spi_slave_flush_fifo(); +;;;291 hal_spi_slave_set_auto_tx_buffer(txbuffer, buffer_size, true); +;;;292 hal_spi_slave_auto_transfer_start(); +;;;293 #endif +;;;294 } +00000e bd70 POP {r4-r6,pc} +;;;295 + ENDP + + + AREA ||i.app_tp_screen_init||, CODE, READONLY, ALIGN=2 + + app_tp_screen_init PROC +;;;126 **************************************************************************/ +;;;127 void app_tp_screen_init(void) +000000 b510 PUSH {r4,lr} +;;;128 { +;;;129 hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH); +000002 2101 MOVS r1,#1 +000004 480a LDR r0,|L13.48| +000006 7800 LDRB r0,[r0,#0] ; g_screen_input_rst_pad +000008 f7fffffe BL hal_gpio_init_output +;;;130 delayUs(200); +00000c 20c8 MOVS r0,#0xc8 +00000e f7fffffe BL delayUs +;;;131 hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_LOW); +000012 2100 MOVS r1,#0 +000014 4806 LDR r0,|L13.48| +000016 7800 LDRB r0,[r0,#0] ; g_screen_input_rst_pad +000018 f7fffffe BL hal_gpio_set_output_data +;;;132 delayUs(200); +00001c 20c8 MOVS r0,#0xc8 +00001e f7fffffe BL delayUs +;;;133 hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH); +000022 2101 MOVS r1,#1 +000024 4802 LDR r0,|L13.48| +000026 7800 LDRB r0,[r0,#0] ; g_screen_input_rst_pad +000028 f7fffffe BL hal_gpio_set_output_data +;;;134 } +00002c bd10 POP {r4,pc} +;;;135 + ENDP + +00002e 0000 DCW 0x0000 + |L13.48| + DCD g_screen_input_rst_pad + + AREA ||i.app_tp_screen_int_callback||, CODE, READONLY, ALIGN=2 + + app_tp_screen_int_callback PROC +;;;57 **************************************************************************/ +;;;58 static void app_tp_screen_int_callback(void *data) +000000 2101 MOVS r1,#1 +;;;59 { +;;;60 s_screen_int_flag = true; +000002 4a01 LDR r2,|L14.8| +000004 7011 STRB r1,[r2,#0] +;;;61 } +000006 4770 BX lr +;;;62 + ENDP + + |L14.8| + DCD s_screen_int_flag + + AREA ||i.app_tp_screen_int_init||, CODE, READONLY, ALIGN=2 + + app_tp_screen_int_init PROC +;;;87 **************************************************************************/ +;;;88 static void app_tp_screen_int_init(void) +000000 b510 PUSH {r4,lr} +;;;89 { +;;;90 hal_gpio_set_pull_state(g_screen_input_int_pad, ENABLE, DISABLE); // 1. +000002 2200 MOVS r2,#0 +000004 2101 MOVS r1,#1 +000006 480c LDR r0,|L15.56| +000008 7800 LDRB r0,[r0,#0] ; g_screen_input_int_pad +00000a f7fffffe BL hal_gpio_set_pull_state +;;;91 hal_gpio_ctrl_eint(g_screen_input_int_pad, DISABLE); // 2.رж +00000e 2100 MOVS r1,#0 +000010 4809 LDR r0,|L15.56| +000012 7800 LDRB r0,[r0,#0] ; g_screen_input_int_pad +000014 f7fffffe BL hal_gpio_ctrl_eint +;;;92 hal_gpio_init_eint(g_screen_input_int_pad, DETECT_FALLING_EDGE); // 3.жϳʼ,TPһ㶼½شж +000018 2103 MOVS r1,#3 +00001a 4807 LDR r0,|L15.56| +00001c 7800 LDRB r0,[r0,#0] ; g_screen_input_int_pad +00001e f7fffffe BL hal_gpio_init_eint +;;;93 hal_gpio_reg_eint_cb(g_screen_input_int_pad, app_tp_screen_int_callback); // 4.עص +000022 4906 LDR r1,|L15.60| +000024 4804 LDR r0,|L15.56| +000026 7800 LDRB r0,[r0,#0] ; g_screen_input_int_pad +000028 f7fffffe BL hal_gpio_reg_eint_cb +;;;94 hal_gpio_ctrl_eint(g_screen_input_int_pad, ENABLE); // 5.ʹж +00002c 2101 MOVS r1,#1 +00002e 4802 LDR r0,|L15.56| +000030 7800 LDRB r0,[r0,#0] ; g_screen_input_int_pad +000032 f7fffffe BL hal_gpio_ctrl_eint +;;;95 } +000036 bd10 POP {r4,pc} +;;;96 + ENDP + + |L15.56| + DCD g_screen_input_int_pad + |L15.60| + DCD app_tp_screen_int_callback + + AREA ||i.app_tp_screen_int_lvl_low||, CODE, READONLY, ALIGN=1 + + app_tp_screen_int_lvl_low PROC +;;;69 **************************************************************************/ +;;;70 static bool app_tp_screen_int_lvl_low(void) +000000 2000 MOVS r0,#0 +;;;71 { +;;;72 #if SCREEN_MASTER_TRANSFER_I2C +;;;73 return false; +;;;74 #elif SCREEN_MASTER_TRANSFER_SPI +;;;75 return !hal_gpio_get_input_data(g_screen_input_int_pad); //ӦSPIͨŹżͻȻCS ͨ쳣 +;;;76 #else +;;;77 return false; +;;;78 #endif +;;;79 } +000002 4770 BX lr +;;;80 + ENDP + + + AREA ||i.app_tp_transfer_phone||, CODE, READONLY, ALIGN=2 + + app_tp_transfer_phone PROC +;;;700 **************************************************************************/ +;;;701 static void app_tp_transfer_phone(size_t recieve_num) +000000 b510 PUSH {r4,lr} +;;;702 { +000002 4604 MOV r4,r0 +;;;703 // const uint8_t *phone_write_buffer; +;;;704 // size_t phone_write_buffer_size = 0; +;;;705 /* ݽжǷҪԼ𸴵bufferָ */ +;;;706 if (recieve_num > 0) +000004 2c00 CMP r4,#0 +000006 d006 BEQ |L17.22| +;;;707 { +;;;708 #if 0// 1: test +;;;709 s_phone_read_buffer[3]=recieve_num; +;;;710 app_tp_m_write(s_phone_read_buffer, 4); +;;;711 #endif +;;;712 // app_tp_phone_analysis_data(s_phone_read_buffer, recieve_num, &phone_write_buffer, &phone_write_buffer_size); +;;;713 // app_tp_phone_analysis_data(s_phone_read_buffer, recieve_num, &s_slave_txbuffer, &s_slave_txbuffer_size); +;;;714 app_tp_phone_analysis_data_custom(s_phone_read_buffer, recieve_num, s_slave_txbuffer, &s_slave_txbuffer_size); +000008 4b05 LDR r3,|L17.32| +00000a 4806 LDR r0,|L17.36| +00000c 4621 MOV r1,r4 +00000e 6802 LDR r2,[r0,#0] ; s_slave_txbuffer +000010 4805 LDR r0,|L17.40| +000012 f7fffffe BL app_tp_phone_analysis_data_custom + |L17.22| +;;;715 // printf("222 %p %x \n",*s_slave_txbuffer,s_slave_txbuffer_size); +;;;716 } +;;;717 +;;;718 app_tp_s_read(s_phone_read_buffer, BUFFER_SIZE_MAX); +000016 21c8 MOVS r1,#0xc8 +000018 4803 LDR r0,|L17.40| +00001a f7fffffe BL app_tp_s_read +;;;719 /* if (phone_write_buffer_size) //0ʾҪֻ÷buffer +;;;720 { +;;;721 app_tp_s_write(phone_write_buffer, phone_write_buffer_size); +;;;722 } +;;;723 */ +;;;724 } +00001e bd10 POP {r4,pc} +;;;725 + ENDP + + |L17.32| + DCD s_slave_txbuffer_size + |L17.36| + DCD s_slave_txbuffer + |L17.40| + DCD s_phone_read_buffer + + AREA ||i.app_tp_transfer_screen_const||, CODE, READONLY, ALIGN=2 + + app_tp_transfer_screen_const PROC +;;;399 **************************************************************************/ +;;;400 static void app_tp_transfer_screen_const(void) +000000 b510 PUSH {r4,lr} +;;;401 { +;;;402 // static bool screen_const_transfer_buffer_ready = true; // buffer Ƿ׼ +;;;403 uint8_t ii; +;;;404 +;;;405 /**** 1. жϵǰ״̬ͨѽ, ״̬ͨѽҿʼ̻δ****/ +;;;406 #if 0 // test +;;;407 uint8_t test_master_read_buffer[10] = {0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19}; +;;;408 uint8_t write_buffer[10] = {0x04, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19}; +;;;409 +;;;410 // for (ii =0x20; ii<0x7F; ii++) +;;;411 { +;;;412 //hal_i2c_m_dma_init(ii, SCREEN_I2C_ADDR_BITS); +;;;413 //delayMs(100); +;;;414 if (hal_i2c_m_dma_write(write_buffer, 1)) +;;;415 { +;;;416 //break; +;;;417 } +;;;418 while(!hal_i2c_m_transfer_complate()); +;;;419 hal_i2c_m_dma_read(test_master_read_buffer, 1, test_master_read_buffer, 2); +;;;420 } +;;;421 #endif +;;;422 +;;;423 +;;;424 if (app_tp_m_transfer_complate() && (s_screen_const_transfer_count < screen_reg_start_data_size)) +000002 f7fffffe BL app_tp_m_transfer_complate +000006 2800 CMP r0,#0 +000008 d014 BEQ |L18.52| +00000a 480b LDR r0,|L18.56| +00000c 7800 LDRB r0,[r0,#0] ; s_screen_const_transfer_count +00000e 490b LDR r1,|L18.60| +000010 7809 LDRB r1,[r1,#0] ; screen_reg_start_data_size +000012 4288 CMP r0,r1 +000014 da0e BGE |L18.52| +;;;425 { +;;;426 if (s_spim_write) //SPI дݺҪѽFIFOݶȻӰһζȡ +000016 480a LDR r0,|L18.64| +000018 7800 LDRB r0,[r0,#0] ; s_spim_write +00001a 2800 CMP r0,#0 +00001c d004 BEQ |L18.40| +;;;427 { +;;;428 hal_spi_m_clear_rxfifo(); +00001e f7fffffe BL hal_spi_m_clear_rxfifo +;;;429 s_spim_write = false; +000022 2000 MOVS r0,#0 +000024 4906 LDR r1,|L18.64| +000026 7008 STRB r0,[r1,#0] + |L18.40| +;;;430 } +;;;431 +;;;432 #if 1 +;;;433 +;;;434 #ifndef USE_FOR_SUMSUNG_S10 +;;;435 for (ii =0; ii= screen_reg_start_data_size) +;;;481 { +;;;482 s_screen_init_complate = true; +;;;483 } +;;;484 } +;;;485 #endif +;;;486 } +;;;487 } +000034 bd10 POP {r4,pc} +;;;488 + ENDP + +000036 0000 DCW 0x0000 + |L18.56| + DCD s_screen_const_transfer_count + |L18.60| + DCD screen_reg_start_data_size + |L18.64| + DCD s_spim_write + |L18.68| + DCD s_screen_init_complate + |L18.72| +000048 74702064 DCB "tp done\n",0 +00004c 6f6e650a +000050 00 +000051 00 DCB 0 +000052 00 DCB 0 +000053 00 DCB 0 + + AREA ||i.app_tp_transfer_screen_int||, CODE, READONLY, ALIGN=2 + + app_tp_transfer_screen_int PROC +;;;515 **************************************************************************/ +;;;516 void app_tp_transfer_screen_int(void) +000000 b510 PUSH {r4,lr} +;;;517 { +;;;518 bool screen_gpio_int = false; +000002 2400 MOVS r4,#0 +;;;519 static uint8_t screen_int_transfer_count = 0; //¼ǰͨŵһ +;;;520 static bool screen_int_transfer_buffer_ready = true; // buffer Ƿ׼ +;;;521 // static uint8_t test_flag = 0; +;;;522 +;;;523 if (!s_screen_init_complate) //TP ʼδɣȽгʼ +000004 482a LDR r0,|L19.176| +000006 7800 LDRB r0,[r0,#0] ; s_screen_init_complate +000008 2800 CMP r0,#0 +00000a d102 BNE |L19.18| +;;;524 { +;;;525 app_tp_transfer_screen_const(); +00000c f7fffffe BL app_tp_transfer_screen_const + |L19.16| +;;;526 return; +;;;527 } +;;;528 +;;;529 #if 0 //test +;;;530 test_flag++; +;;;531 if (test_flag >1000000) +;;;532 { +;;;533 test_flag =0; +;;;534 //TAU_LOGD("Run ok!!\n"); +;;;535 //app_tp_m_read(screen_reg_int_data[0].buffer, screen_reg_int_data[0].txbuffer_size, s_screen_number, screen_reg_int_data[0].rxbuffer_size); +;;;536 //while(!hal_i2c_m_transfer_complate()); +;;;537 } +;;;538 #endif +;;;539 +;;;540 /**** 1. ж screen Ƿ񷢳жź ****/ +;;;541 // s_screen_int_flag: жźű־λ +;;;542 // app_tp_screen_int_lvl_low : SPI ʱͨʱżcsߵͨ쳣ñ־λڽ +;;;543 screen_gpio_int = s_screen_int_flag || app_tp_screen_int_lvl_low(); +;;;544 if (((screen_gpio_int) || (s_screen_int_transfer_status)) && app_tp_m_transfer_complate()) //жϵǰͨ״̬׼ͨ +;;;545 { +;;;546 // TAU_LOGD("touch ok!!\n"); +;;;547 s_screen_int_flag = false; +;;;548 if (s_spim_write) //SPI дݺҪѽFIFOݶȻӰһζȡ +;;;549 { +;;;550 hal_spi_m_clear_rxfifo(); +;;;551 s_spim_write = false; +;;;552 } +;;;553 +;;;554 /**** 2. ͻȡӻ ****/ +;;;555 if (screen_int_transfer_buffer_ready) +;;;556 { +;;;557 #ifndef READ_MODULE_TP_ONE_BY_ONE +;;;558 screen_int_transfer_buffer_ready = false; +;;;559 s_screen_int_transfer_status = true; +;;;560 #ifdef USE_FOR_SUMSUNG_S10 +;;;561 app_tp_m_read(screen_reg_int_data[2].buffer, 1, s_screen_read_buffer, 64); +;;;562 // app_tp_m_read(screen_reg_int_data[2].buffer, 1, s_screen_read_buffer, 8); +;;;563 while(!hal_i2c_m_transfer_complate()); +;;;564 +;;;565 #else +;;;566 app_tp_m_read(screen_reg_int_data[0].buffer, screen_reg_int_data[0].txbuffer_size, s_screen_temp, screen_reg_int_data[0].rxbuffer_size); +;;;567 while(!hal_i2c_m_transfer_complate()); +;;;568 app_tp_m_read(screen_reg_int_data[1].buffer, screen_reg_int_data[1].txbuffer_size, s_screen_number, screen_reg_int_data[1].rxbuffer_size); +;;;569 while(!hal_i2c_m_transfer_complate()); +;;;570 //TAU_LOGD("s_screen_number[%4x], size[%4x]", ((s_screen_number[1]<<8)|s_screen_number[0]), ((s_screen_temp[1]<<8)|s_screen_temp[0])); +;;;571 +;;;572 if(s_screen_number[1]) +;;;573 { +;;;574 if (s_screen_number[1]>3) +;;;575 { +;;;576 read_point =1; +;;;577 s_screen_int_transfer_status = false; +;;;578 } +;;;579 else if (s_screen_number[1] &0x02) +;;;580 read_point =10; +;;;581 else +;;;582 read_point =9; +;;;583 } +;;;584 else +;;;585 { +;;;586 if(s_screen_number[0] &0x80) +;;;587 read_point =8; +;;;588 else if(s_screen_number[0] &0x40) +;;;589 read_point =7; +;;;590 else if(s_screen_number[0] &0x20) +;;;591 read_point =6; +;;;592 else if(s_screen_number[0] &0x10) +;;;593 read_point =5; +;;;594 else if(s_screen_number[0] &0x08) +;;;595 read_point =4; +;;;596 else if(s_screen_number[0] &0x04) +;;;597 read_point =3; +;;;598 else if(s_screen_number[0] &0x02) +;;;599 read_point =2; +;;;600 else +;;;601 read_point =1; +;;;602 } +;;;603 read_point =8*read_point; +;;;604 app_tp_m_read(screen_reg_int_data[2].buffer, screen_reg_int_data[2].txbuffer_size, s_screen_read_buffer, read_point); +;;;605 while(!hal_i2c_m_transfer_complate()); +;;;606 #endif +;;;607 #else +;;;608 if (!screen_reg_int_data[screen_int_transfer_count].read_flag) //ǰͨŲҪأֱд +;;;609 { +;;;610 app_tp_m_write(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size); +;;;611 } +;;;612 else //ǰͨҪأдٶ +;;;613 { +;;;614 s_screen_int_transfer_status = true; +;;;615 if (screen_int_transfer_count==0) +;;;616 { +;;;617 app_tp_m_read(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size, \ +;;;618 s_screen_temp, screen_reg_int_data[screen_int_transfer_count].rxbuffer_size); +;;;619 screen_int_transfer_count =1; +;;;620 } +;;;621 else if (screen_int_transfer_count==1) +;;;622 { +;;;623 app_tp_m_read(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size, \ +;;;624 s_screen_number, screen_reg_int_data[screen_int_transfer_count].rxbuffer_size); +;;;625 screen_int_transfer_count =2; +;;;626 } +;;;627 else if (screen_int_transfer_count==2) +;;;628 { +;;;629 if(s_screen_number[1]) +;;;630 { +;;;631 TAU_LOGD("s_screen_number[%4x], size[%4x]", ((s_screen_number[1]<<8)|s_screen_number[0]), ((s_screen_temp[1]<<8)|s_screen_temp[0])); +;;;632 if (s_screen_number[1] &0x02) +;;;633 read_point =10; +;;;634 else +;;;635 read_point =9; +;;;636 } +;;;637 else +;;;638 { +;;;639 if(s_screen_number[0] &0x80) +;;;640 read_point =8; +;;;641 else if(s_screen_number[0] &0x40) +;;;642 read_point =7; +;;;643 else if(s_screen_number[0] &0x20) +;;;644 read_point =6; +;;;645 else if(s_screen_number[0] &0x10) +;;;646 read_point =5; +;;;647 else if(s_screen_number[0] &0x08) +;;;648 read_point =4; +;;;649 else if(s_screen_number[0] &0x04) +;;;650 read_point =3; +;;;651 else if(s_screen_number[0] &0x02) +;;;652 read_point =2; +;;;653 else +;;;654 read_point =1; +;;;655 } +;;;656 read_point =8*read_point; +;;;657 +;;;658 app_tp_m_read(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size, \ +;;;659 s_screen_read_buffer, read_point); +;;;660 screen_int_transfer_count =0; +;;;661 screen_int_transfer_buffer_ready = false; +;;;662 } +;;;663 } +;;;664 #endif +;;;665 } +;;;666 /**** 3. ͨݣ׼һͨŵbuffer ****/ +;;;667 else +;;;668 { +;;;669 #if 1 +;;;670 #ifdef USE_FOR_SUMSUNG_S10 +;;;671 u16TouchID=0x0000; +;;;672 #endif +;;;673 screen_int_transfer_buffer_ready = true; +;;;674 screen_int_transfer_count = app_tp_screen_analysis_int(screen_int_transfer_count, s_screen_read_buffer,screen_reg_int_data[2].rxbuffer_size); +;;;675 screen_int_transfer_count = 0; +;;;676 s_screen_int_transfer_status = false; +;;;677 +;;;678 #else +;;;679 screen_int_transfer_buffer_ready = true; +;;;680 screen_int_transfer_count = app_tp_screen_analysis_int(screen_int_transfer_count, s_screen_read_buffer, \ +;;;681 screen_reg_int_data[screen_int_transfer_count].rxbuffer_size); +;;;682 +;;;683 if (screen_int_transfer_count > screen_reg_int_data_size) //ҪһͨŽһݽֹͣͨ +;;;684 { +;;;685 screen_int_transfer_count = 0; +;;;686 s_screen_int_transfer_status = false; +;;;687 return; +;;;688 } +;;;689 #endif +;;;690 } +;;;691 } +;;;692 } +000010 bd10 POP {r4,pc} + |L19.18| +000012 4828 LDR r0,|L19.180| +000014 7800 LDRB r0,[r0,#0] ;543 ; s_screen_int_flag +000016 2800 CMP r0,#0 ;543 +000018 d103 BNE |L19.34| +00001a f7fffffe BL app_tp_screen_int_lvl_low +00001e 2800 CMP r0,#0 ;543 +000020 d001 BEQ |L19.38| + |L19.34| +000022 2001 MOVS r0,#1 ;543 +000024 e000 B |L19.40| + |L19.38| +000026 2000 MOVS r0,#0 ;543 + |L19.40| +000028 4604 MOV r4,r0 ;543 +00002a 2c00 CMP r4,#0 ;544 +00002c d103 BNE |L19.54| +00002e 4822 LDR r0,|L19.184| +000030 7800 LDRB r0,[r0,#0] ;544 ; s_screen_int_transfer_status +000032 2800 CMP r0,#0 ;544 +000034 d039 BEQ |L19.170| + |L19.54| +000036 f7fffffe BL app_tp_m_transfer_complate +00003a 2800 CMP r0,#0 ;544 +00003c d035 BEQ |L19.170| +00003e 2000 MOVS r0,#0 ;547 +000040 491c LDR r1,|L19.180| +000042 7008 STRB r0,[r1,#0] ;547 +000044 481d LDR r0,|L19.188| +000046 7800 LDRB r0,[r0,#0] ;548 ; s_spim_write +000048 2800 CMP r0,#0 ;548 +00004a d004 BEQ |L19.86| +00004c f7fffffe BL hal_spi_m_clear_rxfifo +000050 2000 MOVS r0,#0 ;551 +000052 491a LDR r1,|L19.188| +000054 7008 STRB r0,[r1,#0] ;551 + |L19.86| +000056 481a LDR r0,|L19.192| +000058 7800 LDRB r0,[r0,#0] ;555 ; screen_int_transfer_buffer_ready +00005a 2800 CMP r0,#0 ;555 +00005c d012 BEQ |L19.132| +00005e 2000 MOVS r0,#0 ;558 +000060 4917 LDR r1,|L19.192| +000062 7008 STRB r0,[r1,#0] ;558 +000064 2001 MOVS r0,#1 ;559 +000066 4914 LDR r1,|L19.184| +000068 7008 STRB r0,[r1,#0] ;559 +00006a 4916 LDR r1,|L19.196| +00006c 2340 MOVS r3,#0x40 ;561 +00006e 4a16 LDR r2,|L19.200| +000070 6a08 LDR r0,[r1,#0x20] ;561 ; screen_reg_int_data +000072 2101 MOVS r1,#1 ;561 +000074 f7fffffe BL app_tp_m_read +000078 bf00 NOP ;563 + |L19.122| +00007a f7fffffe BL hal_i2c_m_transfer_complate +00007e 2800 CMP r0,#0 ;563 +000080 d0fb BEQ |L19.122| +000082 e012 B |L19.170| + |L19.132| +000084 2000 MOVS r0,#0 ;671 +000086 4911 LDR r1,|L19.204| +000088 8008 STRH r0,[r1,#0] ;671 +00008a 2001 MOVS r0,#1 ;673 +00008c 490c LDR r1,|L19.192| +00008e 7008 STRB r0,[r1,#0] ;673 +000090 480c LDR r0,|L19.196| +000092 490d LDR r1,|L19.200| +000094 6a82 LDR r2,[r0,#0x28] ;674 +000096 480e LDR r0,|L19.208| +000098 7800 LDRB r0,[r0,#0] ;674 ; screen_int_transfer_count +00009a f7fffffe BL app_tp_screen_analysis_int +00009e 490c LDR r1,|L19.208| +0000a0 7008 STRB r0,[r1,#0] ;674 +0000a2 2000 MOVS r0,#0 ;675 +0000a4 7008 STRB r0,[r1,#0] ;675 +0000a6 4904 LDR r1,|L19.184| +0000a8 7008 STRB r0,[r1,#0] ;676 + |L19.170| +0000aa bf00 NOP +0000ac e7b0 B |L19.16| +;;;693 + ENDP + +0000ae 0000 DCW 0x0000 + |L19.176| + DCD s_screen_init_complate + |L19.180| + DCD s_screen_int_flag + |L19.184| + DCD s_screen_int_transfer_status + |L19.188| + DCD s_spim_write + |L19.192| + DCD screen_int_transfer_buffer_ready + |L19.196| + DCD screen_reg_int_data + |L19.200| + DCD s_screen_read_buffer + |L19.204| + DCD u16TouchID + |L19.208| + DCD screen_int_transfer_count + + AREA ||i.app_tp_transfer_screen_start||, CODE, READONLY, ALIGN=2 + + app_tp_transfer_screen_start PROC +;;;495 **************************************************************************/ +;;;496 void app_tp_transfer_screen_start(void) +000000 b510 PUSH {r4,lr} +;;;497 { +;;;498 s_screen_init_complate = false; +000002 2000 MOVS r0,#0 +000004 4904 LDR r1,|L20.24| +000006 7008 STRB r0,[r1,#0] +;;;499 s_screen_const_transfer_count = 0; +000008 4904 LDR r1,|L20.28| +00000a 7008 STRB r0,[r1,#0] +;;;500 //app_tp_screen_init(); +;;;501 #ifndef DISABLE_I2C_INIT_CODE +;;;502 app_tp_transfer_screen_const(); +00000c f7fffffe BL app_tp_transfer_screen_const +;;;503 #endif +;;;504 s_screen_int_flag = false; +000010 2000 MOVS r0,#0 +000012 4903 LDR r1,|L20.32| +000014 7008 STRB r0,[r1,#0] +;;;505 } +000016 bd10 POP {r4,pc} +;;;506 + ENDP + + |L20.24| + DCD s_screen_init_complate + |L20.28| + DCD s_screen_const_transfer_count + |L20.32| + DCD s_screen_int_flag + + AREA ||.bss||, DATA, NOINIT, ALIGN=2 + + s_screen_read_bak + % 80 + s_screen_read_buffer + % 200 + s_phone_read_buffer + % 200 + tp_scan_data + % 12 + + AREA ||.data||, DATA, ALIGN=2 + + read_point +000000 00 DCB 0x00 + s_screen_number +000001 0000 DCB 0x00,0x00 + s_screen_temp +000003 00 DCB 0x00 +000004 00000000 DCB 0x00,0x00,0x00,0x00 + s_slave_txbuffer + DCD 0x00000000 + s_slave_txbuffer_size + DCD 0x00000000 + s_spim_write +000010 00 DCB 0x00 + s_screen_int_flag +000011 00 DCB 0x00 + s_phone_reset_flag +000012 00 DCB 0x00 + s_screen_int_transfer_status +000013 00 DCB 0x00 + s_screen_init_complate +000014 00 DCB 0x00 + s_screen_const_transfer_count +000015 ff DCB 0xff + u16TouchID +000016 0000 DCB 0x00,0x00 + i2cs_transfer +000018 01 DCB 0x01 + screen_int_transfer_count +000019 00 DCB 0x00 + screen_int_transfer_buffer_ready +00001a 01 DCB 0x01 + +;*** Start embedded assembler *** + +#line 1 "..\\..\\src\\app\\ap_demo\\app_tp_transfer.c" + AREA ||.rev16_text||, CODE + THUMB + EXPORT |__asm___17_app_tp_transfer_c_8a033719____REV16| +#line 467 "C:\\Keil_v5\\ARM\\PACK\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h" +|__asm___17_app_tp_transfer_c_8a033719____REV16| PROC +#line 468 + + rev16 r0, r0 + bx lr + ENDP + AREA ||.revsh_text||, CODE + THUMB + EXPORT |__asm___17_app_tp_transfer_c_8a033719____REVSH| +#line 482 +|__asm___17_app_tp_transfer_c_8a033719____REVSH| PROC +#line 483 + + revsh r0, r0 + bx lr + ENDP + +;*** End embedded assembler *** diff --git a/project/ISP_368/Listings/board.txt b/project/ISP_368/Listings/board.txt new file mode 100644 index 0000000..5124088 --- /dev/null +++ b/project/ISP_368/Listings/board.txt @@ -0,0 +1,63 @@ +; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637] +; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\board.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\board.d --cpu=Cortex-M0 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL368 -I..\..\src\app\ap_demo -I.\RTE\_ISP_368 -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_368 --omf_browse=.\objects\board.crf ..\..\src\board\board.c] + THUMB + + AREA ||i.board_Init||, CODE, READONLY, ALIGN=2 + + board_Init PROC +;;;13 +;;;14 void board_Init(void) +000000 b510 PUSH {r4,lr} +;;;15 { +;;;16 hal_system_init(SYSTEM_CLOCK); +000002 4807 LDR r0,|L1.32| +000004 f7fffffe BL hal_system_init +;;;17 hal_system_enable_systick(1); +000008 2001 MOVS r0,#1 +00000a f7fffffe BL hal_system_enable_systick +;;;18 #if !EDA_MODE +;;;19 hal_system_init_console(115200); +00000e 20e1 MOVS r0,#0xe1 +000010 0240 LSLS r0,r0,#9 +000012 f7fffffe BL hal_system_init_console +;;;20 #endif +;;;21 #if defined(ISP_568) || defined(ISP_368) +;;;22 /* 从EFUSE读取DPHY校准值并设置 */ +;;;23 hal_system_set_phy_calibration(true); +000016 2001 MOVS r0,#1 +000018 f7fffffe BL hal_system_set_phy_calibration +;;;24 #endif +;;;25 } +00001c bd10 POP {r4,pc} +;;;26 + ENDP + +00001e 0000 DCW 0x0000 + |L1.32| + DCD 0x04c4b400 + +;*** Start embedded assembler *** + +#line 1 "..\\..\\src\\board\\board.c" + AREA ||.rev16_text||, CODE + THUMB + EXPORT |__asm___7_board_c_bcd01269____REV16| +#line 467 "C:\\Keil_v5\\ARM\\PACK\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h" +|__asm___7_board_c_bcd01269____REV16| PROC +#line 468 + + rev16 r0, r0 + bx lr + ENDP + AREA ||.revsh_text||, CODE + THUMB + EXPORT |__asm___7_board_c_bcd01269____REVSH| +#line 482 +|__asm___7_board_c_bcd01269____REVSH| PROC +#line 483 + + revsh r0, r0 + bx lr + ENDP + +;*** End embedded assembler *** diff --git a/project/ISP_368/Listings/main.txt b/project/ISP_368/Listings/main.txt new file mode 100644 index 0000000..66c2ba8 --- /dev/null +++ b/project/ISP_368/Listings/main.txt @@ -0,0 +1,102 @@ +; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637] +; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\main.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\main.d --cpu=Cortex-M0 --apcs=interwork -O0 --diag_suppress=9931 -I..\..\src -I..\..\src\board -I..\..\src\common -I..\..\src\sdk\include -I..\..\src\app\demo -I..\..\src\sdk\include\M0 -I..\..\src\app -I..\..\src\app\module_demo -I..\..\src\app\touch -I..\..\src\app\S8 -I..\..\src\app\S9 -I..\CVWL368 -I..\..\src\app\ap_demo -I.\RTE\_ISP_368 -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_368 --omf_browse=.\objects\main.crf ..\..\src\app\main.c] + THUMB + + AREA ||i.main||, CODE, READONLY, ALIGN=1 + + main PROC +;;;8 +;;;9 int main() +000000 f7fffffe BL board_Init +;;;10 { +;;;11 board_Init(); +;;;12 +;;;13 while (1) +000004 e003 B |L1.14| + |L1.6| +;;;14 { +;;;15 #if _DEMO_DSI_TX_EN +;;;16 demo_dsi_tx_case(); +;;;17 #endif +;;;18 #if _DEMO_DSI_RX_EN +;;;19 demo_hal_dsi_rx_case(); +;;;20 #endif +;;;21 #if _DEMO_TIMER_EN +;;;22 demo_timer_case(); +;;;23 #endif +;;;24 #if _DEMO_WDG_EN +;;;25 demo_wdg_case(); +;;;26 #endif +;;;27 #if _DEMO_GPIO_EN +;;;28 demo_gpio_case(); +;;;29 #endif +;;;30 #if _DEMO_PWM_EN +;;;31 demo_pwm_case(); +;;;32 #endif +;;;33 #if _DEMO_SWIRE_EN +;;;34 demo_swire_case(); +;;;35 #endif +;;;36 +;;;37 #if _DEMO_I2C_EN +;;;38 demo_hal_i2c(); +;;;39 #endif +;;;40 +;;;41 #if _DEMO_SPI_EN +;;;42 demo_hal_spi(); +;;;43 #endif +;;;44 +;;;45 #if _DEMO_S8_EN +;;;46 s8_demo(); +;;;47 #endif +;;;48 +;;;49 #if _DEMO_S8P_EN +;;;50 s8p_demo(); +;;;51 #endif +;;;52 +;;;53 #if _DEMO_S9_EN +;;;54 s9_demo(); +;;;55 #endif +;;;56 +;;;57 #if _DEMO_MI8SE_EN +;;;58 ap_demo(); +000006 f7fffffe BL ap_demo +;;;59 #endif +;;;60 +;;;61 while (1); +00000a bf00 NOP + |L1.12| +00000c e7fe B |L1.12| + |L1.14| +00000e e7fa B |L1.6| +;;;62 } +;;;63 } + ENDP + + +;*** Start embedded assembler *** + +#line 1 "..\\..\\src\\app\\main.c" + AREA ||.rev16_text||, CODE + THUMB + EXPORT |__asm___6_main_c_main____REV16| +#line 467 "C:\\Keil_v5\\ARM\\PACK\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h" +|__asm___6_main_c_main____REV16| PROC +#line 468 + + rev16 r0, r0 + bx lr + ENDP + AREA ||.revsh_text||, CODE + THUMB + EXPORT |__asm___6_main_c_main____REVSH| +#line 482 +|__asm___6_main_c_main____REVSH| PROC +#line 483 + + revsh r0, r0 + bx lr + ENDP + +;*** End embedded assembler *** + + __ARM_use_no_argv EQU 0 diff --git a/project/ISP_368/Objects/ISP368_Mi8SE_20230523.bin b/project/ISP_368/Objects/ISP368_Mi8SE_20230523.bin new file mode 100644 index 0000000..7f58506 Binary files /dev/null and b/project/ISP_368/Objects/ISP368_Mi8SE_20230523.bin differ diff --git a/project/ISP_368/RTE/_ISP_368/RTE_Components.h b/project/ISP_368/RTE/_ISP_368/RTE_Components.h new file mode 100644 index 0000000..9bd4b37 --- /dev/null +++ b/project/ISP_368/RTE/_ISP_368/RTE_Components.h @@ -0,0 +1,21 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'ISP_368' + * Target: 'ISP_368' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "ARMCM0.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/project/请先读我(已更新20221018).txt b/project/请先读我(已更新20221018).txt new file mode 100644 index 0000000..ad19762 --- /dev/null +++ b/project/请先读我(已更新20221018).txt @@ -0,0 +1,9 @@ +1. 此目录下所有project文件仅为链接文件(使用宏定义和库文件区分) + +2. 强烈建议将不使用的芯片型号文件夹删除,仅保留使用的芯片型号文件夹,以免串烧导致芯片烧坏 + +3. 如若更换芯片,仅需将提供的原工程下特定型号文件夹拷贝到模板工程,删除原芯片project下文件夹,重新编译即可 + 如原来使用518芯片,后面更换为568芯片,仅需把源工程project下518文件夹删除,重新从提供的原工程下将568文件夹拷贝到工程目录project下,打开重新编译即可 + +第一代产品包括:WL518,308,518T +第二代产品包括:WL568,368,568T \ No newline at end of file diff --git a/src/app/ap_demo/ap_demo.c b/src/app/ap_demo/ap_demo.c new file mode 100644 index 0000000..1c6e97b --- /dev/null +++ b/src/app/ap_demo/ap_demo.c @@ -0,0 +1,1630 @@ +/******************************************************************************* +* +* File: s8_demo.c +* Description: ϵͳļ +* Version: V0.1 +* Date: 2020-02-22 +* Author: Tempest + *******************************************************************************/ + +#include "ap_demo.h" +#include "ArmCM0.h" +#include "tau_device_datatype.h" +#include "tau_log.h" +#include "tau_operations.h" +#include "tau_common.h" +#include "tau_delay.h" +#include "hal_dsi_rx_ctrl.h" +#include "hal_dsi_tx_ctrl.h" +#include "hal_swire.h" +#include "hal_timer.h" +#include "hal_system.h" +#include "hal_gpio.h" +#include "hal_pwm.h" +#include "app_tp_transfer.h" + + +#ifdef LOG_TAG + #undef LOG_TAG +#endif + +#define LOG_TAG "Mi8SE" + +#define LCD_FT8006S_HKC6517 1 + +#define SHARE_FLASH_MODE 1 + +//ֻMIPIϢ +/* ֱ */ +#define INPUT_WIDTH 1080 +#define INPUT_HEIGHT 2244 +/* MIPI lane rate,video modeҪȷãcmd mode */ +#define INPUT_MIPI_LANE_RATE 1100000000 //600000000 // Note10 Pro 600M-1.2G +/* ͼʽ */ +#define INPUT_COLOR_MODE DSI_RGB888 +/* ݸʽ(DSI_DATA_CMD_MODE , DSI_DATA_VIDEO_MODE) */ +#define INPUT_DATA_MODE DSI_DATA_CMD_MODE +/* mipi lane(DSI_RX_LANE_x xΪ1-4) */ +#define INPUT_MIPI_LANE_NUM DSI_LANE_4 +/* Ϊvideo mode ʱݸʽ */ +#define INPUT_VIDEO_MODEL DSI_NONBURST_EVENT +/* ͨ(0-3) */ +#define INPUT_VC DSI_VC_0 +/* ֡(60/90/120/144Hz) */ +#define INPUT_FRAME_RATE DSI_FRAME_RATE_60HZ +/* ǷDSCѹ */ +#define INPUT_COMPRESS false + +#if LCD_FT8006S_HKC6517 +#if 1 +//LCD HX8394?3?MIPIy?YD?? +/* ?3???????? */ +#define OUTPUT_WIDTH 720 +#define OUTPUT_HEIGHT 1600 +/* ?3?D?ą(0-3) */ +#define OUTPUT_VC DSI_VC_0 +/* ?3?mipi laney?(DSI_RX_LANE_x x?a1-4) */ +#define OUTPUT_LANE_NUMBER DSI_LANE_4 +/* ?3??avideo mode ?y?Y??? */ +#define OUTPUT_VIDEO_MODEL DSI_BURST_MODE // DSI_NONBURST_EVENT +/* ?3? VSA */ +#define OUTPUT_VSA 8//8 //8 //2 //4 +/* ?3? VBP */ +#define OUTPUT_VBP 110//40 //110 //4 //16 +/* ?3? VBP */ +#define OUTPUT_VFP 130 //130 //240 //46 + +#define OUTPUT_HSA 16//20 //16 //7 //10 +/* ?3? HBP */ +#define OUTPUT_HBP 30 //45 //140 //16 +/* ?3? HFP */ +#define OUTPUT_HFP 45//148 //48 //48 //46 +/* 3????꨺?????D */ +#define _CMD_TYPE DSI_CMD_TX_LP //0-HS,1-LP; + +#else + //TDDI FT8006SMIPIϢ + /* ֱ */ + #define OUTPUT_WIDTH 720 + #define OUTPUT_HEIGHT 1600 + /* ͨ(0-3) */ + #define OUTPUT_VC DSI_VC_0 + /* mipi lane(DSI_RX_LANE_x xΪ1-4) */ + #define OUTPUT_LANE_NUMBER DSI_LANE_4 + /* Ϊvideo mode ݸʽ */ + #define OUTPUT_VIDEO_MODEL DSI_BURST_MODE + /* VSA */ + #define OUTPUT_VSA 8 + /* VBP */ + #define OUTPUT_VBP 110 + /* VBP */ + #define OUTPUT_VFP 130 + /* VSA */ + #define OUTPUT_HSA 16 + /* HBP */ + #define OUTPUT_HBP 45 + /* HFP */ + #define OUTPUT_HFP 48 + /* ʼģʽ */ + #define _CMD_TYPE DSI_CMD_TX_LP //0-HS,1-LP; +#endif + +#endif + +#define SWIRE_TIMER TIMER_NUM1 +#define TE_TIMER TIMER_NUM2 + +// #define DISABLE_TDDI_I2C_FUNCTION 1 +/******************************************************/ +static hal_dsi_rx_ctrl_handle_t *g_rx_ctrl_handle = NULL; +static hal_dsi_tx_ctrl_handle_t *g_tx_ctrl_handle = NULL; + +/* Ĭfalse,ʼ־λ,ʹTP1.8V,AC ʼҪTP1.8Vе */ +#if 0//def USE_FOR_SUMSUNG_S10 +static volatile bool start_display_on = false; +#else +static volatile bool start_display_on = true; +#endif +/* ʼɱ־λ */ +static volatile bool panel_display_done = false; +static volatile bool g_resolution_change = false; + +//static bool swire_flag=false; + +static uint8_t swire_num=38; //38 // 14-->ELVSS -4.1v test BOARD +//static uint8_t swire_num_bak=38; + +#define PWM_PERIOD 256 //PWM.λUS +#define PWM_MIN 12 //Сֵɵ +#define SWIRE_MAX_NUM 22 // 14-->8.8V //S10 22 + + +/* B1ص g_cus_rx_dcs_execute_table Ϊ첽ִУCAͬ*/ + +uint16_t read_bl_data = 0; //ݲͬӳBLֵ1~255 +uint16_t read_bl_data_bak = 0; + +#if 1 // +#define BLUE_MAX 0xF0 //ֵ +#define BLUE_MIN 0x86 //Сֵ +#define BLUE_STEP 10 //ȼ-1 +#endif + +static uint32_t loop_count =0; + +//bool s_screen_init_complate; + +//void swire_init(); + +////#define NEW_ACK_CMD_FUNC //For s9+ test. change LIB +uint32_t rx_filter_1080_h_4_70[32][2] = +{ + 0xE0F9503E, 0x0000000E, + 0xE10D5039, 0x0000000E, + 0xE9214E34, 0x0000000E, + 0xE9354E2F, 0x0000000E, + 0xF1494C2A, 0x0000000E, + 0xF95D4A25, 0x0000000E, + 0x01714820, 0x0000000F, + 0x1185421C, 0x0000000F, + 0x21954017, 0x0000000F, + 0x29A93C13, 0x0000000F, + 0x39BD380E, 0x0000000F, + 0x51CD320A, 0x0000000F, + 0x61E12C06, 0x0000000F, + 0x79F12602, 0x0000000F, + 0x92011FFF, 0x0000000F, + 0xAA1119FB, 0x0000000F, + 0xC22111F8, 0x0000000F, + 0xDA3109F5, 0x0000000F, + 0xFA3D01F2, 0x0000000F, + 0x124CF9EF, 0x00000000, + 0x3258F1EC, 0x00000000, + 0x5264E7EA, 0x00000000, + 0x7270DFE7, 0x00000000, + 0x9A78D5E5, 0x00000000, + 0xBA80CBE4, 0x00000000, + 0xE284C3E2, 0x00000000, + 0x0290B9E0, 0x00000001, + 0x2A94AFDF, 0x00000001, + 0x5298A5DE, 0x00000001, + 0x7A9C9BDD, 0x00000001, + 0xA29C91DD, 0x00000001, + 0xCAA087DC, 0x00000001 +}; + + +uint32_t rx_filter_2240_v_4_70[32][2] = +{ + 0xE0F9503E, 0x0000000E, + 0xE10D5039, 0x0000000E, + 0xE9214E34, 0x0000000E, + 0xE9354E2F, 0x0000000E, + 0xF1494C2A, 0x0000000E, + 0xF95D4A25, 0x0000000E, + 0x01714820, 0x0000000F, + 0x1185421C, 0x0000000F, + 0x21954017, 0x0000000F, + 0x29A93C13, 0x0000000F, + 0x39BD380E, 0x0000000F, + 0x51CD320A, 0x0000000F, + 0x61E12C06, 0x0000000F, + 0x79F12602, 0x0000000F, + 0x92011FFF, 0x0000000F, + 0xAA1119FB, 0x0000000F, + 0xC22111F8, 0x0000000F, + 0xDA3109F5, 0x0000000F, + 0xFA3D01F2, 0x0000000F, + 0x124CF9EF, 0x00000000, + 0x3258F1EC, 0x00000000, + 0x5264E7EA, 0x00000000, + 0x7270DFE7, 0x00000000, + 0x9A78D5E5, 0x00000000, + 0xBA80CBE4, 0x00000000, + 0xE284C3E2, 0x00000000, + 0x0290B9E0, 0x00000001, + 0x2A94AFDF, 0x00000001, + 0x5298A5DE, 0x00000001, + 0x7A9C9BDD, 0x00000001, + 0xA29C91DD, 0x00000001, + 0xCAA087DC, 0x00000001 +}; + + +static bool ap_dcs_read(uint8_t data_type, uint8_t dcs_cmd, uint8_t param) +{ + TAU_LOGD("cmd=%x\n", dcs_cmd); + return true; +} +#if 1 + +/***************************************************************************** +* @brief pwmԿƱ +* @param init: ǷΪʼһαѡʼ +* @param polarity: ԣfalse:ȸߺͣtrue:ȵͺ +* @param duty_ratio: ռձ(0-100) +* @param frequency: ƵʣλHZ +* @retval null +*****************************************************************************/ +//static void test_pwm_out_adjust(bool init, bool polarity, uint8_t duty_ratio, uint32_t frequency) +//{ + +// pwm_out_ctrl_e ctl0 = PWMO_CTRL_HIGH; +// pwm_out_ctrl_e ctl1 = PWMO_CTRL_LOW; +// if(polarity) +// { +// ctl0 = PWMO_CTRL_LOW; +// ctl1 = PWMO_CTRL_HIGH; +// } +// uint32_t period = 1000000 / frequency; //λus +// uint32_t thr0 = 0; +// uint32_t thr1 = (period * duty_ratio / 100); + +// if(duty_ratio == 100) +// { +// ctl1 = ctl0; +// thr1 = period / 2; +// } +// if(init) +// { +// hal_pwm_out_init(); +// hal_pwm_out_config_all(ctl0, ctl1, thr0, thr1, period); +// } +// else +// { +// hal_pwm_out_sync_all(ctl0, ctl1, thr0, thr1, period); +// } +//} +static void PWM_init(void) +{ + // 1ms ڳʼ͵ƽ1000 + hal_pwm_out_init(); + hal_pwm_out_config_all(PWMO_CTRL_HIGH, PWMO_CTRL_LOW, PWM_PERIOD, 0, PWM_PERIOD); +// hal_pwm_out_config_all(PWMO_CTRL_HIGH, PWMO_CTRL_LOW, PWM_PERIOD/2, 0, PWM_PERIOD); +} + +void PWM_Task(void) +{ + uint16_t pwm_h; + +#if 0 // NOTE10ий绰Ϩ + if(Flag_blacklight_EN) + { + read_bl_data_bak = 0; + hal_pwm_out_sync_thr(PWM_PERIOD + 1, 0); + return; + } +#endif + +#if 1// + if(read_bl_data != read_bl_data_bak) + { + read_bl_data_bak = read_bl_data; + pwm_h = read_bl_data ; + + if(pwm_h < PWM_MIN) + pwm_h = PWM_MIN; + hal_pwm_out_sync_thr(0, pwm_h); + } +#endif + +} +#endif + +/* PPS update callback ڷֱлcase */ +static bool pps_update_handle(uint8_t *pps, uint8_t size, uint32_t pic_width, uint32_t pic_height) +{ + /* AVDD ϵ, ڽϢPPS */ + // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); +// hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle); + if (pic_width != g_rx_ctrl_handle->base_info.src_w || pic_height != g_rx_ctrl_handle->base_info.src_h) + { + + /* PPS Update ҷֱʷ仯 */ + g_rx_ctrl_handle->base_info.src_w = pic_width; + g_rx_ctrl_handle->base_info.src_h = pic_height; + g_rx_ctrl_handle->compress_en = true; + /* עⲿֻPPSǰ Compression Mode Command */ + + g_tx_ctrl_handle->base_info.src_w = pic_width; + g_tx_ctrl_handle->base_info.src_h = pic_height; + + hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle); +// hal_dsi_rx_ctrl_set_auto_hw_filter(g_rx_ctrl_handle, true); + +// hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle); +// TAU_LOGD("resolution update w[%d] h[%d] compress[%d]\n", pic_width, pic_height, g_rx_ctrl_handle->compress_en); + } +// hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle); + // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); +// TAU_LOGD("PPS Update\n"); + return true; +} + +static bool ap_set_display_on(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +{ + + TAU_LOGD("disp on \n"); + return true; +} + +static bool ap_set_display_off(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +{ + + //delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x28); + TAU_LOGD("disp off \n"); +// hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_LOW); +// hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_LOW); +// hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_LOW); +// hal_swire_open(DISABLE); + return true; +} + +static bool ap_set_enter_sleep_mode(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +{ + TAU_LOGD("enter sleep mode\n"); + // delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x10); + + hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_LOW); + hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_LOW); + hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_LOW); + + hal_pwm_out_sync_thr(PWM_PERIOD + 1, 0); + +// hal_system_set_vcc(false); + + return true; +} + +static bool ap_set_exit_sleep_mode(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +{ + TAU_LOGD("exit sleep mode\n"); + /* AVDD ϵ, ڽϢPPS */ + // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); + return true; +} + +#if 1 // +static bool ap_set_backlight(hal_dsi_rx_ctrl_handle_t* handler, hal_dcs_packet_t* dcs_packet) +{ + uint32_t temp_in_max = 0x3FF; + uint32_t temp_in_min = 0x08; + uint32_t temp_out_max = 255; + uint32_t temp_out_min = 12; + uint32_t src_bl; + + src_bl = (dcs_packet->packet_param[0] << 8) | dcs_packet->packet_param[1]; +// TAU_LOGD("src_bl[%x]. len[%d]", src_bl ,dcs_packet->param_length); + + if(src_bl <= temp_in_min) + src_bl = temp_in_min; + else if(src_bl >= temp_in_max) + src_bl = temp_in_max; + + read_bl_data = temp_out_min + (src_bl - temp_in_min) * (temp_out_max - temp_out_min) / (temp_in_max - temp_in_min); +// TAU_LOGD("read_bl_data[%4x]", read_bl_data); + return true; +} +#endif + +static void soft_te_timer_cb(void *data) +{ + /* + S8 ӵTP1.8V, AC ҪȵTP1.8 ٳʼ, TP ǰҪͨTEֻֻ + */ + if (panel_display_done == false) + { + hal_dsi_rx_ctrl_gen_a_tear_signal(g_rx_ctrl_handle); + hal_timer_start(TE_TIMER, 17, soft_te_timer_cb, NULL); + } + else + { + hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle); + } +} + +static void soft_te_timer_init() +{ + TAU_LOGD("soft_te_timer_init\n"); + hal_dsi_rx_ctrl_set_sw_tear_mode(g_rx_ctrl_handle); + hal_timer_init(TE_TIMER); + hal_timer_start(TE_TIMER, 1, soft_te_timer_cb, NULL); +} + +//static bool ap_set_tear_on(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +//{ +// if (panel_display_done == true) +// { +// hal_dsi_rx_ctrl_set_hw_tear_mode(g_rx_ctrl_handle); +// } +// else +// { +// soft_te_timer_init(); +// } +// TAU_LOGD("ap_set_tear_on\n"); +// return true; +//} + +//static bool ap_set_pps_9e(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet) +//{ +// TAU_LOGD("9E \n"); +// // hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_LOW); +// // hal_swire_open(DISABLE); +// return true; +//} + +/* ƻDCS command */ +static const hal_dcs_execute_entry_t g_cus_rx_dcs_execute_table[] = +{ + {DCS_SET_DISPLAY_ON, ap_set_display_on, true}, + {DCS_SET_DISPLAY_OFF, ap_set_display_off, true}, +// {0x9E, ap_set_pps_9e, true}, + // {DCS_SET_TEAR_ON, ap_set_tear_on, true}, +// {0xDF, ap_get_reg_df, false}, // +// {0xCA, ap_get_reg_ca, false}, // ⡣ҪB1ܵ + {0x51, ap_set_backlight, false}, + {DCS_ENTER_SLEEP_MODE, ap_set_enter_sleep_mode, true}, + {DCS_EXIT_SLEEP_MODE, ap_set_exit_sleep_mode, true}, + {0, NULL, false} //{0,NULL,false} һ̶ԱΪtableβжϱ׼ +}; + +static void tx_panel_reset(void) +{ +#ifdef USE_WL518_INTERNAL_FLASH + hal_system_share_flash_mode(true);//*******************************************ǷҪflash,򿪵ĻҪFLASHֱӽBINļ¼518,رҪFLASH +#endif + + hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_HIGH); + delayMs(10); //10ms + hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_LOW); + delayMs(10); //10ms + hal_dsi_tx_ctrl_panel_reset_pin(IO_LVL_HIGH); + delayMs(30); +} + +//#define FT8006S_HKC6517_4L_720x1600_gamma22 0 +//#define FT8006S_HKC6517_4L_720x1600_gamma25 0 + +static void init_panel(void) +{ + /* reset panel*/ + tx_panel_reset(); + + hal_gpio_init_output(IO_PAD_TD_LEDPWM, IO_LVL_HIGH); + + /* enter send initial code mode*/ + hal_dsi_tx_ctrl_enter_init_panel_mode(); + + //------------- Display Initial Setting end ------------------------- +#if LCD_FT8006S_HKC6517 + TAU_LOGD("Mi8SE\n"); +#ifdef FT8006S_HKC6517_4L_720x1600_gamma25 + + delayMs(50); +// delayMs(1000); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x41,0x5A); + //INT CANCEL + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x4C, 0x03); + + //SPI Not LoadFinish + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x5A); + //VCOM + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x03); +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x80,0x1A,0x01); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x80, 0x3f, 0x01); + //Blank 8 + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x08); +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,4,0x80,0x1A,0x2D,0x05); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,4,0x80,0x3F,0x2D,0x05); + //Blank 9 + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x09); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x5A,0x51,0xB5,0x2A,0x6C,0xE5,0x4A,0x01,0x40,0x62,0x0F,0x82,0x20,0x08,0xF0,0xB7); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x00,0x24,0x42,0x0A,0xE3,0x91,0xA4,0xF0,0xD6,0xC3,0x70,0x20,0x2D,0xA1,0x26,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x51,0x55,0x55,0x00,0xA0,0x4D,0x06,0x11,0x0D,0x60,0x00,0xFF,0xFF,0x03,0xA5,0xE6); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x08,0x3A,0x12,0x64,0x0B,0x00,0x00,0x11,0x00,0x60,0x00,0xFF,0xFF,0x03,0xFF,0x34); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0xC0,0x0C,0xFF,0x18,0x9F,0x0F,0x00,0x08,0x00); + //Blank 10 gamma2.2 + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0A); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFF,0xB6,0x6D,0x03,0x00,0x12,0x20,0x32,0x45,0x58,0x60,0x96,0x82,0xC1,0x72,0x37); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x74,0x44,0x41,0x32,0x23,0x16,0x0E,0x0B,0x00,0x12,0x20,0x32,0x45,0x58,0x60,0x96); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0xA0,0x82,0xC1,0x72,0x37,0x74,0x44,0x41,0x32,0x23,0x16,0x0E,0x0B,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0B); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xB0,0x23); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x90,0x15,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0C); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBA,0x68,0x68,0x01,0x32,0x4B,0x58,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xAB,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x49,0x29,0x84,0x52,0x01,0x09,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB0,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0D); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0xF0,0xB1,0x71,0xEF,0x4B,0xC0,0x80); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0E); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0x80,0xFF,0x01,0x55,0x55,0x23,0x88,0x88,0x1C); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0F); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBD,0x07,0x70,0xC0,0x12,0x08,0x64,0x08,0x52,0x51,0x58,0x49,0x03,0x52,0x4C,0x4C); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x68,0x68,0x68,0x4C,0x4C,0x7C,0x14,0x00,0x20,0x06,0xC2,0x00,0x04,0x06,0x0C,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x92,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x10); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x03,0xE7,0x1F,0x17,0x10,0x48,0x80,0xAA,0xD0,0x18,0x30,0x88,0x41,0x8A); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0x90,0x39,0x28,0xA9,0xC5,0x9A,0x7B,0xF0,0x07,0x7E,0xE0,0x07,0x7E,0x20,0x10,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x11); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x46,0x77,0x03,0x40,0xCA,0xF3,0xFF,0x83,0x30,0x08,0xC4,0x06,0xA1,0xD8,0x24,0x18); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x30,0xC6,0x66,0xC1,0x80,0x31,0x15,0xCB,0xE5,0xD2,0x68,0x6C,0x36,0x1D,0x04,0xC8); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xD9,0x88,0x60,0xB0,0x81,0x40,0x1A,0x1B,0x48,0x63,0x03,0xB9,0x00,0x1C,0x80); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x50,0x30,0x00,0xE0,0xE1,0x01,0x00,0x28,0x0E,0x06,0x43,0x55,0x55,0x55,0x55,0x55); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x95,0x88,0x88,0x88,0x88,0x88,0xC8,0x08,0x86,0xC6,0xE3,0x81,0x00,0x20,0x00,0x21); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0C); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xF0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5E,0x4A,0x01,0x78,0x00,0x08,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x12); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x41,0x37); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xF1,0xE7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x23,0x05); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0xA0,0xFB,0x08,0x2D,0x23,0x05,0xFB,0x0C); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x13); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFD,0x0F,0x00,0x0C,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1C,0x44,0x0C,0xCE,0xE7); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,15,0x90,0x62,0x0E,0x24,0x98,0xAC,0x21,0x01,0x00,0xD0,0x93,0x24,0x49,0x06,0x20); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x14); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x02,0x41,0x36,0xE9,0xEF,0xF7,0xFB,0xFD,0x7E,0x01,0x00,0x00,0x90,0xC5,0x8A); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x27,0x6D,0x20,0x4E,0x3C,0x69,0x03,0xDB,0xE0,0x49,0x1B,0xD8,0x08,0x4F,0xDA,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x82,0xB5,0xE2,0xF7,0x47,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0xD8,0x89,0xDF,0x1F,0x01,0x00,0x00,0x00,0x00,0x1C,0xB2,0x21,0x2B,0x00,0x40,0xA1); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x50,0x78,0x17,0xDA,0xF4,0x80,0x51,0x1C,0x6F,0x42,0x9B,0x1E,0x30,0x8A,0xE3,0x3D); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x68,0xD3,0x03,0x46,0x71,0xBC,0x05,0x6D,0x7A,0xC0,0x28,0x8E,0x77,0xA0,0x4D,0x0F); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x18,0xC5,0xF1,0x06,0xB4,0xE9,0x01,0xA3,0x38,0x5E,0x80,0x36,0x3D,0x60,0x14,0xC7); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x2B,0xD0,0xA6,0x07,0x8C,0xE2,0x18,0x01,0xBF,0xDF,0x08,0x00,0x00,0x00,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x15); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xD9,0xE0,0xF7); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xA3,0x00,0x20,0x4B,0x07,0xAB,0xC5,0x03,0x00,0x00,0xD6,0xC1,0x6A,0xF1,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x75,0xA1,0x6A,0xB5,0x00,0x00,0x00,0x00,0x13,0x00,0xF0,0x00,0x14,0xD3,0x34,0xCD); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x90,0x02,0x4D,0x10,0x20,0x10,0x06,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x35,0x4D,0xD3); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xA8,0xB6,0x6D,0xDB,0xB6,0x6D,0xDB,0xB6,0x35); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xCD,0xD0,0x02,0x4D,0x50,0x30,0x14,0x47,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0xD3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xAC,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x16); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,7,0x90,0x00,0x00,0x00,0x00,0xF0,0x20); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x18); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xEF,0xBD,0xF7,0xDE,0x7B,0xEF,0xBD,0x07,0x08,0x08,0x0A,0x0C,0x0C,0x0C,0x0C,0x0C); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x0C,0x0C,0x0C,0x5C,0x09,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x5A); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xFF,0x00,0x80); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xB0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x19); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xC0,0xAF,0xA3,0x9B,0x92,0x8D,0x8A,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xF6,0xCF); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xFC,0x2F,0xF3,0xEF,0xCF,0xBF,0x0F,0xFF,0xAF,0xB5,0x71,0x0E,0x6C,0x4A,0x69,0x08); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x00,0x08,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1A); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00,0x40); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0,0xA8); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE,0xFF); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xFF,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1B); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xA0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0x90,0xFE,0xFF,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x20); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x22); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0x80,0x2D,0xD3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9F,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x23); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,13,0x90,0xFF,0x0F,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0x07,0x35); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x03,0x00,0xFF,0xFF,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x30); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x5A,0x5A,0x5A,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + // BIST MODE +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); + //SPI FINISH + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x42,0x24); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x00); + //Blank select 2F + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x2F); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x19,0x00); +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x4C,0x03); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x11); + delayMs(120); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x29); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x51,0xFF,0x0F); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x53,0x24); + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x55,0x00); + delayMs(10); +#endif +#ifdef FT8006S_HKC6517_4L_720x1600_gamma22 + + delayMs(10); +// delayMs(1000); +#if 1 + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x41,0x5A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x5A); + + //VCOM + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x03); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x80, 0x3f, 0x01); + + //----------------------LCD initial code start----------------------// + //Blank 8 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x08); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 4, 0x80, 0x3f, 0x2d, 0x05); + //Blank 9 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x09); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x5A, 0x51, 0xB5, 0x2A, 0x6C, 0xC5, 0x4A, 0x01, 0x40, 0x62, 0x0F, 0x82, 0x20, 0x08, 0xF0, 0xB7); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x00, 0x24, 0x42, 0x0A, 0xE3, 0x91, 0xA4, 0xF0, 0xC3, 0xE1, 0x6B, 0x20, 0x69, 0xA1, 0x26, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x51, 0x55, 0x55, 0x0A/*0x00*/, 0xA0, 0x4C, 0x06, 0x11, 0x0D, 0x60, 0x00, 0xFF, 0xFF, 0x03, 0xA5, 0xE6); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x08, 0x3A, 0x12, 0x64, 0x0B, 0x00, 0x00, 0x11, 0x00, 0x60, 0x00, 0xFF, 0xFF, 0x03, 0xFF, 0x34); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 6, 0xC0, 0x0C, 0xFF, 0x18, 0x9F, 0x0F, 0x00, 0x08, 0x00); + //Blank 10 gamma2.2 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0A); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFF, 0x51, 0xA3, 0x02, 0x00, 0x1E, 0x2E, 0x3F, 0x50, 0x60, 0x65, 0x94, 0x75, 0xAC, 0x8B, 0x58); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x87, 0x5D, 0x58, 0x48, 0x37, 0x25, 0x16, 0x0B, 0x00, 0x1E, 0x2E, 0x3F, 0x50, 0x60, 0x65, 0x94); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 14, 0xA0, 0x75, 0xAC, 0x8B, 0x58, 0x87, 0x5D, 0x58, 0x48, 0x37, 0x25, 0x16, 0x0B, 0x00); + //Blank 11 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0B); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x20, 0x44, 0x08, 0x00, 0x60, 0x47, 0x00, 0x00, 0x10, 0x22, 0x04, 0x00, 0xB0, 0x23); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x90, 0x15, 0x00); + //Blank 12 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0C); + //hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFA, 0x68, 0x68, 0x81, 0xAF, 0x8D, 0x30, 0x07, 0x00, 0x60, 0x15, 0x00, 0x50, 0x15, 0x56, 0x51); +// hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBA,0x68,0x68,0x01,0x32,0x4B,0x58,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFA, 0x68, 0x68, 0x81, 0xB8, 0x8D, 0x30, 0x07, 0x00, 0x60, 0x15, 0x00, 0x50, 0x15, 0x56, 0x51); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x15, 0x55, 0x61, 0x15, 0x00, 0x60, 0x15, 0x00, 0x50, 0x15, 0x56, 0x51, 0x15, 0x55, 0x61, 0x95); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0xAB, 0x18, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x80, 0x4C, 0x29, 0x84, 0x52, 0x01, 0x09, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0xB0, 0x00, 0x00); + //Blank 13 + /*hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0D); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 8, 0x80, 0xF0, 0xB1, 0x71, 0xEF, 0x4B, 0xC0, 0x80); + //Blank 14 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0E); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 9, 0x80, 0xFF, 0x01, 0x55, 0x55, 0x32, 0x88, 0x88, 0x1C);*/ + //Blank 15 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x0F); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xB5, 0x05, 0x82, 0xC0, 0x10, 0xA0, 0x63, 0x08, 0x52, 0x51, 0x58, 0x49, 0x03, 0x52, 0x4C, 0x4C); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x68, 0x68, 0x68, 0x4C, 0x4C, 0x7C, 0x14, 0x00, 0x20, 0x06, 0xC2, 0x00, 0x04, 0x06, 0x0C, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xA0, 0x00, 0x92, 0x00, 0x00); + //Blank 16 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x10); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x03, 0xE7, 0x1F, 0x17, 0x00, 0x48, 0x40, 0x02, 0xCF, 0x18, 0x30, 0x88, 0x41, 0x8A); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 16, 0x90, 0x39, 0x28, 0xA9, 0xC5, 0x9A, 0x7B, 0xF0, 0x07, 0x7E, 0xE0, 0x07, 0x7E, 0x20, 0x10, 0x00); + //Blank 17 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x11); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x46, 0x77, 0x03, 0x40, 0xCA, 0xF3, 0xFF, 0x83, 0x30, 0x08, 0xC4, 0x06, 0xA1, 0xD8, 0x24, 0x18); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x30, 0xC6, 0x66, 0xC1, 0x80, 0x31, 0x15, 0xCB, 0xE5, 0xD2, 0x68, 0x6C, 0x36, 0x1D, 0x04, 0xC8); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0xB0, 0xD9, 0x88, 0x60, 0xB0, 0x81, 0x40, 0x1A, 0x1B, 0x48, 0x63, 0x03, 0xB9, 0x00, 0x1C, 0x80); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x50, 0x30, 0x00, 0xE0, 0xE1, 0x01, 0x00, 0x28, 0x0E, 0x06, 0x43, 0x55, 0x55, 0x55, 0x55, 0x55); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x95, 0x88, 0x88, 0x88, 0x88, 0x88, 0xC8, 0x08, 0x86, 0xC6, 0xE3, 0x81, 0x00, 0x20, 0x00, 0x21); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0x42, 0x88, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x31, 0x04, 0x41, 0x06, 0x00, 0x00, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0x00, 0x92, 0x04, 0x00, 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x92, 0x04, 0x00, 0x85, 0x11, 0x0C); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 16, 0xF0, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x4A, 0x01, 0x78, 0x00, 0x08, 0x00, 0x00); + //Blank 18 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x12); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01, 0x41, 0x37); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0xF1, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x23, 0x05); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 8, 0xA0, 0xFB, 0x08, 0x2D, 0x23, 0x05, 0xFB, 0x0C); + //Blank 19 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x13); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xFD, 0x0F, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x01, 0x1C, 0x44, 0x0C, 0xCE, 0xE7); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 15, 0x90, 0x62, 0x0E, 0x24, 0x98, 0xAC, 0x21, 0xB1, 0x88, 0xD0, 0x93, 0x24, 0x49, 0x06, 0x20); + //Blank 20 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x14); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x01, 0x02, 0x41, 0x36, 0xE9, 0xEF, 0xF7, 0xFB, 0xFD, 0x7E, 0x01, 0x00, 0x00, 0x7C, 0xC5, 0x85); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x26, 0x3D, 0x20, 0x26, 0x34, 0xE9, 0x01, 0xF1, 0xA0, 0x49, 0x0F, 0x88, 0x05, 0x4D, 0x7A, 0xC0); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x02, 0x68, 0xD2, 0x03, 0x96, 0x40, 0x93, 0x1E, 0x00, 0xF8, 0x82, 0xB5, 0xE2, 0xF7, 0x47, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0xD8, 0x89, 0xDF, 0x1F, 0x01, 0x00, 0x10, 0x00, 0x00, 0xBC, 0xAF, 0xFB, 0x2A, 0x00, 0x40, 0xA1); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x50, 0x78, 0x07, 0x1A, 0xFC, 0x80, 0x52, 0x1C, 0x6F, 0x40, 0x83, 0x1F, 0x50, 0x8A, 0xE3, 0x05); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0x68, 0xF0, 0x03, 0x4A, 0x71, 0xBC, 0x02, 0x0D, 0x7E, 0x40, 0x29, 0x8E, 0x97, 0xA0, 0xC1, 0x0F); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0x28, 0xC5, 0xF1, 0x1A, 0x34, 0xF8, 0x01, 0xA5, 0x38, 0x5E, 0x84, 0x06, 0x3F, 0xA0, 0x14, 0xC7); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xF0, 0xAB, 0xD0, 0xE0, 0x07, 0x94, 0xE2, 0x18, 0x01, 0xBF, 0xDF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00); + //Blank 21 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x15); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xD8, 0xE0, 0xF7); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0xA3, 0x80, 0xFB, 0x5A, 0x84, 0xCA, 0xE3, 0x05, 0xE1, 0xF1, 0x12, 0xA1, 0xF2, 0x78, 0x41, 0x78); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x13, 0x00, 0xF0, 0x00, 0x94, 0x15, 0x5B, 0x57); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x90, 0x82, 0xD4, 0x10, 0x20, 0x10, 0x66, 0x5D, 0xDB, 0xB6, 0x6D, 0xDB, 0xB6, 0x55, 0xA5, 0x75); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0x5D, 0xD7, 0x55, 0x10, 0x0C, 0x43, 0x51, 0x1C, 0xC7, 0x6A, 0xDB, 0xB6, 0x6D, 0xDB, 0x55, 0x5B); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0x57, 0xD0, 0x92, 0xD4, 0x50, 0x30, 0x14, 0x67, 0x5D, 0xDB, 0xB6, 0x6D, 0xDB, 0xB6, 0x55, 0xA1); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xF0, 0x75, 0x5D, 0xD7, 0x15, 0x00, 0x08, 0x02, 0x41, 0x18, 0x86, 0x6A, 0xDB, 0xB6, 0x6D, 0x5B, 0xC0); + //Blank 22 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x16); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xC3, 0x43, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 7, 0x90, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x20); + //Blank 24 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x18); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xEF, 0xBD, 0xF7, 0xDE, 0x7B, 0xEF, 0xBD, 0x07, 0x08, 0x08, 0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x0C, 0x0C, 0x0C, 0x5C, 0x09, 0xA8, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x5A); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x09, 0x04, 0xFF, 0x00, 0x80); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 16, 0xB0, 0x80, 0x00, 0x04, 0x20, 0x00, 0x01, 0x08, 0x40, 0x00, 0x02, 0x10, 0x80, 0x00, 0x04, 0x00); + //Blank 25 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x19); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xC0, 0xAF, 0xA3, 0x9B, 0x92, 0x8D, 0x8A, 0x86, 0x84, 0x83, 0x82, 0x81, 0x00, 0x50, 0xF6, 0xCF); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0xFC, 0x2F, 0xF3, 0xEF, 0xCF, 0xBF, 0x0F, 0xFF, 0xAF, 0xB5, 0x71, 0x0E, 0x6C, 0x4A, 0x69, 0x08); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0xA0, 0x00, 0x00, 0x08, 0x00); + //Blank 26 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x41, 0x5A, 0x1A); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x04, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, 0x1C, 0x00, 0x20, 0x28, 0x30, 0x38, 0x00, 0x40); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x48, 0x50, 0x58, 0x00, 0x60, 0x68, 0x70, 0x78, 0x00, 0x80, 0x88, 0x90, 0x98, 0x00, 0xA0, 0xA8); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xA0, 0xB0, 0xB8, 0x00, 0xC0, 0xC8, 0xD0, 0xD8, 0x00, 0xE0, 0xE8, 0xF0, 0xF8, 0x00, 0xFC, 0xFE, 0xFF); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xB0, 0x00, 0x00, 0x04, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, 0x1C, 0x00, 0x20, 0x28, 0x30, 0x38, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xC0, 0x40, 0x48, 0x50, 0x58, 0x00, 0x60, 0x68, 0x70, 0x78, 0x00, 0x80, 0x88, 0x90, 0x98, 0x00, 0xA0); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xD0, 0xA8, 0xB0, 0xB8, 0x00, 0xC0, 0xC8, 0xD0, 0xD8, 0x00, 0xE0, 0xE8, 0xF0, 0xF8, 0x00, 0xFC, 0xFE); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xE0, 0xFF, 0x00, 0x00, 0x04, 0x08, 0x0C, 0x00, 0x10, 0x14, 0x18, 0x1C, 0x00, 0x20, 0x28, 0x30, 0x38); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0xF0, 0x00, 0x40, 0x48, 0x50, 0x58, 0x00, 0x60, 0x68, 0x70, 0x78, 0x00, 0x80, 0x88, 0x90, 0x98, 0x00); + //Blank 27 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x1B); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0xA0, 0xA8, 0xB0, 0xB8, 0x00, 0xC0, 0xC8, 0xD0, 0xD8, 0x00, 0xE0, 0xE8, 0xF0, 0xF8, 0x00, 0xFC); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 5, 0x90, 0xFE, 0xFF, 0x00, 0x00); + //Blank 32 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x20); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 8, 0x80, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); + //Blank 34 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x22); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 14, 0x80, 0x2D, 0xD3, 0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x9F, 0x00); + //Blank 35 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x23); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x01, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 13, 0x90, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x07, 0x35); + //Blank 36 + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x24); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x80, 0x00, 0x03, 0x00, 0xFF, 0xFF, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0A); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 17, 0x90, 0x5A, 0x5A, 0x5A, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); + + // BIST MODE + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); + + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x42,0x24); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x2F); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x19,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x4C,0x03); + hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x11); + delayMs(120); + hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x29); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x51,0xFF,0x0F); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x53,0x24); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x55,0x00); + delayMs(10); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB7,0x59,0x02); +// hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x00,0xff,0x00); +#else + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x41,0x5A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x5A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x03); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x80,0x1A,0x01); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x08); + hal_dsi_tx_ctrl_write_cmd(0x39,0,4,0x80,0x1A,0x2D,0x05); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x09); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x5A,0x51,0xB5,0x2A,0x6C,0xE5,0x4A,0x01,0x40,0x62,0x0F,0x82,0x20,0x08,0xF0,0xB7); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x00,0x24,0x42,0x0A,0xE3,0x91,0xA4,0xF0,0xD6,0xC3,0x70,0x20,0x2D,0xA1,0x26,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x51,0x55,0x55,0x00,0xA0,0x4D,0x06,0x11,0x0D,0x60,0x00,0xFF,0xFF,0x03,0xA5,0xE6); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x08,0x3A,0x12,0x64,0x0B,0x00,0x00,0x11,0x00,0x60,0x00,0xFF,0xFF,0x03,0xFF,0x34); + hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0xC0,0x0C,0xFF,0x18,0x9F,0x0F,0x00,0x08,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFF,0xB6,0x6D,0x03,0x00,0x10,0x1D,0x2E,0x40,0x52,0x59,0x8E,0x70,0xAE,0x86,0x4D); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x81,0x54,0x50,0x40,0x31,0x21,0x14,0x0B,0x00,0x10,0x1D,0x2E,0x40,0x52,0x59,0x8E); + hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0xA0,0x70,0xAE,0x86,0x4D,0x81,0x54,0x50,0x40,0x31,0x21,0x14,0x0B,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0B); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xB0,0x23); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x90,0x15,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0C); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBA,0x68,0x68,0x01,0x32,0x4B,0x58,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xAB,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x49,0x29,0x84,0x52,0x01,0x09,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB0,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0D); + hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0xF0,0xB1,0x71,0xEF,0x4B,0xC0,0x80); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0E); + hal_dsi_tx_ctrl_write_cmd(0x39,0,9,0x80,0xFF,0x01,0x55,0x55,0x23,0x88,0x88,0x1C); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x0F); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xBD,0x07,0x70,0xC0,0x12,0x08,0x64,0x08,0x52,0x51,0x58,0x49,0x03,0x52,0x4C,0x4C); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x68,0x68,0x68,0x4C,0x4C,0x7C,0x14,0x00,0x20,0x06,0xC2,0x00,0x04,0x06,0x0C,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x92,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x10); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x03,0xE7,0x1F,0x17,0x10,0x48,0x80,0xAA,0xD0,0x18,0x30,0x88,0x41,0x8A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0x90,0x39,0x28,0xA9,0xC5,0x9A,0x7B,0xF0,0x07,0x7E,0xE0,0x07,0x7E,0x20,0x10,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x11); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x46,0x77,0x03,0x40,0xCA,0xF3,0xFF,0x83,0x30,0x08,0xC4,0x06,0xA1,0xD8,0x24,0x18); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x30,0xC6,0x66,0xC1,0x80,0x31,0x15,0xCB,0xE5,0xD2,0x68,0x6C,0x36,0x1D,0x04,0xC8); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xD9,0x88,0x60,0xB0,0x81,0x40,0x1A,0x1B,0x48,0x63,0x03,0xB9,0x00,0x1C,0x80); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x50,0x30,0x00,0xE0,0xE1,0x01,0x00,0x28,0x0E,0x06,0x43,0x55,0x55,0x55,0x55,0x55); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x95,0x88,0x88,0x88,0x88,0x88,0xC8,0x08,0x86,0xC6,0xE3,0x81,0x00,0x20,0x00,0x21); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0C); + hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xF0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5E,0x4A,0x01,0x78,0x00,0x08,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x12); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x41,0x37); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xF1,0xE7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2D,0x23,0x05); + hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0xA0,0xFB,0x08,0x2D,0x23,0x05,0xFB,0x0C); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x13); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xFD,0x0F,0x00,0x0C,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1C,0x44,0x0C,0xCE,0xE7); + hal_dsi_tx_ctrl_write_cmd(0x39,0,15,0x90,0x62,0x0E,0x24,0x98,0xAC,0x21,0x01,0x00,0xD0,0x93,0x24,0x49,0x06,0x20); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x14); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x02,0x41,0x36,0xE9,0xEF,0xF7,0xFB,0xFD,0x7E,0x01,0x00,0x00,0x90,0xC5,0x8A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x27,0x6D,0x20,0x4E,0x3C,0x69,0x03,0xDB,0xE0,0x49,0x1B,0xD8,0x08,0x4F,0xDA,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x82,0xB5,0xE2,0xF7,0x47,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0xD8,0x89,0xDF,0x1F,0x01,0x00,0x00,0x00,0x00,0x1C,0xB2,0x21,0x2B,0x00,0x40,0xA1); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x50,0x78,0x17,0xDA,0xF4,0x80,0x51,0x1C,0x6F,0x42,0x9B,0x1E,0x30,0x8A,0xE3,0x3D); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x68,0xD3,0x03,0x46,0x71,0xBC,0x05,0x6D,0x7A,0xC0,0x28,0x8E,0x77,0xA0,0x4D,0x0F); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0x18,0xC5,0xF1,0x06,0xB4,0xE9,0x01,0xA3,0x38,0x5E,0x80,0x36,0x3D,0x60,0x14,0xC7); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x2B,0xD0,0xA6,0x07,0x8C,0xE2,0x18,0x01,0xBF,0xDF,0x08,0x00,0x00,0x00,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x15); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xD9,0xE0,0xF7); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xA3,0x00,0x20,0x4B,0x07,0xAB,0xC5,0x03,0x00,0x00,0xD6,0xC1,0x6A,0xF1,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x75,0xA1,0x6A,0xB5,0x00,0x00,0x00,0x00,0x13,0x00,0xF0,0x00,0x14,0xD3,0x34,0xCD); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x90,0x02,0x4D,0x10,0x20,0x10,0x06,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x35,0x4D,0xD3); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xA8,0xB6,0x6D,0xDB,0xB6,0x6D,0xDB,0xB6,0x35); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xCD,0xD0,0x02,0x4D,0x50,0x30,0x14,0x47,0x6A,0xDB,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0xD3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xAC,0xB6,0x6D,0xDB,0xB6,0x6D,0x5B,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x16); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,7,0x90,0x00,0x00,0x00,0x00,0xF0,0x20); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x18); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xEF,0xBD,0xF7,0xDE,0x7B,0xEF,0xBD,0x07,0x08,0x08,0x0A,0x0C,0x0C,0x0C,0x0C,0x0C); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x0C,0x0C,0x0C,0x5C,0x09,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x5A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xFF,0x00,0x80); + hal_dsi_tx_ctrl_write_cmd(0x39,0,16,0xB0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x19); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xC0,0xAF,0xA3,0x9B,0x92,0x8D,0x8A,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xF6,0xCF); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0xFC,0x2F,0xF3,0xEF,0xCF,0xBF,0x0F,0xFF,0xAF,0xB5,0x71,0x0E,0x6C,0x4A,0x69,0x08); + hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0xA0,0x00,0x00,0x08,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1A); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00,0x40); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0,0xA8); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xA0,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE,0xFF); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xB0,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xC0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xA0); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xD0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC,0xFE); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xE0,0xFF,0x00,0x00,0x04,0x08,0x0C,0x00,0x10,0x14,0x18,0x1C,0x00,0x20,0x28,0x30,0x38); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0xF0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x1B); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0xA0,0xA8,0xB0,0xB8,0x00,0xC0,0xC8,0xD0,0xD8,0x00,0xE0,0xE8,0xF0,0xF8,0x00,0xFC); + hal_dsi_tx_ctrl_write_cmd(0x39,0,5,0x90,0xFE,0xFF,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x20); + hal_dsi_tx_ctrl_write_cmd(0x39,0,8,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x22); + hal_dsi_tx_ctrl_write_cmd(0x39,0,14,0x80,0x2D,0xD3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9F,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x23); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,13,0x90,0xFF,0x0F,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0x07,0x35); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x24); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x80,0x00,0x03,0x00,0xFF,0xFF,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x30); + hal_dsi_tx_ctrl_write_cmd(0x39,0,17,0x90,0x5A,0x5A,0x5A,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + + // BIST MODE + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); + + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x42,0x24); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x90,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x41,0x5A,0x2F); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x19,0x00); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x4C,0x03); + hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x11); + delayMs(120); +// hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x29); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x51,0xFF,0x0F); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x53,0x24); + hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x55,0x00); + delayMs(10); + hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0xB7,0x59,0x02); +// hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x00,0xff,0x00); +#endif + +#endif +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0xB7); +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x59); +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,1,0x02); +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,3,0x00,0xff,0x00); +#if 1 +#if 0 + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x41,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x03); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x80,0x25,0x01); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x08); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x04,0x80,0x20,0x2d,0x05); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x09); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x5a,0x51,0xb5,0x2a,0x6c,0xe5,0x4a,0x01,0x40,0x62,0x0f,0x82,0x20,0x08,0xf0,0xb7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x00,0x24,0x42,0x0a,0xe3,0x91,0xa4,0xf0,0xc3,0xc3,0x6b,0x20,0x2d,0xa1,0x26,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x51,0x55,0x55,0x00,0xa0,0x4c,0x06,0x11,0x0d,0x60,0x5a,0xff,0xff,0x03,0xa5,0xe6); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x08,0xc9,0x16,0x64,0x0b,0x00,0x00,0x11,0x07,0x60,0x00,0xff,0xff,0x03,0xff,0x34); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x09,0xc0,0x0c,0x3f,0x1f,0x9f,0x0f,0x00,0x08,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xff,0xb6,0x6d,0x03,0x00,0x0f,0x1b,0x2b,0x3d,0x4e,0x55,0x89,0x68,0xa5,0x8e,0x56); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x85,0x58,0x53,0x43,0x33,0x23,0x16,0x0b,0x00,0x0f,0x1b,0x2b,0x3d,0x4e,0x55,0x89); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0e,0xa0,0x68,0xa5,0x8e,0x56,0x85,0x58,0x53,0x43,0x33,0x23,0x16,0x0b,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xb0,0x23); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x90,0x15,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xfa,0x68,0x68,0x01,0xb2,0x75,0xd0,0x07,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0xab,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x80,0x4c,0x29,0x84,0x52,0x01,0x09,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0xb0,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0d); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x08,0x80,0xf0,0xb1,0x71,0xef,0x4b,0xc0,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0e); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x09,0x80,0xff,0x01,0x55,0x55,0x23,0x88,0x88,0x1c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x0f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xd1,0x07,0x70,0x40,0x13,0x38,0x64,0x08,0x52,0x51,0x58,0x49,0x03,0x52,0x4c,0x4c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x68,0x68,0x68,0x4c,0x4c,0x7c,0x14,0x00,0x20,0x06,0xc2,0x00,0x04,0x06,0x0c,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x05,0xa0,0x00,0x92,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x10); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x03,0xe7,0x1f,0x17,0x10,0x48,0x80,0xaa,0xd0,0x18,0x30,0x88,0x41,0x8a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x10,0x90,0x39,0x28,0xa9,0xc5,0x9a,0x7b,0xf0,0x07,0x7e,0xe0,0x07,0x7e,0x20,0x10,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x11); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x49,0x77,0x03,0x40,0xca,0xf3,0xff,0xa3,0x20,0x08,0xc4,0x06,0xa1,0xd8,0x24,0x18); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x30,0xc6,0x66,0xc1,0x80,0x1d,0x15,0xcb,0xe5,0xe2,0x70,0x6c,0x36,0x1d,0x04,0xc8); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0xb0,0xd9,0x88,0x60,0xb0,0x81,0x40,0x1c,0x1b,0x88,0x63,0x03,0xb9,0x00,0x1c,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x50,0x30,0x00,0xe0,0xe1,0x01,0x00,0x28,0x0e,0x06,0x43,0x55,0x55,0x55,0x55,0x55); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0x95,0x88,0x88,0x88,0x88,0x88,0xc8,0x08,0x84,0xc6,0xe3,0x81,0x00,0x20,0x00,0x21); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x31,0x04,0x41,0x06,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x10,0xf0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5e,0x4a,0x01,0x10,0x22,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x12); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x41,0x37); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0xf1,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2d,0x23,0x05); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x08,0xa0,0xfb,0x08,0x2d,0x23,0x05,0xfb,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x13); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xfd,0x0f,0x00,0x0c,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1c,0x44,0x0c,0xce,0xe7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0f,0x90,0x62,0x0e,0x24,0x98,0xac,0x21,0x01,0x00,0xd0,0x93,0x24,0x49,0x06,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x14); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x01,0x02,0x41,0x36,0xe9,0xef,0xf7,0xfb,0xfd,0x7e,0x00,0x00,0x00,0x90,0xc5,0x89); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x27,0x3d,0x20,0x46,0x3c,0xe9,0x01,0xf1,0xe1,0x49,0x0f,0x88,0x0d,0x4f,0x7a,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0xb2,0x21,0x2b,0x00,0x40,0xa1); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0x50,0x78,0x03,0xf8,0xb9,0x94,0x51,0x1c,0x2f,0x00,0x3f,0x97,0x32,0x8a,0xe3,0x15); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0xe0,0xe7,0x52,0x46,0x71,0xbc,0x04,0xfc,0x5c,0xca,0x28,0x8e,0x37,0x81,0x9f,0x4b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0x19,0xc5,0xf1,0x1e,0xf0,0x73,0x29,0xa3,0x38,0xde,0x02,0x7e,0x2e,0x65,0x14,0xc7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xf0,0x3b,0xc0,0xcf,0xa5,0x8c,0xe2,0x18,0x01,0xbf,0x5f,0x08,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x15); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xd9,0xe0,0xf7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0xa3,0x00,0x20,0xcb,0x85,0xaa,0xd5,0x06,0x91,0x91,0x77,0xa1,0x6a,0xb5,0x41,0x64); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x75,0xa1,0x6a,0xb5,0x00,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x94,0xd6,0x0c,0x4d); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0xc9,0x12,0x0c,0xc5,0x21,0xc1,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xc9,0xd0); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0xa4,0x20,0x06,0x21,0x00,0x13,0x6c,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xd6,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0x4d,0x88,0x02,0x08,0x84,0x21,0xc1,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xc9); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xf0,0xd0,0xb4,0x24,0x47,0x31,0x04,0x13,0x6c,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b,0x12); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x16); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x03,0x03,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x07,0x90,0x00,0x00,0x00,0x00,0xf0,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x18); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xef,0xbd,0xf7,0xde,0x7b,0xef,0xbd,0x07,0x08,0x08,0x0a,0x0c,0x0c,0x0c,0x0c,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x0c,0x0c,0x0c,0x5c,0x09,0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xff,0x00,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x10,0xb0,0x80,0x00,0xcc,0x1a,0xda,0x00,0xc8,0xb6,0xd1,0x01,0xf0,0x4c,0x3e,0x01,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x19); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xc0,0xaf,0xa3,0x9b,0x92,0x8d,0x8a,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xf6,0xcf); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0xfc,0x2f,0xf3,0xef,0xcf,0xbf,0x0f,0xff,0xaf,0xb5,0x71,0x0e,0x6c,0x4a,0x69,0x08); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x05,0xa0,0x06,0x06,0x02,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x1a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00,0x40); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0,0xa8); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xa0,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe,0xff); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xb0,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xc0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xd0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xe0,0xff,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0xf0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x1b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0xa0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x05,0x90,0xfe,0xff,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x08,0x80,0x87,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x22); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0e,0x80,0x2d,0xd3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9f,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x23); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x0d,0x90,0xff,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xef,0x07,0x35); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x80,0x00,0x03,0x00,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x84); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x11,0x90,0x5a,0x5a,0x5a,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + // BIST MODE + delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); + + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x42,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0x41,0x5a,0x2f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x19,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x4c,0x03); + + + // Video Mode Enable + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0xB7,0x59,0x02); + + + + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x11); + + hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); + delayMs(10); + hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH); + // swire_init(); + delayMs(50); + + // + + hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29); + // delayMs(10); + + hal_dsi_tx_ctrl_write_cmd(0x29, 0, 3, 0x51, 0x0F, 0xFF); + delayMs(1); + /* 0x29 tx start ֮ */ +#else +/* + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x41,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x4c,0x03); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x03); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x80,0x19,0x01); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x08); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x04,0x80,0x19,0x2d,0x05); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x09); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x5a,0x51,0xb5,0x2a,0x6c,0xe5,0x4a,0x01,0x40,0x62,0x0f,0x82,0x20,0x08,0xf0,0xb7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x00,0x24,0x42,0x0a,0xe3,0x91,0xa4,0xf0,0xc2,0xb9,0x6b,0x20,0x19,0xa1,0x26,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x51,0x55,0x55,0x00,0xa0,0x4d,0x06,0x11,0x0d,0x60,0x5a,0xff,0xff,0x03,0xa5,0xe6); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x08,0xc9,0x16,0x64,0x0b,0x00,0x00,0x11,0x07,0x60,0x00,0xff,0xff,0x03,0xff,0x34); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0xc0,0x0c,0x3f,0x1f,0x9f,0x0f,0x00,0x08,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xff,0xb6,0x6d,0x03,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98,0x83,0xbe,0x76,0x41); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0xa0,0x83,0xbe,0x76,0x41,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xb0,0x23); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x90,0x15,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfa,0x68,0x68,0x01,0xb2,0x75,0xb0,0x04,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xab,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x80,0x4c,0x29,0x84,0x52,0x01,0x09,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0xb0,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0d); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0xf0,0xb1,0x71,0xef,0x4b,0xc0,0x80); +// delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0xf3,0xb1,0x71,0xef,0x4b,0xc0,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0e); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0x80,0xff,0x01,0x55,0x55,0x23,0x88,0x88,0x1c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x14,0x40,0x6f,0xc0,0x12,0x08,0x64,0x08,0x52,0x31,0x58,0x49,0x03,0x52,0x4c,0x4c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x68,0x68,0x68,0x4c,0x4c,0x7c,0x14,0x00,0x20,0x06,0xc2,0x00,0x04,0x06,0x0c,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x00,0x92,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x10); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x03,0xe7,0x1f,0x17,0x10,0x48,0x80,0xaa,0xd0,0x18,0x30,0x88,0x41,0x8a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0x90,0x39,0x28,0xa9,0xc5,0x9a,0x7b,0xf0,0x07,0x7e,0xe0,0x07,0x7e,0x20,0x10,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x11); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x49,0x77,0x03,0x40,0xca,0xf3,0xff,0x83,0x30,0x08,0xc4,0x06,0xa1,0xd8,0x24,0x18); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x30,0xc6,0x66,0xc1,0x80,0x31,0x15,0xcb,0xe5,0xd2,0x68,0x6c,0x36,0x1d,0x04,0xc8); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xd9,0x88,0x60,0xb0,0x81,0x40,0x1a,0x1b,0x48,0x63,0x03,0xb9,0x00,0x1c,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x50,0x30,0x00,0xe0,0xe1,0x01,0x00,0x28,0x0e,0x06,0x43,0x55,0x55,0x55,0x55,0x55); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x95,0x88,0x88,0x88,0x88,0x88,0xc8,0x08,0x86,0xc6,0xe3,0x81,0x00,0x20,0x00,0x21); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xf0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5e,0x4a,0x01,0x78,0x00,0x08,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x12); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x41,0x37); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xf1,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2d,0x23,0x05); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0xa0,0xfb,0x08,0x2d,0x23,0x05,0xfb,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x13); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfd,0x0f,0x00,0x0c,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1c,0x44,0x0c,0xce,0xe7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0f,0x90,0x62,0x0e,0x24,0x98,0xac,0x21,0x01,0x00,0xd0,0xff,0xff,0xff,0x07,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x14); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x02,0x41,0x36,0xe1,0xef,0xf7,0xfb,0xfd,0x7e,0x01,0x00,0x00,0x90,0xc5,0x8a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x27,0x6d,0x20,0x4e,0x3c,0x69,0x03,0xdb,0xe0,0x49,0x1b,0xd8,0x08,0x4f,0xda,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x82,0xb5,0xe2,0xf7,0x47,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0xd8,0x89,0xdf,0x1f,0x01,0x00,0x00,0x00,0x00,0x1c,0xb2,0x21,0x2b,0x00,0x40,0xa1); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x50,0x78,0x17,0xda,0xf4,0x80,0x51,0x1c,0x6f,0x42,0x9b,0x1e,0x30,0x8a,0xe3,0x3d); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x68,0xd3,0x03,0x46,0x71,0xbc,0x05,0x6d,0x7a,0xc0,0x28,0x8e,0x77,0xa0,0x4d,0x0f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x18,0xc5,0xf1,0x06,0xb4,0xe9,0x01,0xa3,0x38,0x5e,0x80,0x36,0x3d,0x60,0x14,0xc7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x2b,0xd0,0xa6,0x07,0x8c,0xe2,0x18,0x01,0xbf,0xdf,0x08,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x15); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xd9,0xe0,0xf7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xa3,0x00,0x20,0x4b,0x07,0xab,0xc5,0x03,0x00,0x00,0xd6,0xc1,0x6a,0xf1,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x75,0xa1,0x6a,0xb5,0x00,0x00,0x00,0x00,0x13,0x00,0xf0,0x00,0x14,0xd3,0x34,0xcd); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x90,0x02,0x4d,0x10,0x20,0x10,0x06,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x35,0x4d,0xd3); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xa8,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x35); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xcd,0xd0,0x02,0x4d,0x50,0x30,0x14,0x47,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0xd3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xac,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x16); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x07,0x90,0x00,0x00,0x00,0x00,0xf0,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x18); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xef,0xbd,0xf7,0xde,0x7b,0xef,0xbd,0x07,0x08,0x08,0x0a,0x0c,0x0c,0x0c,0x0c,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x0c,0x0c,0x0c,0x5c,0x09,0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xff,0x00,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xb0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x19); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xc0,0xaf,0xa3,0x9b,0x92,0x8d,0x8a,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xf6,0xcf); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xfc,0x2f,0xf3,0xef,0xcf,0xbf,0x0f,0xff,0xaf,0xb5,0x71,0x0e,0x6c,0x4a,0x69,0x08); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x03,0x03,0x68,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00,0x40); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0,0xa8); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe,0xff); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xff,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xa0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0x90,0xfe,0xff,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x22); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0x80,0x2d,0xd3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9f,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x23); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0d,0x90,0xff,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xff,0x07,0x25); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x03,0x00,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xa6); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x5a,0x5a,0x5a,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x42,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x2f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x19,0x00); + //delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x02,0x5a); + //delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x02,0x00); +*/ + + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x41,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x4c,0x03); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x03); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x80,0x19,0x01); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x08); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x04,0x80,0x19,0x2d,0x05); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x09); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x5a,0x51,0xb5,0x2a,0x6c,0xe5,0x4a,0x01,0x40,0x62,0x0f,0x82,0x20,0x08,0xf0,0xb7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x00,0x24,0x42,0x0a,0xe3,0x91,0xa4,0xf0,0xc2,0xb9,0x6b,0x20,0x19,0xa1,0x26,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x51,0x55,0x55,0x00,0xa0,0x4d,0x06,0x11,0x0d,0x60,0x5a,0xff,0xff,0x03,0xa5,0xe6); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x08,0xc9,0x16,0x64,0x0b,0x00,0x00,0x11,0x07,0x60,0x00,0xff,0xff,0x03,0xff,0x34); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0xc0,0x0c,0x3f,0x1f,0x9f,0x0f,0x00,0x08,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xff,0xb6,0x6d,0x03,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98,0x83,0xbe,0x76,0x41); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00,0x14,0x23,0x36,0x49,0x5c,0x63,0x98); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0xa0,0x83,0xbe,0x76,0x41,0x7b,0x50,0x4d,0x3e,0x2e,0x1f,0x10,0x0b,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x20,0x44,0x08,0x00,0x60,0x47,0x00,0x00,0x10,0x22,0x04,0x00,0xb0,0x23); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x90,0x15,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfa,0x68,0x68,0x01,0xb2,0x75,0xb0,0x04,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x15,0x55,0x61,0x15,0x00,0x60,0x15,0x00,0x50,0x15,0x56,0x51,0x15,0x55,0x61,0x95); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xab,0x18,0x00,0x05,0x00,0x05,0x00,0x05,0x80,0x4c,0x29,0x84,0x52,0x01,0x09,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0xb0,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0d); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0xf0,0xb1,0x71,0xef,0x4b,0xc0,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0e); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x09,0x80,0xff,0x01,0x55,0x55,0x23,0x88,0x88,0x1c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x0f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x14,0x40,0x6f,0xc0,0x12,0x08,0x64,0x08,0x52,0x31,0x58,0x49,0x03,0x52,0x4c,0x4c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x68,0x68,0x68,0x4c,0x4c,0x7c,0x14,0x00,0x20,0x06,0xc2,0x00,0x04,0x06,0x0c,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x00,0x92,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x10); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x03,0xe7,0x1f,0x17,0x10,0x48,0x80,0xaa,0xd0,0x18,0x30,0x88,0x41,0x8a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0x90,0x39,0x28,0xa9,0xc5,0x9a,0x7b,0xf0,0x07,0x7e,0xe0,0x07,0x7e,0x20,0x10,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x11); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x49,0x77,0x03,0x40,0xca,0xf3,0xff,0x83,0x30,0x08,0xc4,0x06,0xa1,0xd8,0x24,0x18); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x30,0xc6,0x66,0xc1,0x80,0x31,0x15,0xcb,0xe5,0xd2,0x68,0x6c,0x36,0x1d,0x04,0xc8); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xd9,0x88,0x60,0xb0,0x81,0x40,0x1a,0x1b,0x48,0x63,0x03,0xb9,0x00,0x1c,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x50,0x30,0x00,0xe0,0xe1,0x01,0x00,0x28,0x0e,0x06,0x43,0x55,0x55,0x55,0x55,0x55); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x95,0x88,0x88,0x88,0x88,0x88,0xc8,0x08,0x86,0xc6,0xe3,0x81,0x00,0x20,0x00,0x21); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x42,0x88,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x31,0x04,0x41,0x06,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x00,0x92,0x04,0x00,0x92,0x04,0x00,0x00,0x00,0x00,0x92,0x04,0x00,0x85,0x11,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xf0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x5e,0x4a,0x01,0x78,0x00,0x08,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x12); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x41,0x37); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xf1,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2d,0x23,0x05); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0xa0,0xfb,0x08,0x2d,0x23,0x05,0xfb,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x13); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xfd,0x0f,0x00,0x0c,0x00,0x00,0x00,0x00,0x01,0x08,0x01,0x1c,0x44,0x0c,0xce,0xe7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0f,0x90,0x62,0x0e,0x24,0x98,0xac,0x21,0x01,0x00,0xd0,0xff,0xff,0xff,0x07,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x14); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x02,0x41,0x36,0xe1,0xef,0xf7,0xfb,0xfd,0x7e,0x01,0x00,0x00,0x90,0xc5,0x8a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x27,0x6d,0x20,0x4e,0x3c,0x69,0x03,0xdb,0xe0,0x49,0x1b,0xd8,0x08,0x4f,0xda,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x82,0xb5,0xe2,0xf7,0x47,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0xd8,0x89,0xdf,0x1f,0x01,0x00,0x00,0x00,0x00,0x1c,0xb2,0x21,0x2b,0x00,0x40,0xa1); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x50,0x78,0x17,0xda,0xf4,0x80,0x51,0x1c,0x6f,0x42,0x9b,0x1e,0x30,0x8a,0xe3,0x3d); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x68,0xd3,0x03,0x46,0x71,0xbc,0x05,0x6d,0x7a,0xc0,0x28,0x8e,0x77,0xa0,0x4d,0x0f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0x18,0xc5,0xf1,0x06,0xb4,0xe9,0x01,0xa3,0x38,0x5e,0x80,0x36,0x3d,0x60,0x14,0xc7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x2b,0xd0,0xa6,0x07,0x8c,0xe2,0x18,0x01,0xbf,0xdf,0x08,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x15); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xd9,0xe0,0xf7); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xa3,0x00,0x20,0x4b,0x07,0xab,0xc5,0x03,0x00,0x00,0xd6,0xc1,0x6a,0xf1,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x75,0xa1,0x6a,0xb5,0x00,0x00,0x00,0x00,0x13,0x00,0xf0,0x00,0x14,0xd3,0x34,0xcd); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x90,0x02,0x4d,0x10,0x20,0x10,0x06,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x35,0x4d,0xd3); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0x34,0x21,0x13,0x04,0x01,0x02,0x61,0xa8,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x35); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xcd,0xd0,0x02,0x4d,0x50,0x30,0x14,0x47,0x6a,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0xd3,0x34,0x25,0x13,0x04,0x05,0x43,0x71,0xac,0xb6,0x6d,0xdb,0xb6,0x6d,0x5b,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x16); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x02,0x42,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x07,0x90,0x00,0x00,0x00,0x00,0xf0,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x18); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xef,0xbd,0xf7,0xde,0x7b,0xef,0xbd,0x07,0x08,0x08,0x0a,0x0c,0x0c,0x0c,0x0c,0x0c); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x0c,0x0c,0x0c,0x5c,0x09,0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x5a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x04,0xff,0x00,0x80); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x10,0xb0,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x19); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xc0,0xaf,0xa3,0x9b,0x92,0x8d,0x8a,0x86,0x84,0x83,0x82,0x81,0x00,0x50,0xf6,0xcf); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0xfc,0x2f,0xf3,0xef,0xcf,0xbf,0x0f,0xff,0xaf,0xb5,0x71,0x0e,0x6c,0x4a,0x69,0x08); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0xa0,0x03,0x03,0x68,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1a); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00,0x40); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0,0xa8); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xa0,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe,0xff); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xb0,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xc0,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00,0xa0); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xd0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc,0xfe); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xe0,0xff,0x00,0x00,0x04,0x08,0x0c,0x00,0x10,0x14,0x18,0x1c,0x00,0x20,0x28,0x30,0x38); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0xf0,0x00,0x40,0x48,0x50,0x58,0x00,0x60,0x68,0x70,0x78,0x00,0x80,0x88,0x90,0x98,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x1b); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0xa0,0xa8,0xb0,0xb8,0x00,0xc0,0xc8,0xd0,0xd8,0x00,0xe0,0xe8,0xf0,0xf8,0x00,0xfc); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x05,0x90,0xfe,0xff,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x20); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x08,0x80,0x81,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x22); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0e,0x80,0x2d,0xd3,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x9f,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x23); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x01,0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x0d,0x90,0xff,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xff,0x07,0x25); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x80,0x00,0x03,0x00,0xff,0xff,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0xa6); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x11,0x90,0x5a,0x5a,0x5a,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x42,0x24); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x90,0x00); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x29,0x00,0x03,0x41,0x5a,0x2f); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x15,0x00,0x02,0x19,0x00); + + + + + + + //----------------------LCD initial code End----------------------// + + // BIST MODE +// delayUs(100);hal_dsi_tx_ctrl_write_cmd(0x39,0,2,0x02,0x5A); + //SPI FINISH + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x42, 0x24); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x90, 0x00); + //Blank select 2F + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x41, 0x5A, 0x2F); + hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x19, 0x00); + + // Video Mode Enable +// delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x39,0x00,0x03,0xB7,0x59,0x02); + + hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x11); + delayMs(5); + hal_gpio_set_output_data(IO_PAD_PWMEN, IO_LVL_HIGH); + delayMs(5); +// hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH); + hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_HIGH); + +// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 3, 0x51, 0xff, 0x0f); +// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x53, 0x24); +// hal_dsi_tx_ctrl_write_cmd(0x39, 0, 2, 0x55, 0x00); + + + +#endif +#endif + +#endif + +#if 0 + uint8_t data[10] = {0}; + hal_dsi_tx_ctrl_read_cmd(0x06, 0, 0x0A, 1, data); + TAU_LOGI("read[0x%02x]:%02x\n", 0x0A, data[0]); +#endif + + + /* exit send initial code mode*/ + hal_dsi_tx_ctrl_exit_init_panel_mode(); + delayMs(10); +} + +static void open_mipi_rx(void) +{ + /* TE */ + hal_gpio_set_mode(IO_PAD_AP_TE, IO_MODE_TEAR); + + if (g_rx_ctrl_handle == NULL) + { + /* rx ctrl handle */ + g_rx_ctrl_handle = hal_dsi_rx_ctrl_create_handle(); + } + /* ò */ + g_rx_ctrl_handle->base_info.src_w = INPUT_WIDTH; + g_rx_ctrl_handle->base_info.src_h = INPUT_HEIGHT; + g_rx_ctrl_handle->base_info.dst_w = OUTPUT_WIDTH; + g_rx_ctrl_handle->base_info.dst_h = OUTPUT_HEIGHT; + g_rx_ctrl_handle->base_info.src_frate = INPUT_FRAME_RATE; + g_rx_ctrl_handle->base_info.src_mode = INPUT_DATA_MODE; + g_rx_ctrl_handle->rx_color_mode = INPUT_COLOR_MODE; + g_rx_ctrl_handle->rx_lanes = INPUT_MIPI_LANE_NUM; + g_rx_ctrl_handle->rx_nonburst_models = INPUT_VIDEO_MODEL; /* ɲ */ + g_rx_ctrl_handle->rx_vc = INPUT_VC; + g_rx_ctrl_handle->compress_en = INPUT_COMPRESS; + g_rx_ctrl_handle->rx_hsclk_rate = INPUT_MIPI_LANE_RATE; + g_rx_ctrl_handle->cus_dcs_entry_table = g_cus_rx_dcs_execute_table; /* ע DCSб */ + g_rx_ctrl_handle->rx_dcs_read_entry = ap_dcs_read; /* עdsc read ص,ѡ,˺Ϊʱcus_dcs_entry_tableִ */ + g_rx_ctrl_handle->pps_update_entry = pps_update_handle; + g_rx_ctrl_handle->pq_marginal = true; //true:ˮơfalse + /* ǰԤPPS, AP PPS cmdҲ */ + + /* ʼrx ctrl */ + hal_dsi_rx_ctrl_init(g_rx_ctrl_handle); + hal_dsi_rx_ctrl_set_cus_sync_line(g_rx_ctrl_handle, 2400);// lss add, ˺1600 + // hal_dsi_rx_ctrl_hight_performan_mode(g_rx_ctrl_handle); + hal_dsi_rx_ctrl_set_cus_scld_filter(g_rx_ctrl_handle,rx_filter_1080_h_4_70,rx_filter_2240_v_4_70); + /* rx ctrl */ + hal_dsi_rx_ctrl_start(g_rx_ctrl_handle); + //hal_dsi_rx_ctrl_set_auto_hw_filter(g_rx_ctrl_handle, true); + +// delayMs(20); +} + +static void init_mipi_tx(void) +{ + if (g_tx_ctrl_handle == NULL) + { + g_tx_ctrl_handle = hal_dsi_tx_ctrl_create_handle(); + } + g_tx_ctrl_handle->channel_id = OUTPUT_VC; + g_tx_ctrl_handle->lane_num = OUTPUT_LANE_NUMBER; + g_tx_ctrl_handle->vid_mode = OUTPUT_VIDEO_MODEL; + g_tx_ctrl_handle->cmd_tx_type = _CMD_TYPE; + g_tx_ctrl_handle->dpi_vsa = OUTPUT_VSA; + g_tx_ctrl_handle->dpi_vbp = OUTPUT_VBP; + g_tx_ctrl_handle->dpi_vfp = OUTPUT_VFP; + g_tx_ctrl_handle->dpi_hsa = OUTPUT_HSA; + g_tx_ctrl_handle->dpi_hbp = OUTPUT_HBP; + g_tx_ctrl_handle->dpi_hfp = OUTPUT_HFP; +// g_tx_ctrl_handle->lane_rate_coef = _LANE_RATE_COEF; + g_tx_ctrl_handle->base_info.src_w = INPUT_WIDTH; + g_tx_ctrl_handle->base_info.src_h = INPUT_HEIGHT; + g_tx_ctrl_handle->base_info.dst_w = OUTPUT_WIDTH; + g_tx_ctrl_handle->base_info.dst_h = OUTPUT_HEIGHT; + g_tx_ctrl_handle->base_info.src_frate = INPUT_FRAME_RATE; + g_tx_ctrl_handle->base_info.src_mode = INPUT_DATA_MODE; + + g_tx_ctrl_handle->tx_frame_rate = 60; + g_tx_ctrl_handle->tx_clkawayshs = true; +// g_tx_ctrl_handle->tx_line_delay = 600; + + hal_dsi_tx_ctrl_init(g_tx_ctrl_handle); + /* AP ûзʱĬϵʾɫ, Ϊ0 0 0(ɫ), ɫΪdebugʹ */ + hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0x00); + + //#define INPUT_WIDTH 1080 + //#define INPUT_HEIGHT 2244 + + +// #define OUTPUT_WIDTH 720 +// #define OUTPUT_HEIGHT 1600 + + /*ȱֱͼ*/ + //ԭװ18.79װ209 + //Ҽ25(18.7:9),20(18.9:9),15(19.2:9) + + //20230419ͻƫ + // ٳ1618ͼ첻أպߺڱߡ + // ڳ1518ͼе㣬λúԭװӽ + hal_dsi_tx_crop_t *crop; + crop->crop_top=0; + crop->crop_bottom=0; + crop->crop_left=15; + crop->crop_right=15; + hal_dsi_tx_crop_pic(g_tx_ctrl_handle,crop); + +#if CUS_SCLD_FILTER + // hal_dsi_tx_ctrl_set_cus_pq_filter(g_tx_ctrl_handle, tx_filter_H, tx_filter_V); +#endif +} + +static void AP_SWIRE_init() +{ + uint8_t i; + + hal_gpio_set_output_data(IO_PAD_ADCIN, IO_LVL_HIGH); + delayMs(1); + + for(i=0; i<5; i++) + { + hal_gpio_set_output_data(IO_PAD_ADCIN,IO_LVL_LOW); + delayUs(10); + hal_gpio_set_output_data(IO_PAD_ADCIN,IO_LVL_HIGH); + delayUs(10); + } +} + + +static void tx_display_on(void) +{ + init_panel(); +// delayMs(150); + hal_dsi_tx_ctrl_start(g_tx_ctrl_handle); + delayMs(150); + delayUs(50);hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29); + +// delayMs(40); +// hal_gpio_set_output_data(IO_PAD_AP_SWIRE, IO_LVL_HIGH); +// delayMs(200); +// delayMs(50); +// hal_dsi_tx_ctrl_write_cmd(0x05, 0, 1, 0x29); + TAU_LOGD("write 29\n"); + +/* if(g_resolution_change) + { + hal_dsi_rx_ctrl_toggle_resolution(g_rx_ctrl_handle); + //hal_dsi_rx_ctrl_set_auto_hw_filter(g_rx_ctrl_handle, true); + TAU_LOGD("resolutio toggle\n"); + } +*/ + panel_display_done = true; + +} + +static void swire_timer_callback(void *data) +{ + hal_swire_start(12, 12, 12, 12, swire_num); +} + +static void swire_callback(void *data) +{ + /* swire ǷҪһֱҪֻֻͬͬ */ + //if(start_display_on == false) + { + hal_timer_start(SWIRE_TIMER, 26, swire_timer_callback, NULL); + } +} + +/* swire ʼ,ͨ hal_swire_start , ѭһֱ */ +static void swire_init() +{ + hal_swire_open(DISABLE); + hal_swire_init(); + /* swire ηɺص */ + hal_swire_register_callback(swire_callback); + hal_swire_open(ENABLE); + //hal_swire_start(12, 12, 12, 12, 43); + hal_swire_start(12, 12, 12, 12, 36); //3~27,~,9.45V~7.43V + hal_timer_init(SWIRE_TIMER); + hal_timer_start(SWIRE_TIMER, 26, swire_timer_callback, NULL); +} + + + +#if 0 // TEST RGB, From Lin +void RGB_TEST(void) +{ + tx_display_on(); + while (1) + { + + hal_dsi_tx_ctrl_set_overwrite_rgb(0xFF, 0x00, 0x00); // RED + hal_dsi_tx_ctrl_start(g_tx_ctrl_handle); + delayMs(1000); + + + hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0xFF, 0x00); // GREEN + hal_dsi_tx_ctrl_start(g_tx_ctrl_handle); + delayMs(1000); + + + hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0xFF); // BLUE + hal_dsi_tx_ctrl_start(g_tx_ctrl_handle); + delayMs(1000); + + + hal_dsi_tx_ctrl_set_overwrite_rgb(0xFF, 0xFF, 0xFF); // WHITE + hal_dsi_tx_ctrl_start(g_tx_ctrl_handle); + delayMs(1000); + + + hal_dsi_tx_ctrl_set_overwrite_rgb(0x00, 0x00, 0x00); // BLACK + hal_dsi_tx_ctrl_start(g_tx_ctrl_handle); + delayMs(1000); + + } + +} +#endif + + + +void ap_demo(void) +{ + hal_gpio_init_output(IO_PAD_PWMEN, IO_LVL_LOW); + hal_gpio_init_output(IO_PAD_ADCIN, IO_LVL_LOW); + hal_gpio_init_output(IO_PAD_AP_SWIRE, IO_LVL_LOW); + hal_pwm_out_sel_io(IO_PAD_AP_SWIRE); + /* mipi rxʼ */ + open_mipi_rx(); + + PWM_init(); + AP_SWIRE_init(); + #if SHARE_FLASH_MODE + hal_system_share_flash_mode(true); // ʹڲFLASH + #endif + + /* swire ʼ */ +// swire_init(); + + /* Ӧ,1.8V AP TP1.8, PWMEN ӵ AP AVDD_SWIRE, ڼϢAC */ + + if (hal_gpio_get_input_data(IO_PAD_AP_TPRSTN)) + { + /* Ϣ */ + start_display_on = true; + TAU_LOGD("DC\n"); + } + else + { + /* AC */ + TAU_LOGD("AC\n"); + } + +// NVIC_SetPriority(I2C0_IRQn, 0x00); +// NVIC_SetPriority(I2C1_IRQn, 0x01); + /* TP1.8е֮ǰʹTEʾ֮лΪӲTE */ +// soft_te_timer_init(); + + /* mipi tx ʼ*/ + + init_mipi_tx(); + + #if 0 // TEST RGB, From Lin + RGB_TEST(); + #endif + + /* touch ģʼ */ + app_tp_init(); + +// hal_dsi_rx_ctrl_enable_test_pattern(g_rx_ctrl_handle, 0, true);//TEST + loop_count =1; + while (1) + { + /* ȴ AP TP ϵ*/ + if (start_display_on == true) + { + /* ʼ */ + tx_display_on(); + + #if SHARE_FLASH_MODE + //hal_system_share_flash_mode(false); // ڲFLASHر + #endif + + start_display_on = false; + panel_display_done = true; + + app_tp_phone_clear_reset_on(); + + /* TP ģͨѶʼ */ + #ifndef DISABLE_TDDI_I2C_FUNCTION + app_tp_transfer_screen_start(); + #endif + } + + if(panel_display_done) + { + PWM_Task(); + } + /* ȴ TP жϱTP Эת */ + #ifndef DISABLE_TDDI_I2C_FUNCTION + app_tp_transfer_screen_int(); + #endif + + while (hal_dsi_rx_ctrl_dsc_async_handler(g_rx_ctrl_handle)); + + } +} + diff --git a/src/app/ap_demo/ap_demo.h b/src/app/ap_demo/ap_demo.h new file mode 100644 index 0000000..4398e65 --- /dev/null +++ b/src/app/ap_demo/ap_demo.h @@ -0,0 +1,23 @@ +/******************************************************************************* +* +* +* File: s8_demo.h +* Description: s8ͷļ +* Version: V0.1 +* Date: 2021-02-22 +* Author: Tempest + *******************************************************************************/ + +#ifndef __AP_DEMO_H__ +#define __AP_DEMO_H__ + +#define USE_FOR_SUMSUNG_S10 + +/** +* @brief test system +* @param none +* @retval none +*/ +void ap_demo(void); + +#endif diff --git a/src/app/ap_demo/app_tp_for_custom_mi8se.c b/src/app/ap_demo/app_tp_for_custom_mi8se.c new file mode 100644 index 0000000..ad61625 --- /dev/null +++ b/src/app/ap_demo/app_tp_for_custom_mi8se.c @@ -0,0 +1,1151 @@ +/******************************************************************************* +* +* +* File: app_tp_for_custom.c +* Description tp Э鴦ļЭתstart/sleep/awake ȹ̶ݵ +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ +#include "test_cfg_global.h" + +#if _DEMO_MI8SE_EN +#include "app_tp_for_custom_mi8se.h" +#include "app_tp_phone_transfer_data_mi8se.h" +#include "app_tp_screen_transfer_data_mi8se.h" +#include "tau_log.h" +#include "tau_delay.h" +#include "hal_pwm.h" + + +//static uint8_t s8_event_id = 0x00; +bool tp_flag = false; + + +uint8_t s8_host_num[11] = {0x02,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0E,0x10,0x12,0x14}; // жٸӦķֵģΪ01ʱǶ1 +uint8_t s8_host_id[10] = {0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90}; // ״̬BIT3~BIT0: 3ʼ/5/4̧ + +extern uint8_t read_point; +extern uint8_t s_screen_number[2]; +extern uint8_t s_screen_read_bak[80]; + +io_pad_e g_screen_input_rst_pad = IO_PAD_TD_TPRSTN; +io_pad_e g_screen_input_int_pad = IO_PAD_TD_INT; +io_pad_e g_phone_input_rst_pad = IO_PAD_AP_TPRSTN; +io_pad_e g_phone_output_int_pad = IO_PAD_AP_INT; + +#ifdef USE_FOR_SUMSUNG_S10 +uint8_t Flag_EA_EN=0; + +uint8_t Flag_touch_count = 0; +uint8_t touch_send_flag = 0; +uint8_t touch_recv_flag = 0; + +uint8_t touchnum_bak = 0; +uint8_t Flag_blacklight_EN=0; +uint16_t first_touch=0; +uint16_t first_send=0; +uint16_t flnger_state_flg=0; +extern uint16_t u16TouchID; +#endif + +/*************************************Э master buffer ****************************************/ + +uint8_t screen_data_write_1[1] = {0x04}; /// ݶȡӦķbuffer +uint8_t screen_data_write_2[1] = {0x08}; //buffer +#ifdef USE_FOR_SUMSUNG_S10 +uint8_t screen_data_write_3[1] = {0x00}; //buffer +#else +uint8_t screen_data_write_3[1] = {0x06}; //buffer +#endif + +uint8_t screen_data_write_4[2] = {0xFF,0x00}; +uint8_t screen_data_write_5[2] = {0x1F,0xFF}; +uint8_t screen_data_write_6[2] = {0x0E,0x24}; +uint8_t screen_data_write_7[2] = {0x24,0x01}; +uint8_t screen_data_write_8[2] = {0x0D,0x00}; +uint8_t screen_data_write_9[2] = {0x0E,0x00}; +uint8_t screen_data_write_10[2] = {0x0E,0x07}; +uint8_t screen_data_write_11[1] = {0x0D}; +uint8_t screen_data_write_12[1] = {0x05}; + +st_screen_data screen_reg_int_data[] = {{screen_data_write_1, 1, 2, SCREEN_TRANSFER_READ},\ + {screen_data_write_2, 1, 2, SCREEN_TRANSFER_READ},\ + {screen_data_write_3, 1, 8, SCREEN_TRANSFER_READ} +}; +const uint8_t screen_reg_int_data_size = sizeof(screen_reg_int_data) / sizeof(st_screen_data);//ṹԪظ鰴Э鷢Ⱥ +/***********************************Э master buffer ֹ**************************************/ + +/***********************************Ļʼ master buffer ************************************/ +// 鰴Э鷢Ⱥ +#if 1 + +#if 0 +st_screen_const_data screen_reg_start_data[] = {{screen_data_write_4, 2, 2, SCREEN_TRANSFER_WRITE},\ + {screen_data_write_11, 1, 1, SCREEN_TRANSFER_READ},\ + {screen_data_write_8, 2, 2, SCREEN_TRANSFER_WRITE},\ + {screen_data_write_9, 2, 2, SCREEN_TRANSFER_WRITE},\ + {screen_data_write_12, 1, 1, SCREEN_TRANSFER_READ},\ + {screen_data_write_10, 2, 2, SCREEN_TRANSFER_WRITE},\ +}; + +#else +st_screen_const_data screen_reg_start_data[] = {{screen_data_write_4, 2, 2, SCREEN_TRANSFER_WRITE},\ + {screen_data_write_5, 2, 2, SCREEN_TRANSFER_WRITE},\ + {screen_data_write_6, 2, 8, SCREEN_TRANSFER_WRITE},\ + {screen_data_write_7, 2, 8, SCREEN_TRANSFER_WRITE},\ +}; +#endif + +#else +st_screen_const_data screen_reg_start_data[] = {{screen_data_write_1, 1, 2, SCREEN_TRANSFER_READ},\ + {screen_data_write_2, 1, 2, SCREEN_TRANSFER_READ} +}; +#endif + +const uint8_t screen_reg_start_data_size = sizeof(screen_reg_start_data) / sizeof(st_screen_const_data); +/*********************************Ļʼ master buffer ֹ**********************************/ + +#ifdef TP_ADD_ESD_CHECK // ʱTP +bool tp_get_ac = false; +bool ap_tp_int_enable = false; +static bool ap_int_first = true; +static bool ap_int_second = true; +static volatile bool g_send_ed = false; +#endif + +/*************************************Э slave buffer******************************************/ +uint8_t phone_reg_point_data[] = {0xB6, 0x00, 0x23}; +uint8_t phone_reg_point_back[] = {0x05, 0x02}; + +uint8_t phone_reg_coord_data[] = {0x86}; // ݷӦĽ + +uint8_t phone_reg_coord_back[80] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; // ݷӦbuffer + + +st_reg_data phone_reg_int_data[] = { \ + {3, 2, phone_reg_point_data, phone_reg_point_back}, \ + {1, 80, phone_reg_coord_data, phone_reg_coord_back} \ +}; +uint8_t phone_reg_int_size = sizeof(phone_reg_int_data) / sizeof(phone_reg_int_data[0]); +/***********************************Э slave buffer ֹ***************************************/ + +/****************************׶slaveҪݼӦĽտͷ********************************/ + +st_reg_const_data phone_reg_const_data[] = { \ +/* {sizeof(phone_b6_00_28_data), sizeof(phone_b6_00_28_back), phone_b6_00_28_data, phone_b6_00_28_back}, \ + {sizeof(phone_b6_00_08_data), sizeof(phone_b6_00_08_back), phone_b6_00_08_data, phone_b6_00_08_back}, \ + {sizeof(phone_b6_00_04_data), sizeof(phone_b6_00_04_back), phone_b6_00_04_data, phone_b6_00_04_back}, \ + {sizeof(phone_b8_00_08_data), sizeof(phone_b8_00_08_back), phone_b8_00_08_data, phone_b8_00_08_back}, \ + {sizeof(phone_ac_data), sizeof(phone_ac_back), phone_ac_data, phone_ac_back}, \ + {sizeof(phone_a7_data), sizeof(phone_a7_back), phone_a7_data, phone_a7_back}, \ + {sizeof(phone_84_data), sizeof(phone_84_back), phone_84_data, phone_84_back}, \ + {sizeof(phone_aa_00_data), sizeof(phone_aa_00_back), phone_aa_00_data, phone_aa_00_back}, \ + {sizeof(phone_aa_01_data), sizeof(phone_aa_01_back), phone_aa_01_data, phone_aa_01_back}, \ + {sizeof(phone_d0_00_5a_data), sizeof(phone_d0_00_5a_back), phone_d0_00_5a_data, phone_d0_00_5a_back}, \ + {sizeof(phone_d0_00_5c_data), sizeof(phone_d0_00_5c_back), phone_d0_00_5c_data, phone_d0_00_5c_back}, \ + {sizeof(phone_d0_00_64_data), sizeof(phone_d0_00_64_back), phone_d0_00_64_data, phone_d0_00_64_back}, \ + {sizeof(phone_d0_00_88_data), sizeof(phone_d0_00_88_back), phone_d0_00_88_data, phone_d0_00_88_back}, \ + {sizeof(phone_d0_00_7a_data), sizeof(phone_d0_00_7a_back), phone_d0_00_7a_data, phone_d0_00_7a_back}, \ + {sizeof(phone_d0_76_04_data), sizeof(phone_d0_76_04_back), phone_d0_76_04_data, phone_d0_76_04_back}, \ + {sizeof(phone_d0_1f_6e_data), sizeof(phone_d0_1f_6e_back), phone_d0_1f_6e_data, phone_d0_1f_6e_back}, \ + {sizeof(phone_d0_00_50_data), sizeof(phone_d0_00_50_back), phone_d0_00_50_data, phone_d0_00_50_back}, \ + {sizeof(phone_d0_1f_b3_data), sizeof(phone_d0_1f_b3_back), phone_d0_1f_b3_data, phone_d0_1f_b3_back}, \ + {sizeof(phone_d0_1f_6c_data), sizeof(phone_d0_1f_6c_back), phone_d0_1f_6c_data, phone_d0_1f_6c_back}, \ + {sizeof(phone_d0_1f_b2_data), sizeof(phone_d0_1f_b2_back), phone_d0_1f_b2_data, phone_d0_1f_b2_back}, \ + {sizeof(phone_d0_1f_72_data), sizeof(phone_d0_1f_72_back), phone_d0_1f_72_data, phone_d0_1f_72_back}, \ + {sizeof(phone_d0_00_06_data), sizeof(phone_d0_00_06_back), phone_d0_00_06_data, phone_d0_00_06_back}, \ + {sizeof(phone_d0_23_ac_data), sizeof(phone_d0_23_ac_back), phone_d0_23_ac_data, phone_d0_23_ac_back}, \ + {sizeof(phone_d0_24_2c_data), sizeof(phone_d0_24_2c_back), phone_d0_24_2c_data, phone_d0_24_2c_back}, \ + {sizeof(phone_d0_24_ac_data), sizeof(phone_d0_24_ac_back), phone_d0_24_ac_data, phone_d0_24_ac_back}, \ + {sizeof(phone_d0_25_2c_data), sizeof(phone_d0_25_2c_back), phone_d0_25_2c_data, phone_d0_25_2c_back}, \ + {sizeof(phone_d0_25_ac_data), sizeof(phone_d0_25_ac_back), phone_d0_25_ac_data, phone_d0_25_ac_back}, \ + {sizeof(phone_d0_26_2c_data), sizeof(phone_d0_26_2c_back), phone_d0_26_2c_data, phone_d0_26_2c_back}, \ + {sizeof(phone_d0_26_ac_data), sizeof(phone_d0_26_ac_back), phone_d0_26_ac_data, phone_d0_26_ac_back}, \ + {sizeof(phone_d0_27_2c_data), sizeof(phone_d0_27_2c_back), phone_d0_27_2c_data, phone_d0_27_2c_back} \ + */ +}; +uint8_t phone_reg_const_data_size = sizeof(phone_reg_const_data) / sizeof(phone_reg_const_data[0]); +/***************************׶slaveҪݼӦĽտͷֹ******************************/ + +static void tp_int_high_timer_callback(void *data) +{ + uint8_t ii, jj=0; + + if(touch_recv_flag == 0) // 1msûйȡݣԶ + { + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); + } + else // 25ms ޴release¼ + { + + for(jj=0; jj<10; jj++) + { + ii = jj; + phone_reg_coord_back[8*jj+0] = 0x33; //13 press 33 leave 23 move + phone_reg_coord_back[8*jj+1] = (jj<<4)|0x01; //id + phone_reg_coord_back[8*jj+2] = 0x00; //x Ͱλ + phone_reg_coord_back[8*jj+3] = 0x00; //bit0-bit3:xλ;bit4-bit7:yλ; + phone_reg_coord_back[8*jj+4] = 0x00; //y ߰λ + phone_reg_coord_back[8*jj+5] = 0x00; //zzλ + //touch type0:ָͨ1:2:ף3:;4:;5:;6:ʪ;7:ӽ;8:ҡ + phone_reg_coord_back[8*jj+6] = 0x00; //bit0-bit5:zֻ6λ;bit6-bit7:touch typeĸλ + phone_reg_coord_back[8*jj+7] = 9-jj; + } + + Flag_touch_count = jj; + + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_LOW); //TPжϽ,֪ͨAPȡTP + } +} +void tp_int_high_timer_init(void) +{ + hal_timer_init(TIMER_NUM3); + hal_timer_start(TIMER_NUM3, 25, tp_int_high_timer_callback, NULL); +} + +/************************************************************************** +* @name : app_tp_screen_analysis_const +* @brief : screen start ׶ݽɿͻ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +uint8_t app_tp_screen_analysis_const(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size) +{ + static uint8_t app_tp_count = 0; + + app_tp_count++; + if (app_tp_count > 20) //ʼɹreset screen + { + app_tp_count = 0; + app_tp_screen_init(); + return 0; + } + + if (transfer_now == 0) + { + if (rxbuffer[2] == 0x03) + { + TAU_LOGD("TD TP init done\n"); + return 1; + } + else + { + TAU_LOGD("TD TP return false [%d]\n", rxbuffer[2]); + return 0; + } + } + + return transfer_now + 1; +} + +/************************************************************************** +* @name : app_tp_screen_analysis_int +* @brief : screen ݽɿͻ +* @param[in] : +* @return : +* @retval : +*޸TP3תʽ +*ģ鱨rxbuffer[]ת󱨵phone_reg_coord_back[] +**************************************************************************/ +uint8_t app_tp_screen_analysis_int(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size) +{ + +#ifdef USE_FOR_SUMSUNG_S10 +uint8_t ii, jj,i,j,k; +uint8_t temp_flag,temp,touchnum; +uint8_t temp_8,touch_id; +uint16_t temp16 = 1; +uint32_t xx, yy, zz; +uint8_t send_point = 0; // ǰҪ͵ı̧ʱҲҪ + +static uint16_t point_counter =0; + + send_point =0; + touchnum =0; + touchnum = rxbuffer[2]; + if(touchnum>0x10) + touchnum = 0; +/* + for(ii=0;ii<64;ii++) + { + printf("%2x ",rxbuffer[ii]); + } + printf("\n"); +*/ +#if 0 + if(point_counter == 0) + { + // point_counter = 1; + phone_reg_coord_back[0] = 0x13; + phone_reg_coord_back[1] = 0x01; + phone_reg_coord_back[2] = 0xE9; + phone_reg_coord_back[3] = 0x61; + phone_reg_coord_back[4] = 0x25; + phone_reg_coord_back[5] = 0x00; + phone_reg_coord_back[6] = 0x00; + phone_reg_coord_back[7] = 0x00; + } + else if(point_counter == 1) + { + + phone_reg_coord_back[0] = 0x23; + phone_reg_coord_back[1] = 0x01; + phone_reg_coord_back[2] = 0xE9; + phone_reg_coord_back[3] = 0x61; + phone_reg_coord_back[4] = 0x25; + phone_reg_coord_back[5] = 0x00; + phone_reg_coord_back[6] = 0x00; + phone_reg_coord_back[7] = 0x00; + } + else if(point_counter == 10) + { +// point_counter++; + phone_reg_coord_back[0] = 0x23; + phone_reg_coord_back[1] = 0x01; + phone_reg_coord_back[2] = 0xF5; + phone_reg_coord_back[3] = 0xE1; + phone_reg_coord_back[4] = 0x25; + phone_reg_coord_back[5] = 0x00; + phone_reg_coord_back[6] = 0x00; + phone_reg_coord_back[7] = 0x00; + } + + point_counter++; + if(point_counter == 1000) + { + point_counter = 0; + phone_reg_coord_back[0] = 0x33; + phone_reg_coord_back[1] = 0x01; + phone_reg_coord_back[2] = 0xF5; + phone_reg_coord_back[3] = 0xE1; + phone_reg_coord_back[4] = 0x25; + phone_reg_coord_back[5] = 0x00; + phone_reg_coord_back[6] = 0x00; + phone_reg_coord_back[7] = 0x00; + } + + send_point = 1; + + if(temp16 || send_point) + { + tp_flag =true; + TAU_LOGD("TD TP done %d \n",point_counter); + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_LOW); //TPжϽ,֪ͨAPȡTP + } + return screen_reg_int_data_size + 1; + +#else + for(ii =0; ii<5; ii++) + { + phone_reg_coord_back[7]=0; + } + + +// if(Flag_touch_count == 0) // + { + +// TAU_LOGD("[%2x][%2x][%2x][%2x][%2x][%2x][%2x][%2x]\n",rxbuffer[0],rxbuffer[1],rxbuffer[2],rxbuffer[3],rxbuffer[4],rxbuffer[5],rxbuffer[6],rxbuffer[7]); + send_point = rxbuffer[2]; // ȡ + + if( send_point <= 10 && (rxbuffer[3]!= 0x00) && (rxbuffer[4]!= 0x00) ) // ݲ10 б + { + + + for(ii =0; ii<10; ii++) + { + temp_flag = s8_host_id[ii]&0xF0; + temp_8 = rxbuffer[6*ii+3]&0xf0; + touch_id=(rxbuffer[6*ii+5]>>4)&0x0f; + if(temp_8==0x00)//((temp16 >>ii) &0x01) // ӦIDб + { + // send_point++; + s8_host_id[ii]=0x13; + } + else if(temp_8== 0x80) // + { + // send_point++; + s8_host_id[ii]=0x23; + } + else if(temp_8== 0x40) // ̧ + { + send_point++; + s8_host_id[ii] = 0x33; + } + } + + //// phone_reg_point_back[1] = s8_host_num[send_point]; //ҪͱļĴ + // printf("send_point %d ",send_point); + + jj =0; + for(ii =0; ii<10; ii++) + { + temp_8 = rxbuffer[6*ii+3]&0xf0; + temp_flag = s8_host_id[ii]&0x30; + touch_id = (rxbuffer[6*ii+5]>>4)&0x0f; + touch_id = (touch_id<<4); + if(temp_flag) //2BITΪ0Ҫͱ + { + xx = ((rxbuffer[6*ii+3]&0x0f) << 8) | (rxbuffer[6*ii+4]); + yy = ((rxbuffer[6*ii+5]&0x0f) << 8) | (rxbuffer[6*ii+6]); + zz = rxbuffer[6*ii+7]; + + xx = xx * INPUT_WIDTH_VALUE / OUTPUT_WIDTH_VALUE; + if(xx > 4095) + xx = 4095; + yy = yy * INPUT_HEIGHT_VALUE / OUTPUT_HEIGHT_VALUE; + if(yy > 4095) + yy = 4095; + + if (temp_flag ==0x30) // ̧ + { + #if 1 + phone_reg_coord_back[8*jj+0] = s8_host_id[ii]; //13 press 33 leave 23 move + phone_reg_coord_back[8*jj+1] = touch_id|0x01; //id + phone_reg_coord_back[8*jj+2] = (uint8_t)(xx& 0xFF); //x Ͱλ + phone_reg_coord_back[8*jj+3] = ((yy & 0x0F) << 4) | ((xx>>8) & 0x0F); //bit0-bit3:xλ;bit4-bit7:yλ; + phone_reg_coord_back[8*jj+4] = (uint8_t)((yy>>4)& 0xFF); //y ߰λ + phone_reg_coord_back[8*jj+5] = 0x00; //zzλ + //touch type0:ָͨ1:2:ף3:;4:;5:;6:ʪ;7:ӽ;8:ҡ + phone_reg_coord_back[8*jj+6] = 0x00; //bit0-bit5:zֻ6λ;bit6-bit7:touch typeĸλ + + if(send_point>jj) + phone_reg_coord_back[8*jj+7] = send_point-jj-1; + else + phone_reg_coord_back[8*jj+7] = 0x00; + #else + phone_reg_coord_back[8*jj+0] = s8_host_id[ii]; + phone_reg_coord_back[8*jj+1] = touch_id|0x01; + phone_reg_coord_back[8*jj+2] = s_screen_read_bak[8*ii+2]; + phone_reg_coord_back[8*jj+3] = s_screen_read_bak[8*ii+3]; + phone_reg_coord_back[8*jj+4] = s_screen_read_bak[8*ii+4]; + phone_reg_coord_back[8*jj+5] = s_screen_read_bak[8*ii+5]; + phone_reg_coord_back[8*jj+6] = s_screen_read_bak[8*ii+6]; + // phone_reg_coord_back[8*jj+7] = 0x00; + if(send_point>=jj) + phone_reg_coord_back[8*jj+7] = 0x00; + else + phone_reg_coord_back[8*jj+7] = send_point-jj-1; + #endif + + } + else + { + /* xx = ((rxbuffer[6*ii+3]&0x0f) << 8) | (rxbuffer[6*ii+4]); + yy = ((rxbuffer[6*ii+5]&0x0f) << 8) | (rxbuffer[6*ii+6]); + zz = rxbuffer[6*ii+7]; + + xx = xx * INPUT_WIDTH_VALUE / OUTPUT_WIDTH_VALUE; + if(xx > 4095) + xx = 4095; + yy = yy * INPUT_HEIGHT_VALUE / OUTPUT_HEIGHT_VALUE; + if(yy > 4095) + yy = 4095; + */ + + phone_reg_coord_back[8*jj+0] = s8_host_id[ii]; //13 press 33 leave 23 move + phone_reg_coord_back[8*jj+1] = touch_id|0x01; //id + phone_reg_coord_back[8*jj+2] = (uint8_t)(xx& 0xFF); //x Ͱλ + phone_reg_coord_back[8*jj+3] = ((yy & 0x0F) << 4) | ((xx>>8) & 0x0F); //bit0-bit3:xλ;bit4-bit7:yλ; + phone_reg_coord_back[8*jj+4] = (uint8_t)((yy>>4)& 0xFF); //y ߰λ + phone_reg_coord_back[8*jj+5] = 0x00; //zzλ + //touch type0:ָͨ1:2:ף3:;4:;5:;6:ʪ;7:ӽ;8:ҡ + phone_reg_coord_back[8*jj+6] = 0x00; //bit0-bit5:zֻ6λ;bit6-bit7:touch typeĸλ + // phone_reg_coord_back[8*jj+7] = 0x00; + phone_reg_coord_back[8*jj+7] = send_point-jj-1; //bit0-bit5:bufferʣٸ¼;bit6-bit7touch type λ + + } + + #if 0// + s_screen_read_bak[8*ii+0] =phone_reg_coord_back[8*jj+0]; + s_screen_read_bak[8*ii+1] =phone_reg_coord_back[8*jj+1]; + s_screen_read_bak[8*ii+2] =phone_reg_coord_back[8*jj+2]; + s_screen_read_bak[8*ii+3] =phone_reg_coord_back[8*jj+3]; + s_screen_read_bak[8*ii+4] =phone_reg_coord_back[8*jj+4]; + s_screen_read_bak[8*ii+5] =phone_reg_coord_back[8*jj+5]; + s_screen_read_bak[8*ii+6] =phone_reg_coord_back[8*jj+6]; + s_screen_read_bak[8*ii+7] =phone_reg_coord_back[8*jj+7]; + #endif + jj++; + } + + if(jj >= send_point) break; + } + + + touchnum_bak = touchnum; + phone_data_B1[1] =0x86; + Flag_touch_count = send_point; // ¼ + touch_send_flag = 0; + + if(temp16 || send_point) + { + touch_recv_flag = 0; + tp_flag =true; + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_LOW); //TPжϽ,֪ͨAPȡTP + tp_int_high_timer_init(); + } + } + } + return screen_reg_int_data_size + 1; +#endif + +#endif + +} + +/************************************************************************** +* @name : hal_tp_phone_analysis_data +* @brief : phone ݽɿͻ +* @param[in] : +* @return : +* @retval : +*޸TP4ץȡTPݲظ +**************************************************************************/ +void app_tp_phone_analysis_data(uint8_t *rxbuffer, size_t rxbuffer_size, const uint8_t **txbuffer, size_t *txbuffer_size) +{ +#ifdef USE_FOR_SUMSUNG_S10 +static uint8_t phone_A6_flag = 0; +static uint8_t phone_FA_flag = 0; +static uint8_t phone_86_flag = 0; + + if( (rxbuffer_size ==3) &&(rxbuffer[0] ==0xA6)) + { + printf("%d\n",phone_A6_flag); + if (phone_A6_flag == 0) + { + *txbuffer = phone_data_A6_0; + *txbuffer_size = sizeof(phone_data_A6_0); + } + else if (phone_A6_flag == 1) + { + *txbuffer = phone_data_A6_1; + *txbuffer_size = sizeof(phone_data_A6_1); + } + else if (phone_A6_flag == 2) + { + *txbuffer = phone_data_A6_2; + *txbuffer_size = sizeof(phone_data_A6_2); + } + else if (phone_A6_flag == 3) + { + *txbuffer = phone_data_A6_3; + *txbuffer_size = sizeof(phone_data_A6_3); + } + else if (phone_A6_flag == 4) + { + *txbuffer = phone_data_A6_4; + *txbuffer_size = sizeof(phone_data_A6_4); + } + else if (phone_A6_flag == 5) + { + *txbuffer = phone_data_A6_5; + *txbuffer_size = sizeof(phone_data_A6_5); + } + else + { + *txbuffer = phone_data_A6_4; + *txbuffer_size = sizeof(phone_data_A6_4); + } + phone_A6_flag++; + if (phone_A6_flag > 6) + phone_A6_flag = 0; + } + if( (rxbuffer_size == 5) &&(rxbuffer[0] ==0xFA)) + { + if (phone_FA_flag == 0) + { + *txbuffer = phone_data_FA_0; + *txbuffer_size = sizeof(phone_data_FA_0); + } + else if (phone_FA_flag == 1) + { + *txbuffer = phone_data_FA_1; + *txbuffer_size = sizeof(phone_data_FA_1); + } + else if (phone_FA_flag == 2) + { + *txbuffer = phone_data_FA_2; + *txbuffer_size = sizeof(phone_data_FA_2); + } + else + { + *txbuffer = phone_data_FA_2; + *txbuffer_size = sizeof(phone_data_FA_2); + } + + phone_FA_flag++; + if (phone_FA_flag > 6) + phone_FA_flag = 0; + } + + if(rxbuffer_size ==1) + { + switch(rxbuffer[0]) + { + case 0x43: + *txbuffer = phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0xC3: + *txbuffer = phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0x83: + *txbuffer = phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0x87: + *txbuffer = phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0x86: + + touch_recv_flag++; + // if((touch_recv_flag%2) == 0) + { + // printf("%d\n",phone_86_flag); + // if(phone_86_flag<25) touch_recv_flag = 0; + + if (phone_86_flag == 0) + { + *txbuffer = phone_data_86_0; + *txbuffer_size = sizeof(phone_data_86_0); + phone_86_flag++; + } + else if (phone_86_flag == 1) + { + *txbuffer = phone_data_86_0; + *txbuffer_size = sizeof(phone_data_86_0); + phone_86_flag++; + } + else if (phone_86_flag == 2) + { + *txbuffer = phone_data_86_1; + *txbuffer_size = sizeof(phone_data_86_1); + phone_86_flag++; + } + else if (phone_86_flag == 3) + { + *txbuffer = phone_data_86_1; + *txbuffer_size = sizeof(phone_data_86_1); + phone_86_flag++; + } + else if (phone_86_flag == 4) + { + *txbuffer = phone_data_86_2; + *txbuffer_size = sizeof(phone_data_86_2); + phone_86_flag++; + } + else if (phone_86_flag == 5) + { + *txbuffer = phone_data_86_3; + *txbuffer_size = sizeof(phone_data_86_3); + phone_86_flag++; + } + else if (phone_86_flag == 6) + { + *txbuffer = phone_data_86_4; + *txbuffer_size = sizeof(phone_data_86_4); + phone_86_flag++; + } + else if (phone_86_flag == 7) + { + *txbuffer = phone_data_86_5; + *txbuffer_size = sizeof(phone_data_86_5); + phone_86_flag++; + } + else if (phone_86_flag == 8) + { + *txbuffer = phone_data_86_6; + *txbuffer_size = sizeof(phone_data_86_6); + phone_86_flag++; + } + else if (phone_86_flag == 9) + { + *txbuffer = phone_data_86_7; + *txbuffer_size = sizeof(phone_data_86_7); + phone_86_flag++; + } + else if (phone_86_flag == 10) + { + *txbuffer = phone_data_86_8; + *txbuffer_size = sizeof(phone_data_86_8); + phone_86_flag++; + } + else if (phone_86_flag == 11) + { + *txbuffer = phone_data_86_9; + *txbuffer_size = sizeof(phone_data_86_9); + phone_86_flag++; + } + else if (phone_86_flag == 12) + { + *txbuffer = phone_data_86_10; + *txbuffer_size = sizeof(phone_data_86_10); + phone_86_flag++; + } + else if (phone_86_flag == 13) + { + *txbuffer = phone_data_86_11; + *txbuffer_size = sizeof(phone_data_86_11); + phone_86_flag++; + } + else if (phone_86_flag == 14) + { + *txbuffer = phone_data_86_12; + *txbuffer_size = sizeof(phone_data_86_12); + phone_86_flag++; + } + else if (phone_86_flag == 15) + { + *txbuffer = phone_reg_coord_back; + *txbuffer_size = sizeof(phone_reg_coord_back); + phone_86_flag++; + } + else if (phone_86_flag == 16) + { + *txbuffer = phone_data_86_13; + *txbuffer_size = sizeof(phone_data_86_13); + phone_86_flag++; + } + else if (phone_86_flag == 17) + { + *txbuffer = phone_data_86_14; + *txbuffer_size = sizeof(phone_data_86_14); + phone_86_flag++; + } + else if (phone_86_flag == 18) + { + *txbuffer = phone_data_86_15; + *txbuffer_size = sizeof(phone_data_86_15); + phone_86_flag++; + } + else if (phone_86_flag == 19) + { + *txbuffer = phone_data_86_16; + *txbuffer_size = sizeof(phone_data_86_16); + phone_86_flag++; + } + else if (phone_86_flag == 20) + { + *txbuffer = phone_data_86_17; + *txbuffer_size = sizeof(phone_data_86_17); + phone_86_flag++; + } + else if (phone_86_flag == 21) + { + *txbuffer = phone_data_86_18; + *txbuffer_size = sizeof(phone_data_86_18); + phone_86_flag++; + } + else if (phone_86_flag == 22) + { + *txbuffer = phone_data_86_19; + *txbuffer_size = sizeof(phone_data_86_19); + phone_86_flag++; + } + else if (phone_86_flag == 23) + { + *txbuffer = phone_data_86_20; + *txbuffer_size = sizeof(phone_data_86_20); + phone_86_flag++; + } + else if (phone_86_flag == 24) + { + *txbuffer = phone_data_86_21; + *txbuffer_size = sizeof(phone_data_86_21); + phone_86_flag++; + } + else + { + // printf("A\n"); + printf("%d\n",Flag_touch_count); + if(Flag_touch_count > 1) + { + // printf("%d\n",Flag_touch_count); + touch_send_flag++; + if(touch_send_flag == 1) + { + *txbuffer = phone_reg_coord_back; + *txbuffer_size = 8; + // printf("A"); + } + else + { + touch_send_flag = 0; + touch_recv_flag = 0; + Flag_touch_count = 0; + + *txbuffer = &phone_reg_coord_back[8]; + *txbuffer_size = 8*(Flag_touch_count-1); + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); + // printf("B\n"); + } + } + else + { + if(Flag_touch_count == 1) // ָ Flag_touch_count = 0 + { + *txbuffer = phone_reg_coord_back; + *txbuffer_size = 8; + } + touch_send_flag = 0; + touch_recv_flag = 0; + Flag_touch_count = 0; + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); + // printf("C\n"); + } + } + } + break; + default: + + break; + + } + } + +//////////////////////////////////////////////////////////////////////////////////////////// + + +#endif + +} + +void app_tp_phone_analysis_data_custom(uint8_t *rxbuffer, size_t rxbuffer_size, uint8_t *phonetxbuffer, size_t *txbuffer_size) + +{ +#ifdef USE_FOR_SUMSUNG_S10 +static uint8_t phone_A6_flag = 0; +static uint8_t phone_FA_flag = 0; +static uint16_t phone_86_flag = 0; +static uint8_t phone_poweron_flag = 0; + + uint8_t *txbuffer; + + if( (rxbuffer_size ==3) &&(rxbuffer[0] ==0xA6)) + { + printf("A6 %d\n",phone_A6_flag); + if (phone_A6_flag == 0) + { + txbuffer = (uint8_t*)phone_data_A6_0; + *txbuffer_size = sizeof(phone_data_A6_0); + } + else if (phone_A6_flag == 1) + { + txbuffer = (uint8_t*)phone_data_A6_1; + *txbuffer_size = sizeof(phone_data_A6_1); + } + else if (phone_A6_flag == 2) + { + txbuffer = (uint8_t*)phone_data_A6_4; + *txbuffer_size = sizeof(phone_data_A6_4); + } + else if (phone_A6_flag == 3) + { + txbuffer = (uint8_t*)phone_data_A6_3; + *txbuffer_size = sizeof(phone_data_A6_3); + } + else if (phone_A6_flag == 4) + { + txbuffer = (uint8_t*)phone_data_A6_4; + *txbuffer_size = sizeof(phone_data_A6_4); + } + else if (phone_A6_flag == 5) + { + txbuffer = (uint8_t*)phone_data_A6_5; + *txbuffer_size = sizeof(phone_data_A6_5); + } + else if (phone_A6_flag == 6) + { + txbuffer = (uint8_t*)phone_data_A6_4; + *txbuffer_size = sizeof(phone_data_A6_4); + } + else + { + txbuffer = (uint8_t*)phone_data_A6_6; + *txbuffer_size = sizeof(phone_data_A6_6); + } + phone_A6_flag++; + if (phone_A6_flag > 7) + phone_A6_flag = 0; + } + if( (rxbuffer_size == 5) &&(rxbuffer[0] ==0xFA)) + { + if (phone_FA_flag == 0) + { + txbuffer = (uint8_t*)phone_data_FA_0; + *txbuffer_size = sizeof(phone_data_FA_0); + } + else if (phone_FA_flag == 1) + { + txbuffer = (uint8_t*)phone_data_FA_1; + *txbuffer_size = sizeof(phone_data_FA_1); + } + else if (phone_FA_flag == 2) + { + txbuffer = (uint8_t*)phone_data_FA_2; + *txbuffer_size = sizeof(phone_data_FA_2); + } + else + { + txbuffer = (uint8_t*)phone_data_FA_2; + *txbuffer_size = sizeof(phone_data_FA_2); + } + + phone_FA_flag++; + if (phone_FA_flag > 6) + phone_FA_flag = 0; + } + + if(rxbuffer_size ==1) + { + switch(rxbuffer[0]) + { + case 0x43: + txbuffer = (uint8_t*)phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0xC3: + txbuffer = (uint8_t*)phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0x83: + txbuffer = (uint8_t*)phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0x87: + txbuffer = (uint8_t*)phone_data_43; + *txbuffer_size = sizeof(phone_data_43); + break; + case 0x86: + + if(phone_poweron_flag == 0) // ֵ + { + printf("86 %d\n",phone_86_flag); + if(phone_86_flag < 3200) + { + phone_86_flag++; + } + else + { + phone_poweron_flag = 1; + } + + if (phone_86_flag == 0) + { + txbuffer = (uint8_t*)phone_data_86_0; + *txbuffer_size = sizeof(phone_data_86_0); + } + else if (phone_86_flag == 1) + { + txbuffer = (uint8_t*)phone_data_86_0; + *txbuffer_size = sizeof(phone_data_86_0); + } + else if (phone_86_flag == 2) + { + txbuffer = (uint8_t*)phone_data_86_1; + *txbuffer_size = sizeof(phone_data_86_1); + } + else if (phone_86_flag == 3) + { + txbuffer = (uint8_t*)phone_data_86_1; + *txbuffer_size = sizeof(phone_data_86_1); + } + else if (phone_86_flag == 4) + { + txbuffer = (uint8_t*)phone_data_86_2; + *txbuffer_size = sizeof(phone_data_86_2); + } + else if (phone_86_flag == 5) + { + txbuffer = (uint8_t*)phone_data_86_3; + *txbuffer_size = sizeof(phone_data_86_3); + if(phone_A6_flag == 0) // ʱA6ָȡʱ޴ָȡ + { + phone_poweron_flag = 1; + } + } + else if (phone_86_flag == 6) + { + txbuffer = (uint8_t*)phone_data_86_4; + *txbuffer_size = sizeof(phone_data_86_4); + } + else if (phone_86_flag == 7) + { + txbuffer = (uint8_t*)phone_data_86_5; + *txbuffer_size = sizeof(phone_data_86_5); + } + else if (phone_86_flag == 8) + { + txbuffer = (uint8_t*)phone_data_86_6; + *txbuffer_size = sizeof(phone_data_86_6); + } + else if (phone_86_flag == 9) + { + txbuffer = (uint8_t*)phone_data_86_7; + *txbuffer_size = sizeof(phone_data_86_7); + } + else if (phone_86_flag == 10) + { + txbuffer = (uint8_t*)phone_data_86_8; + *txbuffer_size = sizeof(phone_data_86_8); + } + else if (phone_86_flag == 11) + { + txbuffer = (uint8_t*)phone_data_86_9; + *txbuffer_size = sizeof(phone_data_86_9); + } + else if (phone_86_flag == 12) + { + txbuffer = (uint8_t*)phone_data_86_10; + *txbuffer_size = sizeof(phone_data_86_10); + } + else if (phone_86_flag == 13) + { + txbuffer = (uint8_t*)phone_data_86_11; + *txbuffer_size = sizeof(phone_data_86_11); + } + else if (phone_86_flag == 14) + { + txbuffer = (uint8_t*)phone_data_86_12; + *txbuffer_size = sizeof(phone_data_86_12); + } + else if (phone_86_flag == 15) + { + txbuffer = (uint8_t*)phone_reg_coord_back; + *txbuffer_size = sizeof(phone_reg_coord_back); + } + else if (phone_86_flag == 16) + { + txbuffer = (uint8_t*)phone_data_86_13; + *txbuffer_size = sizeof(phone_data_86_13); + } + else if (phone_86_flag == 17) + { + txbuffer = (uint8_t*)phone_data_86_14; + *txbuffer_size = sizeof(phone_data_86_14); + } + else if (phone_86_flag == 18) + { + txbuffer = (uint8_t*)phone_data_86_15; + *txbuffer_size = sizeof(phone_data_86_15); + } + else if (phone_86_flag == 19) + { + txbuffer = (uint8_t*)phone_data_86_16; + *txbuffer_size = sizeof(phone_data_86_16); + } + else if (phone_86_flag == 20) + { + txbuffer = (uint8_t*)phone_data_86_17; + *txbuffer_size = sizeof(phone_data_86_17); + } + else if (phone_86_flag == 21) + { + txbuffer = (uint8_t*)phone_data_86_18; + *txbuffer_size = sizeof(phone_data_86_18); + } + else if (phone_86_flag == 22) + { + txbuffer = (uint8_t*)phone_data_86_19; + *txbuffer_size = sizeof(phone_data_86_19); + } + else if (phone_86_flag == 23) + { + txbuffer = (uint8_t*)phone_data_86_20; + *txbuffer_size = sizeof(phone_data_86_20); + } + else if (phone_86_flag == 24) + { + txbuffer = (uint8_t*)phone_data_86_21; + *txbuffer_size = sizeof(phone_data_86_21); + } + else if (phone_86_flag == 1800) + { + txbuffer = (uint8_t*)phone_data_86_1800; + *txbuffer_size = sizeof(phone_data_86_1800); + } + else if (phone_86_flag == 3000) + { + txbuffer = (uint8_t*)phone_data_86_1800; + *txbuffer_size = sizeof(phone_data_86_1800); + } + /* else if (phone_86_flag == 4000) + { + txbuffer = (uint8_t*)phone_data_86_4000; + *txbuffer_size = sizeof(phone_data_86_4000); + } + */ + else + { + txbuffer = (uint8_t*)phone_reg_coord_back; + *txbuffer_size = 8; + } + + } + else + { + // printf("A\n"); + // printf("touch %d\n",Flag_touch_count); + touch_recv_flag++; + + if(Flag_touch_count > 1) + { + // printf("%d\n",Flag_touch_count); + touch_send_flag++; + if(touch_send_flag == 1) + { + txbuffer = (uint8_t*)phone_reg_coord_back; + *txbuffer_size = 8; + // printf("A"); + } + else + { + touch_send_flag = 0; + + txbuffer = (uint8_t*)&phone_reg_coord_back[8]; + *txbuffer_size = (8*(Flag_touch_count-1)); + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); + + Flag_touch_count = 0; + // printf("B\n"); + } + } + else + { + // if(Flag_touch_count == 1) // ָ Flag_touch_count = 0 + { + txbuffer = (uint8_t*)phone_reg_coord_back; + *txbuffer_size = 8; + } + + touch_send_flag = 0; + Flag_touch_count = 0; + hal_gpio_set_output_data(g_phone_output_int_pad, IO_LVL_HIGH); + // printf("C\n"); + } + } + break; + default: + + break; + + } + } + //printf("1111 %p \n",*phonetxbuffer); + s_slave_txbuffer = txbuffer; + //printf("222 %p \n",*phonetxbuffer); +//////////////////////////////////////////////////////////////////////////////////////////// + + +#endif + +} + + + +#endif + diff --git a/src/app/ap_demo/app_tp_for_custom_mi8se.h b/src/app/ap_demo/app_tp_for_custom_mi8se.h new file mode 100644 index 0000000..37d62dd --- /dev/null +++ b/src/app/ap_demo/app_tp_for_custom_mi8se.h @@ -0,0 +1,128 @@ +/******************************************************************************* +* +* +* File: app_tp_for_custom.h +* Description tp Э鴦ļضõĺ +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ +#ifndef __APP_TP_FOR_CUSTOM_S8_H__ +#define __APP_TP_FOR_CUSTOM_S8_H__ + +#include "string.h" +#include "tau_device_datatype.h" +#include "tau_common.h" +#include "app_tp_transfer.h" +#include "hal_gpio.h" + +#define AP_TP_TRANSFER 1 + +#define PHONE_SLAVE_TRANSFER_I2C 1 //1:ʾֻоƬ֮䣬touch ݲ I2C ͨţ +#define PHONE_SLAVE_TRANSFER_SPI 0 //1:ʾֻоƬ֮䣬touch ݲ SPI ͨţ +#define SCREEN_MASTER_TRANSFER_I2C 1 //1:ʾĻоƬ֮䣬touch ݲ I2C ͨţ +#define SCREEN_MASTER_TRANSFER_SPI 0 //1:ʾĻоƬ֮䣬touch ݲ SPI ͨţ + + +#define CHIP_I2C_ADDRESS 0x49 //оƬ I2C ӻַ.I2Cַ +#define SCREEN_I2C_ADDRESS 0x38 //Ļ I2C ӻַ + + +#define CHIP_I2C_ADDR_BITS I2C_ADDR_BITS_7 //Ļ I2C ַλ 7/10ĬΪ7 +#define SCREEN_I2C_ADDR_BITS I2C_ADDR_BITS_7 //Ļ I2C ַλ 7/10ĬΪ7 +#define I2C_MASTER_SPEED 400000 // I2C ͨ + +#define SPI_MASTER_SPEED 10000000 // SPI ͨ + +#define BUFFER_SIZE_MAX 200 // bufrer ֽ + +#define INPUT_WIDTH_VALUE 1080 //ԭװ X ֵֵ +#define INPUT_HEIGHT_VALUE 2240 //ԭװ Y ֵֵ + +#define OUTPUT_WIDTH_VALUE 720 //ά X ֵֵ +#define OUTPUT_HEIGHT_VALUE 1600 //ά Y ֵֵ + + +#define SCREEN_TRANSFER_WRITE false //յscreen ioжϣ֮ö +#define SCREEN_TRANSFER_READ true //յscreen ioжϣ֮Ҫ + +typedef enum +{ + I2C_ADDR_BITS_7 = 7, + I2C_ADDR_BITS_10 = 10 +} en_I2C_ADDR_BITS_mdoe; + +typedef struct +{ + uint8_t *buffer; //յscreen ioжϺͨŵķbufferָ + size_t txbuffer_size; // buffer ݳȣҪʱĿǰֻ֧4ֽ + size_t rxbuffer_size; //֮Ҫصݳ + bool read_flag; //true յscreen ioжϣ֮Ҫ +} st_screen_data; + +typedef struct +{ + const uint8_t *buffer; //ͨŵķbufferָ + size_t txbuffer_size; // buffer ݳȣҪʱĿǰֻ֧4ֽ + size_t rxbuffer_size; //֮Ҫصݳ + bool read_flag; //true յscreen ioжϣ֮Ҫ +} st_screen_const_data; + +typedef struct +{ + uint8_t reg_size; //bufferĸ + size_t write_back_size; //Ҫ͵ݳ + const uint8_t *reg_data; //buffer + const uint8_t *write_back; //bufer +} st_reg_const_data; + +typedef struct +{ + uint8_t reg_size; //bufferĸ + size_t write_back_size; //Ҫ͵ݳ + uint8_t *reg_data; //buffer + uint8_t *write_back; //bufer +} st_reg_data; + +extern io_pad_e g_screen_input_rst_pad; +extern io_pad_e g_screen_input_int_pad; +extern io_pad_e g_phone_input_rst_pad; +extern io_pad_e g_phone_output_int_pad; + +extern const uint8_t screen_reg_int_data_size; +extern const uint8_t screen_reg_start_data_size; +extern st_screen_data screen_reg_int_data[]; +extern st_screen_const_data screen_reg_start_data[]; +extern st_reg_const_data phone_reg_const_data[]; + +/************************************************************************** +* @name : app_tp_screen_analysis_const +* @brief : screen start ׶ݽɿͻ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +uint8_t app_tp_screen_analysis_const(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size); + +/************************************************************************** +* @name : app_tp_screen_analysis_int +* @brief : screen IOжϺ ݽɿͻ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +uint8_t app_tp_screen_analysis_int(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size); + +/************************************************************************** +* @name : app_tp_phone_analysis_data +* @brief : phone ݽɿͻ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_phone_analysis_data(uint8_t *rxbuffer, size_t rxbuffer_size, const uint8_t **txbuffer, size_t *txbuffer_size); + +void app_tp_phone_analysis_data_custom(uint8_t *rxbuffer, size_t rxbuffer_size, uint8_t *phonetxbuffer, size_t *txbuffer_size); + +#endif + diff --git a/src/app/ap_demo/app_tp_phone_transfer_data_mi8se.h b/src/app/ap_demo/app_tp_phone_transfer_data_mi8se.h new file mode 100644 index 0000000..4be2304 --- /dev/null +++ b/src/app/ap_demo/app_tp_phone_transfer_data_mi8se.h @@ -0,0 +1,225 @@ +/******************************************************************************* +* +* +* File: app_tp_transfer_data.h +* Description ôӻҪ𸴵ĽֵӦĴֵ +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ +#ifndef __APP_TP_PHONE_TRANSFER_DATA_S8_H__ +#define __APP_TP_PHONE_TRANSFER_DATA_S8_H__ + +#include "tau_common.h" + +/***************send to phone***************/ +/* +const uint8_t phone_b6_00_28_data[] = {0xB6, 0x00, 0x28, 0x80}; +const uint8_t phone_b6_00_28_back[] = {0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0D, 0x01}; + +const uint8_t phone_b6_00_08_data[] = {0xB6, 0x00, 0x08}; +const uint8_t phone_b6_00_08_back[] = {0x00, 0x26, 0x23}; + +const uint8_t phone_b6_00_04_data[] = {0xB6, 0x00, 0x04}; +const uint8_t phone_b6_00_04_back[] = {0x00, 0x36, 0x70, 0x01, 0x00, 0x26, 0x23}; + +const uint8_t phone_b8_00_08_data[] = {0xB8, 0x00, 0x08}; +const uint8_t phone_b8_00_08_back[] = {0x13, 0x00, 0x08, 0x05, 0x07, 0x06, 0x00, 0x00}; //// becareful һ + +const uint8_t phone_ac_data[] = {0xAC}; +const uint8_t phone_ac_back[] = {0x16, 0x06, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00}; + +const uint8_t phone_a7_data[] = {0xA7}; +const uint8_t phone_a7_back[] = {0x0F, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +const uint8_t phone_84_data[] = {0x84}; +const uint8_t phone_84_back[] = {0x00, 0x00, 0x00, 0x00}; + +const uint8_t phone_aa_00_data[] = {0xaa, 0x00}; +const uint8_t phone_aa_00_back[] = {0x19, 0x01, 0x01, 0x23, 0x26, 0x26, 0x0D, 0x00}; + +const uint8_t phone_aa_01_data[] = {0xaa, 0x01}; +const uint8_t phone_aa_01_back[] = {0x1A, 0x9D, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00}; + +const uint8_t phone_d0_00_5a_data[] = {0xD0, 0x00, 0x5A}; +const uint8_t phone_d0_00_5a_back[] = {0x00, 0x20, 0x00, 0x10}; + +const uint8_t phone_d0_00_5c_data[] = {0xD0, 0x00, 0x5C}; +const uint8_t phone_d0_00_5c_back[] = {0x00, 0x10, 0x00, 0x3D}; + +const uint8_t phone_d0_00_64_data[] = {0xD0, 0x00, 0x64}; +const uint8_t phone_d0_00_64_back[] = {0x00, 0x01, 0x00}; + +const uint8_t phone_d0_00_88_data[] = {0xD0, 0x00, 0x88}; +const uint8_t phone_d0_00_88_back[] = {0x00, 0x8F, 0x0B, 0x9F, 0x05}; + +const uint8_t phone_d0_00_7a_data[] = {0xD0, 0x00, 0x7A}; +const uint8_t phone_d0_00_7a_back[] = {0x06, 0x04, 0x76, 0x00, 0x00, 0x05, 0x00, 0x24, 0x00, 0x00, 0x30, 0x00, 0x00, 0x20, 0x00}; + +const uint8_t phone_d0_76_04_data[] = {0xD0, 0x76, 0x04}; +const uint8_t phone_d0_76_04_back[] = {0x8F, 0x47, 0x39, 0x35, 0x35}; + +const uint8_t phone_d0_00_50_data[] = {0xD0, 0x00, 0x50}; +const uint8_t phone_d0_00_50_back[] = {0x06, 0x5C, 0x1F, 0x01, 0x06, 0x00, 0x00, 0x09}; //// becareful + +const uint8_t phone_d0_1f_6e_data[] = {0xD0, 0x1F, 0x6E}; +const uint8_t phone_d0_1f_6e_back[] = {0x00, 0x01, 0x9D, 0x90, 0x00}; + +const uint8_t phone_d0_1f_b3_data[] = {0xD0, 0x1F, 0xB3}; +const uint8_t phone_d0_1f_b3_back[] = {0x00, 0x01, 0x01, 0x01, 0x00}; + +const uint8_t phone_d0_1f_6c_data[] = {0xD0, 0x1F, 0x6C}; +const uint8_t phone_d0_1f_6c_back[] = {0x00, 0x09, 0x00}; + +const uint8_t phone_d0_1f_b2_data[] = {0xD0, 0x1F, 0xB2}; +const uint8_t phone_d0_1f_b2_back[] = {0x00, 0x02}; + +const uint8_t phone_d0_1f_72_data[] = {0xD0, 0x1F, 0x72}; +const uint8_t phone_d0_1f_72_back[] = {0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; + +const uint8_t phone_d0_00_06_data[] = {0xD0, 0x00, 0x06}; +const uint8_t phone_d0_00_06_back[] = {0x00, 0x6C, 0x23, 0x00}; + +const uint8_t phone_d0_23_ac_data[] = {0xD0, 0x23, 0xAC}; +const uint8_t phone_d0_23_ac_back[] = {0x00, 0x42, 0x0A, 0x71, 0x0A, 0x28, 0x0A, 0xDE, 0x09, 0x05, 0x0A, 0xDE, 0x09, 0xCA, 0x09, 0x11, 0x0A, 0x50, 0x0A, 0xF5, 0x09, 0xF1, 0x09, 0x40, 0x0A, 0xF5, 0x09, 0x8E, 0x0A, 0x04, 0x0A, 0x54, 0x0A, 0x14, 0x0A, 0xBE, 0x09, 0x4E, 0x0A, 0x35, 0x0A, 0xB0, 0x0A, 0x6F, 0x0A, 0x00, 0x0B, 0xA6, 0x0A, 0x62, 0x0A, 0x62, 0x0A, 0x5E, 0x0A, 0xEA, 0x0A, 0xB5, 0x0A, 0x7B, 0x0B, 0x97, 0x0B, 0x82, 0x0B, 0xE1, 0x09, 0x5D, 0x0A, 0xF6, 0x09, 0xF3, 0x09, 0x10, 0x0A, 0x07, 0x0A, 0xBA, 0x09, 0x27, 0x0A, 0xC8, 0x09, 0x2C, 0x0A, 0xF0, 0x09, 0xAF, 0x09, 0x02, 0x0A, 0xC9, 0x09, 0xF7, 0x09, 0x7E, 0x0A, 0x94, 0x0A, 0xC7, 0x0A, 0x57, 0x0B, 0xCF, 0x0A, 0x4F, 0x0B, 0xF1, 0x0A, 0x5B, 0x0B, 0x07, 0x0B, 0x17, 0x0B, 0x9C, 0x0A, 0x57, 0x0A, 0xE7, 0x0A, 0xBE, 0x0A, 0x03, 0x0B, 0x69, 0x0B, 0x82, 0x0B}; + +const uint8_t phone_d0_24_2c_data[] = {0xD0, 0x24, 0x2C}; +const uint8_t phone_d0_24_2c_back[] = {0xEF, 0xEF, 0x09, 0xCE, 0x09, 0xD6, 0x09, 0xD4, 0x09, 0xEF, 0x09, 0xDE, 0x09, 0xD6, 0x09, 0x91, 0x09, 0x03, 0x0A, 0x88, 0x09, 0x16, 0x0A, 0xC9, 0x09, 0x1F, 0x0A, 0xD7, 0x09, 0xFB, 0x09, 0xBD, 0x09, 0x14, 0x0A, 0x38, 0x0A, 0xE2, 0x09, 0x22, 0x0A, 0x86, 0x0A, 0x2E, 0x0A, 0x64, 0x0A, 0xDF, 0x09, 0x0E, 0x0A, 0x53, 0x0A, 0x24, 0x0A, 0xBE, 0x0A, 0x94, 0x0A, 0xD7, 0x0A, 0x64, 0x0B, 0xD7, 0x0A, 0x6F, 0x0A, 0x3B, 0x0A, 0x44, 0x0A, 0x7D, 0x09, 0x9C, 0x09, 0x91, 0x09, 0x98, 0x09, 0x0A, 0x0A, 0x14, 0x0A, 0x25, 0x0A, 0xF5, 0x09, 0x7C, 0x09, 0xBC, 0x09, 0x76, 0x09, 0xA1, 0x09, 0x06, 0x0A, 0x7D, 0x09, 0xEA, 0x09, 0x9B, 0x09, 0xEA, 0x09, 0x3B, 0x0A, 0xE9, 0x09, 0x46, 0x0A, 0xD9, 0x09, 0x1D, 0x0A, 0x71, 0x0A, 0x3C, 0x0A, 0x09, 0x0A, 0xA3, 0x0A, 0xAC, 0x0A, 0xAD, 0x0B, 0x06, 0x0B}; + +const uint8_t phone_d0_24_ac_data[] = {0xD0, 0x24, 0xAC}; +const uint8_t phone_d0_24_ac_back[] = {0x28, 0x28, 0x0A, 0xE8, 0x09, 0xF1, 0x09, 0xE9, 0x09, 0x03, 0x0A, 0xEF, 0x09, 0xD5, 0x09, 0xC2, 0x09, 0xA4, 0x09, 0xF2, 0x09, 0x11, 0x0A, 0xF3, 0x09, 0x3F, 0x0A, 0xF2, 0x09, 0xF4, 0x09, 0x47, 0x0A, 0xA5, 0x09, 0x3A, 0x0A, 0xC3, 0x09, 0x04, 0x0A, 0x95, 0x09, 0x0E, 0x0A, 0x9B, 0x09, 0xED, 0x09, 0x2C, 0x0A, 0xDB, 0x09, 0x5A, 0x0A, 0x11, 0x0A, 0xAA, 0x0A, 0xA4, 0x0A, 0xA8, 0x0B, 0x65, 0x0B, 0xC6, 0x09, 0x99, 0x09, 0x9F, 0x09, 0x93, 0x09, 0xBC, 0x09, 0xB0, 0x09, 0x8C, 0x09, 0x62, 0x09, 0x70, 0x09, 0x95, 0x09, 0x12, 0x0A, 0xB7, 0x09, 0xED, 0x09, 0xEF, 0x09, 0xA9, 0x09, 0xE9, 0x09, 0x05, 0x0A, 0x00, 0x0A, 0x55, 0x0A, 0x77, 0x09, 0xD5, 0x09, 0x4C, 0x0A, 0xFC, 0x09, 0x3E, 0x0A, 0x94, 0x0A, 0xF6, 0x09, 0xA2, 0x0A, 0x71, 0x0A, 0xD5, 0x0A, 0xC0, 0x0A, 0xE4, 0x0A, 0x49, 0x0B}; + +const uint8_t phone_d0_25_2c_data[] = {0xD0, 0x25, 0x2C}; +const uint8_t phone_d0_25_2c_back[] = {0x21, 0x21, 0x0A, 0xE4, 0x09, 0xE9, 0x09, 0xE7, 0x09, 0x3F, 0x09, 0x2D, 0x09, 0xD6, 0x09, 0x91, 0x09, 0xA7, 0x09, 0xA1, 0x09, 0xB5, 0x09, 0xDC, 0x09, 0x6A, 0x09, 0xB1, 0x09, 0x34, 0x09, 0x79, 0x09, 0x0E, 0x0A, 0x11, 0x0A, 0x25, 0x0A, 0xD1, 0x09, 0xFE, 0x09, 0x9C, 0x09, 0xFE, 0x09, 0xED, 0x09, 0x05, 0x0A, 0x30, 0x0A, 0x1F, 0x0A, 0x9C, 0x0A, 0x15, 0x0A, 0xEC, 0x0A, 0xCE, 0x0A, 0x29, 0x0B, 0xCC, 0x09, 0x88, 0x09, 0x91, 0x09, 0x92, 0x09, 0xAC, 0x09, 0x9E, 0x09, 0x8F, 0x09, 0x3D, 0x09, 0x53, 0x09, 0x80, 0x09, 0xD6, 0x09, 0x3D, 0x09, 0xAC, 0x09, 0x9E, 0x09, 0x9F, 0x09, 0xE9, 0x09, 0xAA, 0x09, 0x0B, 0x0A, 0xE4, 0x09, 0x63, 0x0A, 0x94, 0x0A, 0x68, 0x0A, 0xC9, 0x09, 0x12, 0x0A, 0x0A, 0x0A, 0x98, 0x0A, 0x7F, 0x0A, 0xC5, 0x0A, 0x62, 0x0A, 0xB7, 0x0A, 0x4A, 0x0B, 0x52, 0x0B}; + +const uint8_t phone_d0_25_ac_data[] = {0xD0, 0x25, 0xAC}; +const uint8_t phone_d0_25_ac_back[] = {0xCF, 0xCF, 0x09, 0xCB, 0x09, 0xD5, 0x09, 0xDD, 0x09, 0x3F, 0x09, 0x35, 0x09, 0xEE, 0x09, 0x8E, 0x09, 0xAB, 0x09, 0xEF, 0x09, 0xC0, 0x09, 0x9B, 0x09, 0xE3, 0x09, 0xCC, 0x09, 0xBB, 0x09, 0x64, 0x09, 0xA6, 0x09, 0x0C, 0x0A, 0xB2, 0x09, 0x10, 0x0A, 0xE3, 0x09, 0x71, 0x0A, 0xD6, 0x0A, 0x1F, 0x0A, 0x02, 0x0A, 0x63, 0x0B, 0x7C, 0x0A, 0xE9, 0x09, 0x6F, 0x0A, 0xBF, 0x0A, 0x1A, 0x0B, 0x75, 0x0B, 0x6B, 0x09, 0xEA, 0x09, 0x76, 0x09, 0x91, 0x09, 0x9F, 0x09, 0x9B, 0x09, 0xCE, 0x09, 0xF5, 0x09, 0x4E, 0x09, 0x94, 0x09, 0xE7, 0x09, 0x52, 0x09, 0x94, 0x09, 0x90, 0x09, 0x86, 0x09, 0xBF, 0x09, 0x07, 0x0A, 0x99, 0x09, 0x06, 0x0A, 0x98, 0x09, 0xDD, 0x09, 0x2F, 0x0A, 0x47, 0x0B, 0x17, 0x0B, 0x24, 0x0A, 0xD3, 0x09, 0x96, 0x0A, 0x47, 0x0A, 0x8A, 0x0A, 0xAC, 0x0A, 0x95, 0x0B, 0x2B, 0x0B}; + +const uint8_t phone_d0_26_2c_data[] = {0xD0, 0x26, 0x2C}; +const uint8_t phone_d0_26_2c_back[] = {0xBC, 0xBC, 0x09, 0x74, 0x09, 0x85, 0x09, 0x92, 0x09, 0xB0, 0x09, 0xAE, 0x09, 0x4B, 0x09, 0x8E, 0x09, 0xA3, 0x09, 0x89, 0x09, 0x59, 0x09, 0xB4, 0x09, 0x5D, 0x09, 0x8A, 0x09, 0xCD, 0x09, 0x05, 0x0A, 0x0E, 0x0A, 0xA2, 0x09, 0x31, 0x0A, 0x90, 0x09, 0xD4, 0x09, 0xAE, 0x09, 0x4D, 0x0A, 0x4E, 0x0B, 0x74, 0x0A, 0xA6, 0x0A, 0x99, 0x0A, 0x46, 0x0A, 0x47, 0x0B, 0x99, 0x0A, 0x2D, 0x0B, 0x55, 0x0B, 0x50, 0x09, 0xCE, 0x09, 0x20, 0x09, 0x2D, 0x09, 0x56, 0x09, 0x4D, 0x09, 0x6D, 0x09, 0xB6, 0x09, 0x47, 0x09, 0xAC, 0x09, 0xCC, 0x09, 0x92, 0x09, 0xEB, 0x09, 0x82, 0x09, 0x9C, 0x09, 0xA2, 0x09, 0xCE, 0x09, 0x28, 0x0A, 0xCB, 0x09, 0xD1, 0x09, 0x11, 0x0A, 0x92, 0x0A, 0x2F, 0x0B, 0xF0, 0x09, 0x55, 0x0B, 0x25, 0x0A, 0x93, 0x0A, 0x50, 0x0A, 0xE7, 0x0A, 0xE5, 0x0A, 0x4B, 0x0B, 0xE9, 0x0A}; + +const uint8_t phone_d0_26_ac_data[] = {0xD0, 0x26, 0xAC}; +const uint8_t phone_d0_26_ac_back[] = {0xC5, 0xC5, 0x09, 0x88, 0x09, 0xA3, 0x09, 0xB4, 0x09, 0xDE, 0x09, 0xD7, 0x09, 0x9A, 0x09, 0x74, 0x09, 0x9E, 0x09, 0x65, 0x09, 0x7F, 0x09, 0xCF, 0x09, 0x64, 0x09, 0xB6, 0x09, 0x4E, 0x09, 0x93, 0x09, 0x45, 0x0A, 0x58, 0x0B, 0xFE, 0x0A, 0x3B, 0x0B, 0xA7, 0x0A, 0xA9, 0x0B, 0x36, 0x0B, 0xD4, 0x0A, 0xA2, 0x0A, 0x89, 0x0A, 0x2E, 0x0A, 0xA5, 0x0A, 0x65, 0x0A, 0xFB, 0x0A, 0xB4, 0x0A, 0xD2, 0x0A, 0x8C, 0x09, 0x4C, 0x09, 0x6D, 0x09, 0x83, 0x09, 0xB3, 0x09, 0xAB, 0x09, 0x58, 0x09, 0x5C, 0x09, 0x78, 0x09, 0xC1, 0x09, 0x5F, 0x09, 0xB0, 0x09, 0x46, 0x09, 0xA8, 0x09, 0xFC, 0x09, 0x93, 0x09, 0xB1, 0x0A, 0x72, 0x0A, 0x79, 0x0A, 0x5D, 0x0A, 0x2F, 0x0B, 0x82, 0x0B, 0x22, 0x0B, 0xD6, 0x0A, 0xB8, 0x0A, 0xE3, 0x0A, 0xA2, 0x0A, 0xD9, 0x0A, 0xAC, 0x0A, 0x32, 0x0B, 0xF8, 0x0A, 0xE7, 0x0A}; + +const uint8_t phone_d0_27_2c_data[] = {0xD0, 0x27, 0x2C}; +const uint8_t phone_d0_27_2c_back[] = {0x20, 0x20, 0x09, 0xC7, 0x09, 0x2E, 0x09, 0x4C, 0x09, 0x7C, 0x09, 0x6F, 0x09, 0xD7, 0x09, 0xEA, 0x09, 0x42, 0x09, 0x92, 0x09, 0xBD, 0x09, 0x8B, 0x09, 0xE8, 0x09, 0x6F, 0x09, 0xD7, 0x09, 0x05, 0x0A, 0x37, 0x0A, 0x78, 0x0A, 0x60, 0x0A, 0xA9, 0x0A, 0x2C, 0x0B, 0x27, 0x0B, 0xDF, 0x0A, 0x2C, 0x0B, 0x20, 0x0B, 0x8E, 0x0B, 0x4A, 0x0B, 0x40, 0x0B, 0x0D, 0x0B, 0xEB, 0x0A, 0x72, 0x0B, 0x57, 0x0B, 0x37, 0x09, 0x29, 0x09, 0x6C, 0x09, 0x8E, 0x09, 0xBF, 0x09, 0xBD, 0x09, 0x58, 0x09, 0x77, 0x09, 0x90, 0x09, 0xDC, 0x09, 0x48, 0x09, 0x8F, 0x09, 0xEA, 0x09, 0xB3, 0x09, 0x27, 0x0A, 0x97, 0x09, 0x0E, 0x0A, 0x25, 0x0A, 0x6E, 0x0A, 0xB3, 0x0A, 0xCA, 0x0A, 0x88, 0x0A, 0x8C, 0x0A, 0xB8, 0x0A, 0xCD, 0x0A, 0xDF, 0x0A, 0x2A, 0x0B, 0xE6, 0x0A, 0x63, 0x0B, 0x06, 0x0B, 0x83, 0x0B, 0xD5, 0x0A}; +*/ + +/*******************************************/ +#ifdef USE_FOR_SUMSUNG_S10 + +const uint8_t phone_data_86_0[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; +const uint8_t phone_data_86_1[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; +const uint8_t phone_data_86_2[]={0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; +const uint8_t phone_data_86_3[]={0x43,0x01,0xA4,0x06,0x70,0x00,0x00,0x00}; +const uint8_t phone_data_86_4[]={0x32,0x1E,0x01,0x05,0x01,0x04,0x00,0x0F}; +const uint8_t phone_data_86_5[]={0x96,0x96,0x96,0x96,0x04,0xC0,0x04,0xFF}; +const uint8_t phone_data_86_6[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x04,0xFF}; +const uint8_t phone_data_86_7[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x04,0x00}; +const uint8_t phone_data_86_8[]={0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00}; +const uint8_t phone_data_86_9[]={0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x03}; +const uint8_t phone_data_86_10[]={0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xA5}; +const uint8_t phone_data_86_11[]={0x01,0x00,0x04,0x43,0x01,0xA4,0x06,0x70}; +const uint8_t phone_data_86_12[]={0x00,0x00,0x04,0xA5,0x70,0x02,0x00,0x00}; +const uint8_t phone_data_86_13[]={0x00,0x08,0x4F,0x70,0xCB,0x48,0x38,0x32}; +const uint8_t phone_data_86_14[]={0x45,0x32,0x52,0x00,0x04,0xFF,0xFF,0xFF}; +const uint8_t phone_data_86_15[]={0xFF,0xFF,0xFF,0xFF,0x04,0xFF,0xFF,0xFF}; +const uint8_t phone_data_86_16[]={0xFF,0xFF,0xFF,0xFF,0x04,0x00,0x00,0x00}; +const uint8_t phone_data_86_17[]={0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00}; +const uint8_t phone_data_86_18[]={0x00,0x00,0x00,0x00,0x04,0x03,0x00,0x00}; +const uint8_t phone_data_86_19[]={0x00,0x00,0x00,0x00,0x04,0x43,0x05,0x01}; +const uint8_t phone_data_86_20[]={0x00,0x00,0x00,0x00,0x04,0x43,0x01,0xA0}; +const uint8_t phone_data_86_21[]={0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + +const uint8_t phone_data_86_1800[]={0x43,0x01,0xA4,0x06,0x70,0x00,0x00,0x00}; +const uint8_t phone_data_86_4000[]={0x03,0x00,0x39,0x36,0x00,0x00,0x00,0x00}; + +const uint8_t phone_data_A6_0[]={ + 0xA5,0x01,0x01,0x00,0x00,0x00,0x00,0x02, + 0x03,0x00,0x39,0x36,0x00,0x00,0x00,0x00, + 0x54,0x00,0x39,0x19,0x30,0x00,0x00,0x00, + 0xFF,0xFF,0x00,0x00,0x09,0x09,0x09,0x00, + 0x39,0x37,0x00,0x4D,0x50,0x4B,0x37,0x58, + 0x0B,0x00,0x00,0x00,0x01,0x14,0x00,0x00, + 0x18,0x71,0x00,0x00,0x00,0x00,0x00,0x00, + 0x50,0x35,0x4F,0x54,0x3B,0x38,0x33,0x29, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x61,0x04,0x1B,0x02,0x07,0x0F,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x74,0x29,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3E,0x38,0x7F,0x1F,0x1D,0x22,0x2C,0x29, + 0x4C,0x37,0x41,0x0D,0x7C,0x0D,0x4A,0x2C, + 0x61,0x37,0x56,0x0D,0x11,0x0D,0x5F,0x2C, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + +}; + +const uint8_t phone_data_A6_1[]={0xa5,0x01,0x01,0x00}; +const uint8_t phone_data_A6_2[]={ + 0xA5,0x70,0x02,0x00,0x00,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x08,0x4F,0x70,0xCB,0x48,0x1C,0x19,0x02, + 0x22,0x19,0x29,0x00 +}; +const uint8_t phone_data_A6_3[]={0x00,0x00,0x00,0x00}; +const uint8_t phone_data_A6_4[]={ + 0xA5,0x70,0x02,0x00,0x00,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x08,0x4F,0x70,0xCB,0x48,0x38,0x32,0x05, + 0x45,0x32,0x52,0x00 +}; +const uint8_t phone_data_A6_5[]={0xFF,0xFF,0xFF,0xFF}; +const uint8_t phone_data_A6_6[]={ + 0x00,0x39,0x19,0x30,0x00,0x00,0x00,0xFF, + 0xFF,0x00,0x00,0x09,0x09,0x09,0x00,0x39, + 0x37,0x00,0x4D,0x50,0x4B,0x37,0x58,0x0B, + 0x00,0x00,0x00,0x01,0x29,0x00,0x00,0x30, + 0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0xA1, + 0x6B,0x9F,0xA9,0x77,0x70,0x66,0x52,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC3, + 0x08,0x37,0x04,0x0F,0x1F,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE8, + 0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x7C, + 0x71,0xFE,0x3E,0x3A,0x45,0x58,0x53,0x98, + 0x6E,0x82,0x1A,0xF8,0x1A,0x94,0x59,0xC2, + 0x6E,0xAC,0x1A,0x22,0x1B,0xBE,0x59,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04, + 0xA5,0x01,0x01,0x00,0x04,0x43,0x01,0xA4, + 0x06,0x70,0x00,0x00,0x00,0x04,0xA5,0x70 +}; + + +const uint8_t phone_data_FA_0[]={0x00}; +const uint8_t phone_data_FA_1[]={0xA5,0x01}; +const uint8_t phone_data_FA_2[]={0x00,0x04}; + +const uint8_t phone_data_43[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + + + +uint8_t phone_data_B1[]={0x00,0x082}; + +#endif + +#endif + diff --git a/src/app/ap_demo/app_tp_screen_transfer_data_mi8se.h b/src/app/ap_demo/app_tp_screen_transfer_data_mi8se.h new file mode 100644 index 0000000..c511a3e --- /dev/null +++ b/src/app/ap_demo/app_tp_screen_transfer_data_mi8se.h @@ -0,0 +1,23 @@ +/******************************************************************************* +* +* +* File: hal_tp_screen_transfer_data.h +* Description start/sleep/awake ģʽҪ͵ֵ +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ +#ifndef __HAL_TP_SCREEN_TRANSFER_DATA_S8_H__ +#define __HAL_TP_SCREEN_TRANSFER_DATA_S8_H__ + +#include "tau_common.h" + +/***************send to screen***************/ +const uint8_t screen_87_data[] = {0x87}; +const uint8_t screen_a0_00_ff_data[] = {0xa0, 0x00, 0xff}; +const uint8_t screen_a4_06_c1_data[] = {0xa4, 0x06, 0xc1}; + +/*******************************************/ + +#endif + diff --git a/src/app/ap_demo/app_tp_transfer.c b/src/app/ap_demo/app_tp_transfer.c new file mode 100644 index 0000000..17d3d3d --- /dev/null +++ b/src/app/ap_demo/app_tp_transfer.c @@ -0,0 +1,830 @@ +/******************************************************************************* +* +* +* File: app_tp_transfer.c +* Description touch I2C/SPI ʼԼͨ +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ +#include "test_cfg_global.h" +#include "app_tp_transfer.h" +#include "hal_i2c_master.h" +#include "hal_i2c_slave.h" +#include "hal_spi_master.h" +#include "hal_spi_slave.h" +#include "tau_log.h" +#include "tau_delay.h" + +#if 1//def AP_TP_TRANSFER +uint8_t read_point; //ǰҪıһ8BYTE +uint8_t s_screen_number[2]; +uint8_t s_screen_temp[2]; +uint8_t s_screen_read_bak[80]; +static uint8_t s_screen_read_buffer[BUFFER_SIZE_MAX]; +static uint8_t s_phone_read_buffer[BUFFER_SIZE_MAX]; + +const uint8_t *s_slave_txbuffer = NULL; +static size_t s_slave_txbuffer_size = 0; + +static bool s_spim_write = false; //¼SPIǷ÷ͣǵĻҪRXFIFO +static bool s_screen_int_flag = false; //¼ǷյĻıж +static bool s_phone_reset_flag = false; //¼ǷյֻĿλź +static bool s_screen_int_transfer_status = false; //¼ǷѾʼͨ +bool s_screen_init_complate = false; //ĻTPʼɱ־ +static uint8_t s_screen_const_transfer_count = 0xff; //¼ǰͨŵһ,ʼֵ screen_reg_start_data_size + +#ifdef USE_FOR_SUMSUNG_S10 +uint16_t u16TouchID; +#endif +static void app_tp_transfer_phone(size_t recieve_num); +//static void app_tp_reset_callback(void *data); +#if PHONE_SLAVE_TRANSFER_I2C //warning + static void app_tp_i2cs_callback(e_i2c_s_int_status int_status, size_t recieve_num); +#endif +#if PHONE_SLAVE_TRANSFER_SPI //warning + static void app_tp_spis_callback(hal_spis_event_e event, hal_spi_packet_info_t *packet_info); +#endif + +st_tp_scan_data tp_scan_data; + +/************************************************************************** +* @name : app_tp_screen_int_callback +* @brief : screen ж ص +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +static void app_tp_screen_int_callback(void *data) +{ + s_screen_int_flag = true; +} + +/************************************************************************** +* @name : app_tp_screen_int_lvl_low +* @brief : ȡ screen ж IO ƽ +* @param[in] : +* @return : trueIO Ϊ͵ƽ +* @retval : +**************************************************************************/ +static bool app_tp_screen_int_lvl_low(void) +{ +#if SCREEN_MASTER_TRANSFER_I2C + return false; +#elif SCREEN_MASTER_TRANSFER_SPI + return !hal_gpio_get_input_data(g_screen_input_int_pad); //ӦSPIͨŹżͻȻCS ͨ쳣 +#else + return false; +#endif +} + +/************************************************************************** +* @name : app_tp_screen_int_init +* @brief : screen ж IO ʼ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +static void app_tp_screen_int_init(void) +{ + hal_gpio_set_pull_state(g_screen_input_int_pad, ENABLE, DISABLE); // 1. + hal_gpio_ctrl_eint(g_screen_input_int_pad, DISABLE); // 2.رж + hal_gpio_init_eint(g_screen_input_int_pad, DETECT_FALLING_EDGE); // 3.жϳʼ,TPһ㶼½شж + hal_gpio_reg_eint_cb(g_screen_input_int_pad, app_tp_screen_int_callback); // 4.עص + hal_gpio_ctrl_eint(g_screen_input_int_pad, ENABLE); // 5.ʹж +} + +#if 0 +/************************************************************************** +* @name : app_tp_phone_reset_init +* @brief : phone reset ж IO ʼ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +static void app_tp_phone_reset_init(void) +{ + /*0.Ϊ*/ + hal_gpio_init_input(g_phone_input_rst_pad); + /*1.رж*/ + hal_gpio_ctrl_eint(g_phone_input_rst_pad, DISABLE); + /*2.жϳʼ*/ + hal_gpio_init_eint(g_phone_input_rst_pad, DETECT_RISING_EDGE); + /*3.עص*/ + hal_gpio_reg_eint_cb(g_phone_input_rst_pad, app_tp_reset_callback); + /*4.ʹж*/ + hal_gpio_ctrl_eint(g_phone_input_rst_pad, ENABLE); +} +#endif + +/************************************************************************** +* @name : app_tp_screen_init +* @brief : screen IO 䣬ʼʼ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_screen_init(void) +{ + hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH); + delayUs(200); + hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_LOW); + delayUs(200); + hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH); +} + +/************************************************************************** +* @name : app_tp_init +* @brief : ʼͨ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_init(void) +{ +#ifdef ADD_MCU_BD826 + hal_gpio_init_output(IO_PAD_TD_SPIM_MOSI, IO_LVL_HIGH); //ʼTP_reset, + hal_gpio_init_input(IO_PAD_TD_SPIM_MISO); +#endif + +#ifdef DISABLE_TDDI_I2C_FUNCTION + hal_gpio_set_mode(IO_PAD_TD_SPIM_CLK,IO_MODE_I2C1_SCL); + hal_gpio_set_mode(IO_PAD_TD_SPIM_CSN,IO_MODE_I2C1_SDA); + + return; +#else + hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CLK, ENABLE, DISABLE); + hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CSN, ENABLE, DISABLE); +#endif + + //app_tp_phone_reset_init(); //ʼֻλIO + app_tp_screen_int_init(); //screenж +#ifdef G_PHONE_INT_DEFAULT_LOW + hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_LOW); //phoneжIO +#else + hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_HIGH); //phoneжIO +#endif + hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH); //ģTP RESET + +#if SCREEN_MASTER_TRANSFER_I2C + hal_i2c_m_dma_init(SCREEN_I2C_ADDRESS, SCREEN_I2C_ADDR_BITS, I2C_MASTER_SPEED); +#elif SCREEN_MASTER_TRANSFER_SPI + hal_spi_m_dma_init(SPI_MASTER_SPEED, SCREEN_SPI_CPHA, SCREEN_SPI_CPOL); +#endif + +#if PHONE_SLAVE_TRANSFER_I2C + hal_i2c_s_init(CHIP_I2C_ADDRESS, CHIP_I2C_ADDR_BITS); + hal_i2c_s_set_transfer(app_tp_i2cs_callback); + hal_i2c_s_nonblocking_read(s_phone_read_buffer, BUFFER_SIZE_MAX); //ý buffer +#elif PHONE_SLAVE_TRANSFER_SPI + hal_spi_slave_init(PHONE_SPI_CPHA, PHONE_SPI_CPOL, true); // ʼspiԼdma + hal_spi_slave_register_callback(app_tp_spis_callback); // עص + hal_spi_slave_auto_transfer_abort(); // ֹͣ + hal_spi_slave_flush_fifo(); // Flush FIFO + + /* ÿpacketԶ, circle mode Ϊfalse, յbuffer max sizeݺbufferٸ, packetɺûص */ + hal_spi_slave_set_auto_rx_buffer(s_phone_read_buffer, BUFFER_SIZE_MAX, false); // auto rx buffer + hal_spi_slave_set_auto_tx_buffer(phone_reg_const_data[0].write_back, phone_reg_const_data[0].write_back_size, false); // TX BUFFER + + hal_spi_slave_enable(); // spis + hal_spi_slave_auto_transfer_start(); // rxԶ +#endif + +} + +/************************************************************************** +* @name : app_tp_m_transfer_complate +* @brief : ȡͨ״̬ +* @param[in] : +* @return :true: ͨ +* @retval : +**************************************************************************/ +bool app_tp_m_transfer_complate(void) +{ +#if SCREEN_MASTER_TRANSFER_I2C + return hal_i2c_m_transfer_complate(); +#elif SCREEN_MASTER_TRANSFER_SPI + return hal_spi_m_get_transfer_complate(); +#else + return true; +#endif +} + +/************************************************************************** +* @name : app_tp_s_transfer_complate +* @brief : ȡӻͨ״̬ +* @param[in] : +* @return :true: ͨ +* @retval : +**************************************************************************/ +bool app_tp_s_transfer_complate(void) +{ +#if SCREEN_MASTER_TRANSFER_I2C + return hal_i2c_s_write_complate() && hal_i2c_s_read_complate(); +#elif SCREEN_MASTER_TRANSFER_SPI + return !hal_spi_slave_busy(); +#else + return true; +#endif +} + +/************************************************************************** +* @name : app_tp_m_write +* @brief : ͨŷʽ÷txbufferе +* @param[in] :txbuffer: buffer ͷַ +* @param[in] :buffer_size: buffer +* @return : +* @retval : +**************************************************************************/ +static void app_tp_m_write(const uint8_t *txbuffer, size_t buffer_size) +{ +#if SCREEN_MASTER_TRANSFER_I2C + hal_i2c_m_dma_write(txbuffer, buffer_size); +#elif SCREEN_MASTER_TRANSFER_SPI + hal_spi_m_dma_write(txbuffer, buffer_size); + s_spim_write = true; +#endif +} + +/************************************************************************** +* @name : app_tp_m_read +* @brief : ͨŷʽ÷txbufferеݺrxbuffer +* @param[in] :cmd: buffer ͷַ +* @param[in] :cmd_size: buffer +* @param[in] :data_buffer: ȡ buffer ͷַ +* @param[in] :data_size: ȡ buffer +* @return : +* @retval : +**************************************************************************/ +static void app_tp_m_read(const uint8_t *cmd, size_t cmd_size, uint8_t *data_buffer, size_t data_size) +{ +#if SCREEN_MASTER_TRANSFER_I2C + uint8_t i = 0; + uint32_t address = 0; + + for (i = 0; i < cmd_size; i++) //ȽҪ͵ϵ address + { + address |= (uint32_t)cmd[i] << i * 8; + } + hal_i2c_m_dma_read(address, cmd_size, data_buffer, data_size); +#elif SCREEN_MASTER_TRANSFER_SPI + hal_spi_m_dma_read(cmd, cmd_size, data_buffer, data_size); +#endif +} + +/************************************************************************** +* @name : app_tp_s_write +* @brief : ͨŷʽ÷txbufferе +* @param[in] :txbuffer: buffer ͷַ +* @param[in] :buffer_size: buffer +* @return : +* @retval : +**************************************************************************/ +void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size) +{ +#if PHONE_SLAVE_TRANSFER_I2C + hal_i2c_s_dma_write(txbuffer, buffer_size); +#elif PHONE_SLAVE_TRANSFER_SPI + //while (hal_spi_slave_busy()); + hal_spi_slave_auto_transfer_abort(); + hal_spi_slave_flush_fifo(); + hal_spi_slave_set_auto_tx_buffer(txbuffer, buffer_size, true); + hal_spi_slave_auto_transfer_start(); +#endif +} + +/************************************************************************** +* @name : app_tp_s_read +* @brief : ͨŷʽrxbuffer +* @param[in] :rxBuffer: ȡ buffer ͷַ +* @param[in] :data_size: ȡ buffer +* @return : +* @retval : +**************************************************************************/ +void app_tp_s_read(void *rxBuffer, size_t data_size) +{ +#if PHONE_SLAVE_TRANSFER_I2C + hal_i2c_s_nonblocking_read(rxBuffer, data_size); +#endif +} + +/************************************************************************** +* @name : app_tp_spis_callback +* @brief : SPI slave жϴ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +/* +#if PHONE_SLAVE_TRANSFER_I2C //warning +//ԡint_status=0Ϊ=2ΪSTOP=1δԵ +//recieve_numΪյָ +static void app_tp_i2cs_callback(e_i2c_s_int_status int_status, size_t recieve_num) +{ +#if 0 // 1: test + if (int_status >2) + { + s_phone_read_buffer[2]=int_status; + s_phone_read_buffer[3]=recieve_num; + app_tp_m_write(s_phone_read_buffer, 4); + } +#endif + app_tp_transfer_phone(recieve_num); +} +#endif + +*/ +#if PHONE_SLAVE_TRANSFER_I2C //warning +static void app_tp_i2cs_callback(e_i2c_s_int_status int_status, size_t recieve_num) +{ + static bool i2cs_transfer = true; //ȷһֻͨһ + if (i2cs_transfer) + { + i2cs_transfer = false; + app_tp_transfer_phone(recieve_num); + } + if (int_status == I2C_S_INT_READ) + { + app_tp_s_write(s_slave_txbuffer, s_slave_txbuffer_size); + } + else if (int_status == I2C_S_INT_STOP) + { + i2cs_transfer = true; + } +} +#endif + + +/************************************************************************** +* @name : app_tp_spis_callback +* @brief : SPI slave жϴ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +#if PHONE_SLAVE_TRANSFER_SPI //warning +static void app_tp_spis_callback(hal_spis_event_e event, hal_spi_packet_info_t *packet_info) +{ + app_tp_transfer_phone(packet_info->packet_size); +} +#endif + +#if 0 +/************************************************************************** +* @name : app_tp_reset_callback +* @brief : ֻ IO临λжϴ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +static void app_tp_reset_callback(void *data) +{ + TAU_LOGD("app_tp_reset_callback\n"); + s_phone_reset_flag = true; + app_tp_s_write(phone_reg_const_data[0].write_back, phone_reg_const_data[0].write_back_size); +#if PHONE_SLAVE_TRANSFER_SPI + hal_gpio_set_output_data(IO_PAD_AP_INT, IO_LVL_LOW); +#endif +} +#endif + +/************************************************************************** +* @name : app_tp_transfer_screen_const +* @brief : flowдscreen screen ʼ +* @param[in] : +* @return : +* @retval : +*޸TP1ģʼ +*ִscreen_reg_start_data[] +**************************************************************************/ +static void app_tp_transfer_screen_const(void) +{ +// static bool screen_const_transfer_buffer_ready = true; // buffer Ƿ׼ + uint8_t ii; + + /**** 1. жϵǰ״̬ͨѽ, ״̬ͨѽҿʼ̻δ****/ +#if 0 // test + uint8_t test_master_read_buffer[10] = {0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19}; + uint8_t write_buffer[10] = {0x04, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19}; + +// for (ii =0x20; ii<0x7F; ii++) + { + //hal_i2c_m_dma_init(ii, SCREEN_I2C_ADDR_BITS); + //delayMs(100); + if (hal_i2c_m_dma_write(write_buffer, 1)) + { + //break; + } + while(!hal_i2c_m_transfer_complate()); + hal_i2c_m_dma_read(test_master_read_buffer, 1, test_master_read_buffer, 2); + } +#endif + + + if (app_tp_m_transfer_complate() && (s_screen_const_transfer_count < screen_reg_start_data_size)) + { + if (s_spim_write) //SPI дݺҪѽFIFOݶȻӰһζȡ + { + hal_spi_m_clear_rxfifo(); + s_spim_write = false; + } + + #if 1 + + #ifndef USE_FOR_SUMSUNG_S10 + for (ii =0; ii= screen_reg_start_data_size) + { + s_screen_init_complate = true; + } + } + #endif + } +} + +/************************************************************************** +* @name : app_tp_transfer_screen_start +* @brief : flowдscreenʼʼ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_transfer_screen_start(void) +{ + s_screen_init_complate = false; + s_screen_const_transfer_count = 0; + //app_tp_screen_init(); +#ifndef DISABLE_I2C_INIT_CODE + app_tp_transfer_screen_const(); +#endif + s_screen_int_flag = false; +} + +/************************************************************************** +* @name : app_tp_transfer_screen_int +* @brief : screenжϺ󣬰flowдscreenЭת +* @param[in] : +* @return : +* @retval : +*޸TP2ȡģ鱨㣡 +*ִscreen_reg_int_data[]ҲԼд +**************************************************************************/ +void app_tp_transfer_screen_int(void) +{ + bool screen_gpio_int = false; + static uint8_t screen_int_transfer_count = 0; //¼ǰͨŵһ + static bool screen_int_transfer_buffer_ready = true; // buffer Ƿ׼ +// static uint8_t test_flag = 0; + + if (!s_screen_init_complate) //TP ʼδɣȽгʼ + { + app_tp_transfer_screen_const(); + return; + } + +#if 0 //test + test_flag++; + if (test_flag >1000000) + { + test_flag =0; + //TAU_LOGD("Run ok!!\n"); + //app_tp_m_read(screen_reg_int_data[0].buffer, screen_reg_int_data[0].txbuffer_size, s_screen_number, screen_reg_int_data[0].rxbuffer_size); + //while(!hal_i2c_m_transfer_complate()); + } +#endif + + /**** 1. ж screen Ƿ񷢳жź ****/ + // s_screen_int_flag: жźű־λ + // app_tp_screen_int_lvl_low : SPI ʱͨʱżcsߵͨ쳣ñ־λڽ + screen_gpio_int = s_screen_int_flag || app_tp_screen_int_lvl_low(); + if (((screen_gpio_int) || (s_screen_int_transfer_status)) && app_tp_m_transfer_complate()) //жϵǰͨ״̬׼ͨ + { + // TAU_LOGD("touch ok!!\n"); + s_screen_int_flag = false; + if (s_spim_write) //SPI дݺҪѽFIFOݶȻӰһζȡ + { + hal_spi_m_clear_rxfifo(); + s_spim_write = false; + } + + /**** 2. ͻȡӻ ****/ + if (screen_int_transfer_buffer_ready) + { + #ifndef READ_MODULE_TP_ONE_BY_ONE + screen_int_transfer_buffer_ready = false; + s_screen_int_transfer_status = true; + #ifdef USE_FOR_SUMSUNG_S10 + app_tp_m_read(screen_reg_int_data[2].buffer, 1, s_screen_read_buffer, 64); + // app_tp_m_read(screen_reg_int_data[2].buffer, 1, s_screen_read_buffer, 8); + while(!hal_i2c_m_transfer_complate()); + + #else + app_tp_m_read(screen_reg_int_data[0].buffer, screen_reg_int_data[0].txbuffer_size, s_screen_temp, screen_reg_int_data[0].rxbuffer_size); + while(!hal_i2c_m_transfer_complate()); + app_tp_m_read(screen_reg_int_data[1].buffer, screen_reg_int_data[1].txbuffer_size, s_screen_number, screen_reg_int_data[1].rxbuffer_size); + while(!hal_i2c_m_transfer_complate()); + //TAU_LOGD("s_screen_number[%4x], size[%4x]", ((s_screen_number[1]<<8)|s_screen_number[0]), ((s_screen_temp[1]<<8)|s_screen_temp[0])); + + if(s_screen_number[1]) + { + if (s_screen_number[1]>3) + { + read_point =1; + s_screen_int_transfer_status = false; + } + else if (s_screen_number[1] &0x02) + read_point =10; + else + read_point =9; + } + else + { + if(s_screen_number[0] &0x80) + read_point =8; + else if(s_screen_number[0] &0x40) + read_point =7; + else if(s_screen_number[0] &0x20) + read_point =6; + else if(s_screen_number[0] &0x10) + read_point =5; + else if(s_screen_number[0] &0x08) + read_point =4; + else if(s_screen_number[0] &0x04) + read_point =3; + else if(s_screen_number[0] &0x02) + read_point =2; + else + read_point =1; + } + read_point =8*read_point; + app_tp_m_read(screen_reg_int_data[2].buffer, screen_reg_int_data[2].txbuffer_size, s_screen_read_buffer, read_point); + while(!hal_i2c_m_transfer_complate()); + #endif + #else + if (!screen_reg_int_data[screen_int_transfer_count].read_flag) //ǰͨŲҪأֱд + { + app_tp_m_write(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size); + } + else //ǰͨҪأдٶ + { + s_screen_int_transfer_status = true; + if (screen_int_transfer_count==0) + { + app_tp_m_read(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size, \ + s_screen_temp, screen_reg_int_data[screen_int_transfer_count].rxbuffer_size); + screen_int_transfer_count =1; + } + else if (screen_int_transfer_count==1) + { + app_tp_m_read(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size, \ + s_screen_number, screen_reg_int_data[screen_int_transfer_count].rxbuffer_size); + screen_int_transfer_count =2; + } + else if (screen_int_transfer_count==2) + { + if(s_screen_number[1]) + { + TAU_LOGD("s_screen_number[%4x], size[%4x]", ((s_screen_number[1]<<8)|s_screen_number[0]), ((s_screen_temp[1]<<8)|s_screen_temp[0])); + if (s_screen_number[1] &0x02) + read_point =10; + else + read_point =9; + } + else + { + if(s_screen_number[0] &0x80) + read_point =8; + else if(s_screen_number[0] &0x40) + read_point =7; + else if(s_screen_number[0] &0x20) + read_point =6; + else if(s_screen_number[0] &0x10) + read_point =5; + else if(s_screen_number[0] &0x08) + read_point =4; + else if(s_screen_number[0] &0x04) + read_point =3; + else if(s_screen_number[0] &0x02) + read_point =2; + else + read_point =1; + } + read_point =8*read_point; + + app_tp_m_read(screen_reg_int_data[screen_int_transfer_count].buffer, screen_reg_int_data[screen_int_transfer_count].txbuffer_size, \ + s_screen_read_buffer, read_point); + screen_int_transfer_count =0; + screen_int_transfer_buffer_ready = false; + } + } + #endif + } + /**** 3. ͨݣ׼һͨŵbuffer ****/ + else + { + #if 1 + #ifdef USE_FOR_SUMSUNG_S10 + u16TouchID=0x0000; + #endif + screen_int_transfer_buffer_ready = true; + screen_int_transfer_count = app_tp_screen_analysis_int(screen_int_transfer_count, s_screen_read_buffer,screen_reg_int_data[2].rxbuffer_size); + screen_int_transfer_count = 0; + s_screen_int_transfer_status = false; + + #else + screen_int_transfer_buffer_ready = true; + screen_int_transfer_count = app_tp_screen_analysis_int(screen_int_transfer_count, s_screen_read_buffer, \ + screen_reg_int_data[screen_int_transfer_count].rxbuffer_size); + + if (screen_int_transfer_count > screen_reg_int_data_size) //ҪһͨŽһݽֹͣͨ + { + screen_int_transfer_count = 0; + s_screen_int_transfer_status = false; + return; + } + #endif + } + } +} + +/************************************************************************** +* @name : app_tp_transfer_phone +* @brief : ݽӦĴ +* @param[in] : recieve_numݳ +* @return : +* @retval : +**************************************************************************/ +static void app_tp_transfer_phone(size_t recieve_num) +{ + // const uint8_t *phone_write_buffer; + // size_t phone_write_buffer_size = 0; + /* ݽжǷҪԼ𸴵bufferָ */ + if (recieve_num > 0) + { + #if 0// 1: test + s_phone_read_buffer[3]=recieve_num; + app_tp_m_write(s_phone_read_buffer, 4); + #endif + // app_tp_phone_analysis_data(s_phone_read_buffer, recieve_num, &phone_write_buffer, &phone_write_buffer_size); +// app_tp_phone_analysis_data(s_phone_read_buffer, recieve_num, &s_slave_txbuffer, &s_slave_txbuffer_size); + app_tp_phone_analysis_data_custom(s_phone_read_buffer, recieve_num, s_slave_txbuffer, &s_slave_txbuffer_size); + // printf("222 %p %x \n",*s_slave_txbuffer,s_slave_txbuffer_size); + } + + app_tp_s_read(s_phone_read_buffer, BUFFER_SIZE_MAX); + /* if (phone_write_buffer_size) //0ʾҪֻ÷buffer + { + app_tp_s_write(phone_write_buffer, phone_write_buffer_size); + } + */ +} + +void ap_tp_scan_point_init(void) +{ + uint8_t i=0; + + for(i=0;i0) // в + { + printf("release finger %2d\n",tp_scan_data.tp_read_point_counter); + tp_scan_data.tp_read_point_counter = 0; + // ap_tp_simulate_finger_release_event(); + } + + ap_tp_scan_point_init(); + } + } + +} + + +/************************************************************************** +* @name : app_tp_phone_reset_on +* @brief : ȡֻλźŵ״̬ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +bool app_tp_phone_reset_on(void) +{ + return s_phone_reset_flag; +} + +/************************************************************************** +* @name : app_tp_phone_clear_reset_on +* @brief : ֻλźŵ״̬ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_phone_clear_reset_on(void) +{ + s_phone_reset_flag = false; +} + +#else + +void app_tp_screen_init(void) +{ + +} + +void app_tp_init(void) +{ + +} + +void app_tp_transfer_screen_int(void) +{ + +} + +void app_tp_transfer_screen_start(void) +{ + +} + +bool app_tp_phone_reset_on(void) +{ + return false; +} + +void app_tp_phone_clear_reset_on(void) +{ + +} + +void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size) +{ + +} + +bool app_tp_enter_sleep_on(void) +{ + return false; +} + +#endif + diff --git a/src/app/ap_demo/app_tp_transfer.h b/src/app/ap_demo/app_tp_transfer.h new file mode 100644 index 0000000..c2abe28 --- /dev/null +++ b/src/app/ap_demo/app_tp_transfer.h @@ -0,0 +1,110 @@ +/******************************************************************************* +* +* +* File: app_tp_transfer.h +* Description touch I2C/SPI ͨغ +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ +#ifndef __APP_TP_TRANSFER_H__ +#define __APP_TP_TRANSFER_H__ + +#include "string.h" +#include "tau_device_datatype.h" +#include "tau_common.h" + +#define SCREEN_TRANSFER_WRITE false //յscreen ioжϣ֮ö +#define SCREEN_TRANSFER_READ true //յscreen ioжϣ֮Ҫ + +#define ST_TP_SCAN_POINT_NUMBER_MAX 6 + +typedef struct +{ + uint8_t tp_point_buffer[ST_TP_SCAN_POINT_NUMBER_MAX]; // յ TP 㣬ڼ¼Ϣ + uint8_t tp_read_point_counter; // ͳƱֵ + uint8_t tp_point_up_error_flag; // ͷ쳣־ + uint32_t tp_point_error_time_counter; // ʱ +} st_tp_scan_data; + + +extern const uint8_t *s_slave_txbuffer; + +/************************************************************************** +* @name : app_tp_screen_init +* @brief : screen IO 䣬ʼʼ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_screen_init(void); + +/************************************************************************** +* @name : app_tp_init +* @brief : ʼͨ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_init(void); + +/************************************************************************** +* @name : app_tp_transfer_screen_int +* @brief : screenжϺ󣬰flowдscreenЭת +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_transfer_screen_int(void); + +/************************************************************************** +* @name : app_tp_transfer_screen_start +* @brief : flowдscreenʼʼ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_transfer_screen_start(void); + +/************************************************************************** +* @name : app_tp_phone_reset_on +* @brief : ȡֻλźŵ״̬ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +bool app_tp_phone_reset_on(void); + +/************************************************************************** +* @name : app_tp_phone_clear_reset_on +* @brief : ֻλźŵ״̬ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void app_tp_phone_clear_reset_on(void); + +/************************************************************************** +* @name : app_tp_s_write +* @brief : ͨŷʽ÷txbufferе +* @param[in] :txbuffer: buffer ͷַ +* @param[in] :buffer_size: buffer +* @return : +* @retval : +**************************************************************************/ +void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size); + +/************************************************************************** +* @name : app_tp_enter_sleep_on +* @brief : ȡ tp ͨ״̬ +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +bool app_tp_enter_sleep_on(void); + +void ap_tp_scan_point_record_event_exec(void); + + +#endif + diff --git a/src/app/ap_demo/demo_version.txt b/src/app/ap_demo/demo_version.txt new file mode 100644 index 0000000..17a8630 --- /dev/null +++ b/src/app/ap_demo/demo_version.txt @@ -0,0 +1,38 @@ +///////////////////////////////////////////////////////////////////////////////// + + ISP368_Mi8SE_20230523 + + 1ͻżǰһ޴ + + λʱСӸλ100ms³ʼΪ30ms + + 2ϻиλϰ벿֡ + + hal_dsi_tx_ctrl_start29֮ʱӴ150ms + + + +///////////////////////////////////////////////////////////////////////////////// + + ISP368_Mi8SE_20230511 + + 1ͻͼ겻Բ + + ߸õ15ص + + 2ͻ澲2ϣиʿʼ޴һд + + ʱıΣ̼ + + +///////////////////////////////////////////////////////////////////////////////// + + ISP368_Mi8SE_20230316 + + 1ͻ澲2ϣиʿʼ޴һд + + porch + + + +///////////////////////////////////////////////////////////////////////////////// diff --git a/src/app/main.c b/src/app/main.c new file mode 100644 index 0000000..c538d16 --- /dev/null +++ b/src/app/main.c @@ -0,0 +1,63 @@ +#include +#include +#include +#include "test_cfg_global.h" +#include "tau_log.h" +#include "hal_system.h" +#include "board.h" + +int main() +{ + board_Init(); + + while (1) + { +#if _DEMO_DSI_TX_EN + demo_dsi_tx_case(); +#endif +#if _DEMO_DSI_RX_EN + demo_hal_dsi_rx_case(); +#endif +#if _DEMO_TIMER_EN + demo_timer_case(); +#endif +#if _DEMO_WDG_EN + demo_wdg_case(); +#endif +#if _DEMO_GPIO_EN + demo_gpio_case(); +#endif +#if _DEMO_PWM_EN + demo_pwm_case(); +#endif +#if _DEMO_SWIRE_EN + demo_swire_case(); +#endif + +#if _DEMO_I2C_EN + demo_hal_i2c(); +#endif + +#if _DEMO_SPI_EN + demo_hal_spi(); +#endif + +#if _DEMO_S8_EN + s8_demo(); +#endif + +#if _DEMO_S8P_EN + s8p_demo(); +#endif + +#if _DEMO_S9_EN + s9_demo(); +#endif + +#if _DEMO_MI8SE_EN + ap_demo(); +#endif + + while (1); + } +} diff --git a/src/app/test_cfg_global.h b/src/app/test_cfg_global.h new file mode 100644 index 0000000..b706a19 --- /dev/null +++ b/src/app/test_cfg_global.h @@ -0,0 +1,100 @@ +/******************************************************************************* +* +* File: test_cfg_global.h +* Description: 测试用例全局配置头文件 +* Version: V0.1 +* Date: 2021-05-01 +* Author: kevin + *******************************************************************************/ + +#ifndef __TEST_GLOBAL_CONFIG_H__ +#define __TEST_GLOBAL_CONFIG_H__ +/******************************************************************************* +* 1.Included files +*******************************************************************************/ + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ +/* 模块demo 宏定义 */ +#define _DEMO_TIMER_EN 0 +#define _DEMO_DSI_TX_EN 0 +#define _DEMO_DSI_RX_EN 0 +#define _DEMO_PWM_EN 0 +#define _DEMO_SWIRE_EN 0 +#define _DEMO_WDG_EN 0 +#define _DEMO_GPIO_EN 0 +#define _DEMO_I2C_EN 0 +#define _DEMO_SPI_EN 0 +/* ap demo 宏定义 */ +#define _DEMO_S8_EN 0 +#define _DEMO_S8P_EN 0 +#define _DEMO_S9_EN 0 +#define _DEMO_MI8SE_EN 1 + + +#if _DEMO_TIMER_EN + #include "demo_hal_timer.h" +#endif + +#if _DEMO_I2C_EN + #include "demo_hal_i2c.h" +#endif + +#if _DEMO_SPI_EN + #include "demo_hal_spi.h" +#endif + +#if _DEMO_DSI_TX_EN + #include "demo_hal_dsi_tx.h" +#endif + +#if _DEMO_DSI_RX_EN + #include "demo_hal_dsi_rx.h" +#endif + +#if _DEMO_PWM_EN + #include "demo_hal_pwm.h" +#endif + +#if _DEMO_SWIRE_EN + #include "demo_hal_swire.h" +#endif + +#if _DEMO_WDG_EN + #include "demo_hal_wdg.h" +#endif + +#if _DEMO_GPIO_EN + #include "demo_hal_gpio.h" +#endif + +#if _DEMO_I2C_TP_EN + #include "demo_hal_i2c_tp.h" +#endif + +#if _DEMO_S8_EN + #include "s8_demo.h" + #include "app_tp_for_custom_s8.h" +#endif + +#if _DEMO_S8P_EN + #include "s8p_demo.h" + #include "app_tp_for_custom_s8p.h" +#endif + +#if _DEMO_S9_EN + #include "s9_demo.h" + #include "app_tp_for_custom_s9.h" +#endif + +#if _DEMO_MI8SE_EN + #include "ap_demo.h" + #include "app_tp_for_custom_mi8se.h" +// #include "app_tp_for_custom_s9.h" +#endif + + + +#endif + diff --git a/src/board/board.c b/src/board/board.c new file mode 100644 index 0000000..aea5ad9 --- /dev/null +++ b/src/board/board.c @@ -0,0 +1,26 @@ +/******************************************************************************* +* Copyright (C) 2019-2022, ISP Systems (R),All Rights Reserved. +* +* File: board.c +* Description 板级文件 +* Version V0.1 +* Date 2020-12-07 +* Author linyw +*******************************************************************************/ +#include "board.h" +#include "hal_system.h" +#include "ArmCM0.h" + +void board_Init(void) +{ + hal_system_init(SYSTEM_CLOCK); + hal_system_enable_systick(1); +#if !EDA_MODE + hal_system_init_console(115200); +#endif +#if defined(ISP_568) || defined(ISP_368) + /* 从EFUSE读取DPHY校准值并设置 */ + hal_system_set_phy_calibration(true); +#endif +} + diff --git a/src/board/board.h b/src/board/board.h new file mode 100644 index 0000000..2d3eb38 --- /dev/null +++ b/src/board/board.h @@ -0,0 +1,16 @@ +/******************************************************************************* +* Copyright (C) 2019-2022, ISP Systems (R),All Rights Reserved. +* +* File: board.h +* Description: baord 初始化头文件 +* Version: V0.1 +* Date: 2020-01-08 +* Author: lzy + *******************************************************************************/ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +void board_Init(void); + +#endif diff --git a/src/board/startup/startup_ARMCM0.s b/src/board/startup/startup_ARMCM0.s new file mode 100644 index 0000000..4a17757 --- /dev/null +++ b/src/board/startup/startup_ARMCM0.s @@ -0,0 +1,226 @@ +;/**************************************************************************//** +; * @file startup_ARMCM0.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM0 Device +; * @version V5.4.0 +; * @date 12. December 2018 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2018 Arm Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00001000 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +__stack_limit +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000C00 + + IF Heap_Size != 0 ; Heap is provided + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + ENDIF + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; -14 NMI Handler + DCD HardFault_Handler ; -13 Hard Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; -5 SVCall Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD PendSV_Handler ; -2 PendSV Handler + DCD SysTick_Handler ; -1 SysTick Handler + + + ; Interrupts + DCD VIDC_IRQn_Handler ; 0 Interrupt 0 + DCD LCDC_IRQn_Handler ; 1 Interrupt 1 + DCD MIPI_RX_IRQn_Handler ; 2 Interrupt 2 + DCD MIPI_TX_IRQn_Handler ; 3 Interrupt 3 + DCD MEMC_IRQn_Handler ; 4 Interrupt 4 + DCD VPRE_IRQn_Handler ; 5 Interrupt 5 + DCD FLSCTRL_IRQn_Handler ; 6 Interrupt 6 + DCD DMA_IRQn_Handler ; 7 Interrupt 7 + DCD TIMER0_IRQn_Handler ; 8 Interrupt 8 + DCD TIMER1_IRQn_Handler ; 9 Interrupt 9 + DCD TIMER2_IRQn_Handler ; 10 Interrupt 10 + DCD TIMER3_IRQn_Handler ; 11 Interrupt 11 + DCD WDG_IRQn_Handler ; 12 Interrupt 12 + DCD UART_IRQn_Handler ; 13 Interrupt 13 + DCD I2C0_IRQn_Handler ; 14 Interrupt 14 + DCD I2C1_IRQn_Handler ; 15 Interrupt 15 + DCD SPIS_IRQn_Handler ; 16 Interrupt 16 + DCD SPIM_IRQn_Handler ; 17 Interrupt 17 + DCD ADC_IRQn_Handler ; 18 Interrupt 18 + DCD PWMDET_IRQn_Handler ; 19 Interrupt 19 + DCD OTP_IRQn_Handler ; 20 Interrupt 20 + DCD SWIRE_IRQn_Handler ; 21 Interrupt 21 + DCD PVD_IRQn_Handler ; 22 Interrupt 22 + DCD AP_NRESET_IRQn_Handler ; 23 Interrupt 23 + DCD EXTI_INT0_IRQn_Handler ; 24 Interrupt 24 + DCD EXTI_INT1_IRQn_Handler ; 25 Interrupt 25 + DCD EXTI_INT2_IRQn_Handler ; 26 Interrupt 26 + DCD EXTI_INT3_IRQn_Handler ; 27 Interrupt 27 + DCD EXTI_INT4_IRQn_Handler ; 28 Interrupt 28 + DCD EXTI_INT5_IRQn_Handler ; 29 Interrupt 29 + DCD EXTI_INT6_IRQn_Handler ; 30 Interrupt 30 + DCD EXTI_INT7_IRQn_Handler ; 31 Interrupt 31 + + SPACE ( 0 * 4) ; Interrupts 10 .. 31 are left out + +__Vectors_End +__Vectors_Size EQU __Vectors_End - __Vectors +_NVIC_ICER0 EQU 0xE000E180 ;清中断使能寄存器地址 +_NVIC_ICPR0 EQU 0xE000E280 ;清中断pending寄存器地址 + + AREA |.text|, CODE, READONLY + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT __main + +;清中断使能和pending ——开始—— + CPSID I ; 屏蔽中断 + LDR R0, =_NVIC_ICER0 + LDR R1, =_NVIC_ICPR0 + LDR R2, =0xFFFFFFFF + MOVS R3, #1 ; 设置循环次数 M0只有1组(32个)中断,故只需要循环1次 +_irq_clear + ;CBZ R3, _irq_clear_end + CMP R3,#0 ; 循环次数等于0,跳转到_irq_clear_end + BEQ _irq_clear_end + STR R2, [R0] ;,#4 ; NVIC_ICER0 - 清 enable IRQ 寄存器 + STR R2, [R1] ;,#4 ; NVIC_ICPR0 - 清 pending IRQ 寄存器 + SUBS R3, #1 ; 循环数自减1 + B _irq_clear +_irq_clear_end +;清中断使能和pending ——结束—— + CPSIE I ; 开启中断 + LDR R0, =__main + BX R0 + ENDP + + +; Macro to define default exception/interrupt handlers. +; Default handler are weak symbols with an endless loop. +; They can be overwritten by real handlers. + MACRO + Set_Default_Handler $Handler_Name +$Handler_Name PROC + EXPORT $Handler_Name [WEAK] + B . + ENDP + MEND + + +; Default exception/interrupt handler + + Set_Default_Handler NMI_Handler + Set_Default_Handler HardFault_Handler + Set_Default_Handler SVC_Handler + Set_Default_Handler PendSV_Handler + Set_Default_Handler SysTick_Handler + + Set_Default_Handler VIDC_IRQn_Handler + Set_Default_Handler LCDC_IRQn_Handler + Set_Default_Handler MIPI_RX_IRQn_Handler + Set_Default_Handler MIPI_TX_IRQn_Handler + Set_Default_Handler MEMC_IRQn_Handler + Set_Default_Handler VPRE_IRQn_Handler + Set_Default_Handler FLSCTRL_IRQn_Handler + Set_Default_Handler DMA_IRQn_Handler + Set_Default_Handler TIMER0_IRQn_Handler + Set_Default_Handler TIMER1_IRQn_Handler + + Set_Default_Handler TIMER2_IRQn_Handler + Set_Default_Handler TIMER3_IRQn_Handler + Set_Default_Handler WDG_IRQn_Handler + Set_Default_Handler UART_IRQn_Handler + Set_Default_Handler I2C0_IRQn_Handler + Set_Default_Handler I2C1_IRQn_Handler + Set_Default_Handler SPIS_IRQn_Handler + Set_Default_Handler SPIM_IRQn_Handler + Set_Default_Handler ADC_IRQn_Handler + Set_Default_Handler PWMDET_IRQn_Handler + + Set_Default_Handler OTP_IRQn_Handler + Set_Default_Handler SWIRE_IRQn_Handler + Set_Default_Handler PVD_IRQn_Handler + Set_Default_Handler AP_NRESET_IRQn_Handler + Set_Default_Handler EXTI_INT0_IRQn_Handler + Set_Default_Handler EXTI_INT1_IRQn_Handler + Set_Default_Handler EXTI_INT2_IRQn_Handler + Set_Default_Handler EXTI_INT3_IRQn_Handler + Set_Default_Handler EXTI_INT4_IRQn_Handler + Set_Default_Handler EXTI_INT5_IRQn_Handler + + Set_Default_Handler EXTI_INT6_IRQn_Handler + Set_Default_Handler EXTI_INT7_IRQn_Handler + ALIGN + + +; User setup Stack & Heap + + IF :LNOT::DEF:__MICROLIB + IMPORT __use_two_region_memory + ENDIF + + EXPORT __stack_limit + EXPORT __initial_sp + IF Heap_Size != 0 ; Heap is provided + EXPORT __heap_base + EXPORT __heap_limit + ENDIF + + END diff --git a/src/common/tau_common.h b/src/common/tau_common.h new file mode 100644 index 0000000..2ca8cd1 --- /dev/null +++ b/src/common/tau_common.h @@ -0,0 +1,216 @@ +/******************************************************************************* +* +* +* File: tau_common.h +* Description 通用数据类型相关定义头文件 +* Version V0.1 +* Date 2020-09-07 +* Author lzy + *******************************************************************************/ + +#ifndef __TAU_COMMON_H +#define __TAU_COMMON_H + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "stdint.h" +#include "math.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ +/** + * \name 通用常量定义 + * @{ + */ +//#define ENABLE 1 +//#define DISABLE 0 + +#define ON 1 +#define OFF 0 + +#define NONE 0 +#define EOS '\0' + +/* +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif +*/ + +#ifndef __cplusplus + #define true 1 + #define false 0 + #define bool _Bool +#endif /* ifndef __cplusplus */ + +#ifndef NULL + #define NULL ((void *)0) +#endif + +#define TAU_LITTLE_ENDIAN 1234 /**< \brief 小端模式 */ +#define TAU_BIG_ENDIAN 3412 /**< \brief 大端模式 */ + +/** @} */ + +/******************************************************************************/ + +/** + * \name 常用宏定义 + * @{ + */ + +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +#define TAU_INLINE inline +#define TAU_STATIC_INLINE static inline +#define TAU_STATIC static +#define TAU_CONST const +#define TAU_EXTERN extern + +#define MIN(x, y) (((x) < (y)) ? (x) : (y)) +#define MAX(x, y) (((x) > (y)) ? (x) : (y)) + +/** + * \brief 求结构体成员的偏移 + * \attention 不同平台上,由于成员大小和内存对齐等原因, + * 同一结构体成员的偏移可能是不一样的 + * + * \par 示例 + * \code + * struct my_struct { + * int m1; + * char m2; + * }; + * int offset_m2; + * + * offset_m2 = TAU_OFFSET(struct my_struct, m2); + * \endcode + */ +#define TAU_OFFSET(structure, member) ((uint32_t)(&(((structure *)0)->member))) + +/** @} */ + +/** + * \brief 通过结构体成员指针获取包含该结构体成员的结构体 + * + * \param ptr 指向结构体成员的指针 + * \param type 结构体类型 + * \param member 结构体中该成员的名称 + * + * \par 示例 + * \code + * struct my_struct = { + * int m1; + * char m2; + * }; + * struct my_struct my_st; + * char *p_m2 = &my_st.m2; + * struct my_struct *p_st = TAU_CONTAINER_OF(p_m2, struct my_struct, m2); + * \endcode + */ +#define TAU_CONTAINER_OF(ptr, type, member) \ + ((type *)((char *)(ptr)-TAU_OFFSET(type, member))) + +/** + * \brief 计算结构体成员的大小 + * + * \code + * struct a = { + * uint32_t m1; + * uint32_t m2; + * }; + * int size_m2; + * + * size_m2 = TAU_MEMBER_SIZE(a, m2); //size_m2 = 4 + * \endcode + */ +#define TAU_MEMBER_SIZE(structure, member) (sizeof(((structure *)0)->member)) + +/** + * \brief 计算数组元素个数 + * + * \code + * int a[] = {0, 1, 2, 3}; + * int element_a = TAU_NELEMENTS(a); // element_a = 4 + * \endcode + */ +#define TAU_NELEMENTS(array) (sizeof(array) / sizeof((array)[0])) + +/** + * \brief 向上舍入 + * + * \param x 被运算的数 + * \param align 对齐因素 + * + * \code + * int size = TAU_ROUND_UP(15, 4); // size = 16 + * \endcode + */ +#define TAU_ROUND_UP(x, align) (((int)(x)/(align))*(align) + (((int)(x)%(align)) ? (align) : 0)) + +/** + * \brief 向下舍入 + * + * \param x 被运算的数 + * \param align 对齐因素 + * + * \code + * int size = TAU_ROUND_DOWN(15, 4); // size = 12 + * \endcode + */ +#define TAU_ROUND_DOWN(x, align) (((int)(x)/(align))*(align)) + +/** \brief 倍数向上舍入 */ +#define TAU_DIV_ROUND_UP(n, d) (((n) + (d)-1) / (d)) + +/** + * \brief 测试是否对齐 + * + * \param x 被运算的数 + * \param align 对齐因素,必须为2的乘方 + * + * \code + * if (TAU_ALIGNED(x, 4) { + * ; // x对齐 + * } else { + * ; // x不对齐 + * } + * \endcode + */ +#define TAU_ALIGNED(x, align) (((int)(x) & (align - 1)) == 0) + +/** \brief 将1字节BCD数据转换为16进制数据 */ +#define TAU_BCD_TO_HEX(val) (((val)&0x0f) + ((val) >> 4) * 10) + +/** \brief 将1字节16进制数据转换为BCD数据 */ +#define TAU_HEX_TO_BCD(val) ((((val) / 10) << 4) + (val) % 10) + +/** + * \brief 向上取整 + */ +#define TAU_CEIL(val) ceil(val) + + +/*! @brief Construct the version number for drivers. */ +#define MAKE_VERSION(major, minor, bugfix) (((major) << 16) | ((minor) << 8) | (bugfix)) + + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +/* \brief 通用回调函数指针定义 */ +typedef void (*fcb_type)(void *data); + +#endif /* __TAU_COMMON_H */ diff --git a/src/common/tau_delay.h b/src/common/tau_delay.h new file mode 100644 index 0000000..b4a64ca --- /dev/null +++ b/src/common/tau_delay.h @@ -0,0 +1,34 @@ +/** + * File Name: tau_delay.h + * + * + * + * Author: Fortsense 3D Firmware Team + * + * Date: 2020/12/04 + * + * Project: Taurus + * + * Description: + * + * HISTORY: +**/ +#ifndef _DELAY_H_ +#define _DELAY_H_ +#include "stdint.h" + +/** +* @brief delay ms 函数,误差2%以内 +* @param ms:delay时长 +* @retval none +*/ +void delayMs(uint32_t ms); + +/** +* @brief delay us 函数,误差2%以内 +* @param us:delay时长 +* @retval none +*/ +void delayUs(uint32_t us); + +#endif diff --git a/src/common/tau_device_datatype.h b/src/common/tau_device_datatype.h new file mode 100644 index 0000000..99b2397 --- /dev/null +++ b/src/common/tau_device_datatype.h @@ -0,0 +1,167 @@ +/******************************************************************************* + * + * + * File: tau_device_datatype.h + * Description device datatype + * Version V0.1 + * Date 2020-12-04 + * Author kevin + *******************************************************************************/ + +#ifndef _TAU_DEVICE_DATATYPE_H_ +#define _TAU_DEVICE_DATATYPE_H_ + + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ + +#include "stdint.h" +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +/*! @brief 计算组状态码 */ +#define MAKE_STATUS(group, code) ((((group)*100) + (code))) + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +/*! @brief 分组状态值 */ +enum _status_groups +{ + STATUS_GROUP_GENERIC = 0, + STATUS_GROUP_I2C = 1, + STATUS_GROUP_UART = 2, + STATUS_GROUP_SPI = 3, + kStatusGroup_Timer = 4, +}; + +/*! @brief 常用状态码 */ +enum _generic_status +{ + STATUS_SUCCESS = MAKE_STATUS(STATUS_GROUP_GENERIC, 0), + STATUS_FAIL = MAKE_STATUS(STATUS_GROUP_GENERIC, 1), + STATUS_READ_ONLY = MAKE_STATUS(STATUS_GROUP_GENERIC, 2), + STATUS_OUT_OF_RANGE = MAKE_STATUS(STATUS_GROUP_GENERIC, 3), + STATUS_INVALID_ARGUMENT = MAKE_STATUS(STATUS_GROUP_GENERIC, 4), + STATUS_TIME_OUT = MAKE_STATUS(STATUS_GROUP_GENERIC, 5), + STATUS_NO_TRANSFER_IN_PROGRESS = MAKE_STATUS(STATUS_GROUP_GENERIC, 6), +}; + +/*! + * @brief timer状态 + */ +typedef enum +{ + TIMER_STATUS_IDLE = MAKE_STATUS(kStatusGroup_Timer, 0), /*!< 空闲 */ + TIMER_STATUS_RUNNING = MAKE_STATUS(kStatusGroup_Timer, 1), /*!< 运行中 */ + TIMER_STATUS_TIMEOUT = MAKE_STATUS(kStatusGroup_Timer, 2), /*!< 超时 */ +} timer_status_e; + +/*! + * @brief system触发事件(中断/复位)模式 + */ +typedef enum +{ + DETECT_HIGH_LVL = 0, + DETECT_LOW_LVL, + DETECT_RISING_EDGE, + DETECT_FALLING_EDGE +} sys_cfg_trigger_e; + +/** +* @brief GPIO interrupt type +*/ +typedef enum +{ + TIMER_NUM0 = 0, + TIMER_NUM1, + TIMER_NUM2, + TIMER_NUM3, + TIMER_NUM_MAX +} timer_num_e; + +/** +* @brief GPIO interrupt type +*/ +typedef enum +{ + GPIO_INT_EXTI_INT0 = 0, + GPIO_INT_EXTI_INT1, + GPIO_INT_EXTI_INT2, + GPIO_INT_EXTI_INT3, + GPIO_INT_EXTI_INT4, + GPIO_INT_EXTI_INT5, + GPIO_INT_EXTI_INT6, + GPIO_INT_EXTI_INT7, + GPIO_INT_MAX +} gpio_int_e; + +/*! @brief PWMI中断类型 */ +typedef enum _pwm_int_type +{ + PWM_INT_HIGH_OVERFLOW = 0, + PWM_INT_LOW_OVERFLOW, + PWM_INT_TOTAL_OVERFLOW, + PWM_INT_HIGH_DONE, + PWM_INT_LOW_DONE, + PWM_INT_TOTAL_DONE, + PWM_INT_MAX +} pwm_int_type_e; + +/** +* @brief I2C chose +*/ +typedef enum +{ + I2C_SELECT_0 = 0, //常用slave + I2C_SELECT_1, //常用master +} i2c_select_e; + +/*! + * @brief 传输速度 + * @note + */ +typedef enum _i2c_rate +{ + I2C_RATE_STANDARD = 1, //100kHz + I2C_RATE_FAST, //400kHz + I2C_RATE_HIGH, //1MHz +} i2c_rate_e; + +/*! @brief DMA channel type */ +typedef enum +{ + DMA_CH0 = 0, /*!< SPIM */ + DMA_CH1 = 1, /*!< IIC0 */ + DMA_CH2 = 2, /*!< SPIS */ + DMA_CH3 = 3, /*!< IIC1 */ + DMA_CH4 = 4, /*!< SPI FLASH */ + DMA_CH5 = 5, /*!< UART */ +} dma_channel_e; + + +/*! @brief Type used for all status and error return values. */ + +typedef enum +{ + DISABLE = 0, + ENABLE = !DISABLE +} function_state_e; +/*!< @brief 用于返回状态和错误 */ +typedef int32_t status_t; + + + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +#endif + diff --git a/src/common/tau_dsi_datatype.h b/src/common/tau_dsi_datatype.h new file mode 100644 index 0000000..fe706a4 --- /dev/null +++ b/src/common/tau_dsi_datatype.h @@ -0,0 +1,374 @@ +/******************************************************************************* +* +* +* File: tau_dsi_datatype.h +* Description: mipi dsi 通用头文件 +* Version: V0.1 +* Date: 2021-01-13 +* Author: lzy + *******************************************************************************/ + +#ifndef __MIPI_DSI_COMMON_H__ +#define __MIPI_DSI_COMMON_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ +#define DSC_PPS_SIZE 128 + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +/** +* @brief Data Types for Peripheral-sourced Packets,From Mipi DSI Spec +*/ +typedef enum +{ + DSI_ACK_DT_ERROR = 0x02, + DSI_ACK_DT_EOTP = 0x08, + DSI_ACK_DT_GEN_SHORT_RESPONSE_1B = 0x11, + DSI_ACK_DT_GEN_SHORT_RESPONSE_2B = 0x12, + DSI_ACK_DT_GEN_LONG_RESPONSE = 0x1A, + DSI_ACK_DT_DSC_LONG_RESPONSE = 0x1C, + DSI_ACK_DT_DSC_SHORT_RESPONSE_1B = 0x21, + DSI_ACK_DT_DSC_SHORT_RESPONSE_2B = 0x22, + DSI_ACK_DT_MAX +} dsi_ack_data_type_e; + +/** +* @brief Software handle data types +*/ +typedef enum +{ + DSI_RECV_DT_PPS = 0x0A, //Picture Parameter Set + DSI_RECV_DT_GEN_WRITE_1B = 0x13, //Generic Short WRITE, 1 parameter + DSI_RECV_DT_GEN_WRITE_2B = 0x23, //Generic Short WRITE, 2 parameters + DSI_RECV_DT_GEN_READ_0B = 0x04, //Generic READ, no parameters + DSI_RECV_DT_GEN_READ_1B = 0x14, //Generic READ, 1 parameter + DSI_RECV_DT_GEN_READ_2B = 0x24, //Generic READ, 2 parameters + DSI_RECV_DT_DCS_WRITE_0B = 0x05, //DCS Short WRITE, no parameters + DSI_RECV_DT_DCS_WRITE_1B = 0x15, //DCS Short WRITE, 1 parameter + DSI_RECV_DT_DCS_READ_0B = 0x06, //DCS READ, no parameters + DSI_RECV_DT_GEN_WRITE_LONG = 0x29, //Generic Long Write + DSI_RECV_DT_DCS_WRITE_LONG = 0x39, //DCS Long Write/write_LUT Command Packet + DSI_RECV_DT_MAX +} dsi_data_type_e; + +typedef enum +{ + DCS_ENTER_IDLE_MODE = 0x39, + DCS_ENTER_INVERT_MODE = 0x21, + DCS_ENTER_NORMAL_MODE = 0x13, + DCS_ENTER_PARTIAL_MODE = 0x12, + DCS_ENTER_SLEEP_MODE = 0x10, + DCS_EXIT_IDLE_MODE = 0x38, + DCS_EXIT_INVERT_MODE = 0x20, + DCS_EXIT_SLEEP_MODE = 0x11, + DCS_GET_3D_CONTROL = 0x3F, + DCS_GET_ADDRESS_MODE = 0x0B, + DCS_GET_BLUE_CHANNEL = 0x08, + DCS_GET_COMPRESSION_MODE = 0x03, + DCS_GET_DIAGNOSTIC_RESULT = 0x0F, + DCS_GET_DISPLAY_MODE = 0x0D, + DCS_GET_GREEN_CHANNEL = 0x07, + DCS_GET_PIXEL_FORMAT = 0x0C, + DCS_GET_POWER_MODE = 0x0A, + DCS_GET_RED_CHANNEL = 0x06, + DCS_GET_SCANLINE = 0x45, + DCS_GET_SIGNAL_MODE = 0x0E, + DCS_NOP = 0x00, + DCS_READ_DDB_CONTINUE = 0xA8, + DCS_READ_DDB_START = 0xA1, + DCS_READ_MEMORY_CONTINUE = 0x3E, + DCS_READ_MEMORY_START = 0x2E, + DCS_SET_3D_CONTROL = 0x3D, + DCS_SET_ADDRESS_MODE = 0x36, + DCS_SET_COLUMN_ADDRESS = 0x2A, + DCS_SET_DISPLAY_OFF = 0x28, + DCS_SET_DISPLAY_ON = 0x29, + DCS_SET_GAMMA_CURVE = 0x26, + DCS_SET_PAGE_ADDRESS = 0x2B, + DCS_SET_PARTIAL_COLUMNS = 0x31, + DCS_SET_PARTIAL_ROWS = 0x30, + DCS_SET_PIXEL_FORMAT = 0x3A, + DCS_SET_SCROLL_AREA = 0x33, + DCS_SET_SCROLL_START = 0x37, + DCS_SET_TEAR_OFF = 0x34, + DCS_SET_TEAR_ON = 0x35, + DCS_SET_TEAR_SCANLINE = 0x44, + DCS_SET_VSYNC_TIMING = 0x40, + DCS_SOFT_RESET = 0x01, + DCS_WRITE_LUT = 0x2D, + DCS_WRITE_MEMORY_CONTINUE = 0x3C, + DCS_WRITE_MEMORY_START = 0x2C +} dsi_dcs_cmd_type_e; + +/** +* @brief video data transfer mode +*/ +typedef enum +{ + DSI_DATA_VIDEO_MODE = 0, + DSI_DATA_CMD_MODE = 1, + DSI_DATA_MODE_MAX +} dsi_video_data_mode_e; + +/** +* @brief dsi virtual channel +*/ +typedef enum +{ + DSI_VC_0 = 0, + DSI_VC_1 = 1, + DSI_VC_2 = 2, + DSI_VC_3 = 3, + DSI_VC_MAX +} dsi_virtual_channel_e; + +/** +* @brief video data mode +*/ +typedef enum +{ + DSI_FRAME_RATE_60HZ = 0, + DSI_FRAME_RATE_90HZ = 1, + DSI_FRAME_RATE_120HZ = 2, + DSI_FRAME_RATE_144HZ = 3, + DSI_FRAME_RATE_160HZ = 4, + DSI_FRAME_RATE_MAX +} dsi_video_frame_rate_e; + +/** +* @brief dsi rx color coding +*/ +typedef enum +{ + DSI_RGB565 = 1, + DSI_RGB666 = 2, /*!< 18 bbp(18bits per pixel) */ + DSI_RGB666_LOOSELY = 3, /*!< 24 bbp(24bits per pixel) */ + DSI_RGB888 = 4, /*!< 24 bbp(24bits per pixel) */ + DSI_RGB10_10_10 = 5, + DSI_RGB12_12_12 = 6, + DSI_YCbCr422_16 = 7, + DSI_PENTILE_16 = DSI_YCbCr422_16, + DSI_YCbCr422_20_LOOSELY = 8, + DSI_YCbCr422_24 = 9, + DSI_YCbCr420_12 = 10, + DSI_COLOR_CODE_MAX +} dsi_color_code_e; + +/** +* @brief dpi endianness type +*/ +typedef enum +{ + DPI_ENDIAN_RGB = 0, + DPI_ENDIAN_BGR +} dpi_endianness_type_e; + +/** +* @brief dpi polarity type +*/ +typedef enum +{ + DPI_SIG_ACTIVE_HIGH = 0, + DPI_SIG_ACTIVE_LOW = 1 +} dpi_polarity_e; + +/** +* @brief mipi lane number +*/ +typedef enum +{ + DSI_LANE_1 = 1, + DSI_LANE_2 = 2, + DSI_LANE_3 = 3, + DSI_LANE_4 = 4, + DSI_LANE_NUME_MAX +} dsi_lane_nume_e; + +/** +* @brief video mode +*/ +typedef enum +{ + DSI_NONBURST_PULSE = 0, + DSI_NONBURST_EVENT = 1, + DSI_BURST_MODE = 2, + DSI_VIDEO_MODE_MAX +} dsi_video_mode_type_e; + +/** +* @brief panel init cmd transfer type +*/ +typedef enum +{ + DSI_CMD_TX_HS = 0, + DSI_CMD_TX_LP = 1 +} dsi_tx_cmd_tx_type_e; + +/** +* @brief dpi tx vpg style +*/ +typedef enum +{ + TX_VPG_V_COLOR = 0, + TX_VPG_H_COLOR = 1, + TX_VPG_V_BER = 2, + TX_VPG_FLICKER = 3, + TX_VPG_CHESSBOARD = 4, + TX_VPG_MAX +} dsi_tx_vpg_style_e; + +#if defined(ISP_568) || defined(ISP_368) +/** +* @brief angle of rotation +*/ +typedef enum +{ + VIDOE_ROT_ANGLE_0 = 0, /* 不旋转 */ + VIDOE_ROT_ANGLE_90 = 1, /* 旋转90度 */ + VIDOE_ROT_ANGLE_180 = 2, /* 旋转180度 */ + VIDOE_ROT_ANGLE_270 = 3, /* 转转270度 */ + VIDOE_ROT_ANGLE_MAX +} video_rotate_angle_e; + +/** +* @brief mipi rx lane swap +*/ +typedef enum +{ + RX_LANE_ORDER_DEFAULT = 0x0, + RX_LANE_ORDER_3012 = RX_LANE_ORDER_DEFAULT, + RX_LANE_ORDER_3210 = 0x1, + RX_LANE_ORDER_MAX +} dsi_rx_lane_swap_e; + +/** +* @brief LTPO mode +*/ +typedef enum +{ + LTPO_MODE_NONE = 0, + LTPO_MODE_1 = 1, + LTPO_MODE_2 = 2, + LTPO_MODE_MAX +} ltpo_mode_e; + +/** +* @brief transform 基本信息 +*/ +typedef struct +{ + ltpo_mode_e ltpo; /* ltpo 模式 */ + bool mirror_en; /* 对video 做水平镜像标志位 */ + video_rotate_angle_e rot_angle; /* 对video 做旋转的角度 */ + dsi_video_data_mode_e dst_mode; /* mipi tx 输出video 数据传输模式(video/cmd mode) */ + dsi_rx_lane_swap_e rx_lane_swap; /* rx lane swap */ +} dsi_base_extra_info_t; +#endif + +/** +* @brief mipi P/N lane swap flag +* eg: pn_swap = RX_LANE_0_PN_SWAP | RX_LANE_CLK_PN_SWAP; +* 表示 lane0 与 CLK 的P跟N交换,其他lane不变 +*/ +typedef enum +{ + RX_LANE_0_PN_SWAP = 0x1, + RX_LANE_1_PN_SWAP = 0x2, + RX_LANE_2_PN_SWAP = 0x4, + RX_LANE_3_PN_SWAP = 0x8, + RX_LANE_CLK_PN_SWAP = 0x10 +} dsi_rx_lane_pn_swap_e; + +/** +* @brief error processing level +*/ +typedef enum +{ + ERR_HANDLE_NONE = 0, + ERR_HANDLE_L1 = 1, + ERR_HANDLE_L2 = 2, + ERR_HANDLE_L3 = 3, + ERR_HANDLE_MAX +} hal_err_handle_level_e; + +/** +* @brief transform 基本信息 +*/ +typedef struct +{ + uint32_t src_w; /* mipi rx 接收的 width */ + uint32_t src_h; /* mipi rx 接收的 height */ + uint32_t dst_w; /* mipi tx 发送的 width */ + uint32_t dst_h; /* mipi tx 发送的 height */ + dsi_video_frame_rate_e src_frate; /* mipi rx 接收的frame rate */ + dsi_video_data_mode_e src_mode; /* mipi rx 接收video 数据传输模式(video/cmd mode) */ + uint16_t pn_swap; /* mipi rx P/N swap标志位 */ +#if defined(ISP_568) || defined(ISP_368) + dsi_base_extra_info_t extra_info; /* ISP_568/ISP_368 新增功能配置 */ +#endif +} dsi_base_trans_info_t; + +/** +* @brief ccm系数 +*/ +typedef struct +{ + uint32_t coef_c00; + uint32_t coef_c01; + uint32_t coef_c02; + uint32_t coef_c10; + uint32_t coef_c11; + uint32_t coef_c12; + uint32_t coef_c20; + uint32_t coef_c21; + uint32_t coef_c22; +} ccm_coef_t; + +/** +* @brief video mode display timing +*/ +typedef struct +{ + uint32_t vsa; + uint32_t vbp; + uint32_t vact; + uint32_t vfp; + uint32_t hsa; + uint32_t hbp; + uint32_t hact; + uint32_t hfp; +} vid_disp_timing_t; + +/** +* @brief dpi极性配置 +*/ +typedef struct +{ + dpi_polarity_e vsync_active_level; //vsync极性 + dpi_polarity_e hsync_active_level; //hsync极性 + dpi_polarity_e dataen_active_level; //dataen极性 + dpi_polarity_e shutdown_active_level; //shutdown极性 + dpi_polarity_e colorm_active_level; //colorm极性 +} dpi_polarity_t; + +/** +* @brief hight performan mode level +*/ +typedef enum +{ + HIGHT_PERFORMAN_NONE = 0, + HIGHT_PERFORMAN_L1 = 1, + HIGHT_PERFORMAN_L2 = 2, + HIGHT_PERFORMAN_MAX +} hight_performan_mode_e; + + +#endif //__MIPI_DSI_COMMON_H__ diff --git a/src/common/tau_log.h b/src/common/tau_log.h new file mode 100644 index 0000000..dcf1f18 --- /dev/null +++ b/src/common/tau_log.h @@ -0,0 +1,83 @@ +/******************************************************************************* +* +* +* File: tau_log.h +* Description log file +* Version V0.1 +* Date 2020-12-08 +* Author linyw +*******************************************************************************/ +#ifndef _TAU_LOG_H_ +#define _TAU_LOG_H_ + + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include +#include +#include +#include "ArmCM0.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +#ifdef LOG_TAG + #undef LOG_TAG +#endif +#define LOG_TAG "tau_log" +#define LOG_CURREN_LEVEL kLOG_LEVEL_DBG /* 配置打印等级 TODO:每个模块可配置打印等级 */ + +/* + * Using the following three macros for conveniently logging. + */ +#if EDA_MODE +#define TAU_LOGD(format,...) +#define TAU_LOGI(format,...) +#define TAU_LOGE(format,...) +#else +#define TAU_LOGD(format,...) \ + do { \ + if (LOG_CURREN_LEVEL <= kLOG_LEVEL_DBG) { \ + LOG_printf("[%s] (%04d) " format, LOG_TAG, __LINE__, ##__VA_ARGS__); \ + }; \ + } while (0) + + +#define TAU_LOGI(format,...) \ + do { \ + if (LOG_CURREN_LEVEL <= kLOG_LEVEL_INF) { \ + LOG_printf("[%s] (%04d) " format, LOG_TAG, __LINE__, ##__VA_ARGS__); \ + }; \ + } while (0) + +#define TAU_LOGE(format,...) \ + do { \ + if (LOG_CURREN_LEVEL <= kLOG_LEVEL_ERR) { \ + LOG_printf("error [%s] (%04d) " format, LOG_TAG, __LINE__, ##__VA_ARGS__); \ + }; \ + } while (0) +#endif + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +typedef enum +{ + kLOG_LEVEL_DBG = 0, + kLOG_LEVEL_INF, + kLOG_LEVEL_ERR, + kLOG_LEVEL_NONE /* 不打印任何参数 */ +} log_level_t; + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +void LOG_printf(const char *fmt, ...); + +#endif diff --git a/src/common/tau_operations.h b/src/common/tau_operations.h new file mode 100644 index 0000000..da2f90b --- /dev/null +++ b/src/common/tau_operations.h @@ -0,0 +1,229 @@ +/******************************************************************************* +* +* +* File: tau_operations.h +* Description 位操作与字节操作相关定义头文件 +* Version V0.1 +* Date 2020-09-07 +* Author lzy + *******************************************************************************/ +#ifndef __TAU_BYTEOPS_H +#define __TAU_BYTEOPS_H + +/** + * \name 通用位常数定义 + * @{ + */ + +/** \brief 长整数位数 */ +#ifndef TAU_BITS_PER_LONG + #define TAU_BITS_PER_LONG 32 +#endif + +/** \brief 字节位数 */ +#define TAU_BITS_PER_BYTE 8 + +/** @} */ + + +/******************************************************************************/ + +/** + * \name 通用位操作 + * @{ + */ + +/** \brief bit移位 + * TAU_BIT(2) is 0x4 + */ +#define TAU_BIT(bit) (1u << (bit)) + +/** \brief 值移位 + * TAU_SBF(0xFF, 8) is 0xff00 + */ +#define TAU_SBF(value, field) ((value) << (field)) + +/** \brief bit置位 + * TAU_BIT_SET(0, 8) is 0x100 + */ +#define TAU_BIT_SET(data, bit) ((data) |= TAU_BIT(bit)) + +/** \brief bit清零 + * TAU_BIT_CLR(0xFF, 2) is 0xfb + */ +#define TAU_BIT_CLR(data, bit) ((data) &= ~TAU_BIT(bit)) + +/** \brief bit置位, 根据 mask 指定的位 + * TAU_BIT_SET_MASK(0xF0F0, 0xF00) is 0xfff0 + */ +#define TAU_BIT_SET_MASK(data, mask) ((data) |= (mask)) + +/** \brief bit清零, 根据 mask 指定的位 + * TAU_BIT_CLR_MASK(0xFFFF, 0xFF00) is 0xff + */ +#define TAU_BIT_CLR_MASK(data, mask) ((data) &= ~(mask)) + +/** \brief bit翻转 + * TAU_BIT_TOGGLE(0xFFFF, 0) is 0xfffe + * TAU_BIT_TOGGLE(0x0000, 1) is 0x2 + */ +#define TAU_BIT_TOGGLE(data, bit) ((data) ^= TAU_BIT(bit)) + +/** \brief bit修改 + * TAU_BIT_MODIFY(0, 8, 1) is 0x100 + * TAU_BIT_MODIFY(0xFFFF, 1, 0) is 0xfffd + */ +#define TAU_BIT_MODIFY(data, bit, value) \ + ((value) ? TAU_BIT_SET(data, bit) : TAU_BIT_CLR(data, bit)) + +/** \brief 测试bit是否置位 + * TAU_BIT_ISSET(0xF0F1, 1) is 0 + * TAU_BIT_ISSET(0xF0F2, 1) is 2 + */ +#define TAU_BIT_ISSET(data, bit) ((data) & TAU_BIT(bit)) + +/** \brief 获取bit值 + * TAU_BIT_GET(0xF0F1, 1) is 0 + * TAU_BIT_GET(0xF0F2, 1) is 1 + */ +#define TAU_BIT_GET(data, bit) (TAU_BIT_ISSET(data, bit) ? 1 : 0) + +/** \brief 检测bit值 + * TAU_BIT_CHECK(0xF5FF, 4) is 1 + */ +#define TAU_BIT_CHECK(data, bit) \ + (((data) & TAU_BIT(bit)) ? 1 : 0) + +/** \brief 获取 n bits 掩码值 + * TAU_BITS_MASK(2) is 0x3 + */ +#define TAU_BITS_MASK(n) (~((~0u) << (n))) + +/** \brief 获取位段值 + * TAU_BITS_GET(0xF5FF, 0x0F00, 8) is 0x5 + */ +#define TAU_BITS_GET(data, mask, pos) \ + (((data) & (mask)) >> (pos)) + +/** \brief 获取位段值 + * TAU_BITS_CHECK(0xF5FF, 0x0F00) is 1 + */ +#define TAU_BITS_CHECK(data, mask) \ + (((data) & (mask)) ? 1 : 0) + +/** \brief 修改位段值 + * TAU_BITS_MODIFY(0xF5FF, 0x0FF0, 0x8A0) is 0xF8AF +*/ +#define TAU_BITS_MODIFY(data, clear_mask, set_mask) \ + (data) = (((data) & (~(clear_mask))) | (set_mask)) + +/** \brief 设置位段值 + * TAU_WRITE_REG32(0x05FF, 0xFFFA) is 0xFFFA +*/ +#define TAU_WRITE_REG32(data, value) ((data) = (value)) + +/** \brief 设置位段值 + * TAU_READ_REG32(0x05FF) is 0x05FF +*/ +#define TAU_READ_REG32(data) (data) + + +/** @} */ + +/******************************************************************************/ + +/** + * \brief 取2-byte整数的高位byte + * + * \par 示例 + * \code + * uint16_t a = 0x1234; + * uint16_t b; + * + * b = TAU_MSB(a); //b=0x12 + * \endcode + */ +#define TAU_MSB(x) (((x) >> 8) & 0xff) + +/** + * \brief 取2-byte整数的低位byte + * + * \par 示例 + * \code + * uint16_t a = 0x1234; + * uint16_t b; + * + * b = TAU_LSB(a); //b=0x34 + * \endcode + */ +#define TAU_LSB(x) ((x) & 0xff) + +/** + * \brief 取2-word整数的高位word + * + * \par 示例 + * \code + * uint32_t a = 0x12345678; + * uint32_t b; + * + * b = TAU_MSW(a); //b=0x1234 + * \endcode + */ +#define TAU_MSW(x) (((x) >> 16) & 0xffff) + +/** + * \brief 取2-word整数的低位word + * + * \par 示例 + * \code + * uint32_t a = 0x12345678; + * uint32_t b; + * + * b = TAU_LSW(a); //b=0x5678 + * \endcode + */ +#define TAU_LSW(x) ((x) & 0xffff) + +/** + * \brief 交换32-bit整数的高位word和低位word + * + * \par 示例 + * \code + * uint32_t a = 0x12345678; + * uint32_t b; + * + * b = TAU_WORDSWAP(a); //b=0x56781234 + * \endcode + */ +#define TAU_WORDSWAP(x) (TAU_MSW(x) | (TAU_LSW(x) << 16)) + +/** + * \brief 交换32-bit整数的字节顺序 + * + * \par 示例 + * \code + * uint32_t a = 0x12345678; + * uint32_t b; + * + * b = TAU_LONGSWAP(a); //b=0x78563412 + * \endcode + */ +#define TAU_LONGSWAP(x) ((TAU_LLSB(x) << 24) | \ + (TAU_LNLSB(x) << 16) | \ + (TAU_LNMSB(x) << 8) | \ + (TAU_LMSB(x))) + +#define TAU_LLSB(x) ((x) & 0xff) /**< \brief 取32bit整数第1个字节 */ +#define TAU_LNLSB(x) (((x) >> 8) & 0xff) /**< \brief 取32bit整数第2个字节 */ +#define TAU_LNMSB(x) (((x) >> 16) & 0xff) /**< \brief 取32bit整数第3个字节 */ +#define TAU_LMSB(x) (((x) >> 24) & 0xff) /**< \brief 取32bit整数第4个字节 */ +#define TAU_LNSB(x,n) (((x) >> ((n) * 8) ) & 0xff) /**< \brief 取32bit整数第n个字节 ,参数 0 - 3*/ + +/** + * @} + */ + +#endif /* __TAU_BYTEOPS_H */ + +/* end of file */ + diff --git a/src/sdk/CVWL308/lib/CVWL308.lib b/src/sdk/CVWL308/lib/CVWL308.lib new file mode 100644 index 0000000..e63982e Binary files /dev/null and b/src/sdk/CVWL308/lib/CVWL308.lib differ diff --git a/src/sdk/CVWL368/lib/CVWL368.lib b/src/sdk/CVWL368/lib/CVWL368.lib new file mode 100644 index 0000000..a7749b1 Binary files /dev/null and b/src/sdk/CVWL368/lib/CVWL368.lib differ diff --git a/src/sdk/CVWL518/lib/CVWL518.lib b/src/sdk/CVWL518/lib/CVWL518.lib new file mode 100644 index 0000000..38983a0 Binary files /dev/null and b/src/sdk/CVWL518/lib/CVWL518.lib differ diff --git a/src/sdk/CVWL518T/lib/CVWL518T.lib b/src/sdk/CVWL518T/lib/CVWL518T.lib new file mode 100644 index 0000000..3d4f6a8 Binary files /dev/null and b/src/sdk/CVWL518T/lib/CVWL518T.lib differ diff --git a/src/sdk/CVWL568/lib/CVWL568.lib b/src/sdk/CVWL568/lib/CVWL568.lib new file mode 100644 index 0000000..f77e072 Binary files /dev/null and b/src/sdk/CVWL568/lib/CVWL568.lib differ diff --git a/src/sdk/CVWL568T/lib/CVWL568T.lib b/src/sdk/CVWL568T/lib/CVWL568T.lib new file mode 100644 index 0000000..445b237 Binary files /dev/null and b/src/sdk/CVWL568T/lib/CVWL568T.lib differ diff --git a/src/sdk/include/M0/ArmCM0.h b/src/sdk/include/M0/ArmCM0.h new file mode 100644 index 0000000..b1614d7 --- /dev/null +++ b/src/sdk/include/M0/ArmCM0.h @@ -0,0 +1,211 @@ +/**************************************************************************//** + * @file ARMCM0.h + * @brief CMSIS Core Peripheral Access Layer Header File for + * ARMCM0 Device + * @version V5.3.1 + * @date 09. July 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ARMCM0_H +#define ARMCM0_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/* ------------------------- Interrupt Number Definition ------------------------ */ + +typedef enum IRQn +{ + /* ------------------- Processor Exceptions Numbers ----------------------------- */ + NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ + HardFault_IRQn = -13, /* 3 HardFault Interrupt */ + SVCall_IRQn = -5, /* 11 SV Call Interrupt */ + PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ + SysTick_IRQn = -1, /* 15 System Tick Interrupt */ + + /* ------------------- Processor Interrupt Numbers ------------------------------ */ + VIDC_IRQn = 0, + LCDC_IRQn = 1, + MIPI_RX_IRQn = 2, + MIPI_TX_IRQn = 3, + MEMC_IRQn = 4, + VPRE_IRQn = 5, + FLSCTRL_IRQn = 6, + DMA_IRQn = 7, + TIMER0_IRQn = 8, + TIMER1_IRQn = 9, + TIMER2_IRQn = 10, + TIMER3_IRQn = 11, + WDG_IRQn = 12, + UART_IRQn = 13, + I2C0_IRQn = 14, + I2C1_IRQn = 15, + SPIS_IRQn = 16, + SPIM_IRQn = 17, + ADC_IRQn = 18, + PWMDET_IRQn = 19, + OTP_IRQn = 20, + SWIRE_IRQn = 21, + PVD_IRQn = 22, + AP_NRESET_IRQn = 23, + EXTI_INT0_IRQn = 24, + EXTI_INT1_IRQn = 25, + EXTI_INT2_IRQn = 26, + EXTI_INT3_IRQn = 27, + EXTI_INT4_IRQn = 28, + EXTI_INT5_IRQn = 29, + EXTI_INT6_IRQn = 30, + EXTI_INT7_IRQn = 31 + /* Interrupts 10 .. 31 are left out */ +} IRQn_Type; + + + + +/* ================================================================================ */ +/* ================ Processor and Core Peripheral Section ================ */ +/* ================================================================================ */ + +/* ------- Start of section using anonymous unions and disabling warnings ------- */ +#if defined (__CC_ARM) +#pragma push +#pragma anon_unions +#elif defined (__ICCARM__) +#pragma language=extended +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wc11-extensions" +#pragma clang diagnostic ignored "-Wreserved-id-macro" +#elif defined (__GNUC__) +/* anonymous unions are enabled by default */ +#elif defined (__TMS470__) +/* anonymous unions are enabled by default */ +#elif defined (__TASKING__) +#pragma warning 586 +#elif defined (__CSMC__) +/* anonymous unions are enabled by default */ +#else +#warning Not supported compiler type +#endif + +/* -------- Configuration of Core Peripherals ----------------------------------- */ +#define __CM0_REV 0x0000U /* Core revision r0p0 */ +#define __MPU_PRESENT 0U /* no MPU present */ +#define __VTOR_PRESENT 0U /* no VTOR present */ +#define __NVIC_PRIO_BITS 2U /* Number of Bits used for Priority Levels */ //20220228 +#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ + +#define __FPU_PRESENT 0U /* Set to 1 if FPU is present */ +#define __FPU_DP 0U /* single precision FPU */ +#define __ICACHE_PRESENT 0U /* Set to 1 if I-CACHE is present */ +#define __DCACHE_PRESENT 0U /* Set to 1 if D-CACHE is present */ +#define __DSP_PRESENT 0U /* no DSP extension present */ + +#define FPGA_MODE 0 +#define EDA_MODE 0 +#define EXTERN_24M 0 +#define CPU_CLK_100M 0 + +#include "core_cm0.h" /* Processor and core peripherals */ +#include "system_ARMCM0.h" /* System Header */ + +/*---------------------------------------------------------------------------- + Define clocks + *----------------------------------------------------------------------------*/ +#define XTAL (500000000UL) /* Oscillator frequency */ + +#if FPGA_MODE +#define SYSTEM_CLOCK (33300000U) +#else +/* 使用外部晶振时,系统时钟只能是100M,不使用外部晶振时,系统时钟可以是100M/80M*/ +#if EXTERN_24M +#define SYSTEM_CLOCK (100000000U) +#else +#if CPU_CLK_100M +#define SYSTEM_CLOCK (100000000U) +#else +#define SYSTEM_CLOCK (80000000U) +#endif +#endif +#endif + +/* -------- End of section using anonymous unions and disabling warnings -------- */ +#if defined (__CC_ARM) +#pragma pop +#elif defined (__ICCARM__) +/* leave anonymous unions enabled */ +#elif (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) +#pragma clang diagnostic pop +#elif defined (__GNUC__) +/* anonymous unions are enabled by default */ +#elif defined (__TMS470__) +/* anonymous unions are enabled by default */ +#elif defined (__TASKING__) +#pragma warning restore +#elif defined (__CSMC__) +/* anonymous unions are enabled by default */ +#else +#warning Not supported compiler type +#endif + +/* In HS mode and when the DMA is used, all variables and data structures dealing + with the DMA during the transaction process should be 4-bytes aligned */ +#define DMA_WORD_ALIGN_EN +#ifdef DMA_WORD_ALIGN_EN +#if defined (__GNUC__) /* GNU Compiler */ +#define __ALIGN_END __attribute__ ((aligned (4))) +#define __ALIGN_BEGIN +#else +#define __ALIGN_END +#if defined (__CC_ARM) /* ARM Compiler */ +#define __ALIGN_BEGIN __align(4) +#elif defined (__ICCARM__) /* IAR Compiler */ +#define __ALIGN_BEGIN +#elif defined (__TASKING__) /* TASKING Compiler */ +#define __ALIGN_BEGIN __align(4) +#endif /* __CC_ARM */ +#endif /* __GNUC__ */ +#else + +#define __ALIGN_BEGIN +#define __ALIGN_END + +#define __ALIGN_END_1 __attribute__ ((aligned (1))) +#endif /* DMA_WORD_ALIGN_EN */ + +/* __packed keyword used to decrease the data type alignment to 1-byte */ +#if defined (__CC_ARM) /* ARM Compiler */ +#define __packed __packed +#elif defined (__ICCARM__) /* IAR Compiler */ +#define __packed __packed +#elif defined ( __GNUC__ ) /* GNU Compiler */ +#define __packed __attribute__ ((__packed__)) +#define __weak __attribute__((weak)) +#elif defined (__TASKING__) /* TASKING Compiler */ +#define __packed __unaligned +#endif /* __CC_ARM */ + +#ifdef __cplusplus +} +#endif + +#endif /* ARMCM0_H */ diff --git a/src/sdk/include/hal_dsi_rx_ctrl.h b/src/sdk/include/hal_dsi_rx_ctrl.h new file mode 100644 index 0000000..185b0c9 --- /dev/null +++ b/src/sdk/include/hal_dsi_rx_ctrl.h @@ -0,0 +1,557 @@ +/******************************************************************************* +* +* +* File: hal_dsi_rx_ctrl.h +* Description: hal mipi dsi rx path control 头文件 +* Version: V0.1 +* Date: 2021-04-06 +* Author: lzy + *******************************************************************************/ +#ifndef __HAL_DSI_RX_CTRL_H__ +#define __HAL_DSI_RX_CTRL_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_dsi_datatype.h" +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ +#define RX_DCS_QUEUE_MAX_SIZE 20 /* DCS存储队列长度 */ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +typedef struct hal_dcs_execute_entry_t hal_dcs_execute_entry_t; + +typedef struct hal_dcs_packet_t hal_dcs_packet_t; + +typedef struct hal_dsi_rx_ctrl_handle_t hal_dsi_rx_ctrl_handle_t; + +/* DCS CMD 回调函数, 注册进cus_dcs_entry_table里, 匹配对应的DCS 后回调*/ +typedef bool (*hal_dsi_rx_ctrl_dcs_execute)(hal_dsi_rx_ctrl_handle_t *rx_handle, hal_dcs_packet_t *dcs_packet); + +/* AP 读cmd 回调, 需要快速回CMD 时可注册, 为NULL 时DSC 读指令与写指令经过parse后由cus_dcs_entry_table回调 */ +typedef bool (*hal_dsi_rx_ctrl_read_entry)(uint8_t data_type, uint8_t dcs_cmd, uint8_t param); + +/* AP PPS 更新回调,参数为PPS 以及从PPS 里解析出来的picture width/height, 用于分辨率切换, 不注册该接口时内部处理PPS */ +typedef bool (*hal_dsi_rx_ctrl_pps_entry)(uint8_t *pps, uint8_t size, uint32_t pic_width, uint32_t pic_height); + +/** +* @brief hal_rx_dbg_event_e select +*/ +typedef enum hal_rx_dbg_event_e +{ + HAL_RX_DBG_FS = 0, /* Frame start */ + HAL_RX_DBG_EVENT_MAX +} hal_rx_dbg_event_e; + +/* RX debug 回调函数,用于获取frame start 等功能debug */ +typedef void (*hal_dsi_rx_ctrl_dbg_entry)(hal_rx_dbg_event_e event); + +/** +* @brief dsi rx ctrl handle struct +*/ +typedef struct hal_dsi_rx_ctrl_handle_t +{ + dsi_base_trans_info_t base_info; /* mipi video 转换基本信息 */ + dsi_color_code_e rx_color_mode; /* 输入color mode */ + dsi_lane_nume_e rx_lanes; /* mipi data lane */ + dsi_video_mode_type_e rx_nonburst_models; /* transmission packet sequences */ + dsi_virtual_channel_e rx_vc; /* virtual channel number */ + bool compress_en; /* DSC 压缩标志 */ + uint32_t rx_hsclk_rate; /* mipi 高速信号lane rate */ + uint8_t rx_dsc_pps[DSC_PPS_SIZE]; /* DSC 压缩PPS参数 */ + const hal_dcs_execute_entry_t *cus_dcs_entry_table; /* DCS处理函数列表 */ + hal_dsi_rx_ctrl_read_entry rx_dcs_read_entry; /* Host读指令数据函数,为NULL时由rx_dcs_queue注册cmd处理 */ + hal_dsi_rx_ctrl_pps_entry pps_update_entry; /* PPS Update 时回调函数,用于分辨率切换更新PPS,为NULL时内部处理 */ + bool used; /* handle使用标志位 */ + uint8_t pq_marginal; /* picture quality,参数为hal_rx_pq_marginal_type_e */ + bool direct_mode; /* video mode 直通模式,预留,仅debug使用 */ + hal_dsi_rx_ctrl_dbg_entry rx_debug_cb; /* rx debug 回调函数,目前为收到frame start之后回调,预留其他debug功能 */ + hal_err_handle_level_e err_handler_level; /* RX接收错误的时候对模块做reset等级, 等级越高reset模块越多 */ + bool draw_mode; /* 画点模式,仅debug使用 */ +#if defined(ISP_568) || defined(ISP_368) + uint8_t rx_strength; /* 用于调节RX信号强度,仅适用于开启内阻校准模式,档位0~7,默认3 */ + hight_performan_mode_e hight_performan_mode; /* 高性能模式等级,参考hight_performan_mode_e */ + bool pu_optimize; /* 用于优化PU显示效果,默认为false;true:优化PU显示显示效果,高功耗;false:普通PU模式,低功耗 */ +#endif +} hal_dsi_rx_ctrl_handle_t; + +/** +* @brief DCS command execute entry +*/ +typedef struct hal_dcs_execute_entry_t +{ + uint32_t dcs_command; /* DCS command */ + hal_dsi_rx_ctrl_dcs_execute execute_func; /* command 对应处理函数 */ + bool immediately_func; /* 执行机制:true-在中断里立即执行,false-加入DCS队列异步执行 */ +} hal_dcs_execute_entry_t; + +/** +* @brief 存储 DCS packet 结构体 +*/ +typedef struct hal_dcs_packet_t +{ + uint32_t data_type; /* data type */ + uint32_t dcs_command; /* dcs command */ + uint32_t param_length; /* dcs param length */ + uint8_t *packet_param; /* dcs param */ + const hal_dcs_execute_entry_t *dcs_execute_entry; /* dcs packet 处理函数入口*/ +} hal_dcs_packet_t; + +/** +* @brief dcs command filter select +*/ +typedef enum +{ + HAL_RX_DCS_FILTER_0 = 0, + HAL_RX_DCS_FILTER_1 = 1, + HAL_RX_DCS_FILTER_2 = 2, + HAL_RX_DCS_FILTER_3 = 3, + HAL_RX_DCS_FILTER_4 = 4, + HAL_RX_DCS_FILTER_5 = 5, + HAL_RX_DCS_FILTER_6 = 6, + HAL_RX_DCS_FILTER_7 = 7, + HAL_RX_DCS_FILTER_MAX +} hal_rx_dcs_filter_sel_e; + +/** +* @brief pentile source color format +*/ +typedef enum +{ + PENTILE_SRC_FORMAT_RGB = 0x0, + PENTILE_SRC_FORMAT_BGR = 0x1, + PENTILE_SRC_FORMAT_RGBG_BGRG = 0x8, + PENTILE_SRC_FORMAT_GBGR_GRGB = 0x9, + PENTILE_SRC_FORMAT_BGRG_RGBG = 0xA, + PENTILE_SRC_FORMAT_GRGB_GBGR = 0xB, + PENTILE_SRC_FORMAT_RGBG_RGBG = 0xC, + PENTILE_SRC_FORMAT_GBGR_GBGR = 0xD, + PENTILE_SRC_FORMAT_BGRG_BGRG = 0xE, + PENTILE_SRC_FORMAT_GRGB_GRGB = 0xF, + PENTILE_SRC_FORMAT_MAX +} pentile_src_format_e; + +/** +* @brief pential G0 G1 swap mode +*/ +typedef enum +{ + PENTILE_G0G1 = 0, + PENTILE_G1G0 = 1 +} pentile_g_swap_e; + +/** +* @brief pential R B swap mode +*/ +typedef enum +{ + PENTILE_RGBG_BGRG = 0, + PENTILE_GGRB_RBGG = 1, + PENTILE_GGBR_BRGG = 3 +} pentile_rb_swap_e; + +/** +* @brief TE 信号产生模式 +*/ +typedef enum +{ + TE_HW_MODE = 0, /* TE由硬件产生,频率与输出帧率一致 */ + TE_USER_MODE = 1, /* 底层不产生TE, 由hal_dsi_rx_ctrl_gen_a_tear_signal 接口产生 */ + TE_SOFT_60HZ_MODE = 2, /* 底层软件产生同步60Hz TE */ + TE_SOFT_90HZ_MODE = 4, /* 底层软件产生同步90Hz TE */ + TE_SOFT_120HZ_MODE = 5, /* 底层软件产生同步120Hz TE */ + TE_HW_MAX +} te_mode_e; + +/** +* @brief pq_marginal_type select +*/ +typedef enum +{ + PQ_TYPE_0 = 0x0, + PQ_TYPE_1 = 0x1, + PQ_TYPE_2 = 0x3, + PQ_TYPE_3 = 0x2, + PQ_TYPE_4 = 0xA, + PQ_TYPE_5 = 0xE, + PQ_TYPE_6 = 0xC, + PQ_TYPE_7 = 0x1A, + PQ_TYPE_8 = 0x18, + PQ_TYPE_MAX +} hal_rx_pq_marginal_type_e; + +/** +* @brief 设置RX CLK +*/ +typedef enum +{ + RX_CLK_100M = 0, + RX_CLK_150M = 1, + RX_CLK_200M = 2, + RX_CLK_300M = 3, + RX_CLK_MAX +} hal_rx_clk_e; + + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ + +/** +* @brief 创建dsi rx ctrl handle (释放时需调用hal_dsi_rx_ctrl_release_handle) +* @param none +* @retval dsi rx handle +*/ +hal_dsi_rx_ctrl_handle_t *hal_dsi_rx_ctrl_create_handle(void); + +/** +* @brief 释放dsi rx ctrl handle +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_release_handle(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 设置rx ctrl handle 里的 PPS 参数 +* @param rx_ctrl_handle: dsi rx handle +* @param pps: pps 参数 +* @param pps_size: pps 参数长度 +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_pre_init_pps(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint8_t pps[], uint32_t pps_size); + +/** +* @brief 初始化dsi rx 模块 +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_init(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief dsi rx 模块去初始化 +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_deinit(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 启动dsi rx +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_start(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 重新配置dsi rx参数并恢复状态 (debug使用, 重新配置rx_ctrl_handle参数后调用该接口重启) +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_restart(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 停止dsi rx +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_stop(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 手动设置RX clk,一般RX CLK 由底层自动计算,用于特殊video mode场景出现FIFO FULL情况调试使用 +* @param rxbr_clk: rx clk, 需要大于hs_lane_rate/8 +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_rx_clk(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, hal_rx_clk_e rxbr_clk); + +/** +* @brief 发送 MIPI HOST的读响应 CMD +* @param rx_ctrl_handle: dsi rx handle +* @param data_type: data type +* @param vc: virtual channel +* @param cmd_count: ack command 的长度 +* @param ... : 需要发送的command(数量与cmd_count 配置一致) +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_send_ack_cmd(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, dsi_ack_data_type_e data_type, dsi_virtual_channel_e vc, uint8_t cmd_count, ...); + +/** +* @brief 使用数组方式回复短包,与hal_dsi_rx_ctrl_send_ack_cmd功能一致 +* @param rx_ctrl_handle: dsi rx handle +* @param data_size: 数组长度,固定为4 +* @param data: 回复cmd数据,数据排列有严格规定: +* data[0]:DI(data type) +* data[1]:data 0 +* data[2]:data 1 +* data[3]:内部pkt type,短包固定为0 +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_ack_short_cmd(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint8_t data_size, uint8_t data[]); + +/** +* @brief 使用数组方式回复长包,与hal_dsi_rx_ctrl_send_ack_cmd功能一致 +* @param rx_ctrl_handle: dsi rx handle +* @param data_size: 数组长度,为Word Count + header长度 (header固定为4) +* @param data: 回复cmd数据,数据排列有严格规定: +* data[0]:DI(data type) +* data[1]:wc 0 (Word Count 低八位) +* data[2]:wc 1 (Word Count 高八位) +* data[3]:内部pkt type,长包固定为1 +* data[N]:长包数据 +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_ack_long_cmd(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint8_t data_size, uint8_t data[]); + +/** +* @brief 异步处理DSC接口,执行cus_dcs_entry_table里对应DCS immediately_func为false的函数 +* @param rx_ctrl_handle: dsi rx handle +* @retval true - 正常处理1个DSC , false - 无DSC 处理 +*/ +bool hal_dsi_rx_ctrl_dsc_async_handler(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 使用硬件filter丢弃不需要处理的CMD,避免MCU资源被无效CMD占用 +* @param rx_ctrl_handle: dsi rx handle +* @param filter_number: filter 编号(0-7) +* @param cmd_start: 需要丢弃command code起始位 +* @param cmd_end: 需要丢弃command code终止位 +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_hw_cmd_filter(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, + hal_rx_dcs_filter_sel_e filter_number, + uint32_t cmd_start, uint32_t cmd_end); + +/** +* @brief 配置输入输出同步行数,用于调整图像撕裂问题 +* @param rx_ctrl_handle: dsi rx handle +* @param line_num: 同步行号,范围1 ~ input height +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_cus_sync_line(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t line_num); + +/** +* @brief 使用内置pattern代替mipi输入(用于测试) +* @param rx_ctrl_handle: dsi rx handle +* @param pg_orient: pattern 方向(0:Vertical mode ; 1:Horizontal mode) +* @param enable: 开启/关闭pattern +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_enable_test_pattern(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint8_t pg_orient, bool enable); + +/** +* @brief 设置TE信号特征 +* @param rx_ctrl_handle: dsi rx handle +* @param inverse_poly: tear信号极性 +* @param te_width: tear信号宽度(0-1023) +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_te_waveform(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, bool inverse_poly, uint32_t te_width); + +/** +* @brief 客制化scld filter配置,用于图像质量调节 +* @param rx_ctrl_handle: dsi rx handle +* @param scld_filter_h: 水平方向filter +* @param scld_filter_v: 垂直方向filter +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_cus_scld_filter(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t scld_filter_h[32][2], uint32_t scld_filter_v[32][2]); + +/** +* @brief 获取AP 配置 BTA回复数据最大size +* @param rx_ctrl_handle: dsi rx handle +* @retval 返回数据大小 +*/ +uint32_t hal_dsi_rx_ctrl_get_max_ret_size(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 获取AP Compression Mode Command配置,默认为0,谨慎使用 +* @param rx_ctrl_handle: dsi rx handle +* @retval AP 配置compressen_en +*/ +bool hal_dsi_rx_ctrl_get_compressen_en(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 生成一个TE信号 +* @param rx_ctrl_handle: dsi rx handle +* @retval none +*/ +bool hal_dsi_rx_ctrl_gen_a_tear_signal(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 输入分辨率切换接口 +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_toggle_resolution(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 启动高性能模式,通常为debug使用 +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_hight_performan_mode(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 配置TE信号为软件模式 +* @param rx_ctrl_handle: dsi rx handle +* @retval none +*/ +bool hal_dsi_rx_ctrl_set_sw_tear_mode(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 配置TE信号为硬件模式 +* @param rx_ctrl_handle: dsi rx handle +* @retval none +*/ +bool hal_dsi_rx_ctrl_set_hw_tear_mode(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +/** +* @brief 配置 pentile格式 +* @param rx_ctrl_handle: dsi rx handle +* @param src_format: pentile format +* @param g_swap: swap G0 G1 +* @param rb_swap: swap R B +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_pentile_format(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, pentile_src_format_e src_format, pentile_g_swap_e g_swap, pentile_rb_swap_e rb_swap); + +/** +* @brief 配置 RX escape clk +* @param rx_ctrl_handle: dsi rx handle +* @param esc_clk: escape clk 单位Hz,10000000时回CMD为10Mhz +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_cus_esc_clk(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t esc_clk); + +/** +* @brief 自动计算并配置硬件filter +* @param rx_ctrl_handle: dsi rx handle +* @param enable: 启动/关闭 硬件filter +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_auto_hw_filter(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, bool enable); + +/* +* @brief 配置DCS cmd 透传模式, Tx init 之后生效 +* @param enable/disable +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_set_dcs_direct_mode(bool enable); + +/* +* @brief 输入帧率修改(针对video mode) +* @param rx_ctrl_handle: dsi rx handle +* @param frame_rate:frame rate +*/ +bool hal_dsi_rx_ctrl_toggle_input_frame_rate(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, dsi_video_frame_rate_e frame_rate); + +/** +* @brief 配置TE模式扩展接口 +* @param line_num: 同步行号,范围1 ~ input height +建议从最大开始配置,step为100逐步减小,直到完全不出现撕裂 +* @param te_mode: 产生 te 模式,建议使用HW mode +* @retval none +*/ +bool hal_dsi_rx_ctrl_set_tear_mode_ex(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t line_num, te_mode_e te_mode); + +/** +* @brief 输入分辨率切换扩展接口 +* @param rx_ctrl_handle: dsi rx handle +* @retval true/false +*/ +bool hal_dsi_rx_ctrl_toggle_resolution_ex(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle); + +#if !defined(ISP_568) && !defined(ISP_368) + /* ISP_518/ISP_308 接口 */ + /** + * @brief 客制化 Channel Gain 配置,用于图像质量调节 + * @param rx_ctrl_handle: dsi rx handle + * @param gain_r: channel gain coefficient for R + * @param gain_g: channel gain coefficient for G + * @param gain_b: channel gain coefficient for B + * @retval true/false + */ + bool hal_dsi_rx_ctrl_set_cus_pq_gain(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, int r_gain, int g_gain, int b_gain); + + /** + * @brief 客制化enhance for luma参数配置,用于图像质量调节 + * @param rx_ctrl_handle: dsi rx handle + * @param enhl_str: Enhance Str + * @param enhl_edgeslope: Enhance Edge Slope + * @retval none + */ + bool hal_dsi_rx_ctrl_set_cus_pq_enh_lum(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t enhl_str, uint32_t enhl_edgeslope); + + /** + * @brief 客制化false color remove for chroma参数配置,用于图像质量调节 + * @param rx_ctrl_handle: dsi rx handle + * @param desatstr: 饱和度调整参数 范围:0-4095 + * @param desatslope: 饱和度调整斜率 范围:0-4095 + * @retval none + */ + bool hal_dsi_rx_ctrl_set_cus_pq_enh_chr(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t desatstr, uint32_t desatslope); + + /** + * @brief 客制化false color remove for chroma参数配置2,用于图像质量调节 + * @param rx_ctrl_handle: dsi rx handle + * @param desatmode: 饱和度调整模式 0-降低饱和度 1-提升饱和度 + * @param fc_final_alpha: 饱和度调整参数 范围:0 - 255 + * @param edge_med_slope: 饱和度调整参数 范围:0 - 4095 + * @retval none + */ + bool hal_dsi_rx_ctrl_set_cus_pq_enh_chr2(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t desatmode, uint32_t fc_final_alpha, uint32_t edge_med_slope); + +#else + /* ISP_568/ISP_368 接口 */ + /** + * @brief 裁剪输入video多余部分,用于部分机型比如mipi输入是900x1792,实际有效部分为828x1792,可用于裁剪右边跟下边 + * @param rx_ctrl_handle: dsi rx handle + * @param crop_width: 需要裁剪的列数 + * @param crop_height: 需要裁剪的行数 + * @retval true/false + */ + bool hal_dsi_rx_ctrl_crop_video(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint32_t crop_width, uint32_t crop_height); + + /* + * @brief 初始化画点模式,全屏赋值 + * @param rx_ctrl_handle: dsi rx handle + * @param red_data: 像素点R分量 + * @param green_data: 像素点G分量 + * @param blue_data: 像素点B分量 + * @retval none + */ + void hal_dsi_rx_ctrl_draw_mode_init(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint8_t red_data, uint8_t green_data, uint8_t blue_data); + + /* + * @brief 配置像素颜色 + * @param rx_ctrl_handle: dsi rx handle + * @param x: 像素点的x 坐标 + * @param y: 像素点的y 坐标 + * @param red_data: 像素点R分量 + * @param green_data: 像素点G分量 + * @param blue_data: 像素点B分量 + * @retval none + */ + void hal_dsi_rx_ctrl_set_pixel_data(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, int x, int y, uint8_t red_data, uint8_t green_data, uint8_t blue_data); + + /* + * @brief 填充颜色矩形 + * @param rx_ctrl_handle: dsi rx handle + * @param x1,y1: 矩形起始点 + * @param x2,y2: 矩形终点 + * @param red_data: 像素点R分量 + * @param green_data: 像素点G分量 + * @param blue_data: 像素点B分量 + * @retval none + */ + void hal_dsi_rx_ctrl_set_rect_pixel_data(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, int x1, int x2, int y1, int y2, uint8_t red_data, uint8_t green_data, uint8_t blue_data); +#endif + +#endif //__HAL_DSI_RX_CTRL_H__ diff --git a/src/sdk/include/hal_dsi_tx_ctrl.h b/src/sdk/include/hal_dsi_tx_ctrl.h new file mode 100644 index 0000000..652b498 --- /dev/null +++ b/src/sdk/include/hal_dsi_tx_ctrl.h @@ -0,0 +1,284 @@ +/******************************************************************************* +* +* +* File: hal_dsi_tx_ctrl.h +* Description: hal mipi dsi tx 头文件 +* Version: V0.1 +* Date: 2021-04-23 +* Author: wuc + *******************************************************************************/ +#ifndef __HAL_DSI_TX_CTRL_H__ +#define __HAL_DSI_TX_CTRL_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_dsi_datatype.h" +#include "tau_device_datatype.h" +#include "tau_common.h" +#include "hal_gpio.h" +#include "stdint.h" +#include "stdbool.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ + +/** +* @brief 客制化MIPI TX参数结构体 +*/ +typedef struct +{ + bool used; /* handle使用标志位 */ + uint8_t lane_num; + dsi_virtual_channel_e channel_id; + dsi_video_mode_type_e vid_mode; + dsi_tx_cmd_tx_type_e cmd_tx_type; /* 初始化模式传输命令方式,0:HS; 1:LP */ + uint8_t pclk_offset; /* 增加lane byte clk以增大HFP,适配LONG H的TP */ + uint32_t dpi_vsa; + uint32_t dpi_vbp; + uint32_t dpi_vfp; + uint32_t dpi_hsa; + uint32_t dpi_hbp; + uint32_t dpi_hfp; + dsi_base_trans_info_t base_info; /* mipi video 转换基本信息 */ + uint32_t tx_line_delay; /* tx 发送至屏端显示的延迟行数,由屏端决定,用于分辨率切换时确认切换时间点 */ + float tx_frame_rate; /* 默认60Hz输出,不建议配置为其他,仅作为debug使用 */ + bool tx_clkawayshs; /* 默认为false, 配置为true时video mode消隐行期间clk不进入LP */ + uint8_t blank_rows; /* 默认为0, 针对特殊屏使用,大于0时生效表示向下补黑blank_rows行 */ + uint8_t blank_columns; /* 默认为0, 针对特殊屏使用,大于0时生效表示向右补黑blank_columns列 */ + bool lp_exit_lpdt; /* 每一条LP CMD都退出LPDT */ + bool tx_cmd_mode_sync; /* TX command mode 输出同步 */ +} hal_dsi_tx_ctrl_handle_t; + +/** +* @brief crop parameters +*/ +typedef struct +{ + uint16_t crop_top; + uint16_t crop_bottom; + uint16_t crop_left; + uint16_t crop_right; +} hal_dsi_tx_crop_t; + +/** +* @brief MIPI TX初始化 +* @param tx_ctrl_handle: MIPI TX实例 +* @retval 成功:0 失败:-1 +*/ +bool hal_dsi_tx_ctrl_init(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle); + +/** +* @brief MIPI TX反初始化 +* @param tx_ctrl_handle: MIPI TX实例 +* @retval 成功:0 失败:-1 +*/ +bool hal_dsi_tx_ctrl_deinit(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle); + +/** +* @brief MIPI TX创建实例 +* @param 无 +* @retval tx_ctrl_handle: MIPI TX实例 +*/ +hal_dsi_tx_ctrl_handle_t *hal_dsi_tx_ctrl_create_handle(void); + +/** +* @brief MIPI TX释放实例 +* @param tx_ctrl_handle: MIPI TX实例 +* @retval 成功:0 失败:-1 +*/ +bool hal_dsi_tx_ctrl_release_handle(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle); + +/** +* @brief MIPI TX开始运行 +* @param tx_ctrl_handle: MIPI TX实例 +* @retval 成功:0 失败:-1 +*/ +bool hal_dsi_tx_ctrl_start(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle); + +/** +* @brief MIPI TX停止运行 +* @param tx_ctrl_handle: MIPI TX实例 +* @retval 成功:0 失败:-1 +*/ +bool hal_dsi_tx_ctrl_stop(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle); + +/** +* @brief 进入初始化panel +* @param 无 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_enter_init_panel_mode(void); + +/** +* @brief 退出初始化panel +* @param 无 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_exit_init_panel_mode(void); + +/** +* @brief MIPI TX接收命令 +* @param data_type: 数据类型,参考枚举类型dsi_data_type_e +* @param vc: 虚拟通道编号,参考枚举类型dsi_virtual_channel_e +* @param cmd: DCS指令 +* @param size: 读取数据长度 +* @param data: 数据存放地址 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_read_cmd(uint8_t data_type, uint8_t vc, uint8_t cmd, uint8_t size, uint8_t *data); + +/** +* @brief MIPI TX发送命令 +* @param data_type: 数据类型,参考枚举类型dsi_data_type_e +* @param vc: 虚拟通道编号,参考枚举类型dsi_virtual_channel_e +* @param cmd_count: 可变参数个数 +* @param ...: 可变参数 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_write_cmd(uint8_t data_type, uint8_t vc, uint8_t cmd_count, ...); + +/** +* @brief MIPI TX发送命令 +* @param data_type: 数据类型,参考枚举类型dsi_data_type_e +* @param vc: 虚拟通道编号,参考枚举类型dsi_virtual_channel_e +* @param size: data个数 +* @param data: data数组 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_write_array_cmd(uint8_t data_type, uint8_t vc, uint8_t size, const uint8_t *data); + +/** +* @brief 设置TX溢出时钟分频系统 +* @param esc_div: TX溢出时钟分频系数 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_escape_clock_div(uint8_t esc_div); + +/** +* @brief 屏端复位脚操作 +* @param state: Reset脚拉高、拉低 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_panel_reset_pin(gpio_level_e state); + +/** +* @brief 设置部分显示的区域 +* @param st_line: 起始行 +* @param st_col: 起始列 +* @param end_line: 结束行 +* @param end_col: 结束列 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_partial_disp_area(uint32_t st_line, uint32_t st_col, uint32_t end_line, uint32_t end_col); + +/** +* @brief 部分显示功能开关 +* @param pd_en: 开关部分显示功能 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_partial_disp(function_state_e pd_en); + +/** +* @brief 设置复写颜色 +* @param R: RGB的R分量 +* @param G: RGB的G分量 +* @param B: RGB的B分量 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_overwrite_rgb(uint8_t R, uint8_t G, uint8_t B); + +/** +* @brief 全屏复写开关 +* @param ow_en: 开关全屏复写功能 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_overwrite(function_state_e ow_en); + +/** +* @brief 设置RGB或BGR +* @param endianness: 选择RGB或BGR显示 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_endianness(dpi_endianness_type_e endianness); + +/** +* @brief 设置CCM参数 +* @param coef: 客制化参数,参考结构体ccm_coef_t +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_ccm(ccm_coef_t coef); + +/** +* @brief 控制TX VPG的输出 +* @param vpg_en: 使能VPG +* @param style: VPG的样式 +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_vpg(function_state_e vpg_en, dsi_tx_vpg_style_e style); + +/** +* @brief 在video mode下使能LP CMD +* @param lp_en:使能LP CMD +* @retval 无 +*/ +void hal_dsi_tx_ctrl_set_lp_cmd(function_state_e lp_en); + +/** +* @brief 裁剪tx输出的图像 +* @param tx_ctrl_handle: dsi tx handle +* @param crop: 裁剪参数 +* @retval 无 +*/ +void hal_dsi_tx_crop_pic(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle, hal_dsi_tx_crop_t *crop); + +#if !defined(ISP_568) && !defined(ISP_368) + /* ISP_518/ISP_308 接口 */ + /** + * @brief 设置水平翻转 + * @param flip_en: 开关水平翻转功能 + * @retval 无 + */ + void hal_dsi_tx_ctrl_set_horizon_flip(function_state_e flip_en); + + /** + * @brief 设置tx 画质filter + * @param tx_ctrl_handle: dsi tx handle + * @param filter_h: 水平方向filter + * @param filter_v: 垂直方向filter + * @retval true/false + */ + bool hal_dsi_tx_ctrl_set_cus_pq_filter(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle, uint32_t filter_h[32][2], uint32_t filter_v[32][2]); + + /** + * @brief 设置tx边缘参数,只在 + * @param tx_ctrl_handle: dsi tx handle + * @param threshold: 边缘增强强度 + * @param slope: 边缘增强范围 + * @retval true/false + */ + bool hal_dsi_tx_ctrl_set_cus_pq_edge(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle, uint8_t threshold, uint16_t slope); +#else + /* ISP_568/ISP_368 接口 */ + /** + * @brief 设置tx 画质filter + * @param tx_ctrl_handle: dsi tx handle + * @param filter: tx filter + * @retval true/false + */ + bool hal_dsi_tx_ctrl_set_cus_pq_filter(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle, uint32_t filter[32]); + + /** + * @brief TX command mode 同步接口,在收到屏端TE信号后调用,防止撕裂 + * @param tx_ctrl_handle: dsi tx handle + * @retval true/false + */ + bool hal_dsi_tx_ctrl_cmd_mode_rcv_te(hal_dsi_tx_ctrl_handle_t *tx_ctrl_handle); +#endif + +#endif //__HAL_DSI_TX_CTRL_H__ diff --git a/src/sdk/include/hal_gpio.h b/src/sdk/include/hal_gpio.h new file mode 100644 index 0000000..6d69a97 --- /dev/null +++ b/src/sdk/include/hal_gpio.h @@ -0,0 +1,537 @@ +/******************************************************************************* +* +* +* File: hal_gpio.h +* Description: gpio HAL层头文件 +* Version: V0.1 +* Date: 2021-03-17 +* Author: wuc + *******************************************************************************/ +#ifndef __HAL_GPIO_H__ +#define __HAL_GPIO_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_device_datatype.h" +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ +/** +* @brief GPIO pin +*/ +typedef enum +{ + /*以GPIO命名PIN*/ + IO_PAD_GPIO0 = 0, + IO_PAD_GPIO1, + IO_PAD_GPIO2, + IO_PAD_GPIO3, + IO_PAD_GPIO4, + IO_PAD_GPIO5, + IO_PAD_GPIO6, + IO_PAD_RESV, + IO_PAD_GPIO8, + IO_PAD_GPIO9, + IO_PAD_GPIO10, + IO_PAD_GPIO11, + IO_PAD_GPIO12, + IO_PAD_GPIO13, + IO_PAD_GPIO14, + IO_PAD_RESV1, + IO_PAD_RESV2, + IO_PAD_GPIO17, + IO_PAD_GPIO18, + IO_PAD_GPIO19, + IO_PAD_GPIO20, + IO_PAD_GPIO21, + + /*以实际PAD NAME命名PIN*/ + IO_PAD_AP_SPIS_MISO = IO_PAD_GPIO0, + IO_PAD_AP_SPIS_MOSI = IO_PAD_GPIO1, + IO_PAD_AP_INT = IO_PAD_GPIO2, + IO_PAD_AP_TE = IO_PAD_GPIO3, + IO_PAD_AP_SWIRE = IO_PAD_GPIO4, + IO_PAD_TD_SPIM_MISO = IO_PAD_GPIO5, + IO_PAD_TD_SPIM_MOSI = IO_PAD_GPIO6, + IO_PAD_TD_RSTN = IO_PAD_RESV, + IO_PAD_TD_TPRSTN = IO_PAD_GPIO8, + IO_PAD_TD_INT = IO_PAD_GPIO9, + IO_PAD_TD_LEDPWM = IO_PAD_GPIO10, + IO_PAD_TD_FC_CLK = IO_PAD_GPIO11, + IO_PAD_TD_FC_CSN = IO_PAD_GPIO12, + IO_PAD_TD_FC_MISO = IO_PAD_GPIO13, + IO_PAD_TD_FC_MOSI = IO_PAD_GPIO14, + IO_PAD_UART_RX = IO_PAD_GPIO17, + IO_PAD_UART_TX = IO_PAD_GPIO18, + IO_PAD_PWMEN = IO_PAD_GPIO19, + IO_PAD_ADCIN = IO_PAD_GPIO20, + IO_PAD_AP_TPRSTN = IO_PAD_GPIO21, + + IO_PAD_AP_SPIS_CLK, + IO_PAD_AP_SPIS_CSN, + IO_PAD_TD_SPIM_CLK, + IO_PAD_TD_SPIM_CSN, + IO_PAD_SFC_CLK, + IO_PAD_SFC_CSN, + IO_PAD_SFC_IO0, + IO_PAD_SFC_IO1, + + IO_PAD_MAX, + + /*以实际BALL编号命名PIN*/ + IO_PIN_A1 = IO_PAD_TD_TPRSTN, + IO_PIN_A2 = IO_PAD_TD_FC_CSN, + IO_PIN_A3 = IO_PAD_TD_SPIM_MISO, + IO_PIN_A4 = IO_PAD_TD_SPIM_CLK, + IO_PIN_A5 = IO_PAD_PWMEN, + IO_PIN_A6 = IO_PAD_ADCIN, + IO_PIN_A7 = IO_PAD_AP_INT, + IO_PIN_A8 = IO_PAD_AP_SPIS_MOSI, + IO_PIN_B1 = IO_PAD_TD_FC_CLK, + IO_PIN_B2 = IO_PAD_TD_FC_MISO, + IO_PIN_B3 = IO_PAD_TD_SPIM_MOSI, + IO_PIN_B4 = IO_PAD_TD_SPIM_CSN, + IO_PIN_B5 = IO_PAD_AP_SWIRE, + IO_PIN_B7 = IO_PAD_AP_SPIS_MISO, + IO_PIN_B8 = IO_PAD_AP_SPIS_CSN, + IO_PIN_C1 = IO_PAD_TD_FC_MOSI, + IO_PIN_C2 = IO_PAD_TD_LEDPWM, + IO_PIN_C4 = IO_PAD_UART_TX, + IO_PIN_C5 = IO_PAD_UART_RX, + IO_PIN_C6 = IO_PAD_AP_TE, + IO_PIN_D1 = IO_PAD_TD_RSTN, + IO_PIN_D2 = IO_PAD_TD_INT, + IO_PIN_D7 = IO_PAD_AP_TPRSTN, + IO_PIN_D8 = IO_PAD_AP_SPIS_CLK, +} io_pad_e; + +/** +* @brief PAD_AP_SPIS_CLK可选的mode +*/ +typedef enum +{ + IO_MODE_JTAG_TCK = 0, + IO_MODE_SPIS_SCLK = 1, + IO_MODE_I2C0_SCL = 3, +} pad_ap_spis_clk_mode_e; + +/** +* @brief PAD_AP_SPIS_CSN可选的mode +*/ +typedef enum +{ + IO_MODE_JTAG_TRSTN = 0, + IO_MODE_SPIS_CSN = 1, + IO_MODE_I2C0_SDA = 3, +} pad_ap_spis_csn_mode_e; + +/** +* @brief PAD_AP_SPIS_MISO可选的mode +*/ +typedef enum +{ + IO_MODE_JTAG_TDO = 0, + IO_MODE_SPIS_MISO = 1, + IO_MODE_GPIO0 = 2, + IO_MODE_UART_RX_AP = 3, + IO_MODE_SPIM_MISO_AP = 4, +} pad_ap_spis_miso_mode_e; + +/** +* @brief PAD_AP_SPIS_MOSI可选的mode +*/ +typedef enum +{ + IO_MODE_JTAG_TMS = 0, + IO_MODE_SPIS_MOSI = 1, + IO_MODE_GPIO1 = 2, + IO_MODE_UART_TX_AP = 3, + IO_MODE_SPIM_MOSI_AP = 4, +} pad_ap_spis_mosi_mode_e; + +/** +* @brief PAD_AP_TPRSTN可选的mode +*/ +typedef enum +{ + IO_MODE_JTAG_TDI = 0, + IO_MODE_GPIO21 = 2, +} pad_ap_tprstn_mode_e; + +/** +* @brief PAD_AP_INT可选的mode +*/ +typedef enum +{ + IO_MODE_GPIO2 = 2, +} pad_ap_int_mode_e; + +/** +* @brief PAD_AP_TE可选的mode +*/ +typedef enum +{ + IO_MODE_TEAR = 0, + IO_MODE_GPIO3 = 2, +} pad_ap_te_mode_e; + +/** +* @brief PAD_AP_SWIRE可选的mode +*/ +typedef enum +{ + IO_MODE_SWIRE = 0, + IO_MODE_PWMO = 1, + IO_MODE_GPIO4 = 2, +} pad_ap_swire_mode_e; + +/** +* @brief PAD_TD_SPIM_CLK可选的mode +*/ +typedef enum +{ + IO_MODE_SPIM_SCLK = 0, + IO_MODE_I2C1_SCL = 1, +} pad_td_spim_clk_mode_e; + +/** +* @brief PAD_TD_SPIM_CSN可选的mode +*/ +typedef enum +{ + IO_MODE_SPIM_CSN = 0, + IO_MODE_I2C1_SDA = 1, +} pad_td_spim_csn_mode_e; + +/** +* @brief PAD_TD_SPIM_MISO可选的mode +*/ +typedef enum +{ + IO_MODE_SPIM_MISO = 0, +#if defined(ISP_568) || defined(ISP_368) + IO_MODE_PWMO1 = 1, +#endif + IO_MODE_GPIO5 = 2, +} pad_td_spim_miso_mode_e; + +/** +* @brief PAD_TD_SPIM_MOSI可选的mode +*/ +typedef enum +{ + IO_MODE_SPIM_MOSI = 0, + IO_MODE_GPIO6 = 2, +} pad_td_spim_mosi_mode_e; + +/** +* @brief PAD_TD_TPRSTN可选的mode +*/ +typedef enum +{ + IO_MODE_GPIO8 = 2, +} pad_td_tprstn_mode_e; + +/** +* @brief PAD_TD_INT可选的mode +*/ +typedef enum +{ + IO_MODE_GPIO9_FUNC = 0, + IO_MODE_GPIO9 = 2, +} pad_td_int_mode_e; + +/** +* @brief PAD_TD_LEDPWM可选的mode +*/ +typedef enum +{ + IO_MODE_PWMI = 0, +#if defined(ISP_568) || defined(ISP_368) + IO_MODE_PWMO2 = 1, +#endif + IO_MODE_GPIO10 = 2, +} pad_td_ledpwm_mode_e; + +/** +* @brief PAD_TD_FC_CLK可选的mode +*/ +typedef enum +{ + IO_MODE_TSPIS_CLK = 0, + IO_MODE_GPIO11 = 2, +} pad_td_fc_clk_mode_e; + +/** +* @brief PAD_TD_FC_CSN可选的mode +*/ +typedef enum +{ + IO_MODE_TSPIS_CSN = 0, + IO_MODE_GPIO12 = 2, +} pad_td_fc_csn_mode_e; + +/** +* @brief PAD_TD_FC_MISO可选的mode +*/ +typedef enum +{ + IO_MODE_TSPIS_MISO = 0, + IO_MODE_GPIO13 = 2, +} pad_td_fc_miso_mode_e; + +/** +* @brief PAD_TD_FC_MOSI可选的mode +*/ +typedef enum +{ + IO_MODE_TSPIS_MOSI = 0, + IO_MODE_GPIO14 = 2, +} pad_td_fc_mosi_mode_e; + +/** +* @brief PAD_UART_RX可选的mode +*/ +typedef enum +{ + IO_MODE_UART_RX = 0, + IO_MODE_GPIO17 = 2, +} pad_uart_rx_mode_e; + +/** +* @brief PAD_UART_TX可选的mode +*/ +typedef enum +{ + IO_MODE_UART_TX = 0, + IO_MODE_GPIO18 = 2, +} pad_uart_tx_mode_e; + +/** +* @brief PAD_PWMEN可选的mode +*/ +typedef enum +{ + IO_MODE_GPIO19 = 2, +} pad_pwmen_mode_e; + +/** +* @brief PAD_ADCIN可选的mode +*/ +typedef enum +{ + IO_MODE_GPIO20 = 2, +} pad_adcin_mode_e; + +/** +* @brief PAD_SFC_CLK可选的mode +*/ +typedef enum +{ + IO_MODE_INTER_FLS_CLK = 0, + IO_MODE_EXT_FLS_CLK = 1, +} pad_sfc_clk_mode_e; + +/** +* @brief PAD_SFC_CSN可选的mode +*/ +typedef enum +{ + IO_MODE_INTER_FLS_CSN = 0, + IO_MODE_EXT_FLS_CSN = 1, +} pad_sfc_csn_mode_e; + +/** +* @brief PAD_SFC_IO0可选的mode +*/ +typedef enum +{ + IO_MODE_INTER_FLS_IO0 = 0, + IO_MODE_EXT_FLS_MISO = 1, +} pad_sfc_io0_mode_e; + +/** +* @brief PAD_SFC_IO1可选的mode +*/ +typedef enum +{ + IO_MODE_INTER_FLS_IO1 = 0, + IO_MODE_EXT_FLS_MOSI = 1, +} pad_sfc_io1_mode_e; + +/** +* @brief PAD电压转换速率 +*/ +typedef enum +{ + IO_SLEW_RATE_SLOW = 0, + IO_SLEW_RATE_FAST = 1, +} pad_slew_rate_e; + +/******************************************************************************* +* IOE +*******************************************************************************/ +/** +* @brief GPIO io方向 +*/ +typedef enum +{ + IO_IOE_INPUT = 0, + IO_IOE_OUTPUT +} gpio_ioe_direct_e; + +/** +* @brief GPIO level +*/ +typedef enum +{ + IO_LVL_LOW = 0, + IO_LVL_HIGH +} gpio_level_e; + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +/** +* @brief 配置指定PAD为GPIO mode,方向为input,指定中断触发方式 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param trig:4种中断触发方式,参考枚举类型sys_cfg_trigger_e +* @retval 无 +*/ +void hal_gpio_init_eint(io_pad_e pad, sys_cfg_trigger_e trig); + +/** +* @brief 注册GPIO中断回调函数 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param cb_func:回调函数地址 +* @param data:回调函数参数地址 +* @retval 无 +*/ +void hal_gpio_reg_eint_cb(io_pad_e pad, fcb_type cb_func); + +/** +* @brief 开关GPIO中断 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param state:开关控制 +* @retval 无 +*/ +void hal_gpio_ctrl_eint(io_pad_e pad, function_state_e state); + +/** +* @brief 获取GPIO中断类型 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @retval 无 +*/ +gpio_int_e hal_gpio_get_int_type(io_pad_e pad); + +/** +* @brief 配置指定PAD为GPIO mode,方向为output,指定初始电平 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param lvl:初始电平,参考枚举类型gpio_level_e +* @retval 无 +*/ +void hal_gpio_init_output(io_pad_e pad, gpio_level_e lvl); + +/** +* @brief 封装设置输出接口 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param lvl:初始电平,参考枚举类型gpio_level_e +* @retval 无 +*/ +void hal_gpio_set_output_data(io_pad_e pad, gpio_level_e lvl); + +/** +* @brief 封装设置输出接口扩展,支持同时通知两个IO输出电平 +* @param pad1:GPIO序号,参考枚举类型gpio_pad_e +* @param pad1_lvl:配置电平,参考枚举类型gpio_level_e +* @param pad2:GPIO序号,参考枚举类型gpio_pad_e +* @param pad2_lvl:配置电平,参考枚举类型gpio_level_e +* @retval 无 +*/ +void hal_gpio_set_output_data_ex(io_pad_e pad1, gpio_level_e pad1_lvl, io_pad_e pad2, gpio_level_e pad2_lvl); + +/** +* @brief 配置指定PAD为GPIO mode,方向为input +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @retval 无 +*/ +void hal_gpio_init_input(io_pad_e pad); + +/** +* @brief 读取输入电平 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @retval 无 +*/ +gpio_level_e hal_gpio_get_input_data(io_pad_e pad); + +/** +* @brief 设置io mode +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param mode:工作模式,参考各PAD对应的mode枚举类型 +* @retval 无 +*/ +void hal_gpio_set_mode(io_pad_e pad, uint8_t mode); + +/** +* @brief 获取指定PAD的默认上拉、下拉状态 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param up_enable:默认上拉状态 +* @param down_enable:默认下拉状态 +* @retval 无 +*/ +void hal_gpio_get_pull_state(io_pad_e pad, function_state_e *up_enable, function_state_e *down_enable); + +/** +* @brief 配置指定PAD的默认上拉、下拉状态 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param up_enable:默认上拉状态 +* @param down_enable:默认下拉状态 +* @retval 无 +*/ +void hal_gpio_set_pull_state(io_pad_e pad, function_state_e up_enable, function_state_e down_enable); + +/** +* @brief 配置指定PAD是否为施密特触发 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param st_enable:1为施密特触发,0为正常触发 +* @retval 无 +*/ +void hal_gpio_set_schmitt_trigger(io_pad_e pad, function_state_e st_enable); + +/** +* @brief 配置指定PAD的驱动能力 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param strength:驱动强度,取值为0~3 +* @retval 无 +*/ +void hal_gpio_set_driving_strength(io_pad_e pad, uint8_t strength); + +/** +* @brief 配置指定PAD的电压转换速率 +* @param pad:GPIO序号,参考枚举类型gpio_pad_e +* @param rate:驱动强度,取值为0~3 +* @retval 无 +*/ +void hal_gpio_set_slew_rate(io_pad_e pad, pad_slew_rate_e rate); + +/** +* @brief 配置AP_RSTN引脚中断 +* @param enable: 中断开关 +* @param cb_func:回调函数 +* @param trig:触发模式 +* @retval 无 +*/ +void hal_gpio_set_ap_reset_int(bool enable, fcb_type cb_func, sys_cfg_trigger_e trig); + +#endif /* __HAL_GPIO_H__ */ diff --git a/src/sdk/include/hal_i2c_master.h b/src/sdk/include/hal_i2c_master.h new file mode 100644 index 0000000..94db44b --- /dev/null +++ b/src/sdk/include/hal_i2c_master.h @@ -0,0 +1,80 @@ +/******************************************************************************* +* +* +* File: hal_i2c_master.h +* Description i2c hal file +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ + +#ifndef __HAL_I2C_MASTER_H__ +#define __HAL_I2C_MASTER_H__ + +#include "tau_device_datatype.h" +#include "tau_common.h" +#include "string.h" + +/************************************************************************** +* @name : hal_i2c_m_dma_init +* @brief : i2c master dma 初始化 +* @param[in] : slave_addr:目标从机地址 +* @param[in] : addr_bits:目标从机地址位数 +* @param[in] : i2c_speed_hz: 通信速率 +* @return : +* @retval : +**************************************************************************/ +void hal_i2c_m_dma_init(uint8_t slave_addr, uint8_t addr_bits, uint32_t i2c_speed_hz); + +/************************************************************************** +* @name : hal_i2c_m_dma_write +* @brief : i2c master dma 发送数据 +* @param[in] : txBuffer:发送数据buffer +* @param[in] : data_size:发送数据个数 +* @return : STATUS_SUCCESS:数据已排入 DMA 通道,但不一定全部发送 +* @return : 其它:发送出错,需要重新调用函数发送 +* @retval : +**************************************************************************/ +status_t hal_i2c_m_dma_write(const uint8_t *txBuffer, size_t data_size); + +/************************************************************************** +* @name : hal_i2c_m_dma_read +* @brief : i2c master dma 接收数据 +* @param[in] : reg_address:先发送寄存器地址给从机 +* @param[in] : reg_size:地址字节数 +* @param[in] : rxBuffer:接收数据buffer +* @param[in] : data_size:接收数据长度 +* @return : STATUS_SUCCESS:寄存器地址发送成功,并已配置DMA接收通道,但不一定完成接收 +* @return : 其它:接收出错,需要重新调用函数接收 +* @retval : +**************************************************************************/ +status_t hal_i2c_m_dma_read(uint32_t reg_address, size_t reg_size, uint8_t *rxBuffer, size_t data_size); + +/************************************************************************** +* @name : hal_i2c_m_transfer_complate +* @brief : 获取 i2c master 发送状态 +* @param[in] : +* @return : true:数据发送完成 +* @return : false:数据还在发送 +* @retval : +**************************************************************************/ +bool hal_i2c_m_transfer_complate(void); + +/************************************************************************** +* @name : hal_i2c_m_set_high_impedance +* @brief : 将 I2C 主机的IO口设置为高阻态 +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void hal_i2c_m_set_high_impedance(void); +/************************************************************************** +* @name : hal_i2c_m_deinit +* @brief : i2c主机 IP去初始化(关掉使能、外设时钟) +* @param[in] : +* @return : +* @retval : +***************************************************************************/ +void hal_i2c_m_deinit(void); +#endif /* __HAL_I2C_MASTER_H__*/ + diff --git a/src/sdk/include/hal_i2c_slave.h b/src/sdk/include/hal_i2c_slave.h new file mode 100644 index 0000000..6019ae0 --- /dev/null +++ b/src/sdk/include/hal_i2c_slave.h @@ -0,0 +1,179 @@ +/******************************************************************************* +* +* +* File: hal_i2c_slave.h +* Description i2c hal file +* Version V0.1 +* Date 2021-10-14 +* Author zhanghz +*******************************************************************************/ + +#ifndef __HAL_I2C_SLAVE_H__ +#define __HAL_I2C_SLAVE_H__ + +#include "tau_device_datatype.h" +#include "tau_common.h" +#include "string.h" + +typedef enum +{ + I2C_S_INT_READ = 0, //发生 读请求 中断 + I2C_S_INT_RX, //发生 接收 中断 + I2C_S_INT_STOP //发生 stop 中断 +} e_i2c_s_int_status; + +#if defined(ISP_568) || defined(ISP_368) +typedef enum +{ + I2C_S_0 = 0, + I2C_S_1, + I2C_S_MAX +} i2c_s_index_e; +#endif + +typedef void (*hal_i2c_s_callback_t)(e_i2c_s_int_status int_status, size_t receive_num); + +/************************************************************************** +* @name : hal_i2c_s_init +* @brief : i2c slave 初始化 +* @param[in] : slave_addr:从机地址 +* @param[in] : addr_bits:从机地址位数 +* @return : +* @retval : +**************************************************************************/ +void hal_i2c_s_init(uint8_t slave_addr, uint8_t addr_bits); + +/************************************************************************** +* @name : hal_i2c_s_dma_write +* @brief : i2c slave dma 发送数据 +* @param[in] : txBuffer:发送数据buffer +* @param[in] : data_size:发送数据个数 +* @return : STATUS_SUCCESS:数据已排入 DMA 通道,但不一定全部发送 +* @return : 其它:发送出错,需要重新调用函数发送 +* @retval : +**************************************************************************/ +status_t hal_i2c_s_dma_write(const uint8_t *txBuffer, size_t data_size); + +/************************************************************************** +* @name : hal_i2c_s_nonblocking_read +* @brief : i2c slave 准备接收数据 +* @param[in] : rxBuffer:接收数据buffer +* @param[in] : data_size:接收数据最大个数 +* @return : STATUS_SUCCESS:已配置准备接收,此时通信不一定开始 +* @return : 其它:接收配置出错,需要重新调用函数配置 +* @retval : +**************************************************************************/ +status_t hal_i2c_s_nonblocking_read(uint8_t *rxBuffer, size_t data_size); + +/************************************************************************** +* @name : hal_i2c_s_transfer_complate +* @brief : 获取 i2c slave 发送状态 +* @param[in] : +* @return : true:数据发送完成 +* @return : false:数据还在发送 +* @retval : +**************************************************************************/ +bool hal_i2c_s_write_complate(void); + +/************************************************************************** +* @name : hal_i2c_s_read_complate +* @brief : 获取 i2c slave 接收状态 +* @param[in] : +* @return : 数据接收个数 +* @retval : +**************************************************************************/ +uint8_t hal_i2c_s_read_complate(void); + +/************************************************************************** +* @name : hal_i2c_s_read_complate_clear +* @brief : 清除 i2c slave 接收状态 +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void hal_i2c_s_read_complate_clear(void); + +/************************************************************************** +* @name : hal_i2c_s_set_dma_tx_cycle +* @brief : 配置 I2C cycle 模式 +* @param[in] : +* @return : ENABLE:cycle模式,DISABLE:非cycle模式 +* @retval : +**************************************************************************/ +void hal_i2c_s_set_dma_tx_cycle(bool enable); + +/************************************************************************** +* @name : hal_i2c_s_set_transfer +* @brief : 配置 i2c 从机数据解析函数 +* @param[in] :hal_tp_transfer_phone_tmp:解析函数指针 +* @return : +* @retval : +**************************************************************************/ +void hal_i2c_s_set_transfer(hal_i2c_s_callback_t hal_i2c_s_callback_tmp); + +/************************************************************************** +* @name : hal_i2c_s_read_data +* @brief :read data +* @param[in] : rx_data: 接收数据 +* @return : 1: 成功获取数据 +* @return : 0: 接收 fifo 为空 +* @retval : +**************************************************************************/ +status_t hal_i2c_s_read_data(uint8_t *rx_data); + +/************************************************************************** +* @name : hal_i2c_s_write_data +* @brief :write data +* @param[in] : tx_data: 准备发送的数据 +* @return : 1: 配置发送成功 +* @return : 0: 发送 fifo 已满 +* @retval : +**************************************************************************/ +status_t hal_i2c_s_write_data(const uint8_t tx_data); + +/************************************************************************** + * @name : hal_i2c_s_rxfifo_notempty + * @brief : 判断当前 rxfifo 中是否有数据 + * @param[in] : + * @return : true: rxfifo 中有数据 + * @return : false: rxfifo 中没有数据 + * @retval : + **************************************************************************/ +bool hal_i2c_s_rxfifo_notempty(void); + +/************************************************************************** +* @name : hal_i2c_s_set_high_impedance +* @brief : 将 I2C 从机的IO口设置为高阻态 +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void hal_i2c_s_set_high_impedance(void); +/************************************************************************** +* @name : hal_i2c_s_get_tx_byte_num +* @brief : 获取I2C从机发送成功字节数 +* @param[in] : +* @return :发送总字节数 +* @retval : +**************************************************************************/ +int hal_i2c_s_get_tx_byte_num(void); +/************************************************************************** +* @name : hal_i2c_s_deinit +* @brief : i2c IP去初始化(关掉使能、外设时钟) +* @param[in] :slave_num 从机序号 +* @return : +* @retval : +***************************************************************************/ +void hal_i2c_s_deinit(void); +#if defined(ISP_568) || defined(ISP_368) + /************************************************************************** + * @name : hal_i2c_s_sel + * @brief : i2c slave 选择 + * @param[in] : slaver:从机编号 + * @return : + * @retval : + **************************************************************************/ + void hal_i2c_s_sel(i2c_s_index_e slaver); +#endif +#endif /* __HAL_I2C_SLAVE_H__*/ + diff --git a/src/sdk/include/hal_pwm.h b/src/sdk/include/hal_pwm.h new file mode 100644 index 0000000..485351d --- /dev/null +++ b/src/sdk/include/hal_pwm.h @@ -0,0 +1,219 @@ +/******************************************************************************* +* +* +* File: hal_pwm.h +* Description: pwm HAL层头文件 +* Version: V0.1 +* Date: 2021-03-17 +* Author: wuc + *******************************************************************************/ +#ifndef __HAL_PWM_H__ +#define __HAL_PWM_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_device_datatype.h" +#include "tau_common.h" +#include "hal_gpio.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +/*! @brief PWM触发功能的定义 */ +typedef enum _pwm_out_ctrl_e +{ + PWMO_CTRL_KEEP = 0, + PWMO_CTRL_LOW = 1, + PWMO_CTRL_HIGH = 2, + PWMO_CTRL_TOGGLE = 3, + PWMO_CTRL_MAX +} pwm_out_ctrl_e; + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +/** +* @brief PWMO初始化 +* @param 无 +* @retval 无 +*/ +void hal_pwm_out_init(void); + +/** +* @brief PWMO反初始化 +* @param 无 +* @retval 无 +*/ +void hal_pwm_out_deinit(void); + +/** +* @brief PWMO输出脉冲暂停、恢复 +* @param state:开关控制 +* @retval 无 +*/ +void hal_pwm_out_pause(function_state_e state); + +/** +* @brief 配置PWMO脉冲并开始输出 +* @param ctl0:到达阈值thr0时的操作,参考枚举类型pwm_out_ctrl_e +* @param ctl1:到达阈值thr1时的操作,参考枚举类型pwm_out_ctrl_e +* @param thr0:阈值0,单位us +* @param thr1:阈值1,单位us +* @param period:一个周期的时间,单位us +* @retval 无 +*/ +void hal_pwm_out_config_all(pwm_out_ctrl_e ctl0, pwm_out_ctrl_e ctl1, uint32_t thr0, uint32_t thr1, uint32_t period); + +/** +* @brief 在同步所有模式下配置PWMO脉冲所有参数 +* @param ctl0:到达阈值thr0时的操作,参考枚举类型pwm_out_ctrl_e +* @param ctl1:到达阈值thr1时的操作,参考枚举类型pwm_out_ctrl_e +* @param thr0:阈值0,单位us +* @param thr1:阈值1,单位us +* @param period:一个周期的时间,单位us +* @retval 无 +*/ +void hal_pwm_out_sync_all(pwm_out_ctrl_e ctl0, pwm_out_ctrl_e ctl1, uint32_t thr0, uint32_t thr1, uint32_t period); + +/** +* @brief 调制pwm输出以控制背光 +* @param polarity: 极性,false:先高后低,true:先低后高 +* @param duty_ratio: 占空比(0-total_ratio) +* @param total_ratio: 可细分总量 +* @param frequency: 频率,单位HZ +* @retval 无 +*/ +void hal_pwm_out_config_duty_ratio(bool polarity, uint16_t duty_ratio, uint16_t total_ratio, uint32_t frequency); + +/** +* @brief 在同步周期模式下配置PWMO脉冲的周期 +* @param period:一个周期的时间,单位us +* @retval 无 +*/ +void hal_pwm_out_sync_period(uint32_t period); + +/** +* @brief 在同步控制模式下配置PWMO脉冲的控制 +* @param ctl0:到达阈值thr0时的操作,参考枚举类型pwm_out_ctrl_e +* @param ctl1:到达阈值thr1时的操作,参考枚举类型pwm_out_ctrl_e +* @retval 无 +*/ +void hal_pwm_out_sync_ctl(pwm_out_ctrl_e ctl0, pwm_out_ctrl_e ctl1); + +/** +* @brief 在同步阈值模式下配置PWMO脉冲的阈值 +* @param thr0:阈值0,单位us +* @param thr1:阈值1,单位us +* @retval 无 +*/ +void hal_pwm_out_sync_thr(uint32_t thr0, uint32_t thr1); + +/** +* @brief 在同步暂停模式下暂停或恢复PWMO脉冲 +* @param pause_state:暂停或恢复 +* @retval 无 +*/ +void hal_pwm_out_sync_pause(function_state_e pause_state); + +/** +* @brief PWMI初始化 +* @param 无 +* @retval 无 +*/ +void hal_pwm_in_init(void); + +/** +* @brief PWMI反初始化 +* @param 无 +* @retval 无 +*/ +void hal_pwm_in_deinit(void); + +/** +* @brief 注册PWMI中断回调函数,回传PWMI中断类型指针,参考pwm_int_type_e +* @param cb_func:回调函数地址 +* @retval 无 +*/ +void hal_pwm_in_register_callback(fcb_type cb_func); + +/** +* @brief 配置PWMI所有中断的开关 +* @param high_overflow_en:high overflow中断使能开关 +* @param low_overflow_en:low overflow中断使能开关 +* @param total_overflow_en:total overflow中断使能开关 +* @param high_done_en:high done中断使能开关 +* @param low_done_en:low done中断使能开关 +* @param total_done_en:total done中断使能开关 +* @retval 无 +*/ +void hal_pwm_in_config_int(function_state_e high_overflow_en, function_state_e low_overflow_en, function_state_e total_overflow_en, + function_state_e high_done_en, function_state_e low_done_en, function_state_e total_done_en); + +/** +* @brief 配置PWMI单个中断的开关 +* @param pwm_int:中断类型,参考枚举类型pwm_int_type_e +* @param enable:控制开关 +* @retval 无 +*/ +void hal_pwm_in_set_int(pwm_int_type_e pwm_int, function_state_e enable); + +/** +* @brief 关闭PWMI所有中断 +* @param 无 +* @retval 无 +*/ +void hal_pwm_in_clear_int(void); + +/** +* @brief 开关PWMI中断 +* @param state:开关控制 +* @retval 无 +*/ +void hal_pwm_in_ctrl_int(function_state_e state); + +/** +* @brief 获取PWMI脉冲周期时长 +* @param 无 +* @retval 周期时长,单位us +*/ +uint32_t hal_pwm_in_get_total_period(void); + +/** +* @brief 获取PWMI脉冲高电平时长 +* @param 无 +* @retval 高电平时长,单位us +*/ +uint32_t hal_pwm_in_get_high_period(void); + +/** +* @brief 获取PWMI脉冲低电平时长 +* @param 无 +* @retval 低电平时长,单位us +*/ +uint32_t hal_pwm_in_get_low_period(void); + +/** +* @brief 获取PWMI上升沿累积个数 +* @param 无 +* @retval 从模块使能到当前时间的上升沿个数,超过32位宽后清零重新计数 +*/ +uint32_t hal_pwm_in_get_current_count(void); + +#if defined(ISP_568) || defined(ISP_368) + /** + * @brief 选择PWMO输出的IO口 + * @param pad: PWMO输出的IO口,默认为IO_PAD_AP_SWIRE,可选通过IO_PAD_TD_SPIM_MISO、IO_PAD_TD_LEDPWM输出 + * @retval 无 + */ + void hal_pwm_out_sel_io(io_pad_e pad); +#endif +#endif /* __HAL_PWM_H__ */ diff --git a/src/sdk/include/hal_spi_master.h b/src/sdk/include/hal_spi_master.h new file mode 100644 index 0000000..bd75c44 --- /dev/null +++ b/src/sdk/include/hal_spi_master.h @@ -0,0 +1,89 @@ +/******************************************************************************* +* +* +* File: hal_spi_touch.h +* Description spi hal file +* Version V0.1 +* Date 2021-10-25 +* Author zhanghz +*******************************************************************************/ + +#ifndef __HAL_SPI_MASTER_H__ +#define __HAL_SPI_MASTER_H__ + +#include "tau_device_datatype.h" +#include "tau_common.h" +#include "string.h" + +/************************************************************************** +* @name : hal_spi_m_dma_init +* @brief : SPIM DMA 初始化 +* @param[in] :speed:配置通信速率 +* @param[in] :cpha: 配置第一个时钟沿或者第二个时钟沿有效 +* @param[in] :cpol: 配置总线空闲时时钟电平 +* @return : +* @retval : +**************************************************************************/ +void hal_spi_m_dma_init(uint32_t speed, uint8_t cpha, uint8_t cpol); + +/************************************************************************** +* @name : hal_spi_m_dma_write +* @brief : 用SPIM 发送数据 +* @param[in] :data_buffer: 发送数据 buffer 头地址 +* @param[in] :data_size: 发送数据 buffer 长度 +* @return :STATUS_SUCCESS: 配置成功,但数据不一定发送完成 +* @return :其它:配置不成功,需要重新配置发送 +* @retval : +**************************************************************************/ +status_t hal_spi_m_dma_write(const uint8_t *data_buffer, size_t data_size); + +/************************************************************************** +* @name : hal_spi_m_dma_read +* @brief : 用SPIM 读取数据 +* @param[in] :cmd: 发送命令 buffer 头地址 +* @param[in] :cmd_size: 发送命令 buffer 长度 +* @param[in] :data_buffer: 读取数据 buffer 头地址 +* @param[in] :data_size: 发送命令 和 读取数据 buffer 长度 +* @return :STATUS_SUCCESS: 配置成功,但数据不一定读取完成 +* @return :其它:配置不成功,需要重新配置发送 +* @retval : +**************************************************************************/ +status_t hal_spi_m_dma_read(const uint8_t *cmd, size_t cmd_size, uint8_t *data_buffer, size_t data_size); + +/************************************************************************** +* @name : hal_spi_m_get_transfer_complate +* @brief : 获取 SPIM 通信完成状态 +* @param[in] : +* @return :true:通信完成 +* @retval : +**************************************************************************/ +bool hal_spi_m_get_transfer_complate(void); + +/************************************************************************** +* @name : hal_spi_m_clear_rxfifo +* @brief : 清空 rxfifo 中的数据 +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void hal_spi_m_clear_rxfifo(void); + +/************************************************************************** +* @name : hal_spi_m_set_high_impedance +* @brief : 将 SPI 主机的IO口设置为高阻态 +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void hal_spi_m_set_high_impedance(void); +/************************************************************************** +* @name : hal_spi_m_deinit +* @brief : 将 SPI 主机去初始化(关掉SPIM) +* @param[in] : +* @return :true +* @retval : +**************************************************************************/ +bool hal_spi_m_deinit(void); + +#endif + diff --git a/src/sdk/include/hal_spi_slave.h b/src/sdk/include/hal_spi_slave.h new file mode 100644 index 0000000..6454ab2 --- /dev/null +++ b/src/sdk/include/hal_spi_slave.h @@ -0,0 +1,181 @@ +/******************************************************************************* +* Copyright (C) 2021-2022, All Rights Reserved. +* +* File: hal_spi_slave.h +* Description spi slave hal file +* Version V0.1 +* Date 2021-10-23 +* Author lzy +*******************************************************************************/ +#ifndef __HAL_SPI_SLAVE_H__ +#define __HAL_SPI_SLAVE_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_dsi_datatype.h" +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +/* +自动模式event eg:rx_buffer_size=8, host发送16个byte数据, +收到前面8byte数据时产生SPI_EVENT_RCV_FULL事件,后续的事件丢弃, +传输完成后host拉高CS,产生SPI_EVENT_RCV_CS_HIGH事件 +*/ +typedef enum +{ + SPI_EVENT_RCV_DATA = 0, /* 手动模式下,SPIS 接受每接收一个数据即产生事件 */ + SPI_EVENT_RCV_FULL, /* 自动模式下 ,SPIS 接收数据等于buffer size后产生事件 */ + SPI_EVENT_RCV_CS_HIGH, /* 自动模式下 ,SPIS 收到CS 拉高的信号 */ +} hal_spis_event_e; + +typedef struct hal_spi_packet_info_t +{ + uint8_t *rx_buffer; /* 接收buffer */ + uint32_t rx_buffer_size; /* 接收buffer size */ + bool rx_circle; /* 接收circle mode */ + const uint8_t *tx_buffer; /* 发送buffer */ + uint32_t tx_buffer_size; /* 发送buffer size */ + bool tx_circle; /* 发送circle mode */ + uint32_t packet_size; /* packet size */ +} hal_spi_packet_info_t; + +typedef void (*hal_spi_slave_cb)(hal_spis_event_e event, hal_spi_packet_info_t *packet_info); + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +/** +* @brief 初始化spi slave 模块 +* @param cpha: 相位配置 +* @param cpol: 极性配置 +* @param dma: 自动模式下DMA enable +* @retval true/false +*/ +bool hal_spi_slave_init(uint8_t cpha, uint8_t cpol, bool dma); + +/** +* @brief spi slave 模块去初始化 +* @param none +* @retval true/false +*/ +bool hal_spi_slave_deinit(void); + +/** +* @brief spi slave 注册回调函数 +* @param cb:call back +* @retval true/false +*/ +bool hal_spi_slave_register_callback(hal_spi_slave_cb cb); + +/** +* @brief spi slave enable +* @param none +* @retval true/false +*/ +bool hal_spi_slave_enable(void); + +/** +* @brief spi slave disable +* @param none +* @retval true/false +*/ +bool hal_spi_slave_disable(void); + +/** +* @brief spi slave 配置自动接收buffer, 底层自动接收数据后调用callback, buffer为NULL时为自动接收模式 +* @param buffer:自动模式数据接收buffer +* @param size: 自动模式数据接收buffer size +* @param circle:circle mode,packet size 大于buffer size 时从offset 0重新写(暂不支持) +* @retval true/false +*/ +bool hal_spi_slave_set_auto_rx_buffer(uint8_t *buffer, uint32_t size, bool circle); + +/** +* @brief spi slave 配置自动发送buffer +* @param buffer:自动模式数据发送buffer, buffer为NULL为切换为自动模式 +* @param size: 自动模式数据发收buffer size +* @param circle:circle mode,重复发送buffer的数据 +* @retval true/false +*/ +bool hal_spi_slave_set_auto_tx_buffer(const uint8_t *buffer, uint32_t size, bool circle); + +/** +* @brief spi slave 启动自动传输 +* @param none +* @retval true/false +*/ +bool hal_spi_slave_auto_transfer_start(void); + +/** +* @brief spi slave 停止自动传输(circle mode 下packet结束可使用) +* @param none +* @retval true/false +*/ +bool hal_spi_slave_auto_transfer_abort(void); + +/** +* @brief spi slave flush fifo(circle mode 下packet结束后可使用) +* @param none +* @retval true/false +*/ +bool hal_spi_slave_flush_fifo(void); + +/** +* @brief reset spis tx,在启动spis后重新配置输出数据 +* @param buffer:自动模式数据发送buffer +* @param size: 自动模式数据发收buffer size +* @param circle:circle mode,重复发送buffer的数据 +* @retval true/false +*/ +bool hal_spi_slave_reset_tx(const uint8_t *buffer, uint32_t size, bool circle); + +/** +* @brief check spi slave busy(CS status) +* @param none +* @retval true/false +*/ +bool hal_spi_slave_busy(void); + +/** +* @brief 获取rx fifo 非空 +* @param none +* @retval true/false +*/ +bool hal_spi_slave_get_rxfifo_notempty(void); + +/** +* @brief 手动模式下从rx fifo 读取数据 +* @param none +* @retval true/false +*/ +bool hal_spi_slave_read_data(uint32_t *data); + +/** +* @brief 手动模式下往tx fifo 写数据 +* @param none +* @retval true/false +*/ +bool hal_spi_slave_write_data(const uint8_t data); + +/************************************************************************** +* @name : hal_spi_s_set_high_impedance +* @brief : 将 SPI 从机的IO口设置为高阻态 +* @param[in] : +* @return : +* @retval : +**************************************************************************/ +void hal_spi_s_set_high_impedance(void); + +#endif /* __HAL_SPI_SLAVE_H__*/ + diff --git a/src/sdk/include/hal_swire.h b/src/sdk/include/hal_swire.h new file mode 100644 index 0000000..de654a4 --- /dev/null +++ b/src/sdk/include/hal_swire.h @@ -0,0 +1,75 @@ +/******************************************************************************* +* +* +* File: hal_swire.h +* Description: swire HAL层头文件 +* Version: V0.1 +* Date: 2021-03-17 +* Author: wuc + *******************************************************************************/ +#ifndef __HAL_SWIRE_H__ +#define __HAL_SWIRE_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_device_datatype.h" +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +/** +* @brief SWIRE初始化 +* @param 无 +* @retval 无 +*/ +void hal_swire_init(void); + +/** +* @brief SWIRE反初始化 +* @param 无 +* @retval 无 +*/ +void hal_swire_deinit(void); + +/** +* @brief 配置SWIRE脉冲并开始输出 +* @param start_time:起始时长,单位us +* @param stop_time:结束时长,单位us,必须大于300us +* @param high_time:高电平时长,单位us +* @param low_time:低电平时长,单位us +* @param pulse:上升沿个数 +* @retval 无 +*/ +void hal_swire_start(uint32_t start_time, uint32_t stop_time, + uint32_t high_time, uint32_t low_time, + uint32_t pulse); + +/** +* @brief 打开或关闭背光 +* @param state:开关控制 +* @retval 无 +*/ +void hal_swire_open(function_state_e state); + +/** +* @brief 注册回调函数 +* @param cb_func:回调函数地址 +* @retval 无 +*/ +void hal_swire_register_callback(fcb_type cb_func); + +#endif /* __HAL_SWIRE_H__ */ diff --git a/src/sdk/include/hal_system.h b/src/sdk/include/hal_system.h new file mode 100644 index 0000000..081663b --- /dev/null +++ b/src/sdk/include/hal_system.h @@ -0,0 +1,167 @@ +/******************************************************************************* +* +* +* File: hal_system.h +* Description hal 通用系统接口头文件 +* Version V0.1 +* Date 2021-05-21 +* Author lzy + *******************************************************************************/ +#ifndef __HAL_SYSTEM_H__ +#define __HAL_SYSTEM_H__ +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ + +/** +* @brief system 初始化 +* @param none +* @retval none +*/ +void hal_system_init(uint32_t sysclk); + +/** +* @brief system 初始化 console +* @param baud_rate 波特率 +* @retval none +*/ +void hal_system_init_console(uint32_t baud_rate); + +/** +* @brief mcu进入idle模式,等待中断唤醒 +* @param disable_systick: 进入idle时是否关闭systick(退出idle 恢复systick) +* @retval none +*/ +void hal_system_idle_mode(bool disable_systick); + +/** +* @brief 注册systick回调函数 +* @param cb_func:回调函数地址 +* @retval 无 +*/ +void hal_system_register_systick_cb(fcb_type cb_func); + +/** +* @brief 启动sys tickt +* @param ms: sys tickt 间隔, 范围1-10ms +* @retval true/false +*/ +bool hal_system_enable_systick(uint8_t ms); + +/** +* @brief 获取systickt +* @param none +* @retval 当前systickt值 +*/ +bool hal_system_disable_systick(void); + +/** +* @brief 获取systickt +* @param none +* @retval 当前systickt值 +*/ +uint32_t hal_system_get_tick(void); + +/** +* @brief 进入deep sleep mode 模式, 等待AP_RSTN 唤醒 +* @param polarity true:上升沿唤醒, false:下降沿唤醒 +* @retval none +*/ +void hal_system_deep_sleep_mode(bool polarity); + +/** +* @brief 配置共享flash开关(使用过后注意关闭,常开功耗会增加) +* @param enable:true:可通过F_SPI访问内部flash , false:不可通过F_SPI访问内部flash +* @retval true/false +*/ +bool hal_system_share_flash_mode(bool enable); + +/** +* @brief sleep mode 配置 +* @param enable +* @retval none +*/ +void hal_system_sleep_mode(bool enable); + +/** +* @brief reset chip +* @param none +* @retval none +*/ +void hal_system_reset_chip(void); + +/** +* @brief 开关PVD检测 +* @param none +* @retval none +*/ +void hal_system_set_pvd(bool enable); + +/** +* @brief VCC电源开关, +* 使用场景: VCC掉电,13D与13M使用外灌电源时,关闭内部VCC供电,防止电源倒灌 +* @param enable: true:打开CP, false:关闭CP +* @retval none +*/ +void hal_system_set_vcc(bool enable); + +/** +* @brief 用户字节数组形式从flash读取数据,按页读取,每页1024字节 +* @param *usr_cfg_t_addr(数组首地址), + usr_cfg_t_size(数组大小可以超过1024,可以按页读也可连续跨页读) + flash_page (页0~63) +* @retval bool 无 +*/ +bool hal_system_flash_read(uint8_t *usr_cfg_t_addr, uint16_t usr_cfg_t_size, uint8_t flash_page); + +/** +* @brief 用户字节数组形式存入flash(次数有限,不可频繁写入),按页写入,每页1024字节 +* @param *usr_cfg_t_addr(数组首地址), + usr_cfg_t_size(数组大小可以超过1024,可以按页写也可连续跨页写入), + 推荐按页顺序写入方式,第一次必须从0页开始写入,后续才可1~63任意页写入 + flash_page (写入页0~63) +* @retval bool 校验size是否超出 +*/ +bool hal_system_flash_write(uint8_t *usr_cfg_t_addr, uint16_t usr_cfg_t_size, uint8_t flash_page); + +#if defined(ISP_568) || defined(ISP_368) + /** + * @brief 控制DPHY内部校准开关 + * @param en: 使能开关 + * @retval none + */ + void hal_system_set_phy_calibration(bool en); +#endif + +/** +* @brief 获取上位机设置的debug state +* @param none +* @retval debug state +*/ +uint32_t hal_system_get_debug_state(void); + +/** +* @brief clear debug state(debug only) +* @param none +* @retval none +*/ +void hal_system_clear_debug_state(void); + +#endif //__HAL_SYSTEM_H__ diff --git a/src/sdk/include/hal_timer.h b/src/sdk/include/hal_timer.h new file mode 100644 index 0000000..f395c19 --- /dev/null +++ b/src/sdk/include/hal_timer.h @@ -0,0 +1,92 @@ +/******************************************************************************* +* +* +* File: hal_timer.h +* Description: timer HAL层头文件 +* Version: V0.1 +* Date: 2021-03-16 +* Author: wuc + *******************************************************************************/ +#ifndef __HAL_TIMER_H__ +#define __HAL_TIMER_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_device_datatype.h" +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +/** +* @brief 指定定时器初始化 +* @param index:实例序号(0~3),参考枚举类型timer_num_e +* @retval 无 +*/ +void hal_timer_init(timer_num_e index); + +/** +* @brief 指定定时器反初始化 +* @param index:实例序号(0~3),参考枚举类型timer_num_e +* @retval 无 +*/ +void hal_timer_deinit(timer_num_e index); + +/** +* @brief 启动指定定时器 +* @param index:实例序号(0~3),参考枚举类型timer_num_e +* @param ms:超时时间,单位ms。由于应用场景一般是ms级别的,应用开发不需要计数具体时针数, + 故直接输入时间,在接口内部换算成时钟数进行寄存器设置。 +* @param cb_func:回调函数地址,不需要则填NULL +* @param data:回调函数的参数地址,不需要则填NULL +* @retval 无 +*/ +void hal_timer_start(timer_num_e index, uint32_t ms, fcb_type cb_func, void *data); + +/** +* @brief 启动指定定时器 +* @param index:实例序号(0~3),参考枚举类型timer_num_e +* @param us:超时时间,单位us。由于应用场景一般是us级别的,应用开发不需要计数具体时针数, + 故直接输入时间,在接口内部换算成时钟数进行寄存器设置。 +* @param cb_func:回调函数地址,不需要则填NULL +* @param data:回调函数的参数地址,不需要则填NULL +* @retval 无 +*/ +void hal_timer_start_ex(timer_num_e index, uint32_t us, fcb_type cb_func, void *data); + +/** +* @brief 停止指定定时器 +* @param index:实例序号(0~3),参考枚举类型timer_num_e +* @retval 无 +*/ +void hal_timer_stop(timer_num_e index); + +/** +* @brief 设置定时器是否循环超时 +* @param index:实例序号(0~3),参考枚举类型timer_num_e +* @param bool enable:循环超时使能 +* @retval 无 +*/ +void hal_timer_set_repeat(timer_num_e index, bool repeat); + +/** +* @brief 获取指定指示器状态 +* @param index:实例序号(0~3),参考枚举类型timer_num_e +* @retval 参考timer_status_e +*/ +timer_status_e hal_timer_get_status(timer_num_e index); + +#endif /* __HAL_TIMER_H__ */ diff --git a/src/sdk/include/hal_uart.h b/src/sdk/include/hal_uart.h new file mode 100644 index 0000000..fcfd17a --- /dev/null +++ b/src/sdk/include/hal_uart.h @@ -0,0 +1,131 @@ +/******************************************************************************* +* +* +* File: hal_uart.h +* Description +* Version V0.1 +* Date 2021-11-24 +* Author kc +*******************************************************************************/ + +#ifndef __HAL_UART_H__ +#define __HAL_UART_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "stdint.h" +#include "tau_common.h" + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +typedef enum +{ + HAL_UART_STOPBIT_1 = 0, + HAL_UART_STOPBIT_2 = 1 +} hal_uart_stopbit_e; + +typedef enum +{ + HAL_UART_PARITY_NO = 0, + HAL_UART_PARITY_ODD = 0x01, + HAL_UART_PARITY_EVEN = 0x03, +} hal_uart_parity_e; + +typedef enum +{ + HAL_UART_DATAWIDTH_6 = 1, + HAL_UART_DATAWIDTH_7 = 2, + HAL_UART_DATAWIDTH_8 = 3 +} hal_uart_datawidth_e; + + +typedef struct +{ + uint32_t baudrate; + hal_uart_stopbit_e stopbits; + hal_uart_datawidth_e data_width; + hal_uart_parity_e parity; +} hal_uart_config_t; + + +typedef struct _hal_uart_handle_t +{ + hal_uart_config_t uart_config; + void (* txdmacallback)(void); + void (* rxdmacallback)(void); +} hal_uart_handle_t; + + +typedef enum +{ + HAL_UART_OK = 0x00U, + HAL_UART_ERROR = 0x01U, + HAL_UART_BUSY = 0x02U, + HAL_UART_TIMEOUT = 0x03U +} hal_uart_status; + + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +/** +* @brief 初始化设置uart 传输的波特率、位宽等参数 +* @param hal_uart_handle_t +* @retval hal_uart_status +*/ +hal_uart_status hal_uart_init(hal_uart_handle_t *huart); + +/** +* @brief 关闭uart口 +* @param hal_uart_handle_t +* @retval hal_uart_status +*/ +hal_uart_status hal_uart_deinit(hal_uart_handle_t *huart); + +/** +* @brief 阻塞式发送数据 +* @param hal_uart_handle_t +* @param pdata:传输数据指针 +* @param size:传输数据大小 +* @retval hal_uart_status +*/ +hal_uart_status hal_uart_transmit_blocking(hal_uart_handle_t *huart, uint8_t *pdata, uint16_t size); + +/** +* @brief 阻塞式接收数据 +* @param hal_uart_handle_t +* @param pdata:传输数据指针 +* @param size:传输数据大小 +* @retval hal_uart_status +*/ +hal_uart_status hal_uart_receive_blocking(hal_uart_handle_t *huart, uint8_t *pdata, uint16_t size); + +/** +* @brief 使用DMA发送数据,TX和RX共用一个DMA 通道,所以需要TX/RX传输完后才能进行RX/TX的传输 +* @param hal_uart_handle_t +* @param pdata:传输数据指针 +* @param size:传输数据大小 +* @retval hal_uart_status +*/ +hal_uart_status hal_uart_transmit_dma(hal_uart_handle_t *huart, uint8_t *pdata, uint16_t size); + +/** +* @brief 使用DMA发送数据,TX和RX共用一个DMA 通道,所以需要TX/RX传输完后才能进行RX/TX的传输 +* @param hal_uart_handle_t +* @param pdata:传输数据指针 +* @param size:传输数据大小 +* @retval hal_uart_status +*/ +hal_uart_status hal_uart_receive_dma(hal_uart_handle_t *huart, uint8_t *pdata, uint16_t size); + +#endif /* __HAL_UART_H__ */ diff --git a/src/sdk/include/hal_wdg.h b/src/sdk/include/hal_wdg.h new file mode 100644 index 0000000..87c9360 --- /dev/null +++ b/src/sdk/include/hal_wdg.h @@ -0,0 +1,94 @@ +/******************************************************************************* +* +* +* File: hal_wdg.h +* Description: wdg HAL层头文件 +* Version: V0.1 +* Date: 2021-03-16 +* Author: wuc + *******************************************************************************/ +#ifndef __HAL_WDG_H__ +#define __HAL_WDG_H__ + +/******************************************************************************* +* 1.Included files +*******************************************************************************/ +#include "tau_device_datatype.h" +#include "tau_common.h" + + +/******************************************************************************* +* 2.Global constant and macro definitions using #define +*******************************************************************************/ + +/******************************************************************************* +* 3.Global structures, unions and enumerations using typedef +*******************************************************************************/ +/*! + * @brief watch dog模式 + */ +typedef enum +{ + WDG_MODE_RESET = 0, //复位模式,跑飞复位 + WDG_MODE_INTERRUPT = 1 //中断模式,跑飞进入中断 +} wdg_mode_e; + +/******************************************************************************* +* 4.Global variable extern declarations +*******************************************************************************/ + +/******************************************************************************* +* 5.Global function prototypes +*******************************************************************************/ +/** +* @brief 看门狗初始化 +* @param 无 +* @retval 无 +*/ +void hal_wdg_init(void); + +/** +* @brief 看门狗反初始化 +* @param 无 +* @retval 无 +*/ +void hal_wdg_deinit(void); + +/** +* @brief 启动看门狗 +* @param wdg_mode_e modeSel: 复位或中断模式 +* @param uint32_t load: 超时时间,单位ms +* @retval 无 +*/ +void hal_wdg_start(wdg_mode_e modeSel, uint32_t load); + +/** +* @brief 停止看门狗 +* @param 无 +* @retval 无 +*/ +void hal_wdg_stop(void); + +/** +* @brief 设置WDG是否循环超时 +* @param enable:循环超时使能 +* @retval 无 +*/ +void hal_wdg_set_repeat(bool repeat); + +/** +* @brief 注册中断回调函数 +* @param cb_func:回调函数地址 +* @param data:回调参数地址 +* @retval 无 +*/ +void hal_wdg_register_callback(fcb_type cb_func, void *data); + +/** +* @brief 喂狗 +* @param 无 +* @retval 无 +*/ +void hal_wdg_kick_dog(void); + +#endif /* __HAL_WDG_H__ */ diff --git a/src/sdk/sdk_version.h b/src/sdk/sdk_version.h new file mode 100644 index 0000000..387cad8 --- /dev/null +++ b/src/sdk/sdk_version.h @@ -0,0 +1 @@ +#define SDK_REVISION 4111 \ No newline at end of file