© 2015 Exar Corporation
XR22804
12 / 47 exar.com/XR22804
Rev 1B
The OTP may be used to override these strings. However, to ensure unique serial numbers for each device, it is recom-
mended that the factory pre-programmed serial number string be used and not be overwritten via OTP.
USB Device Drivers
Each of the functions in the XR22804 require a USB device driver for operation. Both the I
2
C and EDGE functions conform
to the HID device class and as such, utilize the embedded HID driver that is native to each Operating System. The embed-
ded hub also uses the native hub driver. The Ethernet function conforms to the CDC device class and as such can utilize an
embedded CDC-ECM driver. However, at the time of this writing, none of the Microsoft OS provide support for CDC-ECM
embedded drivers. Both Linux and Mac OS-X platforms do support CDC-ECM drivers.
The CDC-ECM is a "standard" driver which implements functionality on a specific class of devices. Exar provides a custom
Ethernet device driver for Windows operating systems which has been optimized for the best possible data through-put.
The UART function can be used with either a standard CDC-ACM driver or a custom driver. When the CDC-ACM driver is
used, the driver has no ability to read or write the XR22804 device registers. Because of this, the XR22804 device is initial-
ized to the settings in Table3. With a custom driver, all GPIOs default in hardware to inputs but these settings may be mod-
ified by a custom driver.
These default settings can be overridden by programming the OTP.
If a custom driver is used, the CUSTOM_DRIVER_ACTIVE bit should be immediately set to ’1’ by the USB UART driver.
Once the CUSTOM_DRIVER_ACTIVE bit is set, the custom driver can use standard CDC-ACM commands without config-
uring the device to the default register settings used with the CDC-ACM driver. Any changes to the register settings for the
GPIOs and flow control will specifically need to be configured by the driver / application software. Although there is no ability
to read / write registers when using the CDC-ACM driver, basic UART functions, including setting baud rate, character for-
mat and sending line break is supported by the CDC driver. Refer to the 4 CDC_ACM_IF USB Control Commands listed in
Tabl e 4 .
10/100 Ethernet
The Ethernet port is a 10/100 Ethernet MAC and Phy compliant with IEEE 802.3. The Ethernet port supports speed /
duplex auto-negotiation, auto-MDIX, 10 Mbps data auto-polarity, full and half duplex data rates at 10 and 100 Mbps, gener-
ates and validates the 32-bit FCS, and performs unicast and multicast filtering. The XR22804 also performs TCP, UDP and
UARTs Exar USB UART
I
2
C
Exar USB I2C
EDGE Exar USB EDGE
Table 3: XR22804 Register Defaults With CDC-ACM Driver
Register Value Notes
Flow Control 0x001 Hardware Flow Control
GPIO_MODE 0x001 RTS / CTS Flow Control
GPIO_DIRECTION 0x008 E3/DTRA#/GA3, E11/DTRB#/GB3, E19/DTRC#/GC3 and E27/
DTRD#/GD3 are configured as outputs. All other GPIOs as inputs.
GPIO_INT_MASK 0x030 E[n]/RI#/RWK#/G[n], E[n]/CD#/G[n] and E[n]/DSR#/G[n] for all
UART channels are interrupt sensitive, i.e. can cause a USB inter-
rupt to be generated
Table 2: Default XR22804 Product Strings
XR22804 Function Default Product String