[coreboot] Stops at 0xD2

Riko Ho antonius.riko at gmail.com
Wed Oct 26 03:36:38 CEST 2016


Everyone,

I tried to initialize UART on IT8718F and it stopped at 0xD2...
Here's the complete function, any clues ?

Cheers
===============
void mainboard_romstage_entry(unsigned long bist)
{
    int s3resume = 0, boot_mode = 0;

    if (bist == 0)
        enable_lapic();

    ich7_enable_lpc();
        post_code(0xD1);
    /* Enable SuperIO PM */
    //lpc47m15x_enable_serial(PME_DEV, 0x680);
    //lpc47m15x_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE); /* 0x3f8 */
        //enable_dev(SERIAL_DEV);
        //ite_conf_clkin();//needs a parameter, what is it ?

        /*
        04:24:31 AM) idwer: 24 or 48 MHz?

    (04:25:18 AM) idwer: how do you find out? run superiotool when
having booted with the vendor bios, and look at            register
CR23
         */
    //ite_conf_clkin(CLKIN_DEV, ITE_UART_CLK_PREDIVIDE_24);
        ite_conf_clkin(CLKIN_DEV, ITE_UART_CLK_PREDIVIDE_48);


        ite_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE); /* 0x3f8 */
        //printk(BIOS_DEBUG,"HELLO WORLD FROM COREBOOT BY RIKO HO...\n");
        //it8716f_enable_dev(SERIAL_DEV, CONFIG_TTYS0_BASE);
    it8718f_disable_reboot(GPIO_DEV);
    /* Set up the console */
    console_init();
        post_code(0xD2);
        printk(BIOS_DEBUG,"HELLO WORLD FROM COREBOOT ...\n");
        halt();
        post_code(0xD3);



    /* Halt if there was a built in self test failure */
    report_bist_failure(bist);

    if (MCHBAR16(SSKPD) == 0xCAFE) {
        printk(BIOS_DEBUG, "soft reset detected.\n");
        boot_mode = 1;
    }

    /* Perform some early chipset initialization required
     * before RAM initialization can work
     */
    i945_early_initialization();
        post_code(0xD4);
    s3resume = southbridge_detect_s3_resume();

    /* Enable SPD ROMs and DDR-II DRAM */
    enable_smbus();

#if CONFIG_DEFAULT_CONSOLE_LOGLEVEL > 8
    dump_spd_registers();
#endif

    sdram_initialize(s3resume ? 2 : boot_mode, NULL);

    /* Perform some initialization that must run before stage2 */
    early_ich7_init();

    /* This should probably go away. Until now it is required
     * and mainboard specific
     */
    rcba_config();

    /* Chipset Errata! */
    fixup_i945_errata();

    /* Initialize the internal PCIe links before we go into stage2 */
    i945_late_initialization(s3resume);
}



More information about the coreboot mailing list