• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 /**  Video Start **/
sys_drv_lcd_set(uint8_t clk_src_sel,uint8_t clk_div_l,uint8_t clk_div_h,uint8_t int_en,uint8_t clk_always_on)20 uint32_t sys_drv_lcd_set(uint8_t clk_src_sel, uint8_t clk_div_l, uint8_t clk_div_h, uint8_t int_en,uint8_t clk_always_on)
21 {
22 	uint32_t int_level = rtos_disable_int();
23 	uint32_t ret = SYS_DRV_FAILURE;
24 	ret = sys_amp_res_acquire();
25 
26 	sys_hal_lcd_disp_clk_en(clk_src_sel, clk_div_l,clk_div_h, int_en, clk_always_on);
27 
28 	if(!ret)
29 		ret = sys_amp_res_release();
30 
31 	rtos_enable_int(int_level);
32 
33 	return ret;
34 }
35 
sys_drv_lcd_close(void)36 uint32_t sys_drv_lcd_close(void)
37 {
38 	uint32_t int_level = rtos_disable_int();
39 	uint32_t ret = SYS_DRV_FAILURE;
40 	ret = sys_amp_res_acquire();
41 
42 	sys_hal_lcd_disp_close();
43 
44 	if(!ret)
45 		ret = sys_amp_res_release();
46 
47 	rtos_enable_int(int_level);
48 
49 	return ret;
50 }
51 
sys_drv_dma2d_set(uint8_t clk_always_on,uint8_t sys_int_en)52 uint32_t sys_drv_dma2d_set(uint8_t clk_always_on, uint8_t sys_int_en)
53 {
54 	uint32_t int_level = rtos_disable_int();
55 	uint32_t ret = SYS_DRV_FAILURE;
56 	ret = sys_amp_res_acquire();
57 
58 	sys_hal_dma2d_clk_en(clk_always_on, sys_int_en);
59 	if(!ret)
60 		ret = sys_amp_res_release();
61 
62 	rtos_enable_int(int_level);
63 
64 	return ret;
65 }
66 
sys_drv_jpeg_dec_set(uint8_t clk_always_on,uint8_t int_en)67 uint32_t sys_drv_jpeg_dec_set(uint8_t clk_always_on, uint8_t int_en)
68 {
69 	uint32_t int_level = rtos_disable_int();
70 	uint32_t ret = SYS_DRV_FAILURE;
71 	ret = sys_amp_res_acquire();
72 
73 	sys_hal_jpeg_dec_ctrl(clk_always_on, int_en);
74 	if(!ret)
75 		ret = sys_amp_res_release();
76 	rtos_enable_int(int_level);
77 
78 	return ret;
79 }
80 
81 /**  Video End **/
82 
83 /**  Jpeg Start **/
sys_drv_mclk_mux_set(uint32_t value)84 uint32_t sys_drv_mclk_mux_set(uint32_t value)
85 {
86 	uint32_t int_level = rtos_disable_int();
87 	uint32_t ret = SYS_DRV_FAILURE;
88 	ret = sys_amp_res_acquire();
89 
90 	sys_hal_mclk_mux_set(value);
91 
92 	if(!ret)
93 		ret = sys_amp_res_release();
94 
95 	rtos_enable_int(int_level);
96 	return ret;
97 }
98 
sys_drv_set_jpeg_clk_sel(uint32_t value)99 uint32_t sys_drv_set_jpeg_clk_sel(uint32_t value)
100 {
101 	uint32_t int_level = rtos_disable_int();
102 
103 	sys_hal_set_jpeg_clk_sel(value);
104 	rtos_enable_int(int_level);
105 	return SYS_DRV_SUCCESS;
106 }
107 
sys_drv_set_clk_div_mode1_clkdiv_jpeg(uint32_t value)108 uint32_t sys_drv_set_clk_div_mode1_clkdiv_jpeg(uint32_t value)
109 {
110 	uint32_t int_level = rtos_disable_int();
111 	uint32_t ret = SYS_DRV_FAILURE;
112 	ret = sys_amp_res_acquire();
113 
114 	sys_hal_set_clk_div_mode1_clkdiv_jpeg(value);
115 
116 	if(!ret)
117 		ret = sys_amp_res_release();
118 
119 	rtos_enable_int(int_level);
120 	return ret;
121 }
122 
sys_drv_set_jpeg_disckg(uint32_t value)123 uint32_t sys_drv_set_jpeg_disckg(uint32_t value)
124 {
125 	uint32_t int_level = rtos_disable_int();
126 	uint32_t ret = SYS_DRV_FAILURE;
127 	ret = sys_amp_res_acquire();
128 	sys_hal_set_jpeg_disckg(value);
129 
130 	if(!ret)
131 		ret = sys_amp_res_release();
132 	rtos_enable_int(int_level);
133 	return ret;
134 }
135 
sys_drv_set_cpu_clk_div_mode1_clkdiv_bus(uint32_t value)136 uint32_t sys_drv_set_cpu_clk_div_mode1_clkdiv_bus(uint32_t value)
137 {
138 	uint32_t int_level = rtos_disable_int();
139 	uint32_t ret = SYS_DRV_FAILURE;
140 	ret = sys_amp_res_acquire();
141 
142 	sys_hal_set_cpu_clk_div_mode1_clkdiv_bus(value);
143 
144 	if(!ret)
145 		ret = sys_amp_res_release();
146 
147 	rtos_enable_int(int_level);
148 	return ret;
149 }
150 
sys_drv_video_power_en(uint32_t value)151 uint32_t sys_drv_video_power_en(uint32_t value)
152 {
153 	uint32_t int_level = rtos_disable_int();
154 	uint32_t ret = SYS_DRV_FAILURE;
155 	ret = sys_amp_res_acquire();
156 
157 	sys_hal_video_power_en(value);
158 
159 	if(!ret)
160 		ret = sys_amp_res_release();
161 
162 
163 	rtos_enable_int(int_level);
164 	return ret;
165 }
166 
sys_drv_set_auxs(uint32_t cksel,uint32_t ckdiv)167 uint32_t sys_drv_set_auxs(uint32_t cksel, uint32_t ckdiv)
168 {
169 	uint32_t int_level = rtos_disable_int();
170 	uint32_t ret = SYS_DRV_FAILURE;
171 
172 	sys_hal_set_auxs_clk_sel(cksel);
173 	sys_hal_set_auxs_clk_div(ckdiv);
174 
175 	if(!ret)
176 		ret = sys_amp_res_release();
177 
178 	rtos_enable_int(int_level);
179 	return ret;
180 }
181 
182 /**  Jpeg End **/
183 
184