Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>master
parent
cff009ed6f
commit
f2879f5952
@ -0,0 +1,47 @@ |
||||
/* GRLIB APBUART definitions
|
||||
* |
||||
* (C) Copyright 2010, 2015 |
||||
* Daniel Hellstrom, Cobham Gaisler, daniel@gaisler.com |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __GRLIB_APBUART_H__ |
||||
#define __GRLIB_APBUART_H__ |
||||
|
||||
/* APBUART Register map */ |
||||
typedef struct { |
||||
volatile unsigned int data; |
||||
volatile unsigned int status; |
||||
volatile unsigned int ctrl; |
||||
volatile unsigned int scaler; |
||||
} ambapp_dev_apbuart; |
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Status Registers. |
||||
*/ |
||||
|
||||
#define APBUART_STATUS_DR 0x00000001 /* Data Ready */ |
||||
#define APBUART_STATUS_TSE 0x00000002 /* TX Send Register Empty */ |
||||
#define APBUART_STATUS_THE 0x00000004 /* TX Hold Register Empty */ |
||||
#define APBUART_STATUS_BR 0x00000008 /* Break Error */ |
||||
#define APBUART_STATUS_OE 0x00000010 /* RX Overrun Error */ |
||||
#define APBUART_STATUS_PE 0x00000020 /* RX Parity Error */ |
||||
#define APBUART_STATUS_FE 0x00000040 /* RX Framing Error */ |
||||
#define APBUART_STATUS_ERR 0x00000078 /* Error Mask */ |
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Ctrl Registers. |
||||
*/ |
||||
|
||||
#define APBUART_CTRL_RE 0x00000001 /* Receiver enable */ |
||||
#define APBUART_CTRL_TE 0x00000002 /* Transmitter enable */ |
||||
#define APBUART_CTRL_RI 0x00000004 /* Receiver interrupt enable */ |
||||
#define APBUART_CTRL_TI 0x00000008 /* Transmitter interrupt enable */ |
||||
#define APBUART_CTRL_PS 0x00000010 /* Parity select */ |
||||
#define APBUART_CTRL_PE 0x00000020 /* Parity enable */ |
||||
#define APBUART_CTRL_FL 0x00000040 /* Flow control enable */ |
||||
#define APBUART_CTRL_LB 0x00000080 /* Loop Back enable */ |
||||
#define APBUART_CTRL_DBG (1<<11) /* Debug Bit used by GRMON */ |
||||
|
||||
#endif |
@ -0,0 +1,34 @@ |
||||
/* GRLIB GPTIMER (General Purpose Timer) definitions
|
||||
* |
||||
* (C) Copyright 2010, 2015 |
||||
* Daniel Hellstrom, Cobham Gaisler, daniel@gaisler.com |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __GRLIB_GPTIMER_H__ |
||||
#define __GRLIB_GPTIMER_H__ |
||||
|
||||
typedef struct { |
||||
volatile unsigned int val; |
||||
volatile unsigned int rld; |
||||
volatile unsigned int ctrl; |
||||
volatile unsigned int unused; |
||||
} ambapp_dev_gptimer_element; |
||||
|
||||
#define GPTIMER_CTRL_EN 0x1 /* Timer enable */ |
||||
#define GPTIMER_CTRL_RS 0x2 /* Timer reStart */ |
||||
#define GPTIMER_CTRL_LD 0x4 /* Timer reLoad */ |
||||
#define GPTIMER_CTRL_IE 0x8 /* interrupt enable */ |
||||
#define GPTIMER_CTRL_IP 0x10 /* interrupt flag/pending */ |
||||
#define GPTIMER_CTRL_CH 0x20 /* Chain with previous timer */ |
||||
|
||||
typedef struct { |
||||
volatile unsigned int scalar; |
||||
volatile unsigned int scalar_reload; |
||||
volatile unsigned int config; |
||||
volatile unsigned int unused; |
||||
volatile ambapp_dev_gptimer_element e[8]; |
||||
} ambapp_dev_gptimer; |
||||
|
||||
#endif |
@ -0,0 +1,87 @@ |
||||
/* Gaisler.com GRETH 10/100/1000 Ethernet MAC definitions
|
||||
* |
||||
* (C) Copyright 2010, 2015 |
||||
* Daniel Hellstrom, Cobham Gaisler, daniel@gaisler.com |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __GRLIB_GRETH_H__ |
||||
#define __GRLIB_GRETH_H__ |
||||
|
||||
#define GRETH_FD 0x10 |
||||
#define GRETH_RESET 0x40 |
||||
#define GRETH_MII_BUSY 0x8 |
||||
#define GRETH_MII_NVALID 0x10 |
||||
|
||||
/* MII registers */ |
||||
#define GRETH_MII_EXTADV_1000FD 0x00000200 |
||||
#define GRETH_MII_EXTADV_1000HD 0x00000100 |
||||
#define GRETH_MII_EXTPRT_1000FD 0x00000800 |
||||
#define GRETH_MII_EXTPRT_1000HD 0x00000400 |
||||
|
||||
#define GRETH_MII_100T4 0x00000200 |
||||
#define GRETH_MII_100TXFD 0x00000100 |
||||
#define GRETH_MII_100TXHD 0x00000080 |
||||
#define GRETH_MII_10FD 0x00000040 |
||||
#define GRETH_MII_10HD 0x00000020 |
||||
|
||||
#define GRETH_BD_EN 0x800 |
||||
#define GRETH_BD_WR 0x1000 |
||||
#define GRETH_BD_IE 0x2000 |
||||
#define GRETH_BD_LEN 0x7FF |
||||
|
||||
#define GRETH_TXEN 0x1 |
||||
#define GRETH_INT_TX 0x8 |
||||
#define GRETH_TXI 0x4 |
||||
#define GRETH_TXBD_STATUS 0x0001C000 |
||||
#define GRETH_TXBD_MORE 0x20000 |
||||
#define GRETH_TXBD_IPCS 0x40000 |
||||
#define GRETH_TXBD_TCPCS 0x80000 |
||||
#define GRETH_TXBD_UDPCS 0x100000 |
||||
#define GRETH_TXBD_ERR_LC 0x10000 |
||||
#define GRETH_TXBD_ERR_UE 0x4000 |
||||
#define GRETH_TXBD_ERR_AL 0x8000 |
||||
#define GRETH_TXBD_NUM 128 |
||||
#define GRETH_TXBD_NUM_MASK (GRETH_TXBD_NUM-1) |
||||
#define GRETH_TX_BUF_SIZE 2048 |
||||
|
||||
#define GRETH_INT_RX 0x4 |
||||
#define GRETH_RXEN 0x2 |
||||
#define GRETH_RXI 0x8 |
||||
#define GRETH_RXBD_STATUS 0xFFFFC000 |
||||
#define GRETH_RXBD_ERR_AE 0x4000 |
||||
#define GRETH_RXBD_ERR_FT 0x8000 |
||||
#define GRETH_RXBD_ERR_CRC 0x10000 |
||||
#define GRETH_RXBD_ERR_OE 0x20000 |
||||
#define GRETH_RXBD_ERR_LE 0x40000 |
||||
#define GRETH_RXBD_IP_DEC 0x80000 |
||||
#define GRETH_RXBD_IP_CSERR 0x100000 |
||||
#define GRETH_RXBD_UDP_DEC 0x200000 |
||||
#define GRETH_RXBD_UDP_CSERR 0x400000 |
||||
#define GRETH_RXBD_TCP_DEC 0x800000 |
||||
#define GRETH_RXBD_TCP_CSERR 0x1000000 |
||||
|
||||
#define GRETH_RXBD_NUM 128 |
||||
#define GRETH_RXBD_NUM_MASK (GRETH_RXBD_NUM-1) |
||||
#define GRETH_RX_BUF_SIZE 2048 |
||||
|
||||
/* Ethernet configuration registers */ |
||||
typedef struct _greth_regs { |
||||
volatile unsigned int control; |
||||
volatile unsigned int status; |
||||
volatile unsigned int esa_msb; |
||||
volatile unsigned int esa_lsb; |
||||
volatile unsigned int mdio; |
||||
volatile unsigned int tx_desc_p; |
||||
volatile unsigned int rx_desc_p; |
||||
volatile unsigned int edcl_ip; |
||||
} greth_regs; |
||||
|
||||
/* Ethernet buffer descriptor */ |
||||
typedef struct _greth_bd { |
||||
volatile unsigned int stat; |
||||
unsigned int addr; /* Buffer address not changed by HW */ |
||||
} greth_bd; |
||||
|
||||
#endif |
@ -0,0 +1,23 @@ |
||||
/* GRLIB IRQMP (IRQ Multi-processor controller) definitions
|
||||
* |
||||
* (C) Copyright 2010, 2015 |
||||
* Daniel Hellstrom, Cobham Gaisler, daniel@gaisler.com |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#ifndef __GRLIB_IRQMP_H__ |
||||
#define __GRLIB_IRQMP_H__ |
||||
|
||||
typedef struct { |
||||
volatile unsigned int ilevel; |
||||
volatile unsigned int ipend; |
||||
volatile unsigned int iforce; |
||||
volatile unsigned int iclear; |
||||
volatile unsigned int mstatus; |
||||
volatile unsigned int notused[11]; |
||||
volatile unsigned int cpu_mask[16]; |
||||
volatile unsigned int cpu_force[16]; |
||||
} ambapp_dev_irqmp; |
||||
|
||||
#endif |
Loading…
Reference in new issue