Simplifying System IntegrationTM 78Q8430 Linux Driver ARM Platform User Guide October 17, 2008 Rev. 1.
78Q8430 Linux Driver ARM Platform User Guide UG_8430_008 © 2008 Teridian Semiconductor Corporation. All rights reserved. Teridian Semiconductor Corporation is a registered trademark of Teridian Semiconductor Corporation. Simplifying System Integration is a trademark of Teridian Semiconductor Corporation. ARM9 is a trademark of ARM Limited. Linux is the registered trademark of Linus Torvalds. Pentium is a registered trademark of Intel Corporation. Windows is a registered trademark of Microsoft Corporation.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide Table of Contents 1 Introduction ........................................................................................................................................... 4 2 Linux Driver ........................................................................................................................................... 5 2.1 8430-tool Application ............................................................................................
78Q8430 Linux Driver ARM Platform User Guide UG_8430_008 1 Introduction The Teridian Semiconductor Corporation 78Q8430 is a single chip 10/100 Ethernet MAC and PHY controller supporting multi-media offload. The device is optimized to enhance throughput and offload network protocol tasks from the host processor for demanding multi-media applications found in Set Top Boxes, IP video, and Broadband Media Appliances. This document describes the 78Q8430 Linux® software device driver.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide 2 Linux Driver The 78Q8430 10/100 Ethernet MAC/PHY Linux device driver provides extensive configuration support through its IOCTL interface. The 78Q8430 is a uniquely feature-rich Ethernet solution. As such, the standard Linux Ethernet configuration applications, ethtool and mii-tool, do not address the majority of the available features.
78Q8430 Linux Driver ARM Platform User Guide 2.1.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide r: 8430 register access read _reg_ write _reg_ _32_bit_hex_value_ debug _32-bit-debug_bit_mask_in_hex_ status [rx|tx] Rev. 1.
78Q8430 Linux Driver ARM Platform User Guide 2.1.2 UG_8430_008 8430-tool Command Descriptions This section provides detailed syntax and option descriptions for each 8430-tool command. The general command syntax is: 8430-tool ethn -option [operands] Keywords and options in bold must be entered as shown. The items in italics are replaced with user specific information. For ethn, the n is replaced with the Linux PC ethernet port (0, 1, or 2) being used.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide C: CAM control Syntax: 8430-tool ethn -C arc [m|u] [2|7:1] MAC_addr new type rule rmr rcr rule rule_nmbr [on|off] irq [on|off] reset Description: This command option causes the driver to modify CAM entries to define ARC entries made up of MAC addresses, to define or redefine CAM rules and to toggle on and off any CAM rule.
78Q8430 Linux Driver ARM Platform User Guide UG_8430_008 F: RX Frame Mods Syntax: 8430-tool ethn -F txpadding [on|off] strip [crc|pad] [on|off] crc [append|fix] [on|off] query [strip|crc] Description: This command option causes the driver to query and modify RX and TX frame handling. Operands: txpadding [on|off] on enables transmission padding on small packets. off disables transmission padding on small packets.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide L: WOL Syntax: 8430-tool ethn -L onnow [on|off|set data1 data2 data3 mask] magic [on|off|set MAC_addr ] pmectl [on|off] pmepwr [on|off] Description: This command option causes the driver to configure and activate or deactivate the OnNow and Magic Packet WOL features. Operands: onnow [on|off] set Keyword to configure and activate OnNow WOL. Toggles OnNow on or off.
78Q8430 Linux Driver ARM Platform User Guide UG_8430_008 M: RMON counter control Syntax: 8430-tool ethn -M [on|off|clear] [set reg offset [0|1] value] Description: This command option operates on the RMON counters. Operands: [on|off|clear] set reg offset [0|1] value Toggles the RMON counters on or off or clears all RMON counters. Sets a given RMON register and its software 64-bit shadow register word to the specified value. RMON register number.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide [on|off] Toggles manual crossover state on or off. pwrsave [on|off] Toggles PHY low power mode on or off. PWRSAVE requires external clocking. Do not attempt PWRSAVE if the 78Q8430 is configured for internal clocking.
78Q8430 Linux Driver ARM Platform User Guide UG_8430_008 Q: Thresholds Syntax: 8430-tool ethn -Q headroom [get|set value ] highwater [get|set value ] irqdelay [get|set value ] txdivisor [get|set value ] Description: This command option causes the driver to display or set the headroom, watermark interrupt and RX interrupt delay threshold values. Operands: headroom highwater irqdelay txdivisor [get|set value] Keyword to display or specify how many queue buffers to hold as overflow protection.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide r: 8430 register access Syntax: 8430-tool ethn –r read reg write reg 32_bit_hex_value debug 32-bit-debug_bit_mask_in_hex status [rx|tx] Description: This command option causes the driver to read and write on-chip registers and enable device driver debugging messages which are piped to the system console. Operands: read reg write reg 32_bit_hex_value debug status [rx|tx] Rev. 1.0 Keyword to display the contents of a MAC register.
78Q8430 Linux Driver ARM Platform User Guide 2.2 UG_8430_008 ethtool Command Syntax The following syntax summary lists the ethtool version 4 command options supported by the 78Q8430 device driver. ethtool can be obtained from: http://sourceforge.net/projects/gkernel/. The EEPROM modification command described below requires a code conveyed by the 'magic' operand. The required code is 8430.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide 3 8430-tool Debug Command Bit Mask Values Operation of the 8430-tool Debug Command requires that the driver be compiled with the global debug option found in 78q8430-debug.h. This is the default state built into the executable. This option enables a set of prerequisite, corresponding options that are mapped to the 8430-tool Debug Command bit mask values specified below.
78Q8430 Linux Driver ARM Platform User Guide #define DEBUG_PHY ( 1 << // #define DEBUG_RX_INTERRUPT_WAKE #define #define #define #define UG_8430_008 DEBUG_RX_INTERRUPT_CLASS DEBUG_RX_INTERRUPT_PHY DEBUG_RX_INTERRUPT_OFLOW DEBUG_RX_INTERRUPT_STATE 5) 0x0000001F ( 1 << 4) ( ( ( ( 1 1 1 1 << << << << 3) 2) 1) 0) // PHY init+ISR in -phy.
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide Bit Mask Name Header Debug Definition #define DEBUG_NET_SEND_PACKET_TX_CNTS DEBUG_SEND_PKT_ALIGNED_XMIT #define DEBUG_NET_SEND_PACKET_ALIGNED_XMIT_DATA DEBUG_SEND_PKT_XMIT_DATA #define DEBUG_NET_SEND_PACKET_ALIGNED_XMIT_DATA DEBUG_TOE_XMIT_IPADDR #define DEBUG_NET_TOE_XMIT_IPADDR DEBUG_RX_CLASS #define DEBUG_NET_RX_CLASS DEBUG_RX_TOE #define DEBUG_NET_RX_TOE DEBUG_RX_DROP #define DEBUG_NET_RX_DROP DEBUG_IOCTL #define #define #define #
78Q8430 Linux Driver ARM Platform User Guide UG_8430_008 4 Related Documentation The following 78Q8430 documents are available from Teridian Semiconductor Corporation: 78Q8430 Preliminary Data Sheet 78Q8430 Layout Guidelines 78Q8430 Embest Evaluation Board User Manual 78Q8430 STEM Demo Board User Manual 78Q8430 Software Driver Development Guidelines 78Q8430 Driver Manual for ST 5100/OS-20 with NexGen TCP/IP Stack 78Q8430 ARM9(920T) Linux Driver Diagnostic Guide 78Q8430 Linux Driver ARM Platform User Guide
UG_8430_008 78Q8430 Linux Driver ARM Platform User Guide Appendix A – Acronyms ARC BIST CAM FTP IOCTL HNR ICMP IP MAC PHY PC RMON SOC TCP TCP/IP TOE WOL Rev. 1.
78Q8430 Linux Driver ARM Platform User Guide UG_8430_008 Revision History Revision Date Description 1.0 10/17/2008 First publication. 22 Rev. 1.