Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
core_marvel.h File Reference
#include <linux/types.h>
#include <linux/spinlock.h>
#include <asm/compiler.h>

Go to the source code of this file.

Data Structures

struct  ev7_csr
 
struct  ev7_csrs
 
struct  io7_csr
 
struct  io7_ioport_csrs
 
struct  io7_port7_csrs
 
union  IO7_POx_WBASE
 
union  IO7_IID
 

Macros

#define MARVEL_MAX_PIDS   32 /* as long as we rely on 43-bit superpage */
 
#define MARVEL_IRQ_VEC_PE_SHIFT   (10)
 
#define MARVEL_IRQ_VEC_IRQ_MASK   ((1 << MARVEL_IRQ_VEC_PE_SHIFT) - 1)
 
#define MARVEL_NR_IRQS   (16 + (MARVEL_MAX_PIDS * (1 << MARVEL_IRQ_VEC_PE_SHIFT)))
 
#define EV7_MASK40(addr)   ((addr) & ((1UL << 41) - 1))
 
#define EV7_KERN_ADDR(addr)   ((void *)(IDENT_ADDR | EV7_MASK40(addr)))
 
#define EV7_PE_MASK   0x1ffUL /* 9 bits ( 256 + mem/io ) */
 
#define EV7_IPE(pe)   ((~((long)(pe)) & EV7_PE_MASK) << 35)
 
#define EV7_CSR_PHYS(pe, off)   (EV7_IPE(pe) | (0x7FFCUL << 20) | (off))
 
#define EV7_CSRS_PHYS(pe)   (EV7_CSR_PHYS(pe, 0UL))
 
#define EV7_CSR_KERN(pe, off)   (EV7_KERN_ADDR(EV7_CSR_PHYS(pe, off)))
 
#define EV7_CSRS_KERN(pe)   (EV7_KERN_ADDR(EV7_CSRS_PHYS(pe)))
 
#define EV7_CSR_OFFSET(name)   ((unsigned long)&((ev7_csrs *)NULL)->name.csr)
 
#define wbase_m_ena   0x1
 
#define wbase_m_sg   0x2
 
#define wbase_m_dac   0x4
 
#define wbase_m_addr   0xFFF00000
 
#define IO7_KERN_ADDR(addr)   (EV7_KERN_ADDR(addr))
 
#define IO7_PORT_MASK   0x07UL /* 3 bits of port */
 
#define IO7_IPE(pe)   (EV7_IPE(pe))
 
#define IO7_IPORT(port)   ((~((long)(port)) & IO7_PORT_MASK) << 32)
 
#define IO7_HOSE(pe, port)   (IO7_IPE(pe) | IO7_IPORT(port))
 
#define IO7_MEM_PHYS(pe, port)   (IO7_HOSE(pe, port) | 0x00000000UL)
 
#define IO7_CONF_PHYS(pe, port)   (IO7_HOSE(pe, port) | 0xFE000000UL)
 
#define IO7_IO_PHYS(pe, port)   (IO7_HOSE(pe, port) | 0xFF000000UL)
 
#define IO7_CSR_PHYS(pe, port, off)   (IO7_HOSE(pe, port) | 0xFF800000UL | (off))
 
#define IO7_CSRS_PHYS(pe, port)   (IO7_CSR_PHYS(pe, port, 0UL))
 
#define IO7_PORT7_CSRS_PHYS(pe)   (IO7_CSR_PHYS(pe, 7, 0x300000UL))
 
#define IO7_MEM_KERN(pe, port)   (IO7_KERN_ADDR(IO7_MEM_PHYS(pe, port)))
 
#define IO7_CONF_KERN(pe, port)   (IO7_KERN_ADDR(IO7_CONF_PHYS(pe, port)))
 
#define IO7_IO_KERN(pe, port)   (IO7_KERN_ADDR(IO7_IO_PHYS(pe, port)))
 
#define IO7_CSR_KERN(pe, port, off)   (IO7_KERN_ADDR(IO7_CSR_PHYS(pe,port,off)))
 
#define IO7_CSRS_KERN(pe, port)   (IO7_KERN_ADDR(IO7_CSRS_PHYS(pe, port)))
 
#define IO7_PORT7_CSRS_KERN(pe)   (IO7_KERN_ADDR(IO7_PORT7_CSRS_PHYS(pe)))
 
#define IO7_PLL_RNGA(pll)   (((pll) >> 3) & 0x7)
 
#define IO7_PLL_RNGB(pll)   (((pll) >> 6) & 0x7)
 
#define IO7_MEM_SPACE   (2UL * 1024 * 1024 * 1024) /* 2GB MEM */
 
#define IO7_IO_SPACE   (8UL * 1024 * 1024) /* 8MB I/O */
 
#define IO7_DAC_OFFSET   (1UL << 49)
 
#define MARVEL_IACK_SC
 

Macro Definition Documentation

#define EV7_CSR_KERN (   pe,
  off 
)    (EV7_KERN_ADDR(EV7_CSR_PHYS(pe, off)))

Definition at line 61 of file core_marvel.h.

#define EV7_CSR_OFFSET (   name)    ((unsigned long)&((ev7_csrs *)NULL)->name.csr)

Definition at line 64 of file core_marvel.h.

#define EV7_CSR_PHYS (   pe,
  off 
)    (EV7_IPE(pe) | (0x7FFCUL << 20) | (off))

Definition at line 58 of file core_marvel.h.

#define EV7_CSRS_KERN (   pe)    (EV7_KERN_ADDR(EV7_CSRS_PHYS(pe)))

Definition at line 62 of file core_marvel.h.

#define EV7_CSRS_PHYS (   pe)    (EV7_CSR_PHYS(pe, 0UL))

