aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale/fman/fman_muram.h
blob: 3643af61bae26c9f275bf874871784559dc29783 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later */
/*
 * Copyright 2008 - 2015 Freescale Semiconductor Inc.
 */

#ifndef __FM_MURAM_EXT
#define __FM_MURAM_EXT

#include <linux/types.h>

#define FM_MURAM_INVALID_ALLOCATION	-1

/* Structure for FM MURAM information */
struct muram_info;

struct muram_info *fman_muram_init(phys_addr_t base, size_t size);

unsigned long fman_muram_offset_to_vbase(struct muram_info *muram,
					 unsigned long offset);

unsigned long fman_muram_alloc(struct muram_info *muram, size_t size);

void fman_muram_free_mem(struct muram_info *muram, unsigned long offset,
			 size_t size);

#endif /* __FM_MURAM_EXT */