TERES/SOFTWARE/A64-TERES/u-boot_new/board/sunxi/common/pine64_model.c
Dimitar Gamishev 093685c7d8 u-boot
2017-10-13 14:02:55 +03:00

45 lines
803 B
C

#include <common.h>
DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_PINEBOOK_MODEL
int has_anx9807_chip(void);
#endif
int get_model_from_dram_size(char* model)
{
phys_size_t l = 512 * 1024 * 1024;
puts("get Pine64 model from DRAM size and used storage\n");
#ifdef CONFIG_PINEBOOK_MODEL
if (has_anx9807_chip()) {
puts("Pinebook: has ANX9807 chip\n");
sprintf(model, "pine64-pinebook");
} else
#endif
if (gd->ram_size > l) {
puts("DRAM >512M\n");
sprintf(model, "pine64-plus");
} else {
puts("DRAM <= 512M\n");
sprintf(model, "pine64");
}
return 0;
}
int pine64_set_model(void)
{
char model[128] = {0};
get_model_from_dram_size(model);
printf("Pine64 model: %s\n", model);
if(setenv("pine64_model", model))
{
printf("error:set variable [pine64_model] fail\n");
}
return 0;
}