Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
leon_amba.h File Reference

Go to the source code of this file.

Data Structures

struct  amba_prom_registers
 
struct  leon3_irqctrl_regs_map
 
struct  leon3_apbuart_regs_map
 
struct  leon3_gptimerelem_regs_map
 
struct  leon3_gptimer_regs_map
 
struct  amba_device_table
 
struct  amba_apbslv_device_table
 
struct  amba_confarea_type
 
struct  amba_apb_device
 
struct  amba_ahb_device
 

Macros

#define LEON_REG_UART_STATUS_DR   0x00000001 /* Data Ready */
 
#define LEON_REG_UART_STATUS_TSE   0x00000002 /* TX Send Register Empty */
 
#define LEON_REG_UART_STATUS_THE   0x00000004 /* TX Hold Register Empty */
 
#define LEON_REG_UART_STATUS_BR   0x00000008 /* Break Error */
 
#define LEON_REG_UART_STATUS_OE   0x00000010 /* RX Overrun Error */
 
#define LEON_REG_UART_STATUS_PE   0x00000020 /* RX Parity Error */
 
#define LEON_REG_UART_STATUS_FE   0x00000040 /* RX Framing Error */
 
#define LEON_REG_UART_STATUS_ERR   0x00000078 /* Error Mask */
 
#define LEON_REG_UART_CTRL_RE   0x00000001 /* Receiver enable */
 
#define LEON_REG_UART_CTRL_TE   0x00000002 /* Transmitter enable */
 
#define LEON_REG_UART_CTRL_RI   0x00000004 /* Receiver interrupt enable */
 
#define LEON_REG_UART_CTRL_TI   0x00000008 /* Transmitter irq */
 
#define LEON_REG_UART_CTRL_PS   0x00000010 /* Parity select */
 
#define LEON_REG_UART_CTRL_PE   0x00000020 /* Parity enable */
 
#define LEON_REG_UART_CTRL_FL   0x00000040 /* Flow control enable */
 
#define LEON_REG_UART_CTRL_LB   0x00000080 /* Loop Back enable */
 
#define LEON3_GPTIMER_EN   1
 
#define LEON3_GPTIMER_RL   2
 
#define LEON3_GPTIMER_LD   4
 
#define LEON3_GPTIMER_IRQEN   8
 
#define LEON3_GPTIMER_SEPIRQ   8
 
#define LEON23_REG_TIMER_CONTROL_EN   0x00000001 /* 1 = enable counting */
 
#define LEON23_REG_TIMER_CONTROL_RL   0x00000002 /* 1 = reload at 0 */
 
#define LEON23_REG_TIMER_CONTROL_LD   0x00000004 /* 1 = load counter */
 
#define LEON23_REG_TIMER_CONTROL_IQ   0x00000008 /* 1 = irq enable */
 
#define LEON_REG_PS2_STATUS_DR   0x00000001 /* Data Ready */
 
#define LEON_REG_PS2_STATUS_PE   0x00000002 /* Parity error */
 
#define LEON_REG_PS2_STATUS_FE   0x00000004 /* Framing error */
 
#define LEON_REG_PS2_STATUS_KI   0x00000008 /* Keyboard inhibit */
 
#define LEON_REG_PS2_STATUS_RF   0x00000010 /* RX buffer full */
 
#define LEON_REG_PS2_STATUS_TF   0x00000020 /* TX buffer full */
 
#define LEON_REG_PS2_CTRL_RE   0x00000001 /* Receiver enable */
 
#define LEON_REG_PS2_CTRL_TE   0x00000002 /* Transmitter enable */
 
#define LEON_REG_PS2_CTRL_RI   0x00000004 /* Keyboard receive irq */
 
#define LEON_REG_PS2_CTRL_TI   0x00000008 /* Keyboard transmit irq */
 
#define LEON3_IRQMPSTATUS_CPUNR   28
 
#define LEON3_IRQMPSTATUS_BROADCAST   27
 
#define GPTIMER_CONFIG_IRQNT(a)   (((a) >> 3) & 0x1f)
 
#define GPTIMER_CONFIG_ISSEP(a)   ((a) & (1 << 8))
 
#define GPTIMER_CONFIG_NTIMERS(a)   ((a) & (0x7))
 
#define LEON3_GPTIMER_CTRL_PENDING   0x10
 
