static void lpc_init(void) { /* Activate LPC interface */ MEC1322_LPC_ACT |= 1; /* Initialize host args and memory map to all zero */ memset(lpc_host_args, 0, sizeof(*lpc_host_args)); memset(lpc_get_memmap_range(), 0, EC_MEMMAP_SIZE); setup_lpc(); /* Restore event masks if needed */ lpc_post_sysjump(); }
void girq19_interrupt(void) { /* Check interrupt result for LRESET# trigger */ if (MEC1322_INT_RESULT(19) & (1 << 1)) { /* Initialize LPC module when LRESET# is deasserted */ if (!lpc_get_pltrst_asserted()) { setup_lpc(); } else { /* Store port 80 reset event */ port_80_write(PORT_80_EVENT_RESET); } CPRINTS("LPC RESET# %sasserted", lpc_get_pltrst_asserted() ? "" : "de"); /* Clear interrupt source */ MEC1322_INT_SOURCE(19) = 1 << 1; } }
static void lpc_init(void) { /* Activate LPC interface */ MEC1322_LPC_ACT |= 1; /* * Ring Oscillator not permitted to shut down * until LPC activate bit is cleared */ MEC1322_LPC_CLK_CTRL |= 3; /* Initialize host args and memory map to all zero */ memset(lpc_host_args, 0, sizeof(*lpc_host_args)); memset(lpc_get_memmap_range(), 0, EC_MEMMAP_SIZE); setup_lpc(); /* Restore event masks if needed */ lpc_post_sysjump(); }
void girq19_interrupt(void) { /* Check interrupt result for LRESET# trigger */ if (MEC1322_INT_RESULT(19) & (1 << 1)) { /* Initialize LPC module when LRESET# is deasserted */ if (!lpc_get_pltrst_asserted()) { setup_lpc(); } else { /* Store port 80 reset event */ port_80_write(PORT_80_EVENT_RESET); #ifdef CONFIG_CHIPSET_RESET_HOOK /* Notify HOOK_CHIPSET_RESET */ hook_call_deferred(&lpc_chipset_reset_data, MSEC); #endif } CPRINTS("LPC RESET# %sasserted", lpc_get_pltrst_asserted() ? "" : "de"); /* Clear interrupt source */ MEC1322_INT_SOURCE(19) = 1 << 1; } }