xref: /linux/drivers/net/ethernet/ti/icssm/icssm_switch.h (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1*a99b5657SRoger Quadros /* SPDX-License-Identifier: GPL-2.0 */
2*a99b5657SRoger Quadros 
3*a99b5657SRoger Quadros /* Copyright (C) 2015-2021 Texas Instruments Incorporated - https://www.ti.com
4*a99b5657SRoger Quadros  */
5*a99b5657SRoger Quadros 
6*a99b5657SRoger Quadros #ifndef __ICSS_SWITCH_H
7*a99b5657SRoger Quadros #define __ICSS_SWITCH_H
8*a99b5657SRoger Quadros 
9*a99b5657SRoger Quadros /* Basic Switch Parameters
10*a99b5657SRoger Quadros  * Used to auto compute offset addresses on L3 OCMC RAM. Do not modify these
11*a99b5657SRoger Quadros  * without changing firmware accordingly
12*a99b5657SRoger Quadros  */
13*a99b5657SRoger Quadros #define SWITCH_BUFFER_SIZE	(64 * 1024)	/* L3 buffer */
14*a99b5657SRoger Quadros #define ICSS_BLOCK_SIZE		32		/* data bytes per BD */
15*a99b5657SRoger Quadros #define BD_SIZE			4		/* byte buffer descriptor */
16*a99b5657SRoger Quadros #define NUM_QUEUES		4		/* Queues on Port 0/1/2 */
17*a99b5657SRoger Quadros 
18*a99b5657SRoger Quadros #define PORT_LINK_MASK		0x1
19*a99b5657SRoger Quadros #define PORT_IS_HD_MASK		0x2
20*a99b5657SRoger Quadros 
21*a99b5657SRoger Quadros /* Physical Port queue size (number of BDs). Same for both ports */
22*a99b5657SRoger Quadros #define QUEUE_1_SIZE		97	/* Network Management high */
23*a99b5657SRoger Quadros #define QUEUE_2_SIZE		97	/* Network Management low */
24*a99b5657SRoger Quadros #define QUEUE_3_SIZE		97	/* Protocol specific */
25*a99b5657SRoger Quadros #define QUEUE_4_SIZE		97	/* NRT (IP,ARP, ICMP) */
26*a99b5657SRoger Quadros 
27*a99b5657SRoger Quadros /* Host queue size (number of BDs). Each BD points to data buffer of 32 bytes.
28*a99b5657SRoger Quadros  * HOST PORT QUEUES can buffer up to 4 full sized frames per queue
29*a99b5657SRoger Quadros  */
30*a99b5657SRoger Quadros #define	HOST_QUEUE_1_SIZE	194	/* Protocol and VLAN priority 7 & 6 */
31*a99b5657SRoger Quadros #define HOST_QUEUE_2_SIZE	194	/* Protocol mid */
32*a99b5657SRoger Quadros #define HOST_QUEUE_3_SIZE	194	/* Protocol low */
33*a99b5657SRoger Quadros #define HOST_QUEUE_4_SIZE	194	/* NRT (IP, ARP, ICMP) */
34*a99b5657SRoger Quadros 
35*a99b5657SRoger Quadros #define COL_QUEUE_SIZE		0
36*a99b5657SRoger Quadros 
37*a99b5657SRoger Quadros /* NRT Buffer descriptor definition
38*a99b5657SRoger Quadros  * Each buffer descriptor points to a max 32 byte block and has 32 bit in size
39*a99b5657SRoger Quadros  * to have atomic operation.
40*a99b5657SRoger Quadros  * PRU can address bytewise into memory.
41*a99b5657SRoger Quadros  * Definition of 32 bit descriptor is as follows
42*a99b5657SRoger Quadros  *
43*a99b5657SRoger Quadros  * Bits		Name			Meaning
44*a99b5657SRoger Quadros  * =============================================================================
45*a99b5657SRoger Quadros  * 0..7		Index		points to index in buffer queue, max 256 x 32
46*a99b5657SRoger Quadros  *				byte blocks can be addressed
47*a99b5657SRoger Quadros  * 6		LookupSuccess	For switch, FDB lookup was successful (source
48*a99b5657SRoger Quadros  *				MAC address found in FDB).
49*a99b5657SRoger Quadros  *				For RED, NodeTable lookup was successful.
50*a99b5657SRoger Quadros  * 7		Flood		Packet should be flooded (destination MAC
51*a99b5657SRoger Quadros  *				address found in FDB). For switch only.
52*a99b5657SRoger Quadros  * 8..12	Block_length	number of valid bytes in this specific block.
53*a99b5657SRoger Quadros  *				Will be <=32 bytes on last block of packet
54*a99b5657SRoger Quadros  * 13		More		"More" bit indicating that there are more blocks
55*a99b5657SRoger Quadros  * 14		Shadow		indicates that "index" is pointing into shadow
56*a99b5657SRoger Quadros  *				buffer
57*a99b5657SRoger Quadros  * 15		TimeStamp	indicates that this packet has time stamp in
58*a99b5657SRoger Quadros  *				separate buffer - only needed if PTP runs on
59*a99b5657SRoger Quadros  *				host
60*a99b5657SRoger Quadros  * 16..17	Port		different meaning for ingress and egress,
61*a99b5657SRoger Quadros  *				Ingress: Port = 0 indicates phy port 1 and
62*a99b5657SRoger Quadros  *				Port = 1 indicates phy port 2.
63*a99b5657SRoger Quadros  *				Egress: 0 sends on phy port 1 and 1 sends on
64*a99b5657SRoger Quadros  *				phy port 2. Port = 2 goes over MAC table
65*a99b5657SRoger Quadros  *				look-up
66*a99b5657SRoger Quadros  * 18..28	Length		11 bit of total packet length which is put into
67*a99b5657SRoger Quadros  *				first BD only so that host access only one BD
68*a99b5657SRoger Quadros  * 29		VlanTag		indicates that packet has Length/Type field of
69*a99b5657SRoger Quadros  *				0x08100 with VLAN tag in following byte
70*a99b5657SRoger Quadros  * 30		Broadcast	indicates that packet goes out on both physical
71*a99b5657SRoger Quadros  *				ports,	there will be two bd but only one buffer
72*a99b5657SRoger Quadros  * 31		Error		indicates there was an error in the packet
73*a99b5657SRoger Quadros  */
74*a99b5657SRoger Quadros #define PRUETH_BD_START_FLAG_MASK	BIT(0)
75*a99b5657SRoger Quadros #define PRUETH_BD_START_FLAG_SHIFT	0
76*a99b5657SRoger Quadros 
77*a99b5657SRoger Quadros #define PRUETH_BD_HSR_FRAME_MASK	BIT(4)
78*a99b5657SRoger Quadros #define PRUETH_BD_HSR_FRAME_SHIFT	4
79*a99b5657SRoger Quadros 
80*a99b5657SRoger Quadros #define PRUETH_BD_SUP_HSR_FRAME_MASK	BIT(5)
81*a99b5657SRoger Quadros #define PRUETH_BD_SUP_HSR_FRAME_SHIFT	5
82*a99b5657SRoger Quadros 
83*a99b5657SRoger Quadros #define PRUETH_BD_LOOKUP_SUCCESS_MASK	BIT(6)
84*a99b5657SRoger Quadros #define PRUETH_BD_LOOKUP_SUCCESS_SHIFT	6
85*a99b5657SRoger Quadros 
86*a99b5657SRoger Quadros #define PRUETH_BD_SW_FLOOD_MASK		BIT(7)
87*a99b5657SRoger Quadros #define PRUETH_BD_SW_FLOOD_SHIFT	7
88*a99b5657SRoger Quadros 
89*a99b5657SRoger Quadros #define	PRUETH_BD_SHADOW_MASK		BIT(14)
90*a99b5657SRoger Quadros #define	PRUETH_BD_SHADOW_SHIFT		14
91*a99b5657SRoger Quadros 
92*a99b5657SRoger Quadros #define PRUETH_BD_TIMESTAMP_MASK	BIT(15)
93*a99b5657SRoger Quadros #define PRUETH_BD_TIMESTAMP_SHIFT	15
94*a99b5657SRoger Quadros 
95*a99b5657SRoger Quadros #define PRUETH_BD_PORT_MASK		GENMASK(17, 16)
96*a99b5657SRoger Quadros #define PRUETH_BD_PORT_SHIFT		16
97*a99b5657SRoger Quadros 
98*a99b5657SRoger Quadros #define PRUETH_BD_LENGTH_MASK		GENMASK(28, 18)
99*a99b5657SRoger Quadros #define PRUETH_BD_LENGTH_SHIFT		18
100*a99b5657SRoger Quadros 
101*a99b5657SRoger Quadros #define PRUETH_BD_BROADCAST_MASK	BIT(30)
102*a99b5657SRoger Quadros #define PRUETH_BD_BROADCAST_SHIFT	30
103*a99b5657SRoger Quadros 
104*a99b5657SRoger Quadros #define PRUETH_BD_ERROR_MASK		BIT(31)
105*a99b5657SRoger Quadros #define PRUETH_BD_ERROR_SHIFT		31
106*a99b5657SRoger Quadros 
107*a99b5657SRoger Quadros /* The following offsets indicate which sections of the memory are used
108*a99b5657SRoger Quadros  * for EMAC internal tasks
109*a99b5657SRoger Quadros  */
110*a99b5657SRoger Quadros #define DRAM_START_OFFSET		0x1E98
111*a99b5657SRoger Quadros #define SRAM_START_OFFSET		0x400
112*a99b5657SRoger Quadros 
113*a99b5657SRoger Quadros /* General Purpose Statistics
114*a99b5657SRoger Quadros  * These are present on both PRU0 and PRU1 DRAM
115*a99b5657SRoger Quadros  */
116*a99b5657SRoger Quadros /* base statistics offset */
117*a99b5657SRoger Quadros #define STATISTICS_OFFSET	0x1F00
118*a99b5657SRoger Quadros #define STAT_SIZE		0x98
119*a99b5657SRoger Quadros 
120*a99b5657SRoger Quadros /* Offset for storing
121*a99b5657SRoger Quadros  * 1. Storm Prevention Params
122*a99b5657SRoger Quadros  * 2. PHY Speed Offset
123*a99b5657SRoger Quadros  * 3. Port Status Offset
124*a99b5657SRoger Quadros  * These are present on both PRU0 and PRU1
125*a99b5657SRoger Quadros  */
126*a99b5657SRoger Quadros /* 4 bytes */
127*a99b5657SRoger Quadros #define STORM_PREVENTION_OFFSET_BC	(STATISTICS_OFFSET + STAT_SIZE)
128*a99b5657SRoger Quadros /* 4 bytes */
129*a99b5657SRoger Quadros #define PHY_SPEED_OFFSET		(STATISTICS_OFFSET + STAT_SIZE + 4)
130*a99b5657SRoger Quadros /* 1 byte */
131*a99b5657SRoger Quadros #define PORT_STATUS_OFFSET		(STATISTICS_OFFSET + STAT_SIZE + 8)
132*a99b5657SRoger Quadros /* 1 byte */
133*a99b5657SRoger Quadros #define COLLISION_COUNTER		(STATISTICS_OFFSET + STAT_SIZE + 9)
134*a99b5657SRoger Quadros /* 4 bytes */
135*a99b5657SRoger Quadros #define RX_PKT_SIZE_OFFSET		(STATISTICS_OFFSET + STAT_SIZE + 10)
136*a99b5657SRoger Quadros /* 4 bytes */
137*a99b5657SRoger Quadros #define PORT_CONTROL_ADDR		(STATISTICS_OFFSET + STAT_SIZE + 14)
138*a99b5657SRoger Quadros /* 6 bytes */
139*a99b5657SRoger Quadros #define PORT_MAC_ADDR			(STATISTICS_OFFSET + STAT_SIZE + 18)
140*a99b5657SRoger Quadros /* 1 byte */
141*a99b5657SRoger Quadros #define RX_INT_STATUS_OFFSET		(STATISTICS_OFFSET + STAT_SIZE + 24)
142*a99b5657SRoger Quadros /* 4 bytes */
143*a99b5657SRoger Quadros #define STORM_PREVENTION_OFFSET_MC	(STATISTICS_OFFSET + STAT_SIZE + 25)
144*a99b5657SRoger Quadros /* 4 bytes */
145*a99b5657SRoger Quadros #define STORM_PREVENTION_OFFSET_UC	(STATISTICS_OFFSET + STAT_SIZE + 29)
146*a99b5657SRoger Quadros /* 4 bytes ? */
147*a99b5657SRoger Quadros #define STP_INVALID_STATE_OFFSET	(STATISTICS_OFFSET + STAT_SIZE + 33)
148*a99b5657SRoger Quadros 
149*a99b5657SRoger Quadros /* DRAM Offsets for EMAC
150*a99b5657SRoger Quadros  * Present on Both DRAM0 and DRAM1
151*a99b5657SRoger Quadros  */
152*a99b5657SRoger Quadros 
153*a99b5657SRoger Quadros /* 4 queue descriptors for port tx = 32 bytes */
154*a99b5657SRoger Quadros #define TX_CONTEXT_Q1_OFFSET_ADDR	(PORT_QUEUE_DESC_OFFSET + 32)
155*a99b5657SRoger Quadros #define PORT_QUEUE_DESC_OFFSET	(ICSS_EMAC_TTS_CYC_TX_SOF + 8)
156*a99b5657SRoger Quadros 
157*a99b5657SRoger Quadros /* EMAC Time Triggered Send Offsets */
158*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_CYC_TX_SOF	(ICSS_EMAC_TTS_PREV_TX_SOF + 8)
159*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_PREV_TX_SOF	\
160*a99b5657SRoger Quadros 	(ICSS_EMAC_TTS_MISSED_CYCLE_CNT_OFFSET	+ 4)
161*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_MISSED_CYCLE_CNT_OFFSET	(ICSS_EMAC_TTS_STATUS_OFFSET \
162*a99b5657SRoger Quadros 						 + 4)
163*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_STATUS_OFFSET	(ICSS_EMAC_TTS_CFG_TIME_OFFSET + 4)
164*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_CFG_TIME_OFFSET	(ICSS_EMAC_TTS_CYCLE_PERIOD_OFFSET + 4)
165*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_CYCLE_PERIOD_OFFSET	\
166*a99b5657SRoger Quadros 	(ICSS_EMAC_TTS_CYCLE_START_OFFSET + 8)
167*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_CYCLE_START_OFFSET	ICSS_EMAC_TTS_BASE_OFFSET
168*a99b5657SRoger Quadros #define ICSS_EMAC_TTS_BASE_OFFSET	DRAM_START_OFFSET
169*a99b5657SRoger Quadros 
170*a99b5657SRoger Quadros /* Shared RAM offsets for EMAC */
171*a99b5657SRoger Quadros 
172*a99b5657SRoger Quadros /* Queue Descriptors */
173*a99b5657SRoger Quadros 
174*a99b5657SRoger Quadros /* 4 queue descriptors for port 0 (host receive). 32 bytes */
175*a99b5657SRoger Quadros #define HOST_QUEUE_DESC_OFFSET		(HOST_QUEUE_SIZE_ADDR + 16)
176*a99b5657SRoger Quadros 
177*a99b5657SRoger Quadros /* table offset for queue size:
178*a99b5657SRoger Quadros  * 3 ports * 4 Queues * 1 byte offset = 12 bytes
179*a99b5657SRoger Quadros  */
180*a99b5657SRoger Quadros #define HOST_QUEUE_SIZE_ADDR		(HOST_QUEUE_OFFSET_ADDR + 8)
181*a99b5657SRoger Quadros /* table offset for queue:
182*a99b5657SRoger Quadros  * 4 Queues * 2 byte offset = 8 bytes
183*a99b5657SRoger Quadros  */
184*a99b5657SRoger Quadros #define HOST_QUEUE_OFFSET_ADDR		(HOST_QUEUE_DESCRIPTOR_OFFSET_ADDR + 8)
185*a99b5657SRoger Quadros /* table offset for Host queue descriptors:
186*a99b5657SRoger Quadros  * 1 ports * 4 Queues * 2 byte offset = 8 bytes
187*a99b5657SRoger Quadros  */
188*a99b5657SRoger Quadros #define HOST_QUEUE_DESCRIPTOR_OFFSET_ADDR	(HOST_Q4_RX_CONTEXT_OFFSET + 8)
189*a99b5657SRoger Quadros 
190*a99b5657SRoger Quadros /* Host Port Rx Context */
191*a99b5657SRoger Quadros #define HOST_Q4_RX_CONTEXT_OFFSET	(HOST_Q3_RX_CONTEXT_OFFSET + 8)
192*a99b5657SRoger Quadros #define HOST_Q3_RX_CONTEXT_OFFSET	(HOST_Q2_RX_CONTEXT_OFFSET + 8)
193*a99b5657SRoger Quadros #define HOST_Q2_RX_CONTEXT_OFFSET	(HOST_Q1_RX_CONTEXT_OFFSET + 8)
194*a99b5657SRoger Quadros #define HOST_Q1_RX_CONTEXT_OFFSET	(EMAC_PROMISCUOUS_MODE_OFFSET + 4)
195*a99b5657SRoger Quadros 
196*a99b5657SRoger Quadros /* Promiscuous mode control */
197*a99b5657SRoger Quadros #define EMAC_P1_PROMISCUOUS_BIT		BIT(0)
198*a99b5657SRoger Quadros #define EMAC_P2_PROMISCUOUS_BIT		BIT(1)
199*a99b5657SRoger Quadros #define EMAC_PROMISCUOUS_MODE_OFFSET	(EMAC_RESERVED + 4)
200*a99b5657SRoger Quadros #define EMAC_RESERVED			EOF_48K_BUFFER_BD
201*a99b5657SRoger Quadros 
202*a99b5657SRoger Quadros /* allow for max 48k buffer which spans the descriptors up to 0x1800 6kB */
203*a99b5657SRoger Quadros #define EOF_48K_BUFFER_BD	(P0_BUFFER_DESC_OFFSET + HOST_BD_SIZE + \
204*a99b5657SRoger Quadros 				 PORT_BD_SIZE)
205*a99b5657SRoger Quadros 
206*a99b5657SRoger Quadros #define HOST_BD_SIZE		((HOST_QUEUE_1_SIZE +	\
207*a99b5657SRoger Quadros 				  HOST_QUEUE_2_SIZE + HOST_QUEUE_3_SIZE + \
208*a99b5657SRoger Quadros 				  HOST_QUEUE_4_SIZE) * BD_SIZE)
209*a99b5657SRoger Quadros #define PORT_BD_SIZE		((QUEUE_1_SIZE + QUEUE_2_SIZE +	\
210*a99b5657SRoger Quadros 				  QUEUE_3_SIZE + QUEUE_4_SIZE) * 2 * BD_SIZE)
211*a99b5657SRoger Quadros 
212*a99b5657SRoger Quadros #define END_OF_BD_POOL		(P2_Q4_BD_OFFSET + QUEUE_4_SIZE * BD_SIZE)
213*a99b5657SRoger Quadros #define P2_Q4_BD_OFFSET		(P2_Q3_BD_OFFSET + QUEUE_3_SIZE * BD_SIZE)
214*a99b5657SRoger Quadros #define P2_Q3_BD_OFFSET		(P2_Q2_BD_OFFSET + QUEUE_2_SIZE * BD_SIZE)
215*a99b5657SRoger Quadros #define P2_Q2_BD_OFFSET		(P2_Q1_BD_OFFSET + QUEUE_1_SIZE * BD_SIZE)
216*a99b5657SRoger Quadros #define P2_Q1_BD_OFFSET		(P1_Q4_BD_OFFSET + QUEUE_4_SIZE * BD_SIZE)
217*a99b5657SRoger Quadros #define P1_Q4_BD_OFFSET		(P1_Q3_BD_OFFSET + QUEUE_3_SIZE * BD_SIZE)
218*a99b5657SRoger Quadros #define P1_Q3_BD_OFFSET		(P1_Q2_BD_OFFSET + QUEUE_2_SIZE * BD_SIZE)
219*a99b5657SRoger Quadros #define P1_Q2_BD_OFFSET		(P1_Q1_BD_OFFSET + QUEUE_1_SIZE * BD_SIZE)
220*a99b5657SRoger Quadros #define P1_Q1_BD_OFFSET		(P0_Q4_BD_OFFSET + HOST_QUEUE_4_SIZE * BD_SIZE)
221*a99b5657SRoger Quadros #define P0_Q4_BD_OFFSET		(P0_Q3_BD_OFFSET + HOST_QUEUE_3_SIZE * BD_SIZE)
222*a99b5657SRoger Quadros #define P0_Q3_BD_OFFSET		(P0_Q2_BD_OFFSET + HOST_QUEUE_2_SIZE * BD_SIZE)
223*a99b5657SRoger Quadros #define P0_Q2_BD_OFFSET		(P0_Q1_BD_OFFSET + HOST_QUEUE_1_SIZE * BD_SIZE)
224*a99b5657SRoger Quadros #define P0_Q1_BD_OFFSET		P0_BUFFER_DESC_OFFSET
225*a99b5657SRoger Quadros #define P0_BUFFER_DESC_OFFSET	SRAM_START_OFFSET
226*a99b5657SRoger Quadros 
227*a99b5657SRoger Quadros /* Memory Usage of L3 OCMC RAM */
228*a99b5657SRoger Quadros 
229*a99b5657SRoger Quadros /* L3 64KB Memory - mainly buffer Pool */
230*a99b5657SRoger Quadros #define END_OF_BUFFER_POOL	(P2_Q4_BUFFER_OFFSET + QUEUE_4_SIZE *	\
231*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
232*a99b5657SRoger Quadros #define P2_Q4_BUFFER_OFFSET	(P2_Q3_BUFFER_OFFSET + QUEUE_3_SIZE *	\
233*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
234*a99b5657SRoger Quadros #define P2_Q3_BUFFER_OFFSET	(P2_Q2_BUFFER_OFFSET + QUEUE_2_SIZE *	\
235*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
236*a99b5657SRoger Quadros #define P2_Q2_BUFFER_OFFSET	(P2_Q1_BUFFER_OFFSET + QUEUE_1_SIZE *	\
237*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
238*a99b5657SRoger Quadros #define P2_Q1_BUFFER_OFFSET	(P1_Q4_BUFFER_OFFSET + QUEUE_4_SIZE *	\
239*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
240*a99b5657SRoger Quadros #define P1_Q4_BUFFER_OFFSET	(P1_Q3_BUFFER_OFFSET + QUEUE_3_SIZE *	\
241*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
242*a99b5657SRoger Quadros #define P1_Q3_BUFFER_OFFSET	(P1_Q2_BUFFER_OFFSET + QUEUE_2_SIZE *	\
243*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
244*a99b5657SRoger Quadros #define P1_Q2_BUFFER_OFFSET	(P1_Q1_BUFFER_OFFSET + QUEUE_1_SIZE *	\
245*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
246*a99b5657SRoger Quadros #define P1_Q1_BUFFER_OFFSET	(P0_Q4_BUFFER_OFFSET + HOST_QUEUE_4_SIZE * \
247*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
248*a99b5657SRoger Quadros #define P0_Q4_BUFFER_OFFSET	(P0_Q3_BUFFER_OFFSET + HOST_QUEUE_3_SIZE * \
249*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
250*a99b5657SRoger Quadros #define P0_Q3_BUFFER_OFFSET	(P0_Q2_BUFFER_OFFSET + HOST_QUEUE_2_SIZE * \
251*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
252*a99b5657SRoger Quadros #define P0_Q2_BUFFER_OFFSET	(P0_Q1_BUFFER_OFFSET + HOST_QUEUE_1_SIZE * \
253*a99b5657SRoger Quadros 				 ICSS_BLOCK_SIZE)
254*a99b5657SRoger Quadros #define P0_COL_BUFFER_OFFSET	0xEE00
255*a99b5657SRoger Quadros #define P0_Q1_BUFFER_OFFSET	0x0000
256*a99b5657SRoger Quadros 
257*a99b5657SRoger Quadros #endif /* __ICSS_SWITCH_H */
258