#define LEON3_GPTIMER_CONFIG_NRTIMERS(c)   ((c)->config & 0x7)
 
#define LEON3_GPTIMER_CTRL_ISPENDING(r)   (((r)&LEON3_GPTIMER_CTRL_PENDING) ? 1 : 0)
 
#define AMBA_MAXAPB_DEVS   64
 
#define AMBA_MAXAPB_DEVS_PERBUS   16
 
#define LEON3_IO_AREA   0xfff00000
 
#define LEON3_CONF_AREA   0xff000
 
#define LEON3_AHB_SLAVE_CONF_AREA   (1 << 11)
 
#define LEON3_AHB_CONF_WORDS   8
 
#define LEON3_APB_CONF_WORDS   2
 
#define LEON3_AHB_MASTERS   16
 
#define LEON3_AHB_SLAVES   16
 
#define LEON3_APB_SLAVES   16
 
#define LEON3_APBUARTS   8
 
#define VENDOR_GAISLER   1
 
#define VENDOR_PENDER   2
 
#define VENDOR_ESA   4
 
#define VENDOR_OPENCORES   8
 
#define GAISLER_LEON3   0x003
 
#define GAISLER_LEON3DSU   0x004
 
#define GAISLER_ETHAHB   0x005
 
#define GAISLER_APBMST   0x006
 
#define GAISLER_AHBUART   0x007
 
#define GAISLER_SRCTRL   0x008
 
#define GAISLER_SDCTRL   0x009
 
#define GAISLER_APBUART   0x00C
 
#define GAISLER_IRQMP   0x00D
 
#define GAISLER_AHBRAM   0x00E
 
#define GAISLER_GPTIMER   0x011
 
#define GAISLER_PCITRG   0x012
 
#define GAISLER_PCISBRG   0x013
 
#define GAISLER_PCIFBRG   0x014
 
#define GAISLER_PCITRACE   0x015
 
#define GAISLER_PCIDMA   0x016
 
#define GAISLER_AHBTRACE   0x017
 
#define GAISLER_ETHDSU   0x018
 
#define GAISLER_PIOPORT   0x01A
 
#define GAISLER_GRGPIO   0x01A
 
#define GAISLER_AHBJTAG   0x01c
 
#define GAISLER_ETHMAC   0x01D
 
#define GAISLER_AHB2AHB   0x020
 
#define GAISLER_USBDC   0x021
 
#define GAISLER_ATACTRL   0x024
 
#define GAISLER_DDRSPA   0x025
 
#define GAISLER_USBEHC   0x026
 
#define GAISLER_USBUHC   0x027
 
#define GAISLER_I2CMST   0x028
 
#define GAISLER_SPICTRL   0x02D
 
#define GAISLER_DDR2SPA   0x02E
 
#define GAISLER_SPIMCTRL   0x045
 
#define GAISLER_LEON4   0x048
 
#define GAISLER_LEON4DSU   0x049
 
#define GAISLER_AHBSTAT   0x052
 
#define GAISLER_FTMCTRL   0x054
 
#define GAISLER_KBD   0x060
 
#define GAISLER_VGA   0x061
 
#define GAISLER_SVGA   0x063
 
#define GAISLER_GRSYSMON   0x066
 
#define GAISLER_GRACECTRL   0x067
 
#define GAISLER_L2TIME   0xffd /* internal device: leon2 timer */
 
#define GAISLER_L2C   0xffe /* internal device: leon2compat */
 
#define GAISLER_PLUGPLAY   0xfff /* internal device: plug & play configarea */
 
#define AEROFLEX_UT699   0x0699
 
#define LEON4_NEXTREME1   0x0102
 
#define GAISLER_GR712RC   0x0712
 
#define amba_vendor(x)   (((x) >> 24) & 0xff)
 
#define amba_device(x)   (((x) >> 12) & 0xfff)
 

Functions

void _amba_init (struct device_node *dp, struct device_node ***nextp)
 

Variables

unsigned long amba_system_id
 
struct leon3_irqctrl_regs_mapleon3_irqctrl_regs
 
struct leon3_gptimer_regs_mapleon3_gptimer_regs
 
struct amba_apb_device leon_percpu_timer_dev [16]
 
int leondebug_irq_disable
 
int leon_debug_irqout
 
unsigned long leon3_gptimer_irq
 
unsigned int sparc_leon_eirq
 

Macro Definition Documentation

