35
35
36
36
#define ICACHE_CLEAN BIT(2)
37
37
#define DCACHE_CLEAN BIT(1)
38
- #define CACHE_EANABLE BIT(0)
38
+ #define CACHE_ENABLE BIT(0)
39
39
40
40
/* cache size = 32B * 128 = 4KB */
41
41
#define CACHE_LINE_SIZE_LOG2 5
@@ -62,7 +62,7 @@ static void aspeed_cache_init(void)
62
62
syscon_write_reg (dev , CACHE_AREA_CTRL_REG , GENMASK (end_bit , start_bit ));
63
63
64
64
/* enable cache */
65
- syscon_write_reg (dev , CACHE_FUNC_CTRL_REG , CACHE_EANABLE );
65
+ syscon_write_reg (dev , CACHE_FUNC_CTRL_REG , CACHE_ENABLE );
66
66
}
67
67
68
68
/**
@@ -129,13 +129,12 @@ void cache_instr_disable(void)
129
129
syscon_write_reg (dev , CACHE_FUNC_CTRL_REG , 0 );
130
130
}
131
131
132
- int cache_data_all ( int op )
132
+ int cache_data_invd_all ( void )
133
133
{
134
134
const struct device * const dev = DEVICE_DT_GET (DT_NODELABEL (syscon ));
135
135
uint32_t ctrl ;
136
136
unsigned int key = 0 ;
137
137
138
- ARG_UNUSED (op );
139
138
syscon_read_reg (dev , CACHE_FUNC_CTRL_REG , & ctrl );
140
139
141
140
/* enter critical section */
@@ -159,14 +158,12 @@ int cache_data_all(int op)
159
158
return 0 ;
160
159
}
161
160
162
- int cache_data_range (void * addr , size_t size , int op )
161
+ int cache_data_invd_range (void * addr , size_t size )
163
162
{
164
163
uint32_t aligned_addr , i , n ;
165
164
const struct device * const dev = DEVICE_DT_GET (DT_NODELABEL (syscon ));
166
165
unsigned int key = 0 ;
167
166
168
- ARG_UNUSED (op );
169
-
170
167
if (((uint32_t )addr < CACHED_SRAM_ADDR ) ||
171
168
((uint32_t )addr > CACHED_SRAM_END )) {
172
169
return 0 ;
@@ -194,14 +191,12 @@ int cache_data_range(void *addr, size_t size, int op)
194
191
return 0 ;
195
192
}
196
193
197
- int cache_instr_all ( int op )
194
+ int cache_instr_invd_all ( void )
198
195
{
199
196
const struct device * const dev = DEVICE_DT_GET (DT_NODELABEL (syscon ));
200
197
uint32_t ctrl ;
201
198
unsigned int key = 0 ;
202
199
203
- ARG_UNUSED (op );
204
-
205
200
syscon_read_reg (dev , CACHE_FUNC_CTRL_REG , & ctrl );
206
201
207
202
/* enter critical section */
@@ -224,14 +219,12 @@ int cache_instr_all(int op)
224
219
return 0 ;
225
220
}
226
221
227
- int cache_instr_range (void * addr , size_t size , int op )
222
+ int cache_instr_invd_range (void * addr , size_t size )
228
223
{
229
224
uint32_t aligned_addr , i , n ;
230
225
const struct device * const dev = DEVICE_DT_GET (DT_NODELABEL (syscon ));
231
226
unsigned int key = 0 ;
232
227
233
- ARG_UNUSED (op );
234
-
235
228
if (((uint32_t )addr < CACHED_SRAM_ADDR ) ||
236
229
((uint32_t )addr > CACHED_SRAM_END )) {
237
230
return 0 ;
@@ -259,6 +252,59 @@ int cache_instr_range(void *addr, size_t size, int op)
259
252
return 0 ;
260
253
}
261
254
255
+ int cache_data_flush_all (void )
256
+ {
257
+ return - ENOTSUP ;
258
+ }
259
+
260
+ int cache_data_flush_and_invd_all (void )
261
+ {
262
+ return - ENOTSUP ;
263
+ }
264
+
265
+ int cache_data_flush_range (void * addr , size_t size )
266
+ {
267
+ ARG_UNUSED (addr );
268
+ ARG_UNUSED (size );
269
+
270
+ return - ENOTSUP ;
271
+ }
272
+
273
+ int cache_data_flush_and_invd_range (void * addr , size_t size )
274
+ {
275
+ ARG_UNUSED (addr );
276
+ ARG_UNUSED (size );
277
+
278
+ return - ENOTSUP ;
279
+ }
280
+
281
+ int cache_instr_flush_all (void )
282
+ {
283
+ return - ENOTSUP ;
284
+ }
285
+
286
+ int cache_instr_flush_and_invd_all (void )
287
+ {
288
+ return - ENOTSUP ;
289
+ }
290
+
291
+ int cache_instr_flush_range (void * addr , size_t size )
292
+ {
293
+ ARG_UNUSED (addr );
294
+ ARG_UNUSED (size );
295
+
296
+ return - ENOTSUP ;
297
+ }
298
+
299
+ int cache_instr_flush_and_invd_range (void * addr , size_t size )
300
+ {
301
+ ARG_UNUSED (addr );
302
+ ARG_UNUSED (size );
303
+
304
+ return - ENOTSUP ;
305
+ }
306
+
307
+
262
308
#ifdef CONFIG_DCACHE_LINE_SIZE_DETECT
263
309
size_t cache_data_line_size_get (void )
264
310
{
@@ -267,7 +313,7 @@ size_t cache_data_line_size_get(void)
267
313
268
314
syscon_read_reg (dev , CACHE_FUNC_CTRL_REG , & ctrl );
269
315
270
- return (ctrl & CACHE_EANABLE ) ? CACHE_LINE_SIZE : 0 ;
316
+ return (ctrl & CACHE_ENABLE ) ? CACHE_LINE_SIZE : 0 ;
271
317
}
272
318
#endif /* CONFIG_DCACHE_LINE_SIZE_DETECT */
273
319
@@ -279,6 +325,6 @@ size_t cache_instr_line_size_get(void)
279
325
280
326
syscon_read_reg (dev , CACHE_FUNC_CTRL_REG , & ctrl );
281
327
282
- return (ctrl & CACHE_EANABLE ) ? CACHE_LINE_SIZE : 0 ;
328
+ return (ctrl & CCHE_EANABLE ) ? CACHE_LINE_SIZE : 0 ;
283
329
}
284
330
#endif /* CONFIG_ICACHE_LINE_SIZE_DETECT */
0 commit comments