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