Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:45

0001 /**
0002  *  @file
0003  *
0004  *  @ingroup RTEMSBSPsM68kGen68360
0005  *
0006  *  @brief Board Support Package for `Generic' Motorola MC68360
0007  */
0008 
0009 /*
0010  * Copyright (c) 1996 Eric Norum <eric@norum.ca>
0011  *
0012  * COPYRIGHT (c) 1989-1999.
0013  * On-Line Applications Research Corporation (OAR).
0014  *
0015  * The license and distribution terms for this file may be
0016  * found in the file LICENSE in this distribution or at
0017  * http://www.rtems.org/license/LICENSE.
0018  */
0019 
0020 #ifndef LIBBSP_M68K_GEN68360_BSP_H
0021 #define LIBBSP_M68K_GEN68360_BSP_H
0022 
0023 /**
0024  * @defgroup RTEMSBSPsM68kGen68360 Motorola 68360
0025  *
0026  * @ingroup RTEMSBSPsM68k
0027  *
0028  * @brief Motorola 68360 Board Support Package.
0029  *
0030  * @{
0031  */
0032 
0033 #include <bspopts.h>
0034 #include <bsp/default-initial-extension.h>
0035 
0036 #include <rtems.h>
0037 
0038 #ifdef __cplusplus
0039 extern "C" {
0040 #endif
0041 
0042 struct rtems_bsdnet_ifconfig;
0043 extern int rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config, int attaching);
0044 #define RTEMS_BSP_NETWORK_DRIVER_NAME   "scc1"
0045 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_scc1_driver_attach
0046 
0047 extern rtems_isr_entry M68Kvec[];   /* vector table address */
0048 
0049 /* functions */
0050 
0051 void M360ExecuteRISC( uint16_t         command );
0052 void *M360AllocateBufferDescriptors( int count );
0053 void *M360AllocateRiscTimers( int count );
0054 extern char M360DefaultWatchdogFeeder;
0055 
0056 extern int m360_clock_rate; /* BRG clock rate, defined in console.c */
0057 
0058 rtems_isr_entry set_vector(
0059   rtems_isr_entry     handler,
0060   rtems_vector_number vector,
0061   int                 type
0062 );
0063 
0064 /*
0065  * Definitions for Atlas Computer Equipment Inc. High Speed Bridge (HSB)
0066  */
0067 #define ATLASHSB_ESR    0x20010000L
0068 #define ATLASHSB_USICR  0x20010001L
0069 #define ATLASHSB_DSRR   0x20010002L
0070 #define ATLASHSB_LED4   0x20010004L
0071 #define ATLASHSB_ROM_U6 0xFF080000L /* U6 flash ROM socket */
0072 
0073 
0074 /*
0075  * definitions for PGH360 board
0076  */
0077 #if defined(PGH360)
0078 /*
0079  * logical SPI addresses of SPI slaves available
0080  */
0081 #define PGH360_SPI_ADDR_EEPROM     0
0082 #define PGH360_SPI_ADDR_DISP4_DATA 1
0083 #define PGH360_SPI_ADDR_DISP4_CTRL 2
0084 
0085 /*
0086  * Port B bit locations of SPI slave selects
0087  */
0088 #define PGH360_PB_SPI_DISP4_RS_MSK   (1<<15)
0089 #define PGH360_PB_SPI_DISP4_CE_MSK   (1<<14)
0090 #define PGH360_PB_SPI_EEP_CE_MSK     (1<< 0)
0091 #endif /* defined(PGH360) */
0092 
0093 /*
0094  * Prototypes for BSP methods which cross file boundaries
0095  */
0096 void _Init68360(void);
0097 
0098 #ifdef __cplusplus
0099 }
0100 #endif
0101 
0102 /** @} */
0103 
0104 #endif