0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __INTEL_TH_GTH_H__
0009 #define __INTEL_TH_GTH_H__
0010
0011
0012 #define TH_OUTPUT_PARM(name) \
0013 TH_OUTPUT_ ## name
0014
0015 enum intel_th_output_parm {
0016
0017 TH_OUTPUT_PARM(port),
0018
0019 TH_OUTPUT_PARM(null),
0020
0021 TH_OUTPUT_PARM(drop),
0022
0023 TH_OUTPUT_PARM(reset),
0024
0025 TH_OUTPUT_PARM(flush),
0026
0027 TH_OUTPUT_PARM(smcfreq),
0028 };
0029
0030
0031
0032
0033 enum {
0034 REG_GTH_GTHOPT0 = 0x00,
0035 REG_GTH_GTHOPT1 = 0x04,
0036 REG_GTH_SWDEST0 = 0x08,
0037 REG_GTH_GSWTDEST = 0x88,
0038 REG_GTH_SMCR0 = 0x9c,
0039 REG_GTH_SMCR1 = 0xa0,
0040 REG_GTH_SMCR2 = 0xa4,
0041 REG_GTH_SMCR3 = 0xa8,
0042 REG_GTH_SCR = 0xc8,
0043 REG_GTH_STAT = 0xd4,
0044 REG_GTH_SCR2 = 0xd8,
0045 REG_GTH_DESTOVR = 0xdc,
0046 REG_GTH_SCRPD0 = 0xe0,
0047 REG_GTH_SCRPD1 = 0xe4,
0048 REG_GTH_SCRPD2 = 0xe8,
0049 REG_GTH_SCRPD3 = 0xec,
0050 REG_TSCU_TSUCTRL = 0x2000,
0051 REG_TSCU_TSCUSTAT = 0x2004,
0052
0053
0054 REG_CTS_C0S0_EN = 0x30c0,
0055 REG_CTS_C0S0_ACT = 0x3180,
0056 REG_CTS_STAT = 0x32a0,
0057 REG_CTS_CTL = 0x32a4,
0058 };
0059
0060
0061 #define GTH_PLE_WAITLOOP_DEPTH 10000
0062
0063 #define TSUCTRL_CTCRESYNC BIT(0)
0064 #define TSCUSTAT_CTCSYNCING BIT(1)
0065
0066
0067 #define CTS_TRIG_WAITLOOP_DEPTH 10000
0068
0069 #define CTS_EVENT_ENABLE_IF_ANYTHING BIT(31)
0070 #define CTS_ACTION_CONTROL_STATE_OFF 27
0071 #define CTS_ACTION_CONTROL_SET_STATE(x) \
0072 (((x) & 0x1f) << CTS_ACTION_CONTROL_STATE_OFF)
0073 #define CTS_ACTION_CONTROL_TRIGGER BIT(4)
0074
0075 #define CTS_STATE_IDLE 0x10u
0076
0077 #define CTS_CTL_SEQUENCER_ENABLE BIT(0)
0078
0079 #endif