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