diff options
Diffstat (limited to 'chip/it83xx/hwtimer_chip.h')
-rw-r--r-- | chip/it83xx/hwtimer_chip.h | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/chip/it83xx/hwtimer_chip.h b/chip/it83xx/hwtimer_chip.h deleted file mode 100644 index 2ccdce1d96..0000000000 --- a/chip/it83xx/hwtimer_chip.h +++ /dev/null @@ -1,93 +0,0 @@ -/* 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. - */ - -/* External timers control module for IT83xx. */ - -#ifndef __CROS_EC_HWTIMER_CHIP_H -#define __CROS_EC_HWTIMER_CHIP_H - -#define TIMER_COUNT_1US_SHIFT 3 - -/* Microseconds to event timer counter setting register */ -#define EVENT_TIMER_US_TO_COUNT(us) ((us) << TIMER_COUNT_1US_SHIFT) -/* Event timer counter observation value to microseconds */ -#define EVENT_TIMER_COUNT_TO_US(cnt) ((cnt) >> TIMER_COUNT_1US_SHIFT) - -#define FREE_EXT_TIMER_L EXT_TIMER_3 -#define FREE_EXT_TIMER_H EXT_TIMER_4 -#define FAN_CTRL_EXT_TIMER EXT_TIMER_5 -#define EVENT_EXT_TIMER EXT_TIMER_6 -/* - * The low power timer is used to continue system time when EC goes into low - * power in idle task. Timer 7 is 24bit timer and configured at 32.768khz. - * The configuration is enough for continuing system time, because periodic - * tick event (interval is 500ms on it8xxx2) will wake EC up. - * - * IMPORTANT: - * If you change low power timer to a non-24bit timer, you also have to change - * mask of observation register in clock_sleep_mode_wakeup_isr() or EC will get - * wrong system time after resume. - */ -#define LOW_POWER_EXT_TIMER EXT_TIMER_7 -#define LOW_POWER_TIMER_MASK (BIT(24) - 1) -#define WDT_EXT_TIMER EXT_TIMER_8 - -enum ext_timer_clock_source { - EXT_PSR_32P768K_HZ = 0, - EXT_PSR_1P024K_HZ = 1, - EXT_PSR_32_HZ = 2, - EXT_PSR_8M_HZ = 3 -}; - -/* - * 24-bit timers: external timer 3, 5, and 7 - * 32-bit timers: external timer 4, 6, and 8 - */ -enum ext_timer_sel { - /* timer 3 and 4 combine mode for free running timer */ - EXT_TIMER_3 = 0, - EXT_TIMER_4, - /* For fan control */ - EXT_TIMER_5, - /* timer 6 for event timer */ - EXT_TIMER_6, - /* For WDT capture important state information before being reset */ - EXT_TIMER_7, - /* HW timer for low power mode */ - EXT_TIMER_8, - EXT_TIMER_COUNT, -}; - -struct ext_timer_ctrl_t { - volatile uint8_t *mode; - volatile uint8_t *polarity; - volatile uint8_t *isr; - uint8_t mask; - uint8_t irq; -}; - -extern const struct ext_timer_ctrl_t et_ctrl_regs[]; -#ifdef IT83XX_EXT_OBSERVATION_REG_READ_TWO_TIMES -uint32_t __ram_code ext_observation_reg_read(enum ext_timer_sel ext_timer); -#endif -void ext_timer_start(enum ext_timer_sel ext_timer, int en_irq); -void ext_timer_stop(enum ext_timer_sel ext_timer, int dis_irq); -void fan_ext_timer_interrupt(void); -void update_exc_start_time(void); - -/** - * Config a external timer. - * - * @param raw (!=0) timer count equal to param "ms" no conversion. - */ -int ext_timer_ms(enum ext_timer_sel ext_timer, - enum ext_timer_clock_source ext_timer_clock, - int start, - int et_int, - int32_t ms, - int first_time_enable, - int raw); - -#endif /* __CROS_EC_HWTIMER_CHIP_H */ |