xref: /openbmc/linux/drivers/bus/omap_l3_smx.h (revision 1a59d1b8)
11a59d1b8SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
20ee7261cSSantosh Shilimkar /*
30ee7261cSSantosh Shilimkar  * OMAP3XXX L3 Interconnect Driver header
40ee7261cSSantosh Shilimkar  *
50ee7261cSSantosh Shilimkar  * Copyright (C) 2011 Texas Corporation
60ee7261cSSantosh Shilimkar  *	Felipe Balbi <balbi@ti.com>
70ee7261cSSantosh Shilimkar  *	Santosh Shilimkar <santosh.shilimkar@ti.com>
80ee7261cSSantosh Shilimkar  *	sricharan <r.sricharan@ti.com>
90ee7261cSSantosh Shilimkar  */
100ee7261cSSantosh Shilimkar #ifndef __ARCH_ARM_MACH_OMAP2_L3_INTERCONNECT_3XXX_H
110ee7261cSSantosh Shilimkar #define __ARCH_ARM_MACH_OMAP2_L3_INTERCONNECT_3XXX_H
120ee7261cSSantosh Shilimkar 
130ee7261cSSantosh Shilimkar /* Register definitions. All 64-bit wide */
140ee7261cSSantosh Shilimkar #define L3_COMPONENT			0x000
150ee7261cSSantosh Shilimkar #define L3_CORE				0x018
160ee7261cSSantosh Shilimkar #define L3_AGENT_CONTROL		0x020
170ee7261cSSantosh Shilimkar #define L3_AGENT_STATUS			0x028
180ee7261cSSantosh Shilimkar #define L3_ERROR_LOG			0x058
190ee7261cSSantosh Shilimkar 
200ee7261cSSantosh Shilimkar #define L3_ERROR_LOG_MULTI		(1 << 31)
210ee7261cSSantosh Shilimkar #define L3_ERROR_LOG_SECONDARY		(1 << 30)
220ee7261cSSantosh Shilimkar 
230ee7261cSSantosh Shilimkar #define L3_ERROR_LOG_ADDR		0x060
240ee7261cSSantosh Shilimkar 
250ee7261cSSantosh Shilimkar /* Register definitions for Sideband Interconnect */
260ee7261cSSantosh Shilimkar #define L3_SI_CONTROL			0x020
270ee7261cSSantosh Shilimkar #define L3_SI_FLAG_STATUS_0		0x510
280ee7261cSSantosh Shilimkar 
290ee7261cSSantosh Shilimkar static const u64 shift = 1;
300ee7261cSSantosh Shilimkar 
310ee7261cSSantosh Shilimkar #define L3_STATUS_0_MPUIA_BRST		(shift << 0)
320ee7261cSSantosh Shilimkar #define L3_STATUS_0_MPUIA_RSP		(shift << 1)
330ee7261cSSantosh Shilimkar #define L3_STATUS_0_MPUIA_INBAND	(shift << 2)
340ee7261cSSantosh Shilimkar #define L3_STATUS_0_IVAIA_BRST		(shift << 6)
350ee7261cSSantosh Shilimkar #define L3_STATUS_0_IVAIA_RSP		(shift << 7)
360ee7261cSSantosh Shilimkar #define L3_STATUS_0_IVAIA_INBAND	(shift << 8)
370ee7261cSSantosh Shilimkar #define L3_STATUS_0_SGXIA_BRST		(shift << 9)
380ee7261cSSantosh Shilimkar #define L3_STATUS_0_SGXIA_RSP		(shift << 10)
390ee7261cSSantosh Shilimkar #define L3_STATUS_0_SGXIA_MERROR	(shift << 11)
400ee7261cSSantosh Shilimkar #define L3_STATUS_0_CAMIA_BRST		(shift << 12)
410ee7261cSSantosh Shilimkar #define L3_STATUS_0_CAMIA_RSP		(shift << 13)
420ee7261cSSantosh Shilimkar #define L3_STATUS_0_CAMIA_INBAND	(shift << 14)
430ee7261cSSantosh Shilimkar #define L3_STATUS_0_DISPIA_BRST		(shift << 15)
440ee7261cSSantosh Shilimkar #define L3_STATUS_0_DISPIA_RSP		(shift << 16)
450ee7261cSSantosh Shilimkar #define L3_STATUS_0_DMARDIA_BRST	(shift << 18)
460ee7261cSSantosh Shilimkar #define L3_STATUS_0_DMARDIA_RSP		(shift << 19)
470ee7261cSSantosh Shilimkar #define L3_STATUS_0_DMAWRIA_BRST	(shift << 21)
480ee7261cSSantosh Shilimkar #define L3_STATUS_0_DMAWRIA_RSP		(shift << 22)
490ee7261cSSantosh Shilimkar #define L3_STATUS_0_USBOTGIA_BRST	(shift << 24)
500ee7261cSSantosh Shilimkar #define L3_STATUS_0_USBOTGIA_RSP	(shift << 25)
510ee7261cSSantosh Shilimkar #define L3_STATUS_0_USBOTGIA_INBAND	(shift << 26)
520ee7261cSSantosh Shilimkar #define L3_STATUS_0_USBHOSTIA_BRST	(shift << 27)
530ee7261cSSantosh Shilimkar #define L3_STATUS_0_USBHOSTIA_INBAND	(shift << 28)
540ee7261cSSantosh Shilimkar #define L3_STATUS_0_SMSTA_REQ		(shift << 48)
550ee7261cSSantosh Shilimkar #define L3_STATUS_0_GPMCTA_REQ		(shift << 49)
560ee7261cSSantosh Shilimkar #define L3_STATUS_0_OCMRAMTA_REQ	(shift << 50)
570ee7261cSSantosh Shilimkar #define L3_STATUS_0_OCMROMTA_REQ	(shift << 51)
580ee7261cSSantosh Shilimkar #define L3_STATUS_0_IVATA_REQ		(shift << 54)
590ee7261cSSantosh Shilimkar #define L3_STATUS_0_SGXTA_REQ		(shift << 55)
600ee7261cSSantosh Shilimkar #define L3_STATUS_0_SGXTA_SERROR	(shift << 56)
610ee7261cSSantosh Shilimkar #define L3_STATUS_0_GPMCTA_SERROR	(shift << 57)
620ee7261cSSantosh Shilimkar #define L3_STATUS_0_L4CORETA_REQ	(shift << 58)
630ee7261cSSantosh Shilimkar #define L3_STATUS_0_L4PERTA_REQ		(shift << 59)
640ee7261cSSantosh Shilimkar #define L3_STATUS_0_L4EMUTA_REQ		(shift << 60)
650ee7261cSSantosh Shilimkar #define L3_STATUS_0_MAD2DTA_REQ		(shift << 61)
660ee7261cSSantosh Shilimkar 
670ee7261cSSantosh Shilimkar #define L3_STATUS_0_TIMEOUT_MASK	(L3_STATUS_0_MPUIA_BRST		\
680ee7261cSSantosh Shilimkar 					| L3_STATUS_0_MPUIA_RSP		\
690ee7261cSSantosh Shilimkar 					| L3_STATUS_0_IVAIA_BRST	\
700ee7261cSSantosh Shilimkar 					| L3_STATUS_0_IVAIA_RSP		\
710ee7261cSSantosh Shilimkar 					| L3_STATUS_0_SGXIA_BRST	\
720ee7261cSSantosh Shilimkar 					| L3_STATUS_0_SGXIA_RSP		\
730ee7261cSSantosh Shilimkar 					| L3_STATUS_0_CAMIA_BRST	\
740ee7261cSSantosh Shilimkar 					| L3_STATUS_0_CAMIA_RSP		\
750ee7261cSSantosh Shilimkar 					| L3_STATUS_0_DISPIA_BRST	\
760ee7261cSSantosh Shilimkar 					| L3_STATUS_0_DISPIA_RSP	\
770ee7261cSSantosh Shilimkar 					| L3_STATUS_0_DMARDIA_BRST	\
780ee7261cSSantosh Shilimkar 					| L3_STATUS_0_DMARDIA_RSP	\
790ee7261cSSantosh Shilimkar 					| L3_STATUS_0_DMAWRIA_BRST	\
800ee7261cSSantosh Shilimkar 					| L3_STATUS_0_DMAWRIA_RSP	\
810ee7261cSSantosh Shilimkar 					| L3_STATUS_0_USBOTGIA_BRST	\
820ee7261cSSantosh Shilimkar 					| L3_STATUS_0_USBOTGIA_RSP	\
830ee7261cSSantosh Shilimkar 					| L3_STATUS_0_USBHOSTIA_BRST	\
840ee7261cSSantosh Shilimkar 					| L3_STATUS_0_SMSTA_REQ		\
850ee7261cSSantosh Shilimkar 					| L3_STATUS_0_GPMCTA_REQ	\
860ee7261cSSantosh Shilimkar 					| L3_STATUS_0_OCMRAMTA_REQ	\
870ee7261cSSantosh Shilimkar 					| L3_STATUS_0_OCMROMTA_REQ	\
880ee7261cSSantosh Shilimkar 					| L3_STATUS_0_IVATA_REQ		\
890ee7261cSSantosh Shilimkar 					| L3_STATUS_0_SGXTA_REQ		\
900ee7261cSSantosh Shilimkar 					| L3_STATUS_0_L4CORETA_REQ	\
910ee7261cSSantosh Shilimkar 					| L3_STATUS_0_L4PERTA_REQ	\
920ee7261cSSantosh Shilimkar 					| L3_STATUS_0_L4EMUTA_REQ	\
930ee7261cSSantosh Shilimkar 					| L3_STATUS_0_MAD2DTA_REQ)
940ee7261cSSantosh Shilimkar 
950ee7261cSSantosh Shilimkar #define L3_SI_FLAG_STATUS_1		0x530
960ee7261cSSantosh Shilimkar 
970ee7261cSSantosh Shilimkar #define L3_STATUS_1_MPU_DATAIA		(1 << 0)
980ee7261cSSantosh Shilimkar #define L3_STATUS_1_DAPIA0		(1 << 3)
990ee7261cSSantosh Shilimkar #define L3_STATUS_1_DAPIA1		(1 << 4)
1000ee7261cSSantosh Shilimkar #define L3_STATUS_1_IVAIA		(1 << 6)
1010ee7261cSSantosh Shilimkar 
1020ee7261cSSantosh Shilimkar #define L3_PM_ERROR_LOG			0x020
1030ee7261cSSantosh Shilimkar #define L3_PM_CONTROL			0x028
1040ee7261cSSantosh Shilimkar #define L3_PM_ERROR_CLEAR_SINGLE	0x030
1050ee7261cSSantosh Shilimkar #define L3_PM_ERROR_CLEAR_MULTI		0x038
1060ee7261cSSantosh Shilimkar #define L3_PM_REQ_INFO_PERMISSION(n)	(0x048 + (0x020 * n))
1070ee7261cSSantosh Shilimkar #define L3_PM_READ_PERMISSION(n)	(0x050 + (0x020 * n))
1080ee7261cSSantosh Shilimkar #define L3_PM_WRITE_PERMISSION(n)	(0x058 + (0x020 * n))
1090ee7261cSSantosh Shilimkar #define L3_PM_ADDR_MATCH(n)		(0x060 + (0x020 * n))
1100ee7261cSSantosh Shilimkar 
1110ee7261cSSantosh Shilimkar /* L3 error log bit fields. Common for IA and TA */
1120ee7261cSSantosh Shilimkar #define L3_ERROR_LOG_CODE		24
1130ee7261cSSantosh Shilimkar #define L3_ERROR_LOG_INITID		8
1140ee7261cSSantosh Shilimkar #define L3_ERROR_LOG_CMD		0
1150ee7261cSSantosh Shilimkar 
1160ee7261cSSantosh Shilimkar /* L3 agent status bit fields. */
1170ee7261cSSantosh Shilimkar #define L3_AGENT_STATUS_CLEAR_IA	0x10000000
1180ee7261cSSantosh Shilimkar #define L3_AGENT_STATUS_CLEAR_TA	0x01000000
1190ee7261cSSantosh Shilimkar 
1200ee7261cSSantosh Shilimkar #define OMAP34xx_IRQ_L3_APP		10
1210ee7261cSSantosh Shilimkar #define L3_APPLICATION_ERROR		0x0
1220ee7261cSSantosh Shilimkar #define L3_DEBUG_ERROR			0x1
1230ee7261cSSantosh Shilimkar 
1240ee7261cSSantosh Shilimkar enum omap3_l3_initiator_id {
1250ee7261cSSantosh Shilimkar 	/* LCD has 1 ID */
1260ee7261cSSantosh Shilimkar 	OMAP_L3_LCD = 29,
1270ee7261cSSantosh Shilimkar 	/* SAD2D has 1 ID */
1280ee7261cSSantosh Shilimkar 	OMAP_L3_SAD2D = 28,
1290ee7261cSSantosh Shilimkar 	/* MPU has 5 IDs */
1300ee7261cSSantosh Shilimkar 	OMAP_L3_IA_MPU_SS_1 = 27,
1310ee7261cSSantosh Shilimkar 	OMAP_L3_IA_MPU_SS_2 = 26,
1320ee7261cSSantosh Shilimkar 	OMAP_L3_IA_MPU_SS_3 = 25,
1330ee7261cSSantosh Shilimkar 	OMAP_L3_IA_MPU_SS_4 = 24,
1340ee7261cSSantosh Shilimkar 	OMAP_L3_IA_MPU_SS_5 = 23,
1350ee7261cSSantosh Shilimkar 	/* IVA2.2 SS has 3 IDs*/
1360ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_1 = 22,
1370ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_2 = 21,
1380ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_3 = 20,
1390ee7261cSSantosh Shilimkar 	/* IVA 2.2 SS DMA has 6 IDS */
1400ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_DMA_1 = 19,
1410ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_DMA_2 = 18,
1420ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_DMA_3 = 17,
1430ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_DMA_4 = 16,
1440ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_DMA_5 = 15,
1450ee7261cSSantosh Shilimkar 	OMAP_L3_IA_IVA_SS_DMA_6 = 14,
1460ee7261cSSantosh Shilimkar 	/* SGX has 1 ID */
1470ee7261cSSantosh Shilimkar 	OMAP_L3_IA_SGX = 13,
1480ee7261cSSantosh Shilimkar 	/* CAM has 3 ID */
1490ee7261cSSantosh Shilimkar 	OMAP_L3_IA_CAM_1 = 12,
1500ee7261cSSantosh Shilimkar 	OMAP_L3_IA_CAM_2 = 11,
1510ee7261cSSantosh Shilimkar 	OMAP_L3_IA_CAM_3 = 10,
1520ee7261cSSantosh Shilimkar 	/* DAP has 1 ID */
1530ee7261cSSantosh Shilimkar 	OMAP_L3_IA_DAP = 9,
1540ee7261cSSantosh Shilimkar 	/* SDMA WR has 2 IDs */
1550ee7261cSSantosh Shilimkar 	OMAP_L3_SDMA_WR_1 = 8,
1560ee7261cSSantosh Shilimkar 	OMAP_L3_SDMA_WR_2 = 7,
1570ee7261cSSantosh Shilimkar 	/* SDMA RD has 4 IDs */
1580ee7261cSSantosh Shilimkar 	OMAP_L3_SDMA_RD_1 = 6,
1590ee7261cSSantosh Shilimkar 	OMAP_L3_SDMA_RD_2 = 5,
1600ee7261cSSantosh Shilimkar 	OMAP_L3_SDMA_RD_3 = 4,
1610ee7261cSSantosh Shilimkar 	OMAP_L3_SDMA_RD_4 = 3,
1620ee7261cSSantosh Shilimkar 	/* HSUSB OTG has 1 ID */
1630ee7261cSSantosh Shilimkar 	OMAP_L3_USBOTG = 2,
1640ee7261cSSantosh Shilimkar 	/* HSUSB HOST has 1 ID */
1650ee7261cSSantosh Shilimkar 	OMAP_L3_USBHOST = 1,
1660ee7261cSSantosh Shilimkar };
1670ee7261cSSantosh Shilimkar 
1680ee7261cSSantosh Shilimkar enum omap3_l3_code {
1690ee7261cSSantosh Shilimkar 	OMAP_L3_CODE_NOERROR = 0,
1700ee7261cSSantosh Shilimkar 	OMAP_L3_CODE_UNSUP_CMD = 1,
1710ee7261cSSantosh Shilimkar 	OMAP_L3_CODE_ADDR_HOLE = 2,
1720ee7261cSSantosh Shilimkar 	OMAP_L3_CODE_PROTECT_VIOLATION = 3,
1730ee7261cSSantosh Shilimkar 	OMAP_L3_CODE_IN_BAND_ERR = 4,
1740ee7261cSSantosh Shilimkar 	/* codes 5 and 6 are reserved */
1750ee7261cSSantosh Shilimkar 	OMAP_L3_CODE_REQ_TOUT_NOT_ACCEPT = 7,
1760ee7261cSSantosh Shilimkar 	OMAP_L3_CODE_REQ_TOUT_NO_RESP = 8,
1770ee7261cSSantosh Shilimkar 	/* codes 9 - 15 are also reserved */
1780ee7261cSSantosh Shilimkar };
1790ee7261cSSantosh Shilimkar 
1800ee7261cSSantosh Shilimkar struct omap3_l3 {
1810ee7261cSSantosh Shilimkar 	struct device *dev;
1820ee7261cSSantosh Shilimkar 	struct clk *ick;
1830ee7261cSSantosh Shilimkar 
1840ee7261cSSantosh Shilimkar 	/* memory base*/
1850ee7261cSSantosh Shilimkar 	void __iomem *rt;
1860ee7261cSSantosh Shilimkar 
1870ee7261cSSantosh Shilimkar 	int debug_irq;
1880ee7261cSSantosh Shilimkar 	int app_irq;
1890ee7261cSSantosh Shilimkar 
1900ee7261cSSantosh Shilimkar 	/* true when and inband functional error occurs */
1910ee7261cSSantosh Shilimkar 	unsigned inband:1;
1920ee7261cSSantosh Shilimkar };
1930ee7261cSSantosh Shilimkar 
1940ee7261cSSantosh Shilimkar /* offsets for l3 agents in order with the Flag status register */
1950ee7261cSSantosh Shilimkar static unsigned int omap3_l3_app_bases[] = {
1960ee7261cSSantosh Shilimkar 	/* MPU IA */
1970ee7261cSSantosh Shilimkar 	0x1400,
1980ee7261cSSantosh Shilimkar 	0x1400,
1990ee7261cSSantosh Shilimkar 	0x1400,
2000ee7261cSSantosh Shilimkar 	/* RESERVED */
2010ee7261cSSantosh Shilimkar 	0,
2020ee7261cSSantosh Shilimkar 	0,
2030ee7261cSSantosh Shilimkar 	0,
2040ee7261cSSantosh Shilimkar 	/* IVA 2.2 IA */
2050ee7261cSSantosh Shilimkar 	0x1800,
2060ee7261cSSantosh Shilimkar 	0x1800,
2070ee7261cSSantosh Shilimkar 	0x1800,
2080ee7261cSSantosh Shilimkar 	/* SGX IA */
2090ee7261cSSantosh Shilimkar 	0x1c00,
2100ee7261cSSantosh Shilimkar 	0x1c00,
2110ee7261cSSantosh Shilimkar 	/* RESERVED */
2120ee7261cSSantosh Shilimkar 	0,
2130ee7261cSSantosh Shilimkar 	/* CAMERA IA */
2140ee7261cSSantosh Shilimkar 	0x5800,
2150ee7261cSSantosh Shilimkar 	0x5800,
2160ee7261cSSantosh Shilimkar 	0x5800,
2170ee7261cSSantosh Shilimkar 	/* DISPLAY IA */
2180ee7261cSSantosh Shilimkar 	0x5400,
2190ee7261cSSantosh Shilimkar 	0x5400,
2200ee7261cSSantosh Shilimkar 	/* RESERVED */
2210ee7261cSSantosh Shilimkar 	0,
2220ee7261cSSantosh Shilimkar 	/*SDMA RD IA */
2230ee7261cSSantosh Shilimkar 	0x4c00,
2240ee7261cSSantosh Shilimkar 	0x4c00,
2250ee7261cSSantosh Shilimkar 	/* RESERVED */
2260ee7261cSSantosh Shilimkar 	0,
2270ee7261cSSantosh Shilimkar 	/* SDMA WR IA */
2280ee7261cSSantosh Shilimkar 	0x5000,
2290ee7261cSSantosh Shilimkar 	0x5000,
2300ee7261cSSantosh Shilimkar 	/* RESERVED */
2310ee7261cSSantosh Shilimkar 	0,
2320ee7261cSSantosh Shilimkar 	/* USB OTG IA */
2330ee7261cSSantosh Shilimkar 	0x4400,
2340ee7261cSSantosh Shilimkar 	0x4400,
2350ee7261cSSantosh Shilimkar 	0x4400,
2360ee7261cSSantosh Shilimkar 	/* USB HOST IA */
2370ee7261cSSantosh Shilimkar 	0x4000,
2380ee7261cSSantosh Shilimkar 	0x4000,
2390ee7261cSSantosh Shilimkar 	/* RESERVED */
2400ee7261cSSantosh Shilimkar 	0,
2410ee7261cSSantosh Shilimkar 	0,
2420ee7261cSSantosh Shilimkar 	0,
2430ee7261cSSantosh Shilimkar 	0,
2440ee7261cSSantosh Shilimkar 	/* SAD2D IA */
2450ee7261cSSantosh Shilimkar 	0x3000,
2460ee7261cSSantosh Shilimkar 	0x3000,
2470ee7261cSSantosh Shilimkar 	0x3000,
2480ee7261cSSantosh Shilimkar 	/* RESERVED */
2490ee7261cSSantosh Shilimkar 	0,
2500ee7261cSSantosh Shilimkar 	0,
2510ee7261cSSantosh Shilimkar 	0,
2520ee7261cSSantosh Shilimkar 	0,
2530ee7261cSSantosh Shilimkar 	0,
2540ee7261cSSantosh Shilimkar 	0,
2550ee7261cSSantosh Shilimkar 	0,
2560ee7261cSSantosh Shilimkar 	0,
2570ee7261cSSantosh Shilimkar 	0,
2580ee7261cSSantosh Shilimkar 	0,
2590ee7261cSSantosh Shilimkar 	0,
2600ee7261cSSantosh Shilimkar 	0,
2610ee7261cSSantosh Shilimkar 	/* SMA TA */
2620ee7261cSSantosh Shilimkar 	0x2000,
2630ee7261cSSantosh Shilimkar 	/* GPMC TA */
2640ee7261cSSantosh Shilimkar 	0x2400,
2650ee7261cSSantosh Shilimkar 	/* OCM RAM TA */
2660ee7261cSSantosh Shilimkar 	0x2800,
2670ee7261cSSantosh Shilimkar 	/* OCM ROM TA */
2680ee7261cSSantosh Shilimkar 	0x2C00,
2690ee7261cSSantosh Shilimkar 	/* L4 CORE TA */
2700ee7261cSSantosh Shilimkar 	0x6800,
2710ee7261cSSantosh Shilimkar 	/* L4 PER TA */
2720ee7261cSSantosh Shilimkar 	0x6c00,
2730ee7261cSSantosh Shilimkar 	/* IVA 2.2 TA */
2740ee7261cSSantosh Shilimkar 	0x6000,
2750ee7261cSSantosh Shilimkar 	/* SGX TA */
2760ee7261cSSantosh Shilimkar 	0x6400,
2770ee7261cSSantosh Shilimkar 	/* L4 EMU TA */
2780ee7261cSSantosh Shilimkar 	0x7000,
2790ee7261cSSantosh Shilimkar 	/* GPMC TA */
2800ee7261cSSantosh Shilimkar 	0x2400,
2810ee7261cSSantosh Shilimkar 	/* L4 CORE TA */
2820ee7261cSSantosh Shilimkar 	0x6800,
2830ee7261cSSantosh Shilimkar 	/* L4 PER TA */
2840ee7261cSSantosh Shilimkar 	0x6c00,
2850ee7261cSSantosh Shilimkar 	/* L4 EMU TA */
2860ee7261cSSantosh Shilimkar 	0x7000,
2870ee7261cSSantosh Shilimkar 	/* MAD2D TA */
2880ee7261cSSantosh Shilimkar 	0x3400,
2890ee7261cSSantosh Shilimkar 	/* RESERVED */
2900ee7261cSSantosh Shilimkar 	0,
2910ee7261cSSantosh Shilimkar 	0,
2920ee7261cSSantosh Shilimkar };
2930ee7261cSSantosh Shilimkar 
2940ee7261cSSantosh Shilimkar static unsigned int omap3_l3_debug_bases[] = {
2950ee7261cSSantosh Shilimkar 	/* MPU DATA IA */
2960ee7261cSSantosh Shilimkar 	0x1400,
2970ee7261cSSantosh Shilimkar 	/* RESERVED */
2980ee7261cSSantosh Shilimkar 	0,
2990ee7261cSSantosh Shilimkar 	0,
3000ee7261cSSantosh Shilimkar 	/* DAP IA */
3010ee7261cSSantosh Shilimkar 	0x5c00,
3020ee7261cSSantosh Shilimkar 	0x5c00,
3030ee7261cSSantosh Shilimkar 	/* RESERVED */
3040ee7261cSSantosh Shilimkar 	0,
3050ee7261cSSantosh Shilimkar 	/* IVA 2.2 IA */
3060ee7261cSSantosh Shilimkar 	0x1800,
3070ee7261cSSantosh Shilimkar 	/* REST RESERVED */
3080ee7261cSSantosh Shilimkar };
3090ee7261cSSantosh Shilimkar 
3100ee7261cSSantosh Shilimkar static u32 *omap3_l3_bases[] = {
3110ee7261cSSantosh Shilimkar 	omap3_l3_app_bases,
3120ee7261cSSantosh Shilimkar 	omap3_l3_debug_bases,
3130ee7261cSSantosh Shilimkar };
3140ee7261cSSantosh Shilimkar 
3150ee7261cSSantosh Shilimkar /*
3160ee7261cSSantosh Shilimkar  * REVISIT define __raw_readll/__raw_writell here, but move them to
3170ee7261cSSantosh Shilimkar  * <asm/io.h> at some point
3180ee7261cSSantosh Shilimkar  */
3190ee7261cSSantosh Shilimkar #define __raw_writell(v, a)	(__chk_io_ptr(a), \
3200ee7261cSSantosh Shilimkar 				*(volatile u64 __force *)(a) = (v))
3210ee7261cSSantosh Shilimkar #define __raw_readll(a)		(__chk_io_ptr(a), \
3220ee7261cSSantosh Shilimkar 				*(volatile u64 __force *)(a))
3230ee7261cSSantosh Shilimkar 
3240ee7261cSSantosh Shilimkar #endif
325