Z8530 Programming Guide

Alan Cox


This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

For more details see the file COPYING in the source distribution of Linux.

Table of Contents

1. Introduction
2. Driver Modes
3. Using the Z85230 driver
4. Attaching Network Interfaces
5. Configuring And Activating The Port
6. Network Layer Functions
7. Porting The Z8530 Driver
8. Known Bugs And Assumptions
9. Public Functions Provided
z8530_interrupt — Handle an interrupt from a Z8530
z8530_sync_open — Open a Z8530 channel for PIO
z8530_sync_close — Close a PIO Z8530 channel
z8530_sync_dma_open — Open a Z8530 for DMA I/O
z8530_sync_dma_close — Close down DMA I/O
z8530_sync_txdma_open — Open a Z8530 for TX driven DMA
z8530_sync_txdma_close — Close down a TX driven DMA channel
z8530_describe — Uniformly describe a Z8530 port
z8530_init — Initialise a Z8530 device
z8530_shutdown — Shutdown a Z8530 device
z8530_channel_load — Load channel data
z8530_null_rx — Discard a packet
z8530_queue_xmit — Queue a packet
10. Internal Functions
z8530_read_port — Architecture specific interface function
z8530_write_port — Architecture specific interface function
read_zsreg — Read a register from a Z85230
read_zsdata — Read the data port of a Z8530 channel
write_zsreg — Write to a Z8530 channel register
write_zsctrl — Write to a Z8530 control register
write_zsdata — Write to a Z8530 control register
z8530_flush_fifo — Flush on chip RX FIFO
z8530_rtsdtr — Control the outgoing DTS/RTS line
z8530_rx — Handle a PIO receive event
z8530_tx — Handle a PIO transmit event
z8530_status — Handle a PIO status exception
z8530_dma_rx — Handle a DMA RX event
z8530_dma_tx — Handle a DMA TX event
z8530_dma_status — Handle a DMA status exception
z8530_rx_clear — Handle RX events from a stopped chip
z8530_tx_clear — Handle TX events from a stopped chip
z8530_status_clear — Handle status events from a stopped chip
z8530_tx_begin — Begin packet transmission
z8530_tx_done — TX complete callback
z8530_rx_done — Receive completion callback
spans_boundary — Check a packet can be ISA DMA'd