1 // Copyright (C) 2022 Beken Corporation 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #include "sys_hal.h" 16 #include "sys_driver.h" 17 #include "sys_driver_common.h" 18 19 /** Platform Start **/ 20 //Platform 21 22 /** Platform Misc Start **/ sys_drv_init()23void sys_drv_init() 24 { 25 uint32_t int_level = rtos_disable_int(); 26 27 sys_amp_res_init(); 28 sys_hal_init(); 29 30 rtos_enable_int(int_level); 31 } 32 33 /** Platform Misc End **/ 34 sys_drv_get_chip_id(void)35uint32 sys_drv_get_chip_id(void) 36 { 37 uint32 reg = 0; 38 uint32_t int_level = rtos_disable_int(); 39 40 reg = sys_hal_get_chip_id(); 41 42 rtos_enable_int(int_level); 43 44 return reg; 45 } 46 47 // Replace sddev_control(DD_DEV_TYPE_SCTRL,CMD_GET_DEVICE_ID, NULL) sys_drv_get_device_id(void)48uint32 sys_drv_get_device_id(void) 49 { 50 uint32 reg = 0; 51 uint32_t int_level = rtos_disable_int(); 52 53 reg = sys_hal_get_device_id(); 54 55 rtos_enable_int(int_level); 56 57 return reg; 58 } 59 sys_drv_set_jtag_mode(uint32 param)60int32 sys_drv_set_jtag_mode(uint32 param) 61 { 62 int32 ret = 0; 63 uint32_t int_level = rtos_disable_int(); 64 65 ret = sys_hal_set_jtag_mode(param); 66 rtos_enable_int(int_level); 67 68 return ret; 69 } 70 sys_drv_get_jtag_mode(void)71uint32 sys_drv_get_jtag_mode(void) 72 { 73 int32 ret = 0; 74 uint32_t int_level = rtos_disable_int(); 75 76 ret = sys_hal_get_jtag_mode(); 77 rtos_enable_int(int_level); 78 79 return ret; 80 } 81 sys_drv_en_tempdet(uint32_t value)82void sys_drv_en_tempdet(uint32_t value) 83 { 84 uint32_t int_level = rtos_disable_int(); 85 86 sys_hal_en_tempdet(value); 87 rtos_enable_int(int_level); 88 } 89 /** Platform End **/ 90 sys_drv_get_cpu_storage_connect_op_select_flash_sel(void)91uint32_t sys_drv_get_cpu_storage_connect_op_select_flash_sel(void) 92 { 93 return sys_hal_get_cpu_storage_connect_op_select_flash_sel(); 94 } 95 sys_drv_set_cpu_storage_connect_op_select_flash_sel(uint32_t value)96void sys_drv_set_cpu_storage_connect_op_select_flash_sel(uint32_t value) 97 { 98 sys_hal_set_cpu_storage_connect_op_select_flash_sel(value); 99 } 100 101 /** Misc Start **/ 102 //Misc 103 /** Misc End **/ 104 105 #if 1 system_driver_set_bts_wakeup_platform_en(bool value)106void system_driver_set_bts_wakeup_platform_en(bool value) 107 { 108 uint32_t ret = SYS_DRV_FAILURE; 109 ret = sys_amp_res_acquire(); 110 111 if(value) 112 sys_hal_set_bts_wakeup_platform_en(1); 113 else 114 sys_hal_set_bts_wakeup_platform_en(0); 115 116 if(!ret) 117 ret = sys_amp_res_release(); 118 119 } system_driver_get_bts_wakeup_platform_en()120uint32_t system_driver_get_bts_wakeup_platform_en() 121 { 122 return sys_hal_get_bts_wakeup_platform_en(); 123 } 124 system_driver_set_bts_sleep_exit_req(bool value)125void system_driver_set_bts_sleep_exit_req(bool value) 126 { 127 if(value) 128 sys_hal_set_bts_sleep_exit_req(1); 129 else 130 sys_hal_set_bts_sleep_exit_req(0); 131 } system_driver_get_bts_sleep_exit_req()132uint32_t system_driver_get_bts_sleep_exit_req() 133 { 134 return sys_hal_get_bts_sleep_exit_req(); 135 } 136 #endif 137 sys_drv_set_ana_trxt_tst_enable(uint32_t value)138void sys_drv_set_ana_trxt_tst_enable(uint32_t value) 139 { 140 uint32_t int_level = rtos_disable_int(); 141 142 sys_hal_set_ana_trxt_tst_enable(value); 143 rtos_enable_int(int_level); 144 } sys_drv_set_ana_scal_en(uint32_t value)145void sys_drv_set_ana_scal_en(uint32_t value) 146 { 147 uint32_t int_level = rtos_disable_int(); 148 149 sys_hal_set_ana_scal_en(value); 150 rtos_enable_int(int_level); 151 } sys_drv_set_ana_gadc_buf_ictrl(uint32_t value)152void sys_drv_set_ana_gadc_buf_ictrl(uint32_t value) 153 { 154 uint32_t int_level = rtos_disable_int(); 155 156 sys_hal_set_ana_gadc_buf_ictrl(value); 157 rtos_enable_int(int_level); 158 } sys_drv_set_ana_gadc_cmp_ictrl(uint32_t value)159void sys_drv_set_ana_gadc_cmp_ictrl(uint32_t value) 160 { 161 uint32_t int_level = rtos_disable_int(); 162 163 sys_hal_set_ana_gadc_cmp_ictrl(value); 164 rtos_enable_int(int_level); 165 } 166 sys_drv_set_ana_pwd_gadc_buf(uint32_t value)167void sys_drv_set_ana_pwd_gadc_buf(uint32_t value) 168 { 169 uint32_t int_level = rtos_disable_int(); 170 171 sys_hal_set_ana_pwd_gadc_buf(value); 172 rtos_enable_int(int_level); 173 } sys_drv_set_ana_vref_sel(uint32_t value)174void sys_drv_set_ana_vref_sel(uint32_t value) 175 { 176 uint32_t int_level = rtos_disable_int(); 177 178 sys_hal_set_ana_vref_sel(value); 179 rtos_enable_int(int_level); 180 } sys_drv_set_ana_cb_cal_manu(uint32_t value)181void sys_drv_set_ana_cb_cal_manu(uint32_t value) 182 { 183 uint32_t int_level = rtos_disable_int(); 184 185 sys_hal_set_ana_cb_cal_manu(value); 186 rtos_enable_int(int_level); 187 } sys_drv_set_ana_cb_cal_trig(uint32_t value)188void sys_drv_set_ana_cb_cal_trig(uint32_t value) 189 { 190 uint32_t int_level = rtos_disable_int(); 191 192 sys_hal_set_ana_cb_cal_trig(value); 193 rtos_enable_int(int_level); 194 } sys_drv_set_ana_cb_cal_manu_val(uint32_t value)195void sys_drv_set_ana_cb_cal_manu_val(uint32_t value) 196 { 197 uint32_t int_level = rtos_disable_int(); 198 199 sys_hal_set_ana_cb_cal_manu_val(value); 200 rtos_enable_int(int_level); 201 } 202 sys_drv_set_ana_vlsel_ldodig(uint32_t value)203void sys_drv_set_ana_vlsel_ldodig(uint32_t value) 204 { 205 uint32_t int_level = rtos_disable_int(); 206 sys_hal_set_ana_vlsel_ldodig(value); 207 rtos_enable_int(int_level); 208 } sys_drv_set_ana_vhsel_ldodig(uint32_t value)209void sys_drv_set_ana_vhsel_ldodig(uint32_t value) 210 { 211 uint32_t int_level = rtos_disable_int(); 212 sys_hal_set_ana_vhsel_ldodig(value); 213 rtos_enable_int(int_level); 214 } 215 sys_drv_set_ana_vctrl_sysldo(uint32_t value)216void sys_drv_set_ana_vctrl_sysldo(uint32_t value) 217 { 218 uint32_t int_level = rtos_disable_int(); 219 sys_hal_set_ana_vctrl_sysldo(value); 220 rtos_enable_int(int_level); 221 } 222 sys_drv_set_ana_vtempsel(uint32_t value)223void sys_drv_set_ana_vtempsel(uint32_t value) 224 { 225 uint32_t int_level = rtos_disable_int(); 226 sys_hal_set_ana_vtempsel(value); 227 rtos_enable_int(int_level); 228 } 229 230 231