blob: 711eea5650b9ba2bcb4be39b6e2afa21500af214 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
chenhui zhao0c789872014-10-22 18:20:22 +08002/*
3 * Copyright 2014 Freescale Semiconductor, Inc.
chenhui zhao0c789872014-10-22 18:20:22 +08004 */
5
6#ifndef __FSL_EPU_H
7#define __FSL_EPU_H
8
9#include <asm/types.h>
10
11#define FSL_STRIDE_4B 4
12#define FSL_STRIDE_8B 8
13
14/* Block offsets */
15#define EPU_BLOCK_OFFSET 0x00000000
16
17/* EPGCR (Event Processor Global Control Register) */
18#define EPGCR 0x000
19
20/* EPEVTCR0-9 (Event Processor EVT Pin Control Registers) */
21#define EPEVTCR0 0x050
22#define EPEVTCR9 0x074
23#define EPEVTCR_STRIDE FSL_STRIDE_4B
24
25/* EPXTRIGCR (Event Processor Crosstrigger Control Register) */
26#define EPXTRIGCR 0x090
27
28/* EPIMCR0-31 (Event Processor Input Mux Control Registers) */
29#define EPIMCR0 0x100
30#define EPIMCR31 0x17C
31#define EPIMCR_STRIDE FSL_STRIDE_4B
32
33/* EPSMCR0-15 (Event Processor SCU Mux Control Registers) */
34#define EPSMCR0 0x200
35#define EPSMCR15 0x278
36#define EPSMCR_STRIDE FSL_STRIDE_8B
37
38/* EPECR0-15 (Event Processor Event Control Registers) */
39#define EPECR0 0x300
40#define EPECR15 0x33C
41#define EPECR_STRIDE FSL_STRIDE_4B
42
43/* EPACR0-15 (Event Processor Action Control Registers) */
44#define EPACR0 0x400
45#define EPACR15 0x43C
46#define EPACR_STRIDE FSL_STRIDE_4B
47
48/* EPCCRi0-15 (Event Processor Counter Control Registers) */
49#define EPCCR0 0x800
50#define EPCCR15 0x83C
51#define EPCCR31 0x87C
52#define EPCCR_STRIDE FSL_STRIDE_4B
53
54/* EPCMPR0-15 (Event Processor Counter Compare Registers) */
55#define EPCMPR0 0x900
56#define EPCMPR15 0x93C
57#define EPCMPR31 0x97C
58#define EPCMPR_STRIDE FSL_STRIDE_4B
59
60/* EPCTR0-31 (Event Processor Counter Register) */
61#define EPCTR0 0xA00
62#define EPCTR31 0xA7C
63#define EPCTR_STRIDE FSL_STRIDE_4B
64
Hongbo Zhang4ea6d6f2016-08-19 17:20:32 +080065#define FSM_END_FLAG 0xFFFFFFFFUL
66
67struct fsm_reg_vals {
68 u32 offset;
69 u32 value;
70};
71
72void fsl_epu_setup(void *epu_base);
chenhui zhao0c789872014-10-22 18:20:22 +080073void fsl_epu_clean(void *epu_base);
74
75#endif