Merge branch 'for-2.6.31' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[pandora-kernel.git] / drivers / staging / cpc-usb / sja2m16c.h
1 #ifndef _SJA2M16C_H
2 #define _SJA2M16C_H
3
4 #include "cpc.h"
5
6 #define BAUDRATE_TOLERANCE_PERCENT      1
7 #define SAMPLEPOINT_TOLERANCE_PERCENT   5
8 #define SAMPLEPOINT_UPPER_LIMIT         88
9
10 /* M16C parameters */
11 struct FIELD_C0CONR {
12         unsigned int brp:4;
13         unsigned int sam:1;
14         unsigned int pr:3;
15         unsigned int dummy:8;
16 };
17 struct FIELD_C1CONR {
18         unsigned int ph1:3;
19         unsigned int ph2:3;
20         unsigned int sjw:2;
21         unsigned int dummy:8;
22 };
23 typedef union C0CONR {
24         unsigned char c0con;
25         struct FIELD_C0CONR bc0con;
26 } C0CONR_T;
27 typedef union C1CONR {
28         unsigned char c1con;
29         struct FIELD_C1CONR bc1con;
30 } C1CONR_T;
31
32 #define SJA_TSEG1       ((pParams->btr1 & 0x0f)+1)
33 #define SJA_TSEG2       (((pParams->btr1 & 0x70)>>4)+1)
34 #define SJA_BRP         ((pParams->btr0 & 0x3f)+1)
35 #define SJA_SJW         ((pParams->btr0 & 0xc0)>>6)
36 #define SJA_SAM         ((pParams->btr1 & 0x80)>>7)
37 int baudrate_m16c(int clk, int brp, int pr, int ph1, int ph2);
38 int samplepoint_m16c(int brp, int pr, int ph1, int ph2);
39 int SJA1000_TO_M16C_BASIC_Params(CPC_MSG_T *pMsg);
40
41 #endif