void main(void) { /* Globally disable MMU, caches, and branch prediction (these should * be disabled by default on reset) */ dcache_mmu_disable(); /* * Re-enable icache and branch prediction. MMU and dcache will be * set up later. * * Note: If booting from USB, we need to disable branch prediction * before copying from USB into RAM (FIXME: why?) */ if (boot_cpu()) { //bootblock_cpu_init(); //bootblock_mainboard_init(); } #if IS_ENABLED(CONFIG_BOOTBLOCK_CONSOLE) console_init(); exception_init(); #endif run_romstage(); }
/* C code entry point for the boot block */ void bootblock_main(const uint64_t reg_x0, const uint64_t reg_pc) { uint64_t base_timestamp = 0; init_timer(); if (IS_ENABLED(CONFIG_COLLECT_TIMESTAMPS)) base_timestamp = timestamp_get(); /* Initialize timestamps if we have TIMESTAMP region in memlayout.ld. */ if (IS_ENABLED(CONFIG_COLLECT_TIMESTAMPS) && _timestamp_size > 0) timestamp_init(base_timestamp); bootblock_soc_early_init(); bootblock_mainboard_early_init(); if (IS_ENABLED(CONFIG_BOOTBLOCK_CONSOLE)) { console_init(); exception_init(); if (reg_x0) printk(BIOS_ERR, "BOOTBLOCK: RST Boot Failure Code %lld\n", reg_x0); } bootblock_soc_init(); bootblock_mainboard_init(); run_romstage(); }
void main(void) { void *entry; console_init(); exception_init(); run_romstage(); }
void main(void) { bootblock_cpu_init(); bootblock_mainboard_init(); #if CONFIG_BOOTBLOCK_CONSOLE console_init(); #endif bootblock_mmu_init(); run_romstage(); }
void main(void) { init_timer(); if (IS_ENABLED(CONFIG_HAS_PRECBMEM_TIMESTAMP_REGION)) timestamp_init(timestamp_get()); bootblock_mainboard_early_init(); #if CONFIG_BOOTBLOCK_CONSOLE console_init(); exception_init(); #endif bootblock_soc_init(); bootblock_mainboard_init(); run_romstage(); }
void main(void) { // enable pinmux clamp inputs clamp_tristate_inputs(); // enable JTAG at the earliest stage enable_jtag(); clock_early_uart(); // Serial out, tristate off. pinmux_set_config(PINMUX_KB_ROW9_INDEX, PINMUX_KB_ROW9_FUNC_UA3); // Serial in, tristate_on. pinmux_set_config(PINMUX_KB_ROW10_INDEX, PINMUX_KB_ROW10_FUNC_UA3 | PINMUX_PULL_UP | PINMUX_INPUT_ENABLE); // Mux some pins away from uart A. pinmux_set_config(PINMUX_UART2_CTS_N_INDEX, PINMUX_UART2_CTS_N_FUNC_UB3 | PINMUX_INPUT_ENABLE); pinmux_set_config(PINMUX_UART2_RTS_N_INDEX, PINMUX_UART2_RTS_N_FUNC_UB3); if (CONFIG_BOOTBLOCK_CONSOLE) { console_init(); exception_init(); } clock_init(); bootblock_mainboard_init(); pinmux_set_config(PINMUX_CORE_PWR_REQ_INDEX, PINMUX_CORE_PWR_REQ_FUNC_PWRON); pinmux_set_config(PINMUX_CPU_PWR_REQ_INDEX, PINMUX_CPU_PWR_REQ_FUNC_CPU); pinmux_set_config(PINMUX_PWR_INT_N_INDEX, PINMUX_PWR_INT_N_FUNC_PMICINTR | PINMUX_INPUT_ENABLE); run_romstage(); }
void main(void) { bootblock_cpu_init(); /* Mainboard basic init */ bootblock_mainboard_init(); #if CONFIG_BOOTBLOCK_CONSOLE console_init(); #endif bootblock_mmu_init(); if (init_extra_hardware()) { printk(BIOS_ERR, "bootblock_simple: failed to init HW.\n"); } else { run_romstage(); } halt(); }
asmlinkage void bootblock_main_with_timestamp(uint64_t base_timestamp) { /* Initialize timestamps if we have TIMESTAMP region in memlayout.ld. */ if (IS_ENABLED(CONFIG_COLLECT_TIMESTAMPS) && _timestamp_size > 0) timestamp_init(base_timestamp); cmos_post_init(); bootblock_soc_early_init(); bootblock_mainboard_early_init(); if (IS_ENABLED(CONFIG_BOOTBLOCK_CONSOLE)) { console_init(); exception_init(); } bootblock_soc_init(); bootblock_mainboard_init(); run_romstage(); }
void main(void) { // enable JTAG at the earliest stage enable_jtag(); clock_early_uart(); /* Configure mselect clock. */ clock_configure_source(mselect, PLLP, 102000); /* Enable AVP cache, timer, APB dma, and mselect blocks. */ clock_enable_clear_reset(CLK_L_CACHE2 | CLK_L_TMR, CLK_H_APBDMA, 0, CLK_V_MSELECT, 0, 0); /* Find ODMDATA in IRAM and save it to scratch reg */ save_odmdata(); bootblock_mainboard_early_init(); if (CONFIG_BOOTBLOCK_CONSOLE) { console_init(); exception_init(); printk(BIOS_INFO, "T132: Bootblock here\n"); } clock_init(); printk(BIOS_INFO, "T132 bootblock: Clock init done\n"); pmc_print_rst_status(); bootblock_mainboard_init(); printk(BIOS_INFO, "T132 bootblock: Mainboard bootblock init done\n"); run_romstage(); }