48
48
#define GPIO_SMART_CARD GPIO_GPIO10
49
49
#define IRQ_GPIO_SMARD_CARD IRQ_GPIO10
51
// CS3 Latch is write only, a shadow is necessary
53
#define CS3BUSTYPE unsigned volatile long
51
/*--- ucb1x00 GPIO ---*/
52
#define SIMPAD_UCB1X00_GPIO_BASE (GPIO_MAX + 1)
53
#define SIMPAD_UCB1X00_GPIO_PROG1 (SIMPAD_UCB1X00_GPIO_BASE)
54
#define SIMPAD_UCB1X00_GPIO_PROG2 (SIMPAD_UCB1X00_GPIO_BASE + 1)
55
#define SIMPAD_UCB1X00_GPIO_UP (SIMPAD_UCB1X00_GPIO_BASE + 2)
56
#define SIMPAD_UCB1X00_GPIO_DOWN (SIMPAD_UCB1X00_GPIO_BASE + 3)
57
#define SIMPAD_UCB1X00_GPIO_LEFT (SIMPAD_UCB1X00_GPIO_BASE + 4)
58
#define SIMPAD_UCB1X00_GPIO_RIGHT (SIMPAD_UCB1X00_GPIO_BASE + 5)
59
#define SIMPAD_UCB1X00_GPIO_6 (SIMPAD_UCB1X00_GPIO_BASE + 6)
60
#define SIMPAD_UCB1X00_GPIO_7 (SIMPAD_UCB1X00_GPIO_BASE + 7)
61
#define SIMPAD_UCB1X00_GPIO_HEADSET (SIMPAD_UCB1X00_GPIO_BASE + 8)
62
#define SIMPAD_UCB1X00_GPIO_SPEAKER (SIMPAD_UCB1X00_GPIO_BASE + 9)
65
#define SIMPAD_CS3_GPIO_BASE (GPIO_MAX + 11)
66
#define SIMPAD_CS3_VCC_5V_EN (SIMPAD_CS3_GPIO_BASE)
67
#define SIMPAD_CS3_VCC_3V_EN (SIMPAD_CS3_GPIO_BASE + 1)
68
#define SIMPAD_CS3_EN1 (SIMPAD_CS3_GPIO_BASE + 2)
69
#define SIMPAD_CS3_EN0 (SIMPAD_CS3_GPIO_BASE + 3)
70
#define SIMPAD_CS3_DISPLAY_ON (SIMPAD_CS3_GPIO_BASE + 4)
71
#define SIMPAD_CS3_PCMCIA_BUFF_DIS (SIMPAD_CS3_GPIO_BASE + 5)
72
#define SIMPAD_CS3_MQ_RESET (SIMPAD_CS3_GPIO_BASE + 6)
73
#define SIMPAD_CS3_PCMCIA_RESET (SIMPAD_CS3_GPIO_BASE + 7)
74
#define SIMPAD_CS3_DECT_POWER_ON (SIMPAD_CS3_GPIO_BASE + 8)
75
#define SIMPAD_CS3_IRDA_SD (SIMPAD_CS3_GPIO_BASE + 9)
76
#define SIMPAD_CS3_RS232_ON (SIMPAD_CS3_GPIO_BASE + 10)
77
#define SIMPAD_CS3_SD_MEDIAQ (SIMPAD_CS3_GPIO_BASE + 11)
78
#define SIMPAD_CS3_LED2_ON (SIMPAD_CS3_GPIO_BASE + 12)
79
#define SIMPAD_CS3_IRDA_MODE (SIMPAD_CS3_GPIO_BASE + 13)
80
#define SIMPAD_CS3_ENABLE_5V (SIMPAD_CS3_GPIO_BASE + 14)
81
#define SIMPAD_CS3_RESET_SIMCARD (SIMPAD_CS3_GPIO_BASE + 15)
83
#define SIMPAD_CS3_PCMCIA_BVD1 (SIMPAD_CS3_GPIO_BASE + 16)
84
#define SIMPAD_CS3_PCMCIA_BVD2 (SIMPAD_CS3_GPIO_BASE + 17)
85
#define SIMPAD_CS3_PCMCIA_VS1 (SIMPAD_CS3_GPIO_BASE + 18)
86
#define SIMPAD_CS3_PCMCIA_VS2 (SIMPAD_CS3_GPIO_BASE + 19)
87
#define SIMPAD_CS3_LOCK_IND (SIMPAD_CS3_GPIO_BASE + 20)
88
#define SIMPAD_CS3_CHARGING_STATE (SIMPAD_CS3_GPIO_BASE + 21)
89
#define SIMPAD_CS3_PCMCIA_SHORT (SIMPAD_CS3_GPIO_BASE + 22)
90
#define SIMPAD_CS3_GPIO_23 (SIMPAD_CS3_GPIO_BASE + 23)
54
92
#define CS3_BASE 0xf1000000
56
#define VCC_5V_EN 0x0001 // For 5V PCMCIA
57
#define VCC_3V_EN 0x0002 // FOR 3.3V PCMCIA
58
#define EN1 0x0004 // This is only for EPROM's
59
#define EN0 0x0008 // Both should be enable for 3.3V or 5V
60
#define DISPLAY_ON 0x0010
61
#define PCMCIA_BUFF_DIS 0x0020
62
#define MQ_RESET 0x0040
63
#define PCMCIA_RESET 0x0080
64
#define DECT_POWER_ON 0x0100
65
#define IRDA_SD 0x0200 // Shutdown for powersave
66
#define RS232_ON 0x0400
67
#define SD_MEDIAQ 0x0800 // Shutdown for powersave
68
#define LED2_ON 0x1000
69
#define IRDA_MODE 0x2000 // Fast/Slow IrDA mode
70
#define ENABLE_5V 0x4000 // Enable 5V circuit
71
#define RESET_SIMCARD 0x8000
73
#define RS232_ENABLE 0x0440
74
#define PCMCIAMASK 0x402f
94
long simpad_get_cs3_ro(void);
95
long simpad_get_cs3_shadow(void);
96
void simpad_set_cs3_bit(int value);
97
void simpad_clear_cs3_bit(int value);
99
#define VCC_5V_EN 0x0001 /* For 5V PCMCIA */
100
#define VCC_3V_EN 0x0002 /* FOR 3.3V PCMCIA */
101
#define EN1 0x0004 /* This is only for EPROM's */
102
#define EN0 0x0008 /* Both should be enable for 3.3V or 5V */
103
#define DISPLAY_ON 0x0010
104
#define PCMCIA_BUFF_DIS 0x0020
105
#define MQ_RESET 0x0040
106
#define PCMCIA_RESET 0x0080
107
#define DECT_POWER_ON 0x0100
108
#define IRDA_SD 0x0200 /* Shutdown for powersave */
109
#define RS232_ON 0x0400
110
#define SD_MEDIAQ 0x0800 /* Shutdown for powersave */
111
#define LED2_ON 0x1000
112
#define IRDA_MODE 0x2000 /* Fast/Slow IrDA mode */
113
#define ENABLE_5V 0x4000 /* Enable 5V circuit */
114
#define RESET_SIMCARD 0x8000
116
#define PCMCIA_BVD1 0x01
117
#define PCMCIA_BVD2 0x02
118
#define PCMCIA_VS1 0x04
119
#define PCMCIA_VS2 0x08
120
#define LOCK_IND 0x10
121
#define CHARGING_STATE 0x20
122
#define PCMCIA_SHORT 0x40
77
125
struct simpad_battery {
78
126
unsigned char ac_status; /* line connected yes/no */
79
127
unsigned char status; /* battery loading yes/no */