37#ifndef LIBBSP_MIPS_MALTA_BSP_H
38#define LIBBSP_MIPS_MALTA_BSP_H
61#define BSP_FEATURE_IRQ_EXTENSION
62#define BSP_SHARED_HANDLER_SUPPORT 1
64#define REVISION_REGISTER_ADDRESS 0x1fc00010
65#define PRORV_MASK 0x0000000f
66#define PROID_MASK 0x000000f0
67#define CORRV_MASK 0x00000300
68#define CORID_MASK 0x0000fc00
69#define FPGRV_MASK 0x00ff0000
70#define BSP_8259_BASE_ADDRESS (0x18000000UL | 0xa0000000UL)
71#define BSP_PCI_BASE_ADDRESS (0x1be00000UL | 0xa0000000UL)
72#define BSP_NIC_IO_BASE (0x10000000UL | 0xa0000000UL)
73#define PCI0_IO_BASE (0x18000000UL | 0xa0000000UL)
74#define BSP_NIC_MEM_BASE (0x00000000UL | 0xa0000000UL)
77#define WRITE_PROTECTED_UINT8( _addr, _value ) \
79 volatile uint8_t *_ptr = _addr | 0x80000000; \
82#define WRITE_PROTECTED_UINT16( _addr, _value ) \
84 volatile uint16_t *_ptr = _addr | 0x80000000; \
87#define WRITE_PROTECTED_UINT32( _addr, _value ) \
89 volatile uint32_t *_ptr = _addr | 0x80000000; \
92#define READ_PROTECTED_UINT8( _addr, _value ) \
94 volatile uint8_t *_ptr = _addr | 0x80000000; \
97#define READ_PROTECTED_UINT16( _addr, _value ) \
99 volatile uint16_t *_ptr = _addr | 0x80000000; \
102#define READ_PROTECTED_UINT32( _addr, _value ) \
104 volatile uint32_t *_ptr = _addr | 0x80000000; \
108#define READ_UINT8( _register_, _value_ ) \
109 ((_value_) = *((volatile unsigned char *)(_register_)))
111#define WRITE_UINT8( _register_, _value_ ) \
112 (*((volatile unsigned char *)(_register_)) = (_value_))
114#define READ_UINT16( _register_, _value_ ) \
115 ((_value_) = *((volatile unsigned short *)(_register_)))
117#define WRITE_UINT16( _register_, _value_ ) \
118 (*((volatile unsigned short *)(_register_)) = (_value_))
120void simple_out_32(uint32_t base, uint32_t addr, uint32_t val);
121void simple_out_le32(uint32_t base, uint32_t addr, uint32_t val);
122uint8_t simple_in_8( uint32_t base, uint32_t addr );
123void simple_out_8( uint32_t base, uint32_t addr, uint8_t val );
124int16_t simple_in_le16( uint32_t base, uint32_t addr );
125int16_t simple_in_16( uint32_t base, uint32_t addr );
126uint32_t simple_in_le32( uint32_t base, uint32_t addr );
127uint32_t simple_in_32( uint32_t base, uint32_t addr );
128void simple_out_le16( uint32_t base, uint32_t addr, uint16_t val );
129void simple_out_16( uint32_t base, uint32_t addr, uint16_t val );
This header file provides the default definition of BSP_INITIAL_EXTENSION.
This header file defines the RTEMS Classic API.