xref: /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-tegra210/ahb.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2013-2015
3*4882a593Smuzhiyun  * NVIDIA Corporation <www.nvidia.com>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:     GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef _TEGRA210_AHB_H_
9*4882a593Smuzhiyun #define _TEGRA210_AHB_H_
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun struct ahb_ctlr {
12*4882a593Smuzhiyun 	u32 reserved0;			/* 00h */
13*4882a593Smuzhiyun 	u32 arbitration_disable;	/* _ARBITRATION_DISABLE_0,	04h */
14*4882a593Smuzhiyun 	u32 arbitration_priority_ctrl;	/* _ARBITRATION_PRIORITY_CTRL_0,08h */
15*4882a593Smuzhiyun 	u32 arbitration_usr_protect;	/* _ARBITRATION_USR_PROTECT_0,	0ch */
16*4882a593Smuzhiyun 	u32 gizmo_ahb_mem;		/* _GIZMO_AHB_MEM_0,		10h */
17*4882a593Smuzhiyun 	u32 gizmo_apb_dma;		/* _GIZMO_APB_DMA_0,		14h */
18*4882a593Smuzhiyun 	u32 reserved6[2];		/* 18h, 1ch */
19*4882a593Smuzhiyun 	u32 gizmo_usb;			/* _GIZMO_USB_0,		20h */
20*4882a593Smuzhiyun 	u32 gizmo_ahb_xbar_bridge;	/* _GIZMO_AHB_XBAR_BRIDGE_0,	24h */
21*4882a593Smuzhiyun 	u32 gizmo_cpu_ahb_bridge;	/* _GIZMO_CPU_AHB_BRIDGE_0,	28h */
22*4882a593Smuzhiyun 	u32 gizmo_cop_ahb_bridge;	/* _GIZMO_COP_AHB_BRIDGE_0,	2ch */
23*4882a593Smuzhiyun 	u32 gizmo_xbar_apb_ctlr;	/* _GIZMO_XBAR_APB_CTLR_0,	30h */
24*4882a593Smuzhiyun 	u32 gizmo_vcp_ahb_bridge;	/* _GIZMO_VCP_AHB_BRIDGE_0,	34h */
25*4882a593Smuzhiyun 	u32 reserved13[2];		/* 38h, 3ch */
26*4882a593Smuzhiyun 	u32 gizmo_nand;			/* _GIZMO_NAND_0,		40h */
27*4882a593Smuzhiyun 	u32 reserved15;			/* 44h */
28*4882a593Smuzhiyun 	u32 gizmo_sdmmc4;		/* _GIZMO_SDMMC4_0,		48h */
29*4882a593Smuzhiyun 	u32 reserved17;			/* 4ch */
30*4882a593Smuzhiyun 	u32 gizmo_se;			/* _GIZMO_SE_0,			50h */
31*4882a593Smuzhiyun 	u32 gizmo_tzram;		/* _GIZMO_TZRAM_0,		54h */
32*4882a593Smuzhiyun 	u32 reserved20[3];		/* 58h, 5ch, 60h */
33*4882a593Smuzhiyun 	u32 gizmo_bsev;			/* _GIZMO_BSEV_0,		64h */
34*4882a593Smuzhiyun 	u32 reserved22[3];		/* 68h, 6ch, 70h */
35*4882a593Smuzhiyun 	u32 gizmo_bsea;			/* _GIZMO_BSEA_0,		74h */
36*4882a593Smuzhiyun 	u32 gizmo_nor;			/* _GIZMO_NOR_0,		78h */
37*4882a593Smuzhiyun 	u32 gizmo_usb2;			/* _GIZMO_USB2_0,		7ch */
38*4882a593Smuzhiyun 	u32 gizmo_usb3;			/* _GIZMO_USB3_0,		80h */
39*4882a593Smuzhiyun 	u32 gizmo_sdmmc1;		/* _GIZMO_SDMMC1_0,		84h */
40*4882a593Smuzhiyun 	u32 gizmo_sdmmc2;		/* _GIZMO_SDMMC2_0,		88h */
41*4882a593Smuzhiyun 	u32 gizmo_sdmmc3;		/* _GIZMO_SDMMC3_0,		8ch */
42*4882a593Smuzhiyun 	u32 reserved30[13];		/* 90h ~ c0h */
43*4882a593Smuzhiyun 	u32 ahb_wrq_empty;		/* _AHB_WRQ_EMPTY_0,		c4h */
44*4882a593Smuzhiyun 	u32 reserved32[5];		/* c8h ~ d8h */
45*4882a593Smuzhiyun 	u32 ahb_mem_prefetch_cfg_x;	/* _AHB_MEM_PREFETCH_CFG_X_0,	dch */
46*4882a593Smuzhiyun 	u32 arbitration_xbar_ctrl;	/* _ARBITRATION_XBAR_CTRL_0,	e0h */
47*4882a593Smuzhiyun 	u32 ahb_mem_prefetch_cfg3;	/* _AHB_MEM_PREFETCH_CFG3_0,	e4h */
48*4882a593Smuzhiyun 	u32 ahb_mem_prefetch_cfg4;	/* _AHB_MEM_PREFETCH_CFG3_0,	e8h */
49*4882a593Smuzhiyun 	u32 avp_ppcs_rd_coh_status;	/* _AVP_PPCS_RD_COH_STATUS_0,	ech */
50*4882a593Smuzhiyun 	u32 ahb_mem_prefetch_cfg1;	/* _AHB_MEM_PREFETCH_CFG1_0,	f0h */
51*4882a593Smuzhiyun 	u32 ahb_mem_prefetch_cfg2;	/* _AHB_MEM_PREFETCH_CFG2_0,	f4h */
52*4882a593Smuzhiyun 	u32 ahbslvmem_status;		/* _AHBSLVMEM_STATUS_0, f8h */
53*4882a593Smuzhiyun 	/* _ARBITRATION_AHB_MEM_WRQUE_MST_ID_0, fch */
54*4882a593Smuzhiyun 	u32 arbitration_ahb_mem_wrque_mst_id;
55*4882a593Smuzhiyun 	u32 arbitration_cpu_abort_addr;	/* _ARBITRATION_CPU_ABORT_ADDR_0,100h */
56*4882a593Smuzhiyun 	u32 arbitration_cpu_abort_info;	/* _ARBITRATION_CPU_ABORT_INFO_0,104h */
57*4882a593Smuzhiyun 	u32 arbitration_cop_abort_addr;	/* _ARBITRATION_COP_ABORT_ADDR_0,108h */
58*4882a593Smuzhiyun 	u32 arbitration_cop_abort_info;	/* _ARBITRATION_COP_ABORT_INFO_0,10ch */
59*4882a593Smuzhiyun 	u32 reserved46[4];		/* 110h ~ 11ch */
60*4882a593Smuzhiyun 	u32 avpc_mccif_fifoctrl;	/* _AVPC_MCCIF_FIFOCTRL_0,	120h */
61*4882a593Smuzhiyun 	u32 timeout_wcoal_avpc;		/* _TIMEOUT_WCOAL_AVPC_0,	124h */
62*4882a593Smuzhiyun 	u32 mpcorelp_mccif_fifoctrl;	/* _MPCORELP_MCCIF_FIFOCTRL_0,	128h */
63*4882a593Smuzhiyun 	u32 mpcore_mccif_fifoctrl;	/* _MPCORE_MCCIF_FIFOCTRL_0,	12ch */
64*4882a593Smuzhiyun 	u32 axicif_fastsync_ctrl;	/* AXICIF_FASTSYNC_CTRL_0,	130h */
65*4882a593Smuzhiyun 	u32 axicif_fastsync_statistics;	/* _AXICIF_FASTSYNC_STATISTICS_0,134h */
66*4882a593Smuzhiyun 	/* _AXICIF_FASTSYNC0_CPUCLK_TO_MCCLK_0,	138h */
67*4882a593Smuzhiyun 	u32 axicif_fastsync0_cpuclk_to_mcclk;
68*4882a593Smuzhiyun 	/* _AXICIF_FASTSYNC1_CPUCLK_TO_MCCLK_0, 13ch */
69*4882a593Smuzhiyun 	u32 axicif_fastsync1_cpuclk_to_mcclk;
70*4882a593Smuzhiyun 	/* _AXICIF_FASTSYNC2_CPUCLK_TO_MCCLK_0, 140h */
71*4882a593Smuzhiyun 	u32 axicif_fastsync2_cpuclk_to_mcclk;
72*4882a593Smuzhiyun 	/* _AXICIF_FASTSYNC0_MCCLK_TO_CPUCLK_0, 144h */
73*4882a593Smuzhiyun 	u32 axicif_fastsync0_mcclk_to_cpuclk;
74*4882a593Smuzhiyun 	/* _AXICIF_FASTSYNC1_MCCLK_TO_CPUCLK_0, 148h */
75*4882a593Smuzhiyun 	u32 axicif_fastsync1_mcclk_to_cpuclk;
76*4882a593Smuzhiyun 	/* _AXICIF_FASTSYNC2_MCCLK_TO_CPUCLK_0, 14ch */
77*4882a593Smuzhiyun 	u32 axicif_fastsync2_mcclk_to_cpuclk;
78*4882a593Smuzhiyun };
79*4882a593Smuzhiyun 
80*4882a593Smuzhiyun #define PPSB_STOPCLK_ENABLE	(1 << 2)
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun #define GIZ_ENABLE_SPLIT	(1 << 0)
83*4882a593Smuzhiyun #define GIZ_ENB_FAST_REARB	(1 << 2)
84*4882a593Smuzhiyun #define GIZ_DONT_SPLIT_AHB_WR	(1 << 7)
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun #define GIZ_USB_IMMEDIATE	(1 << 18)
87*4882a593Smuzhiyun 
88*4882a593Smuzhiyun /* AHB_ARBITRATION_XBAR_CTRL_0 0xe0 */
89*4882a593Smuzhiyun #define ARBITRATION_XBAR_CTRL_PPSB_ENABLE	(1 << 2)
90*4882a593Smuzhiyun 
91*4882a593Smuzhiyun #endif	/* _TEGRA210_AHB_H_ */
92