| /* |
| * SPDX-License-Identifier: BSD-2-Clause |
| * |
| * Copyright (c) 2025 SiFive Inc. |
| */ |
| |
| #ifndef __FDT_CMO_HELPER_H__ |
| #define __FDT_CMO_HELPER_H__ |
| |
| #ifdef CONFIG_FDT_CACHE |
| /** |
| * Flush the private first level cache of the current hart |
| * |
| * @return 0 on success, or a negative error code on failure |
| */ |
| int fdt_cmo_private_flc_flush_all(void); |
| |
| /** |
| * Flush the last level cache of the current hart |
| * |
| * @return 0 on success, or a negative error code on failure |
| */ |
| int fdt_cmo_llc_flush_all(void); |
| |
| /** |
| * Initialize the cache devices for each hart |
| * |
| * @param fdt devicetree blob |
| * @param cold_boot cold init or warm init |
| * |
| * @return 0 on success, or a negative error code on failure |
| */ |
| int fdt_cmo_init(bool cold_boot); |
| |
| #else |
| |
| static inline int fdt_cmo_init(bool cold_boot) { return 0; } |
| |
| #endif /* CONFIG_FDT_CACHE */ |
| #endif /* __FDT_CMO_HELPER_H__ */ |