#define AEROFLEX_UT699   0x0699

Definition at line 257 of file leon_amba.h.

#define amba_device (   x)    (((x) >> 12) & 0xfff)

Definition at line 263 of file leon_amba.h.

#define AMBA_MAXAPB_DEVS   64

Definition at line 141 of file leon_amba.h.

#define AMBA_MAXAPB_DEVS_PERBUS   16

Definition at line 142 of file leon_amba.h.

#define amba_vendor (   x)    (((x) >> 24) & 0xff)

Definition at line 261 of file leon_amba.h.

#define GAISLER_AHB2AHB   0x020

Definition at line 232 of file leon_amba.h.

#define GAISLER_AHBJTAG   0x01c

Definition at line 230 of file leon_amba.h.

#define GAISLER_AHBRAM   0x00E

Definition at line 219 of file leon_amba.h.

#define GAISLER_AHBSTAT   0x052

Definition at line 244 of file leon_amba.h.

#define GAISLER_AHBTRACE   0x017

Definition at line 226 of file leon_amba.h.

#define GAISLER_AHBUART   0x007

Definition at line 214 of file leon_amba.h.

#define GAISLER_APBMST   0x006

Definition at line 213 of file leon_amba.h.

#define GAISLER_APBUART   0x00C

Definition at line 217 of file leon_amba.h.

#define GAISLER_ATACTRL   0x024

Definition at line 234 of file leon_amba.h.

#define GAISLER_DDR2SPA   0x02E

Definition at line 240 of file leon_amba.h.

#define GAISLER_DDRSPA   0x025

Definition at line 235 of file leon_amba.h.

#define GAISLER_ETHAHB   0x005

Definition at line 212 of file leon_amba.h.

#define GAISLER_ETHDSU   0x018

Definition at line 227 of file leon_amba.h.

#define GAISLER_ETHMAC   0x01D

Definition at line 231 of file leon_amba.h.

#define GAISLER_FTMCTRL   0x054

Definition at line 245 of file leon_amba.h.

#define GAISLER_GPTIMER   0x011

Definition at line 220 of file leon_amba.h.

#define GAISLER_GR712RC   0x0712

Definition at line 259 of file leon_amba.h.

#define GAISLER_GRACECTRL   0x067

Definition at line 250 of file leon_amba.h.

#define GAISLER_GRGPIO   0x01A

Definition at line 229 of file leon_amba.h.

#define GAISLER_GRSYSMON   0x066

Definition at line 249 of file leon_amba.h.

#define GAISLER_I2CMST   0x028

Definition at line 238 of file leon_amba.h.

#define GAISLER_IRQMP   0x00D

Definition at line 218 of file leon_amba.h.

#define GAISLER_KBD   0x060

Definition at line 246 of file leon_amba.h.

#define GAISLER_L2C   0xffe /* internal device: leon2compat */

Definition at line 253 of file leon_amba.h.

#define GAISLER_L2TIME   0xffd /* internal device: leon2 timer */

Definition at line 252 of file leon_amba.h.

#define GAISLER_LEON3   0x003

Definition at line 210 of file leon_amba.h.

#define GAISLER_LEON3DSU   0x004

Definition at line 211 of file leon_amba.h.

#define GAISLER_LEON4   0x048

Definition at line 242 of file leon_amba.h.

#define GAISLER_LEON4DSU   0x049

Definition at line 243 of file leon_amba.h.

#define GAISLER_PCIDMA   0x016

Definition at line 225 of file leon_amba.h.

#define GAISLER_PCIFBRG   0x014

Definition at line 223 of file leon_amba.h.

#define GAISLER_PCISBRG   0x013

Definition at line 222 of file leon_amba.h.

#define GAISLER_PCITRACE   0x015

Definition at line 224 of file leon_amba.h.

#define GAISLER_PCITRG   0x012

Definition at line 221 of file leon_amba.h.

#define GAISLER_PIOPORT   0x01A

Definition at line 228 of file leon_amba.h.

#define GAISLER_PLUGPLAY   0xfff /* internal device: plug & play configarea */

Definition at line 254 of file leon_amba.h.

#define GAISLER_SDCTRL   0x009

Definition at line 216 of file leon_amba.h.

#define GAISLER_SPICTRL   0x02D

Definition at line 239 of file leon_amba.h.

#define GAISLER_SPIMCTRL   0x045

Definition at line 241 of file leon_amba.h.

