
AX88780
15
ASIX ELECTRONICS CORPORATION
3.9 16-bit Mode
AX88780 also supports 16-bit mode operation. AX88780 driver should request at least (8K + 8) bytes space for TX,
RX and register access. For example, the driver requests a 16K bytes space from system and then sets the new window base
address to MEMBAS6 register. After that, driver should set bit 0 (DECODE_EN) of MEMBASE register to start decoding
for TX buffer, RX buffer and registers access. (Note: AX88780 H/W only decodes low 16-bit offset address.)
MEMBASE--Memory base Address
Field
Name
Type
Default
15:1
-
R/W
-
Reserved. The output value is undefined if software read this field.
0
DECODE_EN
R/W
0
16-bit decode enable
Set to ‘1’ to start decoding.
Description
MEMBAS6--Memory base Address + 6
Field
Name
Type
Default
Description
15:8
7:0
-
R/W
-
Reserved. The output value is undefined if software read this field.
Window Base Pointer. (The MSB of new window base address)
This field defines another new windows base address for TX, RX and register
access. The total size is 8K bytes.
TX areas occupy 3840 bytes
Registers occupy 256 bytes.
RX areas occupy 4096 bytes.
WINSIZE R/W
0x00
Note: The WINSIZE field of this address is used to define the MSB of new window base address, the TX buffer, RX buffer
and registers should be accessed through this new window base address in 16-bit mode. Please refer to below mapping
mechanism for details.
MEMBASE
Set MEMBAS6 =
0x0010
TX buffer area
(3840 bytes)
Registers area
(256 bytes)
RX buffer area
(4096 bytes)
Figure 5: 16-bit mode address mapping
The following is an example to indicate how to define a new window base address in 16-bit mode by configuring the
MEMBAS6 register. If AX88780 is allocated at the memory base address 0x20_0000 by hardware (i.e. the MEMBASE
register is allocated at 0x20_0000) and users would like to set the new window base address to 0x20_1000, the driver
should write 0x0010 to the MEMBAS6 register (offset 0x20_0006). In this case, the TX buffer area will be allocated from
0x20_1000 to 0x20_1EFF; the registers area will be allocated from 0x20_1F00 to 0x20_1FFF and the RX buffer area will
be allocated from 0x20_2000 to 0x20_2FFF.
15
0
Registers area (xx_1F00 ~ 1FFF)
RX buffer area (xx_2000 ~ 2FFF)
Base address (xx_0000)
Base address + 6 (xx_0006)
New window base address (xx_
10
00)
TX buffer area (xx_1000 ~ 1EFF)