__aeabi_unwind_cpp_pr0 __stack_chk_fail __stack_chk_guard drv_otp_clear_fake_otp_buffer drv_otp_de_init drv_otp_disable_port drv_otp_get_customer_key drv_otp_get_ddplus_flag drv_otp_get_dts_flag drv_otp_get_fake_otp_flag drv_otp_get_hdcp_root_key drv_otp_get_hdcp_root_key_lock drv_otp_get_id_word_lock_flag drv_otp_get_stb_priv_data drv_otp_get_stb_root_key drv_otp_get_stb_root_key_lock drv_otp_init drv_otp_is_fake_otp_access_err_flag drv_otp_is_fake_otp_buffer_flag drv_otp_read drv_otp_read_byte drv_otp_readbuf_check drv_otp_reset drv_otp_set_customer_key drv_otp_set_fake_otp_flag drv_otp_set_hdcp_root_key drv_otp_set_hdcp_root_key_lock drv_otp_set_id_word_lock drv_otp_set_normal_chip drv_otp_set_secure_chip drv_otp_set_stb_priv_data drv_otp_set_stb_root_key drv_otp_set_stb_root_key_lock drv_otp_write drv_otp_write_bit drv_otp_write_byte g_otp_mutex g_p_cipher_export_function_list hi_drv_otp_resume hi_drv_otp_suspend hi_log_out osal_dev_register osal_dev_unregister osal_exportfunc_get osal_printk osal_proc_add osal_proc_print osal_proc_remove osal_sem_destory osal_sem_down_interruptible osal_sem_init osal_sem_up osal_strtoul osal_vfree osal_vmalloc otp_drv_mod_exit otp_drv_mod_init otp_pm_resume otp_pm_suspend otp_proc_read printf snprintf_s strlen drv_otp_fake_otp_read_byte drv_otp_fake_otp_write_byte hal_otp_v100_read hal_otp_v100_read_byte hal_otp_v100_write hal_otp_v100_write_bit hal_otp_v100_write_byte memset_s osal_exportfunc_register osal_exportfunc_unregister otp_reg_deinit otp_reg_init otp_v100_disable_port otp_v100_get_ddplus_flag otp_v100_get_dts_flag otp_v100_get_hdcp_root_key_lock otp_v100_reset otp_v100_sem_deinit otp_v100_sem_init otp_v100_set_hdcp_root_key otp_v100_set_hdcp_root_key_lock g_p_otp_reg_base osal_ioremap_nocache osal_iounmap osal_udelay otp_read_reg otp_wait otp_write_reg g_pst_reg_crg memcpy_s hal_otp_v100_read_from_otp hal_otp_v100_wait_ready hal_otp_v100_write_to_otp libsec_shared.z.so libhi_soc.z.so libdrvsys.z.so libdrvlog.z.so libc.so libdrv_otp.z.so
drv_otp_writehdcprootkey drv_otp_setcustomerkey drv_otp_getcustomerkey drv_otp_set_hdcp_root_key otp_v100_set_hdcp_root_key drv_otp_get_hdcp_root_key drv_otp_set_stb_root_key drv_otp_get_stb_root_key drv_otp_set_customer_key drv_otp_get_customer_key hal_otp_v100_wait_ready otp_visual_test otp_v100_disable_port drv_otp_init otp_reg_init drv_otp_de_init otp_drv_mod_init drv_otp_write_bit hal_otp_v100_write_bit %s otp_proc_read_all_over hi_otp_user drv_otp_clear_fake_otp_buffer otp_proc_set_virtualotp otp_proc_set_otp hal_otp_v100_write_to_otp hal_otp_v100_read_from_otp drv_otp_set_normal_chip drv_otp_set_secure_chip drv_otp_open otp_v100_set_hdcp_root_key_lock drv_otp_set_stb_root_key_lock drv_otp_get_stb_root_key_lock drv_otp_set_id_word_lock otp_proc_allzero_check drv_otp_get_id_word_lock_flag drv_otp_write hal_otp_v100_write hal_otp_v100_read drv_otp_set_stb_priv_data drv_otp_get_stb_priv_data HI_OTP otp_calculate_crc16 vmalloc PROC_READ_ALL_BUF_SIZE failed! %08x %04x: addr = 0x%08x OTP set special test flag :0x%02x OTP set special test flag(0X%02x) : :0x%02x OTP set special test flag(0X%02x) :0x%02x OTP set special test flag(reset) :0x%02x u8_value = 0x%02x OTP get from fake buffer 1:all value is zero 1: all zero 0:not all zero OTP access error mode hi_drv_module_register otp failed hal_otp_v100_write_byte failed memcpy_s failed, err = %d memset_s failed, err = %d <===[Exit] ===>[Enter] can not get any value from OTP otp lowpower exit OK otp lowpower enter OK OTP resume OK OTP suspend OK OTP read all over: Attention: Readbuf check: write OTP bit ERROR! bit_pos >= 8 write OTP bit ERROR! bit_value > 1 checksum_read_disable is set to 1, can not verify chechsum write correct or not. echo zerocheck start end > /proc/msp/otp Check whether OTP is all 0 in the given address range. OTP enter access error test mode. ---------hisilicon OTP info--------- ---------Hisilicon otp Info End--------- ---------Hisilicon OTP Proc Read ERR--------- OTP get special test flag(0X%02x) wait otpc ready timeout! wait otpc power on timeout! addr must be aligned with 4 bytes! key_len err! otp disable port error! set hdcp_rootkey lock error! down_interruptible error! fail to write checksum! The read buffer is abnormal! fail to write checksum lock! invalid otp customer key length! otp ioremap failure! The contents of buf and reg are the same! drv_otp_set_hdcp_root_key failed! otp register init failed! otp mod init failed! get cipher functions failed! otp write failed! otp addr 0x%x is locked! HDCPKEY set ERROR! hdcp key or chechsum is locked! not supported for otpv100! 0:not all value is zero, addr:0x%x,value:0x%x !!! 2 Input 'addr' and 'data' must be take the '0x' prefix in hex format !!! 1 Operations must be carefully when setting data to otp !!! 3 Otp must be set byte by byte !!! write otp failed, ret = 0x%08x ! echo readbufcheck > /proc/msp/otp Check read buffer For example: echo write 0x******** 0x** > /proc/msp/otp cat /proc/msp/otp Display all proc information echo help > /proc/msp/otp Display help infomation echo write addr data > /proc/msp/otp Set data to addr in otp, byte by byte Usage as following: invalid input addr ! invalid input data, data should be type of HI_U8 !
Q: : { 3 { | help A readbufcheck 5B virtualotp iB write %C zerocheck D V : V @ ; V @E; V @y; V ; V 1< V a< V @ < V < V @ < V )= V @U= V = V > V -> V @]> V > V > V ? V M? V }? V ? V ? V @ @ V 1@ uA A
.ARM.exidx .text .got .got.plt .rel.plt .bss .ARM.attributes .dynstr .rel.dyn .dynsym .gnu.hash .note.gnu.build-id .dynamic .shstrtab .rodata .data
drv_otp_writehdcprootkey drv_otp_setcustomerkey drv_otp_getcustomerkey drv_otp_set_hdcp_root_key otp_v100_set_hdcp_root_key drv_otp_get_hdcp_root_key drv_otp_set_stb_root_key drv_otp_get_stb_root_key drv_otp_set_customer_key drv_otp_get_customer_key hal_otp_v100_wait_ready otp_visual_test otp_v100_disable_port drv_otp_init otp_reg_init drv_otp_de_init otp_drv_mod_init drv_otp_write_bit hal_otp_v100_write_bit %s otp_proc_read_all_over hi_otp_user drv_otp_clear_fake_otp_buffer otp_proc_set_virtualotp otp_proc_set_otp hal_otp_v100_write_to_otp hal_otp_v100_read_from_otp drv_otp_set_normal_chip drv_otp_set_secure_chip drv_otp_open otp_v100_set_hdcp_root_key_lock drv_otp_set_stb_root_key_lock drv_otp_get_stb_root_key_lock drv_otp_set_id_word_lock otp_proc_allzero_check drv_otp_get_id_word_lock_flag drv_otp_write hal_otp_v100_write hal_otp_v100_read drv_otp_set_stb_priv_data drv_otp_get_stb_priv_data HI_OTP otp_calculate_crc16 vmalloc PROC_READ_ALL_BUF_SIZE failed! %08x %04x: addr = 0x%08x OTP set special test flag :0x%02x OTP set special test flag(0X%02x) : :0x%02x OTP set special test flag(0X%02x) :0x%02x OTP set special test flag(reset) :0x%02x u8_value = 0x%02x OTP get from fake buffer 1:all value is zero 1: all zero 0:not all zero OTP access error mode hi_drv_module_register otp failed hal_otp_v100_write_byte failed memcpy_s failed, err = %d memset_s failed, err = %d <===[Exit] ===>[Enter] can not get any value from OTP otp lowpower exit OK otp lowpower enter OK OTP resume OK OTP suspend OK OTP read all over: Attention: Readbuf check: write OTP bit ERROR! bit_pos >= 8 write OTP bit ERROR! bit_value > 1 checksum_read_disable is set to 1, can not verify chechsum write correct or not. echo zerocheck start end > /proc/msp/otp Check whether OTP is all 0 in the given address range. OTP enter access error test mode. ---------hisilicon OTP info--------- ---------Hisilicon otp Info End--------- ---------Hisilicon OTP Proc Read ERR--------- OTP get special test flag(0X%02x) wait otpc ready timeout! wait otpc power on timeout! addr must be aligned with 4 bytes! key_len err! otp disable port error! set hdcp_rootkey lock error! down_interruptible error! fail to write checksum! The read buffer is abnormal! fail to write checksum lock! invalid otp customer key length! otp ioremap failure! The contents of buf and reg are the same! drv_otp_set_hdcp_root_key failed! otp register init failed! otp mod init failed! get cipher functions failed! otp write failed! otp addr 0x%x is locked! HDCPKEY set ERROR! hdcp key or chechsum is locked! not supported for otpv100! 0:not all value is zero, addr:0x%x,value:0x%x !!! 2 Input 'addr' and 'data' must be take the '0x' prefix in hex format !!! 1 Operations must be carefully when setting data to otp !!! 3 Otp must be set byte by byte !!! write otp failed, ret = 0x%08x ! echo readbufcheck > /proc/msp/otp Check read buffer For example: echo write 0x******** 0x** > /proc/msp/otp cat /proc/msp/otp Display all proc information echo help > /proc/msp/otp Display help infomation echo write addr data > /proc/msp/otp Set data to addr in otp, byte by byte Usage as following: invalid input addr ! invalid input data, data should be type of HI_U8 !
Q: : { 3 { | help A readbufcheck 5B virtualotp iB write %C zerocheck D V : V @ ; V @E; V @y; V ; V 1< V a< V @ < V < V @ < V )= V @U= V = V > V -> V @]> V > V > V ? V M? V }? V ? V ? V @ @ V 1@ uA A
.ARM.exidx .text .got .got.plt .rel.plt .bss .ARM.attributes .dynstr .rel.dyn .dynsym .gnu.hash .note.gnu.build-id .dynamic .shstrtab .rodata .data