// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2018-2022 Marvell International Ltd. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include u8 *cvmx_fau_regs_ptr; void cvmx_fau_bootmem_init(void *bootmem) { memset(bootmem, 0, CVMX_FAU_MAX_REGISTERS_8); } /** * Initializes FAU region for devices without FAU unit. * @return 0 on success -1 on failure */ int cvmx_fau_init(void) { cvmx_fau_regs_ptr = (u8 *)cvmx_bootmem_alloc_named_range_once( CVMX_FAU_MAX_REGISTERS_8, 0, 1ull << 31, 128, "cvmx_fau_registers", cvmx_fau_bootmem_init); if (cvmx_fau_regs_ptr == 0ull) { debug("ERROR: Failed to alloc named block for software FAU.\n"); return -1; } return 0; }