Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / arch / mips / include / asm / mach-bcm63xx / bcm63xx_nvram.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef BCM63XX_NVRAM_H
3 #define BCM63XX_NVRAM_H
4
5 #include <linux/types.h>
6
7 /**
8  * bcm63xx_nvram_init() - initializes nvram
9  * @nvram:      address of the nvram data
10  *
11  * Initialized the local nvram copy from the target address and checks
12  * its checksum.
13  */
14 void bcm63xx_nvram_init(void *nvram);
15
16 /**
17  * bcm63xx_nvram_get_name() - returns the board name according to nvram
18  *
19  * Returns the board name field from nvram. Note that it might not be
20  * null terminated if it is exactly 16 bytes long.
21  */
22 u8 *bcm63xx_nvram_get_name(void);
23
24 /**
25  * bcm63xx_nvram_get_mac_address() - register & return a new mac address
26  * @mac:        pointer to array for allocated mac
27  *
28  * Registers and returns a mac address from the allocated macs from nvram.
29  *
30  * Returns 0 on success.
31  */
32 int bcm63xx_nvram_get_mac_address(u8 *mac);
33
34 int bcm63xx_nvram_get_psi_size(void);
35
36 #endif /* BCM63XX_NVRAM_H */