Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
ucc_slow.h File Reference
#include <linux/kernel.h>
#include <asm/immap_qe.h>
#include <asm/qe.h>
#include <asm/ucc.h>

Go to the source code of this file.

Data Structures

struct  ucc_slow_info
 
struct  ucc_slow_private
 

Macros

#define T_R   0x80000000 /* ready bit */
 
#define T_PAD   0x40000000 /* add pads to short frames */
 
#define T_W   0x20000000 /* wrap bit */
 
#define T_I   0x10000000 /* interrupt on completion */
 
#define T_L   0x08000000 /* last */
 
#define T_A
 
#define T_TC   0x04000000 /* transmit CRC */
 
#define T_CM   0x02000000 /* continuous mode */
 
#define T_DEF   0x02000000 /* collision on previous attempt to transmit */
 
#define T_P
 
#define T_HB   0x01000000 /* heartbeat */
 
#define T_NS   0x00800000 /* No Stop */
 
#define T_LC   0x00800000 /* late collision */
 
#define T_RL   0x00400000 /* retransmission limit */
 
#define T_UN   0x00020000 /* underrun */
 
#define T_CT   0x00010000 /* CTS lost */
 
#define T_CSL   0x00010000 /* carrier sense lost */
 
#define T_RC   0x003c0000 /* retry count */
 
#define R_E   0x80000000 /* buffer empty */
 
#define R_W   0x20000000 /* wrap bit */
 
#define R_I   0x10000000 /* interrupt on reception */
 
#define R_L   0x08000000 /* last */
 
#define R_C
 
#define R_F   0x04000000 /* first */
 
#define R_A
 
#define R_CM   0x02000000 /* continuous mode */
 
#define R_ID   0x01000000 /* buffer close on reception of idles */
 
#define R_M
 
#define R_AM   0x00800000 /* Address match */
 
#define R_DE   0x00800000 /* Address match */
 
#define R_LG   0x00200000 /* Break received */
 
#define R_BR   0x00200000 /* Frame length violation */
 
#define R_NO   0x00100000 /* Rx Non Octet Aligned Packet */
 
#define R_FR
 
#define R_PR   0x00080000 /* Parity Error character received */
 
#define R_AB   0x00080000 /* Frame Aborted */
 
#define R_SH   0x00080000 /* frame is too short */
 
#define R_CR   0x00040000 /* CRC Error */
 
#define R_OV   0x00020000 /* Overrun */
 
#define R_CD   0x00010000 /* CD lost */
 
#define R_CL
 
#define UCC_SLOW_RX_ALIGN   4
 
#define UCC_SLOW_MRBLR_ALIGNMENT   4
 
#define UCC_SLOW_PRAM_SIZE   0x100
 
#define ALIGNMENT_OF_UCC_SLOW_PRAM   64
 

Enumerations

enum  ucc_slow_channel_protocol_mode { UCC_SLOW_CHANNEL_PROTOCOL_MODE_QMC = 0x00000002, UCC_SLOW_CHANNEL_PROTOCOL_MODE_UART = 0x00000004, UCC_SLOW_CHANNEL_PROTOCOL_MODE_BISYNC = 0x00000008 }
 
enum  ucc_slow_transparent_tcrc { UCC_SLOW_TRANSPARENT_TCRC_CCITT_CRC16 = 0x00000000, UCC_SLOW_TRANSPARENT_TCRC_CRC16 = 0x00004000, UCC_SLOW_TRANSPARENT_TCRC_CCITT_CRC32 = 0x00008000 }
 
enum  ucc_slow_tx_oversampling_rate { UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_1 = 0x00000000, UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_8 = 0x00010000, UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_16 = 0x00020000, UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_32 = 0x00030000 }
 
enum  ucc_slow_rx_oversampling_rate { UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_1 = 0x00000000, UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_8 = 0x00004000, UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_16 = 0x00008000, UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_32 = 0x0000c000 }
 
enum  ucc_slow_tx_encoding_method { UCC_SLOW_TRANSMITTER_ENCODING_METHOD_TENC_NRZ = 0x00000000, UCC_SLOW_TRANSMITTER_ENCODING_METHOD_TENC_NRZI = 0x00000100 }
 
enum  ucc_slow_rx_decoding_method { UCC_SLOW_RECEIVER_DECODING_METHOD_RENC_NRZ = 0x00000000, UCC_SLOW_RECEIVER_DECODING_METHOD_RENC_NRZI = 0x00000800 }
 