Definition at line 59 of file core_marvel.h.

#define EV7_IPE (   pe)    ((~((long)(pe)) & EV7_PE_MASK) << 35)

Definition at line 56 of file core_marvel.h.

#define EV7_KERN_ADDR (   addr)    ((void *)(IDENT_ADDR | EV7_MASK40(addr)))

Definition at line 53 of file core_marvel.h.

#define EV7_MASK40 (   addr)    ((addr) & ((1UL << 41) - 1))

Definition at line 52 of file core_marvel.h.

#define EV7_PE_MASK   0x1ffUL /* 9 bits ( 256 + mem/io ) */

Definition at line 55 of file core_marvel.h.

#define IO7_CONF_KERN (   pe,
  port 
)    (IO7_KERN_ADDR(IO7_CONF_PHYS(pe, port)))

Definition at line 262 of file core_marvel.h.

#define IO7_CONF_PHYS (   pe,
  port 
)    (IO7_HOSE(pe, port) | 0xFE000000UL)

Definition at line 254 of file core_marvel.h.

#define IO7_CSR_KERN (   pe,
  port,
  off 
)    (IO7_KERN_ADDR(IO7_CSR_PHYS(pe,port,off)))

Definition at line 264 of file core_marvel.h.

#define IO7_CSR_PHYS (   pe,
  port,
  off 
)    (IO7_HOSE(pe, port) | 0xFF800000UL | (off))

Definition at line 256 of file core_marvel.h.

#define IO7_CSRS_KERN (   pe,
  port 
)    (IO7_KERN_ADDR(IO7_CSRS_PHYS(pe, port)))

Definition at line 265 of file core_marvel.h.

#define IO7_CSRS_PHYS (   pe,
  port 
)    (IO7_CSR_PHYS(pe, port, 0UL))

Definition at line 258 of file core_marvel.h.

#define IO7_DAC_OFFSET   (1UL << 49)

Definition at line 278 of file core_marvel.h.

#define IO7_HOSE (   pe,
  port 
)    (IO7_IPE(pe) | IO7_IPORT(port))

Definition at line 251 of file core_marvel.h.

#define IO7_IO_KERN (   pe,
  port 
)    (IO7_KERN_ADDR(IO7_IO_PHYS(pe, port)))

Definition at line 263 of file core_marvel.h.

#define IO7_IO_PHYS (   pe,
  port 
)    (IO7_HOSE(pe, port) | 0xFF000000UL)

Definition at line 255 of file core_marvel.h.

#define IO7_IO_SPACE   (8UL * 1024 * 1024) /* 8MB I/O */

Definition at line 272 of file core_marvel.h.

#define IO7_IPE (   pe)    (EV7_IPE(pe))

Definition at line 248 of file core_marvel.h.

#define IO7_IPORT (   port)    ((~((long)(port)) & IO7_PORT_MASK) << 32)

Definition at line 249 of file core_marvel.h.

#define IO7_KERN_ADDR (   addr)    (EV7_KERN_ADDR(addr))

Definition at line 244 of file core_marvel.h.

#define IO7_MEM_KERN (   pe,
  port 
)    (IO7_KERN_ADDR(IO7_MEM_PHYS(pe, port)))

Definition at line 261 of file core_marvel.h.

#define IO7_MEM_PHYS (   pe,
  port 
)    (IO7_HOSE(pe, port) | 0x00000000UL)

Definition at line 253 of file core_marvel.h.

#define IO7_MEM_SPACE   (2UL * 1024 * 1024 * 1024) /* 2GB MEM */

Definition at line 271 of file core_marvel.h.

#define IO7_PLL_RNGA (   pll)    (((pll) >> 3) & 0x7)

Definition at line 268 of file core_marvel.h.

#define IO7_PLL_RNGB (   pll)    (((pll) >> 6) & 0x7)

Definition at line 269 of file core_marvel.h.

#define IO7_PORT7_CSRS_KERN (   pe)    (IO7_KERN_ADDR(IO7_PORT7_CSRS_PHYS(pe)))

Definition at line 266 of file core_marvel.h.

#define IO7_PORT7_CSRS_PHYS (   pe)    (IO7_CSR_PHYS(pe, 7, 0x300000UL))

Definition at line 259 of file core_marvel.h.

#define IO7_PORT_MASK   0x07UL /* 3 bits of port */

Definition at line 246 of file core_marvel.h.

#define MARVEL_IACK_SC
Value:
((unsigned long) \
(&(((io7_ioport_csrs *)IO7_CSRS_KERN(0, 0))->POx_IACK_SPECIAL)))

Definition at line 283 of file core_marvel.h.

#define MARVEL_IRQ_VEC_IRQ_MASK   ((1 << MARVEL_IRQ_VEC_PE_SHIFT) - 1)

Definition at line 21 of file core_marvel.h.

#define MARVEL_IRQ_VEC_PE_SHIFT   (10)

Definition at line 20 of file core_marvel.h.

#define MARVEL_MAX_PIDS   32 /* as long as we rely on 43-bit superpage */

Definition at line 19 of file core_marvel.h.

#define MARVEL_NR_IRQS   (16 + (MARVEL_MAX_PIDS * (1 << MARVEL_IRQ_VEC_PE_SHIFT)))

Definition at line 22 of file core_marvel.h.

#define wbase_m_addr   0xFFF00000

Definition at line 207 of file core_marvel.h.

#define wbase_m_dac   0x4

Definition at line 206 of file core_marvel.h.

#define wbase_m_ena   0x1

Definition at line 204 of file core_marvel.h.

#define wbase_m_sg   0x2

Definition at line 205 of file core_marvel.h.