bcm63xx_nvram.h 916 B

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