enum  ucc_slow_diag_mode { UCC_SLOW_DIAG_MODE_NORMAL = 0x00000000, UCC_SLOW_DIAG_MODE_LOOPBACK = 0x00000040, UCC_SLOW_DIAG_MODE_ECHO = 0x00000080, UCC_SLOW_DIAG_MODE_LOOPBACK_ECHO = 0x000000c0 }
 

Functions

int ucc_slow_init (struct ucc_slow_info *us_info, struct ucc_slow_private **uccs_ret)
 
void ucc_slow_free (struct ucc_slow_private *uccs)
 
void ucc_slow_enable (struct ucc_slow_private *uccs, enum comm_dir mode)
 
void ucc_slow_disable (struct ucc_slow_private *uccs, enum comm_dir mode)
 
void ucc_slow_poll_transmitter_now (struct ucc_slow_private *uccs)
 
void ucc_slow_graceful_stop_tx (struct ucc_slow_private *uccs)
 
void ucc_slow_stop_tx (struct ucc_slow_private *uccs)
 
void ucc_slow_restart_tx (struct ucc_slow_private *uccs)
 
u32 ucc_slow_get_qe_cr_subblock (int uccs_num)
 

Macro Definition Documentation

#define ALIGNMENT_OF_UCC_SLOW_PRAM   64

Definition at line 75 of file ucc_slow.h.

#define R_A
Value:
0x04000000 /* the first byte in this buffer is address
byte */

Definition at line 53 of file ucc_slow.h.

#define R_AB   0x00080000 /* Frame Aborted */

Definition at line 64 of file ucc_slow.h.

#define R_AM   0x00800000 /* Address match */

Definition at line 57 of file ucc_slow.h.

#define R_BR   0x00200000 /* Frame length violation */

Definition at line 60 of file ucc_slow.h.

#define R_C
Value:
0x08000000 /* the last byte in this buffer is a cntl
char */

Definition at line 51 of file ucc_slow.h.

#define R_CD   0x00010000 /* CD lost */

Definition at line 68 of file ucc_slow.h.

#define R_CL
Value:
0x00010000 /* this frame is closed because of a
collision */

Definition at line 69 of file ucc_slow.h.

#define R_CM   0x02000000 /* continuous mode */

Definition at line 54 of file ucc_slow.h.

#define R_CR   0x00040000 /* CRC Error */

Definition at line 66 of file ucc_slow.h.

#define R_DE   0x00800000 /* Address match */

Definition at line 58 of file ucc_slow.h.

#define R_E   0x80000000 /* buffer empty */

Definition at line 47 of file ucc_slow.h.

#define R_F   0x04000000 /* first */

Definition at line 52 of file ucc_slow.h.

#define R_FR
Value:
0x00100000 /* Framing Error (no stop bit) character
received */

Definition at line 62 of file ucc_slow.h.

#define R_I   0x10000000 /* interrupt on reception */

Definition at line 49 of file ucc_slow.h.

#define R_ID   0x01000000 /* buffer close on reception of idles */

Definition at line 55 of file ucc_slow.h.

#define R_L   0x08000000 /* last */

Definition at line 50 of file ucc_slow.h.

#define R_LG   0x00200000 /* Break received */

Definition at line 59 of file ucc_slow.h.

#define R_M
Value:
0x01000000 /* Frame received because of promiscuous
mode */

Definition at line 56 of file ucc_slow.h.

#define R_NO   0x00100000 /* Rx Non Octet Aligned Packet */

Definition at line 61 of file ucc_slow.h.

#define R_OV   0x00020000 /* Overrun */

Definition at line 67 of file ucc_slow.h.

#define R_PR   0x00080000 /* Parity Error character received */

Definition at line 63 of file ucc_slow.h.

#define R_SH   0x00080000 /* frame is too short */

Definition at line 65 of file ucc_slow.h.

#define R_W   0x20000000 /* wrap bit */

Definition at line 48 of file ucc_slow.h.

#define T_A
Value:
0x04000000 /* Address - the data transmitted as address
chars */

Definition at line 32 of file ucc_slow.h.

#define T_CM   0x02000000 /* continuous mode */

Definition at line 34 of file ucc_slow.h.

#define T_CSL   0x00010000 /* carrier sense lost */

Definition at line 43 of file ucc_slow.h.

#define T_CT   0x00010000 /* CTS lost */

Definition at line 42 of file ucc_slow.h.

#define T_DEF   0x02000000 /* collision on previous attempt to transmit */

Definition at line 35 of file ucc_slow.h.

#define T_HB   0x01000000 /* heartbeat */

Definition at line 37 of file ucc_slow.h.

#define T_I   0x10000000 /* interrupt on completion */

Definition at line 29 of file ucc_slow.h.

#define T_L   0x08000000 /* last */

