mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-11-02 09:05:37 +01:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
177
arch/m68k/include/asm/m68360_enet.h
Normal file
177
arch/m68k/include/asm/m68360_enet.h
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
/***********************************
|
||||
* $Id: m68360_enet.h,v 1.1 2002/03/02 15:01:07 gerg Exp $
|
||||
***********************************
|
||||
*
|
||||
***************************************
|
||||
* Definitions for the ETHERNET controllers
|
||||
***************************************
|
||||
*/
|
||||
|
||||
#ifndef __ETHER_H
|
||||
#define __ETHER_H
|
||||
|
||||
#include <asm/quicc_simple.h>
|
||||
|
||||
/*
|
||||
* transmit BD's
|
||||
*/
|
||||
#define T_R 0x8000 /* ready bit */
|
||||
#define E_T_PAD 0x4000 /* short frame padding */
|
||||
#define T_W 0x2000 /* wrap bit */
|
||||
#define T_I 0x1000 /* interrupt on completion */
|
||||
#define T_L 0x0800 /* last in frame */
|
||||
#define T_TC 0x0400 /* transmit CRC (when last) */
|
||||
|
||||
#define T_DEF 0x0200 /* defer indication */
|
||||
#define T_HB 0x0100 /* heartbeat */
|
||||
#define T_LC 0x0080 /* error: late collision */
|
||||
#define T_RL 0x0040 /* error: retransmission limit */
|
||||
#define T_RC 0x003c /* retry count */
|
||||
#define T_UN 0x0002 /* error: underrun */
|
||||
#define T_CSL 0x0001 /* carier sense lost */
|
||||
#define T_ERROR (T_HB | T_LC | T_RL | T_UN | T_CSL)
|
||||
|
||||
/*
|
||||
* receive BD's
|
||||
*/
|
||||
#define R_E 0x8000 /* buffer empty */
|
||||
#define R_W 0x2000 /* wrap bit */
|
||||
#define R_I 0x1000 /* interrupt on reception */
|
||||
#define R_L 0x0800 /* last BD in frame */
|
||||
#define R_F 0x0400 /* first BD in frame */
|
||||
#define R_M 0x0100 /* received because of promisc. mode */
|
||||
|
||||
#define R_LG 0x0020 /* frame too long */
|
||||
#define R_NO 0x0010 /* non-octet aligned */
|
||||
#define R_SH 0x0008 /* short frame */
|
||||
#define R_CR 0x0004 /* receive CRC error */
|
||||
#define R_OV 0x0002 /* receive overrun */
|
||||
#define R_CL 0x0001 /* collision */
|
||||
#define ETHER_R_ERROR (R_LG | R_NO | R_SH | R_CR | R_OV | R_CL)
|
||||
|
||||
|
||||
/*
|
||||
* ethernet interrupts
|
||||
*/
|
||||
#define ETHERNET_GRA 0x0080 /* graceful stop complete */
|
||||
#define ETHERNET_TXE 0x0010 /* transmit error */
|
||||
#define ETHERNET_RXF 0x0008 /* receive frame */
|
||||
#define ETHERNET_BSY 0x0004 /* busy condition */
|
||||
#define ETHERNET_TXB 0x0002 /* transmit buffer */
|
||||
#define ETHERNET_RXB 0x0001 /* receive buffer */
|
||||
|
||||
/*
|
||||
* ethernet protocol specific mode register (PSMR)
|
||||
*/
|
||||
#define ETHER_HBC 0x8000 /* heartbeat checking */
|
||||
#define ETHER_FC 0x4000 /* force collision */
|
||||
#define ETHER_RSH 0x2000 /* receive short frames */
|
||||
#define ETHER_IAM 0x1000 /* individual address mode */
|
||||
#define ETHER_CRC_32 (0x2<<10) /* Enable CRC */
|
||||
#define ETHER_PRO 0x0200 /* promiscuous */
|
||||
#define ETHER_BRO 0x0100 /* broadcast address */
|
||||
#define ETHER_SBT 0x0080 /* stop backoff timer */
|
||||
#define ETHER_LPB 0x0040 /* Loop Back Mode */
|
||||
#define ETHER_SIP 0x0020 /* sample input pins */
|
||||
#define ETHER_LCW 0x0010 /* late collision window */
|
||||
#define ETHER_NIB_13 (0x0<<1) /* # of ignored bits 13 */
|
||||
#define ETHER_NIB_14 (0x1<<1) /* # of ignored bits 14 */
|
||||
#define ETHER_NIB_15 (0x2<<1) /* # of ignored bits 15 */
|
||||
#define ETHER_NIB_16 (0x3<<1) /* # of ignored bits 16 */
|
||||
#define ETHER_NIB_21 (0x4<<1) /* # of ignored bits 21 */
|
||||
#define ETHER_NIB_22 (0x5<<1) /* # of ignored bits 22 */
|
||||
#define ETHER_NIB_23 (0x6<<1) /* # of ignored bits 23 */
|
||||
#define ETHER_NIB_24 (0x7<<1) /* # of ignored bits 24 */
|
||||
|
||||
/*
|
||||
* ethernet specific parameters
|
||||
*/
|
||||
#define CRC_WORD 4 /* Length in bytes of CRC */
|
||||
#define C_PRES 0xffffffff /* preform 32 bit CRC */
|
||||
#define C_MASK 0xdebb20e3 /* comply with 32 bit CRC */
|
||||
#define CRCEC 0x00000000
|
||||
#define ALEC 0x00000000
|
||||
#define DISFC 0x00000000
|
||||
#define PADS 0x00000000
|
||||
#define RET_LIM 0x000f /* retry 15 times to send a frame before interrupt */
|
||||
#define ETH_MFLR 0x05ee /* 1518 max frame size */
|
||||
#define MINFLR 0x0040 /* Minimum frame size 64 */
|
||||
#define MAXD1 0x05ee /* Max dma count 1518 */
|
||||
#define MAXD2 0x05ee
|
||||
#define GADDR1 0x00000000 /* Clear group address */
|
||||
#define GADDR2 0x00000000
|
||||
#define GADDR3 0x00000000
|
||||
#define GADDR4 0x00000000
|
||||
#define P_PER 0x00000000 /*not used */
|
||||
#define IADDR1 0x00000000 /* Individual hash table not used */
|
||||
#define IADDR2 0x00000000
|
||||
#define IADDR3 0x00000000
|
||||
#define IADDR4 0x00000000
|
||||
#define TADDR_H 0x00000000 /* clear this regs */
|
||||
#define TADDR_M 0x00000000
|
||||
#define TADDR_L 0x00000000
|
||||
|
||||
/* SCC Parameter Ram */
|
||||
#define RFCR 0x18 /* normal operation */
|
||||
#define TFCR 0x18 /* normal operation */
|
||||
#define E_MRBLR 1518 /* Max ethernet frame length */
|
||||
|
||||
/*
|
||||
* ethernet specific structure
|
||||
*/
|
||||
typedef union {
|
||||
unsigned char b[6];
|
||||
struct {
|
||||
unsigned short high;
|
||||
unsigned short middl;
|
||||
unsigned short low;
|
||||
} w;
|
||||
} ETHER_ADDR;
|
||||
|
||||
typedef struct {
|
||||
int max_frame_length;
|
||||
int promisc_mode;
|
||||
int reject_broadcast;
|
||||
ETHER_ADDR phys_adr;
|
||||
} ETHER_SPECIFIC;
|
||||
|
||||
typedef struct {
|
||||
ETHER_ADDR dst_addr;
|
||||
ETHER_ADDR src_addr;
|
||||
unsigned short type_or_len;
|
||||
unsigned char data[1];
|
||||
} ETHER_FRAME;
|
||||
|
||||
#define MAX_DATALEN 1500
|
||||
typedef struct {
|
||||
ETHER_ADDR dst_addr;
|
||||
ETHER_ADDR src_addr;
|
||||
unsigned short type_or_len;
|
||||
unsigned char data[MAX_DATALEN];
|
||||
unsigned char fcs[CRC_WORD];
|
||||
} ETHER_MAX_FRAME;
|
||||
|
||||
|
||||
/*
|
||||
* Internal ethernet function prototypes
|
||||
*/
|
||||
void ether_interrupt(int scc_num);
|
||||
/* mleslie: debug */
|
||||
/* static void ethernet_rx_internal(int scc_num); */
|
||||
/* static void ethernet_tx_internal(int scc_num); */
|
||||
|
||||
/*
|
||||
* User callable routines prototypes (ethernet specific)
|
||||
*/
|
||||
void ethernet_init(int scc_number,
|
||||
alloc_routine *alloc_buffer,
|
||||
free_routine *free_buffer,
|
||||
store_rx_buffer_routine *store_rx_buffer,
|
||||
handle_tx_error_routine *handle_tx_error,
|
||||
handle_rx_error_routine *handle_rx_error,
|
||||
handle_lost_error_routine *handle_lost_error,
|
||||
ETHER_SPECIFIC *ether_spec);
|
||||
int ethernet_tx(int scc_number, void *buf, int length);
|
||||
|
||||
#endif
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue