Fri Jan 25 22:38:00 2013 UTC ()
Fix a few c&p errors.


(matt)
diff -r1.12 -r1.13 src/sys/arch/arm/broadcom/bcm53xx_reg.h

cvs diff -r1.12 -r1.13 src/sys/arch/arm/broadcom/bcm53xx_reg.h (switch to unified diff)

--- src/sys/arch/arm/broadcom/bcm53xx_reg.h 2012/12/12 00:00:38 1.12
+++ src/sys/arch/arm/broadcom/bcm53xx_reg.h 2013/01/25 22:37:59 1.13
@@ -1,907 +1,907 @@ @@ -1,907 +1,907 @@
1/*- 1/*-
2 * Copyright (c) 2012 The NetBSD Foundation, Inc. 2 * Copyright (c) 2012 The NetBSD Foundation, Inc.
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
5 * This code is derived from software contributed to The NetBSD Foundation 5 * This code is derived from software contributed to The NetBSD Foundation
6 * by Matt Thomas of 3am Software Foundry. 6 * by Matt Thomas of 3am Software Foundry.
7 * 7 *
8 * Redistribution and use in source and binary forms, with or without 8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions 9 * modification, are permitted provided that the following conditions
10 * are met: 10 * are met:
11 * 1. Redistributions of source code must retain the above copyright 11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer. 12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright 13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the 14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution. 15 * documentation and/or other materials provided with the distribution.
16 * 16 *
17 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 17 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE. 27 * POSSIBILITY OF SUCH DAMAGE.
28 */ 28 */
29 29
30#ifndef _ARM_BROADCOM_BCM53XX_REG_H_ 30#ifndef _ARM_BROADCOM_BCM53XX_REG_H_
31#define _ARM_BROADCOM_BCM53XX_REG_H_ 31#define _ARM_BROADCOM_BCM53XX_REG_H_
32 32
33/* 33/*
34 * 0x0000_0000..0x07ff_ffff 128MB DDR2/3 DRAM Memory Region (dual map) 34 * 0x0000_0000..0x07ff_ffff 128MB DDR2/3 DRAM Memory Region (dual map)
35 * 0x0800_0000..0x0fff_ffff 128MB PCIe 0 Address Match Region 35 * 0x0800_0000..0x0fff_ffff 128MB PCIe 0 Address Match Region
36 * 0x1800_0000..0x180f_ffff 1MB Core Register Region 36 * 0x1800_0000..0x180f_ffff 1MB Core Register Region
37 * 0x1810_0000..0x181f_ffff 1MB IDM Register Region 37 * 0x1810_0000..0x181f_ffff 1MB IDM Register Region
38 * 0x1900_0000..0x190f_ffff 1MB ARMcore (CORTEX-A9) Register Region 38 * 0x1900_0000..0x190f_ffff 1MB ARMcore (CORTEX-A9) Register Region
39 * 0x1c00_0000..0x1dff_ffff 1MB NAND Flash Region 39 * 0x1c00_0000..0x1dff_ffff 1MB NAND Flash Region
40 * 0x1e00_0000..0x1dff_ffff 1MB Serial Flash Region 40 * 0x1e00_0000..0x1dff_ffff 1MB Serial Flash Region
41 * 0x4000_0000..0x47ff_ffff 128MB PCIe 1 Address Match Region 41 * 0x4000_0000..0x47ff_ffff 128MB PCIe 1 Address Match Region
42 * 0x4800_0000..0x4fff_ffff 128MB PCIe 2 Address Match Region 42 * 0x4800_0000..0x4fff_ffff 128MB PCIe 2 Address Match Region
43 * 0x8000_0000..0xbfff_ffff 1024MB DDR2/3 DRAM Memory Region 43 * 0x8000_0000..0xbfff_ffff 1024MB DDR2/3 DRAM Memory Region
44 * 0xfffd_0000..0xfffe_ffff 128KB Internal Boot ROM Region 44 * 0xfffd_0000..0xfffe_ffff 128KB Internal Boot ROM Region
45 * 0xffff_0000..0xffff_043f 1088B Internal SKU ROM Region 45 * 0xffff_0000..0xffff_043f 1088B Internal SKU ROM Region
46 * 0xffff_1000..0xffff_1fff 4KB Enumeration ROM Register Region 46 * 0xffff_1000..0xffff_1fff 4KB Enumeration ROM Register Region
47 */ 47 */
48#define BCM53XX_PCIE0_OWIN_PBASE 0x08000000 48#define BCM53XX_PCIE0_OWIN_PBASE 0x08000000
49#define BCM53XX_PCIE0_OWIN_SIZE 0x04000000 49#define BCM53XX_PCIE0_OWIN_SIZE 0x04000000
50#define BCM53XX_PCIE0_OWIN_MAX 0x08000000 50#define BCM53XX_PCIE0_OWIN_MAX 0x08000000
51 51
52#define BCM53XX_IOREG_PBASE 0x18000000 52#define BCM53XX_IOREG_PBASE 0x18000000
53#define BCM53XX_IOREG_SIZE 0x00200000 53#define BCM53XX_IOREG_SIZE 0x00200000
54 54
55#define BCM53XX_ARMCORE_PBASE 0x19000000 55#define BCM53XX_ARMCORE_PBASE 0x19000000
56#define BCM53XX_ARMCORE_SIZE 0x00100000 56#define BCM53XX_ARMCORE_SIZE 0x00100000
57 57
58#define BCM53XX_NAND_PBASE 0x1c000000 58#define BCM53XX_NAND_PBASE 0x1c000000
59#define BCM53XX_NAND_SIZE 0x01000000 59#define BCM53XX_NAND_SIZE 0x01000000
60 60
61#define BCM53XX_SPIFLASH_PBASE 0x1d000000 61#define BCM53XX_SPIFLASH_PBASE 0x1d000000
62#define BCM53XX_SPIFLASH_SIZE 0x01000000 62#define BCM53XX_SPIFLASH_SIZE 0x01000000
63 63
64#define BCM53XX_PCIE1_OWIN_PBASE 0x40000000 64#define BCM53XX_PCIE1_OWIN_PBASE 0x40000000
65#define BCM53XX_PCIE1_OWIN_SIZE 0x04000000 65#define BCM53XX_PCIE1_OWIN_SIZE 0x04000000
66#define BCM53XX_PCIE1_OWIN_MAX 0x08000000 66#define BCM53XX_PCIE1_OWIN_MAX 0x08000000
67 67
68#define BCM53XX_PCIE2_OWIN_PBASE 0x48000000 68#define BCM53XX_PCIE2_OWIN_PBASE 0x48000000
69#define BCM53XX_PCIE2_OWIN_SIZE 0x04000000 69#define BCM53XX_PCIE2_OWIN_SIZE 0x04000000
70#define BCM53XX_PCIE2_OWIN_MAX 0x08000000 70#define BCM53XX_PCIE2_OWIN_MAX 0x08000000
71 71
72#define BCM53XX_IO_SIZE (BCM53XX_IOREG_SIZE \ 72#define BCM53XX_IO_SIZE (BCM53XX_IOREG_SIZE \
73 + BCM53XX_ARMCORE_SIZE \ 73 + BCM53XX_ARMCORE_SIZE \
74 + BCM53XX_PCIE0_OWIN_SIZE \ 74 + BCM53XX_PCIE0_OWIN_SIZE \
75 + BCM53XX_PCIE1_OWIN_SIZE \ 75 + BCM53XX_PCIE1_OWIN_SIZE \
76 + BCM53XX_PCIE2_OWIN_SIZE) 76 + BCM53XX_PCIE2_OWIN_SIZE)
77 77
78#define BCM53XX_REF_CLK (25*1000*1000) 78#define BCM53XX_REF_CLK (25*1000*1000)
79 79
80#define CCA_UART_FREQ BCM53XX_REF_CLK 80#define CCA_UART_FREQ BCM53XX_REF_CLK
81 81
82/* Chip Common A */ 82/* Chip Common A */
83#define CCA_MISC_BASE 0x000000 83#define CCA_MISC_BASE 0x000000
84#define CCA_MISC_SIZE 0x001000 84#define CCA_MISC_SIZE 0x001000
85#define CCA_UART0_BASE 0x000300 85#define CCA_UART0_BASE 0x000300
86#define CCA_UART1_BASE 0x000400 86#define CCA_UART1_BASE 0x000400
87 87
88/* Chip Common B */ 88/* Chip Common B */
89#define CCB_BASE 0x000000 89#define CCB_BASE 0x000000
90#define CCB_SIZE 0x030000 90#define CCB_SIZE 0x030000
91#define PWM_BASE 0x002000 91#define PWM_BASE 0x002000
92#define MII_BASE 0x003000 92#define MII_BASE 0x003000
93#define RNG_BASE 0x004000 93#define RNG_BASE 0x004000
94#define TIMER0_BASE 0x005000 94#define TIMER0_BASE 0x005000
95#define TIMER1_BASE 0x006000 95#define TIMER1_BASE 0x006000
96#define SRAB_BASE 0x007000 96#define SRAB_BASE 0x007000
97#define UART2_BASE 0x008000 97#define UART2_BASE 0x008000
98#define SMBUS_BASE 0x009000 98#define SMBUS_BASE 0x009000
99 99
100#define CRU_BASE 0x00b000 100#define CRU_BASE 0x00b000
101#define DMU_BASE 0x00c000 101#define DMU_BASE 0x00c000
102 102
103#define DDR_BASE 0x010000 103#define DDR_BASE 0x010000
104 104
105#define PCIE0_BASE 0x012000 105#define PCIE0_BASE 0x012000
106#define PCIE1_BASE 0x013000 106#define PCIE1_BASE 0x013000
107#define PCIE2_BASE 0x014000 107#define PCIE2_BASE 0x014000
108 108
109#define SDIO_BASE 0x020000 109#define SDIO_BASE 0x020000
110#define EHCI_BASE 0x021000 110#define EHCI_BASE 0x021000
111#define OHCI_BASE 0x022000 111#define OHCI_BASE 0x022000
112 112
113#define GMAC0_BASE 0x024000 113#define GMAC0_BASE 0x024000
114#define GMAC1_BASE 0x025000 114#define GMAC1_BASE 0x025000
115#define GMAC2_BASE 0x026000 115#define GMAC2_BASE 0x026000
116#define GMAC3_BASE 0x027000 116#define GMAC3_BASE 0x027000
117 117
118#define IDM_BASE 0x100000 118#define IDM_BASE 0x100000
119#define IDM_SIZE 0x100000 119#define IDM_SIZE 0x100000
120 120
121/* Chip Common A */ 121/* Chip Common A */
122 122
123#ifdef CCA_PRIVATE 123#ifdef CCA_PRIVATE
124 124
125#define MISC_CHIPID 0x000 125#define MISC_CHIPID 0x000
126#define CHIPID_REV __BITS(19,16) 126#define CHIPID_REV __BITS(19,16)
127#define CHIPID_ID __BITS(15,0) 127#define CHIPID_ID __BITS(15,0)
128#define ID_BCM53010 0xcf12 // 53010 128#define ID_BCM53010 0xcf12 // 53010
129#define ID_BCM53011 0xcf13 // 53011 129#define ID_BCM53011 0xcf13 // 53011
130#define ID_BCM53012 0xcf14 // 53012 130#define ID_BCM53012 0xcf14 // 53012
131#define ID_BCM53013 0xcf15 // 53013 131#define ID_BCM53013 0xcf15 // 53013
132 132
133#define MISC_CAPABILITY 0x004 133#define MISC_CAPABILITY 0x004
134#define CAPABILITY_JTAG_PRESENT __BIT(22) 134#define CAPABILITY_JTAG_PRESENT __BIT(22)
135#define CAPABILITY_UART_CLKSEL __BITS(4,3) 135#define CAPABILITY_UART_CLKSEL __BITS(4,3)
136#define UART_CLKSEL_REFCLK 0 136#define UART_CLKSEL_REFCLK 0
137#define UART_CLKSEL_INTCLK 1 137#define UART_CLKSEL_INTCLK 1
138 /* 2 & 3 are reserved */ 138 /* 2 & 3 are reserved */
139#define CAPABILITY_BIG_ENDIAN __BIT(2) 139#define CAPABILITY_BIG_ENDIAN __BIT(2)
140#define CAPABILITY_UART_COUNT __BITS(1,0) 140#define CAPABILITY_UART_COUNT __BITS(1,0)
141 141
142#define MISC_CORECTL 0x008 142#define MISC_CORECTL 0x008
143#define CORECTL_UART_CLK_EN __BIT(3) 143#define CORECTL_UART_CLK_EN __BIT(3)
144#define CORECTL_GPIO_ASYNC_INT_EN __BIT(2) 144#define CORECTL_GPIO_ASYNC_INT_EN __BIT(2)
145#define CORECTL_UART_CLK_OVERRIDE __BIT(0) 145#define CORECTL_UART_CLK_OVERRIDE __BIT(0)
146 146
147#define MISC_INTSTATUS 0x020 147#define MISC_INTSTATUS 0x020
148#define INTSTATUS_WDRESET __BIT(31) // WO2C 148#define INTSTATUS_WDRESET __BIT(31) // WO2C
149#define INTSTATUS_UARTINT __BIT(6) // RO 149#define INTSTATUS_UARTINT __BIT(6) // RO
150#define INTSTATUS_GPIOINT __BIT(0) // RO 150#define INTSTATUS_GPIOINT __BIT(0) // RO
151 151
152#define MISC_INTMASK 0x024 152#define MISC_INTMASK 0x024
153#define INTMASK_UARTINT __BIT(6) // 1 = enabled 153#define INTMASK_UARTINT __BIT(6) // 1 = enabled
154#define INTMASK_GPIOINT __BIT(0) // 1 = enabled 154#define INTMASK_GPIOINT __BIT(0) // 1 = enabled
155 155
156/* Only bits [23:0] are used in the GPIO registers */ 156/* Only bits [23:0] are used in the GPIO registers */
157#define GPIO_INPUT 0x060 // RO 157#define GPIO_INPUT 0x060 // RO
158#define GPIO_OUT 0x064 158#define GPIO_OUT 0x064
159#define GPIO_OUTEN 0x068 159#define GPIO_OUTEN 0x068
160#define GPIO_INTPOLARITY 0x070 // 1 = active low 160#define GPIO_INTPOLARITY 0x070 // 1 = active low
161#define GPIO_INTMASK 0x074 // 1 = enabled (level) 161#define GPIO_INTMASK 0x074 // 1 = enabled (level)
162#define GPIO_EVENT 0x078 // W1C, 1 = edge seen 162#define GPIO_EVENT 0x078 // W1C, 1 = edge seen
163#define GPIO_EVENT_INTMASK 0x07c // 1 = enabled (edge) 163#define GPIO_EVENT_INTMASK 0x07c // 1 = enabled (edge)
164#define GPIO_EVENT_INTPOLARITY 0x084 // 1 = falling 164#define GPIO_EVENT_INTPOLARITY 0x084 // 1 = falling
165#define GPIO_TIMER_VAL 0x088 165#define GPIO_TIMER_VAL 0x088
166#define TIMERVAL_ONCOUNT __BITS(31,16) 166#define TIMERVAL_ONCOUNT __BITS(31,16)
167#define TIMERVAL_OFFCOUNT __BITS(15,0) 167#define TIMERVAL_OFFCOUNT __BITS(15,0)
168#define GPIO_TIMER_OUTMASK 0x08c 168#define GPIO_TIMER_OUTMASK 0x08c
169#define GPIO_DEBUG_SEL 0x0a8 169#define GPIO_DEBUG_SEL 0x0a8
170 170
171#define MISC_WATCHDOG 0x080 // 0 disables, 1 resets 171#define MISC_WATCHDOG 0x080 // 0 disables, 1 resets
172 172
173#define MISC_CLKDIV 0x0a4 173#define MISC_CLKDIV 0x0a4
174#define CLKDIV_JTAG_MASTER_CLKDIV __BITS(13,9) 174#define CLKDIV_JTAG_MASTER_CLKDIV __BITS(13,9)
175#define CLKDIV_UART_CLKDIV __BITS(7,1) 175#define CLKDIV_UART_CLKDIV __BITS(7,1)
176 176
177#define MISC_CAPABILITY2 0x0ac 177#define MISC_CAPABILITY2 0x0ac
178#define CAPABILITY2_GSIO_PRESENT __BIT(1) // SPI exists 178#define CAPABILITY2_GSIO_PRESENT __BIT(1) // SPI exists
179 179
180#define MISC_GSIOCTL 0x0e4 180#define MISC_GSIOCTL 0x0e4
181#define GSIOCTL_STARTBUSY __BIT(31) 181#define GSIOCTL_STARTBUSY __BIT(31)
182#define GSIOCTL_GSIOMODE __BIT(30) // 0 = SPI 182#define GSIOCTL_GSIOMODE __BIT(30) // 0 = SPI
183#define GSIOCTL_ERROR __BIT(23) 183#define GSIOCTL_ERROR __BIT(23)
184#define GSIOCTL_BIGENDIAN __BIT(22) 184#define GSIOCTL_BIGENDIAN __BIT(22)
185#define GSIOCTL_GSIOGO __BIT(21) 185#define GSIOCTL_GSIOGO __BIT(21)
186#define GSIOCTL_NUM_DATABYTES __BITS(17,16) // actual is + 1 186#define GSIOCTL_NUM_DATABYTES __BITS(17,16) // actual is + 1
187#define GSIOCTL_NUM_WAITCYCLES __BITS(15,14) // actual is + 1 187#define GSIOCTL_NUM_WAITCYCLES __BITS(15,14) // actual is + 1
188#define GSIOCTL_NUM_ADDRESSBYTES __BITS(13,12) // actual is + 1 188#define GSIOCTL_NUM_ADDRESSBYTES __BITS(13,12) // actual is + 1
189#define GSIOCTL_GSIOCODE __BITS(10,8) 189#define GSIOCTL_GSIOCODE __BITS(10,8)
190#define GSIOCODE_OP_RD1DATA 0 190#define GSIOCODE_OP_RD1DATA 0
191#define GSIOCODE_OP_WRADDR_RDADDR 1 191#define GSIOCODE_OP_WRADDR_RDADDR 1
192#define GSIOCODE_OP_WRADDR_XFRDATA 2 192#define GSIOCODE_OP_WRADDR_XFRDATA 2
193#define GSIOCODE_OP_WRADDR_WAIT_XFRDATA 3 193#define GSIOCODE_OP_WRADDR_WAIT_XFRDATA 3
194#define GSIOCODE_XFRDATA 4 194#define GSIOCODE_XFRDATA 4
195#define GSIOCTL_GSIOOP __BITS(7,0) 195#define GSIOCTL_GSIOOP __BITS(7,0)
196 196
197#define MISC_GSIOADDRESS 0x0e8 197#define MISC_GSIOADDRESS 0x0e8
198#define MISC_GSIODATA 0x0ec 198#define MISC_GSIODATA 0x0ec
199 199
200#define MISC_CLKDIV2 0x0f0 200#define MISC_CLKDIV2 0x0f0
201#define CLKDIV2_GSIODIV __BITS(20,5) 201#define CLKDIV2_GSIODIV __BITS(20,5)
202 202
203#define MISC_EROM_PTR_OFFSET 0x0fc 203#define MISC_EROM_PTR_OFFSET 0x0fc
204 204
205#endif /* CCA_PRIVATE */ 205#endif /* CCA_PRIVATE */
206 206
207/* 207/*
208 * UART0 & 1 use the standard 16550 register layout (normal 1 byte stride) 208 * UART0 & 1 use the standard 16550 register layout (normal 1 byte stride)
209 * and have 64-byte FIFOs 209 * and have 64-byte FIFOs
210 */ 210 */
211 211
212/* TIMER0 & 1 are implemented by the dtimer driver */ 212/* TIMER0 & 1 are implemented by the dtimer driver */
213 213
214#define TIMER_FREQ BCM53XX_REF_CLK 214#define TIMER_FREQ BCM53XX_REF_CLK
215 215
216#ifdef SRAB_PRIVATE 216#ifdef SRAB_PRIVATE
217#define SRAB_CMDSTAT 0x002c 217#define SRAB_CMDSTAT 0x002c
218#define SRA_PAGE __BITS(31,24) 218#define SRA_PAGE __BITS(31,24)
219#define SRA_OFFSET __BITS(23,16) 219#define SRA_OFFSET __BITS(23,16)
220#define SRA_PAGEOFFSET __BITS(31,16) 220#define SRA_PAGEOFFSET __BITS(31,16)
221#define SRA_RST __BIT(2) 221#define SRA_RST __BIT(2)
222#define SRA_WRITE __BIT(1) 222#define SRA_WRITE __BIT(1)
223#define SRA_GORDYN __BIT(0) 223#define SRA_GORDYN __BIT(0)
224#define SRAB_WDH 0x0030 224#define SRAB_WDH 0x0030
225#define SRAB_WDL 0x0034 225#define SRAB_WDL 0x0034
226#define SRAB_RDH 0x0038 226#define SRAB_RDH 0x0038
227#define SRAB_RDL 0x003c 227#define SRAB_RDL 0x003c
228#endif 228#endif
229 229
230#ifdef MII_PRIVATE 230#ifdef MII_PRIVATE
231#define MII_INTERNAL 0x0038003 /* internal phy bitmask */ 231#define MII_INTERNAL 0x0038003 /* internal phy bitmask */
232#define MIIMGT 0x000 232#define MIIMGT 0x000
233#define MIIMGT_BYP __BIT(10) 233#define MIIMGT_BYP __BIT(10)
234#define MIIMGT_EXT __BIT(9) 234#define MIIMGT_EXT __BIT(9)
235#define MIIMGT_BSY __BIT(8) 235#define MIIMGT_BSY __BIT(8)
236#define MIIMGT_PRE __BIT(7) 236#define MIIMGT_PRE __BIT(7)
237#define MIIMGT_MDCDIV __BITS(6,0) 237#define MIIMGT_MDCDIV __BITS(6,0)
238#define MIICMD 0x004 238#define MIICMD 0x004
239#define MIICMD_SB __BITS(31,30) 239#define MIICMD_SB __BITS(31,30)
240#define MIICMD_SB_DEF __SHIFTIN(1, MIICMD_OP) 240#define MIICMD_SB_DEF __SHIFTIN(1, MIICMD_SB)
241#define MIICMD_OP __BITS(29,28) 241#define MIICMD_OP __BITS(29,28)
242#define MIICMD_OP_RD __SHIFTIN(2, MIICMD_OP) 242#define MIICMD_OP_RD __SHIFTIN(2, MIICMD_OP)
243#define MIICMD_OP_WR __SHIFTIN(1, MIICMD_OP) 243#define MIICMD_OP_WR __SHIFTIN(1, MIICMD_OP)
244#define MIICMD_PHY __BITS(27,23) 244#define MIICMD_PHY __BITS(27,23)
245#define MIICMD_REG __BITS(22,18) 245#define MIICMD_REG __BITS(22,18)
246#define MIICMD_TA __BITS(17,16) 246#define MIICMD_TA __BITS(17,16)
247#define MIICMD_TA_DEF __SHIFTIN(2, MIICMD_OP) 247#define MIICMD_TA_DEF __SHIFTIN(2, MIICMD_TA)
248#define MIICMD_DATA __BITS(15,0) 248#define MIICMD_DATA __BITS(15,0)
249 249
250#define MIICMD_RD_DEF (MIICMD_SB_DEF|MIICMD_OP_RD|MIICMD_TA_DEF) 250#define MIICMD_RD_DEF (MIICMD_SB_DEF|MIICMD_OP_RD|MIICMD_TA_DEF)
251#define MIICMD_WR_DEF (MIICMD_SB_DEF|MIICMD_OP_WR|MIICMD_TA_DEF) 251#define MIICMD_WR_DEF (MIICMD_SB_DEF|MIICMD_OP_WR|MIICMD_TA_DEF)
252#define MIICMD__PHYREG(p,r) (__SHIFTIN(p,MIICMD_PHY)|__SHIFTIN(r,MIICMD_REG)) 252#define MIICMD__PHYREG(p,r) (__SHIFTIN(p,MIICMD_PHY)|__SHIFTIN(r,MIICMD_REG))
253#define MIICMD_RD(p,r) (MIICMD_RD_DEF|MIICMD__PHYREG((p),(r))) 253#define MIICMD_RD(p,r) (MIICMD_RD_DEF|MIICMD__PHYREG((p),(r)))
254#define MIICMD_WR(p,r,v) (MIICMD_WR_DEF|MIICMD__PHYREG((p),(r))|(v)) 254#define MIICMD_WR(p,r,v) (MIICMD_WR_DEF|MIICMD__PHYREG((p),(r))|(v))
255#endif /* MII_PRIVATE */ 255#endif /* MII_PRIVATE */
256 256
257#ifdef RNG_PRIVATE 257#ifdef RNG_PRIVATE
258#define RNG_CTRL 0x000 258#define RNG_CTRL 0x000
259#define RNG_COMBLK2_OSC_DIS __BITS(27,22) 259#define RNG_COMBLK2_OSC_DIS __BITS(27,22)
260#define RNG_COMBLK1_OSC_DIS __BITS(21,16) 260#define RNG_COMBLK1_OSC_DIS __BITS(21,16)
261#define RNG_ICLK_BYP_DIV_CNT __BITS(15,8) 261#define RNG_ICLK_BYP_DIV_CNT __BITS(15,8)
262#define RNG_JCLK_BYP_SRC __BIT(5) 262#define RNG_JCLK_BYP_SRC __BIT(5)
263#define RNG_JCLK_BYP_SEL __BIT(4) 263#define RNG_JCLK_BYP_SEL __BIT(4)
264#define RNG_RBG2X __BIT(1) 264#define RNG_RBG2X __BIT(1)
265#define RNG_RBGEN __BIT(0) 265#define RNG_RBGEN __BIT(0)
266#define RNG_STATUS 0x004 266#define RNG_STATUS 0x004
267#define RNG_VAL __BITS(31,24) 267#define RNG_VAL __BITS(31,24)
268#define RNG_WARM_CNT __BITS(19,0) 268#define RNG_WARM_CNT __BITS(19,0)
269 269
270#define RNG_DATA 0x008 270#define RNG_DATA 0x008
271#define RNG_FF_THRESHOLD 0x00c 271#define RNG_FF_THRESHOLD 0x00c
272#define RNG_INT_MASK 0x010 272#define RNG_INT_MASK 0x010
273#define RNG_INT_OFF __BIT(0) 273#define RNG_INT_OFF __BIT(0)
274#endif /* RNG_PRIVATE */ 274#endif /* RNG_PRIVATE */
275 275
276#ifdef UART2_PRIVATE 276#ifdef UART2_PRIVATE
277/* 277/*
278 * UART2 (ChipCommonB) uses a 4-byte stride and 16-byte FIFO. 278 * UART2 (ChipCommonB) uses a 4-byte stride and 16-byte FIFO.
279 * Its frequency is the APB clock. 279 * Its frequency is the APB clock.
280 */ 280 */
281#define UART2_LPDLL 0x020 281#define UART2_LPDLL 0x020
282#define UART2_LPDLH 0x024 282#define UART2_LPDLH 0x024
283#endif 283#endif
284 284
285#ifdef CRU_PRIVATE 285#ifdef CRU_PRIVATE
286 286
287#define CRU_CONTROL 0x000 287#define CRU_CONTROL 0x000
288#define CRUCTL_QSPI_CLK_SEL __BITS(2,1) 288#define CRUCTL_QSPI_CLK_SEL __BITS(2,1)
289#define QSPI_CLK_25MHZ 0 // iproc_ref_clk 289#define QSPI_CLK_25MHZ 0 // iproc_ref_clk
290#define QSPI_CLK_50MHZ 1 // iproc_sdio_clk / 4 290#define QSPI_CLK_50MHZ 1 // iproc_sdio_clk / 4
291#define QSPI_CLK_31dot25MHZ 2 // iproc_clk250 / 8 291#define QSPI_CLK_31dot25MHZ 2 // iproc_clk250 / 8
292#define QSPI_CLK_62dot5MHZ 3 // iproc_clk250 / 4 292#define QSPI_CLK_62dot5MHZ 3 // iproc_clk250 / 4
293#define CRUCTL_SW_RESET __BIT(0) 293#define CRUCTL_SW_RESET __BIT(0)
294 294
295#define CRU_GENPLL_CONTROL5 0x1154 295#define CRU_GENPLL_CONTROL5 0x1154
296#define GENPLL_CONTROL5_NDIV_INT __BITS(29,20) // = (n ? n : 1024) 296#define GENPLL_CONTROL5_NDIV_INT __BITS(29,20) // = (n ? n : 1024)
297#define GENPLL_CONTROL5_NDIV_FRAC __BITS(19,0) // = 1 / n 297#define GENPLL_CONTROL5_NDIV_FRAC __BITS(19,0) // = 1 / n
298#define CRU_GENPLL_CONTROL6 0x1158 298#define CRU_GENPLL_CONTROL6 0x1158
299#define GENPLL_CONTROL6_PDIV __BITS(26,24) // = (n ? n : 8) 299#define GENPLL_CONTROL6_PDIV __BITS(26,24) // = (n ? n : 8)
300#define GENPLL_CONTROL6_CH0_MDIV __BITS(23,16) // = (n ? n : 256), clk_mac 300#define GENPLL_CONTROL6_CH0_MDIV __BITS(23,16) // = (n ? n : 256), clk_mac
301#define GENPLL_CONTROL6_CH1_MDIV __BITS(15,8) // = (n ? n : 256), clk_robo  301#define GENPLL_CONTROL6_CH1_MDIV __BITS(15,8) // = (n ? n : 256), clk_robo
302#define GENPLL_CONTROL6_CH2_MDIV __BITS(7,0) // = (n ? n : 256), clf_usb2 302#define GENPLL_CONTROL6_CH2_MDIV __BITS(7,0) // = (n ? n : 256), clf_usb2
303#define CRU_GENPLL_CONTROL7 0x115c 303#define CRU_GENPLL_CONTROL7 0x115c
304#define GENPLL_CONTROL7_CH3_MDIV __BITS(23,16) // = (n ? n : 256), clk_iproc 304#define GENPLL_CONTROL7_CH3_MDIV __BITS(23,16) // = (n ? n : 256), clk_iproc
305 305
306#define USB2_REF_CLK (1920*1000*1000) 306#define USB2_REF_CLK (1920*1000*1000)
307#define CRU_USB2_CONTROL 0x1164 307#define CRU_USB2_CONTROL 0x1164
308#define USB2_CONTROL_KA __BITS(24,22) 308#define USB2_CONTROL_KA __BITS(24,22)
309#define USB2_CONTROL_KI __BITS(31,19) 309#define USB2_CONTROL_KI __BITS(31,19)
310#define USB2_CONTROL_KP __BITS(18,15) 310#define USB2_CONTROL_KP __BITS(18,15)
311#define USB2_CONTROL_PDIV __BITS(14,12) // = (n ? n : 8)  311#define USB2_CONTROL_PDIV __BITS(14,12) // = (n ? n : 8)
312#define USB2_CONTROL_NDIV_INT __BITS(11,2) // = (n ? n : 1024) 312#define USB2_CONTROL_NDIV_INT __BITS(11,2) // = (n ? n : 1024)
313#define USB2_CONTROL_PLL_PCIEUSB3_RESET __BIT(1) // inverted 1=normal 313#define USB2_CONTROL_PLL_PCIEUSB3_RESET __BIT(1) // inverted 1=normal
314#define USB2_CONTROL_PLL_USB2_RESET __BIT(0) // inverted 1=normal 314#define USB2_CONTROL_PLL_USB2_RESET __BIT(0) // inverted 1=normal
315 315
316#define CRU_CLKSET_KEY 0x1180 316#define CRU_CLKSET_KEY 0x1180
317#define CRU_CLKSET_KEY_MAGIC 0xea68 317#define CRU_CLKSET_KEY_MAGIC 0xea68
318 318
319#define CRU_GPIO_SELECT 0x11c0 // CRU GPIO Select 319#define CRU_GPIO_SELECT 0x11c0 // CRU GPIO Select
320#define CRU_GPIO_DRIVE_SEL2 0x11c4 320#define CRU_GPIO_DRIVE_SEL2 0x11c4
321#define CRU_GPIO_DRIVE_SEL1 0x11c8 321#define CRU_GPIO_DRIVE_SEL1 0x11c8
322#define CRU_GPIO_DRIVE_SEL0 0x11cc 322#define CRU_GPIO_DRIVE_SEL0 0x11cc
323#define CRU_GPIO_INPUT_DISABLE 0x11d0 323#define CRU_GPIO_INPUT_DISABLE 0x11d0
324#define CRU_GPIO_HYSTERESIS 0x11d4 324#define CRU_GPIO_HYSTERESIS 0x11d4
325#define CRU_GPIO_SLEW_RATE 0x11d8 325#define CRU_GPIO_SLEW_RATE 0x11d8
326#define CRU_GPIO_PULL_UP 0x11dc 326#define CRU_GPIO_PULL_UP 0x11dc
327#define CRU_GPIO_PULL_DOWN 0x11e0 327#define CRU_GPIO_PULL_DOWN 0x11e0
328 328
329#define CRU_STRAPS_CONTROL 0x12a0 329#define CRU_STRAPS_CONTROL 0x12a0
330#define STRAP_BOOT_DEV __BITS(17,16) 330#define STRAP_BOOT_DEV __BITS(17,16)
331#define STRAP_NAND_TYPE __BITS(15,12) 331#define STRAP_NAND_TYPE __BITS(15,12)
332#define STRAP_NAND_PAGE __BITS(11,10) 332#define STRAP_NAND_PAGE __BITS(11,10)
333#define STRAP_DDR3 __BIT(9) 333#define STRAP_DDR3 __BIT(9)
334#define STRAP_P5_VOLT_15 __BIT(8) 334#define STRAP_P5_VOLT_15 __BIT(8)
335#define STRAP_P5_MODE __BITS(7,6) 335#define STRAP_P5_MODE __BITS(7,6)
336#define STRAP_PCIE0_MODE __BIT(5) 336#define STRAP_PCIE0_MODE __BIT(5)
337#define STRAP_USB3_SEL __BIT(4) 337#define STRAP_USB3_SEL __BIT(4)
338#define STRAP_EX_EXTCLK __BIT(3) 338#define STRAP_EX_EXTCLK __BIT(3)
339#define STRAP_HW_FWDG_EN __BIT(2) 339#define STRAP_HW_FWDG_EN __BIT(2)
340#define STRAP_LED_SERIAL_MODE __BIT(1) 340#define STRAP_LED_SERIAL_MODE __BIT(1)
341#define STRAP_BISR_BYPASS_AUTOLOAD __BIT(0) 341#define STRAP_BISR_BYPASS_AUTOLOAD __BIT(0)
342 342
343#endif /* CRU_PRIVATE */ 343#endif /* CRU_PRIVATE */
344 344
345#ifdef DMU_PRIVATE 345#ifdef DMU_PRIVATE
346 346
347#define DMU_LCPLL_CONTROL0 0x100 347#define DMU_LCPLL_CONTROL0 0x100
348#define DMU_LCPLL_CONTROL1 0x104 348#define DMU_LCPLL_CONTROL1 0x104
349#define LCPLL_CONTROL1_PDIV __BITS(30,28) // = (n ? n : 8)  349#define LCPLL_CONTROL1_PDIV __BITS(30,28) // = (n ? n : 8)
350#define LCPLL_CONTROL1_NDIV_INT __BITS(27,20) // = (n ? n : 256) 350#define LCPLL_CONTROL1_NDIV_INT __BITS(27,20) // = (n ? n : 256)
351#define LCPLL_CONTROL1_NDIV_FRAC __BITS(19,0) // = 1 / n 351#define LCPLL_CONTROL1_NDIV_FRAC __BITS(19,0) // = 1 / n
352/* 352/*
353 * SYS_CLK = (1 / pdiv) * (ndiv_int + (ndiv_frac / 0x40000000)) x F(ref) 353 * SYS_CLK = (1 / pdiv) * (ndiv_int + (ndiv_frac / 0x40000000)) x F(ref)
354 */ 354 */
355#define DMU_LCPLL_CONTROL2 0x108 355#define DMU_LCPLL_CONTROL2 0x108
356#define LCPLL_CONTROL2_CH0_MDIV __BITS(31,24) // = (n ? n : 256), clk_pcie_ref 356#define LCPLL_CONTROL2_CH0_MDIV __BITS(31,24) // = (n ? n : 256), clk_pcie_ref
357#define LCPLL_CONTROL2_CH1_MDIV __BITS(23,16) // = (n ? n : 256), clk_sdio 357#define LCPLL_CONTROL2_CH1_MDIV __BITS(23,16) // = (n ? n : 256), clk_sdio
358#define LCPLL_CONTROL2_CH2_MDIV __BITS(15,8) // = (n ? n : 256), clk_ddr  358#define LCPLL_CONTROL2_CH2_MDIV __BITS(15,8) // = (n ? n : 256), clk_ddr
359#define LCPLL_CONTROL2_CH3_MDIV __BITS(7,0) // = (n ? n : 256), clf_dft 359#define LCPLL_CONTROL2_CH3_MDIV __BITS(7,0) // = (n ? n : 256), clf_dft
360 360
361#endif /* DMU_PRIVATE */ 361#endif /* DMU_PRIVATE */
362 362
363#ifdef DDR_PRIVATE 363#ifdef DDR_PRIVATE
364/* 364/*
365 * DDR CTL register has such inspired names. 365 * DDR CTL register has such inspired names.
366 */ 366 */
367#define DDR_CTL_01 0x004 367#define DDR_CTL_01 0x004
368#define CTL_01_MAX_CHIP_SEL __BITS(18,16) // not documented as such 368#define CTL_01_MAX_CHIP_SEL __BITS(18,16) // not documented as such
369#define CTL_01_MAX_COL __BITS(11,8) 369#define CTL_01_MAX_COL __BITS(11,8)
370#define CTL_01_MAX_ROW __BITS(4,0) 370#define CTL_01_MAX_ROW __BITS(4,0)
371 371
372#define DDR_CTL_82 0x148 372#define DDR_CTL_82 0x148
373#define CTL_82_COL_DIFF __BITS(26,24) 373#define CTL_82_COL_DIFF __BITS(26,24)
374#define CTL_82_ROW_DIFF __BITS(18,16) 374#define CTL_82_ROW_DIFF __BITS(18,16)
375#define CTL_82_BANK_DIFF __BITS(9,8) 375#define CTL_82_BANK_DIFF __BITS(9,8)
376#define CTL_82_ZQCS_ROTATE __BIT(0) 376#define CTL_82_ZQCS_ROTATE __BIT(0)
377 377
378#define DDR_CTL_86 0x158 378#define DDR_CTL_86 0x158
379#define CTL_86_CS_MAP __BITS(27,24) 379#define CTL_86_CS_MAP __BITS(27,24)
380#define CTL_86_INHIBIT_DRAM_CMD __BIT(16) 380#define CTL_86_INHIBIT_DRAM_CMD __BIT(16)
381#define CTL_86_DIS_RD_INTRLV __BIT(8) 381#define CTL_86_DIS_RD_INTRLV __BIT(8)
382#define CTL_86_NUM_QENT_ACT_DIS __BITS(2,0) 382#define CTL_86_NUM_QENT_ACT_DIS __BITS(2,0)
383 383
384#define DDR_CTL_87 0x15c 384#define DDR_CTL_87 0x15c
385#define CTL_87_IN_ORDER_ACCEPT __BIT(24) 385#define CTL_87_IN_ORDER_ACCEPT __BIT(24)
386#define CTL_87_Q_FULLNESS __BITS(18,16) 386#define CTL_87_Q_FULLNESS __BITS(18,16)
387#define CTL_87_REDUC __BIT(8) 387#define CTL_87_REDUC __BIT(8)
388#define CTL_87_BURST_ON_FLY_BIT __BITS(3,0) 388#define CTL_87_BURST_ON_FLY_BIT __BITS(3,0)
389 389
390#define DDR_PHY_CTL_PLL_STATUS 0x810 390#define DDR_PHY_CTL_PLL_STATUS 0x810
391#define PLL_STATUS_LOCK_LOST __BIT(26) 391#define PLL_STATUS_LOCK_LOST __BIT(26)
392#define PLL_STATUS_MHZ __BITS(25,14) 392#define PLL_STATUS_MHZ __BITS(25,14)
393#define PLL_STATUS_CLOCKING_4X __BIT(13) 393#define PLL_STATUS_CLOCKING_4X __BIT(13)
394#define PLL_STATUS_STATUS __BITS(12,1) 394#define PLL_STATUS_STATUS __BITS(12,1)
395#define PLL_STATUS_LOCK __BIT(0) 395#define PLL_STATUS_LOCK __BIT(0)
396 396
397#define DDR_PHY_CTL_PLL_DIVIDERS 0x81c 397#define DDR_PHY_CTL_PLL_DIVIDERS 0x81c
398#define PLL_DIVIDERS_POST_DIV __BITS(13,11) 398#define PLL_DIVIDERS_POST_DIV __BITS(13,11)
399#define PLL_DIVIDERS_PDIV __BITS(10,8) // 4x: (n ? n : 8), n = n - 4, 4x 399#define PLL_DIVIDERS_PDIV __BITS(10,8) // 4x: (n ? n : 8), n = n - 4, 4x
400#define PLL_DIVIDERS_NDIV __BITS(7,0) 400#define PLL_DIVIDERS_NDIV __BITS(7,0)
401 401
402#endif /* DDR_PRIVATE */ 402#endif /* DDR_PRIVATE */
403 403
404#ifdef PCIE_PRIVATE 404#ifdef PCIE_PRIVATE
405 405
406#define PCIE_CLK_CONTROL 0x000 406#define PCIE_CLK_CONTROL 0x000
407 407
408#define PCIE_RC_AXI_CONFIG 0x100 408#define PCIE_RC_AXI_CONFIG 0x100
409#define PCIE_AWCACHE_CONFIG __BITS(17,14) 409#define PCIE_AWCACHE_CONFIG __BITS(17,14)
410#define PCIE_AWUSER_CONFIG __BITS(13,9) 410#define PCIE_AWUSER_CONFIG __BITS(13,9)
411#define PCIE_ARCACHE_CONFIG __BITS(8,5) 411#define PCIE_ARCACHE_CONFIG __BITS(8,5)
412#define PCIE_ARUSER_CONFIG __BITS(4,0) 412#define PCIE_ARUSER_CONFIG __BITS(4,0)
413 413
414#define PCIE_CFG_IND_ADDR 0x120 414#define PCIE_CFG_IND_ADDR 0x120
415#define CFG_IND_ADDR_FUNC __BITS(15,13) 415#define CFG_IND_ADDR_FUNC __BITS(15,13)
416#define CFG_IND_ADDR_LAYER __BITS(12,11) 416#define CFG_IND_ADDR_LAYER __BITS(12,11)
417#define CFG_IND_ADDR_REG __BITS(10,2) 417#define CFG_IND_ADDR_REG __BITS(10,2)
418#define PCIE_CFG_IND_DATA 0x124 418#define PCIE_CFG_IND_DATA 0x124
419#define PCIE_CFG_ADDR 0x1f8 419#define PCIE_CFG_ADDR 0x1f8
420#define CFG_ADDR_BUS __BITS(27,20) 420#define CFG_ADDR_BUS __BITS(27,20)
421#define CFG_ADDR_DEV __BITS(19,15) 421#define CFG_ADDR_DEV __BITS(19,15)
422#define CFG_ADDR_FUNC __BITS(14,12) 422#define CFG_ADDR_FUNC __BITS(14,12)
423#define CFG_ADDR_REG __BITS(11,2) 423#define CFG_ADDR_REG __BITS(11,2)
424#define CFG_ADDR_TYPE __BITS(1,0) 424#define CFG_ADDR_TYPE __BITS(1,0)
425#define CFG_ADDR_TYPE0 __SHIFTIN(0, CFG_ADDR_TYPE) 425#define CFG_ADDR_TYPE0 __SHIFTIN(0, CFG_ADDR_TYPE)
426#define CFG_ADDR_TYPE1 __SHIFTIN(1, CFG_ADDR_TYPE) 426#define CFG_ADDR_TYPE1 __SHIFTIN(1, CFG_ADDR_TYPE)
427#define PCIE_CFG_DATA 0x1fc 427#define PCIE_CFG_DATA 0x1fc
428#define PCIE_EQ_PAGE 0x200 428#define PCIE_EQ_PAGE 0x200
429#define PCIE_MSI_PAGE 0x204 429#define PCIE_MSI_PAGE 0x204
430#define PCIE_MSI_INTR_EN 0x208 430#define PCIE_MSI_INTR_EN 0x208
431#define PCIE_MSI_CTRL_0 0x210 431#define PCIE_MSI_CTRL_0 0x210
432#define PCIE_MSI_CTRL_1 0x214 432#define PCIE_MSI_CTRL_1 0x214
433#define PCIE_MSI_CTRL_2 0x218 433#define PCIE_MSI_CTRL_2 0x218
434#define PCIE_MSI_CTRL_3 0x21c 434#define PCIE_MSI_CTRL_3 0x21c
435#define PCIE_MSI_CTRL_4 0x220 435#define PCIE_MSI_CTRL_4 0x220
436#define PCIE_MSI_CTRL_5 0x224 436#define PCIE_MSI_CTRL_5 0x224
437#define PCIE_SYS_EQ_HEAD_0 0x250 437#define PCIE_SYS_EQ_HEAD_0 0x250
438#define PCIE_SYS_EQ_TAIL_0 0x254 438#define PCIE_SYS_EQ_TAIL_0 0x254
439#define PCIE_SYS_EQ_HEAD_1 0x258 439#define PCIE_SYS_EQ_HEAD_1 0x258
440#define PCIE_SYS_EQ_TAIL_1 0x25c 440#define PCIE_SYS_EQ_TAIL_1 0x25c
441#define PCIE_SYS_EQ_HEAD_2 0x260 441#define PCIE_SYS_EQ_HEAD_2 0x260
442#define PCIE_SYS_EQ_TAIL_2 0x264 442#define PCIE_SYS_EQ_TAIL_2 0x264
443#define PCIE_SYS_EQ_HEAD_3 0x268 443#define PCIE_SYS_EQ_HEAD_3 0x268
444#define PCIE_SYS_EQ_TAIL_3 0x26c 444#define PCIE_SYS_EQ_TAIL_3 0x26c
445#define PCIE_SYS_EQ_HEAD_4 0x270 445#define PCIE_SYS_EQ_HEAD_4 0x270
446#define PCIE_SYS_EQ_TAIL_4 0x274 446#define PCIE_SYS_EQ_TAIL_4 0x274
447#define PCIE_SYS_EQ_HEAD_5 0x278 447#define PCIE_SYS_EQ_HEAD_5 0x278
448#define PCIE_SYS_EQ_TAIL_5 0x27c 448#define PCIE_SYS_EQ_TAIL_5 0x27c
449#define PCIE_SYS_RC_INTX_EN 0x330 449#define PCIE_SYS_RC_INTX_EN 0x330
450#define PCIE_SYS_RC_INTX_CSR 0x334 450#define PCIE_SYS_RC_INTX_CSR 0x334
451 451
452#define PCIE_CFG000_BASE 0x400 452#define PCIE_CFG000_BASE 0x400
453 453
454#define PCIE_FUNC0_IMAP0_0 0xc00 454#define PCIE_FUNC0_IMAP0_0 0xc00
455#define PCIE_FUNC0_IMAP0_1 0xc04 455#define PCIE_FUNC0_IMAP0_1 0xc04
456#define PCIE_FUNC0_IMAP0_2 0xc08 456#define PCIE_FUNC0_IMAP0_2 0xc08
457#define PCIE_FUNC0_IMAP0_3 0xc0c 457#define PCIE_FUNC0_IMAP0_3 0xc0c
458#define PCIE_FUNC0_IMAP0_4 0xc10 458#define PCIE_FUNC0_IMAP0_4 0xc10
459#define PCIE_FUNC0_IMAP0_5 0xc14 459#define PCIE_FUNC0_IMAP0_5 0xc14
460#define PCIE_FUNC0_IMAP0_6 0xc18 460#define PCIE_FUNC0_IMAP0_6 0xc18
461#define PCIE_FUNC0_IMAP0_7 0xc1c 461#define PCIE_FUNC0_IMAP0_7 0xc1c
462 462
463#define PCIE_FUNC0_IMAP1 0xc80 463#define PCIE_FUNC0_IMAP1 0xc80
464#define PCIE_FUNC1_IMAP1 0xc88 464#define PCIE_FUNC1_IMAP1 0xc88
465#define PCIE_FUNC0_IMAP2 0xcc0 465#define PCIE_FUNC0_IMAP2 0xcc0
466#define PCIE_FUNC1_IMAP2 0xcc8 466#define PCIE_FUNC1_IMAP2 0xcc8
467 467
468#define PCIE_IARR_0_LOWER 0xd00 468#define PCIE_IARR_0_LOWER 0xd00
469#define PCIE_IARR_0_UPPER 0xd04 469#define PCIE_IARR_0_UPPER 0xd04
470#define PCIE_IARR_1_LOWER 0xd08 470#define PCIE_IARR_1_LOWER 0xd08
471#define PCIE_IARR_1_UPPER 0xd0c 471#define PCIE_IARR_1_UPPER 0xd0c
472#define PCIE_IARR_2_LOWER 0xd10 472#define PCIE_IARR_2_LOWER 0xd10
473#define PCIE_IARR_2_UPPER 0xd14 473#define PCIE_IARR_2_UPPER 0xd14
474 474
475#define PCIE_OARR_0 0xd20 475#define PCIE_OARR_0 0xd20
476#define PCIE_OARR_1 0xd28 476#define PCIE_OARR_1 0xd28
477 477
478#define PCIE_OARR_ADDR __BITS(31,26) 478#define PCIE_OARR_ADDR __BITS(31,26)
479 479
480#define PCIE_OMAP_0_LOWER 0xd40 480#define PCIE_OMAP_0_LOWER 0xd40
481#define PCIE_OMAP_0_UPPER 0xd44 481#define PCIE_OMAP_0_UPPER 0xd44
482#define PCIE_OMAP_1_LOWER 0xd48 482#define PCIE_OMAP_1_LOWER 0xd48
483#define PCIE_OMAP_1_UPPER 0xd4c 483#define PCIE_OMAP_1_UPPER 0xd4c
484 484
485#define PCIE_OMAP_ADDRL __BITS(31,26) 485#define PCIE_OMAP_ADDRL __BITS(31,26)
486 486
487#define PCIE_FUNC1_IARR_1_SIZE 0xd58 487#define PCIE_FUNC1_IARR_1_SIZE 0xd58
488#define PCIE_FUNC1_IARR_2_SIZE 0xd5c 488#define PCIE_FUNC1_IARR_2_SIZE 0xd5c
489 489
490#define PCIE_MEM_CONTROL 0xf00 490#define PCIE_MEM_CONTROL 0xf00
491#define PCIE_MEM_ECC_ERR_LOG_0 0xf04 491#define PCIE_MEM_ECC_ERR_LOG_0 0xf04
492#define PCIE_MEM_ECC_ERR_LOG_1 0xf08 492#define PCIE_MEM_ECC_ERR_LOG_1 0xf08
493 493
494#define PCIE_LINK_STATUS 0xf0c 494#define PCIE_LINK_STATUS 0xf0c
495#define PCIE_PHYLINKUP __BIT(3) 495#define PCIE_PHYLINKUP __BIT(3)
496#define PCIE_DL_ACTIVE __BIT(2) 496#define PCIE_DL_ACTIVE __BIT(2)
497#define PCIE_RX_LOS_TIMEOUT __BIT(1) 497#define PCIE_RX_LOS_TIMEOUT __BIT(1)
498#define PCIE_LINK_IN_L1 __BIT(0) 498#define PCIE_LINK_IN_L1 __BIT(0)
499#define PCIE_STRAP_STATUS 0xf10 499#define PCIE_STRAP_STATUS 0xf10
500#define STRAP_PCIE_REPLAY_BUF_TM __BITS(8,4) 500#define STRAP_PCIE_REPLAY_BUF_TM __BITS(8,4)
501#define STRAP_PCIE_USER_FOR_CE_GEN1 __BIT(3) 501#define STRAP_PCIE_USER_FOR_CE_GEN1 __BIT(3)
502#define STRAP_PCIE_USER_FOR_CE_1LANE __BIT(2) 502#define STRAP_PCIE_USER_FOR_CE_1LANE __BIT(2)
503#define STRAP_PCIE_IF_ENABLE __BIT(1) 503#define STRAP_PCIE_IF_ENABLE __BIT(1)
504#define STRAP_PCIE_USER_RC_MODE __BIT(0) 504#define STRAP_PCIE_USER_RC_MODE __BIT(0)
505#define PCIE_RESET_STATUS 0xf14 505#define PCIE_RESET_STATUS 0xf14
506 506
507#define PCIE_RESET_ENABLE_IN_PCIE_LINK_DOWN 0xf18 507#define PCIE_RESET_ENABLE_IN_PCIE_LINK_DOWN 0xf18
508 508
509#define PCIE_MISC_INTR_EN 0xf1c 509#define PCIE_MISC_INTR_EN 0xf1c
510#define PCIE_TX_DEBUG_CFG 0xf20 510#define PCIE_TX_DEBUG_CFG 0xf20
511#define PCIE_ERROR_INTR_EN 0xf30 511#define PCIE_ERROR_INTR_EN 0xf30
512#define PCIE_ERROR_INTR_CLR 0xf34 512#define PCIE_ERROR_INTR_CLR 0xf34
513#define PCIE_ERROR_INTR_STS 0xf38 513#define PCIE_ERROR_INTR_STS 0xf38
514 514
515 515
516// PCIE_SYS_MSI_INTR_EN 516// PCIE_SYS_MSI_INTR_EN
517#define MSI_INTR_EN_EQ_5 __BIT(5) 517#define MSI_INTR_EN_EQ_5 __BIT(5)
518#define MSI_INTR_EN_EQ_4 __BIT(4) 518#define MSI_INTR_EN_EQ_4 __BIT(4)
519#define MSI_INTR_EN_EQ_3 __BIT(3) 519#define MSI_INTR_EN_EQ_3 __BIT(3)
520#define MSI_INTR_EN_EQ_2 __BIT(2) 520#define MSI_INTR_EN_EQ_2 __BIT(2)
521#define MSI_INTR_EN_EQ_1 __BIT(1) 521#define MSI_INTR_EN_EQ_1 __BIT(1)
522#define MSI_INTR_EN_EQ_0 __BIT(0) 522#define MSI_INTR_EN_EQ_0 __BIT(0)
523 523
524// PCIE_SYS_MSI_CTRL<n> 524// PCIE_SYS_MSI_CTRL<n>
525#define INT_N_DELAY __BITS(9,6) 525#define INT_N_DELAY __BITS(9,6)
526#define INT_N_EVENT __BITS(1,1) 526#define INT_N_EVENT __BITS(1,1)
527#define EQ_ENABLE __BIT(0) 527#define EQ_ENABLE __BIT(0)
528 528
529// PCIE_SYS_EQ_HEAD<n> 529// PCIE_SYS_EQ_HEAD<n>
530#define HEAD_PTR __BITS(5,0) 530#define HEAD_PTR __BITS(5,0)
531 531
532// PCIE_SYS_EQ_TAIL<n> 532// PCIE_SYS_EQ_TAIL<n>
533#define EQ_OVERFLOW __BIT(6) 533#define EQ_OVERFLOW __BIT(6)
534#define TAIL_PTR __BITS(5,0) 534#define TAIL_PTR __BITS(5,0)
535 535
536// PCIE_SYS_RC_INTRX_EN 536// PCIE_SYS_RC_INTRX_EN
537#define RC_EN_INTD __BIT(3) 537#define RC_EN_INTD __BIT(3)
538#define RC_EN_INTC __BIT(2) 538#define RC_EN_INTC __BIT(2)
539#define RC_EN_INTB __BIT(1) 539#define RC_EN_INTB __BIT(1)
540#define RC_EN_INTA __BIT(0) 540#define RC_EN_INTA __BIT(0)
541 541
542// PCIE_SYS_RC_INTRX_CSR 542// PCIE_SYS_RC_INTRX_CSR
543#define RC_INTD __BIT(3) 543#define RC_INTD __BIT(3)
544#define RC_INTC __BIT(2) 544#define RC_INTC __BIT(2)
545#define RC_INTB __BIT(1) 545#define RC_INTB __BIT(1)
546#define RC_INTA __BIT(0) 546#define RC_INTA __BIT(0)
547 547
548// PCIE_IARR_0_LOWER / UPPER 548// PCIE_IARR_0_LOWER / UPPER
549#define IARR0_ADDR __BIT(31,15) 549#define IARR0_ADDR __BIT(31,15)
550#define IARR0_VALID __BIT(0) 550#define IARR0_VALID __BIT(0)
551 551
552// PCIE_IARR_1_LOWER / UPPER 552// PCIE_IARR_1_LOWER / UPPER
553#define IARR1_ADDR __BIT(31,20) 553#define IARR1_ADDR __BIT(31,20)
554#define IARR1_SIZE __BIT(7,0) 554#define IARR1_SIZE __BIT(7,0)
555 555
556// PCIE_IARR_2_LOWER / UPPER 556// PCIE_IARR_2_LOWER / UPPER
557#define IARR2_ADDR __BIT(31,20) 557#define IARR2_ADDR __BIT(31,20)
558#define IARR2_SIZE __BIT(7,0) 558#define IARR2_SIZE __BIT(7,0)
559 559
560// PCIE_MISC_INTR_EN 560// PCIE_MISC_INTR_EN
561#define INTR_EN_PCIE_ERR_ATTN __BIT(2) 561#define INTR_EN_PCIE_ERR_ATTN __BIT(2)
562#define INTR_EN_PAXB_ECC_2B_ATTN __BIT(1) 562#define INTR_EN_PAXB_ECC_2B_ATTN __BIT(1)
563#define INTR_EN_PCIE_IN_WAKE_B __BIT(0) 563#define INTR_EN_PCIE_IN_WAKE_B __BIT(0)
564 564
565// PCIE_ERR_INTR_{EN,CLR,STS} 565// PCIE_ERR_INTR_{EN,CLR,STS}
566#define PCIE_OVERFLOW_UNDERFLOW_INTR __BIT(10) 566#define PCIE_OVERFLOW_UNDERFLOW_INTR __BIT(10)
567#define PCIE_AXI_MASTER_RRESP_SLV_ERR_INTR __BIT(9) 567#define PCIE_AXI_MASTER_RRESP_SLV_ERR_INTR __BIT(9)
568#define PCIE_AXI_MASTER_RRESP_DECERR_INTR __BIT(8) 568#define PCIE_AXI_MASTER_RRESP_DECERR_INTR __BIT(8)
569#define PCIE_ECRC_ERR_INTR __BIT(7) 569#define PCIE_ECRC_ERR_INTR __BIT(7)
570#define PCIE_CMPL_TIMEROUT_INTR __BIT(6) 570#define PCIE_CMPL_TIMEROUT_INTR __BIT(6)
571#define PCIE_ERR_ATTN_INTR __BIT(5) 571#define PCIE_ERR_ATTN_INTR __BIT(5)
572#define PCIE_IN_WAKE_B_INTR __BIT(4) 572#define PCIE_IN_WAKE_B_INTR __BIT(4)
573#define PCIE_REPLAY_BUF_2B_ECC_ERR_INTR __BIT(3) 573#define PCIE_REPLAY_BUF_2B_ECC_ERR_INTR __BIT(3)
574#define PCIE_RD_CMPL_BUF_1_2B_ECC_ERR_INTR __BIT(2) 574#define PCIE_RD_CMPL_BUF_1_2B_ECC_ERR_INTR __BIT(2)
575#define PCIE_RD_CMPL_BUF_0_2B_ECC_ERR_INTR __BIT(1) 575#define PCIE_RD_CMPL_BUF_0_2B_ECC_ERR_INTR __BIT(1)
576#define PCIE_WR_DATA_BUF_2B_ECC_ERR_INTR __BIT(0) 576#define PCIE_WR_DATA_BUF_2B_ECC_ERR_INTR __BIT(0)
577 577
578#define REGS_DEVICE_CAPACITY 0x04d4 578#define REGS_DEVICE_CAPACITY 0x04d4
579#define REGS_LINK_CAPACITY 0x03dc 579#define REGS_LINK_CAPACITY 0x03dc
580#define REGS_TL_CONTROL_0 0x0800 580#define REGS_TL_CONTROL_0 0x0800
581#define REGS_DL_STATUS 0x1048 581#define REGS_DL_STATUS 0x1048
582 582
583#endif /* PCIE_PRIVATE */ 583#endif /* PCIE_PRIVATE */
584 584
585#define ARMCORE_SCU_BASE 0x20000 /* CBAR is 19020000 */ 585#define ARMCORE_SCU_BASE 0x20000 /* CBAR is 19020000 */
586#define ARMCORE_L2C_BASE 0x22000 586#define ARMCORE_L2C_BASE 0x22000
587 587
588#ifdef ARMCORE_PRIVATE 588#ifdef ARMCORE_PRIVATE
589 589
590#define ARMCORE_CLK_POLICY_FREQ 0x008 590#define ARMCORE_CLK_POLICY_FREQ 0x008
591#define CLK_POLICY_FREQ_PRIVED __BIT(31) 591#define CLK_POLICY_FREQ_PRIVED __BIT(31)
592#define CLK_POLICY_FREQ_POLICY3 __BITS(26,24) 592#define CLK_POLICY_FREQ_POLICY3 __BITS(26,24)
593#define CLK_POLICY_FREQ_POLICY2 __BITS(18,16) 593#define CLK_POLICY_FREQ_POLICY2 __BITS(18,16)
594#define CLK_POLICY_FREQ_POLICY1 __BITS(10,8) 594#define CLK_POLICY_FREQ_POLICY1 __BITS(10,8)
595#define CLK_POLICY_FREQ_POLICY0 __BITS(2,0) 595#define CLK_POLICY_FREQ_POLICY0 __BITS(2,0)
596#define CLK_POLICY_REF_CLK 0 // 25 MHZ 596#define CLK_POLICY_REF_CLK 0 // 25 MHZ
597#define CLK_POLICY_SYS_CLK 1 // sys clk (200MHZ) 597#define CLK_POLICY_SYS_CLK 1 // sys clk (200MHZ)
598#define CLK_POLICY_ARM_PLL_CH0 6 // slow clock 598#define CLK_POLICY_ARM_PLL_CH0 6 // slow clock
599#define CLK_POLICY_ARM_PLL_CH1 7 // fast clock 599#define CLK_POLICY_ARM_PLL_CH1 7 // fast clock
600 600
601#define ARMCORE_CLK_APB_DIV 0xa10 601#define ARMCORE_CLK_APB_DIV 0xa10
602#define CLK_APB_DIV_PRIVED __BIT(31) 602#define CLK_APB_DIV_PRIVED __BIT(31)
603#define CLK_APB_DIV_VALUE __BITS(1,0) // n = n + 1 603#define CLK_APB_DIV_VALUE __BITS(1,0) // n = n + 1
604 604
605#define ARMCORE_CLK_APB_DIV_TRIGGER 0xa10 605#define ARMCORE_CLK_APB_DIV_TRIGGER 0xa10
606#define CLK_APB_DIV_TRIGGER_PRIVED __BIT(31) 606#define CLK_APB_DIV_TRIGGER_PRIVED __BIT(31)
607#define CLK_APB_DIV_TRIGGER_OVERRIDE __BIT(0) 607#define CLK_APB_DIV_TRIGGER_OVERRIDE __BIT(0)
608 608
609#define ARMCORE_CLK_PLLARMA 0xc00 609#define ARMCORE_CLK_PLLARMA 0xc00
610#define CLK_PLLARMA_PDIV __BITS(26,24) // = (n ? n : 16(?))  610#define CLK_PLLARMA_PDIV __BITS(26,24) // = (n ? n : 16(?))
611#define CLK_PLLARMA_NDIV_INT __BITS(17,8) // = (n ? n : 1024) 611#define CLK_PLLARMA_NDIV_INT __BITS(17,8) // = (n ? n : 1024)
612 612
613#define ARMCORE_CLK_PLLARMB 0xc04 613#define ARMCORE_CLK_PLLARMB 0xc04
614#define CLK_PLLARMB_NDIV_FRAC __BITS(19,0) // = 1 / n 614#define CLK_PLLARMB_NDIV_FRAC __BITS(19,0) // = 1 / n
615 615
616#endif 616#endif
617 617
618#ifdef IDM_PRIVATE 618#ifdef IDM_PRIVATE
619 619
620#define IDM_ARMCORE_M0_BASE 0x00000 620#define IDM_ARMCORE_M0_BASE 0x00000
621#define IDM_PCIE_M0_BASE 0x01000 621#define IDM_PCIE_M0_BASE 0x01000
622#define IDM_PCIE_M1_BASE 0x02000 622#define IDM_PCIE_M1_BASE 0x02000
623#define IDM_PCIE_M2_BASE 0x03000 623#define IDM_PCIE_M2_BASE 0x03000
624#define IDM_USB3_BASE 0x05000 624#define IDM_USB3_BASE 0x05000
625#define IDM_ARMCORE_S1_BASE 0x06000 625#define IDM_ARMCORE_S1_BASE 0x06000
626#define IDM_ARMCORE_S0_BASE 0x07000 626#define IDM_ARMCORE_S0_BASE 0x07000
627#define IDM_DDR_S1_BASE 0x08000 627#define IDM_DDR_S1_BASE 0x08000
628#define IDM_DDR_S2_BASE 0x09000 628#define IDM_DDR_S2_BASE 0x09000
629#define IDM_ROM_S0_BASE 0x0d000 629#define IDM_ROM_S0_BASE 0x0d000
630#define IDM_AMAC0_BASE 0x10000 630#define IDM_AMAC0_BASE 0x10000
631#define IDM_AMAC1_BASE 0x11000 631#define IDM_AMAC1_BASE 0x11000
632#define IDM_AMAC2_BASE 0x12000 632#define IDM_AMAC2_BASE 0x12000
633#define IDM_AMAC3_BASE 0x13000 633#define IDM_AMAC3_BASE 0x13000
634#define IDM_DMAC_M0_BASE 0x14000 634#define IDM_DMAC_M0_BASE 0x14000
635#define IDM_USB2_BASE 0x15000 635#define IDM_USB2_BASE 0x15000
636#define IDM_SDIO_BASE 0x16000 636#define IDM_SDIO_BASE 0x16000
637#define IDM_I2S_M0_BASE 0x17000 637#define IDM_I2S_M0_BASE 0x17000
638#define IDM_A9JTAG_M0_BASE 0x18000 638#define IDM_A9JTAG_M0_BASE 0x18000
639#define IDM_NAND_BASE 0x1a000 639#define IDM_NAND_BASE 0x1a000
640#define IDM_QSPI_BASE 0x1b000 640#define IDM_QSPI_BASE 0x1b000
641#define IDM_APBX_BASE 0x21000 641#define IDM_APBX_BASE 0x21000
642 642
643#define IDM_IO_CONTROL_DIRECT 0x0408 643#define IDM_IO_CONTROL_DIRECT 0x0408
644#define IDM_IO_STATUS 0x0500 644#define IDM_IO_STATUS 0x0500
645#define IDM_RESET_CONTROL 0x0800 645#define IDM_RESET_CONTROL 0x0800
646#define IDM_RESET_STATUS 0x0804 646#define IDM_RESET_STATUS 0x0804
647#define IDM_INTERRUPT_STATUS 0x0a00 647#define IDM_INTERRUPT_STATUS 0x0a00
648 648
649#define IO_CONTROL_DIRECT_ARUSER __BITS(29,25) 649#define IO_CONTROL_DIRECT_ARUSER __BITS(29,25)
650#define IO_CONTROL_DIRECT_AWUSER __BITS(24,20) 650#define IO_CONTROL_DIRECT_AWUSER __BITS(24,20)
651#define IO_CONTROL_DIRECT_ARCACHE __BITS(19,16) 651#define IO_CONTROL_DIRECT_ARCACHE __BITS(19,16)
652#define IO_CONTROL_DIRECT_AWCACHE __BITS(10,7) 652#define IO_CONTROL_DIRECT_AWCACHE __BITS(10,7)
653#define AXCACHE_WA __BIT(3) 653#define AXCACHE_WA __BIT(3)
654#define AXCACHE_RA __BIT(2) 654#define AXCACHE_RA __BIT(2)
655#define AXCACHE_C __BIT(1) 655#define AXCACHE_C __BIT(1)
656#define AXCACHE_B __BIT(0) 656#define AXCACHE_B __BIT(0)
657#define IO_CONTROL_DIRECT_UARTCLKSEL __BIT(17) 657#define IO_CONTROL_DIRECT_UARTCLKSEL __BIT(17)
658#define IO_CONTROL_DIRECT_CLK_250_SEL __BIT(6) 658#define IO_CONTROL_DIRECT_CLK_250_SEL __BIT(6)
659#define IO_CONTROL_DIRECT_DIRECT_GMII_MODE __BIT(5) 659#define IO_CONTROL_DIRECT_DIRECT_GMII_MODE __BIT(5)
660#define IO_CONTROL_DIRECT_TX_CLK_OUT_INVERT_EN __BIT(4) 660#define IO_CONTROL_DIRECT_TX_CLK_OUT_INVERT_EN __BIT(4)
661#define IO_CONTROL_DIRECT_DEST_SYNC_MODE_EN __BIT(3) 661#define IO_CONTROL_DIRECT_DEST_SYNC_MODE_EN __BIT(3)
662#define IO_CONTROL_DIRECT_SOURCE_SYNC_MODE_EN __BIT(2) 662#define IO_CONTROL_DIRECT_SOURCE_SYNC_MODE_EN __BIT(2)
663#define IO_CONTROL_DIRECT_CLK_GATING_EN __BIT(0) 663#define IO_CONTROL_DIRECT_CLK_GATING_EN __BIT(0)
664 664
665#define RESET_CONTROL_RESET __BIT(0) 665#define RESET_CONTROL_RESET __BIT(0)
666 666
667#endif /* IDM_PRIVATE */ 667#endif /* IDM_PRIVATE */
668 668
669#ifdef USBH_PRIVATE 669#ifdef USBH_PRIVATE
670#define USBH_PHY_CTRL_P0 0x200 670#define USBH_PHY_CTRL_P0 0x200
671#define USBH_PHY_CTRL_P1 0x204 671#define USBH_PHY_CTRL_P1 0x204
672 672
673#define USBH_PHY_CTRL_INIT 0x3ff 673#define USBH_PHY_CTRL_INIT 0x3ff
674#endif 674#endif
675 675
676#ifdef GMAC_PRIVATE 676#ifdef GMAC_PRIVATE
677 677
678struct gmac_txdb { 678struct gmac_txdb {
679 uint32_t txdb_flags; 679 uint32_t txdb_flags;
680 uint32_t txdb_buflen; 680 uint32_t txdb_buflen;
681 uint32_t txdb_addrlo; 681 uint32_t txdb_addrlo;
682 uint32_t txdb_addrhi; 682 uint32_t txdb_addrhi;
683}; 683};
684#define TXDB_FLAG_SF __BIT(31) // Start oF Frame 684#define TXDB_FLAG_SF __BIT(31) // Start oF Frame
685#define TXDB_FLAG_EF __BIT(30) // End oF Frame 685#define TXDB_FLAG_EF __BIT(30) // End oF Frame
686#define TXDB_FLAG_IC __BIT(29) // Interupt on Completetion 686#define TXDB_FLAG_IC __BIT(29) // Interupt on Completetion
687#define TXDB_FLAG_ET __BIT(28) // End Of Table 687#define TXDB_FLAG_ET __BIT(28) // End Of Table
688 688
689struct gmac_rxdb { 689struct gmac_rxdb {
690 uint32_t rxdb_flags; 690 uint32_t rxdb_flags;
691 uint32_t rxdb_buflen; 691 uint32_t rxdb_buflen;
692 uint32_t rxdb_addrlo; 692 uint32_t rxdb_addrlo;
693 uint32_t rxdb_addrhi; 693 uint32_t rxdb_addrhi;
694}; 694};
695#define RXDB_FLAG_SF __BIT(31) // Start oF Frame (ignored) 695#define RXDB_FLAG_SF __BIT(31) // Start oF Frame (ignored)
696#define RXDB_FLAG_EF __BIT(30) // End oF Frame (ignored) 696#define RXDB_FLAG_EF __BIT(30) // End oF Frame (ignored)
697#define RXDB_FLAG_IC __BIT(29) // Interupt on Completetion 697#define RXDB_FLAG_IC __BIT(29) // Interupt on Completetion
698#define RXDB_FLAG_ET __BIT(28) // End Of Table 698#define RXDB_FLAG_ET __BIT(28) // End Of Table
699 699
700#define RXSTS_FRAMELEN __BITS(15,0) // # of bytes (including padding) 700#define RXSTS_FRAMELEN __BITS(15,0) // # of bytes (including padding)
701#define RXSTS_PKTTYPE __BITS(17,16) 701#define RXSTS_PKTTYPE __BITS(17,16)
702#define RXSTS_PKTTYPE_UC 0 // Unicast 702#define RXSTS_PKTTYPE_UC 0 // Unicast
703#define RXSTS_PKTTYPE_MC 1 // Multicast 703#define RXSTS_PKTTYPE_MC 1 // Multicast
704#define RXSTS_PKTTYPE_BC 2 // Broadcast 704#define RXSTS_PKTTYPE_BC 2 // Broadcast
705#define RXSTS_VLAN_PRESENT __BIT(18) 705#define RXSTS_VLAN_PRESENT __BIT(18)
706#define RXSTS_CRC_ERROR __BIT(19) 706#define RXSTS_CRC_ERROR __BIT(19)
707#define RXSTS_OVERSIZED __BIT(20) 707#define RXSTS_OVERSIZED __BIT(20)
708#define RXSTS_CTF_HIT __BIT(21) 708#define RXSTS_CTF_HIT __BIT(21)
709#define RXSTS_CTF_ERROR __BIT(22) 709#define RXSTS_CTF_ERROR __BIT(22)
710#define RXSTS_PKT_OVERFLOW __BIT(23) 710#define RXSTS_PKT_OVERFLOW __BIT(23)
711#define RXSTS_DESC_COUNT __BITS(27,24) // # of descriptors - 1 711#define RXSTS_DESC_COUNT __BITS(27,24) // # of descriptors - 1
712 712
713#define GMAC_DEVCONTROL 0x000 713#define GMAC_DEVCONTROL 0x000
714#define ENABLE_DEL_G_TXC __BIT(21) 714#define ENABLE_DEL_G_TXC __BIT(21)
715#define ENABLE_DEL_G_RXC __BIT(20) 715#define ENABLE_DEL_G_RXC __BIT(20)
716#define TXC_DRNG __BITS(19,18) 716#define TXC_DRNG __BITS(19,18)
717#define RXC_DRNG __BITS(17,16) 717#define RXC_DRNG __BITS(17,16)
718#define TXQ_FLUSH __BIT(8) 718#define TXQ_FLUSH __BIT(8)
719#define NWAY_AUTO_POLL_EN __BIT(7) 719#define NWAY_AUTO_POLL_EN __BIT(7)
720#define FLOW_CTRL_MODE __BITS(6,5) 720#define FLOW_CTRL_MODE __BITS(6,5)
721#define MIB_RD_RESET_EN __BIT(4) 721#define MIB_RD_RESET_EN __BIT(4)
722#define RGMII_LINK_STATUS_SEL __BIT(3) 722#define RGMII_LINK_STATUS_SEL __BIT(3)
723#define CPU_FLOW_CTRL_ON __BIT(2) 723#define CPU_FLOW_CTRL_ON __BIT(2)
724#define RXQ_OVERFLOW_CTRL_SEL __BIT(1) 724#define RXQ_OVERFLOW_CTRL_SEL __BIT(1)
725#define TXARB_STRICT_MODE __BIT(0) 725#define TXARB_STRICT_MODE __BIT(0)
726#define GMAC_DEVSTATUS 0x004 726#define GMAC_DEVSTATUS 0x004
727#define GMAC_BISTSTATUS 0x00c 727#define GMAC_BISTSTATUS 0x00c
728#define GMAC_INTSTATUS 0x020 728#define GMAC_INTSTATUS 0x020
729#define GMAC_INTMASK 0x024 729#define GMAC_INTMASK 0x024
730#define TXQECCUNCORRECTED __BIT(31)  730#define TXQECCUNCORRECTED __BIT(31)
731#define TXQECCCORRECTED __BIT(30) 731#define TXQECCCORRECTED __BIT(30)
732#define RXQECCUNCORRECTED __BIT(29) 732#define RXQECCUNCORRECTED __BIT(29)
733#define RXQECCCORRECTED __BIT(28) 733#define RXQECCCORRECTED __BIT(28)
734#define XMTINT_3 __BIT(27) 734#define XMTINT_3 __BIT(27)
735#define XMTINT_2 __BIT(26) 735#define XMTINT_2 __BIT(26)
736#define XMTINT_1 __BIT(25) 736#define XMTINT_1 __BIT(25)
737#define XMTINT_0 __BIT(24) 737#define XMTINT_0 __BIT(24)
738#define RCVINT __BIT(16) 738#define RCVINT __BIT(16)
739#define XMTUF __BIT(15) 739#define XMTUF __BIT(15)
740#define RCVFIFOOF __BIT(14) 740#define RCVFIFOOF __BIT(14)
741#define RCVDESCUF __BIT(13) 741#define RCVDESCUF __BIT(13)
742#define DESCPROTOERR __BIT(12) 742#define DESCPROTOERR __BIT(12)
743#define DATAERR __BIT(11) 743#define DATAERR __BIT(11)
744#define DESCERR __BIT(10) 744#define DESCERR __BIT(10)
745#define INT_SW_LINK_ST_CHG __BIT(8) 745#define INT_SW_LINK_ST_CHG __BIT(8)
746#define INT_TIMEOUT __BIT(7) 746#define INT_TIMEOUT __BIT(7)
747#define MIB_TX_INT __BIT(6) 747#define MIB_TX_INT __BIT(6)
748#define MIB_RX_INT __BIT(5) 748#define MIB_RX_INT __BIT(5)
749#define MDIOINT __BIT(4) 749#define MDIOINT __BIT(4)
750#define NWAYLINKSTATINT __BIT(3) 750#define NWAYLINKSTATINT __BIT(3)
751#define TXQ_FLUSH_DONEINT __BIT(2) 751#define TXQ_FLUSH_DONEINT __BIT(2)
752#define MIB_TX_OVERFLOW __BIT(1) 752#define MIB_TX_OVERFLOW __BIT(1)
753#define MIB_RX_OVERFLOW __BIT(0) 753#define MIB_RX_OVERFLOW __BIT(0)
754#define GMAC_GPTIMER 0x028 754#define GMAC_GPTIMER 0x028
755 755
756#define GMAC_INTRCVLAZY 0x100 756#define GMAC_INTRCVLAZY 0x100
757#define INTRCVLAZY_FRAMECOUNT __BITS(31,24) 757#define INTRCVLAZY_FRAMECOUNT __BITS(31,24)
758#define INTRCVLAZY_TIMEOUT __BITS(23,0) 758#define INTRCVLAZY_TIMEOUT __BITS(23,0)
759#define GMAC_FLOWCNTL_TH 0x104 759#define GMAC_FLOWCNTL_TH 0x104
760#define GMAC_TXARB_WRR_TH 0x108 760#define GMAC_TXARB_WRR_TH 0x108
761#define GMAC_GMACIDLE_CNT_TH 0x10c 761#define GMAC_GMACIDLE_CNT_TH 0x10c
762 762
763#define GMAC_FIFOACCESSADDR 0x120 763#define GMAC_FIFOACCESSADDR 0x120
764#define GMAC_FIFOACCESSBYTE 0x124 764#define GMAC_FIFOACCESSBYTE 0x124
765#define GMAC_FIFOACCESSDATA 0x128 765#define GMAC_FIFOACCESSDATA 0x128
766 766
767#define GMAC_PHYACCESS 0x180 767#define GMAC_PHYACCESS 0x180
768#define GMAC_PHYCONTROL 0x188 768#define GMAC_PHYCONTROL 0x188
769#define GMAC_TXQCONTROL 0x18c 769#define GMAC_TXQCONTROL 0x18c
770#define GMAC_RXQCONTROL 0x190 770#define GMAC_RXQCONTROL 0x190
771#define GMAC_GPIOSELECT 0x194 771#define GMAC_GPIOSELECT 0x194
772#define GMAC_GPIOOUTPUTEN 0x198 772#define GMAC_GPIOOUTPUTEN 0x198
773#define GMAC_TXQRXQMEMORYCONTROL 0x1a0 773#define GMAC_TXQRXQMEMORYCONTROL 0x1a0
774#define GMAC_MEMORYECCSTATUS 0x1a4 774#define GMAC_MEMORYECCSTATUS 0x1a4
775 775
776#define GMAC_CLOCKCONTROLSTATUS 0x1e0 776#define GMAC_CLOCKCONTROLSTATUS 0x1e0
777#define GMAC_POWERCONTROL 0x1e8 777#define GMAC_POWERCONTROL 0x1e8
778 778
779#define GMAC_XMTCONTROL 0x200 779#define GMAC_XMTCONTROL 0x200
780#define XMTCTL_PREFETCH_THRESH __BITS(25,24) 780#define XMTCTL_PREFETCH_THRESH __BITS(25,24)
781#define XMTCTL_PREFETCH_CTL __BITS(23,21) 781#define XMTCTL_PREFETCH_CTL __BITS(23,21)
782#define XMTCTL_BURSTLEN __BITS(20,18) 782#define XMTCTL_BURSTLEN __BITS(20,18)
783#define XMTCTL_ADDREXT __BITS(17,16) 783#define XMTCTL_ADDREXT __BITS(17,16)
784#define XMTCTL_DMA_ACT_INDEX __BIT(13) 784#define XMTCTL_DMA_ACT_INDEX __BIT(13)
785#define XMTCTL_PARITY_DIS __BIT(11) 785#define XMTCTL_PARITY_DIS __BIT(11)
786#define XMTCTL_OUTSTANDING_READS __BITS(7,6) 786#define XMTCTL_OUTSTANDING_READS __BITS(7,6)
787#define XMTCTL_BURST_ALIGN_EN __BIT(5) 787#define XMTCTL_BURST_ALIGN_EN __BIT(5)
788#define XMTCTL_DMA_LOOPBACK __BIT(2) 788#define XMTCTL_DMA_LOOPBACK __BIT(2)
789#define XMTCTL_SUSPEND __BIT(1) 789#define XMTCTL_SUSPEND __BIT(1)
790#define XMTCTL_ENABLE __BIT(0) 790#define XMTCTL_ENABLE __BIT(0)
791#define GMAC_XMTPTR 0x204 791#define GMAC_XMTPTR 0x204
792#define XMT_LASTDSCR __BITS(11,4) 792#define XMT_LASTDSCR __BITS(11,4)
793#define GMAC_XMTADDR_LOW 0x208 793#define GMAC_XMTADDR_LOW 0x208
794#define GMAC_XMTADDR_HIGH 0x20c 794#define GMAC_XMTADDR_HIGH 0x20c
795#define GMAC_XMTSTATUS0 0x210 795#define GMAC_XMTSTATUS0 0x210
796#define XMTSTATE __BITS(31,28) 796#define XMTSTATE __BITS(31,28)
797#define XMTSTATE_DIS 0 797#define XMTSTATE_DIS 0
798#define XMTSTATE_ACTIVE 1 798#define XMTSTATE_ACTIVE 1
799#define XMTSTATE_IDLE_WAIT 2 799#define XMTSTATE_IDLE_WAIT 2
800#define XMTSTATE_STOPPED 3 800#define XMTSTATE_STOPPED 3
801#define XMTSTATE_SUSP_PENDING 4 801#define XMTSTATE_SUSP_PENDING 4
802#define XMT_CURRDSCR __BITS(11,4) 802#define XMT_CURRDSCR __BITS(11,4)
803#define GMAC_XMTSTATUS1 0x214 803#define GMAC_XMTSTATUS1 0x214
804#define XMTERR __BITS(31,28) 804#define XMTERR __BITS(31,28)
805#define XMT_ACTIVEDSCR __BITS(11,4) 805#define XMT_ACTIVEDSCR __BITS(11,4)
806#define GMAC_RCVCONTROL 0x220 806#define GMAC_RCVCONTROL 0x220
807#define RCVCTL_PREFETCH_THRESH __BITS(25,24) 807#define RCVCTL_PREFETCH_THRESH __BITS(25,24)
808#define RCVCTL_PREFETCH_CTL __BITS(23,21) 808#define RCVCTL_PREFETCH_CTL __BITS(23,21)
809#define RCVCTL_BURSTLEN __BITS(20,18) 809#define RCVCTL_BURSTLEN __BITS(20,18)
810#define RCVCTL_ADDREXT __BITS(17,16) 810#define RCVCTL_ADDREXT __BITS(17,16)
811#define RCVCTL_DMA_ACT_INDEX __BIT(13) 811#define RCVCTL_DMA_ACT_INDEX __BIT(13)
812#define RCVCTL_PARITY_DIS __BIT(11) 812#define RCVCTL_PARITY_DIS __BIT(11)
813#define RCVCTL_OFLOW_CONTINUE __BIT(10) 813#define RCVCTL_OFLOW_CONTINUE __BIT(10)
814#define RCVCTL_SEPRXHDRDESC __BIT(9) 814#define RCVCTL_SEPRXHDRDESC __BIT(9)
815#define RCVCTL_RCVOFFSET __BITS(7,1) 815#define RCVCTL_RCVOFFSET __BITS(7,1)
816#define RCVCTL_ENABLE __BIT(0) 816#define RCVCTL_ENABLE __BIT(0)
817#define GMAC_RCVPTR 0x224 817#define GMAC_RCVPTR 0x224
818#define RCVPTR __BITS(11,4) 818#define RCVPTR __BITS(11,4)
819#define GMAC_RCVADDR_LOW 0x228 819#define GMAC_RCVADDR_LOW 0x228
820#define GMAC_RCVADDR_HIGH 0x22c 820#define GMAC_RCVADDR_HIGH 0x22c
821#define GMAC_RCVSTATUS0 0x230 821#define GMAC_RCVSTATUS0 0x230
822#define RCVSTATE __BITS(31,28) 822#define RCVSTATE __BITS(31,28)
823#define RCVSTATE_DIS 0 823#define RCVSTATE_DIS 0
824#define RCVSTATE_ACTIVE 1 824#define RCVSTATE_ACTIVE 1
825#define RCVSTATE_IDLE_WAIT 2 825#define RCVSTATE_IDLE_WAIT 2
826#define RCVSTATE_STOPPED 3 826#define RCVSTATE_STOPPED 3
827#define RCVSTATE_SUSP_PENDING 4 827#define RCVSTATE_SUSP_PENDING 4
828#define RCV_CURRDSCR __BITS(11,4) 828#define RCV_CURRDSCR __BITS(11,4)
829#define GMAC_RCVSTATUS1 0x234 829#define GMAC_RCVSTATUS1 0x234
830#define RCV_ACTIVEDSCR __BITS(11,4) 830#define RCV_ACTIVEDSCR __BITS(11,4)
831 831
832#define GMAC_TX_GD_OCTETS_LO 0x300 832#define GMAC_TX_GD_OCTETS_LO 0x300
833 833
834 834
835#define UNIMAC_IPG_HD_BPG_CNTL 0x804 835#define UNIMAC_IPG_HD_BPG_CNTL 0x804
836#define UNIMAC_COMMAND_CONFIG 0x808 836#define UNIMAC_COMMAND_CONFIG 0x808
837#define RUNT_FILTER_DIS __BIT(30) 837#define RUNT_FILTER_DIS __BIT(30)
838#define OOB_EFC_EN __BIT(29) 838#define OOB_EFC_EN __BIT(29)
839#define IGNORE_TX_PAUSE __BIT(28) 839#define IGNORE_TX_PAUSE __BIT(28)
840#define PRBL_ENA __BIT(27) 840#define PRBL_ENA __BIT(27)
841#define RX_ERR_DIS __BIT(26) 841#define RX_ERR_DIS __BIT(26)
842#define LINE_LOOPBACK __BIT(25) 842#define LINE_LOOPBACK __BIT(25)
843#define NO_LENGTH_CHECK __BIT(24) 843#define NO_LENGTH_CHECK __BIT(24)
844#define CNTRL_FRM_ENA __BIT(23) 844#define CNTRL_FRM_ENA __BIT(23)
845#define ENA_EXT_CONFIG __BIT(22) 845#define ENA_EXT_CONFIG __BIT(22)
846#define EN_INTERNAL_TX_CRS __BIT(21) 846#define EN_INTERNAL_TX_CRS __BIT(21)
847#define SW_OVERRIDE_RX __BIT(18) 847#define SW_OVERRIDE_RX __BIT(18)
848#define SW_OVERRIDE_TX __BIT(17) 848#define SW_OVERRIDE_TX __BIT(17)
849#define MAC_LOOP_CON __BIT(16) 849#define MAC_LOOP_CON __BIT(16)
850#define LOOP_ENA __BIT(15) 850#define LOOP_ENA __BIT(15)
851#define RCS_CORRUPT_URUN_EN __BIT(14) 851#define RCS_CORRUPT_URUN_EN __BIT(14)
852#define SW_RESET __BIT(13) 852#define SW_RESET __BIT(13)
853#define OVERFLOW_EN __BIT(12) 853#define OVERFLOW_EN __BIT(12)
854#define RX_LOW_LATENCY_EN __BIT(11) 854#define RX_LOW_LATENCY_EN __BIT(11)
855#define HD_ENA __BIT(10) 855#define HD_ENA __BIT(10)
856#define TX_ADDR_INS __BIT(9) 856#define TX_ADDR_INS __BIT(9)
857#define PAUSE_IGNORE __BIT(8)  857#define PAUSE_IGNORE __BIT(8)
858#define PAUSE_FWD __BIT(7)  858#define PAUSE_FWD __BIT(7)
859#define CRC_FWD __BIT(6)  859#define CRC_FWD __BIT(6)
860#define PAD_EN __BIT(5)  860#define PAD_EN __BIT(5)
861#define PROMISC_EN __BIT(4)  861#define PROMISC_EN __BIT(4)
862#define ETH_SPEED __BITS(3,2) 862#define ETH_SPEED __BITS(3,2)
863#define ETH_SPEED_10 0 863#define ETH_SPEED_10 0
864#define ETH_SPEED_100 1 864#define ETH_SPEED_100 1
865#define ETH_SPEED_1000 2 865#define ETH_SPEED_1000 2
866#define ETH_SPEED_2500 3 866#define ETH_SPEED_2500 3
867#define RX_ENA __BIT(1)  867#define RX_ENA __BIT(1)
868#define TX_ENA __BIT(0)  868#define TX_ENA __BIT(0)
869#define UNIMAC_MAC_0 0x80c // bits 16:47 of macaddr 869#define UNIMAC_MAC_0 0x80c // bits 16:47 of macaddr
870#define UNIMAC_MAC_1 0x810 // bits 0:15 of macaddr 870#define UNIMAC_MAC_1 0x810 // bits 0:15 of macaddr
871#define UNIMAC_FRAME_LEN 0x814 871#define UNIMAC_FRAME_LEN 0x814
872#define UNIMAC_PAUSE_QUANTA 0x818 872#define UNIMAC_PAUSE_QUANTA 0x818
873#define UNIMAC_TX_TS_SEQ_ID 0x83c 873#define UNIMAC_TX_TS_SEQ_ID 0x83c
874#define UNIMAC_MAC_MODE 0x844 874#define UNIMAC_MAC_MODE 0x844
875#define UNIMAC_TAG_0 0x848 875#define UNIMAC_TAG_0 0x848
876#define UNIMAC_TAG_1 0x84c 876#define UNIMAC_TAG_1 0x84c
877#define UNIMAC_RX_PAUSE_QUANTA_SCALE 0x850 877#define UNIMAC_RX_PAUSE_QUANTA_SCALE 0x850
878#define UNIMAC_TX_PREAMBLE 0x854 878#define UNIMAC_TX_PREAMBLE 0x854
879#define UNIMAC_TX_IPG_LENGTH 0x85c 879#define UNIMAC_TX_IPG_LENGTH 0x85c
880#define UNIMAC_PRF_XOFF_TIMER 0x860 880#define UNIMAC_PRF_XOFF_TIMER 0x860
881#define UNIMAC_UMAC_EEE_CTRL 0x864 881#define UNIMAC_UMAC_EEE_CTRL 0x864
882#define UNIMAC_MII_EEE_DELAY_ENTRY_TIMER 0x868 882#define UNIMAC_MII_EEE_DELAY_ENTRY_TIMER 0x868
883#define UNIMAC_GMII_EEE_DELAY_ENTRY_TIMER 0x86c 883#define UNIMAC_GMII_EEE_DELAY_ENTRY_TIMER 0x86c
884#define UNIMAC_UMAC_EEE_REF_COUNT 0x870 884#define UNIMAC_UMAC_EEE_REF_COUNT 0x870
885#define UNIMAC_UMAX_RX_PKT_DROP_STATUS 0x878 885#define UNIMAC_UMAX_RX_PKT_DROP_STATUS 0x878
886 886
887#define UNIMAC_UMAC_SYMMETRIC_IDLE_THRESHOLD 0x87c // RX IDLE threshold for LPI prediction 887#define UNIMAC_UMAC_SYMMETRIC_IDLE_THRESHOLD 0x87c // RX IDLE threshold for LPI prediction
888#define UNIMAC_MII_EEE_WAKE_TIMER 0x880 // MII_EEE Wake timer 888#define UNIMAC_MII_EEE_WAKE_TIMER 0x880 // MII_EEE Wake timer
889#define UNIMAC_GMII_EEE_WAKE_TIMER 0x884 // GMII_EEE Wake timer 889#define UNIMAC_GMII_EEE_WAKE_TIMER 0x884 // GMII_EEE Wake timer
890#define UNIMAC_UMAC_REV_ID 0x888 // UNIMAC_REV_ID 890#define UNIMAC_UMAC_REV_ID 0x888 // UNIMAC_REV_ID
891#define UNIMAC_MAC_PFC_TYPE 0xb00 // Programmable ethertype (GNAT 13440) 891#define UNIMAC_MAC_PFC_TYPE 0xb00 // Programmable ethertype (GNAT 13440)
892#define UNIMAC_MAC_PFC_OPCODE 0xb04 // Programmable opcode (GNAT 13440) 892#define UNIMAC_MAC_PFC_OPCODE 0xb04 // Programmable opcode (GNAT 13440)
893#define UNIMAC_MAC_PFC_DA_0 0xb08 // lower 32 bits of programmable DA for PPP (GNAT 13897) 893#define UNIMAC_MAC_PFC_DA_0 0xb08 // lower 32 bits of programmable DA for PPP (GNAT 13897)
894#define UNIMAC_MAC_PFC_DA_1 0xb0c // upper 16 bits of programmable DA for PPP (GNAT 13897) 894#define UNIMAC_MAC_PFC_DA_1 0xb0c // upper 16 bits of programmable DA for PPP (GNAT 13897)
895#define UNIMAC_MACSEC_CNTRL 0xb14 // Miscellaneous control for MACSEC (GNAT 11599,11600,12078,12198) 895#define UNIMAC_MACSEC_CNTRL 0xb14 // Miscellaneous control for MACSEC (GNAT 11599,11600,12078,12198)
896#define UNIMAC_TS_STATUS_CNTRL 0xb18 // Timestamp control/status 896#define UNIMAC_TS_STATUS_CNTRL 0xb18 // Timestamp control/status
897#define UNIMAC_TX_TS_DATA 0xb1c // Transmit Timestamp data 897#define UNIMAC_TX_TS_DATA 0xb1c // Transmit Timestamp data
898#define UNIMAC_PAUSE_CONTROL 0xb30 // PAUSE frame timer control register 898#define UNIMAC_PAUSE_CONTROL 0xb30 // PAUSE frame timer control register
899#define UNIMAC_FLUSH_CONTROL 0xb34 // Flush enable control register 899#define UNIMAC_FLUSH_CONTROL 0xb34 // Flush enable control register
900#define UNIMAC_RXFIFO_STAT 0xb38 // RXFIFO status register 900#define UNIMAC_RXFIFO_STAT 0xb38 // RXFIFO status register
901#define UNIMAC_TXFIFO_STAT 0xb3c // TXFIFO status register 901#define UNIMAC_TXFIFO_STAT 0xb3c // TXFIFO status register
902#define UNIMAC_MAC_PFC_CTRL 0xb40 // PPP control register 902#define UNIMAC_MAC_PFC_CTRL 0xb40 // PPP control register
903#define UNIMAC_MAC_PFC_REFRESH_CTRL 0xb44 // PPP refresh control register 903#define UNIMAC_MAC_PFC_REFRESH_CTRL 0xb44 // PPP refresh control register
904 904
905#endif /* GMAC_PRIVATE */ 905#endif /* GMAC_PRIVATE */
906 906
907#endif /* _ARM_BROADCOM_BCM53XX_REG_H_ */ 907#endif /* _ARM_BROADCOM_BCM53XX_REG_H_ */