1f1b53c4eSMikko Perttunen /*
2f1b53c4eSMikko Perttunen  * Copyright (c) 2017 NVIDIA Corporation.
3f1b53c4eSMikko Perttunen  *
4f1b53c4eSMikko Perttunen  * This program is free software; you can redistribute it and/or modify it
5f1b53c4eSMikko Perttunen  * under the terms and conditions of the GNU General Public License,
6f1b53c4eSMikko Perttunen  * version 2, as published by the Free Software Foundation.
7f1b53c4eSMikko Perttunen  *
8f1b53c4eSMikko Perttunen  * This program is distributed in the hope it will be useful, but WITHOUT
9f1b53c4eSMikko Perttunen  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10f1b53c4eSMikko Perttunen  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11f1b53c4eSMikko Perttunen  * more details.
12f1b53c4eSMikko Perttunen  *
13f1b53c4eSMikko Perttunen  * You should have received a copy of the GNU General Public License
14f1b53c4eSMikko Perttunen  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15f1b53c4eSMikko Perttunen  *
16f1b53c4eSMikko Perttunen  */
17f1b53c4eSMikko Perttunen 
18f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMASTART				0x0000
19f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMASTART_HI			0x0004
20f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMAPUT				0x0008
21f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMAPUT_HI			0x000c
22f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMAGET				0x0010
23f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMAGET_HI			0x0014
24f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMAEND				0x0018
25f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMAEND_HI			0x001c
26f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMACTRL				0x0020
27f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMACTRL_DMASTOP			BIT(0)
28f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMACTRL_DMAGETRST		BIT(1)
29f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_DMACTRL_DMAINITGET		BIT(2)
30f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_CMDFIFO_STAT			0x0024
31f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_CMDFIFO_STAT_EMPTY		BIT(13)
32f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_CMDFIFO_RDATA			0x0028
33f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_CMDP_OFFSET			0x0030
34f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_CMDP_CLASS			0x0034
35f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_CHANNELSTAT			0x0038
36f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_CMDPROC_STOP			0x0048
37f1b53c4eSMikko Perttunen #define HOST1X_CHANNEL_TEARDOWN				0x004c
38f1b53c4eSMikko Perttunen 
39f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_CPU_INCR(x)			(0x6400 + 4*(x))
40f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_THRESH_CPU0_INT_STATUS(x)	(0x6464 + 4*(x))
41f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_THRESH_INT_ENABLE_CPU0(x)	(0x652c + 4*(x))
42f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_THRESH_INT_DISABLE(x)	(0x6590 + 4*(x))
43f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_BASE(x)			(0x8000 + 4*(x))
44f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT(x)				(0x8080 + 4*(x))
45f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_INT_THRESH(x)		(0x8a00 + 4*(x))
46f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_CH_APP(x)			(0x9384 + 4*(x))
47f1b53c4eSMikko Perttunen #define HOST1X_SYNC_SYNCPT_CH_APP_CH(v)			(((v) & 0x3f) << 8)
48