File indexing completed on 2025-05-11 08:23:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #ifndef LIBBSP_BEATNIK_BSP_H
0026 #define LIBBSP_BEATNIK_BSP_H
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 #ifndef ASM
0039
0040 #include <bspopts.h>
0041 #include <bsp/default-initial-extension.h>
0042
0043 #include <rtems.h>
0044 #include <libcpu/io.h>
0045 #include <bsp/vectors.h>
0046
0047 #ifdef __cplusplus
0048 extern "C" {
0049 #endif
0050
0051
0052 typedef enum {
0053 Unknown = 0,
0054 MVME5500,
0055 MVME6100
0056 } BSP_BoardType;
0057
0058 BSP_BoardType BSP_getBoardType(void);
0059
0060
0061
0062 typedef enum {
0063 unknown = 0,
0064 GT_64260_A,
0065 GT_64260_B,
0066 MV_64360,
0067 } DiscoveryVersion;
0068
0069
0070
0071
0072
0073
0074
0075 DiscoveryVersion BSP_getDiscoveryVersion(int assertion);
0076
0077
0078
0079
0080
0081 #define BSP_INTERRUPT_STACK_SIZE (16 * 1024)
0082
0083
0084
0085
0086 #define BSP_MV64x60_BASE (0xf1000000)
0087 #define BSP_MV64x60_DEV1_BASE (0xf1100000)
0088 #define BSP_UART_IOBASE_COM1 ((BSP_MV64x60_DEV1_BASE)+0x20000)
0089 #define BSP_UART_IOBASE_COM2 ((BSP_MV64x60_DEV1_BASE)+0x21000)
0090 #define BSP_UART_USE_SHARED_IRQS
0091
0092 #define BSP_NVRAM_BASE_ADDR (0xf1110000)
0093 #define BSP_NVRAM_END_ADDR (0xf1117fff)
0094 #define BSP_NVRAM_RTC_START (0xf1117ff8)
0095
0096 #define BSP_NVRAM_BOOTPARMS_START (0xf1111000)
0097 #define BSP_NVRAM_BOOTPARMS_END (0xf1111fff)
0098
0099
0100
0101
0102
0103
0104
0105
0106 #define PCI_CONFIG_ADDR (BSP_MV64x60_BASE + 0xcf8)
0107 #define PCI_CONFIG_DATA (BSP_MV64x60_BASE + 0xcfc)
0108
0109
0110
0111
0112
0113 #define _IO_BASE 0x00000000
0114
0115
0116
0117 #define PCI_MEM_BASE 0
0118 #define PCI_MEM_BASE_ADJUSTMENT 0
0119 #define PCI_DRAM_OFFSET 0
0120
0121 extern void BSP_motload_pci_fixup(void);
0122
0123
0124
0125
0126
0127
0128 #define BSP_PCI2LOCAL_ADDR(a) ((uint32_t)(a))
0129 #define BSP_LOCAL2PCI_ADDR(a) ((uint32_t)(a))
0130
0131 #define BSP_CONFIG_NUM_PCI_CACHE_SLOTS 32
0132
0133 #define BSP_CONSOLE_PORT BSP_UART_COM1
0134 #define BSP_UART_BAUD_BASE 115200
0135
0136
0137
0138
0139
0140 #define BSP_VPD_I2C_ADDR (0xA8>>1)
0141 #define BSP_USR_I2C_ADDR (0xAA>>1)
0142 #define BSP_THM_I2C_ADDR (0x90>>1)
0143
0144 #define BSP_I2C_BUS_DESCRIPTOR gt64260_i2c_bus_descriptor
0145
0146 #define BSP_I2C_BUS0_NAME "/dev/i2c0"
0147
0148 #define BSP_I2C_VPD_EEPROM_NAME "vpd-eeprom"
0149 #define BSP_I2C_USR_EEPROM_NAME "usr-eeprom"
0150 #define BSP_I2C_DS1621_NAME "ds1621"
0151 #define BSP_I2C_THM_NAME BSP_I2C_DS1621_NAME
0152 #define BSP_I2C_DS1621_RAW_NAME "ds1621-raw"
0153
0154 #define BSP_I2C_VPD_EEPROM_DEV_NAME (BSP_I2C_BUS0_NAME ", " BSP_I2C_VPD_EEPROM_NAME)
0155 #define BSP_I2C_USR_EEPROM_DEV_NAME (BSP_I2C_BUS0_NAME ", " BSP_I2C_USR_EEPROM_NAME)
0156 #define BSP_I2C_DS1621_DEV_NAME (BSP_I2C_BUS0_NAME ", " BSP_I2C_DS1621_NAME)
0157 #define BSP_I2C_THM_DEV_NAME BSP_I2C_DS1621_DEV_NAME
0158 #define BSP_I2C_DS1621_RAW_DEV_NAME (BSP_I2C_BUS0_NAME ", " BSP_I2C_DS1621_RAW_NAME)
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173 int BSP_i2c_initialize(void);
0174
0175
0176 #include <bsp/bsp_bsdnet_attach.h>
0177 int rtems_em_attach(struct rtems_bsdnet_ifconfig *, int);
0178 int rtems_dec21140_driver_attach(struct rtems_bsdnet_ifconfig *, int);
0179 int rtems_dc_driver_attach(struct rtems_bsdnet_ifconfig *, int);
0180
0181
0182 #define BSP_PCI_HOSE0_MEM_BASE 0x80000000
0183 #define BSP_PCI_HOSE0_MEM_SIZE 0x20000000
0184
0185 #define BSP_PCI_HOSE1_MEM_BASE 0xe0000000
0186
0187 #define BSP_DEV_AND_PCI_IO_BASE 0xf0000000
0188 #define BSP_DEV_AND_PCI_IO_SIZE 0x10000000
0189
0190
0191
0192
0193 #define BSP_RW_PAGE_ATTRIBUTES TRIV121_ATTR_M
0194
0195 extern unsigned BSP_pci_hose1_bus_base;
0196
0197 void BSP_pci_initialize(void);
0198
0199
0200
0201
0202
0203
0204 #define BSP_EXCEPTION_NOTEPAD 14
0205
0206 #ifndef ASM
0207
0208 #define outport_byte(port,value) outb(value,port)
0209 #define outport_word(port,value) outw(value,port)
0210 #define outport_long(port,value) outl(value,port)
0211
0212 #define inport_byte(port,value) (value = inb(port))
0213 #define inport_word(port,value) (value = inw(port))
0214 #define inport_long(port,value) (value = inl(port))
0215
0216
0217
0218
0219
0220
0221 extern unsigned int BSP_mem_size;
0222
0223
0224
0225 extern unsigned int BSP_heap_start;
0226
0227
0228
0229 extern unsigned int BSP_bus_frequency;
0230
0231
0232
0233 extern unsigned int BSP_processor_frequency;
0234
0235
0236
0237 extern unsigned int BSP_time_base_divisor;
0238
0239 extern char BSP_productIdent[20];
0240 extern char BSP_serialNumber[20];
0241
0242 extern char BSP_enetAddr0[7];
0243 extern char BSP_enetAddr1[7];
0244
0245
0246
0247
0248 extern char *BSP_commandline_string;
0249
0250
0251 #define BSP_Convert_decrementer( _value ) \
0252 ((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
0253
0254 extern int BSP_disconnect_clock_handler (void);
0255 extern int BSP_connect_clock_handler (void);
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265
0266
0267
0268
0269
0270
0271 extern unsigned long _BSP_clear_hostbridge_errors(int enableMCP, int quiet);
0272
0273
0274
0275
0276
0277
0278
0279
0280
0281 extern unsigned short (*_BSP_clear_vmebridge_errors)(int);
0282
0283
0284
0285
0286 void discovery_pic_set_debug_irq(int on);
0287 void discovery_pic_install_debug_irq(void);
0288
0289
0290
0291
0292 char *save_boot_params(
0293 void *r3,
0294 void *r4,
0295 void *r5,
0296 char *cmdline_start,
0297 char *cmdline_end
0298 );
0299 void zero_bss(void);
0300
0301
0302
0303
0304 uint32_t probeMemoryEnd(void);
0305
0306 #endif
0307
0308 #ifdef __cplusplus
0309 }
0310 #endif
0311
0312 #endif
0313
0314
0315
0316 #endif