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