mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 05:04:23 +08:00
meson: Add soc_rev to environment
Add SoC revision to environment. This can be useful to select the correct device tree at runtime (N2/N2+). Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch> Signed-off-by: Stefan Agner <stefan@agner.ch> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit is contained in:
parent
cf47c0e23a
commit
d42e7964d9
@ -7,6 +7,8 @@
|
||||
#ifndef __MESON_BOOT_H__
|
||||
#define __MESON_BOOT_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Boot device */
|
||||
#define BOOT_DEVICE_RESERVED 0
|
||||
#define BOOT_DEVICE_EMMC 1
|
||||
@ -17,4 +19,6 @@
|
||||
|
||||
int meson_get_boot_device(void);
|
||||
|
||||
int meson_get_soc_rev(char *buff, size_t buff_len);
|
||||
|
||||
#endif /* __MESON_BOOT_H__ */
|
||||
|
@ -187,3 +187,15 @@ int show_board_info(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int meson_get_soc_rev(char *buff, size_t buff_len)
|
||||
{
|
||||
unsigned int socinfo;
|
||||
|
||||
socinfo = get_socinfo();
|
||||
if (!socinfo)
|
||||
return -1;
|
||||
|
||||
/* Write SoC info */
|
||||
return snprintf(buff, buff_len, "%x", socinfo_to_minor(socinfo));
|
||||
}
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/sm.h>
|
||||
#include <asm/arch/eth.h>
|
||||
#include <asm/arch/boot.h>
|
||||
|
||||
#define EFUSE_MAC_OFFSET 20
|
||||
#define EFUSE_MAC_SIZE 12
|
||||
@ -23,6 +24,10 @@ int misc_init_r(void)
|
||||
char efuse_mac_addr[EFUSE_MAC_SIZE], tmp[3];
|
||||
ssize_t len;
|
||||
|
||||
if (IS_ENABLED(CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG) &&
|
||||
meson_get_soc_rev(tmp, sizeof(tmp)) > 0)
|
||||
env_set("soc_rev", tmp);
|
||||
|
||||
meson_eth_init(PHY_INTERFACE_MODE_RGMII, 0);
|
||||
|
||||
if (!eth_env_get_enetaddr("ethaddr", mac_addr)) {
|
||||
|
Loading…
Reference in New Issue
Block a user