CONEXANT CX82100-52

CX82100
Home Network Processor (HNP)
Data Sheet (Preliminary)
Conexant Proprietary Information
Conexant Confidential Information
Dissemination, disclosure, or use of this information is not permitted
without the written permission of Conexant Systems, Inc.
Doc. No. 101306C
April 18, 2002
CX82100 Home Network Processor Data Sheet
Revision Record
Revision
C
B
A
Date
4/18/2002
3/14/2002
8/31/2001
Comments
Revision C release.
Revision B release.
Initial release.
© 2001, 2002 Conexant Systems, Inc.
All Rights Reserved.
Information in this document is provided in connection with Conexant Systems, Inc. (“Conexant”) products. These materials are
provided by Conexant as a service to its customers and may be used for informational purposes only. Conexant assumes no
responsibility for errors or omissions in these materials. Conexant may make changes to specifications and product descriptions at
any time, without notice. Conexant makes no commitment to update the information and shall have no responsibility whatsoever for
conflicts or incompatibilities arising from future changes to its specifications and product descriptions.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as
provided in Conexant’s Terms and Conditions of Sale for such products, Conexant assumes no liability whatsoever.
THESE MATERIALS ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
RELATING TO SALE AND/OR USE OF CONEXANT PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO
FITNESS FOR A PARTICULAR PURPOSE, CONSEQUENTIAL OR INCIDENTAL DAMAGES, MERCHANTABILITY, OR
INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. CONEXANT FURTHER
DOES NOT WARRANT THE ACCURACY OR COMPLETENESS OF THE INFORMATION, TEXT, GRAPHICS OR OTHER ITEMS
CONTAINED WITHIN THESE MATERIALS. CONEXANT SHALL NOT BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
OR CONSEQUENTIAL DAMAGES, INCLUDING WITHOUT LIMITATION, LOST REVENUES OR LOST PROFITS, WHICH MAY
RESULT FROM THE USE OF THESE MATERIALS.
Conexant products are not intended for use in medical, lifesaving or life sustaining applications. Conexant customers using or selling
Conexant products for use in such applications do so at their own risk and agree to fully indemnify Conexant for any damages
resulting from such improper use or sale.
The following are trademarks of Conexant Systems, Inc.: Conexant™, the Conexant C symbol, and “What’s Next in
Communications Technologies”™. Product names or services listed in this publication are for identification purposes only, and may
be trademarks of third parties. Third-party brands and names are the property of their respective owners.
ARM, ARM9TDMI, and Thumb are registered trademarks, and ARM940T and ARM9 are trademarks, of ARM Limited.
For additional disclaimer information, please consult Conexant’s Legal Information posted at www.conexant.com, which is
incorporated by reference.
Reader Response: Conexant strives to produce quality documentation and welcomes your feedback. Please send comments and
suggestions to [email protected]. For technical questions, contact your local Conexant sales office or field applications
engineer.
ii
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Contents
Revision History .......................................................................................................................................... xiv
1
Introduction ......................................................................................................................................... 1-1
1.1
1.2
1.3
Scope..........................................................................................................................................................................1-2
Features ......................................................................................................................................................................1-2
General Hardware Overview.........................................................................................................................................1-3
1.3.1
Advanced Microcontroller Bus Architecture .................................................................................................1-6
1.3.2
ARM940T Processor ...................................................................................................................................1-6
1.3.3
ASB Decoder ...............................................................................................................................................1-6
1.3.4
ASB Arbiter..................................................................................................................................................1-7
1.3.5
ASB Masters................................................................................................................................................1-7
ARM940T Master.................................................................................................................................1-7
DMAC Master ......................................................................................................................................1-7
1.3.6
Host Interface Master ..........................................................................................................................1-7
ASB Slaves ..................................................................................................................................................1-8
ARM940T Slave ...................................................................................................................................1-8
External Memory Controller Slave........................................................................................................1-8
ASB-to-APB Bridge/DMAC ...................................................................................................................1-8
Internal ROM .......................................................................................................................................1-8
1.3.7
Internal RAM .......................................................................................................................................1-8
APB Functions .............................................................................................................................................1-9
EMAC Interface ....................................................................................................................................1-9
USB Interface.......................................................................................................................................1-9
General Purpose Input/Output Interface ...............................................................................................1-9
Clock Generation..................................................................................................................................1-9
1.4
1.5
1.6
1.7
1.8
101306C
Interrupt Controller ..............................................................................................................................1-9
Development Kits ........................................................................................................................................................1-9
Typical Applications...................................................................................................................................................1-10
1.5.1
Typical Home Networking Architecture ......................................................................................................1-10
References ................................................................................................................................................................1-13
Key Words.................................................................................................................................................................1-14
Conventions ..............................................................................................................................................................1-15
1.8.1
Data Lengths .............................................................................................................................................1-15
1.8.2
Register Descriptions ................................................................................................................................1-15
Conexant Proprietary and Confidential Information
iii
CX82100 Home Network Processor Data Sheet
2
CX82100 HNP Hardware Interface ....................................................................................................... 2-1
2.1
2.2
2.3
2.4
2.5
3
HNP Memory Architecture ................................................................................................................... 3-1
3.1
3.2
3.3
3.4
4
CX82100 HNP Hardware Interface Signals ..................................................................................................................2-1
2.1.1
CX82100-11/-12/-51/-52 Signal Interface and Pin Assignments ..................................................................2-1
2.1.2
CX82100-41/-42 Signal Interface and Pin Assignments...............................................................................2-1
2.1.3
CX82100 HNP Signal Definitions .................................................................................................................2-1
CX82100 HNP Electrical and Environmental Specifications........................................................................................2-17
2.2.1
DC Electrical Characteristics ......................................................................................................................2-17
2.2.2
Operating Conditions, Absolute Maximum Ratings, and Power Consumption............................................2-18
Optional GPIO and Host Signal Usage .......................................................................................................................2-19
Interface Timing and Waveforms...............................................................................................................................2-21
2.4.1
External Memory Interface (SDRAM).........................................................................................................2-21
2.4.2
Host Interface Timing ................................................................................................................................2-21
2.4.3
EMAC Interface Timing ..............................................................................................................................2-21
2.4.4
USB Interface Timing.................................................................................................................................2-21
2.4.5
GPIO Interface Timing ...............................................................................................................................2-21
2.4.6
Interrupt Timing ........................................................................................................................................2-22
2.4.7
Clock Reset Timing....................................................................................................................................2-22
2.4.8
Reset Timing .............................................................................................................................................2-22
Package Dimensions .................................................................................................................................................2-23
HNP Memory Map.......................................................................................................................................................3-1
Starting Addresses ......................................................................................................................................................3-3
3.2.1
ARM Vector Table........................................................................................................................................3-3
Endianness..................................................................................................................................................................3-4
Boot Procedure ...........................................................................................................................................................3-4
DMAC Interface Description................................................................................................................. 4-1
4.1
4.2
4.3
4.4
4.5
4.6
DMA Channel Definition ..............................................................................................................................................4-1
DMA Requests and Data Transfer................................................................................................................................4-1
Control Registers ........................................................................................................................................................4-2
DMAC Register Memory Map ......................................................................................................................................4-3
Control Register Formats.............................................................................................................................................4-4
4.5.1
DMAC x Current Pointer 1 (DMAC_{x}_Ptr1) ...............................................................................................4-4
4.5.2
DMAC x Indirect/Return Pointer 1 (DMAC_{x}_Ptr2)....................................................................................4-4
4.5.3
DMAC x Buffer Size Counter 1 (DMAC_{x}_Cnt1).........................................................................................4-4
4.5.4
DMAC x Buffer Size Counter 2 (DMAC_{x}_Cnt2).........................................................................................4-4
4.5.5
DMAC x Buffer Size Counter 3 (DMAC_{x}_Cnt3).........................................................................................4-5
Three Basic Modes of Address Generation ..................................................................................................................4-6
4.6.1
Source or Destination Mode ........................................................................................................................4-6
4.6.2
Circular Buffer Modes..................................................................................................................................4-6
Direct Circular Buffer ...........................................................................................................................4-6
4.6.3
Indirect Circular Pointer Table..............................................................................................................4-7
Linked List Mode .........................................................................................................................................4-9
Embedded Tail Linked List Descriptor Mode ........................................................................................4-9
Indirect/Table Linked List Descriptor Mode........................................................................................4-12
iv
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
5
Host Interface Description ................................................................................................................... 5-1
5.1
Master Mode ...............................................................................................................................................................5-1
5.1.1
Host Master Mode Interface Signals ............................................................................................................5-1
5.1.2
Flash Memory Interface ...............................................................................................................................5-3
5.1.3
Interfacing to Other Slave Devices ...............................................................................................................5-3
5.1.4
Host Master Mode DMA Engine...................................................................................................................5-3
Asynchronous DMA Transfer Mode .....................................................................................................5-3
Isochronous DMA Transfer Mode ........................................................................................................5-3
5.1.5
General DMA Information ....................................................................................................................5-4
Host Master Mode Timing (CX82100-11/-12/-51/-52) .................................................................................5-5
Host Master Mode Read Operation (Accessing an External Device) .....................................................5-5
5.1.6
Host Master Mode Write Operation (Accessing an External Device) .....................................................5-5
Host Master Mode Timing (CX82100-41/-42)..............................................................................................5-8
Host Master Mode Read Operation (Accessing an External Device) .....................................................5-8
Host Master Mode Write Operation (Accessing an External Device) .....................................................5-8
5.2
5.3
6
HRDY# Description (CX82100-41/-42) ................................................................................................5-9
Host Master Mode Register Memory Map .................................................................................................................5-12
Host Master Mode Registers .....................................................................................................................................5-13
5.3.1
Host Control Register (HST_CTRL: 0x002D0000)......................................................................................5-13
5.3.2
Host Master Mode Read-Wait-State Control Register (HST_RWST: 0x002D0004) ....................................5-14
5.3.3
Host Master Mode Write-Wait-State Control Register) (HST_WWST: 0x002D0008)..................................5-14
5.3.4
Host Master Mode Transfer Control Register (HST_XFER_CNTL: 0x002D000C)........................................5-14
5.3.5
Host Master Mode Read Control Register 1 (HST_READ_CNTL1: 0x002D0010) .......................................5-14
5.3.6
Host Master Mode Read Control Register 2 (HST_READ_CNTL2: 0x002D0014) .......................................5-15
5.3.7
Host Master Mode Write Control Register 1 (HST_WRITE_CNTL1: 0x002D0018) .....................................5-15
5.3.8
Host Master Mode Write Control Register 2 (HST_WRITE_CNTL2: 0x002D001C).....................................5-15
5.3.9
Host Master Mode Peripheral Size (MSTR_INTF_WIDTH: 0x002D0020) ...................................................5-15
5.3.10
Host Master Mode Peripheral Handshake (MSTR_HANDSHAKE: 0x002D0024) (CX82100-41/-42) ...........5-16
5.3.11
Host Master Mode DMA Source Address (HDMA_SRC_ADDR: 0x002D0028)...........................................5-16
5.3.12
Host Master Mode DMA Destination Address (HDMA_DST_ADDR: 0x002D002C) ....................................5-16
5.3.13
Host Master Mode DMA Byte Count (HDMA_BCNT: 0x002D0030) ............................................................5-16
5.3.14
Host Master Mode DMA Timers (HDMA_TIMERS: 0x002D0034) ..............................................................5-16
External Memory Controller Interface Description ............................................................................... 6-1
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
101306C
PC100 Compliant SDRAM Interface.............................................................................................................................6-1
Available Vendor SDRAM ICs and Features .................................................................................................................6-3
Supported Configurations............................................................................................................................................6-4
Access Cycles .............................................................................................................................................................6-4
Initialization.................................................................................................................................................................6-4
Refresh .......................................................................................................................................................................6-4
Read............................................................................................................................................................................6-5
Write ...........................................................................................................................................................................6-5
Throughput .................................................................................................................................................................6-5
EMC I/O Clock Interface and Timing ............................................................................................................................6-6
SRAM Interface ...........................................................................................................................................................6-7
EMC Register ..............................................................................................................................................................6-8
6.12.1
External Memory Control Register (EMCR: 0x00350010) ............................................................................6-8
Conexant Proprietary and Confidential Information
v
CX82100 Home Network Processor Data Sheet
7
Ethernet Media Access Control Interface Description .......................................................................... 7-1
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
MAC Frame Format .....................................................................................................................................................7-2
Parameterized Values Used in Implementation ............................................................................................................7-3
EMAC Functional Features ...........................................................................................................................................7-4
EMAC Architecture ......................................................................................................................................................7-6
Media Independent Interface (MII) ..............................................................................................................................7-7
EMAC Interrupts..........................................................................................................................................................7-8
TMAC Architecture ......................................................................................................................................................7-9
7.7.1
Transmit Frame Structure............................................................................................................................7-9
7.7.2
Transmit Descriptor...................................................................................................................................7-11
7.7.3
Transmit Status (TSTAT) ...........................................................................................................................7-12
7.7.4
Sequence of Transmitter DMA Operation...................................................................................................7-14
RMAC Architecture....................................................................................................................................................7-15
7.8.1
Support for the Detection of Invalid MAC Frames ......................................................................................7-15
Condition 1 ........................................................................................................................................7-15
Condition 2 ........................................................................................................................................7-15
7.8.2
7.8.3
7.8.4
Condition 3 ........................................................................................................................................7-15
Support for the Reception Without Contention ..........................................................................................7-15
Support for the Reception With Contention ...............................................................................................7-16
Address Filtering........................................................................................................................................7-16
Setup Frame ......................................................................................................................................7-16
Perfect Address Filtering....................................................................................................................7-16
Example of a Perfect Address Filtering Setup Frame ..........................................................................7-17
Imperfect Address Filtering................................................................................................................7-18
Example of an Imperfect Address Filtering Setup Frame ....................................................................7-20
7.9
7.10
7.11
8
USB Interface Description.................................................................................................................... 8-1
8.1
8.2
vi
Address Filtering Modes ....................................................................................................................7-22
7.8.5
Receive Status Handling ............................................................................................................................7-23
7.8.6
Sequence of Receiver DMA Operation .......................................................................................................7-26
7-Wire Serial Interface (7-WS) ..................................................................................................................................7-27
EMAC Register Memory Map ....................................................................................................................................7-28
EMAC Registers ........................................................................................................................................................7-29
7.11.1
EMAC x Source/Destination DMA Data Register (E_DMA_1: 0x00310000 and E_DMA_2:
0x00320000).............................................................................................................................................7-29
7.11.2
EMAC x Destination DMA Data Register (ET_DMA_1: 0x00310020 and ET_DMA_2: 0x00320020) ...........7-29
7.11.3
EMAC x Network Access Register (E_NA_1: 0x00310004 and E_NA_2: 0x00320004) ..............................7-30
7.11.4
EMAC x Status Register (E_Stat_1: 0x00310008 and E_Stat_2: 0x00320008) ..........................................7-33
7.11.5
EMAC x Receiver Last Packet Register (E_LP_1: 0x00310010 and E_LP_2: 0x00320010) ........................7-34
7.11.6
EMAC x Interrupt Enable Register (E_IE_1: 0x0031000C and E_IE_2: 0x0032000C) .................................7-35
7.11.7
EMAC x MII Management Interface Register (E_MII_1: 0x00310018 and E_MII_2: 0x00320018) .............7-36
UDC Data Path ............................................................................................................................................................8-3
8.1.1
USB Transmit Data Path (Endpoint IN Channel)...........................................................................................8-3
8.1.2
USB Receive Data Path (Endpoint OUT Channel) .........................................................................................8-4
USB Data Flow ............................................................................................................................................................8-5
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.3
8.4
8.5
8.6
8.7
8.8
8.9
101306C
UDC Core ....................................................................................................................................................................8-6
8.3.1
Endpoint Buffer Format................................................................................................................................8-6
8.3.2
Example of Endpoint Buffer Encoding..........................................................................................................8-7
8.3.3
Loading of the EndPtBuf Configurations ......................................................................................................8-8
8.3.4
USB Command Handling .............................................................................................................................8-9
USB DMA Interface ...................................................................................................................................................8-10
8.4.1
DMA Receive Channel................................................................................................................................8-10
8.4.2
DMA Transmit Channel..............................................................................................................................8-12
Interrupt Endpoint .....................................................................................................................................................8-14
Summary of the Endpoints ........................................................................................................................................8-14
USB Register Memory Map .......................................................................................................................................8-15
USB Registers ...........................................................................................................................................................8-16
8.8.1
USB Source/Destination DMA Data Register 0 (U0_DMA: 0x00330000)....................................................8-16
8.8.2
USB Source/Destination DMA Data Register 1 (U1_DMA: 0x00330008)....................................................8-16
8.8.3
USB Source/Destination DMA Data Register 2 (U2_DMA: 0x00330010)....................................................8-16
8.8.4
USB Source/Destination DMA Data Register 3 (U3_DMA: 0x00330018)....................................................8-16
8.8.5
USB Destination DMA Data Register (UT_DMA: 0x00330020)...................................................................8-17
8.8.6
USB Configuration Data Register (U_CFG: 0x00330024) ...........................................................................8-17
8.8.7
USB Interrupt Data Register (U_IDAT: 0x00330028) .................................................................................8-17
8.8.8
USB Control Register 1 (U_CTR1: 0x0033002C) .......................................................................................8-18
8.8.9
USB Control Register 2 (U_CTR2: 0x00330030)........................................................................................8-20
8.8.10
USB Control Register 3 (U_CTR3: 0x00330034)........................................................................................8-21
8.8.11
USB Status (U_STAT: 0x00330038) ..........................................................................................................8-22
8.8.12
USB Interrupt Enable Register (U_IER: 0x0033003C) ................................................................................8-25
8.8.13
USB Status Register 2 (U_STAT2: 0x00330040) .......................................................................................8-26
8.8.14
USB Interrupt Enable Register 2 (U_IER2: 0x00330044) ...........................................................................8-28
8.8.15
UDC Time Stamp Register (UDC_TSR: 0x0033008C) ................................................................................8-29
8.8.16
UDC Status Register (UDC_STAT: 0x00330090)........................................................................................8-29
USB DMA Control Registers ......................................................................................................................................8-30
8.9.1
EP0_IN Transmit Increment Register (EP0_IN_TX_INC: 0x00330048) ......................................................8-30
8.9.2
EP0_IN Transmit Pending Register (EP0_IN_TX_PEND: 0x0033004C)......................................................8-30
8.9.3
EP0_IN Transmit qword Count Register (EP0_IN_TX_QWCNT: 0x00330050) ...........................................8-30
8.9.4
EP1_IN Transmit Increment Register (EP1_IN_TX_INC: 0x00330054) ......................................................8-30
8.9.5
EP1_IN Transmit Pending Register (EP1_IN_TX_PEND: 0x00330058)......................................................8-31
8.9.6
EP1_IN Transmit qword Count Register (EP1_IN_TX_QWCNT).................................................................8-31
8.9.7
EP2_IN Transmit Increment Register (EP2_IN_TX_INC: 0x00330060) ......................................................8-31
8.9.8
EP2_IN Transmit Pending Register (EP2_IN_TX_PEND: 0x00330064)......................................................8-31
8.9.9
EP2_IN Transmit qword Count Register (EP2_IN_TX_QWCNT).................................................................8-32
8.9.10
EP3_IN Transmit Increment Register (EP1_IN_TX_INC: 0x0033006C)......................................................8-32
8.9.11
EP3_IN Transmit Pending Register (EP3_IN_TX_PEND: 0x00330070)......................................................8-32
8.9.12
EP3_IN Transmit qword Count Register (EP3_IN_TX_QWCNT: 0x00330074) ...........................................8-32
8.9.13
EP_OUT Receive Decrement Register (EP_OUT_RX_DEC: 0x00330078)...................................................8-33
8.9.14
EP_OUT Receive Pending Register (EP_OUT_RX_PEND: 0x0033007C) ....................................................8-33
8.9.15
EP_OUT Receive Buffer Size Register (EP_OUT_RX_BUFSIZE: 0x00330084)............................................8-33
8.9.16
EP_OUT Receive qword Count Register (EP_OUT_RX_QWCNT: 0x00330080)..........................................8-33
8.9.17
USB Receive DMA Watchdog Timer Register (USB_RXTIMER: 0x00330094)............................................8-34
8.9.18
USB Receive DMA Watchdog Timer Counter Register (USB_RXTIMERCNT: 0x00330098)........................8-34
8.9.19
EP_OUT Receive Pending Interrupt Level Register (EP_OUT_RX_PENDLEVEL: 0x0033009C)...................8-34
8.9.20
USB Control-Status Register (U_CSR: 0x00330088) .................................................................................8-35
Conexant Proprietary and Confidential Information
vii
CX82100 Home Network Processor Data Sheet
9
General Purpose Input/Output Interface Description............................................................................ 9-1
9.1
9.2
9.3
GPIO Pin Description...................................................................................................................................................9-1
GPIO Register Memory Map........................................................................................................................................9-2
GPIO Registers............................................................................................................................................................9-3
9.3.1
GPIO Option Register for GPIO[39:37; 32] (GPIO_OPT: 0x003500B0) ........................................................9-3
9.3.2
GPIO Output Enable Register 1 for GPIO[15:14; 8:5] (GPIO_OE1: 0x003500B4) .........................................9-4
9.3.3
GPIO Output Enable Register 2 for GPIO[31; 27:16] (GPIO_OE2: 0x003500B8) ..........................................9-4
9.3.4
GPIO Output Enable Register 3 for GPIO[39:37; 32] (GPIO_OE3: 0x003500BC) ..........................................9-5
9.3.5
GPIO Data Input Register 1 for GPIO[15:14; 8:5] (GPIO_DATA_IN1: 0x003500C0) .....................................9-5
9.3.6
GPIO Data Input Register 2 for GPIO[31; 27:24; 22:16] (GPIO_DATA_IN2: 0x003500C4) ...........................9-6
9.3.7
GPIO Data Input Register 3 for GPIO[39:37; 32] (GPIO_DATA_IN3: 0x003500C8) ......................................9-6
9.3.8
GPIO Data Output Register 1 for GPIO[15:14; 8:5] (GPIO_DATA_OUT1: 0x003500CC) ...............................9-7
9.3.9
GPIO Data Output Register 2 for GPIO[31; 27:24; 22:16] (GPIO_DATA_OUT2: 0x003500D0) .....................9-8
9.3.10
GPIO Data Output Register 3 for GPIO[39:37; 32] (GPIO_DATA_OUT3: 0x003500D4) ................................9-9
9.3.11
GPIO Interrupt Status Register 1 for GPIO[15:14; 8:5] (GPIO_ISR1: 0x003500D8) ...................................9-10
9.3.12
GPIO Interrupt Status Register 2 for GPIO[31; 27:24; 22:16] (GPIO_ISR2: 0x003500DC) .........................9-10
9.3.13
GPIO Interrupt Status Register 3 for GPIO[39:37; 32] (GPIO_ISR3: 0x003500E0).....................................9-12
9.3.14
GPIO Interrupt Enable Register 1 for GPIO[15:14; 8:5] (GPIO_IER1: 0x003500E4) ...................................9-13
9.3.15
GPIO Interrupt Enable Register 2 for GPIO[31; 27:24; 22:16] (GPIO_IER2: 0x003500E8) .........................9-14
9.3.16
GPIO Interrupt Enable Register 3 for GPIO[39:37; 32] (GPIO_IER3: 0x003500EC) ....................................9-15
9.3.17
GPIO Interrupt Polarity Control Register 1 for GPIO[15:14; 8:5] (GPIO_IPC1: 0x003500F0)......................9-16
9.3.18
GPIO Interrupt Polarity Control Register 2 for GPIO[31; 27:24; 22:16] (GPIO_IPC2: 0x003500F4)............9-17
9.3.19
GPIO Interrupt Polarity Control Register 3 for GPIO[39:37; 32] (GPIO_IPC3: 0x003500F8).......................9-18
9.3.20
GPIO Interrupt Sensitivity Mode Register 1 for GPIO[15:14; 8:5] (GPIO_ISM1: 0x003500A0)...................9-19
9.3.21
GPIO Interrupt Sensitivity Mode Register 2 for GPIO[31; 27:24; 22:16] (GPIO_ISM2: 0x003500A4).........9-20
9.3.22
GPIO Interrupt Sensitivity Mode Register 3 for GPIO[39:37; 32] (GPIO_ISM3: 0x003500A8)....................9-21
10 Memory to Memory Transfer Input/Output ........................................................................................ 10-1
10.1
10.2
10.3
Operation ..................................................................................................................................................................10-1
M2M Register Memory Map......................................................................................................................................10-3
M2M Registers..........................................................................................................................................................10-3
10.3.1
Memory to Memory DMA Data Register (M2M_DMA: 0x00350000) .........................................................10-3
10.3.2
Memory to Memory DMA Transfer Control/Counter (M2M_Cntl: 0x00350004) .........................................10-3
11 Interrupt Controller Interface Description .......................................................................................... 11-1
11.1
11.2
INTC Register Memory Map ......................................................................................................................................11-1
INTC Registers ..........................................................................................................................................................11-1
11.2.1
Interrupt Level Assignment Register (INT_LA: 0x00350040) .....................................................................11-1
11.2.2
Interrupt Status Register (INT_Stat: 0x00350044).....................................................................................11-2
11.2.3
Interrupt Set Status Register (INT_SetStat: 0x00350048)..........................................................................11-4
11.2.4
Interrupt Mask Register (INT_Msk: 0x0035004C)......................................................................................11-4
11.2.5
Interrupt Mask Status Register (INT_Mstat: 0x00350090).........................................................................11-4
12 Timers Interface Description.............................................................................................................. 12-1
12.1
12.2
12.3
12.4
viii
Programmable Periodic Timers .................................................................................................................................12-1
Watchdog Timer........................................................................................................................................................12-1
Timer Usage/SDRAM Refresh with Other Frequencies...............................................................................................12-2
Timer Registers Memory Map ...................................................................................................................................12-3
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
12.5
Timer Registers.........................................................................................................................................................12-3
12.5.1
Timer 1 Counter Register (TM_Cnt1: 0x00350020) ...................................................................................12-3
12.5.2
Timer 2 Counter Register (TM_Cnt2: 0x00350024) ...................................................................................12-3
12.5.3
Timer 3 Counter Register (TM_Cnt3: 0x00350028) ...................................................................................12-4
12.5.4
Timer 4 Counter Register (TM_Cnt4: 0x0035002C) ...................................................................................12-4
12.5.5
Timer 1 Limit Register (TM_Lmt1: 0x00350030).......................................................................................12-4
12.5.6
Timer 2 Limit Register (TM_Lmt2: 0x00350034).......................................................................................12-4
12.5.7
Timer 3 Limit Register (TM_Lmt3: 0x00350038).......................................................................................12-5
12.5.8
Timer 4 Limit Register (TM_Lmt4: 0x0035003C).......................................................................................12-5
13 Clock Generation Interface Description.............................................................................................. 13-1
13.1
13.2
13.3
13.4
13.5
13.6
13.7
PLL Normal Mode .....................................................................................................................................................13-3
Generated Clocks ......................................................................................................................................................13-3
PLL Register Memory Map........................................................................................................................................13-5
PLL Registers............................................................................................................................................................13-5
13.4.1
FCLK PLL Register (PLL_F: 0x00350068)..................................................................................................13-5
13.4.2
BCLK PLL Register (PLL_B: 0x0035006C) ................................................................................................13-6
13.4.3
Low Power Mode Register (LPMR: 0x00350014)......................................................................................13-7
PLL Programming.....................................................................................................................................................13-8
Watchdog Timer Mode ..............................................................................................................................................13-9
PLL Bypass Mode .....................................................................................................................................................13-9
14 Register Map Summary ..................................................................................................................... 14-1
14.1
14.2
14.3
101306C
Register Type Definition ............................................................................................................................................14-1
Interface Registers Sorted by Supported Function.....................................................................................................14-2
Interface Registers Sorted by Address.......................................................................................................................14-6
Conexant Proprietary and Confidential Information
ix
CX82100 Home Network Processor Data Sheet
Figures
Figure 1-1. CX82100 HNP Major System Interface ..........................................................................................................1-3
Figure 1-2. CX82100 HNP Typical System Interface – Residential Gateway Firewall plus Router Application ...................1-4
Figure 1-3. CX82100 HNP Typical System Interface – Ethernet/HomePNA 2.0 Bridge Application ...................................1-4
Figure 1-4. CX82100 HNP Block Diagram........................................................................................................................1-5
Figure 1-5. Example of a Residential Gateway Firewall plus Router Application .............................................................1-11
Figure 1-6. Example of a HomePNA 2.0 Bridge Application............................................................................................1-12
Figure 2-1. CX82100-11/-12/-51/-52 HNP Hardware Interface Signals ............................................................................2-2
Figure 2-2. CX82100-11/-12/-51/-52 HNP Pin Signals-196-Pin FPBGA ...........................................................................2-3
Figure 2-3. CX82100-41/-42 HNP Hardware Interface Signals .........................................................................................2-5
Figure 2-4. CX82100-41/-42 HNP Pin Signals-196-Pin FPBGA ........................................................................................2-6
Figure 2-5. External Memory Interface Timing ...............................................................................................................2-21
Figure 2-6. Package Dimensions – 196-Pin 15 mm x 15 mm FPBGA.............................................................................2-23
Figure 3-1. HNP Memory Map .........................................................................................................................................3-2
Figure 3-2. Little-Endian Mode Addressing ......................................................................................................................3-4
Figure 3-3. Boot Procedure..............................................................................................................................................3-5
Figure 4-1. Address Generation in Direct Circular Buffer Mode ........................................................................................4-6
Figure 4-2. Embedded Tail Linked List Descriptor Example............................................................................................4-10
Figure 4-3. Indirect/Table Linked List Descriptor Example 1 ..........................................................................................4-12
Figure 4-4. Indirect/Table Linked List Descriptor Example 2 ..........................................................................................4-13
Figure 5-1. Host Master Mode Signals.............................................................................................................................5-1
Figure 5-2. Little-Endian Mode Data Bus Mapping ...........................................................................................................5-2
Figure 5-3. Waveforms for Host Master Mode Read Operation (CX82100-11/-12/-51/-52)..............................................5-6
Figure 5-4. Waveforms for Host Master Mode Write Operation (CX82100-11/-12/-51/-52) .............................................5-7
Figure 5-5. Waveforms for Host Master Mode Read Operation (CX82100-41/-42) ........................................................5-10
Figure 5-6. Waveforms for Host Master Mode Write Operation (CX82100-41/-42) ........................................................5-11
Figure 6-1. SDRAM Interface...........................................................................................................................................6-1
Figure 6-2. EMC Clocking Interface..................................................................................................................................6-6
Figure 6-3. EMC I/O Timing .............................................................................................................................................6-6
Figure 7-1. MAC Sublayer Partition, Relationship to OSI Reference Model ......................................................................7-1
Figure 7-2. Ethernet MAC Frame Format..........................................................................................................................7-2
Figure 7-3. EMAC Functional Block Diagram....................................................................................................................7-6
Figure 7-4. MII Connector................................................................................................................................................7-7
Figure 7-5. EMAC Transmit Frame Structure .................................................................................................................7-10
Figure 7-6. TMAC DMA Operation for Channel {x} = 1 or 3.............................................................................................7-14
Figure 7-7. A Perfect Address Filtering Setup Frame Buffer ...........................................................................................7-17
Figure 7-8. A Circuit for Dividing by G(x).......................................................................................................................7-18
Figure 7-9. Imperfect Address Filtering..........................................................................................................................7-20
Figure 7-10. Example of Imperfect Filtering Setup Frame...............................................................................................7-21
Figure 7-11. Sequence of Receiver DMA Operation .......................................................................................................7-26
Figure 8-1. Block Diagram of the USB Interface...............................................................................................................8-2
Figure 8-2. USB Transmit Data Flow ................................................................................................................................8-3
x
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Figure 8-3. USB Receive Data Flow..................................................................................................................................8-4
Figure 8-4. Example of an USB Device for HNP ...............................................................................................................8-7
Figure 8-5. Loading of the EndPtBuf Configurations ........................................................................................................8-9
Figure 8-6. DMA Channel Supporting USB Receive OUT Endpoints ...............................................................................8-10
Figure 8-7. DMA Channels for USB Transmit IN Endpoints............................................................................................8-12
Figure 9-1. GPIO[x] Interface...........................................................................................................................................9-1
Figure 13-1. Clock Generation Block Diagram................................................................................................................13-2
Figure 13-2. Clocks Generated in the PLL Bypass Mode ..............................................................................................13-10
101306C
Conexant Proprietary and Confidential Information
xi
CX82100 Home Network Processor Data Sheet
Tables
Table 1-1. CX82100 Order Numbers, Part Numbers, and Supported Features .................................................................1-1
Table 2-1. CX82100-11/-12/-51/-52 HNP Pin Signals – 196-Pin FPBGA ..........................................................................2-4
Table 2-2. CX82100-41/-42 HNP Pin Signals – 196-Pin FPBGA.......................................................................................2-7
Table 2-3. CX82100 HNP Pin Signal Definitions ..............................................................................................................2-8
Table 2-4. CX82100 HNP Input/Output Type Descriptions .............................................................................................2-16
Table 2-5. CX82100 HNP DC Electrical Characteristics ..................................................................................................2-17
Table 2-6. CX82100 HNP Operating Conditions .............................................................................................................2-18
Table 2-7. CX82100 HNP Absolute Maximum Ratings...................................................................................................2-18
Table 2-8. CX82100 HNP Power Consumption ..............................................................................................................2-18
Table 2-9. CX82100 HNP Recommended GPIO and Host Signal Use.............................................................................2-19
Table 2-10. CX82100 HNP Definitions of Recommended GPIO and Host Signals ..........................................................2-20
Table 3-1. Starting Addresses for Mapping ASB Slaves ...................................................................................................3-3
Table 3-2. Starting Addresses for Mapping APB Slaves ...................................................................................................3-3
Table 3-3. ARM Exception Vector Addresses ...................................................................................................................3-3
Table 4-1. DMA Channel Definition for DMAC..................................................................................................................4-1
Table 4-2. DMA Requests for APB Peripherals ................................................................................................................4-2
Table 4-3. DMAC Registers..............................................................................................................................................4-3
Table 4-4. Cluster Descriptor Table..................................................................................................................................4-7
Table 4-5. Received Data Packet......................................................................................................................................4-8
Table 5-1. Host Master Mode Signals ..............................................................................................................................5-2
Table 5-2. Chip Select Address Ranges ...........................................................................................................................5-3
Table 5-3. Timing for Host Master Mode Read Operation Based on a 100 MHz BCLK (CX82100-11/-12/-51/-52)............5-6
Table 5-4. Timing for Host Master Mode Write Operation Based on a 100 MHz BCLK (CX82100-11/-12/-51/-52) ...........5-7
Table 5-5. Timing for Host Master Mode Read Operation Based on a 100 MHz BCLK (CX82100-41/-42) ......................5-10
Table 5-6. Timing for Host Master Mode Write Operation Based on a 100 MHz BCLK (CX82100-41/-42)......................5-11
Table 5-7. Host Master Mode Registers.........................................................................................................................5-12
Table 6-1. EMC SDRAM Interface Signal Descriptions.....................................................................................................6-2
Table 6-2. PC100 Compliant Mode Register ....................................................................................................................6-2
Table 6-3. Available SDRAM Vendors ..............................................................................................................................6-3
Table 6-4. Allowed SDRAM Configurations......................................................................................................................6-4
Table 6-5. SDRAM Throughput........................................................................................................................................6-5
Table 6-6. HNP to SDRAM/SRAM Interface Signal Mapping............................................................................................6-7
Table 6-7. EMC Register..................................................................................................................................................6-8
Table 7-1. Parameterized Values Implemented in EMAC ..................................................................................................7-3
Table 7-2. Transmit Descriptor Format ..........................................................................................................................7-11
Table 7-3. Transmit Status Format ................................................................................................................................7-12
Table 7-4. Setup Frame Buffer Format ...........................................................................................................................7-17
Table 7-5. Imperfect Address Filtering Setup Frame Format ..........................................................................................7-19
Table 7-6. Hash Index Generated Using Ethernet CRC Algorithm...................................................................................7-20
Table 7-7. Address Filtering Mode .................................................................................................................................7-22
Table 7-8. Definition of RMAC Receive Status ...............................................................................................................7-24
xii
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 7-9. 7-WS Interface Signals .................................................................................................................................7-27
Table 7-10. EMAC Registers ..........................................................................................................................................7-28
Table 8-1. Endpoint Buffer Format in UDC Core...............................................................................................................8-6
Table 8-2. Example of the EndPtBuf Encoding .................................................................................................................8-7
Table 8-3. DMA Channel Supporting USB Receive OUT Endpoints ................................................................................8-10
Table 8-4. Status qword for Receive (OUT) Endpoint APB Buffers .................................................................................8-11
Table 8-5. DMA Channels for USB Transmit IN Endpoints .............................................................................................8-12
Table 8-6. Descriptor qword for Transmit (IN) Endpoint TX DMA Packet Buffer ............................................................8-13
Table 8-7. Status qword for Transmit (IN) Endpoint TX DMA Packet Buffer...................................................................8-13
Table 8-8. UDC Endpoints..............................................................................................................................................8-14
Table 8-9. USB Registers...............................................................................................................................................8-15
Table 8-10. EP_OUT Receive Pending Level Register ....................................................................................................8-34
Table 9-1. GPIO Registers ...............................................................................................................................................9-2
Table 10-1. M2M Transfer Example 1............................................................................................................................10-1
Table 10-2. M2M Transfer Example 2............................................................................................................................10-2
Table 10-3. M2M Transfer Example 3............................................................................................................................10-2
Table 10-4. M2M Registers ...........................................................................................................................................10-3
Table 11-1. INTC Registers............................................................................................................................................11-1
Table 12-1. Timer Resolution and SDRAM Refresh Rate ...............................................................................................12-2
Table 12-2. Timer Registers ..........................................................................................................................................12-3
Table 13-1. FCLKIO/GPIO39 Pin Usage Control .............................................................................................................13-1
Table 13-2. BCLKIO/GPIO38 Pin Usage Control.............................................................................................................13-1
Table 13-3. FCLK PLL Generated Clocks........................................................................................................................13-4
Table 13-4. BCLK PLL Generated Clocks .......................................................................................................................13-4
Table 13-5. FCLK PLL Generated Clocks Programming Examples .................................................................................13-4
Table 13-6. BCLK PLL Generated Clocks Programming Examples .................................................................................13-4
Table 13-7. PLL Register Memory Map .........................................................................................................................13-5
Table 13-8. Desired Frequencies and Programming Parameters....................................................................................13-8
Table 13-9. Clocking Requirements ...............................................................................................................................13-9
Table 14-1. Register Type Definition..............................................................................................................................14-1
Table 14-2. CX82100 Interface Registers Sorted by Supported Function .......................................................................14-2
Table 14-3. CX82100 Interface Registers Sorted by Address.........................................................................................14-6
101306C
Conexant Proprietary and Confidential Information
xiii
CX82100 Home Network Processor Data Sheet
Revision History
Changes Incorporated in Doc. No. 101306C
1.
Table 1-1: Revised Order No.
2.
Figure 2-3: Revised pin N13 to VSSO rather than VDDO for CX82100-41/-42.
3.
Figure 2-4: Revised pin N13 to VSSO rather than VDDO for CX82100-41/-42.
4.
Table 2-2: Revised pin N13 to VSSO rather than VDDO for CX82100-41/-42.
5.
Table 2-3: Revised pin N13 to VSSO rather than VDDO for CX82100-41/-42.
6.
Table 2-9: Revised GPIO20 to LAN 1 Reset (LAN1_RST#) rather than GPIO5.
7.
Table 2-10: Revised GPIO20 to LAN 1 Reset (LAN1_RST#) rather than GPIO5.
Changes Incorporated in Doc. No. 101306B
1.
Chapter 1: Revised maximum MIPS, added HRDY# paragraph, and added CX82100
HNP configuration differences to the introduction.
2.
Table 1-1: Added models numbers and expanded table.
3.
Section 1.5: Deleted.
4.
Section 2.1.1: Revised section with applicability to CX82100-11/-12/-51/-52.
5.
Section 2.1.2: Added section with applicability to CX82100-41/-42.
6.
Section 2.1.3: Added heading.
7.
Figure 2-1: Corrected pin number signals for M13 [HC08 (HRD#)], M12 [HC09
(HWR#)], and P14 [HC00 (HCS0#)/GPIO32].
8.
Figure 2-1, Figure 2-2, and Table 2-1: Revised with applicability to CX82100-11/12/-51/-52.
9.
Figure 2-3, Figure 2-4, and Table 2-2: Added with applicability to CX82100-41/-42.
10. Table 2-3: Revised VSSO pins, revised USBP and USBN interface resistor value,
HC00 pins, and HC10 pins, and GPIO17 and GPIO6 reset state.
11. Section 2.3 (Old): Deleted.
12. Figure 2-6: Corrected signal labels.
13. Table 5-1: Rearranged.
14. Section 5.1.5: Added reference to CX82100-11/-12/-51/-52.
15. Section 5.1.6: Added new section applicable to CX82100-41/-42.
16. Section 5.3.10: Added register description.
17. Section 13.1: Added PLL_F 168 MHz maximum operating frequency.
18. Table 13-3: Added PLL_F 168 MHz maximum operating frequency.
19. Table 13-5: Added PLL_F 168 MHz maximum operating frequency.
20. Section 13.4.1: Revised bits 25:24 (PLL_F_CR) description to add 84 MHz.
21. Table 13-8: Added Example 6 for 168 MHz desired frequency.
xiv
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
1
Introduction
The Conexant™ CX82100 Home Network Processor (HNP) is a single-chip, 185 MIPS
high performance, ARM940T-based processor integrated with multiple network interface
hardware functions and packaged into a 196-pin FPBGA. Embedded firmware supports
complete networking system solutions in a wide variety of commercial, industrial,
business, SOHO, and home applications with appropriate host software.
Typical applications include a Residential Gateway (RG) with network address
translation (NAT)/firewall services, or a HomePNA 2.0 or HomePlug 1.0 Bridge when
the CX82100 HNP is combined with a standard 10/100 Ethernet PHY or Home
Networking PHY such as Conexant’s CX24611 HomePNA 2.0 PHY/AFE.
The CX82100 HNP is available in different models to support basic functions,
programmable HRDY# polarity for 802.11b applications, higher throughput (higher
FCLK frequency), and ability to run Intoto Firewall software (Table 1-1).
Table 1-1. CX82100 Order Numbers, Part Numbers, and Supported Features
Supported Functions
Max Clock Speed
(FCLK)
Supports Intoto
Firewall Software
No
No
144 MHz
144 MHz
No
Yes
CX82100-51
CX82100-52
No
No
168 MHz
168 MHz
No
Yes
CX82100-41*
CX82100-42*
Yes
Yes
168 MHz
168 MHz
No
Yes
Home Network
Processor (HNP)
[196-pin FPBGA]
Order No./Part No.
Programmable
HRDY# Polarity for
802.11b Wireless
Interface
CX82100-11
CX82100-12
* Recommended for new designs.
CX82100 HNP Configuration Differences:
101306C
1.
CX82100-11 supports basic functions. HRDY#, for wireless applications, is not
supported. The CX82100-11 supports the following two signals on the indicated pins
(different from the CX82100-41): P13 = VSS0 and P14 = HC00 (HCS0#)/GPIO32
(see Section 2.1.1).
2.
CX82100-12 supports basic functions and Intoto Firewall software. Same pinout as
the CX82100-11.
3.
CX82100-51 supports basic functions and higher frequency operation (FCLK to 168
MHz). Same pinout as the CX82100-11.
4.
CX82100-52 supports basic functions, higher frequency operation (FCLK to 168
MHz), and Intoto Firewall software. Same pinout as the CX82100-11 and CX8210012.
5.
CX82100-41 supports basic functions and programmable HRDY# polarity for
wireless applications (see Section 5.1.6). The CX82100-41 supports the following
two signals on the indicated pins (different from the CX82100-11): P13 = HC00
(HCS0#)/GPIO32 and P14 = HC10 (HRDY#) (see Section 2.1.2). Recommended for
new designs.
Conexant Proprietary and Confidential Information
1-1
CX82100 Home Network Processor Data Sheet
6.
1.1
CX82100-42 supports basic functions, programmable HRDY# polarity for wireless
applications and Intoto Firewall software. Same pinout as the CX82100-41.
Recommended for new designs.
Scope
This document describes the CX82100 HNP hardware architecture.
1.2
Features
•
•
•
•
•
•
•
•
1-2
Single-chip, high-performance processor with integrated network interfaces
− ARM940T processor
− Advanced Microcontroller Bus Architecture (AMBA) with two internal busses
♦ Advanced System Bus (ASB)
♦ Advanced Peripheral Bus (APB)
− 16k x 32 internal ROM
− 8k x 32 internal RAM
− External Memory Controller (EMC)
− Two identical 10/100 Mbps IEEE 802.3 Ethernet Media Access Controllers
(EMACs) with MII/7-WS interfaces
− USB 1.1 Slave Interface
− General Purpose Input/Output (GPIO) signals
− Timers
− Interrupt Controller (INTC)
− Clock Generators
ARM940T processor
− ARM9TDMI Core
− Advanced System Bus (ASB) interface
− Advanced Peripheral Bus (APB) interface
− Separate 4 kB instruction and 4 kB data caches
− Write-back cache scheme and write buffer optimize performance and minimize
ASB traffic
− Five-stage pipeline with fetch, decode, execute, memory and write stages
− ‘TrackingICE’ mode allows a conventional ICE (in-circuit emulator) mode of
operation
Dual Media Independent Interface (MII) interface to 10/100 Ethernet PHY
Host Parallel Expansion Bus interface to Flash ROM and other devices
Parallel interface to SDRAM/SRAM
JTAG interface
22 general purpose I/O lines (13 available for application use, 6 available for
application use if optional signals for EEPROM, Host Parallel Expansion Bus, and
Clock are not used, and 3 dedicated to system signals)
196-pin FPBGA
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
1.3
General Hardware Overview
The major CX82100 HNP internal components (also referred to as blocks or functions)
and external interfaces of the CX82100 HNP are illustrated in Figure 1-1.
A typical system interface for a Residential Gateway Firewall plus Router application
using the CX82100 HNP is illustrated in Figure 1-2.
A typical system interface for an Ethernet/HomePNA 2.0 Bridge application using the
CX82100 HNP is illustrated in Figure 1-3.
The major internal and external CX82100 interconnection signal paths are illustrated in
Figure 1-4.
Figure 1-1. CX82100 HNP Major System Interface
CX82100 Hom e Netw ork Processor (HNP)
ARM940T Processor
Other Peripherals
Random
Access
Mem ory
(RAM)
Read-Only
Mem ory
(ROM)
Host
Interface
SDRAM
or SRAM
External
Mem ory
Controller
(EMC)
Control Logic
Ethernet Media
Access
Controller 2
(EMAC 2)
PC or Hub
(Optional)
Universal
Serial Bus
(USB)
Interface
General
Purpose
Input/Output
(GPIO)
Interface
Ethernet Media
Access
Controller 1
(EMAC 1)
USB
Host
Parallel
Expansion
Bus
MII/7W S
MII/7W S
Flash ROM
Ethernet or
CX24611 Hom ePNA 2.0
PHY/AFE
(Optional)
Ethernet or
CX24611 Hom ePNA 2.0
PHY/AFE or
4-Port Switch
(Optional)
EEPROM
101306_065
101306C
Conexant Proprietary and Confidential Information
1-3
CX82100 Home Network Processor Data Sheet
Figure 1-2. CX82100 HNP Typical System Interface – Residential Gateway Firewall plus Router Application
CX82100 Hom e Netw ork Processor (HNP)
ARM940T Processor
SDRAM
or SRAM
USB
Random
Access
Mem ory
(RAM)
Read-Only
Mem ory
(ROM)
Host
Interface
External
Mem ory
Controller
(EMC)
Control Logic
Ethernet Media
Access
Controller 2
(EMAC 2)
Universal
Serial Bus
(USB)
Interface
General
Purpose
Input/Output
(GPIO)
Interface
Ethernet Media
Access
Controller 1
(EMAC 1)
Host
Parallel
Expansion
Bus
MII
Flash ROM
10/100 Ethernet
Interface Device
W AN RJ-45
LAN RJ-45
MII
10/100 Ethernet
Interface Devices
LAN RJ-45
1 + 4-Port Switch
LAN RJ-45
LAN RJ-45
EEPROM
101306-070
Figure 1-3. CX82100 HNP Typical System Interface – Ethernet/HomePNA 2.0 Bridge Application
CX82100 Hom e Netw ork Processor (HNP)
ARM940T Processor
SDRAM
or SRAM
USB
Random
Access
Mem ory
(RAM)
Read-Only
Mem ory
(ROM)
Host
Interface
External
Mem ory
Controller
(EMC)
Control Logic
Ethernet Media
Access
Controller 2
(EMAC 2)
Universal
Serial Bus
(USB)
Interface
General
Purpose
Input/Output
(GPIO)
Interface
Ethernet Media
Access
Controller 1
(EMAC 1)
Host
Parallel
Expansion
Bus
Flash ROM
MII
MII
10/100 Ethernet
Interface Device
CX24611
Hom ePNA 2.0
PHY/AFE
100-Pin TQFP
W AN RJ-45
LAN RJ-11
EEPROM
101306-002
1-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Figure 1-4. CX82100 HNP Block Diagram
ARM 940T Processor
IRQ #
JTAG
ARM9TDMI
Core
FIQ #
Instruction
Cache
System
Control
Data
Cache
ASB
Interface
W rite-Back
Buffer
Master/Slave (M /S)
ASB
Arbiter
Advanced System
Bus (ASB)
External
SDRAM/
SRAM
S
S
EMC
RAM
(8k x 32)
S
M /S
ROM
(16k x 32)
ASB
Decoder
M /S
ASB-to-APB
Bridge/DMAC
Host Interface
EMAC
Advanced Peripheral
Bus (APB)
Host Parallel
Expansion Bus to
Flash RO M and
O ther
MII/7W S to
LAN/W AN PHY
10/100BaseT
Interrupt
Controller
(INTC)
EMAC
MII/7W S to
LAN/W AN PHY
10/100BaseT
USB
Interface
Tim ers
USB to PC or USB Hub
I/O Control/Status
GPIO
Interface
EEPRO M Serial I/F
CLKI
FCLK
BCLK
PCLK
Clock
Generation
(PLL)
CX82100 HNP
PLLBP
FCLKIO
BCLKIO
101306-003
101306C
Conexant Proprietary and Confidential Information
1-5
CX82100 Home Network Processor Data Sheet
1.3.1
Advanced Microcontroller Bus Architecture
The HNP internal architecture is based on the Advanced Microcontroller Bus
Architecture (AMBA) which defines two internal busses, the Advanced System Bus
(ASB) and the Advanced Peripheral Bus (APB).
•
The 32-bit ASB is a high performance, burst-mode, pipelined bus, which connects
multiple bus masters. The ASB supports internal interfaces to functions (blocks)
such as processor, on-chip memory, external memory controller, and DMA
controller.
•
The 64-bit APB connects peripheral interface blocks to the ASB through the ASBto-APB Bridge/DMAC and is designed for minimal power consumption and reduced
complexity to support the system’s peripheral functions such as Timers, EMACs,
and the USB interface.
There are three other components of the AMBA system: the ASB Decoder, ASB Arbiter,
and the ASB-to-APB Bridge.
1.3.2
•
The ASB Decoder decodes the addresses for all the ASB slave devices.
•
The ASB Arbiter assigns the ASB ownership to ASB masters.
•
All APB devices are accessible by ASB masters through the ASB-to-APB Bridge.
ARM940T Processor
The HNP uses an ARM940T Harvard Load/Store Architecture cached processor
macrocell with a high performance 32-bit RISC-based ARM9TDMI Core. The "TDMI"
stands for Thumb 16-bit compressed instruction set, Debug extensions, Multiplier
enhanced, and ICE extension.
Separate 4 kB instruction and 4 kB data caches and a memory protection unit allow the
memory to be segmented and protected in a simple manner. A write-back cache scheme
and write buffer are used to optimize performance and minimize ASB traffic.
The ARM940T uses a 5-stage pipeline consisting of fetch, decode, execute, memory and
write stages. The ARM940T interfaces to the other internal HNP blocks using unified
address and data busses compatible with the AMBA bus architecture. The ARM940T
also has a ‘TrackingICE’ mode that allows a conventional ICE (in-circuit emulator) mode
of operation.
The ARM9TDMI Core has two active-low and level-sensitive interrupt inputs, FIQ# and
IRQ#, which can occur asynchronously. The FIQ# is higher priority than IRQ# in that it
is serviced first when both interrupts assert simultaneously. Servicing an FIQ# disables
IRQ# until the FIQ# handler exits or re-enables IRQ#. An interrupt handler must always
clear the source of the interrupt. The vector addresses for IRQ# and FIQ# are
0x00000018 and 0x0000001C, respectively.
1.3.3
ASB Decoder
The ASB Decoder performs the address decoding and selects slaves appropriately.
1-6
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
1.3.4
ASB Arbiter
The ASB Arbiter performs arbitration on the ASB to ensure that only one ASB master at
a time is allowed to initiate data transfers. No arbitration scheme is enforced, therefore,
either 'highest priority' or 'fair' access algorithms may be implemented, depending on the
application requirements.
1.3.5
ASB Masters
An ASB master can initiate read and write operations by providing address and control
information. The HNP contains three bus masters: the ARM940T, the Host Interface, and
the DMAC. Only one bus master is allowed to actively use the ASB at any one time. The
DMAC is both an ASB master and an APB master.
ARM940T Master
The ARM940T master transfers data to and from the internal ROM, internal SRAM, the
ASB-to-APB Bridge, and the external SDRAM/SRAM via the EMC. The ARM940T
master also transfers configuration register information directly to and from the DMAC.
DMAC Master
The DMAC master transfers data to and from the external SDRAM/SRAM via the EMC.
The EMC is the only ASB slave accessed by the DMAC master. The DMAC is integrated
with the ASB-to-APB Bridge because the DMAC is both an ASB master and an APB
master. Data transferred on the ASB is always a dword (32 bits). However, data
transferred on the APB is always a qword (64 bits) which requires valid data on the entire
64-bit APB data bus.
Host Interface Master
The Host Interface master transfers data over the Host Parallel Expansion Bus to and
from external Flash ROM and an optional peripheral (e.g., UART) via an internal
memory-mapped register set using two chip select/GPIO signals. The Host Interface
master operates asynchronously.
The Host Interface master can also be used as the Test Interface Controller (TIC) bus
master. The TIC is a low gate-count test interface module which allows externally
applied test vectors to be converted into internal bus transfers. The TIC can also be used
to read and write registers within the HNP from the external Host Interface pins. The TIC
uses a minimal 3-wire handshake mechanism (TREQA, TREQB, and TACK) to control
the application of test vectors and the data path of the EMC.
101306C
Conexant Proprietary and Confidential Information
1-7
CX82100 Home Network Processor Data Sheet
1.3.6
ASB Slaves
ASB slaves respond to read or write operations within a given address-space range. A bus
slave signals the success, failure, or waiting of the data transfer back to the active master.
The ASB slaves in the HNP ASIC are the ARM940T (test mode only), EMC, ASB-toAPB Bridge/DMAC, internal ROM, and internal SRAM.
Detailed discussion of the AMBA signals and protocols may be found in Reference [3].
ARM940T Slave
The ARM940T slave has one 32-bit test-mode register that can be accessed by the TIC
during test mode.
External Memory Controller Slave
The External Memory Controller (EMC) controls all external SDRAM/SRAM accesses.
The SDRAM/SRAM is programmed by the EMC to transfer a burst of four data bytes.
The configuration registers for the EMC reside in the Host Control Register
(HST_CTRL) and the External Memory Control Register (EMCR).
The SDRAM refresh controller is internal to the EMC. The EMC simply asserts the wait
response to the ASB if it is deselected (by the ASB Decoder) during the refresh. The
master requesting the memory access is held off with wait states for the duration of the
refresh operation.
ASB-to-APB Bridge/DMAC
The ASB-to-APB Bridge converts ASB transfers into a suitable format for the slave
devices on the APB. The bridge provides latching of all address, data, and control signals,
as well as provides a second level of decoding to generate slave select signals for the
APB peripherals. The bridge is a slave on the ASB and a master on the APB. All
peripherals on the APB are slaves only.
As an ASB slave, the DMAC is accessed by the ARM940T and the Host Interface
(including the TIC ASB master in test mode). Obviously, the master portion of the
DMAC also has access, not via the ASB but internal to the DMAC module. Note that the
DMAC is also a bus master on the APB.
Internal ROM
The internal 16k x 32 ROM provides high-speed read-only program and data for the
ARM940T. The ARM940T uses this internal ROM or external Flash ROM to run the
boot code upon the de-assertion of the reset signal.
The internal ROM code configures the UDC with configuration data read from an
optional I2C EEPROM or internal ROM. The internal ROM code initiates UDC setup by
communicating to the I2C EEPROM using the I2C_DATA (GPIO15) and I2C_CLOCK
(GPIO16) pins. Based on the signature byte read from the I2C EEPROM, the HNP uses
either I2C EEPROM data or internal ROM data to set up the UDC. See Section for
additional information.
Internal RAM
The internal 8k x 32 RAM provides high-speed read-write program and data for the
ARM940T.
1-8
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
1.3.7
APB Functions
The Advanced Peripheral Bus (APB) provides signaling for I/O functions.
EMAC Interface
Dual Media Independent Interface (MII) or 7-Wire Serial (7-WS) interfaces, controlled
by two identical HNP 10/100BaseT Ethernet MAC (EMAC) blocks, optionally connect
interchangeably to devices such as an Ethernet transceiver PHY, Conexant CX24611
HomePNA 2.0 AFE/PHY, Conexant CX11647 HomePlug 1.0 device.
USB Interface
The USB controlled by the HNP USB Interface optionally connects to a PC or USB hub.
This interface complies with the Universal Serial Bus Specification Rev. 1.1 and operates
at USB full speed (12 Mbps). It acts as a USB slave device only, i.e., it cannot act as a
root hub).
General Purpose Input/Output Interface
Bidirectional general purpose input/output (GPIO) lines are controlled by the HNP GPIO
Interface. Most of these GPIO lines are used for the interfaces mentioned above in a fully
configured system.
Clock Generation
The Clock Generation block generates internal and external clocks using two
programmable, fractional multiply phase locked loop (PLL) blocks, FCLK_PLL and
BCLK_PLL. Included in each block is the actual PLL circuit including a voltagecontrolled oscillator (VCO), and post-PLL generation logic which divides the output of
each PLL to create a series of sub-multiple clocks.
Interrupt Controller
All peripheral interrupt sources are routed through the Interrupt Controller (INTC) and
reduced to one of two active low inputs to the ARM940T processor, fast interrupt (FIQ#)
or regular interrupt (IRQ#), as selected in the Interrupt Level Assignment Register
(INT_LA). No hardware-assisted priority scheme is implemented in the HNP other than
FIQ# having a higher priority than IRQ#. The system software must implement the
priority scheme for individual interrupts in the FIQ# and IRQ# exception handlers.
1.4
Development Kits
Please contact a local Conexant sales office for information about available development
kits using the CX82100 HNP.
101306C
Conexant Proprietary and Confidential Information
1-9
CX82100 Home Network Processor Data Sheet
1.5
Typical Applications
Typical applications include:
•
•
•
•
•
•
•
1.5.1
Firewall/router products
HomePNA bridge products
USB bridge products
Cable modem bridge products
DSL modem bridge products
Residential gateway
Proxy servers
Typical Home Networking Architecture
Typical home networking architecture for a Residential Gateway Firewall plus Router
box with an installed CX82100 HNP-based Ethernet-to-Ethernet interface is illustrated in
Figure 1-5. This box allows multiple home PCs to access the Internet through a single
point of connection. All the home PCs connect to the in-house RJ-45 wiring using the
CX82100 HNP-based Ethernet interface.
Typical home networking architecture for a HomePNA 2.0 Bridge box with an installed
CX82100 HNP-based Ethernet-to-HomePNA 2.0 interface is illustrated in Figure 1-6.
This box allows multiple home PCs and peripherals to access the Internet through a
single point of connection. All the home PCs and peripherals connect to the in-house RJ11 wiring using the CX82100 HNP-based HomePNA 2.0 interface.
1-10
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Figure 1-5. Example of a Residential Gateway Firewall plus Router Application
Hom e PC
Hom e PC
Hom e PC
RJ45
Hom e PC
Ethernet
Residential Gateway (RG)
Firew all Plus Router
using the CX82100 HNP
RJ45
Ethernet (RJ45)
Broadband Access Device
Public Networks
Network Server
Network Server
101306_069
101306C
Conexant Proprietary and Confidential Information
1-11
CX82100 Home Network Processor Data Sheet
Figure 1-6. Example of a HomePNA 2.0 Bridge Application
Printer
Hom e PC
Laptop com puter
Hom e PC
Scanner
Hom ePNA 2.0
Phone Line Netw ork
Fax
RJ-11
Hom ePNA 2.0
RJ-45
Ethernet
Phone
Hom e PNA 2.0 Bridge
using the CX82100 HNP
Broadband Access Device
Public Networks
Network Server
Network Server
101306_001
1-12
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
1.6
101306C
References
[1]
ARM9TDMI Data Sheet, November, 1997, ARM Limited.
[2]
ARM940T Data Sheet, November, 1997, ARM Limited.
[3]
AMBA–Advanced Microcontroller Bus Architecture Specification, April, 1997,
ARM Limited.
[4]
ANSI/IEEE 802.3, Reference Number ISO/IEC 8802-3, Part 3: Carrier Sense
Multiple Access with Collision detection (CSMA/CD) Access Method and
Physical Layer Specifications, Fifth Edition, 1996-07-29.
[5]
ANSI/IEEE 802.3u, Media Access Control (MAC) Parameters, Physical Layer,
Medium Attachment Units, and Repeater for 100 Mb/s Operation, Type 100BaseT (Clauses 21-30), 1995.
[6]
PC SDRAM Specification, Revision 1.63, October 1998, Intel.
[7]
CX82110 xDSL Ready Home Network Processor (HNP) Data Sheet, Doc. No.
101545, Conexant.
[8]
CX24611 HomePNA 2.0 PHY/AFE Data Sheet, Doc. No. 100633, Conexant.
Conexant Proprietary and Confidential Information
1-13
CX82100 Home Network Processor Data Sheet
1.7
Key Words
7-WS or 7WS
AFE
AMBA
APB
ARM
ASB
ASIC
CRC
DMAC
EMAC
EMC
FIFO
GPIO
GPSI
HomePNA
HomePlug
ICE
LSb
LSB
MAC
MII
MSb
MSB
OSI
PHY
SOHO
STA
TIC
1-14
7-Wire Serial Interface
Analog Front End
Advanced Microprocessor Bus Architecture
Advanced Peripheral Bus
Advanced Risk Microcontroller
Advanced System Bus
Application Specific Integrated Circuit
Cyclic Redundancy Check
Direct Memory Access Controller
Ethernet Medium Access Control
External Memory Controller
First-In-First-Out
General Purpose I/O
General Purpose Serial Interface
Home Phoneline Networking Alliance
HomePlug Power Line Alliance
In Circuit Emulator/Emulation
Least Significant Bit
Least Significant Byte
Media Access Control
Media Independent Interface
Most Significant Bit
Most Significant Byte
Open Systems Interconnection
PHYsical Layer
Small Office Home Office
STAtion management entity
Test Interface Controller
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
1.8
Conventions
1.8.1
Data Lengths
qword
dword
word
byte
nibble
1.8.2
Register Descriptions
Register Type
RO
WO
RW
RW*
RR
RWp
Wd
101306C
64-bits
32-bits
16-bits
8 bits
4 bits
Description
Read-only
Write-only
Read/Write
Read/Write, but data may not be same as written at a later time
Same as RW, but writing a 1 resets corresponding bit location,
writing 0 has no effect
Read-only, Write-only shared port, data written cannot be
read. Only accessible by DMAC
Write-only, operates on other data entering register
Conexant Proprietary and Confidential Information
1-15
CX82100 Home Network Processor Data Sheet
This page is intentionally blank.
1-16
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
2
CX82100 HNP Hardware Interface
2.1
CX82100 HNP Hardware Interface Signals
2.1.1
CX82100-11/-12/-51/-52 Signal Interface and Pin Assignments
CX82100-11/-12/-51/-52 HNP hardware interface signals are shown in Figure 2-1.
CX82100-11/-12/-51/-52 HNP pin signals are shown in Figure 2-2 and are listed in Table
2-1.
Note:
2.1.2
The CX82100-11/-12/-51/-52 supports the following two signals on the indicated
pins (different from the CX82100-41/-42): P13 = VSS0 and P14 = HC00
(HCS0#)/GPIO32 (see Section 2.1.1). Other pinouts are the same as the
CX82100-41/-42.
CX82100-41/-42 Signal Interface and Pin Assignments
CX82100-41/-42 HNP hardware interface signals are shown in Figure 2-3.
CX82100-41/-42 HNP pin signals are shown in Figure 2-4 and are listed in Table 2-2.
Note:
2.1.3
The CX82100-41/-42 supports the following two signals on the indicated pins
(different from the CX82100-11/-12/-51/-52): P13 = HC00 (HCS0#)/GPIO32
and P14 = HC10 (HRDY#) (see Section 2.1.2). Other pinouts are the same as
the CX82100-11/-12/-51/-52.
CX82100 HNP Signal Definitions
CX82100 HNP hardware interface signals are defined in Table 2-3.
CX82100 HNP input/output types are described in Table 2-4.
CX82100 HNP DC electrical characteristics are listed in Table 2-5.
101306C
Conexant Proprietary and Confidential Information
2-1
CX82100 Home Network Processor Data Sheet
Figure 2-1. CX82100-11/-12/-51/-52 HNP Hardware Interface Signals
MEDIA INDEPENDENT
INTERFACE 1 (MII 1)/
7-WIRE SERIAL
INTERFACE (7-WS1)
COL
CRS
MDC
MDIO
RX_CLK
RXD0
RXD1
RXD2
RXD3
RXDV
RXER
TX_CLK
TX_EN
TXD0
TXD1
TXD2
TXD3
TXER
MEDIA INDEPENDENT
INTERFACE 2 (MII 2)/
7-WIRE SERIAL
INTERFACE (7-WS2)
COL
CRS
MDC
MDIO
RX_CLK
RXD0
RXD1
RXD2
RXD3
RXDV
RXER
TX_CLK
TX_EN
TXD0
TXD1
TXD2
TXD3
TXER
G1
G2
K8
M8
G5
H4
H3
H1
H2
L7
P8
E1
F1
F2
F5
F3
E4
G3
B8
J12
B6
A6
C8
A14
A7
B7
E7
C7
D7
L13
J13
M14
K12
L12
L14
K14
D9
E8
C9
USB
INTERFACE
J2
CLOCK
N14
RESET CIRCUIT
H6
+3.3V OR +5V (CLAMP)
H7, H8
+1.8V
G6
+1.8V (THROUGH FILTER)
+3.3V
A12, B3, B5,
D1, D14, F6,
F9, F12, H10,
J7, K7, K11,
N5, , N9, N11,
N13, P1
G7, G8
H5
A5, B9, B11, D8
D12, F4, G9, H11
K13, L2, N8, P2
P5, P9,
P11, P13, C4
C5
B4
A4
D4
4.7K
4.7K
NC
APPLICATION
DEPENDENT
J3
K4
K5
E6
D6
E5
D5
A3
A2
B2
B1
C3
A1
M7
A8
G4
C6
J5
J1
EM1_COL
EM1_CRS
EM1_MDC
EM1_MDIO
EM1_RX_CLK
EM1_RXD0
EM1_RXD1
EM1_RXD2
EM1_RXD3
EM1_RXDV
EM1_RXER
EM1_TX_CLK
EM1_TX_EN
EM1_TXD0
EM1_TXD1
EM1_TXD2
EM1_TXD3
EM1_TXER
EM2_COL
EM2_CRS
EM2_MDC
EM2_MDIO
EM2_RX_CLK
EM2_RXD0
EM2_RXD1
EM2_RXD2
EM2_RXD3
EM2_RXDV
EM2_RXER
EM2_TX_CLK
EM2_TX_EN
EM2_TXD0
EM2_TXD1
EM2_TXD2
EM2_TXD3
EM2_TXER
USBP
USBN
USB_PWR_DET (GPIO22)*
HAD00
HAD01
HAD02
HAD03
HAD04
HAD05
HAD06
HAD07
HAD08
HAD09
HAD10
HAD11
HAD12
HAD13
HAD14
HAD15
HC01
HC02
HC03
HC04
HC05
HC06
HC07
HAD16
HAD17
HAD18
HAD19
HAD20
HAD21
HAD22
HAD23
HAD24
HAD25
HAD26
HAD27
HAD28
HAD29
HC08 (HRD#)
HC09 (HWR#)
HC00 (HCS0#)/GPIO32
HAD31 (HCS4#)/GPIO37
CLKI
HRST#
VGG
VDD
VDDA
CX82100
(-11/-12/-51/-52)
Home Network
Processor
(HNP)
196-Pin FPBGA
VDDO
VSS
VSSA
VSSO
TST0
TST1
TST2
TST3
PLLBP
BOPT (GPIO14)*
TREQA
GPIO5
GPIO6
GPIO7
GPIO8
GPIO17
GPIO18
GPIO19
GPIO20
GPIO21
GPIO24
GPIO25
GPIO26
GPIO27
GPIO31
BCLKIO/GPIO38
FCLKIO/GPIO39
MD00
MD01
MD02
MD03
MD04
MD05
MD06
MD07
MD08
MD09
MD10
MD11
MD12
MD13
MD14
MD15
MA00
MA01
MA02
MA03
MA04
MA05
MA06
MA07
MA08
MA09
MA10
MA11
MM0
MM1
MB0
MB1
MRAS#
MCAS#
MWE#
MCS#
MCLK
MCKE
I2C_DATA (GPIO15)**
I2C_CLOCK (GPIO16)**
TRST#
TCK
TMS
TDI
TDO
NC
NC
NC
NC
NC
P12
N12
L11
J10
M11
L10
K10
L9
M10
P10
N10
J9
K9
L8
M9
N7
P7
L6
P6
N6
K6
M6
L5
M5
L4
P4
N4
M4
P3
N3
M3
N1
N2
M1
M2
L1
L3
M13
M12
P14
J8
F11
E13
F10
F14
G11
F13
G10
G14
H9
G12
G13
H14
J11
H13
H12
J14
A10
B10
D10
C10
A11
F8
C11
D11
B12
A13
C12
B13
E11
E10
A9
E9
D13
C13
B14
C14
E14
E12
E2
E3
D00
D01
D02
D03
D04
D05
D06
D07
D08
D09
D10
D11
D12
D13
D14
D15
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
RD#
WE#
CS0# (Flash)
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
DQMH
DQML
BA0
BA1
RAS#
CAS#
WE#
CS#
CLKE
CLK
SDRAM
or
SRAM
Serial EEPROM
(Optional)
SDA
SCL
J4
K2
J6
K1
K3
C1
C2
D2
D3
F7
PARALLEL
EXPANSION
BUS
JTAG
NC
* Dedicated GPIO signal.
** May be assigned to different application use if not
used for indicated function.
101306_066
2-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Figure 2-2. CX82100-11/-12/-51/-52 HNP Pin Signals-196-Pin FPBGA
1
2
3
4
GPIO18
A
A1
A2
GPIO24
A4
B2
GPIO20
B4
C1
C2
NC
C4
D1
D2
D4
E1
E2
EM1_TX_CLK
EM 1_TXD0
F
F1
F2
EM1_TX_EN
E4
G2
EM1_COL
F4
EM1_TXER
H1
H2
EM1_RXD2
J1
FCLKIO/GPIO39
PLLBP
TCK
K
K1
K2
TDI
K3
L1
L2
HAD28
M1
HAD26
N1
N2
HAD24
P1
VDDO
L4
M4
HAD21
N6
H8
VSSO
H9
MD08
VDD
HAD31 (HCS4#)/GPIO37
J8
J7
J9
H10
K8
K9
L8
L9
L10
HAD07
M8
M9
M10
N8
N9
N10
VDDO
HC01
P8
M11
P9
VSSO
VSSO
L12
EM2_TXD3
L14
L13
EM2_TX_CLK
EM2_TXD0
HC09 (HW R#)
M12
M14
M13
HC08 (HRD#)
N12
HAD00
P11
K14
K13
K12
VDDO
P10
J14
EM2_TX_EN
EM2_TXER
EM2_TXD1
P12
VSSO
TOP VIEW
101306C
MD15
J13
J12
HRST#
HAD01
N11
HAD09
EM1_RXER
P7
H14
MD13
HAD04
HAD10
VSS0
MD11
H13
H12
EM2_TXD2
L11
HAD02
HAD14
N7
K11
HAD08
EM 1_MDIO
M7
G14
MD10
VDDO
HAD05
HAD13
MD07
G13
G12
EM2_CRS
J11
MD12
K10
F14
MD05
MD14
H11
HAD03
HAD12
L7
MD03
F13
F12
VSSO
J10
E14
MD01
MD09
G11
HAD06
EM1_MDC
K7
MCLK
E13
E12
MD04
HAD11
VDDO
HAD15
P6
G10
D14
MRAS#
VDDO
F11
VDDO
VDD
H7
HC03
P5
G9
VDDO
D13
D12
MD00
VSSO
GPIO25
VDDO
P4
G8
HC04
N5
F10
C14
MCAS#
MCKE
E11
MD06
VSS
EM 1_RXDV
M6
F9
MCS#
C13
C12
M M0
VDDO
G7
HC06
M5
HAD18
P3
L6
HAD16
N4
F8
VDDO
HC07
HAD22
P2
K6
E10
B14
M A11
VSSO
MD02
MA05
HC02
L5
HAD19
N3
VSSO
P
K5
TREQA
HAD23
HAD25
N
K4
HAD20
M3
J6
BCLKIO/GPIO38
HC05
BOPT (GPIO14)
HAD29
M2
J5
HAD17
L3
HAD27
M
J4
TDO
VSSO
L
H6
E9
M WE#
B13
B12
MA07
MB1
VGG
TM S
TRST#
J3
E8
F7
C11
M M1
USBN
VSS
VSSA
EM1_RXD1
J2
H5
D10
A14
M A09
MA10
MA03
USBP
E7
EM2_RXD0
A13
A12
VSSO
C10
14
MA08
B11
D11
NC
G6
B10
D9
EM2_RXD3
F6
C9
13
MA04
MA01
B9
12
VDDO
A11
MA06
EM 2_RXER
E6
A10
USB_PW R_DET (GPIO22)
MA02
VSSO
D8
D7
VDDA
G5
EM 1_RX_CLK
EM1_RXD0
H4
H3
CLKI
J
D6
EM1_TXD1
G4
C8
C7
VDD0
F5
GPIO27
G3
EM1_RXD3
H
E5
VSSO
F3
B8
11
MA00
A9
EM 2_COL
B7
EM 2_RXDV
GPIO7
GPIO16
EM1_TXD2
G1
C6
10
MB0
GPIO5
EM1_TXD3
E3
A8
VSSO
EM2_RXD2
EM2_RX_CLK
GPIO31
GPIO8
EM1_CRS
G
D5
9
GPIO26
A7
GPIO6
TST3
D3
VDDO
NC
I2C_DATA (GPIO15)
E
C5
B6
TST0
GPIO21
NC
D
B5
VSSO
C3
8
EM2_RXD1
VDDO
VDDO
7
EM2_MDC
TST1
B3
NC
C
A6
A5
VSSO
GPIO17
B1
6
EM 2_MDIO
TST2
A3
GPIO19
B
5
Conexant Proprietary and Confidential Information
N13
N14
VDDO
HC00 (HCS0#)/GPIO32
P13
P14
VSSO
101306_067
2-3
CX82100 Home Network Processor Data Sheet
Table 2-1. CX82100-11/-12/-51/-52 HNP Pin Signals – 196-Pin FPBGA
Pin
Signal
A1
GPIO24
A2
GPIO18
A3
GPIO17
A4
TST2
A5
VSSO
A6
EM2_MDIO
A7
EM2_RXD1
A8
GPIO26
A9
MB0
A10
MA00
A11
MA04
A12
VDDO
A13
MA09
A14
EM2_RXD0
B1
GPIO20
B2
GPIO19
B3
VDDO
B4
TST1
B5
VDDO
B6
EM2_MDC
B7
EM2_RXD2
B8
EM2_COL
B9
VSSO
B10
MA01
B11
VSSO
B12
MA08
B13
MA11
B14
MWE#
C1
NC
C2
NC
C3
GPIO21
C4
VSSO
C5
TST0
C6
GPIO31
C7
EM2_RXDV
C8
EM2_RX_CLK
C9
USB_PWR_DET (GPIO22)
C10
MA03
C11
MA06
C12
MA10
C13
MCAS#
C14
MCS#
D1
VDDO
D2
NC
D3
NC
D4
TST3
D5
GPIO8
D6
GPIO6
D7
EM2_RXER
* Different from CX82100-41/-41.
2-4
Pin
D8
D9
D10
D11
D12
D13
D14
E1
E2
E3
E4
E5
E6
E7
E8
E9
E10
E11
E12
E13
E14
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
G1
G2
G3
G4
G5
G6
G7
G8
G9
G10
G11
G12
G13
G14
Signal
VSSO
USBP
MA02
MA07
VSSO
MRAS#
VDDO
EM1_TX_CLK
I2C_DATA (GPIO15)
I2C_CLOCK (GPIO16)
EM1_TXD3
GPIO7
GPIO5
EM2_RXD3
USBN
MB1
MM1
MM0
MCKE
MD01
MCLK
EM1_TX_EN
EM1_TXD0
EM1_TXD2
VSSO
EM1_TXD1
VDDO
NC
MA05
VDDO
MD02
MD00
VDDO
MD05
MD03
EM1_COL
EM1_CRS
EM1_TXER
GPIO27
EM1_RX_CLK
VDDA
VSS
VSS
VSSO
MD06
MD04
MD09
MD10
MD07
Pin
H1
H2
H3
H4
H5
H6
H7
H8
H9
H10
H11
H12
H13
H14
J1
J2
J3
J4
J5
J6
J7
J8
J9
J10
J11
J12
J13
J14
K1
K2
K3
K4
K5
K6
K7
K8
K9
K10
K11
K12
K13
K14
L1
L2
L3
L4
L5
L6
L7
Signal
EM1_RXD2
EM1_RXD3
EM1_RXD1
EM1_RXD0
VSSA
VGG
VDD
VDD
MD08
VDDO
VSSO
MD14
MD13
MD11
FCLKIO/GPIO39
CLKI
PLLBP
TRST#
BCLKIO/GPIO38
TMS
VDDO
HAD31 (HCS4#)/GPIO37
HAD11
HAD03
MD12
EM2_CRS
EM2_TX_EN
MD15
TDI
TCK
TDO
BOPT (GPIO14)
TREQA
HC05
VDDO
EM1_MDC
HAD12
HAD06
VDDO
EM2_TXD1
VSSO
EM2_TXER
HAD28
VSSO
HAD29
HAD17
HC07
HC02
EM1_RXDV
Pin
L8
L9
L10
L11
L12
L13
L14
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
M12
M13
M14
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
P13
P14
Conexant Proprietary and Confidential Information
Signal
HAD13
HAD07
HAD05
HAD02
EM2_TXD2
EM2_TX_CLK
EM2_TXD3
HAD26
HAD27
HAD23
HAD20
HAD16
HC06
GPIO25
EM1_MDIO
HAD14
HAD08
HAD04
HC09 (HWR#)
HC08 (HRD#)
EM2_TXD0
HAD24
HAD25
HAD22
HAD19
VDDO
HC04
HAD15
VSSO
VDDO
HAD10
VDDO
HAD01
VDDO*
HRST#
VDDO
VSSO
HAD21
HAD18
VSSO
HC03
HC01
EM1_RXER
VSSO
HAD09
VSSO
HAD00
VSSO*
HC00 (HCS0#)/GPIO32*
101306C
CX82100 Home Network Processor Data Sheet
Figure 2-3. CX82100-41/-42 HNP Hardware Interface Signals
MEDIA INDEPENDENT
INTERFACE 1 (MII 1)/
7-WIRE SERIAL
INTERFACE (7-WS1)
COL
CRS
MDC
MDIO
RX_CLK
RXD0
RXD1
RXD2
RXD3
RXDV
RXER
TX_CLK
TX_EN
TXD0
TXD1
TXD2
TXD3
TXER
MEDIA INDEPENDENT
INTERFACE 2 (MII 2)/
7-WIRE SERIAL
INTERFACE (7-WS2)
COL
CRS
MDC
MDIO
RX_CLK
RXD0
RXD1
RXD2
RXD3
RXDV
RXER
TX_CLK
TX_EN
TXD0
TXD1
TXD2
TXD3
TXER
G1
G2
K8
M8
G5
H4
H3
H1
H2
L7
P8
E1
F1
F2
F5
F3
E4
G3
B8
J12
B6
A6
C8
A14
A7
B7
E7
C7
D7
L13
J13
M14
K12
L12
L14
K14
D9
E8
C9
USB
INTERFACE
J2
CLOCK
N14
RESET CIRCUIT
H6
+3.3V OR +5V (CLAMP)
H7, H8
+1.8V
G6
+1.8V (THROUGH FILTER)
+3.3V
A12, B3, B5,
D1, D14, F6,
F9, F12, H10,
J7, K7, K11,
N5, N9, N11, P1
G7, G8
H5
A5, B9, B11,
C4, D8, D12,
F4, G9, H11,
K13, L2, N8, N13,
P2, P5, P9, P11
C5
B4
A4
D4
4.7K
4.7K
NC
APPLICATION
DEPENDENT
J3
K4
K5
E6
D6
E5
D5
A3
A2
B2
B1
C3
A1
M7
A8
G4
C6
J5
J1
EM1_COL
EM1_CRS
EM1_MDC
EM1_MDIO
EM1_RX_CLK
EM1_RXD0
EM1_RXD1
EM1_RXD2
EM1_RXD3
EM1_RXDV
EM1_RXER
EM1_TX_CLK
EM1_TX_EN
EM1_TXD0
EM1_TXD1
EM1_TXD2
EM1_TXD3
EM1_TXER
EM2_COL
EM2_CRS
EM2_MDC
EM2_MDIO
EM2_RX_CLK
EM2_RXD0
EM2_RXD1
EM2_RXD2
EM2_RXD3
EM2_RXDV
EM2_RXER
EM2_TX_CLK
EM2_TX_EN
EM2_TXD0
EM2_TXD1
EM2_TXD2
EM2_TXD3
EM2_TXER
USBP
USBN
USB_PWR_DET (GPIO22)*
HAD00
HAD01
HAD02
HAD03
HAD04
HAD05
HAD06
HAD07
HAD08
HAD09
HAD10
HAD11
HAD12
HAD13
HAD14
HAD15
HC01
HC02
HC03
HC04
HC05
HC06
HC07
HAD16
HAD17
HAD18
HAD19
HAD20
HAD21
HAD22
HAD23
HAD24
HAD25
HAD26
HAD27
HAD28
HAD29
HC08 (HRD#)
HC09 (HWR#)
HC10 (HRDY#)
HC00 (HCS0#)/GPIO32
HAD31 (HCS4#)/GPIO37
P12
N12
L11
J10
M11
L10
K10
L9
M10
P10
N10
J9
K9
L8
M9
N7
P7
L6
P6
N6
K6
M6
L5
M5
L4
P4
N4
M4
P3
N3
M3
N1
N2
M1
M2
L1
L3
M13
M12
P14
P13
J8
D00
D01
D02
D03
D04
D05
D06
D07
D08
D09
D10
D11
D12
D13
D14
D15
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
RD#
WE#
PARALLEL
EXPANSION
BUS
CS0# (Flash)
CLKI
HRST#
VGG
VDD
VDDA
CX82100
(-41/-42)
Home Network
Processor
(HNP)
196-Pin FPBGA
VDDO
VSS
VSSA
VSSO
TST0
TST1
TST2
TST3
PLLBP
BOPT (GPIO14)*
TREQA
GPIO5
GPIO6
GPIO7
GPIO8
GPIO17
GPIO18
GPIO19
GPIO20
GPIO21
GPIO24
GPIO25
GPIO26
GPIO27
GPIO31
BCLKIO/GPIO38
FCLKIO/GPIO39
MD00
MD01
MD02
MD03
MD04
MD05
MD06
MD07
MD08
MD09
MD10
MD11
MD12
MD13
MD14
MD15
MA00
MA01
MA02
MA03
MA04
MA05
MA06
MA07
MA08
MA09
MA10
MA11
MM0
MM1
MB0
MB1
MRAS#
MCAS#
MWE#
MCS#
MCLK
MCKE
I2C_DATA (GPIO15)**
I2C_CLOCK (GPIO16)**
TRST#
TCK
TMS
TDI
TDO
NC
NC
NC
NC
NC
F11
E13
F10
F14
G11
F13
G10
G14
H9
G12
G13
H14
J11
H13
H12
J14
A10
B10
D10
C10
A11
F8
C11
D11
B12
A13
C12
B13
E11
E10
A9
E9
D13
C13
B14
C14
E14
E12
E2
E3
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
DQMH
DQML
BA0
BA1
RAS#
CAS#
WE#
CS#
CLKE
CLK
Serial EEPROM
(Optional)
SDA
SCL
J4
K2
J6
K1
K3
C1
C2
D2
D3
F7
SDRAM
or
SRAM
JTAG
NC
* Dedicated GPIO signal.
** May be assigned to different application use if not
used for indicated function.
101306_072
101306C
Conexant Proprietary and Confidential Information
2-5
CX82100 Home Network Processor Data Sheet
Figure 2-4. CX82100-41/-42 HNP Pin Signals-196-Pin FPBGA
1
2
3
4
GPIO18
A
A1
A2
GPIO24
B
GPIO19
B1
B2
GPIO20
C
NC
C1
C2
NC
D
NC
D1
D2
TST2
A3
A4
GPIO17
B3
E1
E2
VDDO
VSSO
C3
C4
GPIO21
D3
F1
F2
EM1_TX_EN
G
EM1_COL
H
EM1_CRS
G1
G2
EM1_RXD3
H1
EM1_RXD2
J
J1
FCLKIO/GPIO39
K
K1
TDI
L
L1
HAD28
M
M1
HAD26
N
N1
HAD24
P
P1
VDDO
H2
CLKI
J2
EM1_TXD3
E3
E4
TCK
K2
VSSO
L2
HAD27
M2
HAD25
N2
VSSO
P2
F3
G3
H3
TDO
L3
HAD29
M3
HAD23
N3
HAD22
P3
HAD21
6
TRST#
J4
VSSO
B5
VDDO
C5
TST0
D5
GPIO8
E5
GPIO7
F5
EM1_TXD1
G5
A6
EM2_MDC
B6
H5
VSSA
J5
HAD17
L4
HAD20
M4
HAD19
N4
HAD18
P4
K5
TREQA
L5
HC07
M5
HAD16
N5
VDDO
P5
VSSO
8
9
GPIO26
A7
EM2_RXD1
A8
EM2_COL
B7
B8
C6
GPIO6
D6
GPIO5
E6
VDD0
F6
VDDA
G6
H6
TMS
J6
K6
HC02
L6
HC06
M6
HC04
N6
HC03
P6
C7
C8
MB0
B9
C9
D7
D8
EM2_RXER
USBN
E7
E8
EM2_RXD3
MA05
F7
F8
NC
VSS
G7
G8
VSS
VDD
H7
H8
D9
USBP
E9
MB1
F9
VDDO
G9
VSSO
H9
MD08
VDD
HAD31 (HCS4#)/GPIO37
J7
J8
EM1_MDC
K7
K8
VDDO
HAD13
L7
EM1_RXDV
L8
EM1_MDIO
M7
M8
GPIO25
VSS0
N7
HAD15
A10
MA01
B10
MA03
C10
USB_PWR_DET (GPIO22)
VSSO
MA02
EM2_RXDV
VDDO
10
N8
EM1_RXER
P7
HC01
P8
11
MA00
A9
VSSO
EM2_RXD2
GPIO31
EM2_RX_CLK
BCLKIO/GPIO38
BOPT (GPIO14)
HC05
K4
7
EM2_MDIO
A5
EM1_RX_CLK
EM1_RXD0
VGG
H4
EM1_RXD1
K3
GPIO27
G4
EM1_TXER
PLLBP
VSSO
F4
EM1_TXD2
J3
TST3
D4
EM1_TX_CLK
GPIO16
EM1_TXD0
F
TST1
B4
VDDO
NC
I2C_DATA (GPIO15)
E
5
J9
HAD11
K9
HAD12
L9
HAD07
M9
HAD14
N9
VDDO
P9
VSSO
D10
MM1
E10
MD02
F10
MD06
G10
VDDO
H10
HAD03
J10
HAD06
K10
HAD05
L10
HAD08
M10
HAD10
N10
HAD09
P10
12
VDDO
A11
MA04
B11
VSSO
C11
MA06
D11
MA07
E11
MM0
F11
MD00
G11
MD04
H11
VSSO
MD12
K11
VDDO
M11
HAD04
N11
VDDO
P11
A14
MA09
B12
MWE#
B13
B14
MA11
MA10
C12
MCS#
C13
C14
MCAS#
VSSO
D12
VDDO
D13
D14
MRAS#
MCKE
E12
MCLK
E13
E14
MD01
VDDO
F12
MD03
F13
F14
MD05
MD09
G12
MD07
G13
G14
MD10
MD14
H12
MD11
H13
EM2_CRS
J12
H14
MD13
MD15
J13
J14
EM2_TX_EN
EM2_TXD1
EM2_TXER
K12
K13
EM2_TXD2
L11
HAD02
A13
MA08
J11
14
EM2_RXD0
A12
L12
VSSO
K14
EM2_TXD3
L13
L14
EM2_TX_CLK
HC09 (HWR#)
EM2_TXD0
M12
HAD01
N12
HAD00
P12
VSSO
TOP VIEW
2-6
13
Conexant Proprietary and Confidential Information
M13
M14
HC08 (HRD#)
N13
VSSO
P13
HRST#
N14
HC10 (HRDY#)
P14
HC00 (HCS0#)/GPIO32
101306_073
101306C
CX82100 Home Network Processor Data Sheet
Table 2-2. CX82100-41/-42 HNP Pin Signals – 196-Pin FPBGA
Pin
Signal
Pin
A1
GPIO24
D8
A2
GPIO18
D9
A3
GPIO17
D10
A4
TST2
D11
A5
VSSO
D12
A6
EM2_MDIO
D13
A7
EM2_RXD1
D14
A8
GPIO26
E1
A9
MB0
E2
A10
MA00
E3
A11
MA04
E4
A12
VDDO
E5
A13
MA09
E6
A14
EM2_RXD0
E7
B1
GPIO20
E8
B2
GPIO19
E9
B3
VDDO
E10
B4
TST1
E11
B5
VDDO
E12
B6
EM2_MDC
E13
B7
EM2_RXD2
E14
B8
EM2_COL
F1
B9
VSSO
F2
B10
MA01
F3
B11
VSSO
F4
B12
MA08
F5
B13
MA11
F6
B14
MWE#
F7
C1
NC
F8
C2
NC
F9
C3
GPIO21
F10
C4
VSSO
F11
C5
TST0
F12
C6
GPIO31
F13
C7
EM2_RXDV
F14
C8
EM2_RX_CLK
G1
C9
USB_PWR_DET (GPIO22) G2
C10
MA03
G3
C11
MA06
G4
C12
MA10
G5
C13
MCAS#
G6
C14
MCS#
G7
D1
VDDO
G8
D2
NC
G9
D3
NC
G10
D4
TST3
G11
D5
GPIO8
G12
D6
GPIO6
G13
D7
EM2_RXER
G14
* Different from CX82100-11/-12/-51/-52.
101306C
Signal
VSSO
USBP
MA02
MA07
VSSO
MRAS#
VDDO
EM1_TX_CLK
I2C_DATA (GPIO15)
I2C_CLOCK (GPIO16)
EM1_TXD3
GPIO7
GPIO5
EM2_RXD3
USBN
MB1
MM1
MM0
MCKE
MD01
MCLK
EM1_TX_EN
EM1_TXD0
EM1_TXD2
VSSO
EM1_TXD1
VDDO
NC
MA05
VDDO
MD02
MD00
VDDO
MD05
MD03
EM1_COL
EM1_CRS
EM1_TXER
GPIO27
EM1_RX_CLK
VDDA
VSS
VSS
VSSO
MD06
MD04
MD09
MD10
MD07
Pin
H1
H2
H3
H4
H5
H6
H7
H8
H9
H10
H11
H12
H13
H14
J1
J2
J3
J4
J5
J6
J7
J8
J9
J10
J11
J12
J13
J14
K1
K2
K3
K4
K5
K6
K7
K8
K9
K10
K11
K12
K13
K14
L1
L2
L3
L4
L5
L6
L7
Signal
EM1_RXD2
EM1_RXD3
EM1_RXD1
EM1_RXD0
VSSA
VGG
VDD
VDD
MD08
VDDO
VSSO
MD14
MD13
MD11
FCLKIO/GPIO39
CLKI
PLLBP
TRST#
BCLKIO/GPIO38
TMS
VDDO
HAD31 (HCS4#)/GPIO37
HAD11
HAD03
MD12
EM2_CRS
EM2_TX_EN
MD15
TDI
TCK
TDO
BOPT (GPIO14)
TREQA
HC05
VDDO
EM1_MDC
HAD12
HAD06
VDDO
EM2_TXD1
VSSO
EM2_TXER
HAD28
VSSO
HAD29
HAD17
HC07
HC02
EM1_RXDV
Pin
L8
L9
L10
L11
L12
L13
L14
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
M12
M13
M14
N1
N2
N3
N4
N5
N6
N7
N8
N9
N10
N11
N12
N13
N14
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
P13
P14
Conexant Proprietary and Confidential Information
Signal
HAD13
HAD07
HAD05
HAD02
EM2_TXD2
EM2_TX_CLK
EM2_TXD3
HAD26
HAD27
HAD23
HAD20
HAD16
HC06
GPIO25
EM1_MDIO
HAD14
HAD08
HAD04
HC09 (HWR#)
HC08 (HRD#)
EM2_TXD0
HAD24
HAD25
HAD22
HAD19
VDDO
HC04
HAD15
VSSO
VDDO
HAD10
VDDO
HAD01
VSSO*
HRST#
VDDO
VSSO
HAD21
HAD18
VSSO
HC03
HC01
EM1_RXER
VSSO
HAD09
VSSO
HAD00
HC00 (HCS0#)/GPIO32*
HC10 (HRDY#)
2-7
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions
Pin Signal
Pin No.
I/O
I/O Type
Power and Ground
Signal Name/Description
VDD
H7, H8
P
PWR
Core Supply Voltage. Connect to +1.8V.
VDDA
G6
P
PWR
Supply Voltage. Connect to +1.8V through filter.
VDDO
A12, B3, B5,
D1, D14, F6,
F9, F12, H10,
J7, K7, K11,
N5, N9, N11,
P1
P
PWR
I/O Supply Voltage. Connect to +3.3V.
VDDO
N13 (CX82100
-11/-12/-51/-52)
P
PWR
I/O Supply Voltage. Connect to +3.3V.
VGG
H6
R
REF
I/O Clamp Power Supply. Connect to +5V if available, otherwise
connect to +3.3V.
VSS
G7, G8
G
GND
Core Ground. Connect to digital ground.
VSSA
H5
G
GND
Ground. Connect to digital ground.
VSSO
A5, B9, B11,
C4, D8, D12,
F4, G9, H11,
K13, L2, N8,
P2, P5, P9,
P11
G
GND
I/O Ground. Connect to digital ground.
VSSO
N13 (CX82100
–41/-42)
G
GND
I/O Ground. Connect to digital ground.
VSSO
P13 (CX82100
-11/-12/-51/-52)
G
GND
I/O Ground. Connect to digital ground.
HRST#
N14
I
Ith
Reset. Active low input asserted for at least 100 µs to reset the
HNP. All hardware registers are initialized to their default state.
Upon de-assertion of HRST#, the HNP executes the Boot Loader
code (see BOPT pin) then starts processing of the application
code.
BOPT (GPIO14)
K4
I/O
Itpu/Ot4
Boot Loader Option. Upon de-assertion of the HRST# signal, the
Boot Loader code executes from internal ROM (BOPT pin high, i.e.,
open) or Flash ROM (BOPT pin low, i.e., connected to GND).
System Control
Connect HRST# to a reset circuit.
For normal operation, typically connect BOPT to GND through
4.7 kΩ to execute Boot Loader from Flash ROM.
PLLBP
J3
I
PLL Bypass Mode Select. If the PLLBP pin is high (test mode),
pins FCLKIO and BCLKIO are FCLKIO and BCLKIO inputs only
(i.e., not GPIO pins). If the PLLBP pin is low (normal operation),
pins FCLKIO and BCLKIO operate as FCLKIO/GPIO39 and
BCLKIO/GPIO38 as selected in the GPIO_OPT register).
Itpd
For normal operation, connect PLLBP to GND through 4.7 kΩ.
Clock Interface
CLKI
J2
I
Ith
Clock In. Connect to 35.328 MHz voltage controlled crystal
oscillator (VCXO) output through 51 Ω.
BCLKIO/GPIO38
J5
I/O
Itpu/Ot4
Bit Clock I/O. If PLLBP pin is high (test mode), this pin is BCLKIO
input only (i.e., not GPIO38). If the PLLBP pin is low (normal
operation), this pin can be used as GPIO38 or BCLKIO (see
GPIO_OPT register bit 6 and PLLBP pin).
For normal operation, BCLKIO output supplies the 25 MHz to the
LAN1 and LAN2 interfaces. Connect BCLKIO to the LAN 1 X1 pin
and to the LAN2 X1 pin though a single 51 Ω resistor.
FCLKIO/GPIO39
2-8
J1
I/O
Itpu/Ot4
Frame Clock I/O. If the PLLBP pin is high (test mode), this pin is
FCLKIO input only (i.e., not GPIO39). If the PLLBP pin is low
(normal operation), this pin can be used as GPIO39 or FCLKIO
(see GPIO_OPT register bit 7 and PLLBP pin).
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions (Continued)
Pin Signal
Pin No.
I/O
I/O Type
USB Interface
Signal Name/Description
USB Port. USBP and USBN are the differential data positive and
negative signals of the USB port. Connect USBP and USBN to
USB +Data and -Data, respectively, through 24 Ω, and optionally
through a quick switch in order to isolate the USBP and USBN from
the USB during suspend mode.
USBP
USBN
D9
E8
I/O
Iu/Ou
USB_PWR_DET
(GPIO22)
C9
I
It/Ot4
TRST#
J4
I
Itpu
JTAG Reset. A high-to-low transition on this signal forces the TAP
controller into a logic reset state. This pin has an internal pullup.
TCK
K2
I
Itpu
JTAG Test Clock. This is the boundary scan clock input signal.
This pin has an internal pullup.
TMS
J6
I
Itpu
TDI
K1
I
Itpu
TDO
K3
O
Otts4
USB Power Detect. Active high input used to detect presence of
+5 V at the USB connector.
JTAG Interface
Leave open for normal operation.
Leave open for normal operation.
JTAG Test Mode Select. This signal controls the operation of the
TAP controller. This pin has an internal pull-up.
Leave open for normal operation.
JTAG Test Input. This signal contains serial data that is shifted in
on the rising edge of TCK. The pin has an internal pullup.
Leave open for normal operation.
JTAG Test Output Data. This is the three-stateable boundary scan
data output signal from the MCU, and it is shifted out on the falling
edge of TCK.
Leave open for normal operation.
Test Interface Controller (TIC) [Factory Test Only]
TREQA
101306C
K5
I
Itpd
Reserved. This pin is connected to internal circuitry. Leave open.
Conexant Proprietary and Confidential Information
2-9
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions (Continued)
Pin Signal
EM1_COL
Pin No.
G1
I/O
I
I/O Type
EMAC 1 Interface
Itpd
Signal Name/Description
LAN 1 Collision Indication. In full-duplex mode, EM1_COL is
ignored. In half-duplex mode, EM1_COL is asserted by the LAN 1
EPHY upon detection of a collision on the medium, and remains
asserted while the collision condition persists.
For MII, connect to LAN 1 EPHY COL pin through 51 Ω.
For 7-WS interface, connect to LAN 1 EPHY COL pin through
51 Ω.
EM1_CRS
G2
I
Itpd
LAN 1 Carrier Sense. In full-duplex mode, EM1_CRS is ignored.
In half-duplex mode, EM1_CRS is asserted by the LAN 1 EPHY
when either the transmit or receive medium is not idle. It is deasserted by the LAN 1 EPHY when both the transmit and receive
media are idle. The LAN 1 EPHY ensures that EM1_CRS remains
asserted throughout the duration of a collision condition, i.e., when
EM1_COL = 1.
For MII, connect to LAN 1 EPHY CRS pin through 51 Ω.
For 7-WS interface, connect to LAN 1 EPHY CRS pin through
51 Ω.
EM1_MDC
K8
O
Otts4
LAN 1 Management Data Clock. EM1_MDC is sourced by the
Station Management entity (STA) of the EMAC as the timing
reference for transfer of information on the EM1_MDIO signal.
EM1_MDC is aperiodic and has no maximum high or low times.
The minimum high and low time for EM1_MDC is 160 ns each. The
minimum period for EM1_MDC is 400 ns.
For MII, connect to LAN 1 EPHY COL pin.
For 7-WS interface, leave open (not used).
EM1_MDIO
M8
I/O
Itpd/Ot4
LAN 1 Serial Management Data Input/Output. EM1_MDIO is a
bidirectional signal used to transfer control and status information
between the LAN 1 EPHY and the STA in the EMAC.
For MII, connect to LAN 1 EPHY MDIO pin and to +3.3V through
4.7 KΩ.
For 7-WS interface, connect to LAN 1 EPHY MDIO pin and to
+3.3V through 4.7 KΩ.
EM1_RX_CLK
G5
I
Itpd
LAN 1 Receive Clock. A 10 MHz square wave synchronized to the
Receive Data and only active while receiving an input bit stream.
EM1_RX_CLK is sourced by the LAN 1 EPHY. It provides the
timing reference for the transfer of EM1_RXDV, EM1_RXD[3:0],
and EM1_RXER signals from LAN 1 EPHY. The LAN 1 EPHY can
either recover EM1_RX_CLK from the received data or it may
derive EM1_RX_CLK from a nominal clock (e. g., the
EM1_TX_CLK reference). If loss of received signal from the
medium causes the LAN 1 EPHY to lose the recovered clock
reference, the LAN 1 EPHY must source the clock from a nominal
clock reference. Transitions from nominal clock to recovered clock
or vice versa are made only when EM1_RXDV is de-asserted.
During the interval between the assertion of EM1_CRS and the
assertion of EM1_RXDV at the beginning of a frame, the LAN 1
EPHY may extend a cycle of EM1_RX_CLK by holding it either
high or low until the LAN 1 EPHY has locked to the recovered
clock. Following the de-assertion of EM1_RXDV at the end of a
frame, the LAN 1 EPHY may extend a cycle of EM1_RX_CLK by
holding it either high or low for an interval not to exceed twice the
nominal clock period.
For MII, connect to LAN 1 EPHY RX_CLK pin 51 Ω.
For 7-WS interface, connect to LAN 1 EPHY RX_CLK pin 51 Ω.
2-10
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions (Continued)
Pin Signal
EM1_RXD[3:0]
Pin No.
H2, H1, H3, H4
I/O
I
I/O Type
Itpd
Signal Name/Description
LAN 1 Receive Data. For MII interface, EM1_RXD[3:0] are the 4bit parallel receive data lines. Connect EM1_RXD[3:0] to LAN 1
PHY RXD[3:0] through 51 Ω.
For 7-WS interface, EM1_RXD3 is the Receive input bit stream.
Connect EM1_RXD3 to LAN 1 EPHY RXD pin through 51 Ω.
EM1_RXD[2:0] are not used and should be left open.
EM1_RXDV
L7
I
Itpd
LAN 1 Receive Data Valid. EM1_RXDV is asserted by the LAN 1
EPHY to indicate that the nibble on EM1_RXD[3:0] is valid. It
remains asserted for the received frame duration with the exception
of the preamble. It may or may not be asserted during the
preamble. EM1_RXDV is de-asserted prior to the first
EM1_RX_CLK period that follows the final nibble of a received
frame. When EM1_RXDV is de-asserted, the EMAC ignores
EM1_RXD[3:0].
For MII, connect to LAN 1 EPHY RX_DV pin through 51 Ω.
For 7-WS interface, leave open (not used).
EM1_RXER
P8
I
Itpd
LAN 1 Receive Error. EM1_RXER is driven by the LAN 1 EPHY. It
is asserted for one or more EM1_RX_CLK periods to indicate that
an error was detected somewhere in the frame presently being
transferred from the LAN 1 EPHY. The RMAC hardware will detect
this condition and declare such a frame invalid. While EM1_RXDV
is deasserted, EM1_RXER has no effect on the Reconciliation
sublayer (which lies between the MII and the MAC), therefore, it
has no effect on the MAC as well.
For MII, connect to LAN 1 EPHY RX_RXER pin through 51 Ω.
For 7-WS interface, leave open (not used).
EM1_TX_CLK
E1
I
Itpd
Transmit Clock. EM1_TX_CLK is sourced by the LAN 1 EPHY. It
provides the timing reference for the transfer of EM1_TX_EN,
EM1_TXD[3:0], and EM1_TXER signals to LAN 1 EPHY.
For MII, connect to LAN 1 EPHY TX_CLK pin through 51 Ω.
For 7-WS interface, connect to LAN PHY TX_CLK pin through
51 Ω.
EM1_TX_EN
F1
O
Otts4
LAN 1 Transmit Enable. EM1_TX_EN is driven off the rising edge
and sampled on the rising edge of EM1_TX_CLK. It indicates that
the HNP is presenting nibbles on the MII for transmission.
EM1_TX_EN is asserted when the HNP has data to transmit over
the medium and remains asserted for the duration of the entire
transmitted frame. The HNP de-asserts EM1_TX_EN prior to the
rising edge of EM1_TX_CLK following the final nibble of a frame.
For MII, connect to LAN 1 EPHY TX_EN pin.
For 7-WS interface, connect to LAN 1 EPHY TX_EN pin.
EM1_TXD[3:0]
E4, F3, F5, F2
O
Otts4
LAN 1 Transmit Data. For MII interface, EM1_TXD[3:0] are the 4bit parallel transmit data lines. EM1_TXD[3:0] is driven off the rising
edge and sampled on the rising edge of EM1_TX_CLK. The entire
transmitted frame data is presented by the EM1_TXD[3:0] signal
lines, and commences on the first leading edge of EM1_TX_CLK
subsequent to EM1_TX_EN assertion. For each EM1_TX_CLK
period in which EM1_TX_EN is asserted, EM1_TXD[3:0] are
accepted for transmission by the LAN 1 EPHY. All fields except for
the FCS are transmitted with the least significant nibble first. The
LSb of each nibble is placed on EM1_TXD0. Connect
EM1_TXD[3:0] to LAN 1 EPHY TXD[3:0] through 51 Ω.
For 7-WS interface, EM1_TXD3 is the transmit input bit stream.
Connect EM1_TXD3 to LAN 1 EPHY TXD pin. EM1_TXD[2:0] are
not used and should be left open.
101306C
Conexant Proprietary and Confidential Information
2-11
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions (Continued)
Pin Signal
EM1_TXER
Pin No.
G3
I/O
O
I/O Type
Otts4
Signal Name/Description
LAN 1 Transmit Coding Error. When EM1_TXER is asserted for
one or more EM1_TX_CLK periods while EM1_TX_EN is also
asserted, the LAN 1 EPHY emits one or more symbols that are not
part of the valid data or delimiter set somewhere in the frame being
transmitted. Permissible encoding of EM1_TXER with EM1_TX_EN
and EM1_TXD[3:0] are:
EM1_TX_EN EM1_TXER EM1_TXD[3:0]
Description
0
0
0
1
0000–1111 Normal Inter-Frame
0000–1111 Reserved
1
0
0000–1111 Normal Data
Transmission
1
1
0000–1111 Transmit Error
Propagation
For MII, connect to LAN 1 EPHY TXER pin.
For 7-WS interface, leave open.
EMAC 2 Interface
The EMAC 2 interface is the same as the EMAC 1 interface. Refer to the EMAC1 interface for signal definitions.
EM2_COL
B8
I
Itpd
LAN 2 Collision Indication.
EM2_CRS
J12
I
Itpd
LAN 2 Carrier Sense.
EM2_MDC
B6
O
Otts4
LAN 2 Management Data Clock.
EM2_MDIO
A6
I/O
Itpd/Ot4
LAN 2 Serial Management Data Input/Output.
EM2_RX_CLK
C8
I
Itpd
LAN 2 Receive Clock.
EM2_RXD[3:0]
E7, B7, A7,
A14
I
Itpd
LAN 2 Receive Data.
EM2_RXDV
C7
I
Itpd
LAN 2 Receive Data Valid.
EM2_RXER
D7
I
Itpd
LAN 2 Receive Error
EM2_TX_CLK
L13
I
Itpd
LAN 2 Transmit Clock.
EM2_TX_EN
J13
O
Otts4
LAN 2 Transmit Enable.
EM2_TXD[3:0]
L14, L12, K12,
M14
O
Otts4
LAN 2 Transmit Data.
EM2_TXER
K14
O
Otts4
LAN 2 Transmit Error.
2-12
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions (Continued)
Pin Signal
HAD[15:0]
Pin No.
I/O
I/O Type
Signal Name/Description
Host Parallel Expansion Bus Interface
I/O
L3, L1, M2, M1,
N2, N1, M3,
N3, P3, M4,
N4, P4, L4, M5
O
HC[07:01]
L5, M6, K6, N6,
P6, L6, P7
O
It/Ot4
Address Lines 6-0.
HC08 (HRD#)
M13
O
It/Ot4
Read Enable. Active low read enable asserted when data is
transferred from the selected device onto the data bus.
HAD[29:16]
Itpu/Ot4
Data Lines 15-00.
N7, M9, L8, K9,
J9, N10, P10,
M10, L9, K10,
L10, M11, J10,
L11, N12, P12
Typically, connect to Flash ROM D[15:0], respectively.
It/Ot4
Address Lines 20-7.
Typically, connect to Flash ROM A[20:10], respectively.
Typically, connect to Flash ROM A[6:0], respectively.
Typically, connect through 51 Ω as HRD# to Flash ROM OE# and
through 51 Ω as HRDUA# to UART OE#.
HC09 (HWR#)
M12
O
It/Ot4
Write Enable. Active low write enable asserted when data is
transferred from the data bus into the selected device.
Typically, connect through 51 Ω as HWR# to Flash ROM WR# and
through 51 Ω as HWRUA# to UART WR#.
HC00 (HCS0#)/
GPIO32
P14 (CX82100
-11/-12/-51/-51)
O
It/Ot4
P13 (CX82100
-41/-42)
Flash ROM Chip Enable. Active low output enables optional Flash
ROM when asserted.
Connect to Flash ROM CE#.
HC10 (HRDY#)
P14 (CX82100
-41/-42)
I
Itpd/Ot4
Application Dependent.
HAD31
(HCS4#)/
GPIO37
J8
O
It/Ot4
Application Dependent.
I2C_DATA
(GPIO15)
E2
I/O
Itpu/Ot4
Serial EEPROM Data. I2C_DATA is a bidirectional data line used
to transfer data into and out of the EEPROM. Connect to the
EEPROM SDA pin and to +3.3V through 4.7K Ω.
I2C_CLOCK
(GPIO16)
E3
O
Itpu/Ot4
Serial EEPROM Shift Clock. The I2C_CLOCK output is used to
clock all data into and out of the EEPROM. Connect to the
EEPROM SCL pin and to +3.3V through 4.7K Ω.
Serial EEPROM Interface
101306C
Conexant Proprietary and Confidential Information
2-13
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions (Continued)
Pin Signal
MA[11:00]
MD[15:00]
MM0
Pin No.
I/O
B13, C12, A13,
B12, D11, C11,
F8, A11, C10,
D10, B10, A10
O
J14, H12, H13,
J11, H14, G13,
G12, H9, G14,
G10, F13, G11,
F14, F10, E13,
F11
I/O
E11
O
I/O Type
SDRAM/SRAM Interface
Ot4
Signal Name/Description
SDRAM/SRAM Address Lines. Twelve-bit multiplexed row and
column address bus addresses up to 8 MB of data.
Connect to SDRAM/SRAM A[11:0], respectively, through 51 Ω.
Itpu/Ot4
SDRAM/SRAM Data Lines. Sixteen-bit bidirectional data bus.
Connect to SDRAM/SRAM D[15:0], respectively, through 51 Ω.
Ot4
SDRAM Input/Output Mask 0/SRAM A12.
For SDRAM interface, this signal is a mask for write access.
Connect to SDRAM I/O Mask Low input through 51 Ω.
For SRAM interface, this signal is address A12 output, Connect to
SRAM A12 input through 51 Ω.
MM1
E10
O
Ot4
SDRAM Input/Output Mask 1/SRAM A13.
For SDRAM interface, this signal is a mask for write access.
Connect to SDRAM I/O Mask High input through 51 Ω.
For SRAM interface, this signal is address A13 output. Connect to
SRAM A13 input through 51 Ω.
MB0
A9
O
Ot4
SDRAM Bank Address Select 0/SRAM A14.
For SDRAM interface, this signal selects the active bank. Connect
to SDRAM/SRAM Bank Address Select 0 input through 51 Ω for 8
MB SDRAM; leave open for 2 MB SDRAM.
For SRAM interface, this signal is address A14 output. Connect to
SRAM A14 input through 51 Ω.
MB1
E9
O
Ot4
SDRAM Bank Address Select 1/SRAM A15.
For SDRAM interface, this signal selects the active bank. Connect
to SDRAM/SRAM Bank Address Select 1 input through 51 Ω.
For SRAM interface, this signal is address A15 output. Connect to
SRAM A15 input through 51 Ω.
MCS#
C14
O
Ot4
SDRAM Memory Chip Select/SRAM 2 Chip Enable.
For SDRAM interface, this active low output enables the SDRAM
command decoder. Connect to SDRAM CS# input through 51 Ω.
For SRAM interface, this active low output enables SRAM 2. If one
SRAM is used, leave open; if two SRAMs are used, connect to
SRAM 2 CE# input through 51 Ω.
MRAS#
D13
O
Ot4
SDRAM Row Address Strobe/SRAM 1 Chip Enable.
For SDRAM interface, this active low output starts SDRAM access
with strobe of row address. Connect to SDRAM RAS# input
through 51 Ω.
For SRAM interface, this active low output enables SRAM 1. If one
SRAM is used, connect to SRAM CE# input; if two SRAMs are
used, connect to SRAM 1 CE# input through 51 Ω.
MCAS#
C13
O
Ot4
SDRAM Column Address Strobe/SRAM A16.
For SDRAM interface, this active low output strobes column
address and data bytes. Connect to SDRAM CAS# input through
51 Ω.
For SRAM interface, this signal is address A16 output. Connect to
SRAM A16 input through 51 Ω.
2-14
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 2-3. CX82100 HNP Pin Signal Definitions (Continued)
Pin Signal
Pin No.
I/O
I/O Type
Signal Name/Description
SDRAM/SRAM Interface (Continued)
MWE#
B14
O
Ot4
SDRAM/SRAM Memory Write Enable. This active low output
enables write access to SDRAM/SRAM. Connect to SDRAM/SRAM
WE# input through 51 Ω.
MCKE
E12
O
Ot4
SDRAM Clock Enable/SRAM A17.
For SDRAM interface, this active high output enables the SDRAM
clock. Connect to SDRAM CLKE input through 51 Ω.
For SRAM interface, this signal is address A17 output. Connect to
SRAM A17 input through 51 Ω.
MCLK
E14
O
Ot4
SDRAM Clock.
For SDRAM interface, this signal supplies the clock to the SDRAM.
Connect to SDRAM CLK input through 51 Ω. All SDRAM signals
are sampled on the positive (rising) edge.
For SRAM interface, this pin not used. Leave open.
General Purpose Input/Output (GPIO)
Recommended GPIO usage is listed in Table 2-9.
GPIO31
C6
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO27
G4
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO26
A8
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO24
A1
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO21
C3
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO20
B1
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO19
B2
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO18
A2
I/O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO17
A3
I/O
Itpu/Ot4
Application Dependent. Reset state = low.
GPIO8
D5
I/O
Itpu/Ot4
Application Dependent. Reset state = low.
GPIO7
E5
O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO6
D6
O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
GPIO5
E6
O
Itpu/Ot4
Application Dependent. Reset state = Z(pu).
Test
TST[3:0]
D4, A4, B4, C5
Test Pins. Test configuration pins used only during the
manufacturing/test process.
For normal operation, connect TST[3:0] to ground.
No Connect Pins (Balls)
NC
C1, C2, D2, D3,
F7
No Connect. These pins (solder balls) are not connected to
internal circuitry. Leave open.
Notes:
1. I/O Types: See Table 2-4.
2. Unless otherwise specified, output pins or input pins with internal pulldowns or pullups can be left open if not used.
3. The Reset State notation indicates the state of the pin upon power-on and whether or not it has an internal pullup. Z means
a high impedance state (an input) and pu/pd means the pin has an internal pullup/pulldown.
101306C
Conexant Proprietary and Confidential Information
2-15
CX82100 Home Network Processor Data Sheet
Table 2-4. CX82100 HNP Input/Output Type Descriptions
I/O Type
It
Digital input, +5V tolerant, CIN = 8 pF
Description
It/Ot4
Digital input, +5V tolerant, CIN = 8 pF/Digital output, 4 mA, ZINT = 80 Ω
Ith
Digital input, +5V tolerant, with hysteresis, CIN = 8 pF
Ithpd
Digital input, +5V tolerant, with hysteresis, 75k Ω pull-down, CIN = 8 pF
Itpd
Digital input, +5V tolerant, 75k Ω pull-down, CIN = 8 pF
Itpu
Digital input, +5V tolerant, 75k Ω pull-up, CIN = 8 pF
Itpu/Ot4
Digital input, +5V tolerant, 75k Ω pull-up, CIN = 8 pF/Digital output, 4 mA, ZINT = 80 Ω
Otts4
Digital output, 3-State, 4 mA, ZINT =80 Ω
Iu/Ou
Input, USB receiver/Output, USB driver
Notes:
See DC characteristics in Table 2-5.
I/O Type corresponds to the device Pad Type. The I/O column in tables refers to signal I/O direction used in the application.
2-16
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
2.2
CX82100 HNP Electrical and Environmental Specifications
2.2.1
DC Electrical Characteristics
CX82100 HNP DC electrical characteristics are listed in Table 2-5.
Table 2-5. CX82100 HNP DC Electrical Characteristics
Symbol
Min.
Input high voltage
Input low voltage
Input leakage current
Parameter
VIH
VIL
IIL/IIH
2.0
-0.5
Input leakage current (with internal pulldowns) 2
IIL/IIH
µA
Input leakage current (with internal pullups) 2
IIL/IIH
µA
Internal pullup/pulldown resistance
Rpu/Rpd
Typ.
Max.
Units
VGG + 0.5
0.8
VDC
VDC
µA
50
Output high voltage
VOH
2.4
Output low voltage
VOL
Input/output capacitance
CINOUT
Notes:
1. Test Conditions (unless otherwise stated):
VDDcore = +1.8 ± 0.15 VDC
VDDO = +3.3 ± 0.3 VDC;
VIN (MAX) = +3.6V for VGG connected to +3.3V;
200
VDDO
0.4
3
kΩ
VDC
VDC
pF
Test Conditions1
VIN = 0 for Min.
VIN = VIN (MAX) for Max.
VIN = 0 for Min.
VIN = VIN (MAX) for Max.
VIN = 0 for Min.
VIN = VIN (MAX) for Max.
IOH = 4 mA
IOL = 4 mA
VIN (MAX) = +5.25V for VGG connected to +5V.
2.
3.
Current flow out of the device is shown as minus.
Stresses above those listed may cause permanent device failure. Functionality at or above these limits is not implied.
Exposure to absolute maximum ratings for extended periods of time may affect device reliability.
101306C
Conexant Proprietary and Confidential Information
2-17
CX82100 Home Network Processor Data Sheet
2.2.2
Operating Conditions, Absolute Maximum Ratings, and Power Consumption
CX82100 HNP operating conditions are specified in Table 2-6.
CX82100 HNP absolute maximum ratings are stated in Table 2-7.
CX82100 HNP power consumption is listed in Table 2-8.
Table 2-6. CX82100 HNP Operating Conditions
Parameter
Core circuits supply voltage
I/O circuits supply voltage
I/O clamp voltage
Operating ambient temperature
Symbol
VDD
VDDO
VGG*
TA
Min
1.65
3.0
Typ
1.8
3.3
0
Max
1.95
3.6
Units
VDC
VDC
VDC
70
°C
*Connect VGG to the highest signaling level being used to drive input signals, i.e. +3.3 V or +5 V.
Table 2-7. CX82100 HNP Absolute Maximum Ratings
Parameter
Core circuits supply voltage
I/O circuits supply voltage
Input voltage
Voltage applied to outputs in high
impedance (Off) state
Storage temperature
Symbol
VDD
VDDO
VIN
Min
-0.35
-0.35
-0.35
Max
2.0
3.7
VGG + 0.35*
Units
VDC
VDC
VDC
VHZ
-0.35
VGG + 0.35*
VDC
TS
-55
125
°C
* VGG = +3.3 V ± 0.3 V or +5 V ± 0.25 V.
Caution: Handling CMOS Devices
These devices contain circuitry to protect the inputs against damage due to high static
voltages. However, normal precautions should be taken to avoid application of any
voltage higher than maximum rated voltage.
An unterminated input can acquire unpredictable voltages through coupling with stray
capacitance and internal crosstalk. Both power dissipation and device noise immunity
degrades. Therefore, all inputs should be connected to an appropriate supply voltage.
Input signals should never exceed the voltage range from 0.5V or more negative than
GND to 0.5V or more positive than VDD. This prevents forward biasing the input
protection diodes and possibly entering a latch up mode due to high current transients.
Table 2-8. CX82100 HNP Power Consumption
Typical
Maximum
Current (mA)
Current (mA)
85
105
15
25
VDD = +1.8 VDC for typical values;
VDD = +1.95 VDC for maximum values.
VDDO = +3.3 VDC for typical values;
VDDO = +3.6 VDC for maximum values.
Supply Voltage
VDD
VDDO
Test conditions:
2-18
Typical
Power (mW)
155
45
Conexant Proprietary and Confidential Information
Maximum
Power (mW)
205
90
101306C
CX82100 Home Network Processor Data Sheet
2.3
Optional GPIO and Host Signal Usage
Optional GPIO and host signal usage is listed in Table 2-9.
Recommended GPIO signals are described in Table 2-10.
Table 2-9. CX82100 HNP Recommended GPIO and Host Signal Use
Pin Name
Pin
Default Use
Recommended Use
Signal Label
Reset
State
Z(pu)
Z(pu)
High
High
Z(pu)
Z(pu)
Z(pu)
Z(pu)
Z(pu)
Z
Z(pu)
Z(pu)
Z(pu)
Z(pu)
Low
Z(pu)
Z(pu)
Z(pu)
Low
Z(pu)
Z(pu)
Z(pu)
Notes
FCLKIO/GPIO39
J1
GPIO39
BCLKIO/GPIO38
J5
GPIO38
HAD31 (HCS4#)/GPIO37
J8
HAD31 (HCS4#)
HCS4#:
5
HC00 (HCS0#)/GPIO32
P14 HC00 (HCS0#)
HCS0#: Flash ROM CE#
2, 5
GPIO31
C6
—
3
GPIO27
G4
—
3
GPIO26
A8
—
3
GPIO25
M7
—
3
GPIO24
A1
—
3
USB_PWR_DET (GPIO22)
C9
—
USB Power Detect
USB_PWR_DET
2, 6
GPIO21
C3
—
3
GPIO20
B1
—
LAN 1 Reset
LAN1_RST#
3
GPIO19
B2
—
3
GPIO18
A2
—
3
GPIO17
A3
—
3, 5
I2C_CLOCK (GPIO16)
E3
—
Serial EEPROM Shift Clock
I2C_CLOCK
2
I2C_DATA (GPIO15)
E2
—
Serial EEPROM Data
I2C_DATA
2
BOPT (GPIO14)
K4
—
Boot Loader Option
BOPT
2
GPIO8
D5
—
3, 5
GPIO7
E5
—
Ready Indicator
LED_READY
3
GPIO6
D6
—
LAN 2 Reset
LAN2_RST#
3
GPIO5
E6
—
3
Notes:
1. Refer to applicable reference design information for exact GPIO use.
2. Recommended system use. See Table 2-2 for signal definition.
3. Recommended application use. See Table 2-4 for signal definition.
4. The Reset State column indicates the state of the pin upon power-on and whether or not it has an internal pullup. Z means a
high impedance state (an input) and pu/pd means the pin has an internal pullup/pulldown.
5. GPIOs that default to chip selects (GPIO32 and GPIO37), as well as GPIO8 and GPIO17, default to output upon power-on.
6. GPIO22 is the only GPIO that does not have an internal pullup/down, so if USB detect is important or used, GPIO22 should
be assigned to it. If GPIO22 is not used, or the firmware does not configure it to an output upon initialization, an external
pullup/down must be implemented on the board.
101306C
Conexant Proprietary and Confidential Information
2-19
CX82100 Home Network Processor Data Sheet
Table 2-10. CX82100 HNP Definitions of Recommended GPIO and Host Signals
Pin Signal
Pin No.
I/O
I/O Type
LED Indicator Interface
Signal Name/Description
LED_READY (GPIO7)
E5
O
Itpu/Ot4
READY Indicator. Active high output indicating the HNP is ready.
Connect LED_READY (GPIO7) to the LED plus terminal. Connect
the LED minus terminal to +3.3V through 100 Ω.
LAN 1 Interface
LAN1_RST# (GPIO20)
B1
O
Itpu/Ot4
LAN 1 Reset. Active low reset asserted to reset the LAN 1 EPHY.
Connect to LAN 1 EPHY RSTB pin through 1 KΩ. Also, connect the
LAN 1 EPHY RSTB pin to +3.3V through 10 KΩ and to GND
through 0.1 µF.
LAN 2 Interface
LAN2_RST# (GPIO6)
D6
O
Itpu/Ot4
LAN 2 Reset. Active low output asserted to reset the LAN 2 EPHY.
Connect to LAN 2 EPHY RSTB pin through 1 KΩ. Also, connect the
LAN 2 EPHY RSTB pin to +3.3V through 10 KΩ and to GND
through 0.1 µF.
2-20
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
2.4
Interface Timing and Waveforms
2.4.1
External Memory Interface (SDRAM)
The External Memory Interface provides a PC100-compatible SDRAM interface. Signal
interface timing is summarized in Figure 2-5.
Note that MCLK is derived from the BCLK PLL output (see Section 12). Accordingly,
there is no fixed relationship between the HNP clock input (CLKI pin) and the External
Memory Interface signals.
Figure 2-5. External Memory Interface Timing
10 ns m in.
MCLK
1 ns m in.
7.5 ns m ax.
MCKE, MA[11:0] MB[1:0], MM[1:0],
MCAS#, MRAS#, MW E#
MD[15:0] (to SDRAM)
4 ns min.
1 ns m in.
MD[15:0] (from SDRAM)
101545_072
2.4.2
Host Interface Timing
The signal interface timing for the Host Interface is user programmable. By programming
the registers associated with the Host interface, desired timing characteristics such as
read/write pulse widths and setup and hold times can be established. For details regarding
Host Interface timing, refer to Section 5.1.5.
2.4.3
EMAC Interface Timing
To be added.
2.4.4
USB Interface Timing
To be added.
2.4.5
GPIO Interface Timing
The GPIO outputs are derived from the BCLK PLL output (see clocking chapter).
Accordingly, there is no fixed relationship between the HNP’s clock input (CLKI) and
the GPIO signals.
101306C
Conexant Proprietary and Confidential Information
2-21
CX82100 Home Network Processor Data Sheet
2.4.6
Interrupt Timing
To be added.
2.4.7
Clock Reset Timing
To be added.
2.4.8
Reset Timing
To be added.
2-22
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
2.5
Package Dimensions
The package dimensions for the 196-pin 15 mm x 15 mm FPBGA are shown in Figure
2-6.
Figure 2-6. Package Dimensions – 196-Pin 15 mm x 15 mm FPBGA
D1
D
14 13 12 11 10 9
8
6
7
5
4
3
2 1
e
A
B
C
D
E
E
H
E1
F
G
J
K
L
M
N
P
e
b
Top View
Bottom View
A1
c
A
Dimension
A
A1
A2
D
D1
E
E1
M
N
e
b
c
Coplanarity
W arpage
Side View
Millimeters
M ax.
Min.
1.50
0.31
0.41
0.65
0.75
15.00 REF
13.00 REF
15.00 REF
13.00 REF
Inches*
Min.
Max.
0.059
0.012
0.016
0.026
0.030
0.591 REF
0.512 REF
0.591 REF
0.521 REF
14
196
1.00 REF
0.46 REF
0.29
0.39
0.12
0.10
0.031 REF
0.018 REF
0.011
0.015
0.005
0.004
Ref: GP00-D608-001
* Dim ensions in inches are for reference only;
use metric dim ensions for board design.
A2
PD_GP00-D608-001
101306C
Conexant Proprietary and Confidential Information
2-23
CX82100 Home Network Processor Data Sheet
This page is intentionally blank.
2-24
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
3
HNP Memory Architecture
3.1
HNP Memory Map
The HNP system memory map is shown in Figure 3-1. All internal and external memory
and APB peripheral registers are memory-mapped directly to the first 16 MB region of
the ASB 32-bit address space. Note that the map shows only the memory range reserved
for each ASB slave. The actual memory size required by each slave varies depending on
its design. Each memory area is allocated with a fixed starting address (i.e., it is not
relocatable).
From the figure, it can be seen that there are two different memory maps, Run-time and
Boot-time. The reason for the different maps is to allow the Operating System (OS) to
change the ARM exception vectors located at address 0x0 at run-time. Once boot is
complete and memory maps are switched (external Flash ROM and internal RAM
address space is swapped), the OS may change these exception vectors since they are
now located in RAM.
101306C
Conexant Proprietary and Confidential Information
3-1
CX82100 Home Network Processor Data Sheet
Figure 3-1. HNP Memory Map
0x00000000
0x0007FFFF
0x00080000
0x000FFFFF
0x00100000
0x0017FFFF
0x00180000
0x001FFFFF
0x00200000
16 MB Space
0x002FFFFF
0x00300000
0x003FFFFF
0x00400000
Run-Time
Memory Map
Boot-Time
Memory Map
ARM Vector Table (32 Bytes)
ARM Vector Table (32 Bytes)
Internal RAM (32 kB)
Reserved for Internal RAM
Expansion (480 kB)
Internal Boot ROM/
External Flash ROM
(1 MB)
Reserved
(512 kB)
Reserved
(512 kB)
Reserved
(512 kB)
Internal ROM (64 kB)
Reserved for Internal ROM
Expansion (448 kB)
Internal RAM
(512 kB)
Host Master Mode
Interface
(1 MB)
Host Master Mode
Interface
(1 MB)
ASB-to-APB Bridge/DMAC
and
APB Peripherals
(1 MB)
ASB-to-APB Bridge/DMAC
and
APB Peripherals
(1 MB)
External Flash
(4 MB)
External Flash
(4 MB)
External SDRAM/SRAM
(8 MB)
External SDRAM/SRAM
(8 MB)
Reserved
(4 GB - 16 MB)
Reserved
(4 GB - 16 MB)
0x007FFFFF
0x00800000
0x00FFFFFF
0x01000000
0x80000000
TIC Access
Reserved
(4 GB - 16 MB)
(Continued)
Reserved
(4 GB - 16 MB)
(Continued)
0xFFFFFFFF
101545_007
3-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
3.2
Starting Addresses
The starting addresses for mapping ASB and APB slaves are defined in Table 3-1 and
Table 3-2, respectively.
Table 3-1. Starting Addresses for Mapping ASB Slaves
ASB Address:
BA[31:0]
0x000XXXXX
ASB Slave
External Flash
ROM/Internal RAM
0x0018XXXX
Internal RAM/Internal ROM
0x002XXXXX
0x003XXXXX
Host Interface
ASB-to-APB Bridge/DMAC
0x00400000–
0x007FFFFF
0x00800000 0x00FFFFFF
0x80000000
External Flash ROM
External SDRAM
ARM940T
Description
16k x 32 Internal ROM/External Flash ROM
(Boot-Time);
8k x 32 Internal RAM (Run-Time)
8k x 32 Internal RAM (Boot-Time);
16k x 32 Internal ROM (Run-Time)
Host Master Mode peripherals interface
To ASB-to-APB Bridge and APB peripherals
– dword (4 bytes) access only
Host Master Mode interface to 4 MB Flash
External SDRAM/SRAM interface to 8 MB
SDRAM or up to 1 MB SRAM
ARM940T TIC Access
Table 3-2. Starting Addresses for Mapping APB Slaves
ASB Address:
BA[31:0]
0x0030XXXX
0x0031XXXX
0x0032XXXX
0x0033XXXX
0x0034XXXX
0x0035XXXX
3.2.1
APB Slave
ASB-to-APB Bridge/DMAC
EMAC 1
EMAC 2
USB Interface
Reserved
Interrupts, Timers, GPIO,
Clock (ITGC)
Description
ASB-to-APB Bridge Slave and DMAC
Ethernet Media Access Control 1
Ethernet Media Access Control 2
USB Device Controller
Miscellaneous Peripherals (Interrupts, Timers,
GPIOs, and Clock)
ARM Vector Table
Table 3-3 shows the exception vector addresses required by the ARM940T. The first 32byte space of the ASB address space is reserved for this table.
Table 3-3. ARM Exception Vector Addresses
Address
0x00000000
0x00000004
0x00000008
0x0000000C
0x00000010
0x00000014
0x00000018
0x0000001C
101306C
Exception
Reset
Undefined Instruction
Software Interrupt
Abort (Prefetch)
Abort (Data)
Reserved
IRQ#
FIQ#
Mode on Entry
Supervisor
Undefined
Supervisor
Abort
Abort
Reserved
IRQ#
FIQ#
Conexant Proprietary and Confidential Information
3-3
CX82100 Home Network Processor Data Sheet
3.3
Endianness
The internal bus architecture supports only Little-Endian mode addressing (see Figure
3-2). Support for Big-Endian mode may occur in a peripheral that handles its data stream
or in the host interface which may exchange data with a Big-Endian mode external
processor.
Figure 3-2. Little-Endian Mode Addressing
BA[1:0]=3
Data Bus
Byte Lane No.
BA[1:0]=2
31:24
3
23:16
2
BA[1:0]=1
BA[1:0]=0
15:8
7:0
1
0
100878-008
3.4
Boot Procedure
There are two different scenarios for the boot procedure depending on the state of the
BOPT (GPIO14) pin. Upon power-on or reset, boot code will execute from internal ROM
if the BOPT (GPIO14) pin is high or from external Flash ROM if the BOPT (GPIO14)
pin is low.
When booting from internal ROM, the boot code reads EEPROM information (if an
EEPROM is installed) to set up the USB configuration of the HNP. Once complete, USB
communication between PC and the HNP can occur.
When booting from external Flash ROM, the HNP maps the first MB of external Flash
ROM space to internal ROM space (see memory map in Figure 3-1 for detailed
information). A typical boot procedure begins by copying the flash boot code to internal
RAM. The RUN_MAP bit is set in the Host Control Register (see 5.3.1) which causes the
boot code to begin execution from internal RAM. The boot code then configures the
clocks and the enables the SDRAM. This enables the boot code to begin execution from
internal RAM. The boot code then copies the application firmware residing in flash to
SDRAM. The boot code then jumps to the start of the application firmware in SDRAM.
Figure 3-3 illustrates the boot procedure.
3-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Figure 3-3. Boot Procedure
Internal ROM boot(GPIO14=1)
GPIO14 boot option pin
Flash boot(GPIO14=0)
Power-On-Reset
Begin execution of Flash
m apped to ROM address
space.
Power-On-Reset
Begin execution of the
ROM code.
Read signature
bytes (first 4
bytes) of
EEPROM.
Flash boot code
copies itself into
SRAM.
Is the signature
present?
Set Run-Map bit to
swap ROM and RAM
address space. Now
executing out of
SRAM.
N
Y
Read from EEPROM,
Device Descriptor, Device
Config., endpoint config.,
Lang. string ID, Manuf.
string ID, Prod. string ID,
and store in SRAM.
Read from internal ROM,
Device Descriptor, Device
Config., endpoint config.,
Lang. string ID, Manuf.
string ID, Prod. string ID,
and store in SRAM.
Enable SDRAM.
Set up
FCLK and BLCK
frequencies.
Load UDC, EPINFO,
ENDPTBUFs,
CONFIGBUFs,
STRINGBUFs, with
SRAM data.
Copy application
firm ware from
flash to SDRAM.
Continuous loop
waiting for USB
traffic.
Jum p to start of
application firm ware
in SDRAM and
execute.
Typical Flash
boot scenario.
101545_009
101306C
Conexant Proprietary and Confidential Information
3-5
CX82100 Home Network Processor Data Sheet
This page is intentionally blank.
3-6
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
4
DMAC Interface Description
The DMA controller (DMAC) is both an ASB master and an APB master. It is integrated
with the ASB-to-APB bridge. Using burst transfers and pipelining the data within the bus
bridge interface optimizes ASB efficiency.
The DMAC always performs qword (8 bytes) data transfers which require data valid on
the entire 64-bit APB data bus. Burst transfer on APB is not supported, however, data can
be transferred on consecutive APB cycles (PCLK cycles) for either read or write.
4.1
DMA Channel Definition
The DMAC supports the data stream channels defined in Table 4-1. Each channel’s dataflow is considered with respect to the system memory’s point-of-view. A source channel
has the memory supplying data to the DMAC and on to the transmitter's output port. A
destination channel is one where the memory receives data through the DMAC from the
receiver's input port.
Table 4-1. DMA Channel Definition for DMAC
DMA Channel No.
1
2
3
4
5
6
7
8
9
10
11
12
13
4.2
Channel Type
Src/Dst
Dst
Src/Dst
Dst
Src
Dst
Src
Dst
Src
Src
Src
Dst
Src
Channel Description
EMAC1-TxD
EMAC1-RxD
EMAC2-TxD
EMAC2-RxD
Reserved
Reserved
M2M In
M2M Out
USB-TxD_EP3
USB-TxD_EP2
USB-TxD_EP1
USB-RxD
USB-TxD_EP0
DMA Mode
Lnk Lst – restart
Circ Bfr – restart
Lnk Lst – restart
Circ Bfr – restart
Src
Dst
Lnk Lst
Lnk Lst
Lnk Lst
Circ Bfr – restart
Lnk Lst
DMA Requests and Data Transfer
The APB peripherals issue DMA data transfer requests to the DMAC. The knowledge of
how much data will be received or transmitted resides within the peripheral. The physical
interface transfers can be controlled to bit transfer resolution even though the DMAC
only operates at qword resolution. So the size of the packets actually DMAed (which may
differ from that transmitted or received) is under peripheral control. The DMAC just
generates sequential incrementing addresses. Table 4-2 lists all the request commands
supported by DMAC.
DMA action requests are signaled by encoding X{x}R where {x} represents the channel
number. The signal X{x}R should remain idle except when issuing a specific request to
the DMAC. Each event is signaled during a single PCLK clock cycle. It is acceptable to
have an interrupt or abort event directly follow a data transfer request. When an APB data
101306C
Conexant Proprietary and Confidential Information
4-1
CX82100 Home Network Processor Data Sheet
peripheral makes a DMA data transfer request, however, it should not make another until
after the current request has been processed (APB read or write). It is left up to the
requestor (not the DMAC) to log any overflow or underflow conditions.
Table 4-2. DMA Requests for APB Peripherals
X{x}R
3’b000
3’b001
3’b010
3’b011
3’b100
Request
DMA_IDLE
DMA_INTR
DMA_SAVE
DMA_RELD
DMA_XNXT
3’b101
DMA_XSAV
3’b110
DMA_XNUL
3’b111
DMAC Action
None
Data Pkt Done interrupt forwarded to interrupt controller.
Save channel’s state (cnt and/or ptr).
Reload or restore channel’s state from previous save.
Data transfer request @ current pointer. Ptr1+ = 8 (1 qword),
Cnt1-- (Cnt1 represents the number of qwords)
Data transfer request @ saved pointer. Ptr2+ = 8 (1 qword),
Cnt2-- (Cnt2 represents the number of qwords)
Advance current pointer, skip data transfer. Ptr1+ = 8
(1 qword), Cnt1-- (Cnt1 represents the number of qwords)
Reserved
Note that DMA_XNXT and DMA_XSAV are the only DMA commands that cause a
data transfer. Once issued, the channel requestor should not issue another until after their
APB DMA port has been accessed. The APB DMA port qword read or write serves as
the DMAC acknowledge to the channel requestor.
The actions DMA_SAVE, DMA_RELD, and DMA_XNUL should not be issued during
a pending data transfer request since the current pointer and counter are not updated until
the channel is serviced. Usually DMA_SAVE will be issued just after the packet’s last
qword transfer acknowledge. Usually DMA_RELD is issued when a channel decides to
abort a packet. DMA_XNUL is typically issued before starting a packet transfer.
The action DMA_XNUL can be issued on consecutive PCLKs if the channel desires to
move up its current pointer by several qwords. This action may not be issued when the
DMAC_{x}_Cnt1 is equal to 1. DMA_XNUL may not be used just before an address
link. Normally, when DMA_XNXT is issued for the last data qword, both the link and
data transfers are scheduled concurrently, with the link transfer actually occurring first.
Two problems arise if DMA_XNUL is allowed to decrement the qword counter quickly.
First, the address is changed before a link transfer can be scheduled into the DMAC
transfer queue with the correct address. Second, there is nothing to prevent the requesting
channel from issuing a DMA_XNXT before the new address link is updated.
4.3
Control Registers
Per each DMA channel {x}, the DMAC can support three basic modes of address
generation using up to two 22-bit dword- (4 bytes) aligned address pointers
(DMAC_{x}_Ptr1, DMAC_{x}_Ptr2) and/or up to three 11-bit qword (8 bytes) counters
(DMAC_{x}_Cnt1, DMAC_{x}_Cnt2, DMAC_{x}_Cnt3). DMAC_{x}_Ptr1 will
always be readable as the current qword pointer. The counters are large enough to allow a
maximum DMA contiguous block transfer of 16 KB (less 1 qword). Each channel {x} is
handled uniquely and specifically for operating mode, priority, and data rate. Recall that
the peripheral is in control of initiating, aborting, and ending the DMA transfer requests.
Pointers are 22-bit programmable and dword-aligned. The pointer registers are bitaligned to represent the pointers as 24-bit byte-addresses. Thus the pointer registers
should be written and read as 24-bit byte-addresses. However, the lower two bits are
fixed at 2’b00 forcing the pointers to be dword-aligned. Recall that data transfer
resolution is limited to whole qwords.
4-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
4.4
DMAC Register Memory Map
DMAC registers are identified in Table 4-3.
Table 4-3. DMAC Registers
Register Label
DMAC_1_Ptr1
DMAC_2_Ptr1
DMAC_3_Ptr1
DMAC_4_Ptr1
DMAC_5_Ptr1
DMAC_6_Ptr1
DMAC_7_Ptr1
DMAC_8_Ptr1
DMAC_9_Ptr1
DMAC_10_Ptr1
DMAC_11_Ptr1
*** Reserved ***
DMAC_1_Ptr2
DMAC_2_Ptr2
DMAC_3_Ptr2
DMAC_4_Ptr2
DMAC_5_Ptr2
*** Reserved ***
Register Name
DMAC 1 Current Pointer 1
DMAC 2 Current Pointer 1
DMAC 3 Current Pointer 1
DMAC 4 Current Pointer 1
DMAC 5 Current Pointer 1
DMAC 6 Current Pointer 1
DMAC 7 Current Pointer 1
DMAC 8 Current Pointer 1
DMAC 9 Current Pointer 1
DMAC 10 Current Pointer 1
DMAC 11 Current Pointer 1
DMAC_1_Cnt1
DMAC_2_Cnt1
DMAC_3_Cnt1
DMAC_4_Cnt1
DMAC_5_Cnt1
DMAC_6_Cnt1
*** Reserved ***
DMAC 1 Buffer Size Counter 1
DMAC 2 Buffer Size Counter 1
DMAC 3 Buffer Size Counter 1
DMAC 4 Buffer Size Counter 1
DMAC 5 Buffer Size Counter 1
DMAC 6 Buffer Size Counter 1
DMAC_9_Cnt1
DMAC_10_Cnt1
DMAC_11_Cnt1
*** Reserved ***
DMAC 9 Buffer Size Counter 1
DMAC 10 Buffer Size Counter 1
DMAC 11 Buffer Size Counter 1
DMAC_2_Cnt2
*** Reserved ***
DMAC_4_Cnt2
*** Reserved ***
DMAC 2 Buffer Size Counter 2
DMAC_12_Ptr1
DMAC_13_Ptr1
*** Reserved ***
DMAC 11 Current Pointer 1
DMAC 12 Current Pointer 1
DMAC_12_Cnt1
DMAC_13_Cnt1
*** Reserved ***
DMAC 11 Buffer Size Counter 1
DMAC 12 Buffer Size Counter 1
101306C
DMAC 1 Indirect/Return Pointer 2
DMAC 2 Indirect/Return Pointer 2
DMAC 3 Indirect/Return Pointer 2
DMAC 4 Indirect/Return Pointer 2
DMAC 5 Indirect/Return Pointer 2
DMAC 4 Buffer Size Counter 2
ASB Address
0x00300000
0x00300004
0x00300008
0x0030000C
0x00300010
0x00300014
0x00300018
0x0030001C
0x00300020
0x00300024
0x00300028
0x0030002C
0x00300030
0x00300034
0x00300038
0x0030003C
0x00300040
0x00300044–
0x0030005C
0x00300060
0x00300064
0x00300068
0x0030006C
0x00300070
0x00300074
0x00300078–
0x0030007C
0x00300080
0x00300084
0x00300088
0x0030008C–
0x00300090
0x00300094
0x00300098
0x0030009C
0x003000A0–
0x003000FC
0x00300100
0x00300104
0x00300108–
0x0030010C
0x00300110
0x00300114
0x00300118–
0x00300124
Type
RW*
RO
RW*
RO
RW*
RW*
RW*
RW*
RW*
RW*
RW*
Default Value
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
Ref.
4.5.1
4.5.1
4.5.1
4.5.1
4.5.1
4.5.1
4.5.1
4.5.1
4.5.1
4.5.1
4.5.1
RW*
RW*
RW*
RW*
RW*
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
4.5.4
4.5.4
4.5.4
4.5.4
4.5.4
RW*
RW*
RW*
RW*
RW*
RW*
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
4.5.3
4.5.3
4.5.3
4.5.3
4.5.3
4.5.3
RW*
RW*
RW*
0x00000000
0x00000000
0x00000000
4.5.3
4.5.3
4.5.3
WO
0x00000000
4.5.4
WO
0x00000000
4.5.4
RW*
RW*
0x00000000
0x00000000
4.5.1
4.5.1
RW*
RW*
0x00000000
0x00000000
4.5.3
4.5.3
Conexant Proprietary and Confidential Information
4-3
CX82100 Home Network Processor Data Sheet
4.5
Control Register Formats
4.5.1
DMAC x Current Pointer 1 (DMAC_{x}_Ptr1)
Bit(s)
31:24
23:2
Type
RW*
Default
22’bx
Name
DMAC_{x}_Ptr1
1:0
4.5.2
Bit(s)
31:24
23:2
DMAC x Indirect/Return Pointer 1 (DMAC_{x}_Ptr2)
Type
RW*
Default
22’bx
Name
DMAC_{x}_Ptr2
1:0
4.5.3
Bit(s)
31:26
25:24
Type
Default
Name
RW
2’b00
DMAC_{x}_LMode
RW*
11’bx
DMAC_{x}_Cnt1
4.5.4
Bit(s)
31:11
10:0
4-4
Description
Reserved.
Indirect or Return DMA qword Address Pointer.
Points to next pointer which points to next qword transfer location
within source or destination buffer. Always dword-aligned.
Reserved.
DMAC x Buffer Size Counter 1 (DMAC_{x}_Cnt1)
23:11
10:0
Description
Reserved.
Current DMA qword Address Pointer.
Points to next qword transfer location within source or destination
buffer. Always dword-aligned.
Reserved.
Description
Reserved.
DMA Linked List Mode.
00 = ptr/cnt at buffer tail.
01 = ptr/cnt at Ptr2 (table).
10 = ptr/cnt at Ptr2 (return ptr).
11 = Reserved.
Reserved.
Initialize to DMA Buffer Size in No. of qwords.
Decrements during DMA data transfers and reloads at end of buffer.
Note that a write to DMAC_{x}_Cnt1 also loads buffer size to
DMAC_{x}_Cnt2.
DMAC x Buffer Size Counter 2 (DMAC_{x}_Cnt2)
Type
Default
RW*
11’bx
Name
DMAC_{x}_Cnt2
Description
Reserved.
Saved DMA Buffer Size in No. of qwords.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
4.5.5
Bit(s)
31:11
10:0
101306C
DMAC x Buffer Size Counter 3 (DMAC_{x}_Cnt3)
Type
Default
RW*
11’bx
Name
DMAC_{x}_Cnt3
Description
Reserved.
Saved DMA Buffer Size in No. of qwords.
Conexant Proprietary and Confidential Information
4-5
CX82100 Home Network Processor Data Sheet
4.6
Three Basic Modes of Address Generation
4.6.1
Source or Destination Mode
DMAC_{x}_Ptr1 is initialized by the microcontroller to point to the beginning of a
dword-aligned source or destination buffer. This pointer advances (by 1 qword) after
each transfer request X{x}R. Reading this pointer returns the current qword location to
be handled next by the DMAC when it processes the channel request.
4.6.2
Circular Buffer Modes
Two circular buffer modes are supported:
•
The direct circular buffer for the downstream USB receive data channels.
•
The indirect circular pointer table for the Ethernet receive channels.
Direct Circular Buffer
Figure 4-1 depicts how the addresses are generated in the Direct Circular Buffer mode.
Figure 4-1. Address Generation in Direct Circular Buffer Mode
8 Bytes
∆ =
DM AC_{x}_Ptr2
DM AC_{x}_C nt2 DM AC_{x}_C nt1
(M oving)
Current P ointer
DM AC_{x}_Cnt1
(Fixed)
DMAC_{x}_Cnt2
∆
Base P ointer
(Fixed)
+
8* ∆
DM AC_{x}_Ptr1
(Moving)
To p
D M AC_{x}_Cnt1
-1
Bottom
101545_010
4-6
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
The usage of each register for controlling the operation of the circular buffer is as
follows:
•
DMAC_{x}_Ptr2. Used as a base pointer to a dword-aligned circular buffer and is
loaded by the microcontroller (by writing to DMAC_{x}_Ptr1) just once (i.e., this
pointer value is fixed) after the buffer has been allocated. This buffer is typically big
enough to handle multiple data packets (packet size is 64 bytes for USB). The buffer
must be a whole multiple of qwords.
•
DMAC_{x}_Ptr1. Used as the current pointer, pointing to the next qword to be
transferred. This pointer is constructed by adding 8*(DMAC_{x}_Cnt2 –
DMAC_{x}_Cnt1) to the base pointer DMA{x}_Ptr2. The constructed
DMAC_{x}_Ptr1 is the value read when reading its register location (writing has no
effect for the Circular Buffer mode).
•
DMAC_{x}_Cnt1. Loaded with an 11-bit value representing the size of the entire
circular buffer. The same value is copied to DMAC_{x}_Cnt2 during write to
DMAC_{x}_Cnt1. This counter register is decremented by one as a qword transfer
is processed. When DMA{x}_Cnt1 = 0, it is reloaded with DMAC_{x}_Cnt2.
•
DMAC_{x}_Cnt2. Loaded with an 11-bit value representing the size of the entire
circular buffer. This value is not changed during the course of data transfers.
Indirect Circular Pointer Table
The indirect circular pointer table is explained with an example of how the EMAC RxD
channels work. The EMAC-RxD channel (channel 2 or 4) requires its data to be stored in
memory buffers where the location of each buffer is chosen by the firmware on a pointer
per packet basis. Each received data packet is stored in a contiguous memory segment of
fixed size. This size must be large enough to handle the largest expected packet (plus
overhead), usually less than 1536 bytes (192 qwords). The data is normally going to
remain stationary until transmitted or consumed. The circular data buffer method is not
appropriate for this channel because it would require the data to be consumed in the order
received otherwise the data would have to be copied to other buffers which consumes a
lot of bus bandwidth.
The DMA_{x}_Ptr2, where {x} = 2 or 4, is used to point to the location of the table
which contains the list of pointers to be used for the received data destination buffers.
This table holds the following 4-dword structures called cluster descriptors:
Table 4-4. Cluster Descriptor Table
CD No.
1
N
Cluster Descriptor Table (CDT) ⇐ DMA_{x}_Ptr2, where {x} = 2 or 4
qword
dword
1
Cluster Pointer 1
Reserved
EMAC-RxD Status [31:0] for packet 1
2
EMAC-RxD Status [63:32] for packet 1
2N-1
Cluster Pointer N
Reserved
EMAC-RxD Status [31:0] for packet N
2N
EMAC-RxD Status [63:32] for packet N
The cluster descriptors include status that is written back from the EMAC for each
received packet. When DMA_{x}_Ptr2 is written, a copy is saved as the base pointer to
the head of the pointer table (CDT). The DMA_{x}_Ptr2 can be read anytime to indicate
where the DMAC is currently at in the CDT. The CDT is a circular buffer. The size in
101306C
Conexant Proprietary and Confidential Information
4-7
CX82100 Home Network Processor Data Sheet
qwords is determined by DMA_{x}_Cnt2. If there are N cluster descriptors then the
value 2N should be written to DMA_{x}_Cnt2.
The DMAC prefetches the cluster pointers to a two-pointer queue using a source DMA
channel. This queue is initialized (filled) automatically as soon as the firmware writes to
DMA_{x}_Cnt2 (so CDT must be valid and DMA_{x}_Ptr2 initialized). The DMAC has
a two-pointer queue in order to reduce the latency seen by the EMAC-RxD channel when
switching from one cluster to another. The DMAC does not want to add the cluster
pointer fetch latency to the data transfer latency. The current pointer in the queue is
DMA_{x}_Ptr1 and points to the location in the cluster buffer where the received data is
to be stored. This pointer can be read anytime.
The DMA_{x}_Cnt1 value is used to limit the number of qwords the EMAC-RxD can
write to the cluster buffer. Writing a value X to this register will cause all qwords DMA
transferred past X to be stored in the same cluster location (overwritten, only last qword
visible). Reading this register will return a value that indicates the number of qwords
transferred which could be even larger than the size written to DMA_{x}_Cnt1. This
register limits how far the DMA_{x}_Ptr1 may advance. The DMA_{x}_Cnt1 value
increments by 1 for each DMA_XNXT as well as DMA_XNUL.
The EMAC-RxD DMA channel uses a state machine to control the interactions of the
firmware, EMAC-RxD DMA requests, and the DMAC. This state machine is initialized
when DMA_{x}_Cnt2 is written. This event triggers the prefetch of two cluster pointers
from the CDT. The DMA_{x}_Ptr2 will be pointing to the first EMAC-RxD status
qword location after it fills its DMA_{X}_Ptr1 queue. When the EMAC-RxD channel
issues DMA_XSAV, the packet status is read and transferred to the current
DMA_{X}_Ptr2 location. The receiver channel then issues DMA_INTR which causes
the packet interrupt. It also triggers this state machine to transfer the prefetched cluster
pointer to DMA_{X}_Ptr1 and then prefetch the next cluster pointer.
At the beginning of each packet the EMAC-RxD channel issues a DMA_SAVE to save a
copy of the DMA_{X}_Ptr1 cluster head pointer. In case of a bad packet (too short, bad
CRC, etc.) the EMAC-RxD channel will abort the packet and issue a DMA_RELD. This
event will cause the copy of the cluster head pointer to be reloaded into DMA_{X}_Ptr1
and the DMA_{X}_Cnt1 to be re-initialized to zero.
The clusters (received packets) consist of received data qwords transferred via
DMA_XNXT surrounded by reserved qwords at the head and tail of the buffers.
Table 4-5. Received Data Packet
qword No.
1
2
P-1
P
…
X
X+1
Cluster qword ⇐ DMA_{x}_Ptr1, {x} = 2 or 4
Reserved < DMA_XNUL
EMAC-RxD < DMA_XNXT
EMAC-RxD < DMA_XNXT
Reserved (0) < DMA_XNXT
…
Maximum length of packet data
Overflow location for too long packet
The 1st reserved qword is present because the EMAC-RxD channel issues a
DMA_XNUL at the beginning of every packet. The last reserved qword results from the
channel issuing a DMA_XNXT to transfer a zero qword. If DMA_{X}_Cnt1 is set to X,
then all qwords received after that limit for a given packet will be transferred to location
DMA_{X}_Ptr1 + 8(X+1). The DMA_XNUL does increment DMA_{X}_Cnt1. Most
packets will end much shorter than the programmed limit. In the case of a too long
received packet, the EMAC will end up aborting the packet which causes the next packet
4-8
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
to be stored at the same cluster location. The limiter, DMA_{X}_Cnt1, is used to prevent
the EMAC-RxD channel from overwriting the allocated cluster buffer size.
The protocol for this DMA channel is:
1.
ARM initializes the CDT.
2.
ARM initializes DMA_{X}_Ptr2 with the base pointer to CDT (a copy saved within
DMAC).
3.
ARM initializes DMA_{X}_Cnt1 to limit number of qwords written to cluster.
4.
ARM initializes DMA_{X}_Cnt2 for CDT circular size in qwords.
5.
DMAC prefetches first cluster pointer from DMA_{X}_Ptr2+ = 8 (post-increments
by 8).
6.
DMAC moves prefetched cluster pointer into DMA_{X}_Ptr1 and prefetches second
cluster pointer from DMA_{X}_Ptr2+8 (no post-increment).
7.
EMAC-RxD issues DMA_SAVE, DMAC saves cluster head ptr.
8.
EMAC-RxD issues DMA_XNUL, DMA_{X}_Ptr1+ = 8, DMA_{X}_Cnt1++.
9.
EMAC-RxD issues DMA_XNXT, DMAC saves data to DMA_{X}_Ptr1+ = 8,
DMA_{X}_Cnt1++.
10. Continue with step 8 until entire packet data is received.
11. EMAC-RxD issues DMA_XSAV, DMAC saves status to DMA_{X}_Ptr2+ = 16.
12. EMAC-RxD issues DMA_XNXT, DMAC saves 0 to DMA_{X}_Ptr1+ = 8,
DMA_{X}_Cnt1++.
13. EMAC-RxD issues DMA_INTR, DMAC sets DMA interrupt for RxD channel.
14. DMAC moves prefetched cluster pointer into DMA_{X}_Ptr1 and prefetches next
cluster pointer from DMA_{X}_Ptr2+8 (no post-increment).
The ARM may read DMA_{X}_Ptr2 at anytime to know where the DMAC is currently
processing the table (recall that the DMAC is prefetching cluster pointers). The ARM can
also determine that a EMAC-RxD status qword location has been updated by looking at
bit 3 which is always written with a 1’b1, if it initializes the status qwords with zero and
as it consumes clusters (and ptrs).
Since the CDT operates in circular mode, all ptr2 prefetches and post-increments operate
modulo 8*DMA_Cnt2.
4.6.3
Linked List Mode
There are two linked list modes supported in the current design: 1) embedded tail linked
list descriptor mode and 2) indirect/table linked list descriptor mode. The first mode is
supported for all transmit channels except channel 7 (memory-to-memory DMAs). The
second mode is supported only for USB transmit channels, i.e., channels 9, 10, 11, and
13. The linked list mode can be programmed through the "DMAC_{x}_LMode" field in
the DMAC_{x}_Cnt1 registers.
Embedded Tail Linked List Descriptor Mode
For the Embedded Tail Linked List Descriptor mode, the buffer link descriptor (ptr/cnt) is
embedded in the buffer at its tail end. Figure 4-2 shows an example for this linked list
mode. This tail linked list is a generic example of how the transmitted packets are set up.
The Ctl_Hdr is specific to the type of DMA being performed, e.g., EMAC, and should be
configured accordingly.
101306C
Conexant Proprietary and Confidential Information
4-9
CX82100 Home Network Processor Data Sheet
Figure 4-2. Embedded Tail Linked List Descriptor Example
4 Bytes
0x00140248
0x0014024C
0x00140250
0x00140254
0x00140258
0x0014025C
0x00140260
0x00140264
0x00140268
0x0014026C
0x00140470
0x00140474
0x00140478
0x0014047C
0x00140480
0x00140484
0x00140488
0x0014048C
Ctl Hdr
0
DMAC_{x}_Cnt2 = 0x004
Data
Data
DMAC_{x}_Ptr2= 0x00140248
1
Data
Data
2
Data
Data
3
Data
0x00140470
4
0x00000003
Ctl Hdr
0
Data
Data
1
Data
Data
2
Data
Next Ptr1
DMAC_{x}_Ptr1= 0x00140480
DMAC_{x}_Cnt1 = 0x001
3
Next Cnt1
101545_010
4-10
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
The usage of each register for controlling the operation of the Embedded Tail Linked List
Descriptor mode is described below.
•
•
•
•
DMAC_{x}_Ptr1: Loaded with an initial pointer to a dword-aligned source buffer.
A copy of the pointer is automatically saved in DMAC_{x}_Ptr2 whenever
DMAC_{x}_Ptr1 is loaded with a new pointer. As each DMA request is processed,
DMAC_{x}_Ptr1 is incremented by one qword.
DMAC_{x}_Cnt1: Loaded with the number of qwords to be delivered to the
channel. This value includes the Ctl_Hdr, but not the link fields at the tail. A copy of
the counter value is automatically saved in DMAC_{x}_Cnt2 whenever
DMAC_{x}_Cnt1 is loaded with a new value. As each DMA request is processed,
DMAC_{x}_Cnt1 is decremented by one qword.
DMAC_{x}_Ptr2: Saves the beginning address of the current buffer in the list. This
pointer is required for EMAC re-transmission support.
DMAC_{x}_Cnt2: Saves the number of qwords to be delivered in the buffer pointed
by DMAC_{x}_Ptr2. This counter is required for EMAC re-transmission support.
When DMAC_{x}_Cnt1 = = 1, the DMAC will actually do two qword ASB transfers,
forwarding a qword to the APB, and keeping a qword to reload its current pointer
(DMAC_{x}_Ptr1 < = 1st dword of buffer’s appended qword) and counter
(DMAC_{x}_Cnt1 < = 2nd appended dword) for processing the next buffer. Thus the link
to the next source buffer is found at the tail of the current source buffer.
When using the embedded tail linked list descriptor for the EMAC transmission channels
(channels 1 and 3), the channels require "re-transmission" support. The re-transmission
support is outlined below for channel {x}.
1.
When DMAC_{x}_Ptr1 is loaded, automatically save a copy to DMAC_{x}_Ptr2.
2.
When DMAC_{x}_Cnt1 is loaded, automatically save a copy to DMAC_{x}_Cnt2.
3.
At anytime the channel may decide to abort the packet and restart by signaling:
X{x}R < = DMA_RELD.
This causes the DMAC to re-initialize DMAC_{x}_Ptr1 and DMAC_{x}_Cnt1 to
DMAC_{x}_Ptr2 and DMAC_{x}_Cnt2, respectively. It is acceptable for a retransmission to begin after the channel has linked to other successive buffers. The
channel always re-starts at the beginning of the chain.
The EMAC transmission channels also require support for "going back to a saved
pointer" and saving a qword containing status of the transmitted packet. A qword can be
saved at the saved pointer (usually the start-of-pkt ptr, saved for restart) by signaling:
X{x}R < = DMA_XSAV.
This event does not affect the state of the current qword pointer. This data transfer
request is asking the DMAC to perform a data transfer in an opposite direction for a
normal transmitter source channel. However, this is very easy for the DMAC to handle.
To leave room for status to flow back to the data structure, the transmitter source channel
must use DMA_SAVE to save a pointer to the status section. It probably does not need to
open a hole with DMA_XNUL since it can overwrite data at the head or tail of the data
structure.
101306C
Conexant Proprietary and Confidential Information
4-11
CX82100 Home Network Processor Data Sheet
Indirect/Table Linked List Descriptor Mode
The example shown in Figure 4-3 illustrates the use of the indirect/table linked descriptor
mode for four transmit buffers. The DMAC operation is virtually identical to that of the
embedded tail linked list descriptor mode except that the next DMA Ptr1 and Cnt1 will
be fetched from a pre-programmed pointer/counter table. The table itself is operated in a
circular fashion, meaning that the DMAC will automatically fetch the next
pointer/counter pair from the top of the table as soon as the last pointer/counter pair has
been used. The base address of the table is pre-stored in the DMAC_{x}_Ptr2 register.
The size of the table (in number of qwords) is pre-stored in the DMAC_{x}_Cnt2
register. Note that DMAC_{x}_Ptr1 and DMAC_{x}_Cnt1 registers should be initialized
to contain the Ptr1/Cnt1 values associated with the first buffer. The same Ptr1/Cnt1
values should also be stored at the bottom of the table in order to make the four buffers
work together like a big circular buffer.
Figure 4-3. Indirect/Table Linked List Descriptor Example 1
DMAC_{x}_Ptr1= 0x001400F8
DMAC _{x}_Cnt1 = 0x01000009
4 Bytes
Address
0x001400F8
0x001400FC
descriptor/status
0
0x00140100
64-byte
data packet #1
0x0014013C
8
DMAC_{x}_Ptr2= 0x00140800
0x00140140
DMAC _{x}_Cnt2 = 0x00000004
0x001402F8
0x001402FC
descriptor/status
0
Address
0x00140300
64-byte
data packet #2
8
0x001402F8
0x00140800
0x01000009
0x00140804
0x0014033C
0x001404F8
0x00140808
0x00140340
0x01000009
0x0014080C
0x001404F8
0x001404FC
descriptor/status
0
0x00140500
64-byte
data packet #3
0x0014053C
0x001406F8
0x00140810
0x01000009
0x00140814
0x001400F8
0x00140818
0x01000009
0x0014081C
8
0x00140540
0x001406F8
0x001406FC
descriptor/status
0
0x00140700
64-byte
data packet #4
8
0x0014073C
0x00140740
101545_012
4-12
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
The use of the tail and the indirect/table linked list descriptor modes can be mixed to
form a more complicated list. The dynamic switch from one mode to the other is
controlled by the pre-programmed value in DMAC_{x}_LMode.
Figure 4-4 shows an example for mixing the two modes with five buffers.
Figure 4-4. Indirect/Table Linked List Descriptor Example 2
DMAC_{x}_Ptr1= 0x001400F8
DMAC_{x}_Cnt1 = 0x01000009
4 Bytes
Address
0x001400F8
0x001400FC
descriptor/status
0
0x00140100
64-byte
data packet #1
0x0014013C
8
DMAC_{x}_Ptr2= 0x00140800
0x00140140
DMAC_{x}_Cnt2 = 0x00000004
0x001402F8
0x001402FC
descriptor/status
0
Address
0x00140300
64-byte
data packet #2
8
0x001402F 8
0x001 40800
0x01000009
0x001 40804
0x0014033C
0x001404F 8
0x001 40808
0x00140340
0x00000009
0x001 4080C
0x001404F8
0x001404FC
descriptor/status
0
0x00140500
64-byte
data packet #3
0x0014053C
0x00140540
0x001406F8
0x00140544
0x01000009
0x001406F8
0x001406FC
descriptor/status
0x001408F 8
0x001 40810
0x01000009
0x001 40814
0x001400F 8
0x001 40818
0x01000009
0x001 4081C
8
0
0x00140700
64-byte
data packet #4
8
0x0014073C
0x00140840
0x001408F8
0x001408FC
descriptor/
status
0
0x00140900
64-byte
data packet #4
0x0014093C
8
0x00140940
101545_013
101306C
Conexant Proprietary and Confidential Information
4-13
CX82100 Home Network Processor Data Sheet
This page is intentionally blank.
4-14
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
5
Host Interface Description
The Host Interface operates in Master Mode which allows the HNP to access external
Flash ROM and an optional slave device.
The host interface master mode operates asynchronously and is not referenced to any host
clock input or output.
5.1
Master Mode
5.1.1
Host Master Mode Interface Signals
The Host Master Mode consists of a 21-bit output address bus, 16-bit bidirectional data
bus, read enable output, write enable output, Flash ROM chip enable output, Spare chip
enable output, and Spare interrupt request input.
In master mode, the host interface is selected to drive the host control/address/data
interface when the host ASB slave DSEL is active.
Host Master Mode signals are illustrated in Figure 5-1 and listed in Table 5-1.
Figure 5-1. Host Master Mode Signals
Host Interface
HAD[29:16], HC[7:1]
21
HAD[15:0]
16
HW R#
HAD[15:0]
HC09
HC08
HC00
HAD31
GPIO25
HAD[29:16], HC[7:1]
21
HAD[15:0]
16
CE#
HRD#
HCS4#
HIRQ4#
HC[3:1]
3
HAD[7:0]
8
HW R#
HRD#
HCS4#
HNP
RD#
HCS0#
HW R#
HCS0#
HIRQ4#
D[15:0]
W R#
HRD#
HAD[29:16], HC[7:1]
FLASH ROM
A[20:0]
Spare
(UART Example)
A[3:1]
D[7:0]
W RUA#
RDUA#
CE#
IRQ#
101306_016
101306C
Conexant Proprietary and Confidential Information
5-1
CX82100 Home Network Processor Data Sheet
Table 5-1. Host Master Mode Signals
Pin Signal
HAD[15:0]
Host Master
Mode Signal
HD[15:0]
HAD[29:16]
HA[20:7]
HC[07:01]
HC08 (HRD#)
HC09 (HWR#)
HC10 (HRDY#)
HC00 (HCS0#)/GPIO32*
HA[6:0]
HRD#
HWR#
HRDY#
HCS0#
Pin No.
N7, M9, L8, K9, J9, N10,
P10, M10, L9, K10, L10,
M11, J10, L11, N12, P12
L3, L1, M2, M1, N2, N1, M3,
N3, P3, M4, N4, P4, L4, M5
L5, M6, K6, N6, P6, L6, P7
M13
M12
P14 (CX82100-41/-42)
P14 (CX82100-11/-51/-52)
P13 (CX82100-41/-42)
J8
Signal
Direction
I/O
HAD31 (HCS4#)/GPIO31*
HCS4#
Notes:
* = These pins default to host functions; they can be reconfigured to GPIO pins.
Signal Name
Host Bus Data [15:0]
O
Host Bus Address [20:7]
O
O
O
I
O
Host Bus Address [6:0]
Host Bus Read Enable
Host Bus Write Enable
Handshake for slow peripherals
Host Chip Select 0 (Flash ROM)
O
Host Chip Select 4 (Spare)
The HNP Host Master Mode supports only the little-endian mode data byte orientation.
As depicted in Figure 5-2, the 32-bit little-endian ASB data bus BD[31:0] is mapped
to/from the 16-bit external host data bus HD[15:0] according to the even/odd half-word
(16 bits) data address alignment indicated by the address bit HA1.
Figure 5-2. Little-Endian Mode Data Bus Mapping
BD[31:0] to/from ASB
BD
31:24
BD[31:0] to/from ASB
23:16
15:8
7:0
HD
15:8
7:0
even half-word address: HA1 = 0
BD
31:24
23:16
15:8
7:0
HD
15:8
7:0
odd half-word address: HA1 = 1
101545_15
The ASB side may address the host as a slave in 16-bit or 32-bit mode. The 32-bit mode
accesses are converted to two external 16-bit accesses. The host interface is allocated 5
MB total address space. This address space is allocated to the six chip selects HCS[5:0]#
as shown in Figure 5-1 and Table 5-2.
5-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 5-2. Chip Select Address Ranges
HCS Signal
HCS0# (HC00)
HCS4# (HAD31)
5.1.2
Typical Slave Device
Flash ROM
Application dependent
ASB Address Range
0x00400000–0x007FFFFF
0x002C0000–0x002CFFFF
Size
4 MB
64 KB
Flash Memory Interface
The master mode host interface addresses up to 32 Mbit (2 M x 16) of Flash ROM using
HA[21:1]. HCS0# is designed specifically to select Flash ROM. Flash ROM can be
optionally used for the HNP executable memory instead of internal ROM. Typically, a 32
Mbit (2 M x 16) Flash ROM such as an Intel TE28F320C3BA90 or equivalent, or a 16
Mbit (1 M x 16) Flash ROM such as an Intel TE28F160C3BA90 or equivalent, is used.
The HNP supports only 16-bit Flash memories, therefore, all writes to a 16-bit Flash must
be word transfers.
Refer to Section 3.4 for a description of booting from Flash ROM.
5.1.3
Interfacing to Other Slave Devices
The peripheral interface is completely programmable via the Host Control Registers.
These registers allow programming of parameters such as peripheral bus width (8-bit or
16-bit), timing for both read and write operations, and control signal polarity.
During a transfer with an 8-bit peripheral, bit 0 of the address, which is omitted when
interfacing to a 16-bit peripheral, is issued on HD15. (This pin is available in 8-bit mode
because the data bus is using only bits HD[7:0].)
During a transfer with a 16-bit peripheral, there are two byte-write enables (one for the
lower 8 bits of the transfer and another for the upper 8 bits), which allow for individual
byte writes to 16-bit peripherals which support such transfers. The high-byte write enable
is assigned to pin HAD29 and the low-byte write enable is assigned to pin HC09. When
writing data to a 16-bit device which does not support multiple byte write enables, the
host must ensure that writes to the device are initiated internally as either word or dword
transfers.
5.1.4
Host Master Mode DMA Engine
Both asynchronous and isochronous modes of operation are available and are selected by
the MSb (bit 9) of the HDMA_MODE_SEL field in the HST_CTRL register.
Asynchronous DMA Transfer Mode
In Asynchronous DMA Transfer Mode, data transfers complete as fast as the source and
destination bus environments allow.
Isochronous DMA Transfer Mode
In Isochronous DMA Transfer Mode, the data is transferred to or from the external
peripheral at a specified rate.
The user supplies the isochronous transfer rate using an internal timer, as selected by the
HDMA_MODE_SEL field in the HST_CTRL register. This rate can be programmed by
the HDMA_ISOC_TIMER field in the HDMA_TIMERS register.
101306C
Conexant Proprietary and Confidential Information
5-3
CX82100 Home Network Processor Data Sheet
If internal DMA timer is selected, a value must be written to HDMA_ISOC_TIMER.
This value is, in terms of BCLK periods, the time between DMA accesses to the external
peripheral. For example, when DMAing data from a peripheral to an internal destination
this register value determines the rate data is read from the peripheral.
The transfer rate is also a function of the peripheral’s data bus width. For example, if
HDMA_ISOC_TIMER is set to 200 and the peripheral is set up as an 8-bit wide device,
then 200 BCLK periods will elapse between each byte transaction with the peripheral. If
the same value is programmed, in the case of a 16-bit peripheral, the same 200 BCLK
periods will elapse between each word transaction with the peripheral. Thus, the data rate
in the case of the 16-bit peripheral is twice that of the 8-bit peripheral, even though the
HDMA_ISOC_TIMER is set to the same value in both cases.
General DMA Information
A Host-DMA transfer is configured from the ASB side via the
HDMA_SOURCE_ADDR, HDMA_DEST_ADDR, and HDMA_BCNT registers. The
Host-DMA transfer is started as soon as the HDMA_BCNT register is written to with a
nonzero value. For this reason, the HDMA_BCNT register should only be written to once
the HDMA_SOURCE_ADDR and HDMA_DEST_ADDR registers contain the
appropriate values.
DMA_SRC_ADDR_INC_DISABLE is a 1-bit field in the HST_CTRL register. When
enabled, the DMA transfer always occurs from the 24-bit address programmed into the
HDMA_SOURCE_ADDR. This is needed when a DMA transfer originates from a
register that takes its data sequentially from a FIFO.
DMA_DST_ADDR_INC_DISABLE is a 1-bit field in the HST_CTRL register. Its
purpose is similar to that of DMA_SRC_ADDR_INC_DISABLE except that it transfers
data to a static address location set in HDMA_DEST_ADDR.
HDMA_MODE_SEL is a 2-bit field in the HST_CTRL register with the MSb being the
enable for isochronous mode, and the LSb determining the variation of isochronous
mode.
The HDMA_SOURCE_ADDR register is a 24-bit register that should be written with the
address of the first byte of data to be transferred via the Host-DMA.
The HDMA_DEST_ADDR register is a 24-bit register that should be written with the
byte address of the destination for the Host-DMA data.
The HDMA_BCNT register is a 22-bit register that should be written to with the number
of bytes to be transferred after writing to the HDMA_SOURCE_ADDR and
HDMA_DEST_ADDR. Once the number of bytes has been written into the register, the
host DMA transfer begins.
The HDMA_ISOC_TIMER is an 8-bit field in the HDMA_TIMERS register that is used
when HDMA_MODE_SEL is set to 2’b10. This register is programmed with a value, in
terms of BCLK periods, equal to the length of time between consecutive external DMA
accesses.
The completion of a Host-DMA transfer is signaled by the setting of the INT_HOST
interrupt (bit 6 of INT_Stat register). This bit can be cleared by writing a 1 to the bit.
Subsequent Host-DMA transfers must not be initiated until the previous Host-DMA
transfer has been completed.
5-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
5.1.5
Host Master Mode Timing (CX82100-11/-12/-51/-52)
Host Master Mode Read Operation (Accessing an External Device)
The Host Master Mode read timing is illustrated in Figure 5-3 and listed in Table 5-3.
•
•
•
HRD# and HWR# signals are used when the appropriate bit of the Host Master
Mode Transfer Control Register is low.
HR/W# and HDS# signals are used when the appropriate bit of Host Master Mode
Transfer Control Register is high.
Tpw is programmable via the Host Master Mode Read Wait-State Control registers
(HST_RWST).
Host Master Mode Write Operation (Accessing an External Device)
The Host Master Mode write timing is illustrated in Figure 5-4 and listed in Table 5-4.
•
•
•
101306C
HRD# and HWR# signals are used when the appropriate bit of the Host Master
Mode Transfer Control Register is low.
HR/W# and HDS# signals are used when the appropriate bit of Host Master Mode
Transfer Control Register is high.
Tpw is programmable via the Host Master Mode Write Wait-State Control registers
(HST_WWST).
Conexant Proprietary and Confidential Information
5-5
CX82100 Home Network Processor Data Sheet
Figure 5-3. Waveforms for Host Master Mode Read Operation (CX82100-11/-12/-51/-52)
HA[21:1]
address
HD[15:0]
data
HCS[X]#
HRD#
HW R#
HR/W #
HDS#
Tas
Tcss
Tds
Tpw
Tcsh
Tah
Tdh
100603_017
Table 5-3. Timing for Host Master Mode Read Operation Based on a 100 MHz BCLK (CX82100-11/-12/-51/-52)
Symbol
Tas
Tpw
Tds
Tdh
Tah
Tcsh
Tcss
5-6
Parameter
Programmable address setup to active read
Programmable read pulse width
Required data setup to end of active read
Required data hold time following active read
Programmable address hold time following active read
Programmable chip select hold time relative to RE# or R/W#
Programmable chip select setup time relative to RE# or R/W#
Min.
10
10
5
40
40
0
0
Conexant Proprietary and Confidential Information
Max.
160
320
—
240
90
150
150
Units
ns
ns
ns
ns
ns
ns
ns
101306C
CX82100 Home Network Processor Data Sheet
Figure 5-4. Waveforms for Host Master Mode Write Operation (CX82100-11/-12/-51/-52)
address
HA[21:1]
HD[15:0]
data
HCS[X]#
HRD#
HW R#
HR/W #
HDS#
Tas
Tcss
Tpw
Tcsh
Tadh
101603_018
Table 5-4. Timing for Host Master Mode Write Operation Based on a 100 MHz BCLK (CX82100-11/-12/-51/-52)
Symbol
Tas
Tpw
Tadh
Tcsh
Tcss
101306C
Parameter
Programmable address setup to active write
Programmable read pulse width
Programmable address and data hold time following active write (address
hold time is longer that data hold time so min. and max. is based on the
address hold time).
Programmable chip select hold time relative to WE# or R/W#
Programmable chip select setup time relative to WE# or R/W#
Min.
10
10
50
Max.
160
320
200
Units
ns
ns
ns
0
0
150
150
ns
ns
Conexant Proprietary and Confidential Information
5-7
CX82100 Home Network Processor Data Sheet
5.1.6
Host Master Mode Timing (CX82100-41/-42)
Host Master Mode Read Operation (Accessing an External Device)
The Host Master Mode read timing is illustrated in Figure 5-5 and listed in Table 5-5.
•
•
•
•
HRD# and HWR# signals are used when the appropriate bit of the Host Master
Mode Transfer Control Register is low.
HR/W# and HDS# signals are used when the appropriate bit of Host Master Mode
Transfer Control Register is high.
Tpw is programmable via the Host Master Mode Read Wait-State Control registers
(HST_RWST).
HRDY# is used for handshaking when the appropriate bit of the Host Master Mode
Peripheral Handshake register is set.
Host Master Mode Write Operation (Accessing an External Device)
The Host Master Mode write timing is illustrated in Figure 5-6 and listed in Table 5-6.
•
•
•
•
5-8
HRD# and HWR# signals are used when the appropriate bit of the Host Master
Mode Transfer Control Register is low.
HR/W# and HDS# signals are used when the appropriate bit of Host Master Mode
Transfer Control Register is high.
Tpw is programmable via the Host Master Mode Write Wait-State Control registers
(HST_WWST).
HRDY# is used for handshaking when the appropriate bit of the Host Master Mode
Peripheral Handshake register is set.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
HRDY# Description (CX82100-41/-42)
HRDY# is used to extend a Host Interface operation. The use of HRDY# can be enabled
or disabled by setting or clearing the corresponding HRDY# Handshake Enable bit in the
MSTR_HANDSHAKE register (0x002D0024).
When HRDY# is enabled, the polarity of HRDY# can be programmed by setting or
clearing bit 0 of the MSTR_HANDSHAKE register.
•
•
With HRDY# Polarity low (default polarity, bit 0 of 0x002D0024 = 0), HRDY# low
indicates the target on the Host Bus is ready/waiting and HRDY# high indicates the
target is busy. In this case, chip selects HCS0#-HCS5# will assert when HRDY# is
low and will not assert when HRDY# is high.
With HRDY# Polarity high (bit 0 of 0x002D0024 = 1), HRDY# high indicates the
target on the Host Bus is ready/waiting and HRDY# low indicates the target is busy.
In this case, chip selects HCS0#-HCS5# will assert when HRDY# is high and will
not assert when HRDY# is low.
When HRDY# is enabled, the pulse widths of HRD# and HWR# are controlled by either
the HRDY# signal or the timing specified by the Host Read/Write Wait State Control
Register, whichever has longer cycle time. HRD# and HWR# will never have a smaller
width than the programmed values thus minimum Host Interface cycle time is
guaranteed.
When HRDY# is disabled, the state of HRDY# is ignored and the timing of the host
interface control and data signals are controlled by the timing configuration registers:
HST_RWST, HST_WWST, HST_READ_CNTL1, HST_READ_CNTL2,
HST_WRITE_CNTL1, and HST_WRITE_CNTRL2.
101306C
Conexant Proprietary and Confidential Information
5-9
CX82100 Home Network Processor Data Sheet
Figure 5-5. Waveforms for Host Master Mode Read Operation (CX82100-41/-42)
HA[21:1]
address
HD[15:0]
data
HCS[X]#
HRD#
HWR#
HR/W#
HDS#
HRDY#
Tas
Tcss
Tds Tcsh
Tpw
Tah
Tdh
100545_079
Table 5-5. Timing for Host Master Mode Read Operation Based on a 100 MHz BCLK (CX82100-41/-42)
Symbol
Tas
Tpw
Tds
Tdh
Tah
Tcsh
Tcss
5-10
Parameter
Programmable address setup to active read
Programmable read pulse width
Required data setup to end of active read
Required data hold time following active read
Programmable address hold time following active read
Programmable chip select hold time relative to RE# or R/W#
Programmable chip select setup time relative to RE# or R/W#
Min.
10
10
5
40
40
0
0
Conexant Proprietary and Confidential Information
Max.
160
320
—
240
90
150
150
Units
ns
ns
ns
ns
ns
ns
ns
101306C
CX82100 Home Network Processor Data Sheet
Figure 5-6. Waveforms for Host Master Mode Write Operation (CX82100-41/-42)
HA[21:1]
address
HD[15:0]
data
HCS[X]#
HRD#
HWR#
HR/W#
HDS#
HRDY#
Tas
Tcss
Tpw
Tcsh
Tadh
101545_080
Table 5-6. Timing for Host Master Mode Write Operation Based on a 100 MHz BCLK (CX82100-41/-42)
Symbol
Tas
Tpw
Tadh
Tcsh
Tcss
101306C
Parameter
Programmable address setup to active write
Programmable read pulse width
Programmable address and data hold time following active write (address
hold time is longer that data hold time so min. and max. is based on the
address hold time).
Programmable chip select hold time relative to WE# or R/W#
Programmable chip select setup time relative to WE# or R/W#
Min.
10
10
50
Max.
160
320
200
Units
ns
ns
ns
0
0
150
150
ns
ns
Conexant Proprietary and Confidential Information
5-11
CX82100 Home Network Processor Data Sheet
5.2
Host Master Mode Register Memory Map
Host Master Mode registers are identified in Table 5-7.
Table 5-7. Host Master Mode Registers
Register Label
HST_CTRL
HST_RWST
HST_WWST
HST_XFER_CNTL
HST_READ_CNTL1
HST_READ_CNTL2
HST_WRITE_CNTL1
HST_WRITE_CNTL2
MSTR_INTF_WIDTH
MSTR_HANDSHAKE
HDMA_SRC_ADDR
HDMA_DST_ADDR
HDMA_BCNT
HDMA_TIMERS
5-12
Register Name
Host Control Register
Host Master Mode Read-Wait-State Control
Register
Host Master Mode Write-Wait-State Control
Register
Host Master Mode Transfer Control Register
Host Master Mode Read Control Register 1
Host Master Mode Read Control Register 2
Host Master Mode Write Control Register 1
Host Master Mode Write Control Register 2
Host Master Mode Peripheral Size
Host Master Mode Peripheral Handshake
Host Master Mode DMA Source Address
Host Master Mode DMA Destination Address
Host Master Mode DMA Byte Count
Host Master Mode DMA Timers
ASB Address
0x002D0000
0x002D0004
Type
RW
RW
Default Value
0x00000008
0x00739CE7
Ref.
5.3.1
5.3.2
0x002D0008
RW
0x00739CE7
5.3.3
0x002D000C
0x002D0010
0x002D0014
0x002D0018
0x002D001C
0x002D0020
0x002D0024
0x002D0028
0x002D002C
0x002D0030
0x002D0034
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
5.3.4
5.3.5
5.3.6
5.3.7
5.3.8
5.3.9
5.3.10
5.3.11
5.3.12
5.3.13
5.3.14
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
5.3
Host Master Mode Registers
5.3.1
Host Control Register (HST_CTRL: 0x002D0000)
Bit(s)
31:12
11
Type
Default
Name
R/W
1'b0
DMA_SRC_ADDR_INC_DISABLE
10
R/W
1'b0
DMA_DST_ADDR_INC_DISABLE
9:8
RW
2’b00
HDMA_MODE_SEL
7
6
RW
1’b0
EN_BLOCK_ARM
5
4
RW
1’b0
RUN_MAP
3:2
RW
2’b10
XDM_SZ
1:0
RW
2’b00
HST_HIRQ
101306C
Description
Reserved.
Disable DMA Source Address Increment.
0 = Enable DMA Source Address Increment.
1 = Disable DMA Source Address Increment.
Disable DMA Destination Address Increment.
0 = Enable DMA Destination Address Increment.
1 = Disable DMA Destination Address Increment.
Host Master Mode DMA Transfer Mode Select.
00 = Asynchronous DMA Mode.
01 = Reserved.
10 = Isochronous DMA Mode using internal timer.
11 = Reserved.
Reserved.
Enable the arbiter to lock 940 ADR/SEQ/ and Bursts.
0 = Disable arbiter to lock 940 ADR/SEQ/ and Bursts.
1 = Enable arbiter to lock 940 ADR/SEQ/ and Bursts.
Reserved.
Run-Time Memory Map.
0 = Flash ROM @ starting address 0x00000000,
internal RAM @ starting address 0x00180000.
1 = Internal RAM @ starting address 0x00000000,
Flash ROM @ starting address 0x00180000.
External Dynamic Memory Size.
00 = 2 MB.
01 = 4 MB.
10 = 8 MB.
11 = Reserved.
HIRQ0# Output State for External Host.
0x = Off.
10 = Asserted low.
11 = De-asserted and pulled high.
Conexant Proprietary and Confidential Information
5-13
CX82100 Home Network Processor Data Sheet
5.3.2
Bit(s)
31:25
24:20
19:5
4:0
Host Master Mode Read-Wait-State Control Register (HST_RWST: 0x002D0004)
Type
Default
RW
5’b00111
HST_RWS4
RW
5’b00111
HST_RWS0
5.3.3
Bit(s)
31:25
24:20
19:5
4:0
6:4
3
Type
Default
Name
RW
5’b00111
HST_WWS4
RW
5’b00111
HST_WWS0
Type
Default
RW
1’b0
Hcs4_ds_polarity
RW
1’b0
Hcs4_xfer_mode
5.3.5
Name
Description
Reserved.
HCS4 External Data Strobe Polarity.
0 = Negative data strobe polarity.
1 = Positive data strobe polarity.
Reserved.
HCS4 External Transfer Mode.
0 = WE# and RE# transfer mode.
1 = R/W# and DS# transfer mode.
Reserved.
Host Master Mode Read Control Register 1 (HST_READ_CNTL1: 0x002D0010)
Bit(s)
31:28
Type
RW
Default
4’b0
Name
HRcs4_Tcss
27:16
15:12
RW
4’b0
HRcs4_Tcsh
5-14
Description
Reserved.
HCS4 Wait State Control for Master Mode Write Cycles.
Length of read cycle = count value * 1 BCLK period + 1 BCLK period.
Reserved.
HCS0 Wait State Control for Master Mode Write Cycles.
Length of read cycle = count value * 1 BCLK period + 1 BCLK period.
Host Master Mode Transfer Control Register (HST_XFER_CNTL: 0x002D000C)
2:0
11:0
Description
Reserved.
HCS4 Wait State Control for Master Mode Read Cycles.
Length of read cycle = count value * 1 BCLK period + 1 BCLK period.
Reserved.
HCS0 Wait State Control for Master Mode Read Cycles.
Length of read cycle = count value * 1 BCLK period + 1 BCLK period.
Host Master Mode Write-Wait-State Control Register) (HST_WWST: 0x002D0008)
5.3.4
Bit(s)
31:8
7
Name
Description
HCS4 Chip Select Setup Time Relative to RE# or R/W#.
Length = count value * 1 BCLK period.
Reserved.
HCS4 Chip Select Hold Time Relative to RE# or R/W#.
Length = count value * 1 BCLK period.
Reserved.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
5.3.6
Host Master Mode Read Control Register 2 (HST_READ_CNTL2: 0x002D0014)
Bit(s)
31:28
Type
RW
Default
4’b0
27:16
15:12
RW
4’b0
Name
HRcs4_Tas
HRcs4_Tah
11:0
5.3.7
Host Master Mode Write Control Register 1 (HST_WRITE_CNTL1: 0x002D0018)
Bit(s)
31:28
Type
RW
Default
4’b0
Name
HWcs4_Tcss
27:16
15:12
RW
4’b0
HWcs4_Tcsh
11:0
5.3.8
Type
RW
Default
4’b0
Name
HRcs4_Tas
27:16
15:12
RW
4’b0
HRcs4_Tadh
11:0
5.3.9
3:0
101306C
Description
HCS4 Chip Select Setup Time Relative to WE# or R/W#.
Length = count value * 1 BCLK period.
Reserved.
HCS4 Chip Select Hold Time Relative to WE# or R/W#.
Length = count value * 1 BCLK period.
Reserved.
Host Master Mode Write Control Register 2 (HST_WRITE_CNTL2: 0x002D001C)
Bit(s)
31:28
Bit(s)
31:5
4
Description
HCS4 Address Setup Time to Active Read.
Length = count value * 1 BCLK period + 1 BCLK period.
Reserved.
HCS4 and HCS5 Address Hold Time Following Active Read.
Length ≥ count value * 1 BCLK period + 4 BCLK periods.
Reserved.
Description
HCS4 Address Setup Time to Active Write.
Length = count value * 1 BCLK period + 1 BCLK period.
Reserved.
HCS4 Address and Data Hold Time Following Active Write.
For data, Length = count value * 1 BCLK period + 1 BCLK period.
For address, Length ≥ count value * 1 BCLK period + 5 BCLK periods.
Reserved.
Host Master Mode Peripheral Size (MSTR_INTF_WIDTH: 0x002D0020)
Type
RW
Default
1’b0
Name
Mstr_intf_width4
Description
Reserved.
HCS4 Data Length.
0 = 16-bit data length.
1 = 8-bit data length.
Reserved.
Conexant Proprietary and Confidential Information
5-15
CX82100 Home Network Processor Data Sheet
5.3.10
Bit(s)
31:5
4
3:1
0
Host Master Mode Peripheral Handshake (MSTR_HANDSHAKE: 0x002D0024)
(CX82100-41/-42)
Type
Default
RW
1’b0
Mstr_handshake4
RW
1’b0
Mstr_handshake0
5.3.11
Bit(s)
31:24
23:0
Type
Default
Name
RW
24’b0
HDma_source_addr
Description
Reserved.
Least significant 24 bits of the address of the first byte of DMA source
data.
Host Master Mode DMA Destination Address (HDMA_DST_ADDR: 0x002D002C)
Type
Default
RW
24’b0
5.3.13
Bit(s)
31:22
21:0
Description
Reserved.
HCS4 HRDY# Handshake Enable.
0 = Disable HRDY# handshake.
1 = Enable HRDY# handshake.
Reserved.
HRDY# Polarity.
0 = Active low
1 = Active high
Host Master Mode DMA Source Address (HDMA_SRC_ADDR: 0x002D0028)
5.3.12
Bit(s)
31:24
23:0
Name
Name
HDma_dest_addr
Description
Reserved.
Least significant 24 bits of the first location of the DMA destination.
Host Master Mode DMA Byte Count (HDMA_BCNT: 0x002D0030)
Type
Default
RW
22’b0
5.3.14
Name
HDma_byte_count
Description
Reserved.
The number of bytes of data to be transferred via the host DMA.
Host Master Mode DMA Timers (HDMA_TIMERS: 0x002D0034)
Bit(s)
31:16
15:8
Type
Default
RW
8’b0
HDMA_ISOC_TIMER
7:0
RW
8’b0
HDMA_INACTIVE_TIMER
5-16
Name
Description
Reserved.
Timer which dictates the transfer rate for an isochronous mode
DMA transfer in terms of the number of BCLK periods.
The minimum interval, in terms of number of BCLK periods,
between subsequent accesses to an external DMA source or
destination.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
6
External Memory Controller Interface Description
6.1
PC100 Compliant SDRAM Interface
The External Memory Controller (EMC) provides a 16-bit interface to support up to 8
MB of external SDRAM. Figure 6-1 shows a typical SDRAM functional block diagram.
Note that the actual SDRAM design varies from vendor to vendor. Figure 6-1 also shows
an Intel PC100 compliant interface between the EMC and the SDRAM. Table 6-1 lists
the definition for each interface signal. A PC100 compliant SDRAM must also support a
mode register whose functions are defined in Table 6-2. The mode register is
programmable through the MRS (Mode Register Set) command defined in the PC100
Specification (see Reference [6]).
Figure 6-1. SDRAM Interface
SDRAM
Banks
(2x or 4x)
MM[1:0]
Data I/O +
Control
Logic
MD[15:0]
RA
MB[1:0]
Decode +
Control
Logic
MA[11:0]
External
Mem ory
Controller
CA
ASB
Decode +
Control
Logic
MRAS#
Control Logic
MCAS#
MW E#
Command
Refresh
Bank
MCKE
Mode register
MCLK
MCS#
HNP
101545_025
101306C
Conexant Proprietary and Confidential Information
6-1
CX82100 Home Network Processor Data Sheet
Table 6-1. EMC SDRAM Interface Signal Descriptions
Pin Name
MD[15:0]
MA[11:0]
MB[1:0]
MM[1:0]
MRAS#
MCAS#
I/O
I/O
O
O
O
O
O
MWE#
MCS#
MCKE
MCLK
O
O
O
O
Signal Name
Memory Data
Memory Address
Bank Address
Memory Mask
Row Address Strobe
Column Address
Strobe
Memory Write Enable
Memory Chip Select
Memory Clock Enable
Memory Clock
Description
Bi-directional data access bus for DRAM.
Multiplexed row and column address for access of data up to 8 MB.
Selects active memory bank.
Input mask signal for write accesses.
Starts SDRAM access with strobe of row address.
Strobes column address and data bytes.
Indicates write access to SDRAM.
Enables the SDRAM command decoder.
Memory Clock activation.
All SDRAM signals sampled on positive edge.
Table 6-2. PC100 Compliant Mode Register
Bit No.
11:7
6:4
Name
LTMODE
3
WT
2:0
BL
Supported Function
Reserved.
CAS# Latency.
011 =
3 cycles.
All Other =
Reserved.
Wrap Type.
0 = Linear.
1 = Interleave.
Burst Length.
011 =
8 cycles.
All Other =
Reserved.
The SDRAM clock runs at 100 MHz, however, 125 MHz rated SDRAM is required in
order to guarantee setup time margin.
6-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
6.2
Available Vendor SDRAM ICs and Features
Although the EMAC is not fully PC100 compliant due to the fact that both the CAS#
latency and the burst length are hard wired, many other PC100 compliant vendor
SDRAMs are usable for the EMAC design. Table 6-3 lists some of these SDRAMs and
their corresponding features and access timings.
Table 6-3. Available SDRAM Vendors
1M x 16 x 4 SDRAM
Spec./
Vendor
Basic
Features
Intel
PC100 Spec.
(Rev. 1.63)
CL = 2,3
BL = 1,2,4
Burst Read
Burst Write
Auto Refresh
Micron
MT48LC4M16A2
CL = 1,2,3
BL = 1,2,4,8,FP
Burst Read
Burst Write
Single Write
Auto Refresh
Self Refresh
Samsung
KM416S4030D
Ref.
Rate
Clock
Cycle
Input
Setup
Initialization
Sequence
Output
Hold
Valid
Hold
Valid to Z
2 ns
1 ns
CL = 3: 6 ns
CL = 2: 6 ns
3 ns
15.6µs
CL = 3: 8 ns
CL = 2: 10 ns
2 ns
1 ns
CL = 3: 6 ns
CL = 2: 6 ns
1.8 ns CL = 3: 6 ns
CL = 2: 7 ns
100µs -> Precharge ->
2RF min -> MRS -> 1st
Command
CL = 2,3
BL = 1,2,4,8,FP
Burst Read
Burst Write
Auto Refresh
Self Refresh
15.6µs
Period: 10 ns
2 ns
1 ns
CL = 3: 6 ns
CL = 2: 6 ns
3 ns
CL = 3: 6 ns
CL = 2: 7 ns
100µs -> Precharge ->
2RF min -> MRS-> 1st
Command
Fujitsu
MB81F641642D
CL = 2,3
BL = 2,4,8,FP
Burst Read
Burst Write
Single Write
Auto Refresh
Self Refresh
15.6µs
Period: 10 ns
High: 3 ns
Low: 3 ns
2 ns
1 ns
CL = 3: 6 ns
CL = 2: 6 ns
3 ns
Min: 3 ns
Max: 6 ns
100µs -> Precharge ->
2RF min -> MRS-> 1st
Command
NEC
PD4564841-10
CL = 2,3
BL = 1,2,4,8,FP
Burst Read
Single Write
Auto Refresh
Self Refresh
15.6µs
CL = 3: 10 ns
CL = 2: 13 ns
High: 3 ns
Low: 3 ns
2 ns
1 ns
CL = 3: 6 ns
CL = 2: 7 ns
3 ns
CL = 3: 6 ns
CL = 2: 7 ns
Min: 3 ns
200µs -> Precharge ->
2RF min -> MRS-> 1st
Command
IBM
19L3264-10
CL = 2,3
BL = 1,2,4,8,FP
Burst Read
Single Write
Auto Refresh
Self Refresh
15.6µs
CL = 3: 10 ns
CL = 2: 15 ns
3 ns
1 ns
CL = 3: 7 ns
CL = 2: 8 ns
3 ns
Min: 3 ns
Max: 7 ns
200µs -> Precharge ->
8RF -> MRS-> 1st
Command
Toshiba
TC59S6416BFT10
CL = 2,3
BL = 1,2,4,8,FP
Burst Read
Single Write
Auto Refresh
Self Refresh
15.6µs
10 ns
2.5 ns
1 ns
7 ns
3 ns
Min: 3 ns
Max: 10 ns
200µs -> Precharge ->
8RF -> MRS-> 1st
Command
101306C
Min: 3 ns
Max: 9 ns
200µs -> Precharge ->
8RF -> MRS-> 1st
Command
Period: 10 ns
High: 3 ns
Low: 3 ns
Conexant Proprietary and Confidential Information
6-3
CX82100 Home Network Processor Data Sheet
6.3
Supported Configurations
Table 6-4 lists supported SDRAM configurations. There are only one or two memory ICs
at most that reside on the external SDRAM bus (e.g., two 2M x 8 SDRAMs are required
to get 4 MB). This bus is not shared with any other external function. Since the EMC
buffers write data phases, this pipelined activity implies that the SDRAM bus can be busy
concurrently with asynchronous and independent host bus transfers. (An external host can
read/write SDRAM as well.)
Table 6-4. Allowed SDRAM Configurations
6.4
Total
Memory
Memory
Config.
No. of
SDRAMs
SDRAM
Config.
SDRAM
Capacity
2 MB
4 MB
8 MB
1Mb x 16
2Mb x 16
4Mb x 16
1
2
1
1Mb x 16
2Mb x 8
4Mb x 16
16 Mb
16 Mb
64 Mb
SDRAM
No. of
Banks
2
2
4
SDRAM
No. of
Rows
2Kb
2Kb
4Kb
SDRAM
No. of
Columns
256
512
256
Access Cycles
The EMC’s SDRAM 16-bit interface is synchronous. All of the SDRAM inputs are
registered on the positive edge of MCLK. The SDRAM uses an internal pipelined
architecture to achieve high-speed operation. Read and write accesses to the SDRAM are
burst oriented (it's been noted from the simulation that the EMAC design only allows
read accesses to the SDRAM to be burst oriented). A burst of 8 allows a cache line (16
bytes) to be refilled in one single read. Accesses begin with the registration of an
ACTIVE command, which is then followed by a READ or WRITE command.
6.5
Initialization
The SDRAM requires a 200 µs delay prior to applying an executable command. The
delay begins after reset when power and clock are stable. The microcontroller should not
access the SDRAM during this time, otherwise all processes will be held up while the
EMC inserts wait states for the full initialization duration. No user intervention is
required during the initialization process. All appropriate settings are managed by the
SDRAM controller.
6.6
Refresh
The SDRAM controller supports Auto-Refresh. Refresh requests are generated to meet a
15.625 µs per row interval (to be safe, it is preferable that refresh requests could be
generated at a rate less than 15.625 µs per row interval). Refresh cycles are transparent to
the host, but will insert wait cycles if the memory is accessed during a refresh request.
Refresh requests have top priority when accessing the memory. Refresh cycles will not
interrupt a memory cycle in process.
6-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
6.7
Read
No acceleration is provided for read accesses. Multiple memory banks allow multiple
rows to be active simultaneously. This reduces the need for precharge and activate cycles,
allowing a faster aggregate throughput.
6.8
Write
A 2-dword buffer is provided to speed up random and DMA write accesses.
6.9
Throughput
Better than 114 MB/s for 16-byte cache-line fills and 177 MB/s for buffered 16-byte
writes. Random read or write single accesses operate at 50 MB/s and 200 MB/s,
respectively. Table 6-5 summarizes the throughput for each access type.
Table 6-5. SDRAM Throughput
16-bit SDRAM Interface
32-bit Access
Write
Read
Write immediately following Write
Read immediately following Read
16-bit Access
Write
Read
Write immediately following Write
Read immediately following Read
101306C
No. of BCLK Cycles
1 dword
4 dwords (Seq Burst)
2
9
8
14
2
15
12
18
1 word
4 words (Seq Burst)
2
8
7
10
2
11
12
12
Conexant Proprietary and Confidential Information
6-5
CX82100 Home Network Processor Data Sheet
6.10
EMC I/O Clock Interface and Timing
The EMC I/O clock interface is illustrated in Figure 6-2.
The EMC I/O timing is illustrated in Figure 6-3.
Figure 6-2. EMC Clocking Interface
CLKGEN
MODULE
scan m ux
BCLK
BCLK
MCLK
PAD
scan mux
MA
Q
scan mux
MD
D
PAD
PAD
MCLK
MA
D
MD
Q
asb_sdram
ext_sdram
HNP
101545_026
Figure 6-3. EMC I/O Timing
BCLK
C
F
M CLK
D
MD
E
DATA
A
B
ADDR
MA
Notes:
W here:
A = tck-q + tdsm + tpo
tck-q = asb_sdram flop clk-q delay
B = tasu
tsu = asb_sdram flop setup tim e
C = clock skew = tdi + tdsm + tpo
th = asb_sdram flop hold tim e
D = ta
tdsm = HNP scan m ux delay
E = tsu + tpi + tdsm
tpo = output pad delay
F = (clk period / 2) - tdi - tdsm - tpo
tpi = input pad delay
tdi = HNP inverter delay
ta = sdram read access tim e
101545_027
6-6
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
6.11
SRAM Interface
The HNP EMC can alternatively interface to SRAM memory. The SDRAM associated
pins are used for this interface and are multiplexed to either interface to SDRAM or
SRAM. SDRAM or SRAM interface is controlled by the EMCR register and allows for
different external sizes and up to two SRAM devices. Using two 512-kbyte SRAM
devices (256k x 16 each), a maximum of 1 MB of external SRAM can be achieved. The
EMCR register controls for SRAM read/write wait state control, selection of one or two
memory chips, and selection of various sizes for each of the memories.
The SDRAM-to-SRAM signal mapping is shown in Table 6-6.
If one SRAMs are used, connect CE_SRAM1# to the SRAM CE# (Chip Enable) and
leave CE_SRAM2# open.
If two SRAMs are used, connect CE_SRAM1# to the lower address range SRAM
(SRAM 1) CE# and CE_SRAM2# to the upper address range SRAM (SRAM 2) CE#.
For the SRAMs, connect OE# (Output Enable), BLE# (Byte Low Enable), and BHE#
(Byte High Enable) to VSS.
Table 6-6. HNP to SDRAM/SRAM Interface Signal Mapping
HNP Pin Signal
MCKE
MCAS#
MB1
MB0
MM1
MM0
MA[11:0]
MD[15:0]
MCS#
MRAS#
MWE#
101306C
SDRAM Interface
CKE
MCAS#
MB1
MB0
MM1
MM0
A[11:0]
D[15:0]
CS#
RAS#
WE#
SRAM Pin Signal
A17
A16
A15
A14
A13
A12
A[11:0]
IO[15:0]
CE# (SRAM 1)
CE# (SRAM 2)
WE#
Conexant Proprietary and Confidential Information
6-7
CX82100 Home Network Processor Data Sheet
6.12
EMC Register
The EMC register is identified in Table 6-7.
Table 6-7. EMC Register
Register Label
EMCR
6.12.1
Register Name
External Memory Control Register
Type
RW
Default Value
0x00000000
Ref.
6.12.1
External Memory Control Register (EMCR: 0x00350010)
Bit(s)
7:6
Type
RW
Default
2’b00
5:4
RW
2’b00
SRCSEL2
3:2
RW
2’b00
SRCSEL1
1:0
RW
2’b00
EXMSEL
6-8
ASB Address
0x00350010
Name
SRWSC
Description
SRAM Read/Write Wait State Control.
00 = No extra delay.
01 = Delayed by one BCLK period.
10 = Delayed by two BCLK periods.
11 = Delayed by three BCLK periods.
Note: The delay cycles are extra to the normal access cycles.
SRAM Chip Select 2.
00 = Do not select the second SRAM chip.
01 = Select the second SRAM chip, size = 64K x 16.
10 = Select the second SRAM chip, size = 128K x 16.
11 = Select the second SRAM chip, size = 256K x 16.
Notes:
1. EXMSEL must be 2’b10 if the second SRAM chip is selected.
2. The size for the second SRAM must be no greater than the size
of the first SRAM.
3. If the second SRAM size is programmed at a value greater than
that of the first SRAM, then the actual size for the second SRAM
will be reduced to the same size as the first automatically by the
hardware.
SRAM Chip Select 1.
00 = Do not select the first SRAM chip.
01 = Select the first SRAM chip, size = 64K x 16.
10 = Select the first SRAM chip, size = 128K x 16.
11 = Select the first SRAM chip, size = 256K x 16.
Note: EXMSEL must be 2’b10 if the first SRAM chip is selected.
External Memory Select.
00 = Select SDRAM interface; SDRAM in Disabled Mode.
01 = Select SDRAM interface; SDRAM in Enabled Mode.
10 = Select SRAM interface.
11 = Reserved.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7
Ethernet Media Access Control Interface Description
The HNP implements the Ethernet Media Access Control (EMAC) as defined in
Reference [4]. Also implemented is the MII interface to the physical layer as defined in
Reference [5].
In the OSI reference model as shown in Figure 7-1, the lowest layer is Physical and the
next layer up is Data Link. The Data Link layer is segmented into 2 parts, Medium
Access Control (MAC) which interfaces to the PHY, and the Logical Link Control (LLC)
which interfaces to the MAC and to higher layers.
Figure 7-1. MAC Sublayer Partition, Relationship to OSI Reference Model
LAN CSM A/CD Layers
OSI Reference M odel
Layers
Higher Layers
Application
LLC - Logical Link Control
Presentation
M AC - M edia Access Control
Session
PLS
Transport
Reconciliation
MII
Network
Reconciliation
MII
PLS
PLS
PMA
PMD
AUI
Data Link
PMA
Physical
PMA
MDI
Medium
AUI = Attachm ent Unit Interface
MDI = Medium Dependent Interface
MII = Media Independent Interface
PLS = Physical Layer Signaling
PMA = Physical Medium Attachm ent
PMD = Physical Medium Dependent
1 Mb/s, 10 Mb/s
MDI
Medium
10 Mb/s
Medium
100 Mb/s
101545_028
The LLC together with the MAC must provide the following Data Link functionality:
•
•
101306C
Data Encapsulation (transmit and receive)
− Framing (frame boundary delimitation, frame synchronization)
− Addressing (handling of source and destination addresses)
Error detection (detection of physical medium transmission errors)
− Media Access Management
− Medium Allocation (collision avoidance)
− Contention Resolution (collision handling)
Conexant Proprietary and Confidential Information
7-1
CX82100 Home Network Processor Data Sheet
7.1
MAC Frame Format
Figure 7-2 shows the MAC frame format supported by the HNP (see Section 3.1.1 of
Reference [4]). As depicted in the figure, the bytes of a frame are transmitted from top to
bottom. The bits of each byte in each field (with the exception of the FCS) are
transmitted from the LSb to MSb (i.e., LSb transmitted first).
Figure 7-2. Ethernet MAC Frame Format
1 Byte
Pream ble
Start Fram e Delim iter (SFD)
2 or 6 Bytes
Destination Address (DA)
2 or 6 Bytes
Source Address (SA)
2 Bytes
Length
(variable)
LLC Data
(variable)
PAD
4 Bytes
Fram e Check Sequence (FCS)
Bytes W ithin Fram e Transm itted
from Top-to-Bottom
7 Bytes
Implem ented
7 Bytes
Pream ble
1 Byte
Start Fram e Delim iter (SFD)
6 Bytes
Destination Address (DA)
6 Bytes
Source Address (SA)
2 Bytes
Length
(variable)
LLC Data
(variable)
PAD
4 Bytes
Fields involved in
FCS Com putation
Defined in Standard
Fram e Check Sequence (FCS)
101545_029
At the head of the MAC frame is the 7-byte preamble 0xAA AA AA AA AA AA AA
followed by the 1-byte Start of Frame Delimiter (SFD) 0xAB. The MAC receiver must
detect the SFD pattern 0xAB. After SFD the MAC must begin receiving the frame
(assuming the Carrier Sense signal is asserted).
The address fields are the next fields in the frame. First is the 48-bit destination address
followed by the 48-bit source address. Then comes the 2-byte length field. Then comes
the LLC data and any pad bits required so the frame size is the minimum allowable
(which is 64 bytes not including FCS).
Finally, we have the 4 byte frame check sequence (FCS) which is a CRC to check for
frame errors due to Ethernet PHY (EPHY) transmission impairments. All fields except
the preamble, SFD, and FCS are used to compute the CRC. The CRC generating
polynomial is G(x) = X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1.
The 32 bits of the CRC value are placed in the FCS field so that the X31 term is the
leftmost bit of the first byte of the field, and the X0 term is the rightmost bit of the last
byte of the field. The bits of the FCS field are thus transmitted in the order X31, X30, ...,
X2, X1, X0.
7-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.2
Parameterized Values Used in Implementation
Table 7-1 shows the values of the standard parameters used in the EMAC
implementation. These parameters are defined in sections 4.4.2.1 of Reference [4] and
4.4.2.3 of Reference [5]. The value specified for the Interframe Gap (IFG) parameter
determines the speed of the Ethernet. It is defined to be 96 µs for 1 Mb/s implementation,
9.6 µs for 10 Mb/s implementation, and 0.96 µs for 100 Mb/s implementation. Only the
10 Mb/s and 100 Mb/s implementations are supported in the HNP. The IFG parameter is
programmable through the Ethernet Network Access Register (bits 17:16 of E_NA_1 and
E_NA_2 for EMAC1 and EMAC2, respectively).
Table 7-1. Parameterized Values Implemented in EMAC
Parameter
SlotTime
IFG (Interframe Gap)
AttemptLimit
BackoffLimit
JamSize
MaxFrameSize
MinFrameSize
AddressSize
101306C
Values
512 bit times
programmable
16
10
32 bits
1518 bytes
512 bits (64 bytes)
48 bits
Conexant Proprietary and Confidential Information
7-3
CX82100 Home Network Processor Data Sheet
7.3
EMAC Functional Features
The EMAC block supports the MAC sublayer of the IEEE 802.3 and allows it to be
connected to an IEEE 802.3 10/100 Mbps (100BASE-T and 10BASE-T) MII compatible
EPHY device. The EMAC block supports the following features:
•
•
For frame transmission
− Accepts data from host and constructs a frame
− Presents nibble data stream to the EPHY
For frame reception
− Receives nibble data stream from the EPHY
− Presents to the host frames that are either broadcast/multicast frames or directly
addressed to the local station
− Discards or passes to the host all frames not addressed to it (programmable)
− Defers transmission whenever the medium is busy
− Delays transmission of frame for specified interframe gap (IFG) period
− Appends preamble, SFD, FCS to frames, and inserts PAD field for frames
whose data length is less than minFrameSize
− Halts transmission when collision is detected
− Enforces collision to ensure propagation throughout network by sending jam
message
− Schedules retransmission after a collision until attemptLimit is reached
− Checks received frames for transmission errors by way of FCS
− Discards received frames that are less than minFrameSize.
− Removes preamble and SFD. FCS and pad field (if necessary) from received
frames are passed along.
− IEEE 802.3u MII Physical Layer Interface
− Full-duplex or half-duplex operation
− Normal and internal loopback mode
− Linked list transmit data structures for scatter/gather support.
− Programmable data padding and FCS capability
− Address filtering (promiscuous, perfect, inverse and hash filtering)
− Programmable IFG
− Generates signals for software to maintain MIB (Management Information
Base) status in software
− Management Data Interface (MDI) to an MII compliant EPHY
− qword (64-bit) interface to the DMA controller
In half-duplex mode, the HNP checks the line condition before starting to transmit. If the
condition is clear, it starts transmitting (after IFG). Transmit enable (EMx_TXEN) asserts
and data is transferred through the MII port.
7-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Full-duplex operation allows simultaneous transmission and reception of data, which can
effectively double data throughput to 20 or 200 Mb/s. In full-duplex mode, the HNP
starts transmitting a frame provided that IFG duration time has elapsed since its previous
transmission. Since there is no collision in full-duplex mode, the transmission always
ends successfully. The HNP monitors the line for a new frame transmission in both half
and full duplex modes. A new frame transmission is defined as both transmit data valid
and carrier sense asserted.
The following features of the EMAC should be taken into account:
101306C
•
The FCS is defined as a 32-bit field, which means the minimum number of data
bytes required for a meaningful FCS is 4 (i.e. you can not generate a 32-bit FCS
from data that is shorter than 32-bits). Packets which are less than 4 bytes long,
should not be checked for FCS.
•
Received EMAC frames are padded to align to qword boundaries, during
reception, prior to DMAC transfer. However, the length that is used in the length
status field is calculated prior to the padding insertion. This length field, FL, bits
31-16 of the RMAC in-line status qword, is provided in bytes. This length, FL,
includes the entire frame that was transmitted, including CRC, but it does not
include the padding bytes that were added by the EMAC receiver to align to the
qword boundary. The next frame is defined to start at the beginning of that same
qword boundary.
•
Setting up the EMAC receiver for address filtering is done by directly
programming all filter related register bits (E_NA_HP, E_NA_HO, E_NA_IF,
E_NA_PR, and E_NA_PM) via writes to the E_NA register.
•
If an RX FIFO overflow interrupt occurs, the RX should be reset via bit
E_NA_RRX in the E_NA register. The most recently written packet in the RX
circular buffer is damaged, and must be aborted by the software.
Conexant Proprietary and Confidential Information
7-5
CX82100 Home Network Processor Data Sheet
7.4
EMAC Architecture
Block diagram of the EMAC unit is shown in Figure 7-3.
Figure 7-3. EMAC Functional Block Diagram
ETXCK
TM AC
TXFIFO
APB
Tx Buffer Manager
(TBM)
SYNC
Rx Buffer Manager
(RBM)
SYNC
ETXD[3:0]
MAC
Transm itter
DMA
Interface
MAC
Receiver
RXFIFO
ERXD[3:0]
RM AC
HNP
ERXCK
101545_030
The EMAC module interfaces with the DMA controller through the DMA interface
block. The APB address is decoded in this block. Tx Buffer Manager (TBM) and Rx
Buffer Manager (RBM) blocks control the MAC Transmitter and MAC Receiver,
respectively. TBM and RBM issue the requests to the DMA controller and control their
own FIFOs.
Synchronization is required between the MAC receiver and the RBM because they
operate on different clocks (PCLK and EMx_RX_CLK, respectively). Similarly,
synchronization is required between the MAC transmitter and the TBM because they
operate on different clocks (PCLK and EMx_TX_CLK, respectively).
7-6
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.5
Media Independent Interface (MII)
The MII provides a port for transmit and receive data that is media independent, multivendor interoperable, and supports all data rates and physical standards. The port consists
of data paths that are 4 bits wide in each direction as well as control and management
signals. Figure 7-4 shows the MII connector with signal names and the contact
assignment.
Figure 7-4. MII Connector
ETXER
ERXER
ETXCK
ERXCK
ETXEN
ERXDV
ETXD[3:0]
ERXD[3:0]
EC OL
MD C
ECRS
MDIO
+5V
+5V
15 mm
+5V
20
1
40
21
G rounds (22-39)
+5V
50 mm
1015435_031
The primary function of the MII is to provide the interface to the EPHY and necessary
digital interface for EPHY management. The MII management interface utilizes a
communications protocol similar to a serial EEPROM. The 10/100 MAC MII interface
provides all services required by the MII, including encoding and decoding of MII.
101306C
Conexant Proprietary and Confidential Information
7-7
CX82100 Home Network Processor Data Sheet
7.6
EMAC Interrupts
The EMAC provides three interrupts each for EMAC1 and EMAC2:
•
•
•
Int_EMAC#{x}_ERR (diagnostics/exception interrupt)
Int_DMAC_EMAC#{x}_RX (packet received interrupt)
Int_DMAC_EMAC#{x}_TX (transmission complete interrupt)
where {x} indicates the EMAC number (1 or 2).
These interrupt bits are located in the INT_Stat register (see Section 11.2.2).
Int_EMAC#{x}_ERR is set to 1 if any number of EMAC interrupts occur. Before an
EMAC interrupt can be recognized by the HNP, its corresponding enable bit must be set
to 1 in E_IE_{x}. The equation for the Int_EMAC#{x}_ERR is as follows:
Int_EMAC#{x}_ERR =
(E_IE_AU and E_LP_AU) or
(E_IE_AI and (E_S_ES or E_S_TUF or E_S_TOF or E_S_RO or E_S_TJT or
E_S_RWT)) or
E_IE_NI and (E_LP_RI or E_LP_TI) or
(E_IE_TU and E_S_TU) or
(E_IE_RW and E_S_RWT) or
(E_IE_TOF and E_S_TOF) or
(E_IE_TUF and E_S_TUF) or
(E_IE_ED and E_S_ED) or
(E_IE_DF and E_S_DF) or
(E_IE_RLD and E_S_RLD) or
(E_IE_TF and E_S_TF) or
(E_IE_TJT and E_S_TJT) or
(E_IE_NCRS and E_S_NCRS) or
(E_IE_LCRS and E_S_LCRS) or
(E_IE_16 and E_S_16) or
(E_IE_LC and E_S_LC) or
(E_IE_RI and E_LP_RI) or
(E_IE_TI and E_LP_TI)
Int_DMAC_EMAC#{x}_RX bit field is set to 1 in the INT_Stat register after the
receiver posts the status in the status field of the RX buffer for a good packet when
E_NA_PB bit of E_NA_{x} is 0 (do not pass bad packet). When E_NA_PB is set to 1
(pass bad or good packet), The Int_DMAC_EMAC#{x}_RX bit is set after the receiver
post the status for a good or bad packet.
Int_DMAC_EMAC#{x}_TX bit field is set to 1 in the INT_Stat register after the
transmitter posts the status of the packet in the TX buffer or when the transmitter gets a
stop descriptor (ready bit in the TDES is zero).
7-8
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.7
TMAC Architecture
Before the host requests transmission of a frame, it constructs the data (LLC data) field of
the frame in memory. The TMAC appends a preamble and a SFD to the beginning of the
frame. Using information from the descriptor, TMAC also appends a PAD at the end of
the data field of sufficient length to ensure that the transmitted frame length satisfies a
minimum frame. TMAC then attempts to avoid contention with other traffic on the
medium by monitoring the carrier sense signal provided by the Ethernet PHY and
deferring to passing traffic. When the medium is clear, frame transmission is initiated
(after a brief interframe delay to provide recovery time for other devices on the medium).
The TMAC then provides data nibbles to the EPHY on the MII.
The EPHY monitors the medium and generates the collision detect signal, which, in the
contention-free case, remains off for the duration of the frame. When transmission has
completed without contention, the TMAC informs the host by writing status into the
memory and awaits the next request.
7.7.1
Transmit Frame Structure
Before the TMAC can start transmitting a frame containing the LLC data, a transmit
message structure as shown in Figure 7-5 must be constructed by the host in ARM's
memory. TMAC reads data from the memory (via DMA channel 1 or 3) to transmit via
MII and writes data into the memory to update the status. The ARM host is the master for
TMAC transmit operations and serves data to the TMAC via the APB. It is also the host's
task to assemble Ethernet frames to be sent out by the TMAC. The transmit descriptor
(TDES), the transmit status (TSTAT), and the sequence of transmitter DMA operation
are described below. Note that the qword count which is to be loaded into the
DMAC_{x}_CNT1 register should always include the first qword reserved for the
transmit status.
101306C
Conexant Proprietary and Confidential Information
7-9
CX82100 Home Network Processor Data Sheet
Figure 7-5. EMAC Transmit Frame Structure
4 Bytes
W ritten By
TM AC
Used By
Status (TSTAT Frame #N)
0x00000000
ARM
Descriptor (TDES Frame #N)
TM AC
Data (Frame #N)
Requested by T MAC & Sent
to T MAC FIFO by DMAC
ARM
Data (Frame #N)
Next DMA Ptr (Frame #N)
Next DMA Cnt (Frame #N)
DM AC
Data (Frame #N)
ARM
Requested by T MAC & Sent
to T MAC FIFO by DMAC
Data (Frame #N)
Next DMA Ptr (Frame #N)
Next DMA Cnt (Frame #N)
DM AC
Data (Frame #N)
Requested by T MAC & Sent
to T MAC FIFO by DMAC
ARM
Data N (End of Frame #N)
TM AC
ARM
Status (TSTAT Frame #N+1)
0x00000000
Descriptor (TDES Frame #N+1)
TM AC
Data (Frame #N+1)
Requested by T MAC & Sent
to T MAC FIFO by DMAC
ARM
Data (Frame #N+1)
Next DMA Ptr (Frame #N+1)
Next DMA Cnt (Frame #N+1)
DM AC
101545-032
7-10
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.7.2
Transmit Descriptor
The contents of the Transmit Descriptor (TDES) are described in Table 7-2.
Table 7-2. Transmit Descriptor Format
Bit(s)
31:17
16
Field
RDY
15:4
TLEN
3
2
SET
1
DPD
0
AC
101306C
Transmit Descriptor (TDES) Description
Unused.
Frame Ready.
0 = Frame not ready to be transmitted.
1 = Frame ready to be transmitted.
Transmit Frame Length.
Transmit frame length in bytes. Range is 0–4095. This includes the preamble, SFD, DA, SA, length,
and data to transmit.
Reserved.
Setup Frame.
0 = Current frame is not a setup frame.
1 = Current frame is a setup frame.
Disable TX Padding.
0 = Enable TX padding.
1 = Disable TX padding.
Disable CRC Appending.
0 = Enable CRC appending.
1 = Disable CRC appending.
Conexant Proprietary and Confidential Information
7-11
CX82100 Home Network Processor Data Sheet
7.7.3
Transmit Status (TSTAT)
The contents of the Transmit Status (TSTAT) are described in Table 7-3.
Table 7-3. Transmit Status Format
Bit(s)
31
Default
1’b0
30
1’b0
TU
29:21
20:17
4’b0
TS
16
1’b0
**
TOF
15
1’b0
**
TUF
14
1’b0
**
ED
13
1’b0
**
DF
12
1’b0
*, **
CD
11
1’b0
**
ES
10
1’b0
**
RLD
9
1’b0
*, **
8
1’b0
7-12
Type
Name
TDN
TF
TJT
Description
Transmit Completed.
0 = Transmit not completed successfully.
1 = Transmit completed successfully (from buffer manager).
Transmit Stopped.
0 = Transmit not stopped.
1 = Transmit stopped (descriptor not ready).
Unused.
Transmit State.
0 = MII transmitter state inactive.
1 = MII transmitter state active (except during setup frames).
For test only.
Transmit Buffer Manager FIFO Overflow.
0 = Transmit buffer manager FIFO overflow has not occurred
(MIB11).
1 = Transmit buffer manager FIFO overflow has occurred.
Transmit Buffer Manager FIFO Underflow.
0 = Transmit buffer manager FIFO underflow has not occurred
(MIB11).
1 = Transmit buffer manager FIFO underflow has occurred (MIB11).
Excessive Transmit Deferrals.
0 = Excessive deferral did not occur.
1 = The HNP is attempting to transmit and is deferred longer than:
10 Mbps: 8192 x 400 ns
100 Mbps: 81920 x 40 ns
Frame Deferred.
0 = Frame has not been deferred at least once (MIB8).
1 = Frame has been deferred at least once (MIB8).
Frame Transmit Completed.
0 = Frame transmit not completed successfully (from MII interface).
1 = Frame transmit completed successfully (from MII interface).
Transmit Error Summary.
0 = Frame has not been deferred at least once (MIB8).
1 = Transmitter error summary (TF or C16 or LC or NCRS or LCRS
or TJT).
Reload.
0 = Frame has not been deferred at least once (MIB8).
1 = Transmit FIFO reload/abort during frame (includes collisions).
Transmit Fault (from MII Interface).
0 = Unexpected transmit data request during frame has not
occurred.
1 = Unexpected transmit data request during frame has occurred.
Transmit Jabber Timeout.
0 = Jabber timer not expired.
1 = Jabber timer expired.
E_NA_HUJ and E_NA_HUJ must be configured for this bit to function.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Bit(s)
7
Description
No Carrier.
0 = No carrier (EMx_CRS pin never gone high) during frame
transmit.
1 = No carrier (EMx_CRS pin never transitioned high) during frame
transmit.
Lost Carrier.
6
1’b0
**
LCRS
0 = Carrier was not lost during frame transmit.
1 = Carrier was lost (EMx_CRS pin transitioned low) at least once
frame transmit (MIB18).
16 or More Collisions.
5
1’b0
*, **
C16
0 = 16 or more collisions have not occurred during frame transmit.
1 = 16 or more collisions have occurred during frame transmit.
Late Collision.
4
1’b0
*, **
LC
0 = A late collision (after the 64th byte) has not occurred during
frame transmit.
1 = A late collision (after the 64th byte) has occurred during frame
transmit (MIB16).
Collision Count.
3:0
4’b0
**
CC
Transmit collision count of the frame. Resets after the frame is
transmitted successfully (MIB9). Increments with every collision of the
current frame.
* This field resets to its default value at the start of every transmit attempt (successful or unsuccessful termination)
** This field resets to its default value after a successful transmit.
101306C
Default
1’b0
Type
**
Name
NCRS
Conexant Proprietary and Confidential Information
7-13
CX82100 Home Network Processor Data Sheet
7.7.4
Sequence of Transmitter DMA Operation
TMAC DMA operation is illustrated in Figure 7-6.
Figure 7-6. TMAC DMA Operation for Channel {x} = 1 or 3
Host assembles the frame to
be transmitted in linked list
structure and writes the T DES
Host programes the base
pointer DMAC_{x}_PTR1 and
the length DMAC_{x}_CNT 1 for
the 1st fragment of the frame
Host sets the E_NA_STRT bit in
register E_NA_{x} to cause the
TMA C to start the transmission
TMAC starts the DMA on channel {x} by issuing
the DMA_S AVE command to DM AC. DMAC
saves PTR 1 to PRT2 and CNT1 to CNT2.
T MAC issues DMA_XN XT
command to DMAC to skip
the TSTAT field.
TMAC issues DMA_XNXT command
to DMA C to receive the TDES and
the 1st 4 bytes of the data.
no
TDES.RDY bit O N?
yes
TM AC issues DMA_XNX T
commands to fill up the F IFO
and starts transmitting nibbles.
no
Last double word
received?
TM AC updates the E_S_TU bit in register
E_Stat_1 (or E_Stat_2) to interrupt the
host, providing the bit E_IE_TU is set in
register E_IE_1 (or E_IE _2)
Host reads the bit
TSTAT.TDN to determine
the transmission status.
yes
TMAC continues to
transmit nibbles in the
FIFO until completion.
TMAC Transmission
stopped.
TMAC issues
DMA_XSAVE to request
DMAC to write the TS TAT
to host memory
TMAC issues DMA_IN TR
to DMAC to signal the
end of a frame.
101545_033
7-14
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.8
RMAC Architecture
7.8.1
Support for the Detection of Invalid MAC Frames
As defined in the 802.3 specification, an invalid MAC frame meets at least one of the
following conditions:
•
The frame length is inconsistent with the length field.
•
The frame length is not an integral number of bytes.
•
The frame bits (excluding FCS) do not generate correct CRC value (CRC mismatch).
The 802.3 specification requires that contents of invalid frames must not be passed to
LLC. This functional requirement will be handled by software. The software will be
supplied status to distinguish valid from invalid frames. This is described as follows:
Condition 1
The RMAC hardware will not parse the type/length field. In the case of a valid frame, the
hardware will infer the length based on MII signaling, and pass the length (the FL field)
as part of the "status qword" (see Section 7.8.5). For invalid frames, the length
information may or may not be available to the software. In the case where the
type/length field is type, neither hardware nor software will detect this invalid condition.
If the type/length field is length, the software will detect this condition. The type/length
field indicates whether the frame is in IEEE 802.3 format or Ethernet format. A field
greater than 1500 is interpreted as a type field, which defines the type of protocol of the
frame. A field smaller than or equal to 1500 is interpreted as a length field, which
indicates the number of data bytes in the frame.
Condition 2
The RMAC hardware will detect this invalid condition and report it in the status qword as
bit DB (dribble bit).
Condition 3
The RMAC hardware will detect and record this invalid condition by using a local
Management Information Base (MIB) counter, named "CRC" (bits 52-59 of the status
qword, see Table 7-8). This is an 8-bit counter which will be reset when the RMAC
hardware detects that a good packet has been read by the DMAC. It will be incremented
by one when a CRC mismatch occurs. This counter is passed to the software as part of
the status qword.
7.8.2
Support for the Reception Without Contention
The 802.3 specification requires that each receiving station is responsible for collecting
data bits from MII as long as the Carrier Sense signal is asserted. When Carrier Sense is
deasserted, the frame is truncated to a byte boundary, if necessary, and passed to Receive
Data Decapsulation for processing. Receive Data Decapsulation is required to check the
frame’s Destination Address field to decide if the frame should be received by this
station. If so, it passes the Destination Address, the Source Address, and LLC data unit to
101306C
Conexant Proprietary and Confidential Information
7-15
CX82100 Home Network Processor Data Sheet
the LLC sublayer along with a status code indicating reception_complete or
reception_too_long (longer than 1518 bytes).
To support this requirement, address filtering (see Section 7.8.4) is to be used. Address
filtering is very computation intensive since it is required to be performed on every
packet on the Ethernet, regardless of its intended destination. Address filtering will be
supported in the RMAC hardware for "Destination Address" only. Nevertheless, the
software will be capable to program the hardware to promiscuous mode (see page 7-22),
which would pass all packets. Also, the software will be able to program the hardware to
pass bad packets. Therefore, the software will have flexibility to handle address filtering
if it so chooses.
The RMAC hardware will also provide hooks to the software to support
reception_complete or reception_too_long to allow compliance with the 802.3
specification requirement. These conditions are reported in the status qword.
7.8.3
Support for the Reception With Contention
EMx_COL asserted indicates collision detected. RMAC is required to distinguish frame
fragments received during collisions from valid frames. It will be implemented in
hardware. Early collisions will be ignored. Late collisions, after DMAC transfer
initiation, will be reported in the RMAC status qword as bit LC (late collision).
7.8.4
Address Filtering
The HNP EMAC supports address filtering in hardware for full 48-bit Ethernet
destination addresses only. The process for setting up the address filters and configuring
the filtering modes are described in the next few sections.
Setup Frame
The TMAC and RMAC operate independently during normal operation except during
setup frames. Setup frames are not transmitted on the MII interface but are looped back
from the TMAC to the RMAC and are used to program the address filters. A setup frame
defines the Ethernet addresses that are used to filter all incoming frames and must be
processed before the reception process is started, except when it operates in promiscuous
filtering mode. When processing the setup frame, the receiver logic temporarily
disengages from the MII interface and the transmission process must be running. The
setup frame is processed after all preceding frames have been transmitted and the current
frame reception (if any) is completed. The setup frame size must be exactly 192 bytes
(see Table 7-4).
Perfect Address Filtering
The HNP system can store up to 16 full 48-bit Ethernet destination addresses. RMAC
compares the destination address of any incoming frame to these addresses and decides
whether to reject or accept the frame based on the filtering mode configured in the
E_NA_1 or E_NA_2 register (defined in Section 7.11.3). This filtering method is called
perfect address filtering (as opposed to the hashing-based imperfect address filtering
defined in this section) because it accepts addresses that
•
Do not match if in inverse filtering mode (defined in this section).
•
Match if not in inverse filtering mode.
Table 7-4 shows the perfect address filtering Setup Frame format in the host memory.
The RMAC only keeps the column labeled "15....0" in a 48 x 16-bit hardware buffer.
7-16
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 7-4. Setup Frame Buffer Format
Entry No.
0
1
2
3
4
5
6
7
8
45
46
47
Bytes
3:0
7:4
11:8
15:12
19:16
23:20
27:24
31:28
35:32
.....
183:180
187:184
191:188
Bits 31:16
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
.....
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
Bits 15:0
Bytes [1:0]
Bytes [3:2]
Bytes [5:4]
Bytes [1:0]
Bytes [3:2]
Bytes [5:4]
Bytes [1:0]
Bytes [3:2]
Bytes [5:4]
.....
Bytes [1:0]
Bytes [3:2]
Bytes [5:4]
Physical Address No.
Address 0
Address 1
Address 2
Address 15
Note that any mix of physical (i.e., unicast: the first bit of the address is 0) and logical
(i.e., multicast or group: the first bit of the address is 1) addresses can be used. Unused
addresses should be duplicated with one of the valid addresses.
Example of a Perfect Address Filtering Setup Frame
Figure 7-7 displays a perfect address filtering setup frame for two address filters.
Figure 7-7. A Perfect Address Filtering Setup Frame Buffer
Ethernet addresses to be filtered:
(1) 25-00-26-11-27-22
(2) 09-AB-08-D1-01-15
Setup Fram e in Host Buffer
(Little-Endian)
Setup Fram e in EM AC Buffer
(Little-Endian)
Byte No.
Byte No.
3
2
1
0
1
0
0
xx
xx
00
25
00
25
1
xx
xx
11
26
11
26
2
xx
xx
22
27
22
27
3
xx
xx
A B
09
A B
09
4
xx
xx
D1
08
5
xx
xx
15
01
6
xx
xx
A B
09
7
xx
xx
D1
08
8
xx
xx
15
01
.
.
.
.
.
.
.
.
0
(1)
1
2
3
(2)
4
5
6
7
8
D1
08
15
01
A B
09
D1
08
15
01
.
.
.
.
repeat last
valid address
45
xx
xx
A B
09
46
xx
xx
D1
08
47
xx
xx
15
01
45
46
47
A B
09
D1
08
15
01
101545_034
101306C
Conexant Proprietary and Confidential Information
7-17
CX82100 Home Network Processor Data Sheet
Imperfect Address Filtering
The HNP system can store 512 bits serving as hash bucket heads to support
"multicasting". The purpose of multicasting is to allow a group of nodes in a network to
receive the same message. Each node can maintain a list of multicast addresses that it will
respond to.
The multicast address filtering in the HNP system is a hardware-assisted hashing
mechanism. It can reduce the amount of CPU time required to determine whether or not
the incoming frame, with a multicast destination address, will be accepted.
For a given list of multicast addresses that the HNP system will respond to, the HNP
software first maps each multicast address into one of the 512 hash bits using the same
cyclic redundancy check (CRC) algorithm specified in the 802.3 standard. The CRC is
the 32-bit remainder of dividing a message polynomial (specified in the 802.3 standard)
by the generating polynomial G(x) =
X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1. Figure 7-8 shows a
division circuit for G(X) using a 32-bit linear feedback shift register. The message bits
are shifted in from the left one bit at a time according to the ascending order of X in the
polynomial representation of message bits. After all bits are shifted in, the remainder is
generated and stored in the register.
Figure 7-8. A Circuit for Dividing by G(x)
X0
X0
X1
X1
X2
X 2 X3
X4
X4
X5
X 5 X6
X7
X7
32
X 8 X9
X8
26
X 10
X 10
23
22
X 11
X 11
16
X 12 ...
X 12
12
11
X 15
X 16
X 21
...
X 16
10
8
X 22
7
5
4
X 22
X 23
X 23 .. X 25
X 26
X 26
...
X 31
X 32
2
G(X) = X +X +X +X +X +X +X +X +X +X +X +X +X +X+1
101545_035
The same CRC algorithm will be used to map each multicast address into one of the 512
hash bits organized as a 32x16 hash table. The table is seen by the software as the lower
16 bits of the first 32 entries of the setup frame. Each 6-byte multicast address that the
node will respond to is fed into the CRC algorithm to generate a 32-bit CRC value. The
most significant 9 bits of the result is used as an index into a 32x16-bit hash table. The
upper 5 bits are used to identify the row of the table and the lower 4 bits are used to point
to the bit position of the selected row. The selected bit position will be turned on (set to
binary 1) by the software.
7-18
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 7-5 shows the format for the setup frame involving multicast address filters. Note
that one physical address filter is included in this setup frame. This is usually the address
of the node itself.
Table 7-5. Imperfect Address Filtering Setup Frame Format
Entry No.
0
1
2
.....
29
30
31
32
33
34
39
40
41
42
47
Bytes
3:0
7:4
11:8
.....
119:116
123:120
127:124
131:128
135:132
139:136
.....
159:156
163:160
167:164
171:168
.....
191:188
Bits 31:16
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
.....
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
.....
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
.....
XXXXXXXXXXXXXXXX
Bits 15:0
Hash Table Row 0
Hash Table Row 1
Hash Table Row 2
.....
Hash Table Row 29
Hash Table Row 30
Hash Table Row 31
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
.....
Physical Address (Bytes [1:0])
Physical Address (Bytes [3:2])
Physical Address (Bytes [5:4])
XXXXXXXXXXXXXXXX
.....
XXXXXXXXXXXXXXXX
When a 48-bit multicast address is received, the RMAC hardware uses the same CRC
algorithm to generate the corresponding CRC value. This is shown in Figure 7-9.
The most significant 9 bits (in Little-Endian mode, these are the rightmost 9 bits of the
32-bit linear shift register) of the CRC value will be used to access a hardware hash table
that has been loaded by the setup frame described above. If the hash bit is 1 (a hit), the
frame will be accepted and delivered to the host CPU. Otherwise, the frame will be
rejected.
A hit on the hash table does not necessarily mean that the multicast frame delivered to the
host is actually destined to this node. It only assures that there is a possibility that the
incoming multicast address belongs to the node. To determine if it belongs to the node,
the host software must examine the address against the list of multicast addresses to be
accepted by this node.
This filtering method is called "imperfect" because multicast frames not addressed to this
node may slip through (an invalid address may be hashed into a bit location which is
turned on by a valid address), but it still decreases the number of frames that the host can
receive.
101306C
Conexant Proprietary and Confidential Information
7-19
CX82100 Home Network Processor Data Sheet
Figure 7-9. Imperfect Address Filtering
47
46
IG
0
Destination Address
CRC Logic
31
9
8
0
32-bit CRC
5
4
16
if IG=1
0
0
Hash Table
(32x16)
hit/m iss
31
if IG=0
one physical
address
101545_036
Example of an Imperfect Address Filtering Setup Frame
Table 7-6 displays seven multicast addresses to be filtered imperfectly and one unicast
address to be filtered perfectly. The corresponding setup frame is displayed in Figure
7-10.
Table 7-6. Hash Index Generated Using Ethernet CRC Algorithm
Multicast/Unicast
Ethernet Address
Addresses Subject to Imperfect Filtering
Physical Address Subject to Perfect Filtering
7-20
(2) D9-C2-C0-99-0B-82
(3) E7-C1-96-36-89-DD
(4) 85-00-25-00-27-00
(5) 9D-48-4D-FD-CC-0A
(6) C1-CC-28-55-D3-C7
(7) AB-46-0A-55-2D-7E
3A-12-C2-56-DE-91
32-Bit CRC Value in
Little-Endian Mode
0xD57701F6
0x8C14FEBE
0x3BE71E3C
0x4D69365E
0xD4BE5976
0x18883CD2
0x78081873
—
Conexant Proprietary and Confidential Information
Hash Index:
(Most Significant 9
Bits of the CRC Value)
0x1F6
0x0BE
0x03C
0x05E
0x176
0x0D2
0x073
—
101306C
CX82100 Home Network Processor Data Sheet
Figure 7-10. Example of Imperfect Filtering Setup Frame
Ethernet addresses to be filtered
Perfect Filtering
Im perfect Filtering
(1)
(3)
(5)
(7)
A3-C5-62-3F-25-87
E7-C1-96-36-89-DD
9D-48-4D-FD-CC-0A
AB-46-0A-55-2D-7E
(2) D9-C2-C0-99-0B-82
(4) 85-00-25-00-27-00
(6) C1-CC-28-55-D3-C7
Setup Fram e in Host Buffer (Little-Endian)
Byte No.
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
3
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
2
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
1
0
0
0
1
0
4
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
x
x
x
x
x
x
1
5
9
x
x
x
x
x
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
x
x
x
x
x
x
2
6
1
x
x
x
x
x
x
Setup Fram e in EM AC Buffer (Little-Endian)
0
00
00
00
00
00
00
00
08
00
00
00
00
00
04
00
00
00
00
00
00
00
00
00
40
00
00
00
00
00
00
00
40
xx
xx
xx
xx
xx
xx
xx
3A
C2
DE
xx
xx
xx
xx
xx
xx
3A-12-C2-56-DE-91
Byte No.
(3)
(4)
(6)
(2)
(6)
(5)
(1)
Physical
Address
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
1
0
0
0
1
0
4
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
x
x
x
x
x
x
1
5
9
x
x
x
x
x
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
x
x
x
x
x
x
x
2
6
1
x
x
x
x
x
x
0
00
00
00
00
00
00
00
08
00
00
00
00
00
04
00
00
00
00
00
00
00
00
00
40
00
00
00
00
00
00
00
40
xx
xx
xx
xx
xx
xx
xx
3A
C2
DE
xx
xx
xx
xx
xx
xx
Hash
Table
101545_037
101306C
Conexant Proprietary and Confidential Information
7-21
CX82100 Home Network Processor Data Sheet
Address Filtering Modes
Eight different address filtering modes are supported in the HNP. These modes are
configured through the E_NA_PM, E_NA_PR, E_NA_IF, E_NA_HO, and E_NA_HP
bits of the Network Access Register (see Section 7.11.3). Table 7-7 lists the combination
of these bits to select the desired address filtering mode. Each mode is described below.
Table 7-7. Address Filtering Mode
Address Filtering Mode
16 Perfect Filtering
Inverse Filtering
1 Perfect Filtering +
512-Hash Bit Imperfect
Filtering
512-Hash Bit Imperfect
Filtering Only
Promiscuous
Pass All Multicast
Pass All Multicast + 16
Perfect Filtering
Pass All Multicast + 1
Perfect Filtering
E_NA_PM:
(Pass All
Multicast)
E_NA_IF:
(Inverse
Filtering)
E_NA_HO:
(Hash
Only)
0
0
0
E_NA_PR:
(Receive
Any Good
Frame)
0
0
0
0
1
0
0
0
0
E_NA_HP:
(Hash/
Perfect
Filtering)
0
0
1
0
0
0
1
1
x
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
x
1
1
0
1
0
0
0
1
16 Perfect Filtering Mode. RMAC provides support for the perfect filtering of up to 16
Ethernet unicast or multicast addresses. Any mix of addresses can be used. The 16
addresses used will occupy all of the allocated space in the setup-frame.
Inverse Filtering Mode. In this mode, all frames with addresses that match any of the 16
perfect addresses in the setup frame will be rejected. Frames with addresses that do not
match any of the 16 perfect addresses in the setup frame will be accepted.
One Perfect Filtering + 512-Hash Bit Imperfect Filtering Mode. RMAC supports one,
single unicast address to be perfectly filtered with an unlimited number of multicast
addresses to be imperfectly filtered. The single address that is to be perfectly filtered will
need to reside in byte locations <156, 157>, <160, 161>, <164, 165> of the setup frame.
The lower 16 bits of the first 32 entries of the setup frame is treated as a 512-bit hash
table for imperfect filtering.
This mode supports the needs of applications that require one, single physical address to
be filtered as the node's address, while allowing reception of more than 16 multicast
addresses without suffering the overhead of passing all multicast frames to the host.
512-Hash Bit Imperfect Filtering Only Mode. RMAC supports imperfect filtering for
an unlimited number of unicast addresses as well as multicast addresses. The lower 16
bits of the first 32 entries of the setup frame represents a 512-bit hash table. All addresses
are used to generate indices into the hash table. Frames with addresses causing a hash
table hit are passed.
This mode supports the needs of applications that require more than one physical address
to be filtered as the node's address, while allowing reception of more than 16 multicast
addresses without suffering the overhead of passing all multicast frames to the host.
7-22
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Promiscuous Filtering Mode. RMAC supports the reception of all good frames on the
network, regardless of their destination. This mode is typically used for network
monitoring.
Pass All Multicast Filtering Mode. RMAC supports the reception of only multicast
frames.
Pass All Multicast + 16 Perfect Filtering Mode. This mode passes multicast frames and
frames with addresses matching 1 of the 16 addresses in the setup frame.
Pass All Multicast + 1 Perfect Filtering Mode. This mode passes all multicast
addresses and the single unicast address located in bytes <156, 157>, <160, 161>, <164,
165> of the setup frame.
7.8.5
Receive Status Handling
At the head of each frame received to DMAC buffering is a status qword (64 bits). Bits
59-32 of the status qword are the local MIB counters that are maintained by the hardware.
These counters (CRC, ALN, LONG, RUNT, and OFLW) can be read by the software
from the RMAC receive status as listed in Table 7-10. The MIB values are incremented,
as appropriate, for each errored packet received from the network, and inserted as part of
the status qword for each good packet that causes an interrupt when received. Each of the
local MIB counters are reset when an interrupt is generated for a good packet received.
Each of the MIB counters will maintain a value of all one's if they overflow, and a good
packet received interrupt will clear them. The contents of this status qword are shown in
Table 7-8.
101306C
Conexant Proprietary and Confidential Information
7-23
CX82100 Home Network Processor Data Sheet
Table 7-8. Definition of RMAC Receive Status
Bit(s)
63-60
59-52
Default
Name
0
CRC
51-48
0
ALN
47-44
0
LONG
43-36
0
RUNT
35-32
0
OFLW
31-16
0
FL
15
0
ES
14
13-12
0
0
OM
11
0
TS
10
0
MF
9-8
7
0
0
TL
6
0
LC
5
0
OFT
4
0
RW
7-24
Description
Reserved.
No. of CRC Errors.
The number of errors accumulated between good frames
received. Range = 0–255.
No. of Alignment Errors.
The number of alignment errors accumulated between good
frames. Range = 0–15.
No. of Long Packets.
The number of packets >1518 bytes accumulated between
good frames. Range = 0–15.
No. of Runt Packets.
The number of packets <64 bytes accumulated between good
frames. Range = 0–255.
No. of Overflow Packets.
The number of packets that caused FIFO overflow
accumulated between good frames. Range = 0–15.
Frame Length.
Frame length in bytes including CRC. Range = 0–63.
Error Summary.
0 = Error not detected.
1 = Error detected (logical OR of the following: FIFO
Overflow, CRC Error, Late Collision, Packet Too Long,
Packet Too Short).
Always 0.
Operating Mode.
00 = Normal operation.
01 = Internal loopback.
10 = External loopback.
11 = Reserved.
Packet Too Short.
0 = Packet length ≥ 64 bytes.
1 = Packet length < 64 bytes.
Multicast Frame.
0 = Not multicast frame.
1 = Multicast frame.
Always 0.
Packet Too Long.
0 = Packet length ≤ 1518 bytes.
1 = Packet length > 1518 bytes.
Late Collision.
0 = Collision did not occur after DMAC transfer initiated.
1 = Collision occurred after DMAC transfer initiated.
Old Frame Type.
0 = Frame length ≤ 1500 bytes.
1 = Frame length > 1500 bytes (legacy from DIX support).
Receive Watchdog.
0 = Watchdog timer expired during receipt of this packet.
1 = Watchdog timer expired during receipt of this packet.
Conexant Proprietary and Confidential Information
Remarks
MIB Counter
MIB Counter
MIB Counter
MIB Counter
MIB Counter
101306C
CX82100 Home Network Processor Data Sheet
Bit(s)
3
2
Default
1
0
Name
1
0
CE
0
0
OF
101306C
DB
Description
Always 1.
Dribble Bit.
0 = Packet length is an integer multiple of 8 bits.
1 = Packet length is not an integer multiple of 8 bits.
CRC Error.
0 = CRC error due to CRC mismatch not detected.
1 = CRC error due to CRC mismatch detect.
FIFO Overflow.
0 = RMAC FIFO did not overflow.
1 = RMAC FIFO overflowed.
Conexant Proprietary and Confidential Information
Remarks
7-25
CX82100 Home Network Processor Data Sheet
7.8.6
Sequence of Receiver DMA Operation
The sequence of receiver DMA operation is illustrated in Figure 7-11.
Figure 7-11. Sequence of Receiver DMA Operation
Host initiates the Setup Frame to
configure the H/W address filtering.
Transmit & receive operations are
disabled.
Host programs the type of address
filtering in the E_NA_1 or E_NA_2
register (7 different types).
Host specifies the circular buffer for
the receiving channel {x} by loading
the base pointer DMAC_{x}_Ptr1
and the length DMAC_{x}_Cnt1
Host controls the receive Start/Stop
by programming the E_NA_SR bit
of the E_NA_1 or E_NA_2 register
E_NA_SR=1?
wait for
E_NA_SR
assertion
no
yes
RMAC issues DMA_SAVE command to DMAC to
save DMAC_{x}_Cnt1 to DMAC_{x}_Cnt3
RMAC collects data bits from MII as
long as the Carrier Sense is aserted.
8 bytes of data
collected?
no
yes
RMAC issues DMA_XNXT to DMAC to
transfer the data to the buffer
A Complete frame
received?
wait for
E_NA_SR
assertion
RMAC Updates the
MIB counters and
aborts the frame by
sending DMA_RELD
command to DMAC
no
yes
yes
E_NA_SR deasserted?
no
no
A good frame received?
yes
MIB counter are loaded to the
status double-word which is in
turn written to the head of the
received frame by DMAC.
RMAC interrupts the host and the
host processes the good frame
RMAC resets MIB counters and
the status double-word.
101545_038
7-26
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.9
7-Wire Serial Interface (7-WS)
This mode is enabled by setting bit 7 of the EMAC x Network Access register
(E_NA_{x}). In this mode the MII interface works in serial mode and is designed to
interface to Conexant’s CX24611 HomePNA 2.0 PHY/AFE or to any other GPSI
interface (AMD's "General Purpose Serial Interface," a de facto standard for MAC-to10Base-T device interface). All MII signals function the same way as in Ethernet mode
except that the 4-bit data is serialized on pins EMx_TXD0 and EMx_RXD0, and
EMx_TXD0 and EMx_TXEN are driven from the negative edge of EMx_TX_CLK.
Table 7-9 describes the signals for the 7-WS interface.
Table 7-9. 7-WS Interface Signals
7-WS Signal
RXD
MII Signal
EMx_RXD0
Direction
Input
RCLK
EMx_RX_CLK
Input
RENA
EMx_RXCRS
Input
TXD
EMx_TXD0
Output
TCLK
EMx_TX_CLK
Input
TENA
EMx_TXEN
Output
CLSN
EMx_COL
Input
101306C
Description
Receive Data.
Receive input bit stream.
Receive Clock.
A 10 MHz square wave synchronized to the Receive Data and only active
while receiving an input bit stream.
Receive Enable.
A logical input that indicates the presence of carrier on the channel.
Transmit Data.
Transmit output bit stream.
Transmit Clock.
10 MHz clock.
Transmit Enable.
Transmit output bit stream enable. While asserted, it enables valid
transmit output (TXD).
Collision.
A logical input that indicates that a collision is occurring on the channel.
Conexant Proprietary and Confidential Information
7-27
CX82100 Home Network Processor Data Sheet
7.10
EMAC Register Memory Map
EMAC registers are identified in Table 7-10.
Table 7-10. EMAC Registers
Register Label
E_DMA_1
E_NA_1
E_Stat_1
E_IE_1
E_LP_1
E_MII_1
ET_DMA_1
E_DMA_2
E_NA_2
E_Stat_2
E_IE_2
E_LP_2
E_MII_2
Register Name
EMAC 1 Source/Destination DMA Data
Register
EMAC 1 Network Access Register
EMAC 1 Status Register
EMAC 1 Interrupt Enable Register
EMAC 1 Receiver Last Packet Register
EMAC 1 MII Management Interface Register
ASB Address
0x00310000
Type
RWp
Default Value
(don’t care)
Ref.
7.11.1
0x00310004
0x00310008
0x0031000C
0x00310010
0x00310018
RW
RW*
RW
RW*
RW1
0x80200000
0x00000000
0x00000000
0x00000000
0x00000008
7.11.3
7.11.4
7.11.6
7.11.5
7.11.7
EMAC 1 Destination DMA Data Register
EMAC 2 Source/Destination DMA Data
Register
EMAC 2 Network Access Register
EMAC 2 Status Register
EMAC 2 Interrupt Enable Register
EMAC 2 Receiver Last Packet Register
EMAC 2 MII Management Interface Register
0x00310020
0x00320000
ROp
RWp
(don’t care)
(don’t care)
7.11.2
7.11.1
0x00320004
0x00320008
0x0032000C
0x00320010
0x00320018
RW
RW*
RW
RW*
RW2
0x80200000
0x00000000
0x00000000
0x00000000
0x00000008
7.11.3
7.11.4
7.11.6
7.11.5
7.11.7
0x00320020
ROp
(don’t care)
7.11.2
ET_DMA_2
EMAC 2 Destination DMA Data Register
Notes:
1. Bit E_MII_1[1] is read only.
2. Bit E_MII_2[1] is read only.
7-28
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.11
EMAC Registers
7.11.1
EMAC x Source/Destination DMA Data Register (E_DMA_1: 0x00310000 and
E_DMA_2: 0x00320000)
E_DMA_1 and E_DMA_2 are the EMAC source/destination DMA data registers for
EMAC1 and EMAC2, respectively (used by the EMAC DMA transmit channel).
Bit(s)
63:0
Type
RWp
7.11.2
Default
64’bx
Name
E_DMA
Description
A qword buffer for DMA source/destination access.
EMAC x Destination DMA Data Register (ET_DMA_1: 0x00310020 and
ET_DMA_2: 0x00320020)
ET_DMA_1 and ET_DMA_2 are the EMAC destination DMA data registers for EMAC1
and EMAC2, respectively (used by the EMAC DMA receive channel).
Bit(s)
63:0
101306C
Type
ROp
Default
64’bx
Name
ET_DMA
Description
A qword buffer for DMA destination access.
Conexant Proprietary and Confidential Information
7-29
CX82100 Home Network Processor Data Sheet
7.11.3
EMAC x Network Access Register (E_NA_1: 0x00310004 and E_NA_2:
0x00320004)
E_NA_1 and E_NA_2 are the EMAC Network Access registers for EMAC1 and
EMAC2, respectively.
Bit(s)
31
Type
RW
Default
1’b1
Name
E_NA_RTX
30
RW
1’b0
E_NA_STOP
29:28
27
RW
1’b0
E_NA_HP
26
RW
1’b0
E_NA_HO
25
RW
1’b0
E_NA_IF
24
RW
1’b0
E_NA_PR
23
RW
1’b0
E_NA_PM
22
RW
1’b0
E_NA_PB
21
RW
1’b1
E_NA_RRX
20
RW
1’b0
E_NA_THU
Description
TX Software Reset.
0 = No effect.
1 = Once 1 is written, write 0 into field to get out of reset. All internal
registers of RX and TX (including all bits of this register) are
reset to their default value.
Stop Transmit Control.
0 = No effect.
1 = Stop the transmitter after the current frame (if any).
Unused.
Hash/Perfect Address Filter Mode Control.
E_NA_HP, E_NA_HO, E_NA_IF, E_NA_PR, E_NA_PM should be
programmed according to Table 7-7 to select the desired address
filtering mode.
Hash Only Control.
See E_NA_HP for description.
Inverse Filter Control.
See E_NA_HP for description.
Promiscuous Mode Control.
See E_NA_HP for description.
Pass All Multicast.
See E_NA_HP for description.
Pass Bad Packet Control.
0 = Disable.
1 = Receive any packets, if pass address filter, including runt
packets, CRC error, truncated packets.
RX Software Reset.
0 = No effect.
1 = Once 1 is written, write 0 into field to get out of reset. All internal
RX registers are reset to their default value. This bit can only be
cleared after E_NA_RTX bit is cleared.
TX Test HUJ Control.
19
RW
1’b0
E_NA_DIS
TX Disable Back-Off Counter Control.
18
RW
1’b0
E_NA_RUT
TX Reset Unit Timer Control.
17:16
RW
2’b00
E_NA_IFG
Interframe Gap (IFG) Period Select.
Value is read as an integer and substitutes E_NA_IFG in the following
equations:
100 Mbps: IFG = 960 – 40* E_NA_IFG ns
10 Mbps: IFG = 9600 – 40* E_NA_IFG ns
7-30
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Bit(s)
15
Type
RW
Default
1’b0
14
RW
1’b0
E_NA_HUJ
13
RW
1’b0
E_NA_JCLK
12
RW
1’b0
E_NA_SB
11
RW
1’b0
E_NA_FD
10:9
RW
2’b00
E_NA_OM
8
RW
1’b0
E_NA_FC
7
RW
1’b0
E_NA_HLAN
6
RW
1’b0
E_NA_SR
5
RW
1’b0
E_NA_NS
4
RW
1’b0
E_NA_RWR
101306C
Name
E_NA_JBD
Description
Jabber Disable.
0 = Enable.
1 = Disable checking for exceedingly long packets during transmit
operations. If the Transmit Jabber function is enabled, E_S_TJT
will be set after the timer has expired.
E_NA_JCLK controls the duration of the Transmit Jabber Time-Out
clock.
Host Un-Jabber Control.
This field configures the time delay between a Transmit Jabber timeout event and re-enabling the transmit process.
0 = 420 ms/42 ms.
1 = Immediate.
The bit-time is dependent on the current network operating speed.
Jabber Clock Control.
This field is used to configure the length of the timer used to detect
transmit jabber conditions and cut-off transmission.
0 = 26 ms/2.6 ms.
1 = 2560 bit-times.
Start/Stop Backoff Counter.
0 = Incrementing of the collision backoff counter is not stopped
while Carrier Sense is true.
1 = Incrementing of the collision backoff counter is stopped while
Carrier Sense is true. Once Carrier Sense is false, the counter
will resume incrementing.
Valid only in Half-Duplex mode. If this field is cleared, the collision
backoff counter may expire while Carrier Sense is true. Since Carrier
Sense is an indication of network activity, the HNP may attempt to
transmit and have to defer.
Full-Duplex Select.
0 = Configure for half-duplex operation.
1 = Configure for full-duplex operation.
Operating Mode Select.
Configures the device for normal operation or Loopback test modes.
00 = Normal operation.
10 = External Loopback test.
01 = Internal Loopback test.
11 = Reserved.
TX Force Collisions.
0 = Do not force collisions on each transmit attempt while in Internal
Loopback mode.
1 = Force collisions on each transmit attempt while in Internal
Loopback mode.
7-WS Enable.
0 = Enable Parallel Data Mode on MII pins.
1 = Enable 7-wire serial interface (7-WS) on MII pins.
Receive Start/Stop Control.
1 = Start receive.
0 = Stop receive.
Network Speed Select.
0 = Configure 100 Mbps network speed.
1 = Configure 10 Mbps network speed.
Receive Watchdog Release Time Select.
0 = Release watchdog timer 24 bit times after carrier is deasserted.
1 = Release watchdog timer 48 bit times after carrier is deasserted.
Conexant Proprietary and Confidential Information
7-31
CX82100 Home Network Processor Data Sheet
Bit(s)
3
Type
RW
Default
1’b0
Name
E_NA_RWD
2:1
0
RW
1’b0
E_NA_STRT
7-32
Description
Receive Watchdog Disable.
0 = If the receiving packet's length is longer than 2560 bytes, the
watchdog timer will be expired.
1 = Disable the watchdog timer.
Reserved.
Start Transmit Control.
0 = No effect (this bit is self-clearing).
1 = Writing a 1 causes the transmitter to start if the transmitter was
idle and the stop bit (E_NA_STOP) is 0. E_NA_STOP (bit 30)
overrides E_NA_STRT. This bit is auto-cleared after TX is
complete whether it was successful or not.
E_NA_STRT E_NA_STOP
Description
0
0 = Do nothing
1
0 = Start transmitter
X
1 = Stop transmitter
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.11.4
EMAC x Status Register (E_Stat_1: 0x00310008 and E_Stat_2: 0x00320008)
E_Stat_1 and E_Stat_2 are the EMAC Status registers for EMAC1 and EMAC2,
respectively. Writing to this register will clear all of its bits (as denoted by RW*).
Bit(s)
31
Type
RW*
Default
1’b0
30:27
RW*
4’b0
E_S_RS
26
RW*
1’b0
E_S_RO
25
RW*
1’b0
E_S_RWT
24:21
RW*
4’b0
E_S_TDS
20:17
RW*
4’b0
E_S_TS
16
RW*
1’b0
E_S_TOF
15
RW*
1’b0
E_S_TUF
14
RW*
1’b0
E_S_ED
13
RW*
1’b0
E_S_DF
12
RW*
1’b0
E_S_CD
11
RW*
1’b0
E_S_ES
10
RW*
1’b0
E_S_RLD
101306C
Name
E_S_TU
Description
Transmit Stopped.
0 = Descriptor ready.
1 = Descriptor not ready.
Receive State.
Indicates the receiver MII state (for test only).
Receive FIFO Overflow.
0 = Receive FIFO has not overflowed.
1 = Receive FIFO has overflowed.
Receive Watchdog Time-Out.
0 = Receive watchdog timer has not expired.
1 = Receive watchdog timer has not expired (based on LAN_WTR).
Transmit Buffer Manager State.
For test only.
Transmit State.
Indicates the transmitter state (except during setup frames). For test
only.
Transmit FIFO Overflow.
0 = Transmit FIFO has not overflowed.
1 = Transmit FIFO has overflowed.
Transmit FIFO Underflow.
0 = Transmit FIFO has not underflowed.
1 = Transmit FIFO has underflowed.
Excessive Transmit Deferrals.
0 = Deferred longer than 10 Mbps (8192 x 400 ns) while attempting
to transmit.
1 = Deferred longer than 100 Mbps (81920 x 40 ns) while
attempting to transmit.
Deferred Frame.
0 = Current transmit frame has not been deferred at least once.
1 = Current transmit frame has been deferred at least once.
Carrier Done.
0 = Frame transmit not done from MII interface.
1 = Frame transmit done from MII interface.
Transmitter Error Summary.
0 = None of the bits indicated by the 1 state are set.
1 = Any of the following transmit error status bits are set to a 1:
Transmit Fault (E_S_TF), 16+ Collisions (E_S_16), Late
Collision (E_S_LC), No Carrier (E_S_NCRS), Lost Carrier
(E_S_LCRS), or Transmit Jabber Timeout (E_S_TJT).
Reload Abort.
0 = Transmit FIFO reload/abort has not occurred during current
frame (includes collisions).
1 = Transmit FIFO reload/abort has occurred during current frame
(includes collisions).
Conexant Proprietary and Confidential Information
7-33
CX82100 Home Network Processor Data Sheet
Bit(s)
9
Type
RW*
Default
1’b0
8
RW*
1’b0
E_S_TJT
7
RW*
1’b0
E_S_NCRS
6
RW*
1’b0
E_S_LCRS
5
RW*
1’b0
E_S_16
4
RW*
1’b0
E_S_LC
3:0
RW*
4’b0
E_S_CC
7.11.5
Name
E_S_TF
Description
Transmit Fault.
0 = Unexpected transmit data request has not occurred during
current frame.
1 = Unexpected transmit data request has occurred during current
frame.
Transmit Jabber Timeout.
0 = Jabber timer has not expired.
1 = Jabber timer has expired.
E_NA_HUJ and E_NA_HUJ must be configured for this bit to function.
No Carrier.
0 = carrier detected.
1 = No carrier (EMx_CRS pin never transitioned high) during frame
transmit.
Lost Carrier.
0 = Carrier was not lost during frame transmit.
1 = Carrier was lost (EMx_CRS pin transitioned low) at least once
frame transmit.
16+ Collisions.
0 = 16 or more collisions have not occurred during frame transmit.
1 = 16 or more collisions have occurred during frame transmit.
Late Collision.
0 = A late collision (after the 64th byte) has not occurred during
frame transmit.
1 = A late collision (after the 64th byte) has occurred during frame
transmit (MIB16).
Collision Count.
Transmit collision count of the current frame. Resets after the frame is
transmitted. Increments with every collision of the current frame.
EMAC x Receiver Last Packet Register (E_LP_1: 0x00310010 and E_LP_2:
0x00320010)
E_LP_1 and E_LP_2 are the EMAC Receiver Last Packet registers for EMAC1 and
EMAC2, respectively. Writing to this register will clear all of its bits (as denoted by
RW*).
Bit(s)
31:10
9:6
5:2
1
Type
Default
RW*
RW*
RW*
4’b0
4’b0
1’b0
E_LP_RDMA
E_LP_RFIFO
E_LP_RI
Description
Reserved.
Receive DMA State Machine State. (For test only.)
Receive FIFO State Machine State. (For test only.)
Receive Done OK from RX Buffer Manager.
0
RW*
1’b0
E_LP_TI
Transmit Done OK from TX Buffer Manager.
7-34
Name
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
7.11.6
EMAC x Interrupt Enable Register (E_IE_1: 0x0031000C and E_IE_2:
0x0032000C)
E_IE_1 and E_IE_2 are the EMAC Error Interrupt Enable registers for EMAC1 and
EMAC2, respectively.
Bit(s)
31:17
16
Type
Default
RW
1’b0
E_IE_NI
15
RW
1’b0
E_IE_RW
14
RW
1’b0
E_IE_RI
13
RW
1’b0
E_IE_AI
12
RW
1’b0
E_IE_LC
11
RW
1’b0
E_IE_16
10
RW
1’b0
E_IE_LCRS
9
RW
1’b0
E_IE_NCRS
8
RW
1’b0
E_IE_TF
7
RW
1’b0
E_IE_RLD
6
RW
1’b0
E_IE_ED
5
RW
1’b0
E_IE_DF
4
RW
1’b0
E_IE_TOF
3
RW
1’b0
E_IE_TUF
2
RW
1’b0
E_IE_TJT
1
RW
1’b0
E_IE_TU
0
RW
1’b0
E_IE_TI
101306C
Name
Description
Reserved.
Normal Interrupt Summary Enable.
Masks E_LP_TI or E_LP_RI (1 = Enable; 0 = Disable).
Receive Watchdog Timer Interrupt Enable.
Masks E_S_RWT (1 = Enable; 0 = Disable).
Receive OK Interrupt Enable.
Masks E_LP_RI (1 = Enable; 0 = Disable).
Abnormal Interrupt Summary Enable.
Masks E_S_ES or E_S_TUF or E_S_TOF or E_S_RO or E_S_TJT or
E_S_RWT (1 = Enable; 0 = Disable).
Late Collision Interrupt Enable.
Masks E_S_LC (1 = Enable; 0 = Disable).
16 Collisions Interrupt Enable.
Masks E_S_16 (1 = Enable; 0 = Disable).
Lost Carrier Interrupt Enable.
Masks E_S_LCRS (1 = Enable; 0 = Disable).
No Carrier Interrupt Enable.
Masks E_S_NCRS (1 = Enable; 0 = Disable).
Transmit Fault Interrupt Enable.
Masks E_S_TF (1 = Enable; 0 = Disable).
Transmit Reload/Abort Interrupt Enable.
Masks E_S_RLD (1 = Enable; 0 = Disable).
Excessive Deferral Interrupt Enable.
Masks E_S_ED (1 = Enable; 0 = Disable).
Transmit Deferred Interrupt Enable.
Masks E_S_DF (1 = Enable; 0 = Disable).
Transmit Overflow Interrupt Enable.
Masks E_S_TOF (1 = Enable; 0 = Disable).
Transmit Underflow Interrupt Enable.
Masks E_S_TUF (1 = Enable; 0 = Disable).
Transmit Jabber Time-out Interrupt Enable.
Masks E_S_TJT (1 = Enable; 0 = Disable).
Transmit Stopped Interrupt Enable.
Masks E_S_TU (1 = Enable; 0 = Disable).
Transmit OK Interrupt Enable.
Masks E_LP_TI (1 = Enable; 0 = Disable).
Conexant Proprietary and Confidential Information
7-35
CX82100 Home Network Processor Data Sheet
7.11.7
EMAC x MII Management Interface Register (E_MII_1: 0x00310018 and E_MII_2:
0x00320018)
E_MII_1 and E_MII_2 are the EMAC MII Management Interface registers for EMAC1
and EMAC2, respectively.
Bit(s)
31:5
4
Type
Default
RW
1’b0
E_MDIP
3
RW
1’b1
E_MM
2
RW
1’b0
E_MDO
1
RO
1’b0
E_MDI
0
RW
1’b0
E_MDC
7-36
Name
Description
Reserved.
Active Edge of EMx_MDC Pin in Input Mode.
0 = EMx_MDIO is sampled on the falling edge of EMx_MDC.
1 = EMx_MDIO is sampled on the rising edge of EMx_MDC.
Direction of Signal on EMx_MDIO Pin.
0 = EMx_MDIO pin is an output.
1 = EMx_MDIO pin is an input.
Value Driven on EMx_MDIO Pin.
0 = Drive EMx_MDIO pin low when E_MM = 0 (output mode).
1 = Drive EMx_MDIO pin high when E_MM = 0 (output mode).
Value Read on EMx_MDIO Pin.
0 = EMx_MDIO pin is low when E_MM = 1 (input mode).
1 = EMx_MDIO pin is high when E_MM = 1 (input mode).
Value Driven on EMx_MDC Pin.
0 = Drive EMx_MDC pin low.
1 = Drive EMx_MDC pin high.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8
USB Interface Description
The USB Interface (or UDC Core) consists of three major functions: USB Controller
(USBC), APB/DMA Interface (I/F), and USB Differential Transceiver (Figure 8-1). The
USBC includes the following functions:
•
Phase Locked Loop (PLL) Block. The PLL Block extracts the USB clock and data
from the USB cable. The input to the PLL Block comes from an USB Differential
Transceiver. The PLL runs on a 48 MHz clock. The PLL also generates a 12 MHz
clock from the 48 MHz clock and supplies it to the Serial Interface Engine (SIE) and
USB Bridge Layer (UBL) blocks. The PLL identifies the Single Ended Zero (SE0)
signal on the USB and sends it to the SIE Block.
•
Serial Interface Engine (SIE) Block. The SIE Block performs the front end
functions of the USB protocol such as SyncField identification, NRZI-NRZ
conversion, token packet decoding, bit stripping, bit stuffing, NRZ-NRZI
conversion, CRC5 checking, and CRC16 generation and checking. The SIE also
converts the serial packet to 8-bit parallel data. The SIE Block has a 1-byte buffer for
buffering the data during data transmission and reception.
•
USB Bridge Layer (UBL) Block. The UBL Block handles the error recovery
mechanism during transactions while interfacing to the Application (the Application
includes the APB/DMA I/F, the ARM940T Processor, and the ARM firmware
processing the data). The UBL also decodes and handles all the Standard Control
Transfers addressed to Endpoint Zero. The UBL passes some USB commands onto
the APB/DMA I/F so that the Application can decode and process the command. The
UBL Block has two sub-blocks called the Protocol Layer (PL) Block and the
Endpoint (EP) Block.
The PL Block controls the SIE Block by providing necessary handshake signals to
the SIE and communicates with the APB/DMA I/F. It also performs error recovery if
the APB/DMA I/F violates the data transfer protocol.
The EP Block handles all the Control transfers to Endpoint Zero. The EP Block
decodes and responds to all the USB Standard Commands and some other USB
Commands (e.g., Get Descriptor) to the APB/DMA I/F. The EP Block maintains the
buffer for Device Address, buffer for storing the present active Configuration, and
the logic to determine the present state of the Device (USBC).
•
101306C
Endpoint Information (EPINFO) Block: The EPINFO maintains the registers that
store information about the endpoints. The EPINFO also stores the information about
the size of Configuration in the USBC. The information about the current endpoint is
multiplexed from these registers and is provided to the PL Block which controls the
SIE Block based on this information. The EPINFO also includes the
DATA0/DATA1 synchronization bits for each bidirectional endpoint the USBC
supports. Also, the EPINFO includes the EndPtStalled bit for each of the supported
logical endpoints to indicate the Stalled Status of the Endpoint. The HNP EPINFO
supports up to 3 active bidirectional logical endpoints and one interrupt endpoint.
The endpoint number ranges from 0 to 4.
Conexant Proprietary and Confidential Information
8-1
CX82100 Home Network Processor Data Sheet
Figure 8-1. Block Diagram of the USB Interface
USB Interface (UDC Core)
USB Controller (USBC)
USB Bridge Layer
(UBL) Block
Protocol
Layer
(PL)
Block
APB
APB/DMA
Interface
(I/F)
Serial Interface
(SIE) Block
Transm itter
SYNC
Endpoint
(EP)
Block
PLL
USB
Differential
Transceiver
USB
Receiver
Endpoint
Inform ation
(EPINFO)
Block
HNP
101545_054
8-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.1
UDC Data Path
The UDC data path supports USB transmit and receive data.
8.1.1
USB Transmit Data Path (Endpoint IN Channel)
The USB transmit data flow is illustrated in Figure 8-2.
Figure 8-2. USB Transmit Data Flow
data
payload
CRC16
complete
packet
from APB/
DMA I/F
Data
Buffer
UBL
Data +
CRC16
to USB
Differential
Transceiver
M
U
X
Token
Assembly
Bit
Stuffing
NRZ-to-NRZI
Conversion
HandShake
Generator
IN,
OUT ,
SOF,
SETUP
ACK,
NAK,
ST ALL
bit
stuffing
0
1
1
0
1
0
1
1
1
1
1
1
0
1
1
NRZ
NRZ
to
NRZI
conversion
NRZI
+
-
0 = inverting the polarity of the output signal
1 = not inverting the output signal
101545_055
101306C
Conexant Proprietary and Confidential Information
8-3
CX82100 Home Network Processor Data Sheet
8.1.2
USB Receive Data Path (Endpoint OUT Channel)
The USB receive data flow is illustrated in Figure 8-3.
Figure 8-3. USB Receive Data Flow
SYNC Pattern
0
0
0
0
0
0
0
1
PID2
PID1
PID0
NRZI
data
Ad dress
Checker
to APB/
DMA I/F
UBL
Data
Buffer
Serial-toParallel
Conversion
Data/CRC
Checker
PID
Decode
NRZI-toNRZ
Co nversion
Sync Field
Indentification
from USB
DIfferential
T ransceiver
PLL
Handshake
Checker
101545_056
8-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.2
USB Data Flow
USB data can be identified as control, bulk, or interrupt data in the HNP.
Control data is usually structured as a command phase initiated by the USB host,
followed by data either provided by the device (IN), i.e., HNP (IN), or sent to it by the
host (OUT), followed in turn by a status phase which serves as an acknowledgement of
transfer. Control transfers are directed to Endpoint 0, and requires no device
configuration, i.e., control transfers can be active from the moment of device attachment.
All other transfers require device configuration and setting of the appropriate device
address by the host to be accepted by the HNP. In another words, a process called
enumeration is must be initiated by the host every time the HNP is connected. Control
data flow through Endpoint 0 must be USB Specification Rev. 1.1 Chapter 9 compliant
and other USB stack command aware. Packet size for Endpoint 0 is 64 bytes for control
data and 8 bytes for control command.
Bulk transfers are simple data transfers with ACK/NAK token exchange between the host
and the HNP to signal the completion of the transfer. Again, these transfers are started by
the host sending a IN (OUT) token to the HNP, which responds within a timeout period
with data and/or ACK/NAK (depending on the direction of transfer) to keep the host
from retrying to transfer the data. The packet size for bulk transfers is always less than or
equal to 64 bytes.
Interrupt data is infrequent data that flows only from the HNP to the host and is a result
of the host polling the HNP periodically. The HNP Interrupt Endpoint is fixed at IN type
with 8 bytes per packet.
101306C
Conexant Proprietary and Confidential Information
8-5
CX82100 Home Network Processor Data Sheet
8.3
UDC Core
The USB Core includes the endpoint buffers and associated processing.
8.3.1
Endpoint Buffer Format
The UDC stores all the endpoint configuration information for each endpoint that the
HNP supports. Each endpoint configuration is stored in a separate Buffer called
EndPtBuf. The UDC Core has defined the logical and physical endpoints for its
implementation. A “logical endpoint” is an endpoint that is visible to the host. Generally,
for USB, there are 16 logical endpoints from the host’s perspective (Endpoint 0 to
Endpoint 15). At any time the host can access one of these logical endpoints. A “physical
endpoint”, on the other hand, is the actual unidirectional endpoint that is implemented in
the hardware. Two physical endpoints can be paired to form a bidirectional endpoint
sharing the same logical endpoint number.
The UDC supports one configuration, one interface, no alternate interface, three
bidirectional endpoints plus one interrupt endpoint (seven physical endpoints total). Since
each endpoint requires 5 bytes for its endpoint configuration, then the total number of
endpoint configuration bytes allocated within the UDC Core are (5 * 7) + 5 (Endpoint 0).
Firmware initializes these EndPtBuf Configuration bytes upon POR or Hardware Reset
event. Please refer to Section 8.3.3 for the procedure to initialize these Endpoint Buffer
Configurations.
Table 8-1. Endpoint Buffer Format in UDC Core
Bit(s)
39:36
35:34
Type
EP_NUM
EP_CONFIG
33:32
EP_INTERFACE
31:29
EP_ALTSETTING
28:27
EP_TYPE
26
25:16
15:0
8-6
EP_DIR
EP_MAXPKTSIZE
EP_BUFADRPTR
Description
Logical Endpoint Number.
Configuration Number.
Only configuration 1 is supported.
Interface Number.
Three interfaces (0, 1, or 2) are supported.
Alternate Setting.
Only alternate setting 0 for each interface is
supported.
Type of Endpoint.
00 = Control.
01 = Isochronous.
10 = Bulk.
11 = Interrupt.
Direction of Data Flow.
0 = Out.
1 = In.
This bit is ignored for control endpoints.
Maximum Packet Size for this Endpoint.
Address Pointer for the Associated Endpoint.
Only bits [3:0] are used.
This must match with the pointer specified in
U_CTR2 register for transfer to take place. It is
always zero for Endpoint 0.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.3.2
Example of Endpoint Buffer Encoding
As shown in Figure 8-4, the HNP supports one configuration, one interface with no
alternate setting and four logical endpoints (Endpoints 1, 2, 3, and 4). The first three
endpoints are bidirectional endpoints and the fourth is an interrupt endpoint, therefore
there are nine physical endpoints total (including controlled Endpoint 0). In the UDC, one
EndPtBuf (Endpoint Buffer) is associated with each physical endpoint. Hence, there are
eight EndPtBufs in the UDC for the configuration shown in Figure 8-4. Endpoint 0 needs
only one EndPtBuf, although it is bidirectional.
An example of the encoding of the EndPtBuf is shown in Table 8-2. Except for interrupt
endpoint’s packet size being fixed at 8 bytes, other endpoints’ packet size must be less
than or equal to 64 bytes.
Figure 8-4. Example of an USB Device for HNP
Configuration 1
Interface 0
Alt Setting 0
EP 0
EP 1
EP 1
EP 2
EP 2
EP 3
EP 3
EP 4
1
2
3
4
5
6
7
8
Control
Bulk-IN
Bulk-OUT
Bulk-IN
Bulk-OUT
Bulk-IN
Bulk-OUT
Interrupt
Logical No.
Physical No.
101545_057
Table 8-2. Example of the EndPtBuf Encoding
EndPtBuf No.
1
2
3
4
5
6
7
8
101306C
39:36
0000
0001
0001
0010
0010
0011
0011
0100
35:34
01
01
01
01
01
01
01
01
33:32
00
00
00
00
00
00
00
00
31:29
000
000
000
000
000
000
000
000
28:27
00
10
10
10
10
10
10
11
26
0
0
1
0
1
0
1
1
00
00
00
00
00
00
00
00
25:16
0100 0000
0100 0000
0100 0000
0100 0000
0100 0000
0100 0000
0100 0000
0001 0100
Conexant Proprietary and Confidential Information
0000
0000
0000
0000
0000
0000
0000
0000
15:0
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000
0001
0001
0001
0010
0011
0011
0100
8-7
CX82100 Home Network Processor Data Sheet
8.3.3
Loading of the EndPtBuf Configurations
The endpoint configuration in the UDC Core is accomplished by writing to the U_CFG
register the same byte-wise data that the UDC Core expects. The target of these
configuration writes are the endpoint buffers which have the format shown in Table 8-1.
Starting from the Endpoint 0 descriptor (EndPtBuf0), the configuration data is written to
EndPtBuf0[39:32], followed by EndPtBuf0[31:24], and so on (EndPtBuf0 is reserved for
Endpoint 0). Once the 5-byte EndPtBuf0 has been filled, EndPtBuf1, and the others are
filled in order, most significant byte first. Since the register writes from APB are 4 bytes
in length, the data is grouped so that the first byte to the UDC interface comes from the
least significant byte of the register U_CFG. After the contents of the register write have
been passed on to the UDC Core, the firmware is requested, via the CFGNEXT_INT flag
in the U_STAT register, to write the next 4 bytes of configuration data. This continues
until the endpoint descriptors have been updated, with the assertion of CFGDN_INT
status. During configuration, the CFG_EN control bit is set to prevent any data from
being transferred to erroneous addresses. Once the configuration data has been loaded,
the CFG_EN bit is reset and endpoints are enabled through the setting of their enable bits
in the U_CTR1 register. Prior to enabling the endpoints, the endpoint addresses in the
U_CTR2 register must be programmed to match those passed to the endpoint descriptors
EP_BUFADRPTR parameters in the EndPtBuf.
USB GLOBAL EN bit (bit0 of U_CTR1) can only set once per POR or Hardware Reset
event, after that the UDC Core will accept the endpoint configuration data as described in
the sequences above. USB RESET bit (Bit 30 of U_CTR1) can be used to reset the UDC
Core the same way as POR or a Hardware Reset event.
Figure 8-5 shows the example of loading the EndPtBuf configurations described in Table
8-2.
8-8
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
B#39
B#38
B#37
B#36
EndPtBuf1
B#5
B#6
B#7
B#8
B#9
....
....
....
....
EndPtBuf2
B#10
B#11
B#12
B#13
B#14
B#19
B#18
B#17
B#16
EndPtBuf3
....
....
....
....
....
B#15
B#14
B#13
B#12
EndPtBuf4
B#35
B#36
B#37
B#38
B#39
B#11
B#10
B#9
B#8
B#7
B#6
B#5
B#4
B#3
B#2
B#1
B#0
31:24
23:16
15:8
7:0
B#3
B#2
B#1
B#0
B#3
U_CFG
R egister
B#0
B#4
B#1
7:0
B#3
APB ByteLane 0
15:8
B#2
APB ByteLane 1
23:16
B#1
APB ByteLane 2
31:24
B#0
APB ByteLane 3
39:32
EndPtBuf0
B#2
Figure 8-5. Loading of the EndPtBuf Configurations
To US B Interface Block
101545_058
8.3.4
USB Command Handling
The UDC handles and decodes all USB Standard Commands defined in the USB
Specification Rev. 1.1. The UDC returns a STALL HandShake if it receives an
unsupported or invalid Standard Command. The UDC will forward all controlled
commands (Endpoint 0), as well as other Endpoint OUT Data, to the application via a
DMA RX buffer except the following controlled commands which are decoded
internally:
•
•
•
•
•
•
•
•
101306C
Clear Feature
Get Configuration
Get Interface
Get Status
Set Address
Set Configuration
Set Feature
Set Interface
Conexant Proprietary and Confidential Information
8-9
CX82100 Home Network Processor Data Sheet
8.4
USB DMA Interface
DMAC interfaces with the USB device through addressed writes/reads that conform to
the common DMA protocol.
8.4.1
DMA Receive Channel
The DMA channel supporting receive OUT endpoints is illustrated in Figure 8-6. The
endpoint data is described in Table 8-3.
Figure 8-6. DMA Channel Supporting USB Receive OUT Endpoints
Endpoints
EP0_O UT
EP1_O UT
ARM Host
DMA Ch 12
DM AC
DMA Ch 12
USB Device
EP2_O UT
EP3_O UT
101545_059
Table 8-3. DMA Channel Supporting USB Receive OUT Endpoints
Endpoint
No.
Endpoint 0
OUT
EP0_OUT
DMA
Channel
12
Endpoint 1
OUT
EP1_OUT
12
Endpoint 2
OUT
EP2_OUT
12
Endpoint 3
OUT
EP3_OUT
12
Direction
Name
Description
USB specification Chapter 9 compliance
and other USB stack aware commands.
Maximum packet size is 64 bytes.
Bulk OUT data. Maximum packet size is
64 bytes.
Bulk OUT data. Maximum packet size is
64 bytes.
Bulk OUT data. Maximum packet size is
64 bytes.
Whenever the host sends a control/data packet that is forwarded by the HNP, the data is
then organized in 8-byte qword segments by the UDC Core and written to a circular
DMA RX buffer (the pointer and buffer length has been initialized for DMA Channel 12
operation by the firmware). Each forwarded packet consists of an 8-byte Status Header
followed by packet control/data payload arranged in little endian byte order. The exact
number of bytes of the received data/control packet is specified in the COUNT parameter
of the Status Header. In case of a transaction having a non-integer of qword boundary,
the last qword in the USB RX buffer segment holding that packet’s data is zero-padded in
higher order locations. Firmware also keeps track of the next packet pointer location in
the circular DMA RX buffer. The Status Header is defined in Table 8-4.
8-10
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 8-4. Status qword for Receive (OUT) Endpoint APB Buffers
Bit(s)
63:16
15
14:12
11:8
7
6:0
Default
0
0
0
0
0
0
Name
PKT_IN
EP_NUM
SETUP
COUNT
Description
Reserved.
Packet has been received without errors.
Reserved.
Endpoint address pointer that received this packet.
Current packet is a setup packet.
Count of data bytes received in this packet.
After the DMA Channel 12 pointer and counter (circular RX DMA Buffer) and
EP_OUT_RX_BUFSIZE register are initialized, the RV_INIT bit in U_CTR1 register is
set and cleared (in the next instruction) before enabling endpoint OUT operation. This bit
is not set again until new RX DMA buffer setting is required and only when all receive
endpoints have been disabled. Data transfer from the host to the HNP commences if there
is space in the RX DMA buffer, and continues until the RX DMA buffer is full.
Requests to DMAC are generated whenever there is data in the RX FIFO of a given
endpoint, and USB ACK has not been received. Upon reception of USB ACK, data is
flushed into the RX DMA buffer, a qword Status Header is written to the beginning of
the buffer, and the EP_OUT_RX_PEND register is increased by one. Simultaneously, a
status bit (EP0O_INT, EP1O_INT, EP2O_INT, or EP3O_INT) is set in the U_STAT
register confirming the successful reception of data on that endpoint. A RX DMA
interrupt request is forwarded to the interrupt controller if the interrupt is enabled and
also if trigger conditions are satisfied. Interrupt events can be set from a variety of
interrupt sources: Single Packet Completion, Multiple Packet Completion, and/or Packet
Pending receive watchdog timeout.
The firmware parses the endpoint information from the Status Header and acts
accordingly. When any number of RX packets are safely processed by firmware, then the
same number is written to the EP_OUT_RX_DEC register so the UDC Core can reuse
the packets’ DMA buffers. There will be no new packets transferred to the RX DMA
buffer if EP_OUT_RX_PEND = EP_OUT_RX_BUFSIZE which also triggers an RX
DMA Overrun condition.
The USB RX DMA logic always initializes the next DMA Status Header packet with 0
after the first RX packet is received from the host. This can cause a problem if RX DMA
overrun condition happens (RX DMA buffer full with all 64 bytes packet size) due to
firmware overhead and system latency. Thus, it may be necessary to increase the
hardware buffer size by 8 bytes so that the most recent unprocessed Status Header
content is still intact if when overrun does occur. Note that DMAC Channel 12 count
register should be limited to 16376 bytes due to restriction of DMAC count register.
Since the maximum hardware RX DMA buffer for each data packet is 72 bytes (64 bytes
of data and 8 bytes of Status Header). With a given DMA RX buffer size in bytes, the
value programmed into the following registers should be:
DMAC_12_Cnt1 = (DMA RX buffer size) / 8
EP_OUT_RX_BUFSIZE = ((DMA RX buffer size) / 72) - 1
101306C
Conexant Proprietary and Confidential Information
8-11
CX82100 Home Network Processor Data Sheet
8.4.2
DMA Transmit Channel
The DMA channels supporting USB transmit IN endpoints are illustrated in Figure 8-6.
The endpoint data is described in Table 8-3.
Figure 8-7. DMA Channels for USB Transmit IN Endpoints
Endpoints
DMA Ch 13
DMA Ch 13
EP0_IN (Ch 13)
DMA Ch 11
DMA Ch 11
EP1_IN (Ch 11)
ARM Host
DM AC
USB Device
DMA Ch 10
DMA Ch 10
EP2_IN (Ch 10)
DMA Ch 9
DMA Ch 9
EP3_IN (Ch 9)
101545_060
Table 8-5. DMA Channels for USB Transmit IN Endpoints
Endpoint
No.
Endpoint 0
Direction
Name
IN
EP0_IN
DMA
Channel
13
Endpoint 1
IN
EP1_IN
11
Endpoint 2
IN
EP2_IN
10
Endpoint 3
IN
EP3_IN
9
Description
Control data. Maximum packet size is 64
bytes.
Bulk IN data. Maximum packet size is 64
bytes.
Bulk IN data. Maximum packet size is 64
bytes.
Bulk IN data. Maximum packet size is 64
bytes.
The firmware sets up all four IN endpoint (Endpoint0 – Endpoint3) TX DMA embedded
link-list circular buffers associated with DMAC DMA channels separately. The
APB/DMA I/F then obtains and sends endpoint data from these linked-list buffers to the
UDC Core in response to host requests. Each individual TX DMA packet buffer consists
of a qword Descriptor + Status header followed by 64 bytes of data payload and qword
embedded link-list pointer/counter pointed to next packet buffer.
After setting up the proper DMA buffer associated with particular endpoint and resetting
the proper EPX_IN_DMA_RESET bit in U_CTR1 register, the firmware activates the
endpoint, optionally enables endpoint interrupt, and is then ready for data transfer.
Once an endpoint data is ready, the firmware puts proper endpoint description (Table 8-6)
and data payload (up to 64 bytes) into corresponding the TX DMA packet buffer at the
current DMA pointer.
8-12
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
The descriptor also contains the count of bytes to be sent in the current packet and the
logical endpoint address corresponding to that endpoint. If there is a mismatch between
the endpoint address from the buffer descriptor and the corresponding endpoint descriptor
in UDC Core, the "invalid header" status bit EPXI_INVLDHDR_INT is set and transfer
is aborted. Similar action happens if the count of bytes in the current packet is more than
64.
The firmware maintains a DMA pointer of current TX DMA packet buffer for each
endpoint. Firmware then updates the EPX_IN_TX_INC register with the number of
added data packets. APB/DMA I/F logic then transfers the data out from TX DMA buffer
into the endpoint TX FIFO buffer.
When the USB host sends a request for either bulk data or control data, then UDC
responds with the data from the TX FIFO if it has anything to transmit and continues
fetching data from TX DMA buffer if needed, or sends a NAK if data is unavailable.
When data is available, upon receiving an ACK, the status (Table 8-7) is updated with
XMIT_DONE bit and the requested logical EP_NUM number, also EPX_IN_TX_PEND
register is updated and reflecting current pending packets. The corresponding endpoint
interrupt is triggered, if enabled, and if all conditions are satisfied. If the transfer is
NAKed or an error happens during transmission, the current packet data for that endpoint
is resent.
On each consecutive NAKs from USB host, the endpoint retry counter is increased by
one. After a number of unsuccessful retries (the number programmed in the
EPXI_ERRCNT bits in U_CTR3 register), an error status bit EPXI_ERRCNT_INT is set
in the U_STAT register.
Table 8-6. Descriptor qword for Transmit (IN) Endpoint TX DMA Packet Buffer
Bit(s)
63:16
15
14:12
11:8
7
6:0
Default
0
0
0
0
0
0
Name
RDY
EP_NUM
COUNT
Description
Reserved.
Buffer is ready with the entire packet to be transmitted.
Reserved.
Endpoint address pointer this packet transmits on.
Reserved.
Count of data bytes to be transmitted in this packet.
Table 8-7. Status qword for Transmit (IN) Endpoint TX DMA Packet Buffer
Bit(s)
63:24
23
22:20
19:16
15:0
101306C
Default
0
0
0
0
0
Name
XMT_DONE
EP_NUM
Description
Reserved.
Transmission of data from current buffer complete.
Reserved.
Endpoint address pointer this packet transmits on.
Reserved.
Conexant Proprietary and Confidential Information
8-13
CX82100 Home Network Processor Data Sheet
8.5
Interrupt Endpoint
The interrupt endpoint is different from the other endpoints in that it does not get its data
from the TX DMA buffers or there is no TX DMA channel available for interrupt
endpoint. The interrupt endpoint relies on firmware writes to the U_IDAT register for the
interrupt data. Two writes to U_IDAT are required to furnish the 8 bytes of data for each
interrupt packet. After the first 4 bytes have been processed, a status bit
INTRNEXT_INT in U_STAT is set to indicate that the firmware can now write the next
4 bytes to U_IDAT. An INTRDN_INT status is set upon completion of the data transfer
to the host.
8.6
Summary of the Endpoints
The UDC Endpoints are summarized in Table 8-8.
Table 8-8. UDC Endpoints
UDC Logical Endpoint No.
Endpoint 0
Endpoint 0
Endpoint 1
Endpoint 1
Endpoint 2
Endpoint 2
Endpoint 3
Endpoint 3
Endpoint 4
8-14
UDC Physical Endpoint No.
1
2
3
4
5
6
7
8
9
Direction
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
Conexant Proprietary and Confidential Information
Transfer Type
Control
Control
Bulk
Bulk
Bulk
Bulk
Bulk
Bulk
Interrupt
101306C
CX82100 Home Network Processor Data Sheet
8.7
USB Register Memory Map
USB registers are identified in Table 8-9.
Table 8-9. USB Registers
Register Label
U0_DMA
U1_DMA
U2_DMA
U3_DMA
UT_DMA
U_CFG
U_IDAT
U_CTR1
U_CTR2
U_CTR3
U_STAT
U_IER
U_STAT2
U_IER2
EP0_IN_TX_INC
EP0_IN_TX_PEND
EP0_IN_TX_QWCNT
EP1_IN_TX_INC
EP1_IN_TX_PEND
EP1_IN_TX_QWCNT
EP2_IN_TX_INC
EP2_IN_TX_PEND
EP2_IN_TX_QWCNT
EP3_IN_TX_INC
EP3_IN_TX_PEND
EP3_IN_TX_QWCNT
EP_OUT_RX_DEC
EP_OUT_RX_PEND
EP_OUT_RX_QWCNT
EP_OUT_RX_BUFSIZE
U_CSR
UDC_TSR
UDC_STAT
USB_RXTIMER
USB_RXTIMERCNT
EP_OUT_RX_PENDLEVEL
101306C
RWp
Default
Value
(don’t care)
8.8.1
0x00330008
RWp
(don’t care)
8.8.2
0x00330010
RWp
(don’t care)
8.8.3
0x00330018
RWp
(don’t care)
8.8.4
0x00330020
0x00330024
0x00330028
0x0033002C
0x00330030
0x00330034
0x00330038
0x0033003C
0x00330040
0x00330044
0x00330048
0x0033004C
0x00330050
0x00330054
0x00330058
0x0033005C
0x00330060
0x00330064
0x00330068
0x0033006C
0x00330070
0x00330074
0x00330078
0x0033007C
0x00330080
0x00330084
0x00330088
0x0033008C
0x00330090
0x00330094
RO
RW
RW
RW
RW
RW
RR
RW
RR
RW
RW
RO
RO
RW
RO
RO
RW
RO
RO
RW
RO
RO
RW
RO
RO
RW
RO/WO
RO
RO
RW
(don’t care)
0x00000000
0x00000000
0x04000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
8.8.5
8.8.6
8.8.7
8.8.8
8.8.9
8.8.10
8.8.11
8.8.12
8.8.13
8.8.14
8.9.1
8.9.2
8.9.3
8.9.4
8.9.5
8.9.6
8.9.7
8.9.8
8.9.9
8.9.10
8.9.11
8.9.12
8.9.13
8.9.14
8.9.16
8.9.15
8.9.20
8.8.15
8.8.16
8.9.17
0x00330098
RO
0x00000000
8.9.18
0x0033009C
RW
0x00000000
8.9.19
Register Name
ASB Address
Type
USB Source/Destination DMA Data
Register 0
USB Source/Destination DMA Data
Register 1
USB Source/Destination DMA Data
Register 2
USB Source/Destination DMA Data
Register 3
USB Destination DMA Data Register
USB Configuration Data Register
USB Interrupt Data Register
USB Control Register 1
USB Control Register 2
USB Control Register 3
USB Status
USB Interrupt Enable Register
USB Status Register 2
USB Interrupt Enable Register 2
EP0_IN Transmit Increment Register
EP0_IN Transmit Pending Register
EP0_IN Transmit qword Count Register
EP1_IN Transmit Increment Register
EP1_IN Transmit Pending Register
EP1_IN Transmit qword Count Register
EP2_IN Transmit Increment Register
EP2_IN Transmit Pending Register
EP2_IN Transmit qword Count Register
EP3_IN Transmit Increment Register
EP3_IN Transmit Pending Register
EP3_IN Transmit qword Count Register
EP_OUT Receive Decrement Register
EP_OUT Receive Pending Register
EP_OUT Receive qword Count Register
EP_OUT Receive Buffer Size Register
USB Control-Status Register
UDC Time Stamp Register
UDC Status Register
USB Receive DMA Watchdog Timer
Register
USB Receive DMA Watchdog Timer
Counter Register
EP_OUT Receive Pending Interrupt
Level Register
0x00330000
Conexant Proprietary and Confidential Information
Ref.
8-15
CX82100 Home Network Processor Data Sheet
8.8
USB Registers
8.8.1
USB Source/Destination DMA Data Register 0 (U0_DMA: 0x00330000)
U0_DMA is the USB source/destination DMA data register (used by DMA Transmit
Channel 13 hardware for USB Endpoint 0 IN channel). Not used by firmware.
Bit(s)
63:0
Type
RWp
8.8.2
Default
64'bx
Name
U0_DMA
Description
A qword buffer for USB DMA source/destination access.
USB Source/Destination DMA Data Register 1 (U1_DMA: 0x00330008)
U1_DMA is the USB source/destination DMA data register (used by DMA Transmit
Channel #11 hardware for USB Endpoint 1 IN channel). Not used by firmware.
Bit(s)
63:0
Type
RWp
8.8.3
Default
64'bx
Name
U1_DMA
Description
A qword buffer for USB DMA source/destination access.
USB Source/Destination DMA Data Register 2 (U2_DMA: 0x00330010)
U2_DMA is the USB source/destination DMA data register (used by DMA Transmit
Channel #10 hardware for USB Endpoint 2 IN channel). Not used by firmware.
Bit(s)
63:0
Type
RWp
8.8.4
Default
64'bx
Name
U2_DMA
Description
A qword buffer for USB DMA source/destination access.
USB Source/Destination DMA Data Register 3 (U3_DMA: 0x00330018)
U3_DMA is the USB source/destination DMA data register (used by DMA Transmit
Channel #9 hardware for USB Endpoint 3 IN channel). Not used by firmware.
Bit(s)
63:0
8-16
Type
RWp
Default
64'bx
Name
U3_DMA
Description
A qword buffer for USB DMA source/destination access.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.8.5
USB Destination DMA Data Register (UT_DMA: 0x00330020)
UT_DMA is the USB destination DMA data register (used by the USB DMA Receive
hardware Channel #12). Not used by firmware.
Bit(s)
63:0
Type
RO
8.8.6
Default
64'bx
Name
UT_DMA
Description
A qword buffer for USB DMA destination access.
USB Configuration Data Register (U_CFG: 0x00330024)
U_CFG is the USB configuration data register.
Bit(s)
31:0
Type
RW
8.8.7
Default
32’b0
Name
U_CFG
Description
UDC Configuration Data Transfer. Requires successive 4-byte
writes with handshaking control until all the configuration data has
been transferred and the CFGDNINT status bit is set.
USB Interrupt Data Register (U_IDAT: 0x00330028)
U_IDAT is the interrupt data register.
Bit(s)
31:0
101306C
Type
RW
Default
32’b0
Name
U_IDAT
Description
USB Interrupt Channel Data Transfer. Requires two successive
writes with handshaking control for each 8-byte interrupt data packet.
Conexant Proprietary and Confidential Information
8-17
CX82100 Home Network Processor Data Sheet
8.8.8
USB Control Register 1 (U_CTR1: 0x0033002C)
Bit(s)
31
Type
RW
Default
1'b0
30
RW
1'b1
USB_RESET
29
RW
1'b0
AI_RESUME
28
RW
1’b0
RV_INIT
27:16
15
RW
RW
13'b0
1'b0
EP3_IN_DMA_RESET
14
RW
1'b0
EP2_IN_DMA_RESET
13
RW
1'b0
EP1_IN_DMA_RESET
8-18
Name
USB_IE
Description
Global USB Interrupt Enable.
0 = Disable all USB related interrupts.
1 = Enable all USB related interrupts enabled. Each individual
interrupt can be further controlled by its corresponding
interrupt enable bit.
USB Reset.
Writing a 1 will reset the entire USB device (including the UDC
Core) to default state. Software must clear this bit by writing a 0 or
reading it. This bit self-clears after being read.
Application Initiated Resume.
This is an application initiated Resume signal. Writing a 1 to this bit
will resume the USB bus from the Suspended Mode. The peripheral
must assert the Dev_Resume signal to the UDC Core for one 12
MHz clock period. Setting this bit is meaningful only when the USB
bus is in the Suspended mode.
In response to this signal, the UDC will deassert the UDC_Suspend
signal, drive the non-IDLE (K State) onto the USB Cable for 12 ms,
and perform the Remote Wakeup Operation. When the
UDC_Suspend signal is deasserted in response to the assertion of
the Dev_Resume signal, the peripheral must restart the clock (to
the UDC Core) as soon as possible in order for the Core to start the
counters for counting the Wakeup sequence time.
This bit self-clears one cycle after it is been set.
Buffer Pointer Initialized Flag.
Set by firmware before activating OUT Endpoints, but after writing
the pointer to the circular RX DMA buffer. Must be reset by firmware
at the next instruction.
Reserved. Should be written to all 0s.
Endpoint 3 IN DMA Channel Reset.
Writing a 1 to this bit resets the DMA channel associated with the
EP3_IN endpoint. Must be reset to a 0 by firmware and can be done
immediately after setting to a 1.
Endpoint 2 IN DMA Channel Reset.
Writing a 1 to this bit resets the DMA channel associated with the
EP2_IN endpoint. Must be reset to a 0 by firmware and can be done
immediately after setting to a 1.
Endpoint 1 IN DMA Channel Reset.
Writing a 1 to this bit resets the DMA channel associated with the
EP1_IN endpoint. Must be reset to a 0 by firmware and can be done
immediately after setting to a 1.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Bit(s)
12
Type
RW
Default
1'b0
11
RW
1’b0
XVER_SLEEP
10
RW
1’b0
INTR_EN
9
RW
1’b0
EP3I_EN
8
RW
1’b0
EP2I_EN
7
RW
1’b0
EP1I_EN
6
RW
1’b0
EP0I_EN
5
RW
1’b0
EP3O_EN
4
RW
1’b0
EP2O_EN
3
RW
1’b0
EP1O_EN
2
RW
1’b0
EP0O_EN
1
RW
1’b0
CFG_EN
0
RW
1’b0
USB_EN
101306C
Name
EP0_IN_DMA_RESET
Description
Endpoint 0 IN DMA Channel Reset.
Writing a 1 to this bit resets the DMA channel associated with the
EP0_IN endpoint. Must be reset to a 0 by firmware and can be done
immediately after setting to a 1.
USB Transceiver Sleep Mode Select.
0 = Do not power down the USB transceiver active.
1 = Power down the USB transceiver.
Interrupt Endpoint Enable.
0 = Disable Interrupt Endpoint.
1 = Enable Interrupt Endpoint.
Endpoint 3 IN Enable.
0 = Disable Endpoint 3 IN.
1 = Enable Endpoint 3 IN.
Endpoint 2 IN Enable.
0 = Disable Endpoint 2 IN.
1 = Enable Endpoint 2 IN.
Endpoint 1 IN Enable.
0 = Disable Endpoint 1 IN.
1 = Enable Endpoint 1 IN.
Endpoint 0 IN Enable.
0 = Disable Endpoint 0 IN.
1 = Enable Endpoint 0 IN.
Endpoint 3 OUT Enable.
0 = Disable Endpoint 3 OUT.
1 = Enable Endpoint 3 OUT.
Endpoint 2 OUT Enable.
0 = Disable Endpoint 2 OUT.
1 = Enable Endpoint 2 OUT.
Endpoint 1 OUT Enable.
0 = Disable Endpoint 1 OUT.
1 = Enable Endpoint 1 OUT.
Endpoint 0 OUT Enable.
0 = Disable Endpoint 0 OUT.
1 = Enable Endpoint 0 OUT.
UDC Configuration Mode Enable.
0 = Disable UDC Configuration Mode.
1 = Enable UDC Configuration Mode.
USB Enable.
0 = Disable USB.
1 = Enable USB.
Never disable once enabled or the endpoints will not work!
Conexant Proprietary and Confidential Information
8-19
CX82100 Home Network Processor Data Sheet
8.8.9
Bit(s)
27:24
23:20
19:16
15:12
11:8
7:4
3:0
8-20
USB Control Register 2 (U_CTR2: 0x00330030)
Type
RW
RW
RW
RW
RW
RW
RW
Default
4’b0
4’b0
4’b0
4’b0
4’b0
4’b0
4’b0
Name
INTR_ADDR
EP3I_ADDR
EP2I_ADDR
EP1I_ADDR
EP3O_ADDR
EP2O_ADDR
EP1O_ADDR
Description
Endpoint 4 IN Address.
Endpoint 3 IN Address.
Endpoint 2 IN Address.
Endpoint 1 IN Address.
Endpoint 3 OUT Address.
Endpoint 2 OUT Address.
Endpoint 1 OUT Address.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.8.10
USB Control Register 3 (U_CTR3: 0x00330034)
Bit(s)
29
Type
RW
Default
1’b0
Name
EP3O_STALL_EN
28
RW
1’b0
EP2O_STALL_EN
27
RW
1’b0
EP1O_STALL_EN
26
RW
1’b0
EP0O_STALL_EN
25
RW
1’b0
EP3I_STALL_EN
24
RW
1’b0
EP2I_STALL_EN
23
RW
1’b0
EP1I_STALL_EN
22
RW
1’b0
EP0I_STALL_EN
21
RW
1’b0
INTR_STALL_EN
20
RW
1’b0
RST_INTR_ERRCNT
19
RW
1’b0
RST_EP3I_ERRCNT
18
RW
1’b0
RST_EP2I_ERRCNT
17
RW
1’b0
RST_EP1I_ERRCNT
16
RW
1’b0
RST_EP0I_ERRCNT
15
14:12
RW
1’b0
3’b0
INTR_ERRCNT
11:9
RW
3’b0
EP3I_ERRCNT
8:6
RW
3’b0
EP2I_ERRCNT
5:3
RW
3’b0
EP1I_ERRCNT
2:0
RW
3’b0
EP0I_ERRCNT
101306C
Description
Endpoint 3 OUT Stall Control.
Reset by the hardware when Endpoint 3 OUT has been stalled.
Endpoint 2 OUT Stall Control.
Reset by the hardware when the endpoint has been stalled.
Endpoint 1 OUT Stall Control.
Reset by the hardware when the endpoint has been stalled.
Endpoint 0 OUT Stall Control.
Reset by the hardware when the endpoint has been stalled.
Endpoint 3 IN Stall Control.
Reset by the hardware when the endpoint has been stalled.
Endpoint 2 IN Stall Control.
Reset by the hardware when the endpoint has been stalled.
Endpoint 1 IN Stall Control.
Reset by the hardware when the endpoint has been stalled.
Endpoint 0 IN Stall Control.
Reset by the hardware when the endpoint has been stalled.
Interrupt Endpoint Stall Control.
Reset by the hardware when the endpoint has been stalled.
Reset for Interrupt Endpoint Retries Count.
(NAK count register)
Reset for Endpoint 3 IN Retries Count.
(NAK count register)
Reset for Endpoint 2 IN Retries Count.
(NAK count register)
Reset for Endpoint 1 IN Retries Count.
(NAK count register)
Reset for Endpoint 0 IN Retries Count.
(NAK count register)
Reserved.
Interrupt Endpoint Retries Count.
Endpoint 3 IN Retries Count.
(NAK count)
Endpoint 2 IN Retries Count.
(NAK count)
Endpoint 1 IN Retries Count.
(NAK count)
Endpoint 0 IN Retries Count.
(NAK count)
Conexant Proprietary and Confidential Information
8-21
CX82100 Home Network Processor Data Sheet
8.8.11
USB Status (U_STAT: 0x00330038)
If an interrupt status bit in this register is set by the UDC, the USB Interrupt bit in the
Interrupt Status Register (INT_Stat) is set if the corresponding enable bit in the U_IER
register is set. Writing a 1 to a bit location will clear the interrupt status bit; writing a 0
has no effect.
Bit(s)
28
Type
RR
Default
1'b0
27
RR
1'b0
UDC_LatchIntfVal_INT
26
RR
1'b0
UDC_LatchCfgVal_INT
8-22
Name
RX_PEND_NONZERO_INT
Description
Receive Pending Register Nonzero Interrupt.
0 = Receive pending register is zero.
1 = Receive pending register is nonzero.
UDC_LatchIntfVal Interrupt.
0 = UDC_LatchIntfVal signal is not asserted.
1 = UDC_LatchIntfVal signal is asserted.
The UDC_LatchIntfVal signal is asserted by the UDC Core for
one clock, when the core receives a valid Set-Interface SETUP
command to a supported Interface and supported Alternate
Interface Setting. The signal is asserted when the UDC issues
an ACK handshake to the SETUP transfer of the Set-Interface
Command. The Interface to which this command is addressed
is available on the UDC_InterfaceVal[1:0] and the value of the
new Alternate Setting is available on the UDC_AltIntfVal[2:0]
outputs.
Using the UDC_LatchIntfVal signal, the Application can know
the Set-Interface Command along with the Interface Number to
which it is addressed to and the Alternate Setting Value,
without doing a full decode of the Setup transfer. Applications
supporting Dynamic Alternate Interfaces, can use this signal to
identify the new Alternate Setting of the Interface being
selected.
UDC_LatchCfgVal Interrupt.
0 = UDC_LatchCfgVal signal is not asserted.
1 = UDC_LatchCfgVal signal is asserted.
The UDC_LatchCfgVal signal is asserted by the UDC Core for
one clock, when the core receives a valid Set-Configuration
SETUP command to a supported configuration. The signal is
asserted when the UDC issues an ACK handshake to the
SETUP transfer of the Set-Configuration Command. The Value
of the new configuration is available on the
UDC_ConfigVal[1:0] outputs.
Using the UDC_LatchCfgVal signal, the Application can know
the Set-Configuration Command and the Configuration value
with out doing a full decode of the Setup transfer. Applications
supporting Dynamic Configurations or applications that do
power management based on the Current Configuration, can
use this signal to identify the new Configuration the Device is
being selected.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Bit(s)
25
Type
RR
Default
1'b0
24
RR
1'b0
UDC_Sof_INT
23
RR
1'b0
USB_SUSPEND_INT
22
RR
1’b0
USB_RESUME_INT
21
RR
1’b0
EP3I_INVLDHDR_INT
20
RR
1’b0
EP2I_INVLDHDR_INT
19
RR
1’b0
EP1I_INVLDHDR_INT
18
RR
1’b0
EP0I_INVLDHDR_INT
17
16
RR
RR
1’b0
1’b0
INTR_NAK_INT
INTR_ERRCNT_INT
101306C
Name
UDC_UsbReset_INT
Description
UDC_UsbReset Interrupt.
0 = UDC_UsbReset signal is not asserted.
1 = UDC_UsbReset signal is asserted.
The UDC_UsbReset signal is asserted by the UDC Core
whenever the core observes more than 2.5 us (32 FS bit
times/4 LS bit times) of SE0 on the D+/D- lines. Once
asserted, UDC_UsbReset is kept asserted as long as the SE0
is observed on the D+/D- lines.
UDC_Sof Interrupt.
0 = UDC_Sof signal is not asserted.
1 = UDC_Sof signal is asserted.
The UDC_Sof signal is asserted by the UDC Core for one
clock every time an entire SOF Packet is successfully decoded
on the USB.
The UDC_Sof signal is at logic ‘0’ when Reset and when
asserted will be at logic ‘1’.
USB Suspend Detected Interrupt.
0 = USB Cable not in Suspend Mode.
1 = USB Cable in Suspend Mode. UDC has detected that
the USB Cable is in the Suspended Mode i.e., the USB
is idle for 3 ms. The Device should go into SUSPEND
mode whenever this bit is on and should meet all the
USB Specification Requirements for the Suspend Mode.
It is the responsibility of the peripheral to stop the Clock
so that min. power is consumed when the Device is in
Suspended Mode.
USB Resume Detected Interrupt.
0 = USB Cable not in Resume Mode.
1 = USB Cable in Resume Mode. UDC has detected a nonIDLE (K State) on the USB Cable while the USB cable
is in Suspended Mode.
Endpoint 3 IN Invalid Header Interrupt.
0 = Invalid header not detected.
1 = Invalid header detected for Endpoint 3 IN channel buffer
list.
Endpoint 2 IN Invalid Header Interrupt.
0 = Invalid header not detected.
1 = Invalid header detected for Endpoint 2 IN channel buffer
list.
Endpoint 1 IN Invalid Header Interrupt.
0 = Invalid header not detected.
1 = Invalid header detected for Endpoint 1 IN channel buffer
list.
Endpoint 0 IN Invalid Header Interrupt.
0 = Invalid header not detected.
1 = Invalid header detected for Endpoint 0 IN channel buffer
list.
Interrupt Channel NAKed on Current Transfer.
Interrupt Channel Exceeded Max Retries Count.
Conexant Proprietary and Confidential Information
8-23
CX82100 Home Network Processor Data Sheet
Bit(s)
15
Type
RR
Default
1’b0
Name
EP3I_ERRCNT_INT
14
RR
1’b0
EP2I_ERRCNT_INT
13
RR
1’b0
EP1I_ERRCNT_INT
12
RR
1’b0
EP0I_ERRCNT_INT
11
RR
1’b0
INTRNEXT_INT
10
RR
1’b0
INTRDN_INT
9
RR
1’b0
EP3I_INT
8
RR
1’b0
EP2I_INT
7
RR
1’b0
EP1I_INT
6
RR
1’b0
EP0I_INT
5
RR
1’b0
EP3O_INT
4
RR
1’b0
EP2O_INT
3
RR
1’b0
EP1O_INT
2
RR
1’b0
EP0O_INT
1
RR
1’b0
CFGDN_INT
0
RR
1’b0
CFGNEXT_INT
8-24
Description
Endpoint 3 IN Error Count Interrupt.
0 = Endpoint 3 IN retries count not exceeded.
1 = Endpoint 3 IN retries count exceeded.
Endpoint 2 IN Error Count Interrupt.
0 = Endpoint 2 IN retries count not exceeded.
1 = Endpoint 2 IN retries count exceeded.
Endpoint 1 IN Error Count Interrupt.
0 = Endpoint 1 IN retries count not exceeded.
1 = Endpoint 1 IN retries count exceeded.
Endpoint 0 IN Error Count Interrupt.
0 = Endpoint 0 IN retries count not exceeded.
1 = Endpoint 0 IN retries count exceeded.
Interrupt Channel Requesting Next Interrupt.
0 = Interrupt channel not requesting second dword write of
interrupt data.
1 = Interrupt channel requesting second dword write of
interrupt data.
Interrupt Channel Transmission Done Interrupt.
0 = Interrupt channel transmission is not complete.
1 = Interrupt channel transmission is complete.
Endpoint 3 IN Transmission Complete Interrupt.
0 = Endpoint 3 IN channel transmission is not complete.
1 = Endpoint 3 IN channel transmission is complete.
Endpoint 2 IN Transmission Complete Interrupt.
0 = Endpoint 2 IN channel transmission is not complete.
1 = Endpoint 2 IN channel transmission is complete.
Endpoint 1 IN Transmission Complete Interrupt.
0 = Endpoint 1 IN channel transmission is not complete.
1 = Endpoint 1 IN channel transmission is complete.
Endpoint 0 IN Transmission Complete Interrupt.
0 = Endpoint 0 IN channel transmission is not complete.
1 = Endpoint 0 IN channel transmission is complete.
Endpoint 3 OUT Reception Complete Interrupt.
0 = Endpoint 3 OUT channel reception is not complete.
1 = Endpoint 3 OUT channel reception is complete.
Endpoint 2 OUT Reception Complete Interrupt.
0 = Endpoint 2 OUT channel reception is not complete.
1 = Endpoint 2 OUT channel reception is complete.
Endpoint 1 OUT Reception Complete Interrupt.
0 = Endpoint 1 OUT channel reception is not complete.
1 = Endpoint 1 OUT channel reception is complete.
Endpoint 0 OUT Reception Complete Interrupt.
0 = Endpoint 0 OUT channel reception is not complete.
1 = Endpoint 0 OUT channel reception is complete.
UDC Configuration Done Interrupt.
0 = UDC configuration is not complete.
1 = UDC configuration is complete.
Next Configuration Data dword Requested Interrupt.
0 = Next configuration data dword is not requested.
1 = Next configuration data dword is requested.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.8.12
USB Interrupt Enable Register (U_IER: 0x0033003C)
Writing a 1 to a bit location will enable setting of the USB Interrupt bit in the Interrupt
Status Register (INT_Stat) if the corresponding interrupt status bit is set in the
USB_STAT register.
Writing a 0 to a bit location will disable setting the USB Interrupt bit in the INT_Stat
register due to the corresponding interrupt status bit.
Bit(s)
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
101306C
Type
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Default
1'b0
1'b0
1’b0
1’b0
1’b0
1'b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
Name
RX_PEND_NONZERO_INTEN
UDC_LatchIntfVal_INTEN
UDC_LatchCfgVal_INTEN
UDC_UsbReset_INTEN
UDC_Sof_INTEN
USB_SUSPEND_INTEN
USB_RESUME_INTEN
EP3I_INVLDHDR_INTEN
EP2I_INVLDHDR_INTEN
EP1I_INVLDHDR_INTEN
EP0I_INVLDHDR_INTEN
INTR_NAK_INTEN
INTR_ERRCNT_INTEN
EP3I_ERRCNT_INTEN
EP2I_ERRCNT_INTEN
EP1I_ERRCNT_INTEN
EP0I_ERRCNT_INTEN
INTRNEXT_INTEN
INTRDN_INTEN
EP3I_INTEN
EP2I_INTEN
EP1I_INTEN
EP0I_INTEN
EP3O_INTEN
EP2O_INTEN
EP1O_INTEN
EP0O_INTEN
CFGDN_INTEN
CFGNEXT_INTEN
Description
RX_PEND_NONZERO_INT Interrupt Enable.
UDC_LatchIntfVal_INT Interrupt Enable.
UDC_LatchCfgVal_INT Interrupt Enable.
UDC_UsbReset_INT Interrupt Enable.
UDC_Sof_INT Interrupt Enable.
USB_SUSPEND_INT Interrupt Enable.
USB_RESUME_INT Interrupt Enable.
EP3I_INVLDHDR_INT Interrupt Enable.
EP2I_INVLDHDR_INT Interrupt Enable.
EP1I_INVLDHDR_INT Interrupt Enable.
EP0I_INVLDHDR_INT Interrupt Enable.
INTR_NAK_INT Interrupt Enable.
INTR_ERRCNT_INT Interrupt Enable.
EP3I_ERRCNT_INT Interrupt Enable.
EP2I_ERRCNT_INT Interrupt Enable.
EP1I_ERRCNT_INT Interrupt Enable.
EP0I_ERRCNT_INT Interrupt Enable.
INTRNEXT_INT Interrupt Enable.
INTRDN_INT Interrupt Enable.
EP3I_INT Interrupt Enable.
EP2I_INT Interrupt Enable.
EP1I_INT Interrupt Enable.
EP0I_INT Interrupt Enable.
EP3O_INT Interrupt Enable.
EP2O_INT Interrupt Enable.
EP1O_INT Interrupt Enable.
EP0O_INT Interrupt Enable.
CFGDN_INT Interrupt Enable.
CFGNEXT_INT Interrupt Enable.
Conexant Proprietary and Confidential Information
8-25
CX82100 Home Network Processor Data Sheet
8.8.13
USB Status Register 2 (U_STAT2: 0x00330040)
If an interrupt status bit in this register is set by the UDC, the USB Interrupt bit in the
Interrupt Status Register (INT_Stat) is set if the corresponding enable bit in the U_IER2
register is set. Writing a 1 to a bit location will clear the interrupt status bit; writing a 0
has no effect.
Bit(s)
31
Type
RR
Default
1’b0
Name
EP3IN_PENDTOZERO_INT
30
RR
1’b0
EP2IN_PENDTOZERO_INT
29
RR
1’b0
EP1IN_PENDTOZERO_INT
28
RR
1’b0
EP0IN_PENDTOZERO_INT
26
RR
1'b0
EP_OUT_WATCH_INT
25
RR
1’b0
EP_OUT_PENDLEVEL_INT
24
RR
1'b0
RX_OVERRUN_INT
23
22
21
20
19
18
17
RR
RR
RR
RR
RR
RR
RR
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
CFGSET_CMD_INT
INTFSET_CMD_INT
CUR_CFG_INT
CUR_INTF_INT
ALTSET_CMD_INT
SETUP_CMD_INT
EP3O_STALL_CLR_INT
8-26
Description
Endpoint 3 Pending Register Equals 0.
1 = The Endpoint 3 pending register (EP3_IN_TX _PEND)
has transitioned to zero.
Endpoint 2 Pending Register Equals 0.
1 = The Endpoint 2 pending register (EP2_IN_TX _PEND)
has transitioned to zero.
Endpoint 1 Pending Register Equals 0.
1 = The Endpoint 1 pending register (EP1_IN_TX _PEND)
has transitioned to zero.
Endpoint 0 Pending Register Equals 0.
1 = The Endpoint 0 pending register (EP0_IN_TX _PEND)
has transitioned to zero.
Receive DMA Watchdog Timer Expired Interrupt.
1 = All of the following conditions have occurred:
• The watchdog timer is enabled by having a
nonzero value in register USB_RXTIMER.
• The receive DMA watchdog timer register counter
(USB_RXTIMERCNT) has expired (gone to zero).
• The received pending register
(EP_OUT_RX_PEND) value is nonzero.
Receive USB Pending Level Interrupt.
1 = The host receive buffer has received the number of
packets specified in the receive pending interrupt level
register (EP_OUT_PENDLEVEL).
Note: The interrupt is automatically cleared when the
EP_OUT_RX_CLRPEND bit in U_CSR register is written with
a one.
Receive Overrun Interrupt.
Note: "Receiver Overrun" occurs when the RX DMA receiver
continues to receive new packet while the Receive Packet
Pending register (EP_OUT_RX_PEND) value equals the
maximum packet size (EP_OUT_RX_BUFSIZE). It is
possible that the software will write a new value to the
Receive Decrement register before handling the Overrun
Interrupt. If this happens, the H/W will proceed to update
RX_PEND as normal, but won't issue any DMA transfers as
long as the Overrun Interrupt flag is still pending.
Set Configuration Command Detected Interrupt.
Set Interface Command Detected Interrupt.
Current Configuration Detected Interrupt.
Current Interface Detected Interrupt.
ALT SET Command Detected Interrupt.
SETUP Command Detected Interrupt.
EP3_OUT Stall Clear Interrupt.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Bit(s)
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
101306C
Type
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
Default
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
Name
EP2O_STALL_CLR_INT
EP1O_STALL_CLR_INT
EP0O_STALL_CLR_INT
EP3I_STALL_CLR_INT
EP2I_STALL_CLR_INT
EP1I_STALL_CLR_INT
EP0I_STALL_CLR_INT
INTR_STALL_CLR_INT
EP3O_STALL_INT
EP2O_STALL_INT
EP1O_STALL_INT
EP0O_STALL_INT
EP3I_STALL_INT
EP2I_STALL_INT
EP1I_STALL_INT
EP0I_STALL_INT
INTR_STALL_INT
Description
EP2_OUT Stall Clear Interrupt.
EP1_OUT Stall Clear Interrupt.
EP0_OUT Stall Clear Interrupt.
EP3_IN Stall Clear Interrupt.
EP2_IN Stall Clear Interrupt.
EP1_IN Stall Clear Interrupt.
EP0_IN Stall Clear Interrupt.
Interrupt Channel Stall Clear Interrupt.
EP3_OUT Stall Interrupt.
EP2_OUT Stall Interrupt.
EP1_OUT Stall Interrupt.
EP0_OUT Stall Interrupt.
EP3_IN Stall Interrupt.
EP2_IN Stall Interrupt.
EP1_IN Stall Interrupt.
EP0_IN Stall Interrupt.
Interrupt Channel Stall Interrupt.
Conexant Proprietary and Confidential Information
8-27
CX82100 Home Network Processor Data Sheet
8.8.14
USB Interrupt Enable Register 2 (U_IER2: 0x00330044)
Writing a 1 to a bit location will enable setting of the USB Interrupt in the Interrupt
Status Register (INT_Stat) if the corresponding interrupt status bit is set in the
USB_STAT2 register. Writing a 0 will disable setting the USB Interrupt bit in the
INT_Stat register due to the corresponding interrupt status bit.
Bit(s)
31
30
29
28
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
8-28
Type
RW
RW
RW
RW
RW
RW
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
RR
Default
1’b0
1’b0
1’b0
1’b0
1'b0
1’b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
1'b0
Name
EP3IN_PENDTOZERO_INTEN
EP2IN_PENDTOZERO_INTEN
EP1IN_PENDTOZERO_INTEN
EP0IN_PENDTOZERO_INTEN
EP_OUT_WATCH_INTEN
EP_OUT_PENDLEVEL_INTEN
RX_OVERRUN_INTEN
CFGSET_CMD_INTEN
INTFSET_CMD_INTEN
CUR_CFG_INTEN
CUR_INTF_INTEN
ALTSET_CMD_INTEN
SETUP_CMD_INTEN
EP3O_STALL_CLR_INTEN
EP2O_STALL_CLR_INTEN
EP1O_STALL_CLR_INTEN
EP0O_STALL_CLR_INTEN
EP3I_STALL_CLR_INTEN
EP2I_STALL_CLR_INTEN
EP1I_STALL_CLR_INTEN
EP0I_STALL_CLR_INTEN
INTR_STALL_CLR_INTEN
EP3O_STALL_INTEN
EP2O_STALL_INTEN
EP1O_STALL_INTEN
EP0O_STALL_INTEN
EP3I_STALL_INTEN
EP2I_STALL_INTEN
EP1I_STALL_INTEN
EP0I_STALL_INTEN
INTR_STALL_INTEN
Description
EP3IN_PENDTOZERO_INT Interrupt Enable.
EP2IN_PENDTOZERO_INT Interrupt Enable.
EP1IN_PENDTOZERO_INT Interrupt Enable.
EP0IN_PENDTOZERO_INT Interrupt Enable.
EP_OUT_WATCH_INT Interrupt Enable.
EP_OUT_PENDLEVEL_INT Interrupt Enable.
RX_OVERRUN_INT Interrupt Enable.
CFGSET_CMD_INT Interrupt Enable.
INTFSET_CMD_INT Interrupt Enable.
CUR_CFG_INT Interrupt Enable.
CUR_INTF_INT Interrupt Enable.
ALTSET_CMD_INT Interrupt Enable.
SETUP_CMD_INT Interrupt Enable.
EP3O_STALL_CLR_INT Interrupt Enable.
EP2O_STALL_CLR_INT Interrupt Enable.
EP1O_STALL_CLR_INT Interrupt Enable.
EP0O_STALL_CLR_INT Interrupt Enable.
EP3I_STALL_CLR_INT Interrupt Enable.
EP2I_STALL_CLR_INT Interrupt Enable.
EP1I_STALL_CLR_INT Interrupt Enable.
EP0I_STALL_CLR_INT Interrupt Enable.
INTR_STALL_CLR_INT Interrupt Enable.
EP3O_STALL_INT Interrupt Enable.
EP2O_STALL_INT Interrupt Enable.
EP1O_STALL_INT Interrupt Enable.
EP0O_STALL_INT Interrupt Enable.
EP3I_STALL_INT Interrupt Enable.
EP2I_STALL_INT Interrupt Enable.
EP1I_STALL_INT Interrupt Enable.
EP0I_STALL_INT Interrupt Enable.
INTR_STALL_INT Interrupt Enable.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.8.15
Bit(s)
10:0
UDC Time Stamp Register (UDC_TSR: 0x0033008C)
Type
RO
8.8.16
Default
11'b0
Name
UDC_TimeStamp
UDC Status Register (UDC_STAT: 0x00330090)
Note:
Used for debugging purpose only.
Bit(s)
11:9
Type
RO
Default
3'b0
8:7
RO
2'b0
UDC_InterfaceVal
6:5
RO
2'b0
UDC_ConfigVal
4
RO
1'b0
TxenL
3
RO
1'b0
TXDMns
2
RO
1'b0
TXDPls
1
RO
1'b0
DMNS
0
RO
1'b0
DPLS
101306C
Description
(Latched version of the UDC_TimeStamp [10:0] when UDC_Sof is
asserted by the UDC Core.)
The TimeStamp information obtained in the SOF Packet. The value on
this bus is valid when the UDC_Sof signal is asserted high.
Name
UDC_AltIntfVal
Description
(Latched version of the UDC_AltIntfVal [2:0] when UDC_LatchIntfVal
is asserted by the UDC Core.)
UDC_AltIntfVal[1:0] contains the new Alternate Interface Value
selected in the specified Interface in the Set-Interface Command. The
value on this three bit bus is valid when the UDC_LatchIntfVal signal is
asserted. The UDC supports a maximum of eight Alternate Settings
per Interface.
(Latched version of the UDC_InterfaceVal [1:0] when
UDC_LatchIntfVal is asserted by the UDC Core.)
UDC_InterfaceVal[1:0] contains the Interface Number to which the
Set-Interface command is issued to change the Alternate Setting of
the Interface. The value on this two bits bus is valid when the
UDC_LatchIntfVal signal is asserted.
The UDC supports a maximum of four Interfaces and Eight Alternates
in each interface.
(Latched version of the UDC_ConfigVal [1:0] when UDC_LatchCfgVal
is asserted by the UDC Core.)
UDC_ConfigVal[1:0] contains the new Configuration Value that is
being issued by the Host in the Set-Configuration Command. The
value on this two bits bus is valid when the UDC_LatchCfgVal signal is
asserted.
The UDC supports a maximum of three configurations plus one
unconfigured state (Cfg-00).
(Buffered version of the TxenL signal from the UDC Core.)
Output Enable for the Differential Driver to transmit the data onto the
USB. When the UDC is in transmit mode, this signal is asserted which
enables the output drivers.
This signal at reset time is a 1 and when asserted goes to a 0.
(Buffered version of the TXDMns signal from the UDC Core.)
NRZI formatted D- Output Data to the USB. When the UDC is in the
transmit mode, the D- data to be sent out is transmitted via this signal.
This signal will be fed into the Differential Driver.
(Buffered version of the TXDPls signal from the UDC Core.)
NRZI formatted D+ Output Data to the USB. When the UDC is in
transmit mode, the D+ data to be sent out is transmitted via this signal.
This signal will be fed into the Differential Driver.
(Buffered version of the DMNS signal to the UDC Core.)
D- Signal from the USB to identify the SE0 signal.
(Buffered version of the DPLS signal to the UDC Core.)
D+ Signal from the USB to identify the SE0 signal.
Conexant Proprietary and Confidential Information
8-29
CX82100 Home Network Processor Data Sheet
8.9
USB DMA Control Registers
8.9.1
EP0_IN Transmit Increment Register (EP0_IN_TX_INC: 0x00330048)
Bit(s)
7:0
Type
RW
8.9.2
Bit(s)
7:0
Type
RO
8-30
Description
Transmit Increment Register for EP0_IN.
No. of new valid packets in the EP0_IN host buffer ready to be
transferred by the DMAC. Updated by firmware.
Default
8'b0
Name
EP0_IN_TX _PEND
Description
Transmit Pending Register for EP0_IN.
No. of existing pending packets in the EP0_IN host buffer ready to
be transferred by host.
EP0_IN Transmit qword Count Register (EP0_IN_TX_QWCNT: 0x00330050)
Type
RO
8.9.4
Bit(s)
7:0
Name
EP0_IN_TX _INC
EP0_IN Transmit Pending Register (EP0_IN_TX_PEND: 0x0033004C)
8.9.3
Bit(s)
3:0
Default
8'b0
Default
4'b0
Name
EP0_IN_TX _QWCNT
Description
Transmit qword Count Register for EP0_IN.
Used by hardware.
EP1_IN Transmit Increment Register (EP1_IN_TX_INC: 0x00330054)
Type
RW
Default
8'b0
Name
EP1_IN_TX _INC
Description
Transmit Increment Register for EP1_IN.
No. of new valid packets in the EP1_IN host buffer ready to be
transferred by the DMAC. Updated by firmware.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.9.5
Bit(s)
7:0
EP1_IN Transmit Pending Register (EP1_IN_TX_PEND: 0x00330058)
Type
RO
8.9.6
Bit(s)
3:0
Type
RO
101306C
Description
Transmit Pending Register for EP1_IN.
No. of existing pending packets in the EP1_IN host buffer ready to
be transferred by host.
Default
4'b0
Name
EP1_IN_TX _QWCNT
Description
Transmit qword Count Register for EP1_IN.
Used by hardware.
EP2_IN Transmit Increment Register (EP2_IN_TX_INC: 0x00330060)
Type
RW
8.9.8
Bit(s)
7:0
Name
EP1_IN_TX _PEND
EP1_IN Transmit qword Count Register (EP1_IN_TX_QWCNT)
8.9.7
Bit(s)
7:0
Default
8'b0
Default
8'b0
Name
EP2_IN_TX _INC
Description
Transmit Increment Register for EP2_IN.
No. of new valid packets in the EP2_IN host buffer ready to be
transferred by the DMAC. Updated by firmware.
EP2_IN Transmit Pending Register (EP2_IN_TX_PEND: 0x00330064)
Type
RO
Default
8'b0
Name
EP2_IN_TX _PEND
Description
Transmit Pending Register for EP2_IN.
No. of existing pending packets in the EP2_IN host buffer
ready to be transferred by host.
Conexant Proprietary and Confidential Information
8-31
CX82100 Home Network Processor Data Sheet
8.9.9
Bit(s)
3:0
EP2_IN Transmit qword Count Register (EP2_IN_TX_QWCNT)
Type
RO
8.9.10
Bit(s)
7:0
Type
RW
8-32
Description
Transmit qword Count Register for EP2_IN.
Used by hardware.
Default
8'b0
Name
EP3_IN_TX _INC
Description
Transmit Increment Register for EP3_IN.
No. of new valid packets in the EP3_IN host buffer ready to
be transferred by the DMAC. Updated by firmware.
EP3_IN Transmit Pending Register (EP3_IN_TX_PEND: 0x00330070)
Type
RO
8.9.12
Bit(s)
3:0
Name
EP2_IN_TX _QWCNT
EP3_IN Transmit Increment Register (EP1_IN_TX_INC: 0x0033006C)
8.9.11
Bit(s)
7:0
Default
4'b0
Default
8'b0
Name
EP3_IN_TX _PEND
Description
Transmit Pending Register for EP3_IN.
No. of existing pending packets in the EP3_IN host buffer
ready to be transferred to host.
EP3_IN Transmit qword Count Register (EP3_IN_TX_QWCNT: 0x00330074)
Type
RO
Default
4'b0
Name
EP3_IN_TX _QWCNT
Description
Transmit qword Count Register for EP3_IN.
Used by hardware.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.9.13
Bit(s)
7:0
EP_OUT Receive Decrement Register (EP_OUT_RX_DEC: 0x00330078)
Type
RW
8.9.14
Bit(s)
7:0
Type
RO
101306C
Description
Endpoint OUT Receive Decrement Register.
No. of packets that have been transferred from the host RX
DMA buffer. Updated by firmware.
Default
8'b0
Name
EP_OUT_RX_PEND
Description
Endpoint OUT Receive Pending Register.
No. of received packets that have been transferred to the
host RX DMA buffer by the USB DMA DMAC channel.
Note: No new packets will be transferred if
EP_OUT_PEND = EP_BUFSIZE.
EP_OUT Receive Buffer Size Register (EP_OUT_RX_BUFSIZE: 0x00330084)
Type
RW
8.9.16
Bit(s)
3:0
Name
EP_OUT_RX _DEC
EP_OUT Receive Pending Register (EP_OUT_RX_PEND: 0x0033007C)
8.9.15
Bit(s)
7:0
Default
8'b0
Default
8'b0
Name
EP_OUT_RX_BUFSIZE
Description
Total Received Packet Size.
Should be less than or equal 226, should match with value
programmed into DMAC_12_Cnt1 register minus one count.
Using the following formula given the USB RX DMA Size
(DMA_SIZE) in bytes, DMA_SIZE < = 16376 and a multiple
integer number of 72
DMAC_12_Cnt1 = (DMA_SIZE / 8)
Count value = ((DMA_SIZE) / 72) -1
EP_OUT Receive qword Count Register (EP_OUT_RX_QWCNT: 0x00330080)
Type
RO
Default
4'b0
Name
EP_OUT_RX_QWCNT
Description
Receive qword Count Register.
Used by hardware.
Conexant Proprietary and Confidential Information
8-33
CX82100 Home Network Processor Data Sheet
8.9.17
Bit(s)
15:0
USB Receive DMA Watchdog Timer Register (USB_RXTIMER: 0x00330094)
Type
RW
8.9.18
Bit(s)
23:0
Default
16'b0
Name
USB_RXTIMER
Description
USB Receive DMA Watchdog Timer Register.
0=
Disabled.
≠ 0 = Value copied into the USB_RXTIMERCNT bits
23:8 whenever the receive pending register value
(EP_OUT_RX_PEND) changes (increments) to a
nonzero value. See register USB_RXTIMERCNT
for more information.
USB Receive DMA Watchdog Timer Counter Register (USB_RXTIMERCNT:
0x00330098)
Type
RO
8.9.19
Default
24'b0
Name
USB_RXTIMERCNT
Description
USB Receive DMA Watchdog Timer Counter Register.
This counter will start running whenever a nonzero value is
contained in USB_RXTIMER register and the receive
pending register (EP_OUT_RX_PEND) value becomes
nonzero. The counter therefore automatically reloads the
USB_RXTIMER value when it counts down to zero (this
reload condition doesn’t matter since timer has stopped) or
after a reception of a USB packet.
If bit 25 of U_IER2 is set to a 1, an interrupt will be
generated when the counter reaches zero. This is reflected
in bit 25 of U_STAT2.
“Start running” means that the 16 bits of the
USB_RXTIMER register are copied to bits 24:8 of the
counter. This allows a timer range between 256 cycles
PCLK (5.12 us if PCLK = 50MHz) and 16M cycles PCLK
(~335.5ms if PCLK = 50MHz).
The counter will stop running when the USB_RXTIMER
register is programmed to 0 or the EP_OUT_RX_PEND is
0.
EP_OUT Receive Pending Interrupt Level Register (EP_OUT_RX_PENDLEVEL:
0x0033009C)
Table 8-10. EP_OUT Receive Pending Level Register
Bit(s)
7:0
8-34
Type
RW
Default
8'b0
Name
EP_OUT_RX_PENDLEVEL
Description
Receive Packet Pending Interrupt Level.
When the value in the receive pending register
(EP_OUT_RX_PEND) equals the value in this register, an
interrupt will be generated if enabled.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
8.9.20
USB Control-Status Register (U_CSR: 0x00330088)
Bit(s)
14
Type
RO
Default
1'b0
Name
EP_OUT_RX_PENDISFULL
13
RO
1'b1
EP3_IN_TX_PENDISZERO
12
RO
1'b1
EP2_IN_TX_PENDISZERO
11
RO
1'b1
EP1_IN_TX_PENDISZERO
10
RO
1'b1
EP0_IN_TX_PENDISZERO
9
WO
1'b0
EP_OUT_RX_CLRQWCNT
8
WO
1’b0
EP_OUT_RX_CLRPEND
7
WO
1’b0
EP3_IN_TX_CLRQWCNT
6
WO
1'b0
EP3_IN_TX_CLRPEND
5
WO
1'b0
EP2_IN_TX_CLRQWCNT
4
WO
1'b0
EP2_IN_TX_CLRPEND
3
WO
1'b0
EP1_IN_TX_CLRQWCNT
101306C
Self clears
Receive Pending Register for All OUT Endpoints Full
Status.
0 = Receive Pending Register for all the OUT endpoints
is not full.
1 = Receive Pending Register for all the OUT endpoints
is full.
Transmit Pending Register for EP3_IN Zero Status.
0 = Transmit Pending Register for EP3_IN is nonzero.
1 = Transmit Pending Register for EP3_IN is zero.
Transmit Pending Register for EP2_IN Zero Status.
0 = Transmit Pending Register for EP2_IN is nonzero.
1 = Transmit Pending Register for EP2_IN is zero.
Transmit Pending Register for EP1_IN Zero Status.
0 = Transmit Pending Register for EP1_IN is nonzero.
1 = Transmit Pending Register for EP1_IN is zero.
Transmit Pending Register for EP0_IN is Zero Status.
0 = Transmit Pending Register for EP0_IN is nonzero.
1 = Transmit Pending Register for EP0_IN is zero.
Clear Receive QWCNT Register for All OUT Endpoints.
0 = No effect.
1 = Clear the Receive QWCNT Register for all OUT
endpoints.
This bit self-clears one cycle after a 1 is written.
Clear Receive Pending Register for All OUT Endpoints.
0 = No effect.
1 = Clear the Receive Pending Register for all OUT
endpoints.
This bit self-clears one cycle after a 1 is written.
Clear the Transmit QWCNT Register for EP3_IN.
0 = No effect.
1 = Clear the Transmit QWCNT Register for EP3_IN.
This bit self-clears one cycle after a 1 is written.
Clear the Transmit Pending Register for EP3_IN.
0 = No effect.
1 = Clear the Transmit Pending Register for EP3_IN.
This bit self-clears one cycle after a 1 is written.
Clear the Transmit QWCNT Register for EP2_IN.
0 = No effect.
1 = Clear the Transmit QWCNT Register for EP2_IN.
This bit self-clears one cycle after a 1 is written.
Clear the Transmit Pending Register for EP2_IN.
0 = No effect.
1 = Clear the Transmit Pending Register for EP2_IN.
This bit self-clears one cycle after a 1 is written.
Clear the Transmit QWCNT Register for EP1_IN.
0 = No effect.
1 = Clear the Transmit QWCNT Register for EP1_IN.
This bit self-clears one cycle after a 1 is written.
Conexant Proprietary and Confidential Information
8-35
CX82100 Home Network Processor Data Sheet
Bit(s)
2
Type
WO
Default
1'b0
1
WO
1'b0
EP0_IN_TX_CLRQWCNT
0
WO
1'b0
EP0_IN_TX_CLRPEND
8-36
Name
EP1_IN_TX_CLRPEND
Self clears
Clear the Transmit Pending Register for EP1_IN.
0 = No effect.
1 = Clear the Transmit Pending Register for EP1_IN.
This bit self-clears one cycle after a 1 is written.
Clear the Transmit QWCNT Register for EP0_IN.
0 = No effect.
1 = Clear the Transmit QWCNT Register for EP0_IN.
This bit self-clears one cycle after a 1 is written.
Clear the Transmit QWCNT Register for EP0_IN.
0 = No effect.
1 = Clear the Transmit QWCNT Register for EP0_IN.
This bit self-clears one cycle after a 1 is written.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9
General Purpose Input/Output Interface Description
9.1
GPIO Pin Description
The GPIO pins can be read by reading GPIO_DATA_IN{x} register. They can be driven
as outputs by using GPIO_OE{x} for the pin driver enable, and GPIO_DATA_OUT{x}
for the data output polarity.
Each GPIO[x] pin is controlled individually by GPIO_OE{x} for the input/output
direction. All GPIO pins can serve as external interrupt inputs. These are controlled
through GPIO_ISR{x} and GPIO_IER{x} registers. The polarity and the sensitivity (i.e.,
edge or level) for each GPIO interrupt source can be controlled by programming the
GPIO_IPC{x} and GPIO_ISM{x} registers, respectively.
GPIO[39:37; 32] have alternate functions that can be controlled through the GPIO Option
Register (GPIO_OPT).
Figure 9-1 illustrates the internal interface for a GPIO pin.
Figure 9-1. GPIO[x] Interface
GPIO_DATA_IN {x}
0
1
GPIO_DATA_OUT{x}
Local data bus
GPIO[x]
GPIO_OE{x}
100545_061
101306C
Conexant Proprietary and Confidential Information
9-1
CX82100 Home Network Processor Data Sheet
9.2
GPIO Register Memory Map
GPIO registers are identified in Table 9-1.
Table 9-1. GPIO Registers
Register Label
GPIO_ISM1
GPIO_ISM2
GPIO_ISM3
GPIO_OPT
GPIO_OE1
GPIO_OE2
GPIO_OE3
GPIO_DATA_IN1
GPIO_DATA_IN2
GPIO_DATA_IN3
GPIO_DATA_OUT1
GPIO_DATA_OUT2
GPIO_DATA_OUT3
GPIO_ISR1
GPIO_ISR2
GPIO_ISR3
GPIO_IER1
GPIO_IER2
GPIO_IER3
GPIO_IPC1
GPIO_IPC2
GPIO_IPC3
9-2
Register Name
GPIO Interrupt Sensitivity Mode Register 1
GPIO Interrupt Sensitivity Mode Register 2
GPIO Interrupt Sensitivity Mode Register 3
GPIO Option Register
GPIO Output Enable Register 1
GPIO Output Enable Register 2
GPIO Output Enable Register 3
GPIO Data Input Register 1
GPIO Data Input Register 2
GPIO Data Input Register 3
GPIO Data Output Register 1
GPIO Data Output Register 2
GPIO Data Output Register 3
GPIO Interrupt Status Register 1
GPIO Interrupt Status Register 2
GPIO Interrupt Status Register 3
GPIO Interrupt Enable Register 1
GPIO Interrupt Enable Register 2
GPIO Interrupt Enable Register 3
GPIO Interrupt Polarity Control Register 1
GPIO Interrupt Polarity Control Register 2
GPIO Interrupt Polarity Control Register 3
ASB Address
0x003500A0
0x003500A4
0x003500A8
0x003500B0
0x003500B4
0x003500B8
0x003500BC
0x003500C0
0x003500C4
0x003500C8
0x003500CC
0x003500D0
0x003500D4
0x003500D8
0x003500DC
0x003500E0
0x003500E4
0x003500E8
0x003500EC
0x003500F0
0x003500F4
0x003500F8
Type
RW
RW
RW
RW
RW
RW
RW
RO
RO
RO
RW
RW
RW
RR
RR
RR
RW
RW
RW
RW
RW
RW
Conexant Proprietary and Confidential Information
Default Value
0x00000000
0x00000000
0x00000000
0x00000000
0x00002306
0x00000082
0x00000000
0x00000000
0x00000000
0x00000000
0x23062306
0x00960086
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
Ref.
9.3.20
9.3.21
9.3.22
9.3.1
9.3.2
9.3.3
9.3.4
9.3.5
9.3.6
9.3.7
9.3.8
9.3.9
9.3.10
9.3.11
9.3.12
9.3.13
9.3.14
9.3.15
9.3.16
9.3.17
9.3.18
9.3.19
101306C
CX82100 Home Network Processor Data Sheet
9.3
GPIO Registers
GPIO register bits are described in this section.
9.3.1
GPIO Option Register for GPIO[39:37; 32] (GPIO_OPT: 0x003500B0)
This register selects general or special purpose use for the GPIO[39:37; 32] pins.
Note:
Voltage levels for GPIO[39:37; 32] pins assigned to special purpose functions
by bits in the GPIO_OPT register are reflected in the GPIO_DATA_IN3
register, however, the GPIO_DATA_OUT3 register bits are not applicable.
Bit(s)
31:8
7
Type
Default
RW
1’b0
GPIO_Sel7
6
RW
1’b0
GPIO_Sel6
5
RW
1’b0
GPIO_Sel5
4:1
0
RW
1’b0
GPIO_Sel0
101306C
Name
Description
Reserved.
Select FCLKIO or GPIO39 Usage.
0 = FCLKIO/GPIO39 pin is used as GPIO39.
1 = FCLKIO/GPIO39 pin is used as FCLKIO.
Note: Pin PLLBP high causes FCLKIO to be selected regardless of
this bit state.
Select BCLKIO or GPIO38 Usage.
0 = BCLKIO/GPIO38 pin is used as GPIO38.
1 = BCLKIO/GPIO38 pin is used as BCLKIO.
Note: Pin PLLBP high causes BCLKIO to be selected regardless of
this bit state.
Select GPIO37 or HCS4# Usage.
0 = HAD31 (HCS4#)/GPIO37 pin is used as HCS4#.
1 = HAD31 (HCS4#)/GPIO37 pin is used as a GPIO37.
Reserved.
Select GPIO32 or HCS0# Usage.
0 = HC00 (HCS0#)/GPIO32 pin is used as HCS0#.
1 = HC00 (HCS0#)/GPIO32 pin is used as GPIO32.
Conexant Proprietary and Confidential Information
9-3
CX82100 Home Network Processor Data Sheet
9.3.2
GPIO Output Enable Register 1 for GPIO[15:14; 8:5] (GPIO_OE1: 0x003500B4)
GPIO_OE1 is the output enable register for GPIO[15:14; 8:5].
Bit(s)
15:0;
15≥Y≥0,
Y = Bit #
Type
RW
Default
16’b0
Bit(s)
31:16
15
14
13:9
8
7
6
5
4:0
Type
Default
9.3.3
Name
GPIO_OE{X},
15≥X≥0,
X=Y
Description
GPIO[X] Output Enable, 15≥
≥X≥
≥0.
0 = GPIO[X] is an input pin.
1 = GPIO[X] is an output pin.
Name
RW
RW
1’b0
1’b0
GPIO_OE15
GPIO_OE14
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
GPIO_OE8
GPIO_OE7
GPIO_OE6
GPIO_OE5
Description
Reserved.
GPIO15 Output Enable.
GPIO14 Output Enable.
Reserved.
GPIO8 Output Enable.
GPIO7 Output Enable.
GPIO6 Output Enable.
GPIO5 Output Enable.
Reserved.
GPIO Output Enable Register 2 for GPIO[31; 27:16] (GPIO_OE2: 0x003500B8)
GPIO_OE2 is the output enable register for GPIO[31; 27:16]
Bit(s)
15:0;
15≥Y≥0,
Y = Bit #
Type
RW
Default
16’b0
Bit(s)
31:16
15
14:12
11
10
9
8
7
6
5
4
3
2
1
0
Type
Default
9-4
Name
GPIO_OE{X},
31≥X≥16,
X = Y + 16
Description
GPIO[X] Output Enable, 31≥
≥X≥
≥16.
0 = GPIO[X] is an input pin.
1 = GPIO[X] is an output pin.
Name
RW
1’b0
GPIO_OE31
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
GPIO_OE27
GPIO_OE26
GPIO_OE25
GPIO_OE24
RW
RW
RW
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
1’b0
1
1’b0
GPIO_OE22
GPIO_OE21
GPIO_OE20
GPIO_OE19
GPIO_OE18
GPIO_OE17
GPIO_OE16
Description
Reserved.
GPIO31 Output Enable.
Reserved.
GPIO27 Output Enable.
GPIO26 Output Enable.
GPIO25 Output Enable.
GPIO24 Output Enable.
Reserved.
GPIO22 Output Enable.
GPIO21 Output Enable.
GPIO20 Output Enable.
GPIO19 Output Enable.
GPIO18 Output Enable.
GPIO17 Output Enable.
GPIO16 Output Enable.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.4
GPIO Output Enable Register 3 for GPIO[39:37; 32] (GPIO_OE3: 0x003500BC)
GPIO_OE3 is the output enable register for GPIO[39:37; 32].
Bit(s)
7:0;
7≥Y≥0,
Y = Bit #
Type
RW
Default
8’b0
Bit(s)
31:8
7
6
5
4:1
0
Type
Default
9.3.5
Name
GPIO_OE{X},
39≥X≥32,
X = Y + 32
Description
GPIO[X] Output Enable, 39≥
≥X≥
≥32.
0 = GPIO[X] is an input pin.
1 = GPIO[X] is an output pin.
Name
RW
RW
RW
1’b0
1’b0
1’b1
GPIO_OE39
GPIO_OE38
GPIO_OE37
RW
1’b1
GPIO_OE32
Description
Reserved.
GPIO39 Output Enable.
GPIO38 Output Enable.
GPIO37 Output Enable.
Reserved.
GPIO32 Output Enable.
GPIO Data Input Register 1 for GPIO[15:14; 8:5] (GPIO_DATA_IN1: 0x003500C0)
GPIO_DATA_IN1is the data input register for GPIO[15:14; 8:5].
Bit(s)
15:0;
15≥Y≥0,
Y = Bit #
Type
RO
Bit(s)
31:16
15
14
13:9
8
7
6
5
4:0
Type
101306C
Default
16’bx
Name
GPIO_DIN {X},
15≥X≥0,
X=Y
Name
RO
RO
1’bx
1’bx
GPIO_DIN15
GPIO_DIN14
RO
RO
RO
RO
1’bx
1’bx
1’bx
1’bx
GPIO_DIN8
GPIO_DIN7
GPIO_DIN6
GPIO_DIN5
Description
GPIO[X] Pin Voltage Level, 15≥
≥X≥
≥0.
0 = Pin voltage level is low.
1 = Pin voltage level is high.
Description
Reserved.
GPIO15 Pin Voltage Level.
GPIO14 Pin Voltage Level.
Reserved.
GPIO8 Pin Voltage Level.
GPIO7 Pin Voltage Level.
GPIO6 Pin Voltage Level.
GPIO5 Pin Voltage Level.
Reserved.
Conexant Proprietary and Confidential Information
9-5
CX82100 Home Network Processor Data Sheet
9.3.6
GPIO Data Input Register 2 for GPIO[31; 27:24; 22:16] (GPIO_DATA_IN2:
0x003500C4)
GPIO_DATA_IN2 is the data input register for GPIO[31; 27:24; 22:16].
Bit(s)
15:0;
15≥Y≥0,
Y = Bit #
Type
RO
Bit(s)
31:16
15
14:12
11
10
9
8
7
6
5
4
3
2
1
0
Type
9.3.7
Default
16’bx
Name
GPIO_DIN {X},
31≥X≥16,
X = Y + 16
Name
RO
1’bx
GPIO_DIN31
RO
RO
1’bx
1’bx
GPIO_DIN27
GPIO_DIN26
RO
1’bx
GPIO_DIN24
RO
RO
RO
RO
RO
RO
RO
1’bx
1’bx
1’bx
1’bx
1’bx
1’bx
1’bx
GPIO_DIN22
GPIO_DIN21
GPIO_DIN20
GPIO_DIN19
GPIO_DIN18
GPIO_DIN17
GPIO_DIN16
Description
GPIO[X] Pin Voltage Level, 31≥
≥X≥
≥16.
0 = Pin voltage level is low.
1 = Pin voltage level is high.
Description
Reserved.
GPIO31 Pin Voltage Level.
Reserved.
GPIO27 Pin Voltage Level.
GPIO26 Pin Voltage Level.
Reserved.
GPIO24 Pin Voltage Level.
Reserved.
GPIO22 Pin Voltage Level.
GPIO21 Pin Voltage Level.
GPIO20 Pin Voltage Level.
GPIO19 Pin Voltage Level.
GPIO18 Pin Voltage Level.
GPIO17 Pin Voltage Level.
GPIO16 Pin Voltage Level.
GPIO Data Input Register 3 for GPIO[39:37; 32] (GPIO_DATA_IN3: 0x003500C8)
GPIO_DATA_IN3 is the data input register for GPIO[39:37; 32].
Bit(s)
7:0;
7≥Y≥0,
Y = Bit #
Type
RO
Bit(s)
31:8
7
6
5
4:1
0
Type
9-6
Default
8’bx
Name
GPIO_DIN {X},
39≥X≥32,
X = Y + 32
Name
RO
RO
RO
1’bx
1’bx
1’bx
GPIO_DIN39
GPIO_DIN38
GPIO_DIN37
RO
1’bx
GPIO_DIN32
Description
GPIO[X] Pin Voltage Level, 39≥
≥X≥
≥32.
0 = Pin voltage level is low.
1 = Pin voltage level is high.
Description
Reserved.
GPIO39 Pin Voltage Level.
GPIO38 Pin Voltage Level.
GPIO37 Pin Voltage Level.
Reserved.
GPIO32 Pin Voltage Level.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.8
GPIO Data Output Register 1 for GPIO[15:14; 8:5] (GPIO_DATA_OUT1:
0x003500CC)
The GPIO Data Output Register 1 contains read/write data output bits and corresponding
write-only output mask bits for GPIO[15:14; 8:5].
Writing a 1 to an output mask bit (GPIO_DOMSKx) enables the level corresponding to
associated data output bit (GPIO_DOUTx) onto the associated GPIO pin when the
associated direction bit (GPIO_OEx) is a 1; if the GPIO_OEx is a 0, there is no effect.
Writing a 0 to GPIO_DOMSKx has no effect.
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
15:0;
15≥Y≥0,
Y = Bit #
Type
WO
Default
16’b0
RW
16’bx
Bit(s)
31
30
29:25
24
23
22
21
20:16
15
14
13:9
8
7
6
5
4:0
Type
WO
WO
Default
1’b0
1’b0
Name
GPIO_DOMSK15
GPIO_DOMSK14
WO
WO
WO
WO
1’b1
1’b0
1’b0
1’b0
GPIO_DOMSK8
GPIO_DOMSK7
GPIO_DOMSK6
GPIO_DOMSK5
RW
RW
1’bx
1’bx
GPIO_DOUT15
GPIO_DOUT14
RW
RW
RW
RW
1’bx
1’bx
1’bx
1’bx
GPIO_DOUT8
GPIO_DOUT7
GPIO_DOUT6
GPIO_DOUT5
101306C
Name
GPIO_DOMSK{X},
15≥X≥0,
X = Y-16
GPIO_DOUT{X},
15≥X≥0,
X=Y
Description
GPIO[X] Output Mask, 15≥
≥X≥
≥0.
Read: Reads a 0.
Write: GPIO_DOUT[X] (bit Y-16) mask (1 = Enable; 0 = Disable).
GPIO[X] Data Output, 15≥
≥X≥
≥0.
Read: Reads the last value written to this bit.
Write: The output level (1 = high, 0 = low) is driven onto GPIO[X]
pin when mask bit is set (GPIO_DOMSK[X] = 1) and signal
direction is output (GPIO_OE[X] = 1); no effect, otherwise.
Description
GPIO15 Output Mask.
GPIO14 Output Mask.
Reserved.
GPIO8 Output Mask.
GPIO7 Output Mask.
GPIO6 Output Mask.
GPIO5 Output Mask.
Reserved.
GPIO15 Data Output.
GPIO14 Data Output.
Reserved.
GPIO8 Data Output.
GPIO7 Data Output.
GPIO6 Data Output.
GPIO5 Data Output.
Reserved.
Conexant Proprietary and Confidential Information
9-7
CX82100 Home Network Processor Data Sheet
9.3.9
GPIO Data Output Register 2 for GPIO[31; 27:24; 22:16] (GPIO_DATA_OUT2:
0x003500D0)
The GPIO Data Output Register 2 contains read/write data output bits and corresponding
write-only output mask bits for GPIO[31; 27:24; 22:16].
Writing a 1 to an output mask bit (GPIO_DOMSKx) enables the level corresponding to
associated data output bit (GPIO_DOUTx) onto the associated GPIO pin when the
associated direction bit (GPIO_OEx) is a 1; if the GPIO_OEx is a 0, there is no effect.
Writing a 0 to GPIO_DOMSKx has no effect.
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
15:0;
15≥Y≥0,
Y = Bit #
Type
WO
Default
16’b0
RW
16’bx
Bit(s)
31
30:28
27
26
25
24
23
22
21
20
19
18
17
16
15
14:12
11
10
9
8
7
6
5
4
3
2
1
0
Type
WO
Default
1’b0
Name
GPIO_DOMSK31
WO
WO
WO
WO
1’b0
1’b0
1’b0
1’b0
GPIO_DOMSK27
GPIO_DOMSK26
GPIO_DOMSK25
GPIO_DOMSK24
WO
WO
WO
WO
WO
WO
WO
RW
1’b0
1’b0
1’b0
1’b0
1’b0
1’b1
1’b0
-
GPIO_DOMSK22
GPIO_DOMSK21
GPIO_DOMSK20
GPIO_DOMSK19
GPIO_DOMSK18
GPIO_DOMSK17
GPIO_DOMSK16
GPIO_DOUT31
RW
RW
RW
RW
1’bx
1’bx
1’bx
1’bx
GPIO_DOUT27
GPIO_DOUT26
GPIO_DOUT25
GPIO_DOUT24
RW
RW
RW
RW
RW
RW
RW
1’bx
1’bx
1’bx
1’bx
1’bx
1’bx
1’bx
GPIO_DOUT22
GPIO_DOUT21
GPIO_DOUT20
GPIO_DOUT19
GPIO_DOUT18
GPIO_DOUT17
GPIO_DOUT16
9-8
Name
GPIO_DOMSK{X},
31≥X≥16,
X=Y
GPIO_DOUT{X},
31≥X≥16,
X = Y +16
Description
GPIO[X] Output Mask, 31≥
≥X≥
≥16.
Read: Reads a 0.
Write: GPIO_DOUT[X] (bit Y-16) mask (1 = Enable; 0 = Disable).
GPIO[X] Data Output, 31≥
≥X≥
≥16.
Read: Reads the last value written to this bit.
Write: The output level (1 = high, 0 = low) is driven onto GPIO[X]
pin when mask bit is set (GPIO_DOMSK[X] = 1) and signal
direction is output (GPIO_OE[X] = 1); no effect, otherwise.
Description
GPIO31 Output Mask.
Reserved.
GPIO27 Output Mask.
GPIO26 Output Mask.
GPIO25 Output Mask.
GPIO24 Output Mask.
GPIO22 Output Mask.
GPIO21 Output Mask.
GPIO20 Output Mask.
GPIO19 Output Mask.
GPIO18 Output Mask.
GPIO17 Output Mask.
GPIO16 Output Mask.
GPIO31 Data Output.
Reserved.
GPIO27 Data Output.
GPIO26 Data Output.
GPIO25 Data Output.
GPIO24 Data Output.
Reserved.
GPIO22 Data Output.
GPIO21 Data Output.
GPIO20 Data Output.
GPIO19 Data Output.
GPIO18 Data Output.
GPIO17 Data Output.
GPIO16 Data Output.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.10
GPIO Data Output Register 3 for GPIO[39:37; 32] (GPIO_DATA_OUT3:
0x003500D4)
The GPIO Data Output Register 3 contains read/write data output bits and corresponding
write-only output mask bits for GPIO[39:32].
Writing a 1 to an output mask bit (GPIO_DOMSKx) enables the level corresponding to
associated data output bit (GPIO_DOUTx) onto the associated GPIO pin when the
associated direction bit (GPIO_OEx) is a 1; if the GPIO_OEx is a 0, there is no effect.
Writing a 0 to GPIO_DOMSKx has no effect.
Note:
Bit(s)
31:24
Type
23:16;
23≥Y≥16,
Y = Bit #
15:8
7:0;
7≥Y≥0,
Y = Bit #
RO
8’b0
GPIO_DOMSK{X},
39≥X≥32,
X = Y+16
GPIO[X] Output Mask, 39≥
≥X≥
≥32.
Read: Reads a 0.
Write: GPIO_DOUT[X] (bit Y-=16) mask (1 = Enable; 0 = Disable).
Reserved.
RW
8’bx
GPIO_DOUT{X},
39≥X≥32,
X = Y+32
GPIO[X] Data Output, 39≥
≥X≥
≥32.
Read: Reads the last value written to this bit.
Write: The output level (1 = high, 0 = low) is driven onto GPIO[X]
pin when mask bit is set (GPIO_DOMSK[X] = 1) and signal
direction is output (GPIO_OE[X] = 1); no effect, otherwise.
Type
Default
Bit(s)
31:24
23
22
21
20:17
16
15:8
7
6
5
4:1
0
101306C
Default
Voltage levels for GPIO[39:37; 32] pins assigned to special purpose functions
by bits in the GPIO_OPT register are reflected in the GPIO_DATA_IN3
register, however, the GPIO_DATA_OUT3 register bits are not applicable.
Name
Description
Reserved.
Name
RO
RO
RO
1’b0
1’b0
1’b1
GPIO_DOMSK39
GPIO_DOMSK38
GPIO_DOMSK37
RO
1’b1
GPIO_DOMSK32
RW
RW
RW
1’b1
GPIO_DOUT39
GPIO_DOUT38
GPIO_DOUT37
RW
1’b1
GPIO_DOUT32
Description
Reserved.
GPIO39 Output Mask.
GPIO38 Output Mask.
GPIO37 Output Mask.
Reserved.
GPIO32 Output Mask.
Reserved.
GPIO39 Data Output.
GPIO38 Data Output.
GPIO37 Data Output.
Reserved.
GPIO32 Data Output.
Conexant Proprietary and Confidential Information
9-9
CX82100 Home Network Processor Data Sheet
9.3.11
GPIO Interrupt Status Register 1 for GPIO[15:14; 8:5] (GPIO_ISR1: 0x003500D8)
GPIO_ISR1 is the interrupt input status register for GPIO[15:14; 8:5].
Note:
Bit(s)
15:0;
15≥Y≥0,
Y = Bit #
Type
RR
Default
See specific
bit
If an interrupt is level-sensitive, the corresponding status bit will remain a 1 as
long as the interrupt source is not removed. The status bit can be cleared only
after the interrupt source is removed and a 1 is written to the bit.
Name
GPIO_IS{X},
15≥X≥0,
X = Y.
Description
GPIO[X] Interrupt Status, 15≥
≥X≥
≥0.
Reading:
bit #Y = 0 = > No interrupt detected on GPIO[X].
bit #Y = 1 = > Interrupt input detected on GPIO[X].
Writing:
0 to bit #Y = > no effect
1 to bit #Y = > clear the interrupt on GPIO[X].
Note: If the interrupt is level-sensitive, the status bit will remain a 1 as
long as the interrupt resource is not removed. The bit can be cleared
only after the resource is removed and a 1 is written to it.
Bit(s)
15
14
13:9
8
7
6
5
4:0
9.3.12
Type
RR
RR
Default
1’b0
1’b0
Name
GPIO_IS15
GPIO_IS14
RR
RR
RR
RR
1’b0
1’b0
1’b0
1’b0
GPIO_IS8
GPIO_IS7
GPIO_IS6
GPIO_IS5
Description
GPIO15 Interrupt Status.
GPIO14 Interrupt Status.
Reserved.
GPIO8 Interrupt Status.
GPIO7 Interrupt Status.
GPIO6 Interrupt Status.
GPIO5 Interrupt Status.
Reserved.
GPIO Interrupt Status Register 2 for GPIO[31; 27:24; 22:16] (GPIO_ISR2:
0x003500DC)
GPIO_ISR2 is the interrupt input status register for GPIO[31; 27:16].
Note:
Bit(s)
9-10
Type
Default
If an interrupt is level-sensitive, the corresponding status bit will remain a 1 as
long as the interrupt source is not removed. The status bit can be cleared only
after the interrupt source is removed and a 1 is written to the bit.
Name
Description
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Bit(s)
15:0;
15≥Y≥0,
Y = Bit #
Type
RR
Default
See specific
bit
Name
GPIO_IS{X},
31≥X≥16,
X = Y+16.
Description
GPIO[X] Interrupt Status, 31≥
≥X≥
≥16.
Reading:
bit #Y = 0 = > No interrupt detected on GPIO[X].
bit #Y = 1 = > Interrupt input detected on GPIO[X].
Writing:
0 to bit #Y = > no effect
1 to bit #Y = > clear the interrupt on GPIO[X].
Note: If the interrupt is level-sensitive, the status bit will remain a 1 as
long as the interrupt resource is not removed. The bit can be cleared
only after the resource is removed and a 1 is written to it.
Bit(s)
15
14:12
11
10
9
8
7
6
5
4
3
2
1
0
101306C
Type
RR
Default
1’b0
Name
GPIO_IS31
RR
RR
RR
RR
1’b0
1’b0
1’b0
1’b0
GPIO_IS27
GPIO_IS26
GPIO_IS25
GPIO_IS24
RR
RR
RR
RR
RR
RR
RR
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
GPIO_IS22
GPIO_IS21
GPIO_IS20
GPIO_IS19
GPIO_IS18
GPIO_IS17
GPIO_IS16
Description
GPIO31 Interrupt Status.
Reserved.
GPIO27 Interrupt Status.
GPIO26 Interrupt Status.
GPIO25 Interrupt Status.
GPIO24 Interrupt Status.
Reserved.
GPIO22 Interrupt Status.
GPIO21 Interrupt Status.
GPIO20 Interrupt Status.
GPIO19 Interrupt Status.
GPIO18 Interrupt Status.
GPIO17 Interrupt Status.
GPIO16 Interrupt Status.
Conexant Proprietary and Confidential Information
9-11
CX82100 Home Network Processor Data Sheet
9.3.13
GPIO Interrupt Status Register 3 for GPIO[39:37; 32] (GPIO_ISR3: 0x003500E0)
GPIO_ISR3 is the interrupt input status register for GPIO[39:37; 32].
Note:
Bit(s)
7:0;
7≥Y≥0,
Y = Bit #
Type
RR
Default
See specific
bit
Bit(s)
31:8
7
6
5
4:1
0
Type
Default
9-12
If an interrupt is level-sensitive, the corresponding status bit will remain a 1 as
long as the interrupt source is not removed. The status bit can be cleared only
after the interrupt source is removed and a 1 is written to the bit.
Name
GPIO_IS{X},
39≥X≥32,
X = Y+32.
Description
GPIO[X] Interrupt Status, 39≥
≥X≥
≥32.
Reading:
bit #Y = 0 = > No interrupt detected on GPIO[X].
bit #Y = 1 = > Interrupt input detected on GPIO[X].
Writing:
0 to bit #Y = > no effect
1 to bit #Y = > clear the interrupt on GPIO[X].
Note: If the interrupt is level-sensitive, the status bit will remain a 1 as
long as the interrupt resource is not removed. The bit can be cleared
only after the resource is removed and a 1 is written to it.
Name
RR
RR
RR
1’b0
1’b0
1’b0
GPIO_IS39
GPIO_IS38
GPIO_IS37
RR
1’b0
GPIO_IS32
Description
Reserved.
GPIO39 Interrupt Status.
GPIO38 Interrupt Status.
GPIO37 Interrupt Status.
Reserved.
GPIO32 Interrupt Status.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.14
GPIO Interrupt Enable Register 1 for GPIO[15:14; 8:5] (GPIO_IER1: 0x003500E4)
GPIO_IER1 is the interrupt input enable register for GPIO[15:14; 8:5].
Note:
If an interrupt input is enabled for GPIO[X], then GPIO[X] must be configured
as an input.
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
Type
RO
Default
See specific
bit
Name
GPIO_IEMSK{X},
15≥X≥0,
X = Y-16.
15:0;
15≥Y≥0,
Y = Bit #
RW
See specific
bit
GPIO_IE{X},
15≥X≥0,
X = Y.
GPIO[X] Interrupt Enable, 15≥
≥X≥
≥0.
Reading:
Return the last value written to bit #Y.
Writing:
0 = Disable the GPIO[X] interrupt if GPIO_IEMSK{X} = 1; don't
care, otherwise.
1 = Enable the GPIO[X] interrupt if GPIO_IEMSK{X} = 1; don't
care, otherwise.
Bit(s)
31
30
29:25
24
23
22
21
20:16
15
14
13:9
8
7
6
5
4:0
Type
RO
RO
Default
1’b0
1’b0
Name
GPIO_IEMSK15
GPIO_IEMSK14
RO
RO
RO
RO
1’b0
1’b0
1’b0
1’b0
GPIO_IEMSK8
GPIO_IEMSK7
GPIO_IEMSK6
GPIO_IEMSK5
RW
RW
1’b0
1’b0
GPIO_IE15
GPIO_IE14
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
GPIO_IE8
GPIO_IE7
GPIO_IE6
GPIO_IE5
Description
GPIO15 Interrupt Enable Mask.
GPIO14 Interrupt Enable Mask.
Reserved.
GPIO8 Interrupt Enable Mask.
GPIO7 Interrupt Enable Mask.
GPIO6 Interrupt Enable Mask.
GPIO5 Interrupt Enable Mask.
Reserved.
GPIO15 Interrupt Enable.
GPIO14 Interrupt Enable.
Reserved.
GPIO8 Interrupt Enable.
GPIO7 Interrupt Enable.
GPIO6 Interrupt Enable.
GPIO5 Interrupt Enable.
Reserved.
101306C
Description
GPIO[X] Interrupt Enable Mask, 15≥
≥X≥
≥0.
Reading:
Return 0.
Writing:
0 = Mask off the function associated with GPIO_IE{X}.
1 = Enable the function associated with GPIO_IE{X}.
Conexant Proprietary and Confidential Information
9-13
CX82100 Home Network Processor Data Sheet
9.3.15
GPIO Interrupt Enable Register 2 for GPIO[31; 27:24; 22:16] (GPIO_IER2:
0x003500E8)
GPIO_IER2 is the interrupt input enable register for GPIO[31:16]. Note that if an
interrupt input is enabled for GPIO[X], then GPIO[X] must be configured as an input.
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
Type
RO
Default
See specific
bit
Name
GPIO_IEMSK{X},
31≥X≥16,
X = Y.
15:0;
15≥Y≥0,
Y = Bit #
RW
See specific
bit
GPIO_IE{X},
31≥X≥16,
X = Y+16.
GPIO[X] Interrupt Enable, 31≥
≥X≥
≥16.
Reading:
Return the last value written to bit #Y.
Writing:
0 to bit #Y = > Disable the GPIO[X] interrupt if GPIO_IEMSK{X} =
1; don't care, otherwise.
1 to bit #Y = > Enable the GPIO[X] interrupt if GPIO_IEMSK{X} =
1; don't care, otherwise.
Bit(s)
31
30:28
27
26
25
24
23
22
21
20
19
18
17
16
15
14:12
11
10
9
8
7
6
5
4
3
2
1
0
Type
RO
Default
1’b0
Name
GPIO_IEMSK31
RO
RO
RO
RO
1’b0
1’b0
1’b0
1’b0
GPIO_IEMSK27
GPIO_IEMSK26
GPIO_IEMSK25
GPIO_IEMSK24
RO
RO
RO
RO
RO
RO
RO
RO
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
GPIO_IEMSK22
GPIO_IEMSK21
GPIO_IEMSK20
GPIO_IEMSK19
GPIO_IEMSK18
GPIO_IEMSK17
GPIO_IEMSK16
GPIO_IE31
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
GPIO_IE27
GPIO_IE26
GPIO_IE25
GPIO_IE24
RW
RW
RW
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
GPIO_IE22
GPIO_IE21
GPIO_IE20
GPIO_IE19
GPIO_IE18
GPIO_IE17
GPIO_IE16
Description
GPIO31 Interrupt Enable Mask.
Reserved.
GPIO27 Interrupt Enable Mask.
GPIO26 Interrupt Enable Mask.
GPIO25 Interrupt Enable Mask.
GPIO24 Interrupt Enable Mask.
Reserved.
GPIO22 Interrupt Enable Mask.
GPIO21 Interrupt Enable Mask.
GPIO20 Interrupt Enable Mask.
GPIO19 Interrupt Enable Mask.
GPIO18 Interrupt Enable Mask.
GPIO17 Interrupt Enable Mask.
GPIO16 Interrupt Enable Mask.
GPIO31 Interrupt Enable.
Reserved.
GPIO27 Interrupt Enable.
GPIO26 Interrupt Enable.
GPIO25 Interrupt Enable.
GPIO24 Interrupt Enable.
Reserved.
GPIO22 Interrupt Enable.
GPIO21 Interrupt Enable.
GPIO20 Interrupt Enable.
GPIO19 Interrupt Enable.
GPIO18 Interrupt Enable.
GPIO17 Interrupt Enable.
GPIO16 Interrupt Enable.
9-14
Description
GPIO[X] Interrupt Enable Mask, 31≥
≥X≥
≥16.
Reading:
Return 0.
Writing:
0 to bit #Y = > Mask off the function associated with GPIO_IE{X}.
1 to bit #Y = > Enable the function associated with GPIO_IE{X}.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.16
GPIO Interrupt Enable Register 3 for GPIO[39:37; 32] (GPIO_IER3: 0x003500EC)
GPIO_IER3 is the interrupt input enable register for GPIO[39:37; 32].
Note:
Bit(s)
31:24
23:16;
23≥Y≥16,
Y = Bit #
15:8
7:0;
7≥Y≥0,
Y = Bit #
Bit(s)
31:24
23
22
21
20:17
16
15:8
7
6
5
4:1
0
101306C
Type
Default
If an interrupt input is enabled for GPIO[X], then GPIO[X] must be configured
as an input.
Name
Description
Reserved.
RO
See specific
bit
GPIO_IEMSK{X},
39≥X≥32,
X = Y+16.
GPIO[X] Interrupt Enable Mask, 39≥
≥X≥
≥32.
Reading:
Return 0.
Writing:
0 to bit #Y = > Mask off the function associated with GPIO_IE{X}.
1 to bit #Y = > Enable the function associated with GPIO_IE{X}.
Reserved.
RW
See specific
bit
GPIO_IE{X},
39≥X≥32,
X = Y+32.
GPIO[X] Interrupt Enable, 39≥
≥X≥
≥32.
Reading:
Return the last value written to bit #Y.
Writing:
0 to bit #Y = > Disable the GPIO[X] interrupt if GPIO_IEMSK{X} =
1; don't care, otherwise.
1 to bit #Y = > Enable the GPIO[X] interrupt if GPIO_IEMSK{X} =
1; don't care, otherwise.
Type
Default
RO
RO
RO
1’b0
1’b0
1’b0
GPIO_IEMSK39
GPIO_IEMSK38
GPIO_IEMSK37
RO
1’b0
GPIO_IEMSK32
RW
RW
RW
1’b0
1’b0
1’b0
GPIO_IE39
GPIO_IE38
GPIO_IE37
RW
1’b0
GPIO_IE32
Name
Description
Reserved.
GPIO39 Interrupt Enable Mask.
GPIO38 Interrupt Enable Mask.
GPIO37 Interrupt Enable Mask.
Reserved.
GPIO32 Interrupt Enable Mask.
Reserved.
GPIO39 Interrupt Enable.
GPIO38 Interrupt Enable.
GPIO37 Interrupt Enable.
Reserved.
GPIO32 Interrupt Enable.
Conexant Proprietary and Confidential Information
9-15
CX82100 Home Network Processor Data Sheet
9.3.17
GPIO Interrupt Polarity Control Register 1 for GPIO[15:14; 8:5] (GPIO_IPC1:
0x003500F0)
GPIO_IPC1 is the interrupt polarity control register for GPIO[15:14; 8:5].
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
Type
RO
Default
See specific
bit
Name
GPIO_IPMSK{X},
15≥X≥0,
X = Y-16.
15:0;
15≥Y≥0,
Y = Bit #
RW
See specific
bit
GPIO_IP{X},
15≥X≥0,
X = Y.
GPIO[X] Interrupt Polarity Control, 15≥
≥X≥
≥0.
Reading:
Return the last value written to bit #Y.
Writing:
1 = For GPIO_IPMSK{X} = 1, interrupt will occur upon GPIO[X]
high or positive edge; for GPIO_IPMSK{X} = 0, interrupt will
not occur upon GPIO[X] high or positive edge.
0 = For GPIO_IPMSK{X} = 1, interrupt will occur upon GPIO[X]
low or negative edge; for GPIO_IPMSK{X} = 0, interrupt will
not occur upon GPIO[X] low or negative edge.
Bit(s)
31
30
29:25
24
23
22
21
20:16
15
14
13:9
8
7
6
5
4:0
Type
RO
RO
Default
1’b0
1’b0
Name
GPIO_IPMSK15
GPIO_IPMSK14
RO
RO
RO
RO
1’b0
1’b0
1’b0
1’b0
GPIO_IPMSK8
GPIO_IPMSK7
GPIO_IPMSK6
GPIO_IPMSK5
RW
RW
1’b0
1’b0
GPIO_IP15
GPIO_IP14
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
GPIO_IP8
GPIO_IP7
GPIO_IP6
GPIO_IP5
Description
GPIO15 Interrupt Polarity Mask.
GPIO14 Interrupt Polarity Mask.
Reserved.
GPIO8 Interrupt Polarity Mask.
GPIO7 Interrupt Polarity Mask.
GPIO6 Interrupt Polarity Mask.
GPIO5 Interrupt Polarity Mask.
Reserved.
GPIO15 Interrupt Polarity Control.
GPIO14 Interrupt Polarity Control.
Reserved.
GPIO8 Interrupt Polarity Control.
GPIO7 Interrupt Polarity Control.
GPIO6 Interrupt Polarity Control.
GPIO5 Interrupt Polarity Control.
Reserved.
9-16
Description
GPIO[X] Interrupt Polarity Mask, 15≥
≥X≥
≥0.
Reading:
Return 0.
Writing:
0 = Mask off the function associated with GPIO_IP{X}.
1 = Enable the function associated with GPIO_IP{X}.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.18
GPIO Interrupt Polarity Control Register 2 for GPIO[31; 27:24; 22:16] (GPIO_IPC2:
0x003500F4)
GPIO_IPC2 is the interrupt polarity control register for GPIO[31; 27:24; 22:16].
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
Type
RO
Default
See specific
bit
Name
GPIO_IPMSK{X},
31≥X≥16,
X = Y.
15:0;
15≥Y≥0,
Y = Bit #
RW
See specific
bit
GPIO_IP{X},
31≥X≥16,
X = Y+16.
GPIO[X] Interrupt Polarity Control, 31≥
≥X≥
≥16.
Reading:
Return the last value written to bit #Y.
Writing:
1 = For GPIO_IPMSK{X} = 1, interrupt will occur upon GPIO[X]
high or positive edge; for GPIO_IPMSK{X} = 0, interrupt will
not occur upon GPIO[X] high or positive edge.
0 = For GPIO_IPMSK{X} = 1, interrupt will occur upon GPIO[X]
low or negative edge; for GPIO_IPMSK{X} = 0, interrupt will
not occur upon GPIO[X] low or negative edge.
Bit(s)
31
30:28
27
26
25
24
23
22
21
20
19
18
17
16
15
14:12
11
10
9
8
7
6
5
4
3
2
1
0
Type
RO
Default
1’b0
Name
GPIO_IPMSK31
RO
RO
RO
RO
1’b0
1’b0
1’b0
1’b0
GPIO_IPMSK27
GPIO_IPMSK26
GPIO_IPMSK25
GPIO_IPMSK24
RO
RO
RO
RO
RO
RO
RO
RW
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
GPIO_IPMSK22
GPIO_IPMSK21
GPIO_IPMSK20
GPIO_IPMSK19
GPIO_IPMSK18
GPIO_IPMSK17
GPIO_IPMSK16
GPIO_IP31
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
GPIO_IP27
GPIO_IP26
GPIO_IP25
GPIO_IP24
RW
RW
RW
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
GPIO_IP22
GPIO_IP21
GPIO_IP20
GPIO_IP19
GPIO_IP18
GPIO_IP17
GPIO_IP16
Description
GPIO31 Interrupt Polarity Mask.
Reserved.
GPIO27 Interrupt Polarity Mask.
GPIO26 Interrupt Polarity Mask.
GPIO25 Interrupt Polarity Mask.
GPIO24 Interrupt Polarity Mask.
Reserved.
GPIO22 Interrupt Polarity Mask.
GPIO21 Interrupt Polarity Mask.
GPIO20 Interrupt Polarity Mask.
GPIO19 Interrupt Polarity Mask.
GPIO18 Interrupt Polarity Mask.
GPIO17 Interrupt Polarity Mask.
GPIO16 Interrupt Polarity Mask.
GPIO31 Interrupt Polarity Control.
Reserved.
GPIO27 Interrupt Polarity Control.
GPIO26 Interrupt Polarity Control.
GPIO25 Interrupt Polarity Control.
GPIO24 Interrupt Polarity Control.
Reserved.
GPIO22 Interrupt Polarity Control.
GPIO21 Interrupt Polarity Control.
GPIO20 Interrupt Polarity Control.
GPIO19 Interrupt Polarity Control.
GPIO18 Interrupt Polarity Control.
GPIO17 Interrupt Polarity Control.
GPIO16 Interrupt Polarity Control.
101306C
Description
GPIO[X] Interrupt Polarity Mask, 31≥
≥X≥
≥16.
Reading:
Return 0.
Writing:
0 = Mask off the function associated with GPIO_IP{X}.
1 = Enable the function associated with GPIO_IP{X}.
Conexant Proprietary and Confidential Information
9-17
CX82100 Home Network Processor Data Sheet
9.3.19
GPIO Interrupt Polarity Control Register 3 for GPIO[39:37; 32] (GPIO_IPC3:
0x003500F8)
GPIO_IPC3 is the interrupt polarity control register for GPIO[39:37; 32].
Bit(s)
31:24
23:16;
23≥Y≥16,
Y = Bit #
15:8
7:0;
7≥Y≥0,
Y = Bit #
Bit(s)
31:24
23
22
21
20:17
16
15:8
7
6
5
4:1
0
9-18
Type
Default
Name
RO
See specific
bit
GPIO_IPMSK{X},
39≥X≥32,
X = Y+16.
RW
See specific
bit
GPIO_IP{X},
39≥X≥32,
X = Y+32.
Type
Default
RO
RO
RO
1’b0
1’b0
1’b0
GPIO_IPMSK39
GPIO_IPMSK38
GPIO_IPMSK37
RO
1’b0
GPIO_IPMSK32
RW
RW
RW
1’b0
1’b0
1’b0
GPIO_IP39
GPIO_IP38
GPIO_IP37
RW
1’b0
GPIO_IP32
Name
Description
Reserved.
GPIO[X] Interrupt Polarity Mask, 39≥
≥X≥
≥32.
Reading:
Return 0.
Writing:
0 = Mask off the function associated with GPIO_IP{X}.
1 = Enable the function associated with GPIO_IP{X}.
Reserved.
GPIO[X] Interrupt Polarity Control, 39≥
≥X≥
≥32.
Reading:
Return the last value written to bit #Y.
Writing:
1 = For GPIO_IPMSK{X} = 1, interrupt will occur upon GPIO[X]
high or positive edge; for GPIO_IPMSK{X} = 0, interrupt will
not occur upon GPIO[X] high or positive edge.
0 = For GPIO_IPMSK{X} = 1, interrupt will occur upon GPIO[X]
low or negative edge; for GPIO_IPMSK{X} = 0, interrupt will
not occur upon GPIO[X] low or negative edge.
Description
Reserved.
GPIO39 Interrupt Polarity Mask.
GPIO38 Interrupt Polarity Mask.
GPIO37 Interrupt Polarity Mask.
Reserved.
GPIO32 Interrupt Polarity Mask.
Reserved.
GPIO39 Interrupt Polarity Control.
GPIO38 Interrupt Polarity Control.
GPIO37 Interrupt Polarity Control.
Reserved.
GPIO32 Interrupt Polarity Control.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.20
GPIO Interrupt Sensitivity Mode Register 1 for GPIO[15:14; 8:5] (GPIO_ISM1:
0x003500A0)
GPIO_ISM1 is the interrupt sensitive mode register for GPIO[15:14; 8:5].
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
Type
RO
Default
See specific
bit
Name
GPIO_ISMMSK{X},
15≥X≥0,
X = Y-16.
15:0;
15≥Y≥0,
Y = Bit #
RW
See specific
bit
GPIO_ISMC{X},
15≥X≥0,
X = Y.
GPIO[X] Interrupt Sensitivity Mode Control, 15≥
≥X≥
≥0.
Reading:
Return the last value written to bit #Y.
Writing:
1 = Interrupt input on GPIO[X] will be edge sensitive, if
GPIO_ISMMSK{X} = 1; don't care, otherwise.
0 = Interrupt input on GPIO[X] will be level sensitive, if
GPIO_ISMMSK{X} = 1; don't care, otherwise.
Bit(s)
31
30
29:25
24
23
22
21
20:16
15
14
13:9
8
7
6
5
4:0
Type
RO
RO
Default
1’b0
1’b0
Name
GPIO_ISMMSK15
GPIO_ISMMSK14
RO
RO
RO
RO
1’b0
1’b0
1’b0
1’b0
GPIO_ISMMSK8
GPIO_ISMMSK7
GPIO_ISMMSK6
GPIO_ISMMSK5
RW
RW
1’b0
1’b0
GPIO_ISMC15
GPIO_ISMC14
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
GPIO_ISMC8
GPIO_ISMC7
GPIO_ISMC6
GPIO_ISMC5
Description
GPIO15 Interrupt Sensitivity Mode Mask.
GPIO14 Interrupt Sensitivity Mode Mask.
Reserved.
GPIO8 Interrupt Sensitivity Mode Mask.
GPIO7 Interrupt Sensitivity Mode Mask.
GPIO6 Interrupt Sensitivity Mode Mask.
GPIO5 Interrupt Sensitivity Mode Mask.
Reserved.
GPIO15 Interrupt Sensitivity Mode Control.
GPIO14 Interrupt Sensitivity Mode Control.
Reserved.
GPIO8 Interrupt Sensitivity Mode Control.
GPIO7 Interrupt Sensitivity Mode Control.
GPIO6 Interrupt Sensitivity Mode Control.
GPIO5 Interrupt Sensitivity Mode Control.
Reserved.
101306C
Description
GPIO[X] Interrupt Sensitivity Mode Mask, 15≥
≥X≥
≥0.
Reading:
Return 0.
Writing:
0= Mask off the function associated with GPIO_ISMC{X}.
1 = Enable the function associated with GPIO_ISMC{X}.
Conexant Proprietary and Confidential Information
9-19
CX82100 Home Network Processor Data Sheet
9.3.21
GPIO Interrupt Sensitivity Mode Register 2 for GPIO[31; 27:24; 22:16]
(GPIO_ISM2: 0x003500A4)
GPIO_ISM2 is the interrupt sensitive mode register for GPIO[31; 27:24; 22:16].
Bit(s)
31:16;
31≥Y≥16,
Y = Bit #
Type
RO
Default
See specific
bit
Name
GPIO_ISMMSK{X},
31≥X≥16,
X = Y.
15:0;
15≥Y≥0,
Y = Bit #
RW
See specific
bit
GPIO_ISMC{X},
31≥X≥16,
X = Y+16.
GPIO[X] Interrupt Sensitivity Mode Control, 31≥
≥X≥
≥16.
Reading:
Return the last value written to bit #Y.
Writing:
1 = Interrupt input on GPIO[X] will be edge sensitive, if
GPIO_ISMMSK{X} = 1; don't care, otherwise.
0 = Interrupt input on GPIO[X] will be level sensitive, if
GPIO_ISMMSK{X} = 1; don't care, otherwise.
Bit(s)
31
30:28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Type
RO
Default
1’b0
Name
GPIO_ISMMSK31
RO
RO
RO
RO
1’b0
1’b0
1’b0
1’b0
GPIO_ISMMSK27
GPIO_ISMMSK26
GPIO_ISMMSK25
GPIO_ISMMSK24
RO
RO
RO
RO
RO
RO
RO
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
1’b0
GPIO_ISMMSK22
GPIO_ISMMSK21
GPIO_ISMMSK20
GPIO_ISMMSK19
GPIO_ISMMSK18
GPIO_ISMMSK17
GPIO_ISMMSK16
GPIO_ISMC31
GPIO_ISMC30
GPIO_ISMC29
GPIO_ISMC28
GPIO_ISMC27
GPIO_ISMC26
GPIO_ISMC25
GPIO_ISMC24
GPIO_ISMC23
GPIO_ISMC22
GPIO_ISMC21
GPIO_ISMC20
GPIO_ISMC19
GPIO_ISMC18
GPIO_ISMC17
GPIO_ISMC16
Description
GPIO31 Interrupt Sensitivity Mode Mask.
Reserved.
GPIO27 Interrupt Sensitivity Mode Mask.
GPIO26 Interrupt Sensitivity Mode Mask.
GPIO25 Interrupt Sensitivity Mode Mask.
GPIO24 Interrupt Sensitivity Mode Mask.
Reserved.
GPIO22 Interrupt Sensitivity Mode Mask.
GPIO21 Interrupt Sensitivity Mode Mask.
GPIO20 Interrupt Sensitivity Mode Mask.
GPIO19 Interrupt Sensitivity Mode Mask.
GPIO18 Interrupt Sensitivity Mode Mask.
GPIO17 Interrupt Sensitivity Mode Mask.
GPIO16 Interrupt Sensitivity Mode Mask.
GPIO31 Interrupt Sensitivity Mode Control.
GPIO30 Interrupt Sensitivity Mode Control.
GPIO29 Interrupt Sensitivity Mode Control.
GPIO28 Interrupt Sensitivity Mode Control.
GPIO27 Interrupt Sensitivity Mode Control.
GPIO26 Interrupt Sensitivity Mode Control.
GPIO25 Interrupt Sensitivity Mode Control.
GPIO24 Interrupt Sensitivity Mode Control.
GPIO23 Interrupt Sensitivity Mode Control.
GPIO22 Interrupt Sensitivity Mode Control.
GPIO21 Interrupt Sensitivity Mode Control.
GPIO20 Interrupt Sensitivity Mode Control.
GPIO19 Interrupt Sensitivity Mode Control.
GPIO18 Interrupt Sensitivity Mode Control.
GPIO17 Interrupt Sensitivity Mode Control.
GPIO16 Interrupt Sensitivity Mode Control.
9-20
Description
GPIO[X] Interrupt Sensitivity Mode Mask, 31≥
≥X≥
≥16.
Reading:
Return 0.
Writing:
0= Mask off the function associated with GPIO_ISMC{X}.
1 = Enable the function associated with GPIO_ISMC{X}.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
9.3.22
GPIO Interrupt Sensitivity Mode Register 3 for GPIO[39:37; 32] (GPIO_ISM3:
0x003500A8)
GPIO_ISM2 is the interrupt sensitive mode register for GPIO[39:37; 32].
Bit(s)
31:24
23:16;
23≥Y≥16,
Y = Bit #
15:8
7:0;
7≥Y≥0,
Y = Bit #
Bit(s)
31:24
23
22
21
20:17
16
15:8
7
6
5
4:1
0
101306C
Type
Default
Name
RO
See specific
bit
GPIO_ISMMSK{X},
39≥X≥32,
X = Y+16.
RW
See specific
bit
GPIO_ISMC{X},
39≥X≥32,
X = Y+32.
Type
Default
RO
RO
RO
1’b0
1’b0
1’b0
GPIO_ISMMSK39
GPIO_ISMMSK38
GPIO_ISMMSK37
RO
1’b0
GPIO_ISMMSK32
RW
RW
RW
1’b0
1’b0
1’b0
GPIO_ISMC39
GPIO_ISMC38
GPIO_ISMC37
RW
1’b0
GPIO_ISMC32
Name
Description
Reserved.
GPIO[X] Interrupt Sensitivity Mode Mask, 39≥
≥X≥
≥32.
Reading:
Return 0.
Writing:
0= Mask off the function associated with GPIO_ISMC{X}.
1 = Enable the function associated with GPIO_ISMC{X}.
Reserved.
GPIO[X] Interrupt Sensitivity Mode Control, 39≥
≥X≥
≥32.
Reading:
Return the last value written to bit #Y.
Writing:
1 = Interrupt input on GPIO[X] will be edge sensitive, if
GPIO_ISMMSK{X} = 1; don't care, otherwise.
0 = Interrupt input on GPIO[X] will be level sensitive, if
GPIO_ISMMSK{X} = 1; don't care, otherwise.
Description
Reserved.
GPIO39 Interrupt Sensitivity Mode Mask.
GPIO38 Interrupt Sensitivity Mode Mask.
GPIO37 Interrupt Sensitivity Mode Mask.
Reserved.
GPIO32 Interrupt Sensitivity Mode Mask.
Reserved.
GPIO39 Interrupt Sensitivity Mode Control.
GPIO38 Interrupt Sensitivity Mode Control.
GPIO37 Interrupt Sensitivity Mode Control.
Reserved.
GPIO32 Interrupt Sensitivity Mode Control.
Conexant Proprietary and Confidential Information
9-21
CX82100 Home Network Processor Data Sheet
This page is intentionally blank.
9-22
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
10
Memory to Memory Transfer Input/Output
10.1
Operation
A qword buffer resides within this block to support memory to memory block transfers.
Data transfer requests are issued to the DMAC via channel 7 for reading from the source
buffer and channel 8 for writing to the destination buffer. The number of qwords to
transfer is set by M2M_Cntl. This count is big enough to initialize the entire 8 MB of
external SDRAM if desired. When M2M_Cntl is set to 0, or counts down to 0, the DMA
block transfer is done. An interrupt is set (INT_Stat:8) when the DMAC completes the
data block transfer. If M2M_DO is set, then only write transfers will occur to the
destination buffer. Since the ARM can also write to the DMA port buffer M2M_DMA, it
could use the DMAC to initialize memory to any constant.
The memory-to-memory transfer always consists of an integer number of qwords. The
source and destination addresses are always dword-aligned. Little-endian byterealignment is supported by using M2M_BS and using firmware for cleaning up the end
conditions. Some examples for M2M data transfers are shown in Table 10-1, Table 10-2,
and Table 10-3. The bytes highlighted in bold have to be copied or restored by firmware.
Table 10-1. M2M Transfer Example 1
Byte
Address
Source Memory
to Copy: 24B
Start Source
Byte-Address
0
00
04
08
0C
10
14
18
101306C
03020100
07060504
0B0A0908
0F0E0D0C
13121110
17161514
1B1A1918
M2M Data Transfer Example
Destination
Destination Memory after Copy
Memory before
M2M_Cnt = 3 qwords, DMA8_Ptr1 = 00
Copy
Start Destination Byte-Address
0
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
0, 00
03020100
07060504
0B0A0908
0F0E0D0C
13121110
17161514
FFFFFFFF
1
2
M2M_BS, DMA7_Ptr1
1, 00
2, 00
020100xx
0100xxxx
06050403
05040302
0A090807
09080706
0E0D0C0B
0D0C0B0A
1211100F
11100F0E
16151413
15141312
FFFFFFFF
FFFFFFFF
Conexant Proprietary and Confidential Information
3
3, 00
00xxxxxx
04030201
08070605
0C0B0A09
100F0E0D
14131211
FFFFFFFF
10-1
CX82100 Home Network Processor Data Sheet
Table 10-2. M2M Transfer Example 2
Byte
Address
00
04
08
0C
10
14
18
Source Memory
to Copy: 24B
Start Source
Byte-Address
1
03020100
07060504
0B0A0908
0F0E0D0C
13121110
17161514
1B1A1918
M2M Data Transfer Example
Destination
Destination Memory after Copy
Memory before
M2M_Cnt = 3 qwords, DMA8_Ptr1 = 00
Copy
Start Destination Byte-Address
0
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
3, 04
04xxxxxx
08070605
0C0B0A09
100F0E0D
14131211
18171615
FFFFFFFF
1
2
M2M_BS, DMA7_Ptr1
0, 00
1, 00
03020100
020100xx
07060504
06050403
0B0A0908
0A090807
0F0E0D0C
0E0D0C0B
13121110
1211100F
17161514
16151413
FFFFFFFF
FFFFFFFF
3
2, 00
0100xxxx
05040302
09080706
0D0C0B0A
11100F0E
15141312
FFFFFFFF
Table 10-3. M2M Transfer Example 3
Byte
Address
00
04
08
0C
10
14
18
Source Memory
to Copy: 24B
Start Source
Byte-Address
3
03020100
07060504
0B0A0908
0F0E0D0C
13121110
17161514
1B1A1918
M2M Data Transfer Example
Destination
Destination Memory after Copy
Memory before
M2M_Cnt = 3 qwords, DMA8_Ptr1 = 00
Copy
Start Destination Byte-Address
0
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
1, 04
060504xx
0A090807
0E0D0C0B
1211100F
16151413
1A191817
FFFFFFFF
1
2
M2M_BS, DMA7_Ptr1
2, 04
3, 04
0504xxxx
04xxxxxx
09080706
08070605
0D0C0B0A
0C0B0A09
11100F0E
100F0E0D
15141312
14131211
19181716
18171615
FFFFFFFF
FFFFFFFF
3
0, 00
03020100
07060504
0B0A0908
0F0E0D0C
13121110
17161514
FFFFFFFF
When doing a multiple qword buffer transfer there are actually 128 cases to consider for
byte re-alignment. This # of permutations results from 4 start byte src-locations, 8 end
byte src-locations, and 4 start byte dst-locations (4x8x4 = 128). The start/end srclocations bound the buffer size for transfer. The firmware will need to fix the corrupted
first dword (save original dst-1st-loc before copy), and also supply the last byte-merged 12 dwords.
10-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
10.2
M2M Register Memory Map
M2M registers are identified in Table 10-4
Table 10-4. M2M Registers
Register Label
M2M_DMA
M2M_Cntl
Register Name
Memory to Memory DMA Data Register
Memory to Memory DMA Transfer
Control/Counter
ASB Address
0x00350000
0x00350004
Type
RWp
RW
Default Value
64’bx
0x00000000
10.3
M2M Registers
10.3.1
Memory to Memory DMA Data Register (M2M_DMA: 0x00350000)
Bit(s)
63:0
Type
RWp
10.3.2
Default
64’bx
Name
M2M_DMA
Description
A single qword buffer for DMA source/destination access.
Memory to Memory DMA Transfer Control/Counter (M2M_Cntl: 0x00350004)
Bit(s)
22:21
Type
RW
Default
2’b0
M2M_BS
20
RW
1’b0
M2M_DO
19:0
RW
20’b0
M2M_Cnt
101306C
Ref.
10.3.1
10.3.2
Name
Description
Memory to Memory Bytes to Lag Data or Shift Left.
No. of bytes to lag data or shift left. Useful for little-endian
byte re-alignment.
Disabled Memory to Memory Source Transfers.
0 = Enable source and destination transfers.
1 = Disable source transfers, and enable only
destination transfers.
Memory to Memory Count.
No. of qwords to transfer.
Conexant Proprietary and Confidential Information
10-3
CX82100 Home Network Processor Data Sheet
This page is intentionally blank.
10-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
11
Interrupt Controller Interface Description
All peripheral interrupt sources are routed through the Interrupt Controller (INTC) and
reduced to one of two active low inputs to the ARM940T processor, fast interrupt (FIQ#)
or regular interrupt (IRQ#), as selected in the Interrupt Level Assignment Register
(INT_LA). No hardware-assisted priority scheme is implemented in the HNP other than
FIQ# having a higher priority than IRQ#. The system software must implement the
priority scheme for individual interrupts in the FIQ# and IRQ# exception handlers.
11.1
INTC Register Memory Map
INTC registers are identified in Table 11-1.
Table 11-1. INTC Registers
Register Label
INT_LA
INT_Stat
INT_SetStat
INT_Msk
INT_Mstat
Register Name
Interrupt Level Assignment Register
Interrupt Status Register
Interrupt Set Status Register
Interrupt Mask Register
Interrupt Mask Status Register
ASB Address
0x00350040
0x00350044
0x00350048
0x0035004C
0x00350090
Type
RW
RR
WO
RW
RO
11.2
INTC Registers
11.2.1
Interrupt Level Assignment Register (INT_LA: 0x00350040)
Default Value
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
Ref.
11.2.1
11.2.2
11.2.3
11.2.4
11.2.5
The INTC receives an interrupt signal from a potential interrupt source and compares it
with the corresponding interrupt level assignment register (INT_LA) to determine if a
fast interrupt (FIQ#) signal or a regular interrupt (IRQ#) signal should be sent to the
ARM940T processor. Setting the interrupt's corresponding bit on the Interrupt Level
Assignment Register to a 1 will cause a FIQ# interrupt, while a 0 will cause an IRQ#
interrupt.
Bit
31:0
101306C
Type
RW
Default
32’h00000000
Name
Int_LA_x
Description
Level Assignment Interrupt Control.
0 = The corresponding bit location in the INT_Stat register will cause
an IRQ# interrupt to the INTC if the interrupt has been enabled.
1 = The corresponding bit location in the INT_Stat register will cause
a FIQ# interrupt to the INTC if the interrupt has been enabled.
Conexant Proprietary and Confidential Information
11-1
CX82100 Home Network Processor Data Sheet
11.2.2
Interrupt Status Register (INT_Stat: 0x00350044)
Each interrupt source sets a bit in the interrupt status register (INT_Stat). These pending
interrupts can be read at anytime. If a bit in this register represents multiple interrupt
sources, then it is read-only. Most bits are automatically cleared once all the
corresponding interrupt sources are cleared, however, bits 19 and 20 are not
automatically cleared. Any other bit in this register can be cleared by writing a one to the
same bit location. (Note that in some cases, the interrupt source in the peripheral must be
cleared before the clearing of the corresponding interrupt bit in this register can take
effect.).
Writing a zero has no effect.
Bit
31
Type
RR
Default
1’b0
Int_SW3
30
RR
1’b0
Int_SW2
29
RR
1’b0
Int_SW1
28
RR
1’b0
Int_SW0
27
RR
1’b0
Int_COMMRX
26
RR
1’b0
Int_COMMTX
25
24
RO
1’b0
Int_GPIO
23:21
20
RR
1’b0
Int_EMAC#2_ERR
19
RR
1’b0
Int_EMAC#1_ERR
11-2
Name
Description
Software Interrupt 3.
0 = Interrupt condition has not occurred.
1 = The corresponding data bit has been set high when writing
to INT_SetStat.
Software Interrupt 2.
0 = Interrupt condition has not occurred.
1 = The corresponding data bit has been set high when writing
to INT_SetStat.
Software Interrupt 1.
0 = Interrupt condition has not occurred.
1 = The corresponding data bit has been set high when writing
to INT_SetStat.
Software Interrupt 0.
0 = Interrupt condition has not occurred.
1 = The corresponding data bit has been set high when writing
to INT_SetStat.
ARM9 Communication RXD Channel Interrupt.
0 = The receive buffer does not contain data waiting to be
read.
1 = The ARM9 communication RXD channel (between
processor and the debugger) receive buffer contains data
waiting to be read.
ARM9 Communication TXD channel Interrupt.
0 = The transmit buffer is not empty.
1 = The ARM9 communication TXD channel (between
processor and the debugger) transmit buffer is empty.
Reserved.
GPIO Interrupt.
0 = Interrupt condition has not occurred.
1 = An external interrupt through a GPIO input pin has
occurred.
Reserved.
EMAC 2 Exception Condition Interrupt.
0 = Interrupt condition has not occurred.
1 = EMAC 2 receiver or transmitter detected a normal or
abnormal exception condition. Must be written to be
cleared.
EMAC 1 Exception Condition Interrupt.
0 = Interrupt condition has not occurred.
1 = EMAC 1 receiver or transmitter detected a normal or
abnormal exception condition. Must be written to be
cleared.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Bit
18
Type
RR
Default
1’b0
17:16
15
RR
1’b0
Int_DMAC_EMAC#1_TX
14
RR
1’b0
Int_DMAC_EMAC#1_RX
13
RR
1’b0
Int_DMAC_EMAC#2_TX
12
RR
1’b0
Int_DMAC_EMAC#2_RX
11:9
8
RR
1’b0
Int_M2M_Dst
7
RR
1’b0
Int_HOST_ERR
6
RR
1’b0
Int_HOST
5
4
RO
1’b0
Int_USB
3
RR
1’b0
Int_TIMER4
2
RR
1’b0
Int_TIMER3
1
RR
1’b0
Int_TIMER2
0
RR
1’b0
Int_TIMER1
101306C
Name
Int_DMAC_ERR
Description
DMAC BERROR Interrupt
0 = Interrupt condition has not occurred.
1 = The BERROR signal has been asserted to the DMAC ASB
master.
Reserved.
DMA Channel 1 Transfer Complete Interrupt.
0 = Interrupt condition has not occurred.
1 = DMAC completed a block/packet transfer to EMAC 1.
DMA Channel 2 Transfer Complete Interrupt.
0 = Interrupt condition has not occurred.
1 = DMAC completed a block/packet transfer from EMAC 1.
DMA Channel 3 Transfer Complete Interrupt.
0 = Interrupt condition has not occurred.
1 = DMAC completed a block/packet transfer to EMAC 2.
DMA Channel 4 Transfer Complete Interrupt.
0 = Interrupt condition has not occurred.
1 = DMAC completed a block/packet transfer from EMAC 2.
Reserved.
DMA Channel 8 Transfer Complete Interrupt.
0 = Interrupt condition has not occurred.
1 = Memory-to-Memory transfer is complete.
Host Bus Error Interrupt.
0 = Interrupt condition has not occurred.
1 = The external host encountered a bus error while mastering
the ASB.
Host Write Interrupt.
0 = Interrupt condition has not occurred.
1 = The external host wrote to the H_INT bit in the Host
Status/Control register.
Reserved.
USB Interrupt.
0 = Interrupt condition has not occurred.
1 = There is a USB interrupt pending.
Timer 4 Interrupt.
0 = Interrupt condition has not occurred.
1 = Timer 4 current count reached the limit value.
Timer 3 Interrupt.
0 = Interrupt condition has not occurred.
1 = Timer 3 current count reached the limit value.
Timer 2 Interrupt.
0 = Interrupt condition has not occurred.
1 = Timer 2 current count reached the limit value.
Timer 1 Interrupt.
0 = Interrupt condition has not occurred.
1 = Timer 1 current count reached the limit value.
Conexant Proprietary and Confidential Information
11-3
CX82100 Home Network Processor Data Sheet
11.2.3
Interrupt Set Status Register (INT_SetStat: 0x00350048)
This is a Write-Only register. The interrupt set status (INT_SetStat) register has 32 bits.
Writing a one to a bit location of this register will cause the corresponding interrupt to
occur. Writing a zero will have no effect. Only the four software interrupts defined in
INT_Stat[31:28] can be triggered by using this register.
Bit
31:28
Type
WO
Default
4’b0
Name
Int_SetStat_x
27:0
11.2.4
Description
Interrupt Set Status Control.
0 = No effect.
1 = Forces an interrupt to the INTC if the corresponding bit location in
the INT_Msk register is enabled. Will cause the corresponding bit
in the INT_Stat register to be set.
Reserved.
Interrupt Mask Register (INT_Msk: 0x0035004C)
The pending interrupts are masked (ANDed) with the interrupt mask register (INT_Msk)
before being logically ORed to the ARM interrupt input. The INT_Msk register has 32
bits. Writing a one to a bit location of this register will enable the corresponding interrupt
in INT_Stat. Writing a zero to a bit location of this register will disable the interrupt. The
enabled or active interrupts are also readable at register INT_Mstat.
Bit
31:0
Type
RW
11.2.5
Default
32’h00000000
Name
Int_MSK_x
Description
Interrupt Mask (Enable) Control.
0 = Interrupts on the corresponding bit location in the INT_Stat
register are disabled.
1 = Interrupts on the corresponding bit location in the INT_Stat
register are enabled.
Interrupt Mask Status Register (INT_Mstat: 0x00350090)
This is a Read-Only register. It is logically equivalent to the AND of INT_Stat and
INT_Msk registers. It provides a convenient way for software to determine which
interrupts have occurred.
Bit
31:0
11-4
Type
RO
Default
32’h00000000
Name
Int_Mstat_x
Description
Interrupt Mask Status.
0 = Interrupts has not occurred on the corresponding bit location in
the INT_Stat register.
1 = Interrupts has occurred on the corresponding bit location in the
INT_Stat register.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
12
Timers Interface Description
12.1
Programmable Periodic Timers
There are four programmable timers (Timer 1—Timer 4) available for real-time
interrupts with a normal range from 1 µs to 65 ms. Timer 3 can also be used as a system
watchdog timer.
The timers are based on 16-bit counters that increment at a 1.0 MHz rate. The 1.0 MHz
rate is based upon PCLK and PLL_B register bits PLL_B_CR. Table 13-6 shows the
BCLK clock frequencies for which the 1.0 MHz rate is guaranteed. If the PLL_B
frequency is not programmed to the listed values, the timers will not run at 1.0 MHz. See
Section 12 for more information.
Each timer’s counter register (TM_Cnt{x}) is reset to 0 when its limit register
(TM_Lmt{x}) is written. Each timer’s TM_Cnt register increments from 0 up to the limit
value programmed in its TM_Lmt register. When the counter reaches the limit value, the
counter resets back to 0 and sets its corresponding interrupt status bit (Int_TIMER{x} –
see Section 11.2.2). An interrupt to the ARM940T processor will then occur if the
corresponding interrupt enable bit is set in the Interrupt Mask Register (INT_Msk[3:0].
The counters continue to increment during the pending interrupts. If TM_Lmt{x} is set to
0, TM_Cnt{x} stays reset, does not increment, and therefore never causes an interrupt.
As an example, a 50 ms periodic real-time interrupt can be achieved by setting
TM_Lmt{x} to 16’hC34F.
12.2
Watchdog Timer
A system watchdog is implemented via a special case of Timer 3. The timer counts up to
TM_Lmt3. When reached it sets the Int_TM3 interrupt. This normal operation, like the
other two timers, produces an Int_TM3 interrupt every (1 + TM_Lmt3) µs.
Unlike the other timers, if TM_Lmt3[3:0] is written with a value of 1’hF, watchdog mode
is enabled. This particular nibble of TM_Lmt3 causes TM_Lmt3 to not be able to be
changed (i.e., writes will have no effect) until after the next system reset. It also causes an
internal 7-bit counter to increment after every Int_TIMER3 event. If this counter is not
cleared by writing TM_Lmt3 with any value (this does not affect TM_Lmt3 after initial
programming) before the 7-bit counter reaches 100, a global reset will take effect, which
is the same in effect as asserting the HRST# pin.
The watchdog function is “re-armed” after each clear, i.e., the 7-bit counter is reset to 0
after each write to TM_Lmt3. Once enabled, it cannot be disabled other than by a global
reset.
For example, if TM_Lmt3 is programmed to 16’h61A7, then a normal Int_TIMER3
interrupt occurs every 25 ms and the watchdog function is not enabled. If TM_Lmt3 is
programmed to 16’h270F, then an Int_TIMER3 interrupt occurs every 10 ms and the
watchdog function of Timer 3 is enabled. The 7-bit counter must be cleared by writing to
TM_Lmt3 before a timeout of 1 sec occurs, otherwise the global reset will occur.
101306C
Conexant Proprietary and Confidential Information
12-1
CX82100 Home Network Processor Data Sheet
12.3
Timer Usage/SDRAM Refresh with Other Frequencies
Normal HNP operation assumes BCLK is 25, 50, 62.5, 75, or 100 MHz (see Section
13.1). The timer resolution circuitry and SDRAM refresh rates are based upon these
frequencies. However, if a different frequency is desired, the resolution of the timer and
SDRAM refresh rates are based on parameter values listed in Table 12-1.
Table 12-1. Timer Resolution and SDRAM Refresh Rate
BCLK Speed Select
(PLL_B_CR_SLOW)
EPCLK Clock
Rate Select
(PLL_B_CR)
Resolution
SDRAM
Refresh Rate
0 (Normal)
00 (÷ 3)
PCLK/37.5
BCLK/900
0 (Normal)
01 (÷ 4)
PCLK/50
BCLK/1200
0 (Normal)
10 (÷ 5)
PCLK/62.5
BCLK/1500
1 (Slow)
00 (÷ 1)
PCLK/12.5
BCLK/300
1 (Slow)
01 (÷ 2)
PCLK/25
BCLK/600
Notes
Default at POR
SDRAMs typically require refresh rates at approximately 15.6 µs or faster. Normal HNP
operation, when configuring BCLK as in Section 13.1, achieves a refresh rate of 12 µs.
Care must be taken to avoid use of a refresh rate that is too slow. If the refresh rate is too
fast, application performance could be reduced.
A normal example is that BCLK is programmed for 100 MHz, with PLL_B_CR_SLOW
= 0 and PLL_B_CR = 01. PCLK would then be 50 MHz, EPCLK would then be 25
MHz, and the timer resolution would be 50/50 MHz, which is equal to 1 µs. The SDRAM
refresh rate would be 100 MHz/1200, which is equal to 12 µs.
An example using a different BCLK frequency is BCLK programmed to be 80 MHz,
with PLL_B_CR_SLOW = 0 and PLL_B_CR = 01. PCLK would then be 40 MHz,
EPCLK would then be 20 MHz, and the timer resolution would be 40 MHz/50, which is
equal to 1.25 µs. The SDRAM refresh rate would be 80 MHz/1200, which is equal to
15 µs.
Another example using a different BCLK frequency is BCLK programmed to be 40
MHz, with PLL_B_CR_SLOW = 1 (default) and PLL_B_CR = 00 (default). PCLK
would then be 20 MHz, EPCLK would then be 40 MHz, and the timer resolution would
be 20 MHz/12.5 which is equal to 0.625 µs. The SDRAM refresh rate would be 40
MHz/300, which is equal to 7.5 µs.
12-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
12.4
Timer Registers Memory Map
Timer registers are identified in Table 12-2.
Table 12-2. Timer Registers
Register Label
TM_Cnt1
TM_Cnt2
TM_Cnt3
TM_Cnt4
TM_Lmt1
TM_Lmt2
TM_Lmt3
TM_Lmt4
Register Name
Timer 1 Counter Register
Timer 2 Counter Register
Timer 3 Counter Register
Timer 4 Counter Register
Timer 1 Limit Register
Timer 2 Limit Register
Timer 3 Limit Register
Timer 4 Limit Register
ASB Address
0x00350020
0x00350024
0x00350028
0x0035002C
0x00350030
0x00350034
0x00350038
0x0035003C
12.5
Timer Registers
12.5.1
Timer 1 Counter Register (TM_Cnt1: 0x00350020)
Bit(s)
15:0
Type
RO
12.5.2
Bit(s)
15:0
101306C
Default
16’b0
Name
TM_Cnt1
Type
RW
RW
RW
RW
RW
RW
RW
RW
Default Value
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
Ref.
12.5.1
12.5.2
12.5.3
12.5.4
12.5.5
12.5.6
12.5.7
12.5.8
Description
Timer 1 Current Counter Value.
Timer 1 increments every 1 µs, from 0 to the Timer 1 limit value, then
resets to 0 and counts again. TM_Cnt1 is reset whenever TM_Lmt1 is
written.
Timer 2 Counter Register (TM_Cnt2: 0x00350024)
Type
RO
Default
16’b0
Name
TM_Cnt2
Description
Timer 2 Current Counter Value.
Timer 2 increments every 1 µs, from 0 to the Timer 2 limit value, then
resets to 0 and counts again. TM_Cnt2 is reset whenever TM_Lmt2 is
written.
Conexant Proprietary and Confidential Information
12-3
CX82100 Home Network Processor Data Sheet
12.5.3
Bit(s)
15:0
Timer 3 Counter Register (TM_Cnt3: 0x00350028)
Type
RO
12.5.4
Bit(s)
15:0
Type
RO
12-4
Description
Timer 3 Current Counter Value.
Timer 3 increments every 1 µs, from 0 to the Timer 3 limit value, then
resets to 0 and counts again. TM_Cnt3 is reset whenever TM_Lmt3 is
written.
Timer 3 can be used as a Watchdog Timer (see Section 12.2).
Default
16’b0
Name
TM_Cnt4
Description
Timer 4 Current Counter Value.
Timer 4 increments every 1 µs, from 0 to the Timer 4 limit value, then
resets to 0 and counts again. TM_Cnt4 is reset whenever TM_Lmt4 is
written.
Timer 1 Limit Register (TM_Lmt1: 0x00350030)
Type
RW
12.5.6
Bit(s)
15:0
Name
TM_Cnt3
Timer 4 Counter Register (TM_Cnt4: 0x0035002C)
12.5.5
Bit(s)
15:0
Default
16’b0
Default
16’b0
Name
TM_Lmt1
Description
Timer 1 Limit Value.
When the Timer 1 current count reaches this limit value, the
Int_TIMER1 interrupt bit in the Interrupt Status Register (INT_Stat) is
set. The periodic timer interrupt event rate is = 1 MHz / (TM_Lmt1 +
1). If TM_Lmt1 is set to 0, TM_Cnt1 remains reset. TM_Cnt1 is reset
whenever TM_Lmt1 is written.
Timer 2 Limit Register (TM_Lmt2: 0x00350034)
Type
RW
Default
16’b0
Name
TM_Lmt2
Description
Timer 2 Limit Value.
When the Timer 2 current count reaches this limit value, the
Int_TIMER2 interrupt bit in the Interrupt Status Register (INT_Stat) is
set. The periodic timer interrupt event rate is = 1 MHz / (TM_Lmt2 +
1). If TM_Lmt2 is set to 0, TM_Cnt2 remains reset. TM_Cnt2 is reset
whenever TM_Lmt2 is written.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
12.5.7
Bit(s)
15:0
Timer 3 Limit Register (TM_Lmt3: 0x00350038)
Type
RW
12.5.8
Bit(s)
15:0
101306C
Default
16’b0
Name
TM_Lmt3
Description
Timer 3 Limit Value.
When the Timer 3 current count reaches this limit value, the
Int_TIMER3 interrupt bit in the Interrupt Status Register (INT_Stat) is
set. The periodic timer interrupt event rate is = 1 MHz / (TM_Lmt3 +
1). If TM_Lmt3 is set to 0, TM_Cnt3 remains reset. TM_Cnt3 is reset
whenever TM_Lmt3 is written.
If 1’hF is written to the lower nibble, Watchdog Timer Mode is enabled
(see Section 12.2).
Timer 4 Limit Register (TM_Lmt4: 0x0035003C)
Type
RW
Default
16’b0
Name
TM_Lmt4
Description
Timer 4 Limit Value.
When the Timer 4 current count reaches this limit value, the
Int_TIMER4 interrupt bit in the Interrupt Status Register (INT_Stat) is
set. The periodic timer interrupt event rate is = 1 MHz / (TM_Lmt4 +
1). If TM_Lmt4 is set to 0, TM_Cnt4 remains reset. TM_Cnt4 is reset
whenever TM_Lmt4 is written.
Conexant Proprietary and Confidential Information
12-5
CX82100 Home Network Processor Data Sheet
This page is intentionally blank.
12-6
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
13
Clock Generation Interface Description
The Clock Generation (CLKGEN) block generates internal and external clocks using two
programmable, fractional multiply phase locked loop (PLL) blocks, FCLK_PLL and
BCLK_PLL (Figure 13-1).
Included in each block is the actual PLL circuit with a voltage-controlled oscillator
(VCO) and post-PLL generation logic which divides the output of each PLL to create a
series of sub-multiple clocks.
Clock generation operation is controlled by the PLL Bypass (PLLBP) input pin and by
three registers: FCLK PLL Register (PLL_F), BCLK PLL Register (PLL_B), and Low
Power Mode Register (LPMR).
PLLBP input low selects PLL Normal Mode (see Section 13.1) and PLLBP input high
selects PLL Bypass Mode for factory clock test operation (see Section 13.7).
The signals on the FCLKIO/GPIO39 and BCLKIO/GPIO38 pins are also controlled by
the PLLBP pin and by the GPIO_Sel7 and GPIO_Sel6 control bits in the GPIO Optional
Register (GPIO_OPT, see Section 9.3.1), respectively. FCLKIO/GPIO39 pin control is
summarized in Table 13-1 and BCLKIO/GPIO38 pin control is summarized in Table
13-2.
When in PLL Bypass Mode, the FCLKIO and BCLKIO pins are configured as inputs,
and are divided and used in place of the PLL outputs. When in PLL Normal Mode, the
FCLKIO and BCLKIO pins can be configured as outputs, and provide a means to
indirectly observe the frequency of the internal clocks generated by the PLLs.
Table 13-1. FCLKIO/GPIO39 Pin Usage Control
PLLBP Input
Pin Voltage
Level
Low
GPIO_Sel7 Bit in
GPIO Option Register (GPIO_OPT)
Signal on
FCLKIO/GPIO39 Pin
Pin Signal
Direction
0
I/O
Low
1
GPIO391
UCLK2
High
Don’t care
XFCLK2
I
GPIO_Sel6 Bit in
GPIO Option Register (GPIO_OPT)
Signal on
BCLKIO/GPIO38 Pin
Pin Signal
Direction
0
I/O
I
O
Notes:
1. Default at power up reset.
2. See Figure 13-1.
Table 13-2. BCLKIO/GPIO38 Pin Usage Control
PLLBP Input
Pin Voltage
Level
Low
Low
1
GPIO381
EPCLK2
High
Don’t care
XBCLK2
O
Notes:
1. Default at power up reset.
2. See Figure 13-1.
101306C
Conexant Proprietary and Confidential Information
13-1
CX82100 Home Network Processor Data Sheet
Figure 13-1. Clock Generation Block Diagram
FCLK PLL
CLKI
Pre-Scaler
Divide by
3, 4, or 5
Phase
Detector
Charge Pump
and Loop Filter
O utput
Divider
(Divide by 2)
VCO
O utput
Divider
(Divide by 4)
Phase Detector
Divide by M.N
PLL FCLK
PLL FCLK/2
PLL_F Prescale Select
(PLL_F_PRE)
FCLK Generation Logic (Post FCLK PLL)
PLL FCLK
XFCLK/2
Divide
by 2
XFCLK
on FCLKIO
PLL UCLK
(PLL FCLK/2)
XFCLK/4
Divide
by 4
0
0
1
1
FCLK
UCLK
on FCLKIO
UCLK
0
Low Power
Mode Enable
(LPM_EN)
PLL Bypass Mode
(PLL_BP Pin
PLL_BP
HL_CLK
USB
Interface
(12 MHz)
1
FCLK Slow
Speed Select
(PLL_F_CR_SLOW )
USB Clock
Rate Indicate
(PLL_F_CR)
BCLK PLL
Pre-Scaler
Divide by
3, 4, or 5
Phase
Detector
Charge Pump
and Loop Filter
VCO
Phase Detector
Divide by M.N
O utput
Divider
(Divide by 2)
PLL BCLK
O utput
Divider
(Divide by 4)
PLL BCLK/2
PLL_B Prescale Select
(PLL_B_PRE)
BCLK Generation Logic (Post BCLK PLL)
PLL BCLK
XBCLK
on BCLKIO
XBCLK/2
Divide
by 2
PLL PCLK
(PLL BCLK/2)
XBCLK/4
Divide
by 4
0
0
1
1
0
0
1
1
0
Divide
by 2
1
Low Power
Mode Clock
Divider
EPCLK
on BCLKIO
0
Divide
by 4
PCLK
1
EPCLK Clock
Rate Select
(PLL_B_CR)
PLL Bypass Mode
(PLL_BP Pin
Divide
by 2
BCLK
EPCLK
Divider
(by 3, 4, or 5
or 1 or 2)
Low Power
Mode Enable
(LPM_EN)
BCLK Slow
Speed Select
(PLL_B_CR_SLOW )
Divide
by 4
Low Power
Mode Clock Divider
(LPM_CLK_DIV)
CX82110 HNP
101545_064
13-2
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
13.1
PLL Normal Mode
When input pin PLLBP is low, the PLL output clocks are generated based on an
externally provided reference clock frequency on the CLKI pin, typically sourced from
an external oscillator. The CLKI frequency can range from 20 MHz to 40 MHz, 50%
duty cycle.
FCLK_PLL creates a family of frequencies related to 12 MHz. FCLK_PLL is typically
programmed to output 96, 120 144, or 168 MHz. The FCLK output is used directly by
the ARM9TDMI Core when programmed to asynchronous or synchronous modes (see
ARM documents). FCLK is divided by 2 to create UCLK for use by the USB Interface.
UCLK is the clock reference for USB timing, which requires a multiple of 12 MHz, with
a minimum frequency of 48 MHz.
BCLK_PLL creates a family of frequencies related to 25 MHz. BCLK_PLL is typically
programmed to output 50, 75 or 100 MHz. The BCLK output is used directly as the ASB
bus clock. BCLK is divided by 2 to create PCLK for the APB bus, and EPCLK (25 MHz)
for use by a separate Ethernet PHY device.
FCLK_PLL and BCLK_PLL each employ an independently controlled M.N fractional
divider in its PLL feedback circuit in order to synthesize frequencies which are not
integer multiples of the reference clock on CLKI.
The HNP defaults its clocks to “slow mode”, meaning both the BCLK and FCLK are
operating at a slower frequency than is used in typical applications. This facilitates lower
power consumption immediately following power-on-reset. Typical applications will
program the PLLs to output higher frequencies at an appropriate time, e.g., after USB
enumeration.
Pins FCLKIO and BCLKIO can be configured to output clocks FCLK and EPCLK,
respectively, through the GPIO Option register (Section 9.3.1). Both pins default to GPIO
inputs immediately following power-on-reset.
The FCLK_PLL and the BCLK_PLL are implemented using 16-bit delta sigma (ƌ)
synthesizers. FCLK_PLL is programmed by writing to the appropriate bits in the PLL_F
Register (see Section 13.4.1) and BCLK_PLL is programmed by writing to the
appropriate bits in the PLL_B Register (see Section 13.4.2). PLL operation is also
controlled by the Low Power Mode Register (LPMR) (see Section 13.4.3).
13.2
Generated Clocks
The FCLK PLL and BCLK PLL generated clocks are described in Table 13-3 and Table
13-4, respectively.
FCLK PLL and BCLK PLL generated clock frequencies for various programming
options are listed in Table 13-5 and Table 13-6, respectively.
All clocks are substituted with the JTAG Test Clock (pin TCK) when the HNP is in
boundary scan or internal scan mode.
The ARM940T processor uses BCLK in place of FCLK when in FastBus mode, which is
the default mode immediately following power-on-reset.
101306C
Conexant Proprietary and Confidential Information
13-3
CX82100 Home Network Processor Data Sheet
Table 13-3. FCLK PLL Generated Clocks
Clock
Minimum
Frequency
(MHz)
FCLK
96
Maximum
Operating
Frequency
(MHz)
168
UCLK
48
84
UDC
12
12
Description
ARM940T fast clock input, asynchronous to bus clock. Can have a lower minimum if
the USB interface is not used. Internal. FCLK must be equal to or greater than BCLK.
USB timing reference; always one-half the frequency of FCLK. Must be a multiple of
12 MHz for proper USB operation. Internal. Optionally external, output on FCLKIO
pin.
USB timing reference. Must be 12 MHz for proper USB operation; UCLK divided by
number corresponding to PLL_F_CR. Internal.
Table 13-4. BCLK PLL Generated Clocks
Clock
Minimum
Frequency
(MHz)
BCLK
PCLK
25
12.5
Maximum
Operating
Frequency
(MHz)
100
50
25
25
EPCLK
Description
ASB clock. Internal. Can have a lower minimum if EPCLK is not used for 25 MHz.
APB clock; always one-half the frequency of BCLK and aligned to BCLK falling edge.
Internal.
Miscellaneous timing reference, e.g., Ethernet PHY. Optionally external; output on
BCLKIO pin. Can be different frequency for applications other than an Ethernet PHY
clock.
Table 13-5. FCLK PLL Generated Clocks Programming Examples
FCLK Speed Select
(PLL_F_CR_SLOW)
PLL_F
Frequency
FCLK (ARM)
Frequency
0 (Normal)
96 MHz
96 MHz
UCLK
Frequency
(FCLK/2)
48 MHz
USB Clock
Rate Select
(PLL_F_CR)
UDC Clock
Frequency
00 (÷ 8)
12 MHz
0 (Normal)
120 MHz
120 MHz
60 MHz
01 (÷ 10)
12 MHz
0 (Normal)
144 MHz
144 MHz
72 MHz
10 (÷ 12)
12 MHz
0 (Normal)
168 MHz
168 MHz
84 MHz
10 (÷ 14)
12 MHz
1 (Slow)
96 MHz
48 MHz
48 MHz
00 (÷ 4)
12 MHz
1 (Slow)
120 MHz
60 MHz
60 MHz
01 (÷ 5)
12 MHz
1 (Slow)
144 MHz
72 MHz
72 MHz
10 (÷ 6)
12 MHz
1 (Slow)
168 MHz
84 MHz
84 MHz
10 (÷ 7)
12 MHz
Notes
Default at POR
Table 13-6. BCLK PLL Generated Clocks Programming Examples
BCLK Speed Select
(PLL_F_CR_SLOW)
13-4
PLL_B
Frequency
BCLK (ASB)
Frequency
PCLK (APB)
Frequency
(BCLK/2)
EPCLK Clock
Rate Select
(PLL_B_CR)
0 (Normal)
75 MHz
75 MHz
37.5 MHz
00 (÷ 3)
EPCLK
(XBCLK)
Clock
Frequency
25 MHz
0 (Normal)
100 MHz
100 MHz
50 MHz
01 (÷ 4)
25 MHz
1 (Slow)
50 MHz
25 MHz
12.5MHz
00 (÷ 1)
25 MHz
1 (Slow)
100 MHz
50 MHz
25 MHz
01 (÷ 2)
25 MHz
Conexant Proprietary and Confidential Information
Notes
Default at POR
101306C
CX82100 Home Network Processor Data Sheet
13.3
PLL Register Memory Map
Table 13-7. PLL Register Memory Map
Register Label
PLL_F
PLL_B
LPMR
Register Name
FCLK PLL Register
BCLK PLL Register
Low Power Mode Register
13.4
PLL Registers
13.4.1
FCLK PLL Register (PLL_F: 0x00350068)
ASB Address
0x00350068
0x0035006C
0x00350014
Type
RW
RW
RW
Default Value
0x18D04DEA
0x184E2730
0x00000000
Ref.
13.4.1
13.4.2
13.4.3
PLL_F register is used by the FCLK PLL to generated the desired FCLK/UCLK.
Bit(s)
31:29
28
Type
Default
RW
1’b1
PLL_F_CR_SLOW
27
RO
1’b1
PLL_F_LK
26
RW
1’b0
PLL_F_DDS
25:24
RW
2’b00
PLL_F_CR
23:22
RW
2’b11
PLL_F_PRE
21:16
RW
6’b010110
(22d)
PLL_F_INT
15:0
RW
16’h4DEA
(19946d)
PLL_F_FRAC
101306C
Name
Description
Reserved.
FCLK Slow Speed Select.
0 = Normal FCLK speed.
1 = Slow FCLK speed (one-half normal speed), FCLK = UCLK.
(Default)
FCLK PLL Lock Status.
0 = FCLK PLL not locked.
1 = FCLK PLL locked (must be continuous 1 to indicate proper
FCLK PLL operation).
Disable FCLK ∆Σ Synthesizer.
0 = Enable FCLK ∆Σ synthesizer and select fractional divides.
(Default)
1 = Disable the FCLK ∆Σ synthesizer and select integer-only
divides.
USB Clock Rate Indicate.
These bits indicate to the USB interface block the rate of UCLK. For
proper USB operation, UCLK should be programmed to 48, 60, 72, or
84 MHz.
00 = UCLK rate is 48 MHz. (Default)
01 = UCLK rate is 60 MHz.
10 = UCLK rate is 72 MHz.
11 = UCLK rate is 84 MHz.
FCLK Reference Input Prescale Divider Select.
00 = Reserved.
01 = Divide by 5. (Default)
10 = Divide by 4.
11 = Divide by 3.
FCLK 6-bit Integer Divide Select.
0=
Selects PLL power-down state.
≥ 14d Enables the PLL for normal operation as a clock synthesizer.
See 13.5. (Default)
FCLK 16-bit Fractional Divide.
See 13.5.
Conexant Proprietary and Confidential Information
13-5
CX82100 Home Network Processor Data Sheet
13.4.2
BCLK PLL Register (PLL_B: 0x0035006C)
PLL_B register is used by the BCLK PLL to generated the desired clocks
BCLK/PCLK/EPCLK.
Bit(s)
31:29
28
Type
Default
RW
1’b1
PLL_B_CR_SLOW
27
RO
1’b1
PLL_B_LK
26
RW
1’b0
PLL_B_DDS
25:24
RW
2’b00
PLL_B_CR
23:22
RW
2’b01
PLL_B_PRE
21:16
RW
6’b001110
(14d)
PLL_B_INT
15:0
RW
16’h2730
(10032d)
PLL_B_FRAC
13-6
Name
Description
Reserved.
BCLK Slow Speed Select.
0 = Normal BCLK speed.
1 = Slow BCLK speed (one-half normal speed). (Default)
BCLK PLL Lock Status.
0 = BCLK PLL not locked.
1 = BCLK PLL locked (must be continuous 1 to indicate proper
BCLK PLL operation).
Disable BCLK ∆Σ Synthesizer.
0 = Enable BCLK ∆Σ synthesizer and select fractional divides.
(Default)
1 = Disable the BCLK ∆Σ synthesizer and select integer-only
divides.
EPCLK Clock Rate Select Divider.
For PLL_B_CR_SLOW = 0:
00 = BCLK divided by 3.
01 = BCLK divided by 4.
10 = BCLK divided by 5.
For PLL_B_CR_SLOW = 1:
00 = BCLK divided by 1. (Default)
01 = BCLK divided by 2.
10 = Reserved.
BCLK Reference Input Prescale Divider Select.
00 = Reserved.
01 = Divide by 5. (Default)
10 = Divide by 4.
11 = Divide by 3.
BCLK 6-bit Integer Divide Select.
0=
Selects PLL power-down state.
≥ 14d Enables the PLL for normal operation as a clock synthesizer.
See 13.5. (Default)
BCLK 16-bit Fractional Divide.
See 13.5.
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
13.4.3
Low Power Mode Register (LPMR: 0x00350014)
Bit(s)
31:16
Type
RW
Default
16'b0
15:1
0
RW
0
101306C
Name
LPM_CLK_DIV
LPM_EN
Description
Low Power Mode Clock Divider.
In Low Power Mode, BCLK operation is changed to:
BCLK = CLKI/(LPM_CLK_DIV + 1)*2
For example, a BCLK as slow as 270 Hz can be generated using a
35.328 MHz CLKI as the input if Low Power Mode is enabled
(LPM_EN = 1) and BCLK slow speed is not selected
(PLL_B_CR_SLOW = 0 in the PLL_B register).
If both LPM_EN and PLL_B_CR_SLOW = 1, the clock frequency for
BCLK is additionally divided by 2.
Reserved.
Low Power Mode Enable.
0 = Normal mode.
1 = Enable Low Power Mode, i.e., BCLK operates as described in
LPMR[31:16]. It also switches off FCLK and UCLK to the
ARM40T Core and USB Block.
Note: This control bit will not switch off or power-down the PLLs. To
put the PLLs in a power-down state, the PLL_F_INT / PLL_B_INT
values (bits [21:16] in PLL_F and PLL_B registers) must be 0.
Conexant Proprietary and Confidential Information
13-7
CX82100 Home Network Processor Data Sheet
13.5
PLL Programming
The PLL output frequency synthesized is equal to:
PLL _ Output _ Freq(MHz ) =
CLKI _ Freq( MHz ) æç
PLL _{ X } _ FRAC ö÷
× PLL _{ X } _ INT +
÷2
16
ç
÷
PLL _{ X } _ PRE è
2
ø
where X refers to F or B for the FCLK and BCLK PLLs, respectively.
For proper operation, FCLK must always be equal or greater than BCLK.
The divide ratio for each desired clock frequency is given by:
Divide_ Ratio=
Desired_ Freq(MHz) × 2 × PLL_{X } _ PRE
PLL_{X } _ FRAC
= PLL_{X } _ INT +
16
CLKI _ Freq(MHz)
2
At power-up and reset, both FCLK and BCLK and default to 48 MHz and 25 MHz,
respectively, when using a 35.328 MHz CLKI input.
Table 13-8 shows some desired frequencies and the necessary parameters for
programming the PLL_F and the PLL_B registers (assuming a 35.328 MHz input at
CLKI.
Table 13-8. Desired Frequencies and Programming Parameters
Example
1
2
3
4
5
6
13-8
CLKI
Frequency
(MHz)
35.328
35.328
35.328
35.328
35.328
35.328
PreScaler
5
3
4
3
3
3
Desired
Frequency
(MHz)
75
96
100
120
144
168
Divide
Ratio
Integer
(Dec.)
Fraction
(Dec.)
21.229620
16.304348
22.644928
20.380435
24.456522
28.532608
21
16
22
20
24
28
15048
19946
42266
24932
29919
34905
PLL Output
Frequency
(MHz)
74.99998125
96.00002344
100.000002
119.9999844
144.0000352
167.9999960
Conexant Proprietary and Confidential Information
PLL_Register
0x00553AC8
0x00D04DEA
0x0196A51A
0x01D46164
0x02D874DF
0x03DC8859
101306C
CX82100 Home Network Processor Data Sheet
13.6
Watchdog Timer Mode
When Timer 3 is in Watchdog Timer Mode (see Section 12.2), the PLL registers are
disabled from updates by APB writes. This guarantees uninterrupted clocking in the
event a Watchdog Timer timeout and subsequent system reset occurs. There is, however,
a time window when the PLLs can be updated. This occurs when the 7-bit counter that
counts to 100 (incremented every Int_TM3) is equal to 0 or 1. Since this counter is
cleared every time the TM_Lmt3 is written, the time window for allowed PLL updates is
usually open. When the ARM program is not running properly, the window will close,
eventually cause a system reset.
13.7
PLL Bypass Mode
If PLLBP is set high, the PLLs are bypassed and the HNP is in test-clock mode with
clocks supplied from the FCLKIO and BCLKIO pins (Figure 13-1). The clock provided
by FCLKIO is called XFCK and the clock provided by BCLKIO is called XBCK. The
clocking requirement is shown in Table 13-9.
Table 13-9. Clocking Requirements
Accuracy
(ppm)
100
Duty Cycle
(%)
XFCK
Maximum
Frequency (MHz)
144
50 ± 2
ARM940T fast clock input
XBCK
100
100
50 ± 2
ASB clock
Clock
Description
In order to setup the test clock mode, configuration control bits must be loaded by pulsing
the CLKI pin. The rising edge of CLKI saves the state of XFCK and XBCK into a control
register (XBCTL, XFCTL) internal to the PLL hardware (and not visible to the software).
The clock used to bypass the VCO in PLL_B is created by the XOR (XBCK, XFCK, and
XBCTL). The clock used to bypass the VCO in PLL_F is created by the XOR (XFCK,
XBCK, and XFCTL). Thus the two PLLs can be bypassed with independent clocks, but
at only ½ the maximum possible frequency, when the control bits are reset to zero. An
internal test VCO bypass clock can be generated at twice the frequency of the external
pin clocks if the XBCK and XFCK are signaled in quadrature (90 degrees out of phase),
and the appropriate control bit(s) is (are) activated (see Figure 13-2).
Note that CLKI also serves as an active-high asynchronous reset for the PLL postdividers when PLLBP is high, otherwise the POR is used. The internal bus clocks will
not progress until CLKI is reset low while in test-clock mode.
101306C
Conexant Proprietary and Confidential Information
13-9
CX82100 Home Network Processor Data Sheet
Figure 13-2. Clocks Generated in the PLL Bypass Mode
PLLBP
CLKI
rst
XFCK
XFCTL=1
XBCK
XBCTL=0
Input
Clocks
Internal
Clocks
VCO Bypass
Clock in PLL_F
VCO Bypass
Clock in PLL_B
FCLK
UCLK
Output
Clocks
BCLK
PCLK
Note: This figure assum es PLL_X_CR_SLOW = 0.
101545_063
13-10
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
14
Register Map Summary
Most of the register set resides on the APB. These registers are accessible by the
microcontroller directly (memory-mapped). They are also accessible by the host slavemode interface indirectly (host pointer).
14.1
Register Type Definition
The register types are defined in Table 14-1.
All registers are not pre-fetchable, which would imply side effects from reads. This
means that read or write accesses, sequential or not, may drive state-dependent state
control.
Table 14-1. Register Type Definition
Register Type
RO
WO
RW
RW*
RR
RWp
Wd
101306C
Description
Read-only
Write-only
Read / Write
Read / Write, but data may not be same as written at a later time.
Same as RW, but writing a 1 resets corresponding bit location, writing 0 has
no effect.
Read-only, Write-only shared port, data written cannot be read. Only
accessible by DMAC
Write-only, operates on other data entering register.
Conexant Proprietary and Confidential Information
14-1
CX82100 Home Network Processor Data Sheet
14.2
Interface Registers Sorted by Supported Function
The CX82100 interface registers sorted by supported function are listed in Table 14-2.
Table 14-2. CX82100 Interface Registers Sorted by Supported Function
Register Label
Register Name
ASB Address
Type
Default Value
Ref.
DMAC Registers
DMAC_1_Ptr1
DMAC 1 Current Pointer 1
0x00300000
RW*
0x00000000
DMAC_2_Ptr1
DMAC 2 Current Pointer 1
0x00300004
RO
0x00000000
4.5.1
4.5.1
DMAC_3_Ptr1
DMAC 3 Current Pointer 1
0x00300008
RW*
0x00000000
4.5.1
DMAC_4_Ptr1
DMAC_5_Ptr1
DMAC 4 Current Pointer 1
DMAC 5 Current Pointer 1
0x0030000C
0x00300010
RO
RW*
0x00000000
0x00000000
4.5.1
4.5.1
DMAC_6_Ptr1
DMAC 6 Current Pointer 1
0x00300014
RW*
0x00000000
4.5.1
DMAC_7_Ptr1
DMAC 7 Current Pointer 1
0x00300018
RW*
0x00000000
4.5.1
DMAC_8_Ptr1
DMAC 8 Current Pointer 1
0x0030001C
RW*
0x00000000
4.5.1
DMAC_9_Ptr1
DMAC 9 Current Pointer 1
0x00300020
RW*
0x00000000
4.5.1
DMAC_10_Ptr1
DMAC 10 Current Pointer 1
0x00300024
RW*
0x00000000
4.5.1
DMAC_11_Ptr1
DMAC 11 Current Pointer 1
0x00300028
RW*
0x00000000
4.5.1
*** Reserved ***
0x0030002C
DMAC_1_Ptr2
DMAC 1 Indirect/Return Pointer 2
0x00300030
RW*
0x00000000
4.5.4
DMAC_2_Ptr2
DMAC 2 Indirect/Return Pointer 2
0x00300034
RW*
0x00000000
4.5.4
DMAC_3_Ptr2
DMAC 3 Indirect/Return Pointer 2
0x00300038
RW*
0x00000000
4.5.4
DMAC_4_Ptr2
DMAC_5_Ptr2
DMAC 4 Indirect/Return Pointer 2
DMAC 5 Indirect/Return Pointer 2
0x0030003C
0x00300040
RW*
RW*
0x00000000
0x00000000
4.5.4
4.5.4
*** Reserved ***
0x00300044–
0x0030005C
DMAC_1_Cnt1
DMAC 1 Buffer Size Counter 1
0x00300060
RW*
0x00000000
4.5.3
DMAC_2_Cnt1
DMAC 2 Buffer Size Counter 1
0x00300064
RW*
0x00000000
4.5.3
DMAC_3_Cnt1
DMAC 3 Buffer Size Counter 1
0x00300068
RW*
0x00000000
4.5.3
DMAC_4_Cnt1
DMAC 4 Buffer Size Counter 1
0x0030006C
RW*
0x00000000
4.5.3
DMAC_5_Cnt1
DMAC 5 Buffer Size Counter 1
0x00300070
RW*
0x00000000
4.5.3
DMAC_6_Cnt1
DMAC 6 Buffer Size Counter 1
0x00300074
RW*
0x00000000
4.5.3
0x00300078–
0x0030007C
*** Reserved ***
DMAC_9_Cnt1
DMAC 9 Buffer Size Counter 1
0x00300080
RW*
0x00000000
4.5.3
DMAC_10_Cnt1
DMAC 10 Buffer Size Counter 1
0x00300084
RW*
0x00000000
4.5.3
DMAC_11_Cnt1
DMAC 11 Buffer Size Counter 1
0x00300088
RW*
0x00000000
4.5.3
DMAC 2 Buffer Size Counter 2
0x0030008C–
0x00300090
0x00300094
WO
0x00000000
4.5.4
WO
0x00000000
4.5.4
*** Reserved ***
DMAC_2_Cnt2
*** Reserved ***
DMAC_4_Cnt2
0x00300098
DMAC 4 Buffer Size Counter 2
*** Reserved ***
0x0030009C
0x003000A0–
0x003000FC
DMAC_12_Ptr1
DMAC 11 Current Pointer 1
0x00300100
RW*
0x00000000
4.5.1
DMAC_13_Ptr1
DMAC 12 Current Pointer 1
0x00300104
RW*
0x00000000
4.5.1
*** Reserved ***
0x00300108–
0x0030010C
DMAC_12_Cnt1
DMAC 11 Buffer Size Counter 1
0x00300110
RW*
0x00000000
4.5.3
DMAC_13_Cnt1
DMAC 12 Buffer Size Counter 1
0x00300114
RW*
0x00000000
4.5.3
*** Reserved ***
14-2
0x00300118–
0x00300124
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 16-2. CX82100 Interface Registers Sorted by Supported Function (Continued)
Register Label
Register Name
ASB Address
Type
Default Value
Ref.
Host Interface Registers
HST_CTRL
Host Control Register
0x002D0000
RW
0x00000008
5.3.1
HST_RWST
Host Master Mode Read-Wait-State Control
Register
0x002D0004
RW
0x00739CE7
5.3.2
HST_WWST
Host Master Mode Write-Wait-State Control
Register
0x002D0008
RW
0x00739CE7
5.3.3
HST_XFER_CNTL
Host Master Mode Transfer Control Register
0x002D000C
RW
0x00000000
5.3.4
HST_READ_CNTL1
Host Master Mode Read Control Register 1
0x002D0010
RW
0x00000000
5.3.5
HST_READ_CNTL2
Host Master Mode Read Control Register 2
0x002D0014
RW
0x00000000
5.3.6
HST_WRITE_CNTL1
Host Master Mode Write Control Register 1
0x002D0018
RW
0x00000000
5.3.7
HST_WRITE_CNTL2
Host Master Mode Write Control Register 2
0x002D001C
RW
0x00000000
5.3.8
MSTR_INTF_WIDTH
Host Master Mode Peripheral Size
0x002D0020
RW
0x00000000
5.3.9
MSTR_HANDSHAKE
HDMA_SRC_ADDR
Host Master Mode Peripheral Handshake
Host Master Mode DMA Source Address
0x002D0024
0x002D0028
RW
RW
0x00000000
0x00000000
5.3.10
5.3.11
HDMA_DST_ADDR
Host Master Mode DMA Destination Address
0x002D002C
RW
0x00000000
5.3.12
HDMA_BCNT
Host Master Mode DMA Byte Count
0x002D0030
RW
0x00000000
5.3.13
HDMA_TIMERS
Host Master Mode DMA Timers
0x002D0034
External Memory Control Register
RW
0x00000000
5.3.14
EMCR
External Memory Control Register
EMAC Registers
0x00350010
RW
0x00000000
6.12.1
E_DMA_1
EMAC 1 Source/Destination DMA Data Register
0x00310000
RWp
(don’t care)
7.11.1
E_NA_1
EMAC 1 Network Access Register
0x00310004
RW
0x80200000
7.11.3
E_Stat_1
EMAC 1 Status Register
0x00310008
RW*
0x00000000
7.11.4
E_IE_1
E_LP_1
EMAC 1 Interrupt Enable Register
EMAC 1 Receiver Last Packet Register
0x0031000C
0x00310010
RW
RW*
0x00000000
0x00000000
7.11.6
7.11.5
E_MII_1
EMAC 1 MII Management Interface Register
0x00310018
RW1
0x00000008
7.11.7
ET_DMA_1
EMAC 1 Destination DMA Data Register
0x00310020
ROp
(don’t care)
7.11.2
E_DMA_2
EMAC 2 Source/Destination DMA Data Register
0x00320000
RWp
(don’t care)
7.11.1
E_NA_2
EMAC 2 Network Access Register
0x00320004
RW
0x80200000
7.11.3
E_Stat_2
EMAC 2 Status Register
0x00320008
RW*
0x00000000
7.11.4
E_IE_2
EMAC 2 Interrupt Enable Register
0x0032000C
RW
0x00000000
7.11.6
E_LP_2
EMAC 2 Receiver Last Packet Register
0x00320010
RW*
0x00000000
7.11.5
E_MII_2
EMAC 2 MII Management Interface Register
0x00320018
RW2
0x00000008
7.11.7
ET_DMA_2
EMAC 2 Destination DMA Data Register
USB Registers
0x00320020
ROp
(don’t care)
7.11.2
U0_DMA
USB Source/Destination DMA Data Register 0
0x00330000
RWp
(don’t care)
8.8.1
U1_DMA
USB Source/Destination DMA Data Register 1
0x00330008
RWp
(don’t care)
8.8.2
U2_DMA
USB Source/Destination DMA Data Register 2
0x00330010
RWp
(don’t care)
8.8.3
U3_DMA
USB Source/Destination DMA Data Register 3
0x00330018
RWp
(don’t care)
8.8.4
UT_DMA
USB Destination DMA Data Register
0x00330020
RO
(don’t care)
8.8.5
U_CFG
USB Configuration Data Register
0x00330024
RW
0x00000000
8.8.6
U_IDAT
USB Interrupt Data Register
0x00330028
RW
0x00000000
8.8.7
U_CTR1
USB Control Register 1
0x0033002C
RW
0x04000000
8.8.8
U_CTR2
USB Control Register 2
0x00330030
RW
0x00000000
8.8.9
U_CTR3
USB Control Register 3
0x00330034
RW
0x00000000
8.8.10
U_STAT
USB Status
0x00330038
RR
0x00000000
8.8.11
U_IER
U_STAT2
USB Interrupt Enable Register
USB Status Register 2
0x0033003C
0x00330040
RW
RR
0x00000000
0x00000000
8.8.12
8.8.13
8.8.14
U_IER2
USB Interrupt Enable Register 2
0x00330044
RW
0x00000000
EP0_IN_TX_INC
EP0_IN Transmit Increment Register
0x00330048
RW
0x00000000
8.9.1
EP0_IN_TX_PEND
EP0_IN Transmit Pending Register
0x0033004C
RO
0x00000000
8.9.2
EP0_IN_TX_QWCNT
EP0_IN Transmit qword Count Register
0x00330050
RO
0x00000000
8.9.3
1
Note: The bit E_MII_1[1] is Read Only.
2
Note: The bit E_MII_2[1] is Read Only.
101306C
Conexant Proprietary and Confidential Information
14-3
CX82100 Home Network Processor Data Sheet
Table 16-2. CX82100 Interface Registers Sorted by Supported Function (Continued)
Register Label
EP1_IN_TX_INC
Register Name
ASB Address
Type
Default Value
Ref.
EP1_IN Transmit Increment Register
0x00330054
RW
0x00000000
8.9.4
EP1_IN_TX_PEND
EP1_IN Transmit Pending Register
0x00330058
RO
0x00000000
8.9.5
EP1_IN_TX_QWCNT
EP1_IN Transmit qword Count Register
0x0033005C
RO
0x00000000
8.9.6
EP2_IN_TX_INC
EP2_IN Transmit Increment Register
0x00330060
RW
0x00000000
8.9.7
EP2_IN_TX_PEND
EP2_IN Transmit Pending Register
0x00330064
RO
0x00000000
8.9.8
EP2_IN_TX_QWCNT
EP2_IN Transmit qword Count Register
0x00330068
RO
0x00000000
8.9.9
EP3_IN_TX_INC
EP3_IN Transmit Increment Register
0x0033006C
RW
0x00000000
8.9.10
EP3_IN_TX_PEND
EP3_IN Transmit Pending Register
0x00330070
RO
0x00000000
8.9.11
EP3_IN_TX_QWCNT
EP_OUT_RX_DEC
EP3_IN Transmit qword Count Register
EP_OUT Receive Decrement Register
0x00330074
0x00330078
RO
RW
0x00000000
0x00000000
8.9.12
8.9.13
EP_OUT_RX_PEND
EP_OUT Receive Pending Register
0x0033007C
RO
0x00000000
8.9.14
EP_OUT_RX_QWCNT
EP_OUT Receive qword Count Register
0x00330080
RO
0x00000000
8.9.16
EP_OUT_RX_BUFSIZE
EP_OUT Receive Buffer Size Register
0x00330084
RW
0x00000000
8.9.15
U_CSR
USB Control-Status Register
0x00330088
RO/WO
0x00000000
8.9.20
UDC_TSR
UDC Time Stamp Register
0x0033008C
RO
0x00000000
8.8.15
UDC_STAT
UDC Status Register
0x00330090
RO
0x00000000
8.8.16
USB_RXTIMER
USB Receive DMA Watchdog Timer Register
0x00330094
RW
0x00000000
8.9.17
USB_RXTIMERCNT
USB Receive DMA Watchdog Timer Counter
Register
0x00330098
RO
0x00000000
8.9.18
EP_OUT_RX_PENDLEVEL
EP_OUT Receive Pending Interrupt Level Register
Timer Registers
0x0033009C
RW
0x00000000
8.9.19
TM_Cnt1
TM_Cnt2
Timer 1 Counter Register
Timer 2 Counter Register
0x00350020
0x00350024
RW
RW
0x00000000
0x00000000
12.5.1
12.5.2
TM_Cnt3
Timer 3 Counter Register
0x00350028
RW
0x00000000
12.5.3
TM_Cnt4
Timer 4 Counter Register
0x0035002C
RW
0x00000000
12.5.4
TM_Lmt1
Timer 1 Limit Register
0x00350030
RW
0x00000000
12.5.5
TM_Lmt2
Timer 1 Limit Register
0x00350034
RW
0x00000000
12.5.6
TM_Lmt3
Timer 1 Limit Register
0x00350038
RW
0x00000000
12.5.7
TM_Lmt4
Timer 1 Limit Register
0x0035003C
RW
0x00000000
12.5.8
GPIO Registers
GPIO_ISM1
GPIO Interrupt Sensitivity Mode Register 1
0x003500A0
RW
0x00000000
9.3.20
GPIO_ISM2
GPIO Interrupt Sensitivity Mode Register 2
0x003500A4
RW
0x00000000
9.3.21
GPIO_ISM3
GPIO Interrupt Sensitivity Mode Register 3
0x003500A8
RW
0x00000000
9.3.22
GPIO_OPT
GPIO_OE1
GPIO Option Register
GPIO Output Enable Register 1
0x003500B0
0x003500B4
RW
RW
0x00000000
0x00002306
9.3.1
9.3.2
GPIO_OE2
GPIO Output Enable Register 2
0x003500B8
RW
0x00000082
9.3.3
GPIO_OE3
GPIO Output Enable Register 3
0x003500BC
RW
0x00000000
9.3.4
GPIO_DATA_IN1
GPIO Data Input Register 1
0x003500C0
RO
0x00000000
9.3.5
GPIO_DATA_IN2
GPIO Data Input Register 2
0x003500C4
RO
0x00000000
9.3.6
GPIO_DATA_IN3
GPIO Data Input Register 3
0x003500C8
RO
0x00000000
9.3.7
GPIO_DATA_OUT1
GPIO Data Output Register 1
0x003500CC
RW
0x23062306
9.3.8
GPIO_DATA_OUT2
GPIO Data Output Register 2
0x003500D0
RW
0x00960086
9.3.9
GPIO_DATA_OUT3
GPIO Data Output Register 3
0x003500D4
RW
0x00000000
9.3.10
GPIO_ISR1
GPIO Interrupt Status Register 1
0x003500D8
RR
0x00000000
9.3.11
GPIO_ISR2
GPIO_ISR3
GPIO Interrupt Status Register 2
GPIO Interrupt Status Register 3
0x003500DC
0x003500E0
RR
RR
0x00000000
0x00000000
9.3.12
9.3.13
GPIO_IER1
GPIO Interrupt Enable Register 1
0x003500E4
RW
0x00000000
9.3.14
GPIO_IER2
GPIO Interrupt Enable Register 2
0x003500E8
RW
0x00000000
9.3.15
GPIO_IER3
GPIO Interrupt Enable Register 3
0x003500EC
RW
0x00000000
9.3.16
GPIO_IPC1
GPIO Interrupt Polarity Control Register 1
0x003500F0
RW
0x00000000
9.3.17
GPIO_IPC2
GPIO Interrupt Polarity Control Register 2
0x003500F4
RW
0x00000000
9.3.18
GPIO_IPC3
GPIO Interrupt Polarity Control Register 3
EMAC Register
0x003500F8
RW
0x00000000
9.3.19
M2M_DMA
Memory to Memory DMA Data Register
0x00350000
RWp
64’bx
10.3.1
M2M_Cntl
Memory to Memory DMA Transfer Control/Counter
Interrupt Registers
0x00350004
RW
0x00000000
10.3.2
INT_LA
Interrupt Level Assignment Register
0x00350040
RW
0x00000000
11.2.1
INT_Stat
Interrupt Status Register
0x00350044
RR
0x00000000
11.2.2
14-4
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Register Label
Register Name
ASB Address
Type
Default Value
Ref.
INT_SetStat
Interrupt Set Status Register
0x00350048
WO
0x00000000
11.2.3
INT_Msk
INT_Mstat
Interrupt Mask Register
Interrupt Mask Status Register
0x0035004C
0x00350090
RW
RO
0x00000000
0x00000000
11.2.4
11.2.5
LPMR
Low Power Mode Register
0x00350014
RW
0x00000000
13.4.3
PLL_F
FCLK PLL Register
0x00350068
RW
0x18D04DEA
13.4.1
PLL_B
BCLK PLL Register
0x0035006C
RW
0x184E2730
13.4.2
Low Power and PLL Registers
101306C
Conexant Proprietary and Confidential Information
14-5
CX82100 Home Network Processor Data Sheet
14.3
Interface Registers Sorted by Address
The CX82100 interface registers sorted by address are listed in Table 14-3.
Table 14-3. CX82100 Interface Registers Sorted by Address
Register Label
Register Name
ASB Address
Type
Default Value
Ref.
HST_CTRL
Host Control Register
0x002D0000
RW
0x00000008
5.3.1
HST_RWST
Host Master Mode Read-Wait-State Control
Register
0x002D0004
RW
0x00739CE7
5.3.2
HST_WWST
Host Master Mode Write-Wait-State Control
Register
0x002D0008
RW
0x00739CE7
5.3.3
HST_XFER_CNTL
Host Master Mode Transfer Control Register
0x002D000C
RW
0x00000000
5.3.4
HST_READ_CNTL1
Host Master Mode Read Control Register 1
0x002D0010
RW
0x00000000
5.3.5
HST_READ_CNTL2
Host Master Mode Read Control Register 2
0x002D0014
RW
0x00000000
5.3.6
HST_WRITE_CNTL1
HST_WRITE_CNTL2
Host Master Mode Write Control Register 1
Host Master Mode Write Control Register 2
0x002D0018
0x002D001C
RW
RW
0x00000000
0x00000000
5.3.7
5.3.8
MSTR_INTF_WIDTH
Host Master Mode Peripheral Size
0x002D0020
RW
0x00000000
5.3.9
MSTR_HANDSHAKE
Host Master Mode Peripheral Handshake
0x002D0024
RW
0x00000000
5.3.10
HDMA_SRC_ADDR
Host Master Mode DMA Source Address
0x002D0028
RW
0x00000000
5.3.11
HDMA_DST_ADDR
Host Master Mode DMA Destination Address
0x002D002C
RW
0x00000000
5.3.12
HDMA_BCNT
Host Master Mode DMA Byte Count
0x002D0030
RW
0x00000000
5.3.13
HDMA_TIMERS
Host Master Mode DMA Timers
0x002D0034
RW
0x00000000
5.3.14
DMAC_1_Ptr1
DMAC 1 Current Pointer 1
0x00300000
RW*
0x00000000
4.5.1
DMAC_2_Ptr1
DMAC 2 Current Pointer 1
0x00300004
RO
0x00000000
4.5.1
DMAC_3_Ptr1
DMAC 3 Current Pointer 1
0x00300008
RW*
0x00000000
4.5.1
DMAC_4_Ptr1
DMAC_5_Ptr1
DMAC 4 Current Pointer 1
DMAC 5 Current Pointer 1
0x0030000C
0x00300010
RO
RW*
0x00000000
0x00000000
4.5.1
4.5.1
DMAC_6_Ptr1
DMAC 6 Current Pointer 1
0x00300014
RW*
0x00000000
4.5.1
DMAC_7_Ptr1
DMAC 7 Current Pointer 1
0x00300018
RW*
0x00000000
4.5.1
DMAC_8_Ptr1
DMAC 8 Current Pointer 1
0x0030001C
RW*
0x00000000
4.5.1
DMAC_9_Ptr1
DMAC 9 Current Pointer 1
0x00300020
RW*
0x00000000
4.5.1
DMAC_10_Ptr1
DMAC 10 Current Pointer 1
0x00300024
RW*
0x00000000
4.5.1
DMAC_11_Ptr1
DMAC 11 Current Pointer 1
0x00300028
RW*
0x00000000
4.5.1
*** Reserved ***
0x0030002C
DMAC_1_Ptr2
DMAC 1 Indirect/Return Pointer 2
0x00300030
RW*
0x00000000
4.5.4
DMAC_2_Ptr2
DMAC 2 Indirect/Return Pointer 2
0x00300034
RW*
0x00000000
4.5.4
DMAC_3_Ptr2
DMAC 3 Indirect/Return Pointer 2
0x00300038
RW*
0x00000000
4.5.4
DMAC_4_Ptr2
DMAC_5_Ptr2
DMAC 4 Indirect/Return Pointer 2
DMAC 5 Indirect/Return Pointer 2
0x0030003C
0x00300040
RW*
RW*
0x00000000
0x00000000
4.5.4
4.5.4
*** Reserved ***
0x00300044–
0x0030005C
DMAC_1_Cnt1
DMAC 1 Buffer Size Counter 1
0x00300060
RW*
0x00000000
4.5.3
DMAC_2_Cnt1
DMAC 2 Buffer Size Counter 1
0x00300064
RW*
0x00000000
4.5.3
DMAC_3_Cnt1
DMAC 3 Buffer Size Counter 1
0x00300068
RW*
0x00000000
4.5.3
DMAC_4_Cnt1
DMAC 4 Buffer Size Counter 1
0x0030006C
RW*
0x00000000
4.5.3
DMAC_5_Cnt1
DMAC 5 Buffer Size Counter 1
0x00300070
RW*
0x00000000
4.5.3
DMAC_6_Cnt1
DMAC 6 Buffer Size Counter 1
0x00300074
RW*
0x00000000
4.5.3
0x00300078–
0x0030007C
*** Reserved ***
DMAC_9_Cnt1
DMAC 9 Buffer Size Counter 1
0x00300080
RW*
0x00000000
4.5.3
DMAC_10_Cnt1
DMAC 10 Buffer Size Counter 1
0x00300084
RW*
0x00000000
4.5.3
DMAC_11_Cnt1
*** Reserved ***
DMAC 11 Buffer Size Counter 1
0x00300088
0x0030008C–
0x00300090
RW*
0x00000000
4.5.3
DMAC_2_Cnt2
DMAC 2 Buffer Size Counter 2
0x00300094
WO
0x00000000
4.5.4
WO
0x00000000
4.5.4
*** Reserved ***
DMAC_4_Cnt2
*** Reserved ***
14-6
0x00300098
DMAC 4 Buffer Size Counter 2
0x0030009C
0x003000A0–
0x003000FC
Conexant Proprietary and Confidential Information
101306C
CX82100 Home Network Processor Data Sheet
Table 16-3. CX82100 Interface Registers Sorted by Address (Continued)
Register Label
Register Name
ASB Address
Type
Default Value
Ref.
DMAC_12_Ptr1
DMAC 11 Current Pointer 1
0x00300100
RW*
0x00000000
4.5.1
DMAC_13_Ptr1
DMAC 12 Current Pointer 1
0x00300104
RW*
0x00000000
4.5.1
*** Reserved ***
0x00300108–
0x0030010C
DMAC_12_Cnt1
DMAC 11 Buffer Size Counter 1
0x00300110
RW*
0x00000000
4.5.3
DMAC_13_Cnt1
DMAC 12 Buffer Size Counter 1
0x00300114
RW*
0x00000000
4.5.3
*** Reserved ***
0x00300118–
0x00300124
E_DMA_1
EMAC 1 Source/Destination DMA Data Register
0x00310000
RWp
(don’t care)
7.11.1
E_NA_1
EMAC 1 Network Access Register
0x00310004
RW
0x80200000
7.11.3
E_Stat_1
EMAC 1 Status Register
0x00310008
RW*
0x00000000
7.11.4
E_IE_1
EMAC 1 Interrupt Enable Register
0x0031000C
RW
0x00000000
7.11.6
E_LP_1
E_MII_1
EMAC 1 Receiver Last Packet Register
EMAC 1 MII Management Interface Register
0x00310010
0x00310018
RW*
RW3
0x00000000
0x00000008
7.11.5
7.11.7
ET_DMA_1
EMAC 1 Destination DMA Data Register
0x00310020
ROp
(don’t care)
7.11.2
E_DMA_2
EMAC 2 Source/Destination DMA Data Register
0x00320000
RWp
(don’t care)
7.11.1
E_NA_2
EMAC 2 Network Access Register
0x00320004
RW
0x80200000
7.11.3
E_Stat_2
EMAC 2 Status Register
0x00320008
RW*
0x00000000
7.11.4
E_IE_2
EMAC 2 Interrupt Enable Register
0x0032000C
RW
0x00000000
7.11.6
E_LP_2
EMAC 2 Receiver Last Packet Register
0x00320010
RW*
0x00000000
7.11.5
E_MII_2
EMAC 2 MII Management Interface Register
0x00320018
RW4
0x00000008
7.11.7
ET_DMA_2
EMAC 2 Destination DMA Data Register
0x00320020
ROp
(don’t care)
7.11.2
U0_DMA
USB Source/Destination DMA Data Register 0
0x00330000
RWp
(don’t care)
8.8.1
U1_DMA
U2_DMA
USB Source/Destination DMA Data Register 1
USB Source/Destination DMA Data Register 2
0x00330008
0x00330010
RWp
RWp
(don’t care)
(don’t care)
8.8.2
8.8.3
U3_DMA
USB Source/Destination DMA Data Register 3
0x00330018
RWp
(don’t care)
8.8.4
UT_DMA
USB Destination DMA Data Register
0x00330020
RO
(don’t care)
8.8.5
U_CFG
USB Configuration Data Register
0x00330024
RW
0x00000000
8.8.6
U_IDAT
USB Interrupt Data Register
0x00330028
RW
0x00000000
8.8.7
U_CTR1
USB Control Register 1
0x0033002C
RW
0x04000000
8.8.8
U_CTR2
USB Control Register 2
0x00330030
RW
0x00000000
8.8.9
U_CTR3
USB Control Register 3
0x00330034
RW
0x00000000
8.8.10
U_STAT
USB Status
0x00330038
RR
0x00000000
8.8.11
U_IER
USB Interrupt Enable Register
0x0033003C
RW
0x00000000
8.8.12
U_STAT2
U_IER2
USB Status Register 2
USB Interrupt Enable Register 2
0x00330040
0x00330044
RR
RW
0x00000000
0x00000000
8.8.13
8.8.14
EP0_IN_TX_INC
EP0_IN Transmit Increment Register
0x00330048
RW
0x00000000
8.9.1
EP0_IN_TX_PEND
EP0_IN Transmit Pending Register
0x0033004C
RO
0x00000000
8.9.2
8.9.3
EP0_IN_TX_QWCNT
EP0_IN Transmit qword Count Register
0x00330050
RO
0x00000000
EP1_IN_TX_INC
EP1_IN Transmit Increment Register
0x00330054
RW
0x00000000
8.9.4
EP1_IN_TX_PEND
EP1_IN Transmit Pending Register
0x00330058
RO
0x00000000
8.9.5
8.9.6
EP1_IN_TX_QWCNT
EP1_IN Transmit qword Count Register
0x0033005C
RO
0x00000000
EP2_IN_TX_INC
EP2_IN Transmit Increment Register
0x00330060
RW
0x00000000
8.9.7
EP2_IN_TX_PEND
EP2_IN Transmit Pending Register
0x00330064
RO
0x00000000
8.9.8
EP2_IN_TX_QWCNT
EP2_IN Transmit qword Count Register
0x00330068
RO
0x00000000
8.9.9
EP3_IN_TX_INC
EP3_IN Transmit Increment Register
0x0033006C
RW
0x00000000
8.9.10
EP3_IN_TX_PEND
EP3_IN_TX_QWCNT
EP3_IN Transmit Pending Register
EP3_IN Transmit qword Count Register
0x00330070
0x00330074
RO
RO
0x00000000
0x00000000
8.9.11
8.9.12
EP_OUT_RX_DEC
EP_OUT Receive Decrement Register
0x00330078
RW
0x00000000
8.9.13
EP_OUT_RX_PEND
EP_OUT Receive Pending Register
0x0033007C
RO
0x00000000
8.9.14
EP_OUT_RX_QWCNT
EP_OUT Receive qword Count Register
0x00330080
RO
0x00000000
8.9.16
EP_OUT_RX_BUFSIZE
EP_OUT Receive Buffer Size Register
0x00330084
RW
0x00000000
8.9.15
3
Note: The bit E_MII_1[1] is Read Only.
4
Note: The bit E_MII_2[1] is Read Only.
101306C
Conexant Proprietary and Confidential Information
14-7
CX82100 Home Network Processor Data Sheet
Table 16-3. CX82100 Interface Registers Sorted by Address (Continued)
Register Label
U_CSR
Register Name
ASB Address
Type
Default Value
Ref.
USB Control-Status Register
0x00330088
RO/WO
0x00000000
8.9.20
UDC_TSR
UDC Time Stamp Register
0x0033008C
RO
0x00000000
8.8.15
UDC_STAT
UDC Status Register
0x00330090
RO
0x00000000
8.8.16
USB_RXTIMER
USB Receive DMA Watchdog Timer Register
0x00330094
RW
0x00000000
8.9.17
USB_RXTIMERCNT
USB Receive DMA Watchdog Timer Counter
Register
0x00330098
RO
0x00000000
8.9.18
EP_OUT_RX_PENDLEVEL
EP_OUT Receive Pending Interrupt Level
Register
0x0033009C
RW
0x00000000
8.9.19
*** Reserved ***
0x00340000—
0x00340080
M2M_DMA
Memory to Memory DMA Data Register
0x00350000
RWp
64’bx
10.3.1
M2M_Cntl
Memory to Memory DMA Transfer Control/Counter
0x00350004
RW
0x00000000
10.3.2
EMCR
External Memory Control Register
0x00350010
RW
0x00000000
6.12.1
LPMR
Low Power Mode Register
0x00350014
RW
0x00000000
13.4.3
TM_Cnt1
TM_Cnt2
Timer 1 Counter Register
Timer 2 Counter Register
0x00350020
0x00350024
RW
RW
0x00000000
0x00000000
12.5.1
12.5.2
TM_Cnt3
Timer 3 Counter Register
0x00350028
RW
0x00000000
12.5.3
TM_Cnt4
Timer 4 Counter Register
0x0035002C
RW
0x00000000
12.5.4
TM_Lmt1
Timer 1 Limit Register
0x00350030
RW
0x00000000
12.5.5
TM_Lmt2
Timer 1 Limit Register
0x00350034
RW
0x00000000
12.5.6
TM_Lmt3
Timer 1 Limit Register
0x00350038
RW
0x00000000
12.5.7
TM_Lmt4
Timer 1 Limit Register
0x0035003C
RW
0x00000000
12.5.8
INT_LA
Interrupt Level Assignment Register
0x00350040
RW
0x00000000
11.2.1
INT_Stat
Interrupt Status Register
0x00350044
RR
0x00000000
11.2.2
INT_SetStat
Interrupt Set Status Register
0x00350048
WO
0x00000000
11.2.3
INT_Msk
PLL_F
Interrupt Mask Register
FCLK PLL Register
0x0035004C
0x00350068
RW
RW
0x00000000
0x18D04DEA
11.2.4
13.4.1
PLL_B
BCLK PLL Register
0x0035006C
RW
0x184E2730
13.4.2
INT_Mstat
Interrupt Mask Status Register
0x00350090
RO
0x00000000
11.2.5
GPIO_ISM1
GPIO Interrupt Sensitivity Mode Register 1
0x003500A0
RW
0x00000000
9.3.20
GPIO_ISM2
GPIO Interrupt Sensitivity Mode Register 2
0x003500A4
RW
0x00000000
9.3.21
GPIO_ISM3
GPIO Interrupt Sensitivity Mode Register 3
0x003500A8
RW
0x00000000
9.3.22
GPIO_OPT
GPIO Option Register
0x003500B0
RW
0x00000000
9.3.1
GPIO_OE1
GPIO Output Enable Register 1
0x003500B4
RW
0x00002306
9.3.2
GPIO_OE2
GPIO Output Enable Register 2
0x003500B8
RW
0x00000082
9.3.3
GPIO_OE3
GPIO Output Enable Register 3
0x003500BC
RW
0x00000000
9.3.4
GPIO_DATA_IN1
GPIO_DATA_IN2
GPIO Data Input Register 1
GPIO Data Input Register 2
0x003500C0
0x003500C4
RO
RO
0x00000000
0x00000000
9.3.5
9.3.6
GPIO_DATA_IN3
GPIO Data Input Register 3
0x003500C8
RO
0x00000000
9.3.7
GPIO_DATA_OUT1
GPIO Data Output Register 1
0x003500CC
RW
0x23062306
9.3.8
GPIO_DATA_OUT2
GPIO Data Output Register 2
0x003500D0
RW
0x00960086
9.3.9
GPIO_DATA_OUT3
GPIO Data Output Register 3
0x003500D4
RW
0x00000000
9.3.10
GPIO_ISR1
GPIO Interrupt Status Register 1
0x003500D8
RR
0x00000000
9.3.11
GPIO_ISR2
GPIO Interrupt Status Register 2
0x003500DC
RR
0x00000000
9.3.12
GPIO_ISR3
GPIO Interrupt Status Register 3
0x003500E0
RR
0x00000000
9.3.13
GPIO_IER1
GPIO Interrupt Enable Register 1
0x003500E4
RW
0x00000000
9.3.14
GPIO_IER2
GPIO Interrupt Enable Register 2
0x003500E8
RW
0x00000000
9.3.15
GPIO_IER3
GPIO_IPC1
GPIO Interrupt Enable Register 3
GPIO Interrupt Polarity Control Register 1
0x003500EC
0x003500F0
RW
RW
0x00000000
0x00000000
9.3.16
9.3.17
GPIO_IPC2
GPIO Interrupt Polarity Control Register 2
0x003500F4
RW
0x00000000
9.3.18
GPIO_IPC3
GPIO Interrupt Polarity Control Register 3
0x003500F8
RW
0x00000000
9.3.19
14-8
Conexant Proprietary and Confidential Information
101306C
NOTES
www.conexant.com
General Information:
U.S. and Canada: (800) 854-8099
International: (949) 483-6996
Headquarters – Newport Beach
4311 Jamboree Rd.
Newport Beach, CA 92660-3007