52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
|
/* Copyright 2015 The Chromium OS Authors. All rights reserved.
|
||
|
* Use of this source code is governed by a BSD-style license that can be
|
||
|
* found in the LICENSE file.
|
||
|
*/
|
||
|
|
||
|
/* INTC control module for IT83xx. */
|
||
|
|
||
|
#ifndef __CROS_EC_INTC_H
|
||
|
#define __CROS_EC_INTC_H
|
||
|
|
||
|
/*
|
||
|
* The DSB instruction guarantees a modified architecture or hardware state
|
||
|
* can be seen by any following dependent data operations.
|
||
|
*/
|
||
|
static inline void data_serialization_barrier(void)
|
||
|
{
|
||
|
if (IS_ENABLED(CHIP_CORE_NDS32))
|
||
|
asm volatile ("dsb");
|
||
|
}
|
||
|
|
||
|
int intc_get_ec_int(void);
|
||
|
void pm1_ibf_interrupt(void);
|
||
|
void pm2_ibf_interrupt(void);
|
||
|
void pm3_ibf_interrupt(void);
|
||
|
void pm4_ibf_interrupt(void);
|
||
|
void pm5_ibf_interrupt(void);
|
||
|
void lpcrst_interrupt(enum gpio_signal signal);
|
||
|
void peci_interrupt(void);
|
||
|
void adc_interrupt(void);
|
||
|
void i2c_interrupt(int port);
|
||
|
#ifdef CONFIG_I2C_SLAVE
|
||
|
void i2c_slv_interrupt(int port);
|
||
|
#endif
|
||
|
void clock_sleep_mode_wakeup_isr(void);
|
||
|
int clock_ec_wake_from_sleep(void);
|
||
|
void __enter_hibernate(uint32_t seconds, uint32_t microseconds);
|
||
|
void espi_reset_pin_asserted_interrupt(enum gpio_signal signal);
|
||
|
void espi_fw_reset_module(void);
|
||
|
void espi_interrupt(void);
|
||
|
void espi_vw_interrupt(void);
|
||
|
void espi_enable_pad(int enable);
|
||
|
void espi_init(void);
|
||
|
int chip_get_intc_group(int irq);
|
||
|
void clock_cpu_standby(void);
|
||
|
|
||
|
#if defined(CONFIG_HOSTCMD_X86) && defined(HAS_TASK_KEYPROTO)
|
||
|
void lpc_kbc_ibf_interrupt(void);
|
||
|
void lpc_kbc_obe_interrupt(void);
|
||
|
#endif
|
||
|
|
||
|
#endif /* __CROS_EC_INTC_H */
|