SMSC LAN9311 User Manual

Page of 460
Two Port 10/100 Managed Ethernet Switch with 16-Bit Non-PCI CPU Interface
Datasheet
Revision 1.4 (08-19-08)
164
SMSC LAN9311/LAN9311i
DATASHEET
 
13.2.1
GPIO IEEE 1588 Timestamping
Two of the GPIO pins, GPIO[9:8], have the option to be used for IEEE 1588 time stamp functions. This
allows a time stamp capture to be triggered when the GPIO is configured as an input, or output a signal
from the GPIO based on an IEEE 1588 clock target compare event when configured as an output.
Refer to 
 for additional information
on the IEEE 1588 time stamping functions of the LAN9311/LAN9311i.
13.2.1.1
IEEE 1588 GPIO Inputs
When the GPIO[9:8] pins are configured as inputs, an active edge will capture the IEEE 1588 clock
into the high and low 1588 capture registers (1588_CLOCK_HI_CAPTURE_GPIO_x, and
1588_CLOCK_LO_CAPTURE_GPIO_x where “x” represents the number of the respective 1588
enabled GPIO) and set the corresponding interrupt flags GPIO[9:8]_INT and 1588_GPIO[9:8]_INT in
the 
 and 
 respectively. The GPIO[9:8] inputs can also
be configured to clear the Clock Target interrupt (1588_TIMER_INT) in the 
  b y   s e t t i n g   t h e   c o r r e s p o n d i n g
GPIO_1588_TIMER_INT_CLEAR_EN[9:8] bit in the 
GPIO inputs must be active for greater than 40nS to be recognized as capture or
interrupt clear events.
13.2.1.2
IEEE 1588 GPIO Outputs
The GPIO[9:8] pins can be configured as IEEE 1588 enabled outputs by setting the corresponding
1588_GPIO_OE[9:8] bits in the 
. These bits
override the GPDIR[9:8] bits of the 
and allow for GPIO output generation based on the IEEE 1588 clock target compare event. Clock
target compare events occur when the value loaded into the 
  a n d  
 matches the current IEEE 1588 clock value in the 
 and 
Upon detection of a clock target compare event, GPIO[9:8] can be configured to output a 100nS pulse,
toggle its output, or reflect the 1588_TIMER_INT bit in the 
 by enabling the GPIO_EVENT_9 or GPIO_EVENT_8 bits of the 
. The clock event polarity, which determines whether the IEEE
1588 GPIO output is active high or active low, is controlled via the GPIO_EVENT_POL_9 and
GPIO_EVENT_POL_8 bits of the 
Note:
The 1588_GPIO_OE[9:8] bits do not override the GPIO buffer type bits GPIOBUF[9:8] in the
13.2.2
GPIO Interrupts
Each GPIO of the LAN9311/LAN9311i provides the ability to trigger a unique GPIO interrupt in the
. Reading the
GPIO_INT[11:0] bits of this register provides the current status of the corresponding interrupt, and each
interrupt is enabled by setting the corresponding GPIO_INT_EN[11:0] bit. The GPIO/LED Controller
aggregates the enabled interrupt values into an internal signal which is sent to the System Interrupt
Controller and is reflected via the 
 bit 12 (GPIO). For more
information on the LAN9311/LAN9311i interrupts, refer to 
13.2.2.1
GPIO Interrupt Polarity
The interrupt polarity can be set for each individual GPIO via the GPIO_INT_POL[11:0] bits in the
. When set, a high logic level on the GPIO
pin will set the corresponding interrupt bit in the 
. When cleared, a low logic level on the GPIO pin will set the
corresponding interrupt bit. Because GPIO[9:8] have added IEEE 1588 functionality, the