Definition at line 30 of file ucc_slow.h.

#define T_LC   0x00800000 /* late collision */

Definition at line 39 of file ucc_slow.h.

#define T_NS   0x00800000 /* No Stop */

Definition at line 38 of file ucc_slow.h.

#define T_P
Value:
0x01000000 /* Preamble - send Preamble sequence before
data */

Definition at line 36 of file ucc_slow.h.

#define T_PAD   0x40000000 /* add pads to short frames */

Definition at line 27 of file ucc_slow.h.

#define T_R   0x80000000 /* ready bit */

Definition at line 26 of file ucc_slow.h.

#define T_RC   0x003c0000 /* retry count */

Definition at line 44 of file ucc_slow.h.

#define T_RL   0x00400000 /* retransmission limit */

Definition at line 40 of file ucc_slow.h.

#define T_TC   0x04000000 /* transmit CRC */

Definition at line 33 of file ucc_slow.h.

#define T_UN   0x00020000 /* underrun */

Definition at line 41 of file ucc_slow.h.

#define T_W   0x20000000 /* wrap bit */

Definition at line 28 of file ucc_slow.h.

#define UCC_SLOW_MRBLR_ALIGNMENT   4

Definition at line 73 of file ucc_slow.h.

#define UCC_SLOW_PRAM_SIZE   0x100

Definition at line 74 of file ucc_slow.h.

#define UCC_SLOW_RX_ALIGN   4

Definition at line 72 of file ucc_slow.h.

Enumeration Type Documentation

Enumerator:
UCC_SLOW_CHANNEL_PROTOCOL_MODE_QMC 
UCC_SLOW_CHANNEL_PROTOCOL_MODE_UART 
UCC_SLOW_CHANNEL_PROTOCOL_MODE_BISYNC 

Definition at line 78 of file ucc_slow.h.

Enumerator:
UCC_SLOW_DIAG_MODE_NORMAL 
UCC_SLOW_DIAG_MODE_LOOPBACK 
UCC_SLOW_DIAG_MODE_ECHO 
UCC_SLOW_DIAG_MODE_LOOPBACK_ECHO 

Definition at line 135 of file ucc_slow.h.

Enumerator:
UCC_SLOW_RECEIVER_DECODING_METHOD_RENC_NRZ 
UCC_SLOW_RECEIVER_DECODING_METHOD_RENC_NRZI 

Definition at line 128 of file ucc_slow.h.

Enumerator:
UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_1 
UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_8 
UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_16 
UCC_SLOW_OVERSAMPLING_RATE_RX_RDCR_32 

Definition at line 108 of file ucc_slow.h.

Enumerator:
UCC_SLOW_TRANSPARENT_TCRC_CCITT_CRC16 
UCC_SLOW_TRANSPARENT_TCRC_CRC16 
UCC_SLOW_TRANSPARENT_TCRC_CCITT_CRC32 

Definition at line 85 of file ucc_slow.h.

Enumerator:
UCC_SLOW_TRANSMITTER_ENCODING_METHOD_TENC_NRZ 
UCC_SLOW_TRANSMITTER_ENCODING_METHOD_TENC_NRZI 

Definition at line 121 of file ucc_slow.h.

Enumerator:
UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_1 
UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_8 
UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_16 
UCC_SLOW_OVERSAMPLING_RATE_TX_TDCR_32 

Definition at line 95 of file ucc_slow.h.

Function Documentation

void ucc_slow_disable ( struct ucc_slow_private uccs,
enum comm_dir  mode 
)

Definition at line 104 of file ucc_slow.c.

void ucc_slow_enable ( struct ucc_slow_private uccs,
enum comm_dir  mode 
)

Definition at line 83 of file ucc_slow.c.

void ucc_slow_free ( struct ucc_slow_private uccs)

Definition at line 360 of file ucc_slow.c.

u32 ucc_slow_get_qe_cr_subblock ( int  uccs_num)

Definition at line 31 of file ucc_slow.c.

void ucc_slow_graceful_stop_tx ( struct ucc_slow_private uccs)

Definition at line 52 of file ucc_slow.c.

int ucc_slow_init ( struct ucc_slow_info us_info,
struct ucc_slow_private **  uccs_ret 
)

Definition at line 129 of file ucc_slow.c.

void ucc_slow_poll_transmitter_now ( struct ucc_slow_private uccs)

Definition at line 47 of file ucc_slow.c.

void ucc_slow_restart_tx ( struct ucc_slow_private uccs)

Definition at line 73 of file ucc_slow.c.

void ucc_slow_stop_tx ( struct ucc_slow_private uccs)

Definition at line 63 of file ucc_slow.c.