#define GAISLER_SRCTRL   0x008

Definition at line 215 of file leon_amba.h.

#define GAISLER_SVGA   0x063

Definition at line 248 of file leon_amba.h.

#define GAISLER_USBDC   0x021

Definition at line 233 of file leon_amba.h.

#define GAISLER_USBEHC   0x026

Definition at line 236 of file leon_amba.h.

#define GAISLER_USBUHC   0x027

Definition at line 237 of file leon_amba.h.

#define GAISLER_VGA   0x061

Definition at line 247 of file leon_amba.h.

#define GPTIMER_CONFIG_IRQNT (   a)    (((a) >> 3) & 0x1f)

Definition at line 83 of file leon_amba.h.

#define GPTIMER_CONFIG_ISSEP (   a)    ((a) & (1 << 8))

Definition at line 84 of file leon_amba.h.

#define GPTIMER_CONFIG_NTIMERS (   a)    ((a) & (0x7))

Definition at line 85 of file leon_amba.h.

#define LEON23_REG_TIMER_CONTROL_EN   0x00000001 /* 1 = enable counting */

Definition at line 51 of file leon_amba.h.

#define LEON23_REG_TIMER_CONTROL_IQ   0x00000008 /* 1 = irq enable */

Definition at line 57 of file leon_amba.h.

#define LEON23_REG_TIMER_CONTROL_LD   0x00000004 /* 1 = load counter */

Definition at line 55 of file leon_amba.h.

#define LEON23_REG_TIMER_CONTROL_RL   0x00000002 /* 1 = reload at 0 */

Definition at line 53 of file leon_amba.h.

#define LEON3_AHB_CONF_WORDS   8

Definition at line 196 of file leon_amba.h.

#define LEON3_AHB_MASTERS   16

Definition at line 198 of file leon_amba.h.

#define LEON3_AHB_SLAVE_CONF_AREA   (1 << 11)

Definition at line 194 of file leon_amba.h.

#define LEON3_AHB_SLAVES   16

Definition at line 199 of file leon_amba.h.

#define LEON3_APB_CONF_WORDS   2

Definition at line 197 of file leon_amba.h.

#define LEON3_APB_SLAVES   16

Definition at line 200 of file leon_amba.h.

#define LEON3_APBUARTS   8

Definition at line 201 of file leon_amba.h.

#define LEON3_CONF_AREA   0xff000

Definition at line 193 of file leon_amba.h.

#define LEON3_GPTIMER_CONFIG_NRTIMERS (   c)    ((c)->config & 0x7)

Definition at line 87 of file leon_amba.h.

#define LEON3_GPTIMER_CTRL_ISPENDING (   r)    (((r)&LEON3_GPTIMER_CTRL_PENDING) ? 1 : 0)

Definition at line 88 of file leon_amba.h.

#define LEON3_GPTIMER_CTRL_PENDING   0x10

Definition at line 86 of file leon_amba.h.

#define LEON3_GPTIMER_EN   1

Definition at line 45 of file leon_amba.h.

#define LEON3_GPTIMER_IRQEN   8

Definition at line 48 of file leon_amba.h.

#define LEON3_GPTIMER_LD   4

Definition at line 47 of file leon_amba.h.

#define LEON3_GPTIMER_RL   2

Definition at line 46 of file leon_amba.h.

#define LEON3_GPTIMER_SEPIRQ   8

Definition at line 49 of file leon_amba.h.

#define LEON3_IO_AREA   0xfff00000

Definition at line 192 of file leon_amba.h.

#define LEON3_IRQMPSTATUS_BROADCAST   27

Definition at line 81 of file leon_amba.h.

#define LEON3_IRQMPSTATUS_CPUNR   28

Definition at line 80 of file leon_amba.h.

#define LEON4_NEXTREME1   0x0102

Definition at line 258 of file leon_amba.h.

#define LEON_REG_PS2_CTRL_RE   0x00000001 /* Receiver enable */

Definition at line 75 of file leon_amba.h.

#define LEON_REG_PS2_CTRL_RI   0x00000004 /* Keyboard receive irq */

Definition at line 77 of file leon_amba.h.

#define LEON_REG_PS2_CTRL_TE   0x00000002 /* Transmitter enable */

Definition at line 76 of file leon_amba.h.

#define LEON_REG_PS2_CTRL_TI   0x00000008 /* Keyboard transmit irq */

