blob: bccb24b49bb2d4f345716aa2f4d360e74b4d5145 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
/*
<:copyright-broadcom
Copyright (c) 2007 Broadcom Corporation
All Rights Reserved
No portions of this material may be reproduced in any form without the
written permission of:
Broadcom Corporation
5300 California Avenue
Irvine, California 92617
All information contained in this document is Broadcom Corporation
company private, proprietary, and trade secret.
:>
*/
/***************************************************************************
* File Name : MoCABlock.h
*
* Description: This file contains definitions for the MoCA Block for the
* BCM6816 and the BCM3450 chipset(s).
***************************************************************************/
#if !defined(_MoCABLOCK_H_)
#define _MoCABLOCK_H_
/* BCM 96816 related definitions . */
#define MoCA_INTERRUPT_DISABLE 0x0
#define MoCA_INTERRUPT_ENABLE 0x1
/* Definitions for coreInterrupts from host */
#define MoCA_HOST_RESP_TO_CORE 0x1
#define MoCA_HOST_REQ_TO_CORE 0x2
/* Definitions for hostInterrupts from core */
#define MoCA_CORE_RESP_TO_HOST 0x1
#define MoCA_CORE_REQ_TO_HOST 0x2
#define MoCA_CORE_ASSERT_TO_HOST 0x4
#define MoCA_CORE_UNUSED 0xFC
#define MoCA_CORE_DDR_START 0x100
#define MoCA_CORE_DDR_END 0x200
#define MoCA_LED_LINK_ON_ACTIVE_OFF 0x0
#define MoCA_LED_LINK_OFF_ACTIVE_OFF 0x1
#define MoCA_LED_LINK_ON_ACTIVE_ON 0x2
#define MoCA_LED_LINK_OFF_ACTIVE_ON 0x3 /* NW Search and New Node Admission */
typedef struct _MoCAExtras {
UINT32 host2MoCAIntEn ;
UINT32 host2MoCAIntTrig ;
UINT32 host2MoCAIntStatus ;
UINT32 MoCA2HostIntEn ;
UINT32 MoCA2HostIntTrig ;
UINT32 MoCA2HostIntStatus ;
UINT32 genPurpose0 ;
UINT32 genPurpose1 ;
UINT32 sideBandGmiiFC ;
UINT32 leds ;
UINT32 MoCAStatus ;
UINT32 testMuxSel ;
UINT32 mdCtrl ;
UINT32 mdcDivider ;
UINT32 outRefIntR01 ;
UINT32 outRefIntR02 ;
UINT32 outRefIntR03 ;
UINT32 outRefIntR04 ;
UINT32 outRefIntR05 ;
UINT32 outRefIntSel ;
} MoCAExtras ;
typedef struct _MoCAMACRegs {
UINT32 macCtrl ; // 0x00
#define MoCA_MAC_REGS_MAC_CTRL_MAC_ENABLE 0x00000001
UINT32 resv1 [7] ;
UINT32 frmHdr ; // 0x20
UINT32 msduHdr ; // 0x24
UINT32 resv2 [2] ;
UINT32 macStatus ; // 0x30
UINT32 macStatusEn ; // 0x34
UINT32 resv3 [2] ;
UINT32 netTimer ; // 0x40
UINT32 maxNetTimerCorr ; // 0x44
UINT32 timerCorrCtrl ; // 0x48
UINT32 bitParams ; // 0x4c
UINT32 fineCorr ; // 0x50
UINT32 coarseCorr ; // 0x54
UINT32 loadTimer1 ; // 0x58
UINT32 loadTimer2 ; // 0x5c
UINT32 mpiConfigCtrl ; // 0x60
#define MoCA_MAC_REGS_MPI_CONFIG_CTRL_READ 0x00000001
#define MoCA_MAC_REGS_MPI_CONFIG_CTRL_WRITE 0x00000002
UINT32 mpiConfigAddr ; // 0x64
UINT32 mpiConfigDataW ; // 0x68
UINT32 mpiConfigDataR ; // 0x6c
} MoCA_MAC_REGST, *PMoCA_MAC_REGST ;
#define MoCA_BLOCK_BASE MOCA_MEM_BASE
typedef struct MoCABlockT {
UINT8 dataMem [0x3FFFC] ;
UINT8 resvd [0x61403] ;
MoCAExtras extras ; // 0xb0da1400.
//MoCAHostM2M follows.
//MoCAMoCAM2M follows.
} MoCA_BLOCKT, *PMoCA_BLOCKT ;
#define MoCA_PHYS_IO_BASE NONCACHE_TO_PHYS(MOCA_IO_BASE)
#define MoCA_BLOCK_MAC_REGS_START (MOCA_IO_BASE+0x400)
#define MoCA_BLOCK_PHY_START MoCA_PHYS_IO_BASE+0x8000
#define MoCA_BLOCK_PHY_END MoCA_PHYS_IO_BASE+0xA3FF
#define MoCA_BLOCK ((volatile PMoCA_BLOCKT const) MoCA_BLOCK_BASE)
#define MoCA_MAC_REGS ((volatile PMoCA_MAC_REGST const) MoCA_BLOCK_MAC_REGS_START)
#define MoCA_CORE_MEM_BASE MoCA_BLOCK->dataMem
#define MoCA_MAIL_BOX_ADDR_REG MoCA_BLOCK->extras.genPurpose0
#define MoCA_IQ_SNR_ADDR_REG MoCA_BLOCK->extras.genPurpose1
/* BCM 93450 related definitions . */
#define BCM3450_I2C_CHIP_ADDRESS 0x70
typedef struct _Bcm3450Reg {
UINT32 ChipId; /* 0x0 */
UINT32 ChipRev; /* 0x4 */
UINT32 Test; /* 0x8 */
UINT32 SerialCtl; /* 0xc */
UINT32 StatusRead; /* 0x10 */
UINT32 LnaCntl; /* 0x14 */
UINT32 PaCntl; /* 0x18 */
#define BCM3450_PACNTL_PA_RDEG_SHIFT 11
#define BCM3450_PACNTL_PA_RDEG_MASK 0x00007800
#define BCM3450_PACNTL_PA_CURR_CONT_SHIFT 5
#define BCM3450_PACNTL_PA_CURR_CONT_MASK 0x000007E0
#define BCM3450_PACNTL_PA_CURR_FOLLOWER_SHIFT 2
#define BCM3450_PACNTL_PA_CURR_FOLLOWER_MASK 0x0000001C
#define BCM3450_PACNTL_PA_PWRDWN_SHIFT 0
#define BCM3450_PACNTL_PA_PWRDWN_MASK 0x00000001
#define BCM3450_PACNTL_OFFSET 0x18
UINT32 Misc; /* 0x1c */
#define BCM3452_MISC_BG_PWRDWN_SHIFT 15
#define BCM3452_MISC_BG_PWRDWN_MASK 0x00008000
#define BCM3450_MISC_IIC_RESET 0x1
#define BCM3450_MISC_SERIAL_RESET 0x2
#define BCM3450_MISC_OFFSET 0x1c
} Bcm3450Reg ;
#endif /* _MoCABLOCK_H_ */
|