1*8585bdadSSean Anderson /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later */ 25adae51aSIgal Liberman /* 35adae51aSIgal Liberman * Copyright 2008 - 2015 Freescale Semiconductor Inc. 45adae51aSIgal Liberman */ 5*8585bdadSSean Anderson 65adae51aSIgal Liberman #ifndef __FM_MURAM_EXT 75adae51aSIgal Liberman #define __FM_MURAM_EXT 85adae51aSIgal Liberman 95adae51aSIgal Liberman #include <linux/types.h> 105adae51aSIgal Liberman 115adae51aSIgal Liberman #define FM_MURAM_INVALID_ALLOCATION -1 125adae51aSIgal Liberman 135adae51aSIgal Liberman /* Structure for FM MURAM information */ 145adae51aSIgal Liberman struct muram_info; 155adae51aSIgal Liberman 165adae51aSIgal Liberman struct muram_info *fman_muram_init(phys_addr_t base, size_t size); 175adae51aSIgal Liberman 185adae51aSIgal Liberman unsigned long fman_muram_offset_to_vbase(struct muram_info *muram, 195adae51aSIgal Liberman unsigned long offset); 205adae51aSIgal Liberman 21287980e4SArnd Bergmann unsigned long fman_muram_alloc(struct muram_info *muram, size_t size); 225adae51aSIgal Liberman 238536aa06SMadalin Bucur void fman_muram_free_mem(struct muram_info *muram, unsigned long offset, 248536aa06SMadalin Bucur size_t size); 255adae51aSIgal Liberman 265adae51aSIgal Liberman #endif /* __FM_MURAM_EXT */ 27