Definition at line 78 of file leon_amba.h.

#define LEON_REG_PS2_STATUS_DR   0x00000001 /* Data Ready */

Definition at line 64 of file leon_amba.h.

#define LEON_REG_PS2_STATUS_FE   0x00000004 /* Framing error */

Definition at line 66 of file leon_amba.h.

#define LEON_REG_PS2_STATUS_KI   0x00000008 /* Keyboard inhibit */

Definition at line 67 of file leon_amba.h.

#define LEON_REG_PS2_STATUS_PE   0x00000002 /* Parity error */

Definition at line 65 of file leon_amba.h.

#define LEON_REG_PS2_STATUS_RF   0x00000010 /* RX buffer full */

Definition at line 68 of file leon_amba.h.

#define LEON_REG_PS2_STATUS_TF   0x00000020 /* TX buffer full */

Definition at line 69 of file leon_amba.h.

#define LEON_REG_UART_CTRL_FL   0x00000040 /* Flow control enable */

Definition at line 42 of file leon_amba.h.

#define LEON_REG_UART_CTRL_LB   0x00000080 /* Loop Back enable */

Definition at line 43 of file leon_amba.h.

#define LEON_REG_UART_CTRL_PE   0x00000020 /* Parity enable */

Definition at line 41 of file leon_amba.h.

#define LEON_REG_UART_CTRL_PS   0x00000010 /* Parity select */

Definition at line 40 of file leon_amba.h.

#define LEON_REG_UART_CTRL_RE   0x00000001 /* Receiver enable */

Definition at line 36 of file leon_amba.h.

#define LEON_REG_UART_CTRL_RI   0x00000004 /* Receiver interrupt enable */

Definition at line 38 of file leon_amba.h.

#define LEON_REG_UART_CTRL_TE   0x00000002 /* Transmitter enable */

Definition at line 37 of file leon_amba.h.

#define LEON_REG_UART_CTRL_TI   0x00000008 /* Transmitter irq */

Definition at line 39 of file leon_amba.h.

#define LEON_REG_UART_STATUS_BR   0x00000008 /* Break Error */

Definition at line 26 of file leon_amba.h.

#define LEON_REG_UART_STATUS_DR   0x00000001 /* Data Ready */

Definition at line 23 of file leon_amba.h.

#define LEON_REG_UART_STATUS_ERR   0x00000078 /* Error Mask */

Definition at line 30 of file leon_amba.h.

#define LEON_REG_UART_STATUS_FE   0x00000040 /* RX Framing Error */

Definition at line 29 of file leon_amba.h.

#define LEON_REG_UART_STATUS_OE   0x00000010 /* RX Overrun Error */

Definition at line 27 of file leon_amba.h.

#define LEON_REG_UART_STATUS_PE   0x00000020 /* RX Parity Error */

Definition at line 28 of file leon_amba.h.

#define LEON_REG_UART_STATUS_THE   0x00000004 /* TX Hold Register Empty */

Definition at line 25 of file leon_amba.h.

#define LEON_REG_UART_STATUS_TSE   0x00000002 /* TX Send Register Empty */

Definition at line 24 of file leon_amba.h.

#define VENDOR_ESA   4

Definition at line 206 of file leon_amba.h.

#define VENDOR_GAISLER   1

Definition at line 204 of file leon_amba.h.

#define VENDOR_OPENCORES   8

Definition at line 207 of file leon_amba.h.

#define VENDOR_PENDER   2

Definition at line 205 of file leon_amba.h.

Function Documentation

void _amba_init ( struct device_node dp,
struct device_node ***  nextp 
)

Variable Documentation

unsigned long amba_system_id

Definition at line 36 of file leon_kernel.c.

unsigned long leon3_gptimer_irq

Definition at line 39 of file leon_kernel.c.

struct leon3_gptimer_regs_map* leon3_gptimer_regs

Definition at line 31 of file leon_kernel.c.

struct leon3_irqctrl_regs_map* leon3_irqctrl_regs

Definition at line 30 of file leon_kernel.c.

int leon_debug_irqout

Definition at line 34 of file leon_kernel.c.

struct amba_apb_device leon_percpu_timer_dev[16]
int leondebug_irq_disable

Definition at line 33 of file leon_kernel.c.

unsigned int sparc_leon_eirq

Definition at line 42 of file leon_kernel.c.