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 */ 37