cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hpet.h (1974B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _ASM_HPET_H
      3#define _ASM_HPET_H
      4
      5#ifdef CONFIG_RS780_HPET
      6
      7#define HPET_MMAP_SIZE		1024
      8
      9#define HPET_ID			0x000
     10#define HPET_PERIOD		0x004
     11#define HPET_CFG		0x010
     12#define HPET_STATUS		0x020
     13#define HPET_COUNTER	0x0f0
     14
     15#define HPET_Tn_CFG(n)		(0x100 + 0x20 * n)
     16#define HPET_Tn_CMP(n)		(0x108 + 0x20 * n)
     17#define HPET_Tn_ROUTE(n)	(0x110 + 0x20 * n)
     18
     19#define HPET_T0_IRS		0x001
     20#define HPET_T1_IRS		0x002
     21#define HPET_T3_IRS		0x004
     22
     23#define HPET_T0_CFG		0x100
     24#define HPET_T0_CMP		0x108
     25#define HPET_T0_ROUTE	0x110
     26#define HPET_T1_CFG		0x120
     27#define HPET_T1_CMP		0x128
     28#define HPET_T1_ROUTE	0x130
     29#define HPET_T2_CFG		0x140
     30#define HPET_T2_CMP		0x148
     31#define HPET_T2_ROUTE	0x150
     32
     33#define HPET_ID_REV			0x000000ff
     34#define HPET_ID_NUMBER		0x00001f00
     35#define HPET_ID_64BIT		0x00002000
     36#define HPET_ID_LEGSUP		0x00008000
     37#define HPET_ID_VENDOR		0xffff0000
     38#define HPET_ID_NUMBER_SHIFT	8
     39#define HPET_ID_VENDOR_SHIFT	16
     40
     41#define HPET_CFG_ENABLE		0x001
     42#define HPET_CFG_LEGACY		0x002
     43#define HPET_LEGACY_8254		2
     44#define HPET_LEGACY_RTC		8
     45
     46#define HPET_TN_LEVEL		0x0002
     47#define HPET_TN_ENABLE		0x0004
     48#define HPET_TN_PERIODIC	0x0008
     49#define HPET_TN_PERIODIC_CAP	0x0010
     50#define HPET_TN_64BIT_CAP	0x0020
     51#define HPET_TN_SETVAL		0x0040
     52#define HPET_TN_32BIT		0x0100
     53#define HPET_TN_ROUTE		0x3e00
     54#define HPET_TN_FSB			0x4000
     55#define HPET_TN_FSB_CAP		0x8000
     56#define HPET_TN_ROUTE_SHIFT	9
     57
     58/* Max HPET Period is 10^8 femto sec as in HPET spec */
     59#define HPET_MAX_PERIOD		100000000UL
     60/*
     61 * Min HPET period is 10^5 femto sec just for safety. If it is less than this,
     62 * then 32 bit HPET counter wrapsaround in less than 0.5 sec.
     63 */
     64#define HPET_MIN_PERIOD		100000UL
     65
     66#define HPET_ADDR		0x20000
     67#define HPET_MMIO_ADDR	0x90000e0000020000
     68#define HPET_FREQ		14318780
     69#define HPET_COMPARE_VAL	((HPET_FREQ + HZ / 2) / HZ)
     70#define HPET_T0_IRQ		0
     71
     72extern void __init setup_hpet_timer(void);
     73#endif /* CONFIG_RS780_HPET */
     74#endif /* _ASM_HPET_H */