/* Locate VBT and pass it to FSP GOP */ void load_vbt(uint8_t s3_resume, SILICON_INIT_UPD *params) { const optionrom_vbt_t *vbt_data = NULL; size_t vbt_len; /* Check boot mode - for S3 resume path VBT loading is not needed */ if (s3_resume) { printk(BIOS_DEBUG, "S3 resume do not pass VBT to GOP\n"); } else if (display_init_required()) { /* Get VBT data */ vbt_data = locate_vbt(&vbt_len); if (vbt_data != NULL) { if (CONFIG(DISPLAY_VBT)) { /* Display the vbt file contents */ printk(BIOS_DEBUG, "VBT Data:\n"); hexdump(vbt_data, vbt_len); printk(BIOS_DEBUG, "\n"); } printk(BIOS_DEBUG, "Passing VBT to GOP\n"); } else { printk(BIOS_DEBUG, "VBT not found!\n"); } } else { printk(BIOS_DEBUG, "Not passing VBT to GOP\n"); } params->GraphicsConfigPtr = (u32)vbt_data; }
static void soc_init(device_t dev) { if (display_init_required()) display_startup(dev); else printk(BIOS_INFO, "Skipping display init.\n"); printk(BIOS_INFO, "CPU: Tegra124\n"); }
void *vbt_get(void) { if (!IS_ENABLED(CONFIG_RUN_FSP_GOP)) return NULL; /* Normal mode and S3 resume path PEIM GFX init is not needed. * Passing NULL as VBT will not make PEIM GFX to execute. */ if (acpi_is_wakeup_s3()) return NULL; if (!display_init_required()) return NULL; return locate_vbt(NULL); }
static void soc_init(struct device *dev) { /* * Reserve the whole TZRAM area because it will be marked as secure-only * by BL31 and can not be accessed by the non-secure kernel. */ mmio_resource(dev, 1, (TZRAM_BASE / KiB), (TZRAM_SIZE / KiB)); if (IS_ENABLED(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT) && display_init_required()) rk_display_init(dev); else printk(BIOS_INFO, "Display initialization disabled.\n"); /* We don't need big CPUs, but bring them up as a courtesy to Linux. */ rkclk_configure_cpu(APLL_600_MHZ, CPU_CLUSTER_BIG); }
static void soc_init(device_t dev) { struct soc_nvidia_tegra210_config *cfg; clock_init_arm_generic_timer(); cfg = dev->chip_info; spintable_init((void *)cfg->spintable_addr); arch_initialize_cpus(dev, &cntrl_ops); if (!IS_ENABLED(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT)) return; if (display_init_required()) display_startup(dev); else printk(BIOS_INFO, "Skipping display init.\n"); }