diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-09-03 15:36:45 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-09-03 15:36:45 +0000 |
commit | 9ac98838d6b795fe8ec395cb385d9cca9cfc55b6 (patch) | |
tree | 83a35e6bc7cff998a9a23eeb26ca51d2c770c37a /c/src/lib/libbsp/powerpc/gen5200/mscan/mscan_int.h | |
parent | More CPU_CFLAGS: -meabi -msdata -fno-common (diff) | |
download | rtems-9ac98838d6b795fe8ec395cb385d9cca9cfc55b6.tar.bz2 |
Moved general MSCAN functions into
separate header and source files (include/mscan-base.h and
mscan/mscan-base.c). Formatted code.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen5200/mscan/mscan_int.h')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/mscan/mscan_int.h | 96 |
1 files changed, 7 insertions, 89 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan_int.h b/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan_int.h index e699c97d51..d9f1cc79b6 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan_int.h +++ b/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan_int.h @@ -17,7 +17,7 @@ | http://www.rtems.com/license/LICENSE. | | | +-----------------------------------------------------------------+ -| this file has to be included by the mscan driver | +| this file has to be included by the m driver | \*===============================================================*/ #ifndef __MSCAN_INT_H__ #define __MSCAN_INT_H__ @@ -26,13 +26,9 @@ extern "C" { #endif -#include "../mscan/mscan.h" +#include <bsp/mscan-base.h> -#define MIN_NO_OF_TQ 7 -#define NO_OF_TABLE_ENTRIES 4 -#define TSEG_1 1 -#define TSEG_2 2 -#define SJW 3 +#include "../mscan/mscan.h" #define MSCAN_RX_BUFF_NUM 4 #define MSCAN_TX_BUFF_NUM 3 @@ -45,12 +41,7 @@ extern "C" { #define CAN_BIT_RATE_MAX 1000000 #define CAN_BIT_RATE_MIN 100000 - #define CAN_BIT_RATE 100000 -#define CAN_MAX_NO_OF_TQ 25 -#define CAN_MAX_NO_OF_TQ_TSEG1 15 -#define CAN_MAX_NO_OF_TQ_TSEG2 7 -#define CAN_MAX_NO_OF_TQ_SJW 2 #define MSCAN_RX_BUFF_NOACTIVE (0 << 4) #define MSCAN_RX_BUFF_EMPTY (1 << 6) @@ -71,75 +62,11 @@ extern "C" { #define MSCAN_READ_RXBUFF_2 (1 << 2) #define MSCAN_READ_RXBUFF_3 (1 << 2) -#define CTL0_RXFRM (1 << 7) -#define CTL0_RXACT (1 << 6) -#define CTL0_CSWAI (1 << 5) -#define CTL0_SYNCH (1 << 4) -#define CTL0_TIME (1 << 3) -#define CTL0_WUPE (1 << 2) -#define CTL0_SLPRQ (1 << 1) -#define CTL0_INITRQ (1 << 0) - -#define CTL1_CANE (1 << 7) -#define CTL1_CLKSRC (1 << 6) -#define CTL1_LOOPB (1 << 5) -#define CTL1_LISTEN (1 << 4) -#define CTL1_WUPM (1 << 2) -#define CTL1_SLPAK (1 << 1) -#define CTL1_INITAK (1 << 0) - -#define BTR0_SJW(btr0) ((btr0) << 6) -#define BTR0_BRP(btr0) ((btr0) << 0) - -#define BTR1_SAMP (1 << 7) -#define BTR1_TSEG_22_20(btr1) ((btr1) << 4) -#define BTR1_TSEG_13_10(btr1) ((btr1) << 0) - -#define RFLG_WUPIF (1 << 7) -#define RFLG_CSCIF (1 << 6) -#define RFLG_RSTAT (3 << 4) -#define RFLG_TSTAT (3 << 2) -#define RFLG_OVRIF (1 << 1) -#define RFLG_RXF (1 << 0) -#define RFLG_GET_RX_STATE(rflg) (((rflg) >> 4) & 0x03) -#define RFLG_GET_TX_STATE(rflg) (((rflg) >> 2) & 0x03) - #define MSCAN_STATE_OK 0 #define MSCAN_STATE_ERR 1 #define MSCAN_STATE_WRN 2 #define MSCAN_STATE_BUSOFF 3 -#define RIER_WUPIE (1 << 7) -#define RIER_CSCIE (1 << 6) -#define RIER_RSTAT(rier) ((rier) << 4) -#define RIER_TSTAT(rier) ((rier) << 2) -#define RIER_OVRIE (1 << 1) -#define RIER_RXFIE (1 << 0) - -#define TFLG_TXE2 (1 << 2) -#define TFLG_TXE1 (1 << 1) -#define TFLG_TXE0 (1 << 0) - -#define TIER_TXEI2 (1 << 2) -#define TIER_TXEI1 (1 << 1) -#define TIER_TXEI0 (1 << 0) - -#define TARQ_ABTRQ2 (1 << 2) -#define TARQ_ABTRQ1 (1 << 1) -#define TARQ_ABTRQ0 (1 << 0) - -#define TAAK_ABTRQ2 (1 << 2) -#define TAAK_ABTRQ1 (1 << 1) -#define TAAK_ABTRQ0 (1 << 0) - -#define BSEL_TX2 (1 << 2) -#define BSEL_TX1 (1 << 1) -#define BSEL_TX0 (1 << 0) - -#define IDAC_IDAM1 (1 << 5) -#define IDAC_IDAM0 (1 << 4) -#define IDAC_IDHIT(idac) ((idac) & 0x7) - #define TX_MBUF_SEL(buf_no) (1 << (buf_no)) #define TX_DATA_LEN(len) ((len) & 0x0F) @@ -232,7 +159,7 @@ struct mpc5200_rx_cntrl struct mscan_channel_info { - volatile struct mpc5200_mscan *regs; + mscan *regs; uint32_t int_rx_err; rtems_id rx_qid; uint32_t rx_qname; @@ -249,20 +176,11 @@ extern void CanInterrupt_B(int16_t); /*MSCAN driver internal functions */ void mscan_hardware_initialize(rtems_device_major_number, uint32_t, void *); -void mpc5200_mscan_int_enable(volatile struct mpc5200_mscan *); -void mpc5200_mscan_int_disable(volatile struct mpc5200_mscan *); -void mpc5200_mscan_enter_sleep_mode(volatile struct mpc5200_mscan *); -void mpc5200_mscan_exit_sleep_mode(volatile struct mpc5200_mscan *); -void mpc5200_mscan_enter_init_mode(volatile struct mpc5200_mscan *); -void mpc5200_mscan_exit_init_mode(volatile struct mpc5200_mscan *); -void mpc5200_mscan_wait_sync(volatile struct mpc5200_mscan *); -void mpc5200_mscan_perform_init_mode_settings(volatile struct mpc5200_mscan *); -void mpc5200_mscan_perform_normal_mode_settings(volatile struct mpc5200_mscan *); +void mpc5200_mscan_wait_sync(mscan *); +void mpc5200_mscan_perform_init_mode_settings(mscan *); +void mpc5200_mscan_perform_normal_mode_settings(mscan *); rtems_status_code mpc5200_mscan_set_mode(rtems_device_minor_number, uint8_t); rtems_status_code mscan_channel_initialize(rtems_device_major_number, rtems_device_minor_number); -uint8_t prescaler_calculation(uint32_t, uint32_t, uint8_t *); -void mpc5200_mscan_perform_bit_time_settings(volatile struct mpc5200_mscan *, uint32_t, uint32_t); - #ifdef __cplusplus } |