MOXA linux-2.6.x / linux-2.6.19-uc1 from UC-7110-LX-BOOTLOADER-1.9_VERSION-4.2.tgz
[linux-2.6.19-moxart.git] / include / asm-arm / arch-s3c24a0 / s3c24a0-machine.h
blob5a80361f3c3b522e44c3c18073ca31a3733bf6b1
1 /*
2 * include/asm-arm/arch-s3c24a0/s3c24a0-machine.h
4 * $Id: s3c24a0-machine.h,v 1.2 2005/11/28 03:55:11 gerg Exp $
6 * vendor/machine specifice ioctl function
8 * extended ioctl for MTD
9 * change the permission of MTDPART
13 *for CONFIG_SA1100_WISMO
15 #define WS_SET_MODEM_MODE _IOW(IOC_MAGIC, 0xc0, unsigned long)
16 #define WS_GET_MODEM_MODE _IOR(IOC_MAGIC, 0xc1, unsigned long)
17 #define WS_MODEM_MODE_OFF 0x01
18 #define WS_MODEM_MODE_READY 0x02 /* i,e,. PowerDown Mode */
19 #define WS_MODEM_MODE_CALL 0x03 /* i,e,. Normal Mode */
21 #define WS_KEYPAD_LED 0
22 #define WS_7COLOR_LED 1
24 #define WS_SUBLCD_ON _IO (IOC_MAGIC, 0xc2)
25 #define WS_SUBLCD_OFF _IO (IOC_MAGIC, 0xc3)
26 #define WS_SUBLCD_DRAW _IO (IOC_MAGIC, 0xc4)
27 #define WS_SUBLCD_BLITE_ON _IO (IOC_MAGIC, 0xc5)
28 #define WS_SUBLCD_BLITE_OFF _IO (IOC_MAGIC, 0xc6)
31 typedef struct {
32 unsigned char reserved;
33 unsigned char sec; /* seconds 0 ~ 59 */
34 unsigned char min; /* min 0 - 59 */
35 unsigned char hour; /* Hour 0 ~ 59 */
36 unsigned char day; /* Day 0 ~ 23 */
37 unsigned char month; /* Month 1 ~ 12 */
38 } WS_DATE_T;
39 #define WS_SET_DATE _IOW(IOC_MAGIC, 0xc7, WS_DATE_T)
41 typedef struct {
42 unsigned char reserved;
43 unsigned char batt;
44 unsigned char rssi;
45 unsigned char msg;
46 unsigned char alarm;
47 unsigned char alert;
48 unsigned char unused[2];
49 } WS_ICON_T;
50 #define WS_SET_ICON _IOW(IOC_MAGIC, 0xc8, WS_ICON_T)
52 typedef struct {
53 unsigned char hlt;
54 unsigned char llt;
55 } WS_MOTOR_T;
56 #define WS_MOTOR_ON _IOW(IOC_MAGIC, 0xc9, WS_MOTOR_T)
57 #define WS_MOTOR_OFF _IO (IOC_MAGIC, 0xca)
58 #define WS_TOUCH_ON _IO (IOC_MAGIC, 0xcb)
59 #define WS_TOUCH_OFF _IO (IOC_MAGIC, 0xcc)
60 #define WS_SUBLCD_TIMER _IO (IOC_MAGIC, 0xce)
62 #define WS_LCD_POWER_ON _IO (IOC_MAGIC, 0xd1)
63 #define WS_LCD_POWER_OFF _IO (IOC_MAGIC, 0xd2)
64 #define WS_LCD_BLITE_ON _IO (IOC_MAGIC, 0xd3)
65 #define WS_LCD_BLITE_OFF _IO (IOC_MAGIC, 0xd4)
69 /* button definition */
70 #define WS_SIDE_UP_BUTTON SCANCODE_SLIDE_UP
71 #define WS_VOICE_BUTTON SCANCODE_RECORD
72 #define WS_SIDE_DOWN_BUTTON SCANCODE_SLIDE_DOWN
74 #define WS_SK1_BUTTON SCANCODE_U1
75 #define WS_SK2_BUTTON SCANCODE_U2
76 #define WS_SK3_BUTTON SCANCODE_U3
78 #define WS_WAP_BUTTON SCANCODE_MENU
79 #define WS_CLR_BUTTON SCANCODE_CLR
80 #define WS_SEND_BUTTON SCANCODE_SEND
81 #define WS_END_BUTTON SCANCODE_END
83 #define WS_1_BUTTON SCANCODE_PAD_1
84 #define WS_2_BUTTON SCANCODE_PAD_2
85 #define WS_3_BUTTON SCANCODE_PAD_3
86 #define WS_4_BUTTON SCANCODE_PAD_4
87 #define WS_5_BUTTON SCANCODE_PAD_5
88 #define WS_6_BUTTON SCANCODE_PAD_6
89 #define WS_7_BUTTON SCANCODE_PAD_7
90 #define WS_8_BUTTON SCANCODE_PAD_8
91 #define WS_9_BUTTON SCANCODE_PAD_9
92 #define WS_0_BUTTON SCANCODE_PAD_0
93 #define WS_ASTERISK_BUTTON SCANCODE_ASTERISK
94 #define WS_SHARP_BUTTON SCANCODE_SHARP
96 #define WS_UP_BUTTON SCANCODE_UP
97 #define WS_DOWN_BUTTON SCANCODE_DOWN
98 #define WS_LEFT_BUTTON SCANCODE_LEFT
99 #define WS_RIGHT_BUTTON SCANCODE_RIGHT
101 /* camera definition */
102 #define WS_CAM_IOC_MAGIC 'C'
104 #define WS_CAM_ZOOM_21 0 /* cam : disp = 2 : 1 <== zoom-out */
105 #define WS_CAM_ZOOM_11 1 /* cam : disp = 1 : 1 <== normal */
106 #define WS_CAM_ZOOM_12 2 /* cam : disp = 1 : 2 <== zoom-in */
107 #define WS_CAM_SET_ZOOM _IOW(WS_CAM_IOC_MAGIC, 10, int)
109 struct ws_cam_set {
110 int res; /* resolution, WS_CAM_SIZE_??? */
111 #define WS_CAM_SIZE_320x240 0 /* capture only */
112 #define WS_CAM_SIZE_240x180 1 /* capture only */
113 #define WS_CAM_SIZE_240x320_OV 2 /* overlay(preview) only */
114 #define WS_CAM_SIZE_240x180_OV 3 /* overlay(preview) only */
115 int preview_ypos; /* Y position when _res_ is WS_CAM_SIZE_240x180_OV */
117 #define WS_CAM_SET_PARAM _IOW(WS_CAM_IOC_MAGIC, 11, struct ws_cam_set)
119 #define WS_CAM_SET_X_MIRROR _IOW(WS_CAM_IOC_MAGIC, 12, int)
120 #define WS_CAM_SET_Y_MIRROR _IOW(WS_CAM_IOC_MAGIC, 13, int)
121 #define WS_CAM_SET_EXPOSURE _IOW(WS_CAM_IOC_MAGIC, 14, unsigned long)
122 #define WS_CAM_SET_WHITBLNC _IOW(WS_CAM_IOC_MAGIC, 15, unsigned long)
125 * for CONFIG_ARCH_I519
127 /* Audio Path Control */
128 #define HN_AUDIO_PATH _IOW(IOC_MAGIC, 0xc0, unsigned long)
129 #define MIC_PDA 0x0001
130 #define PDA_SPK 0x0010
131 #define MIC_PHONE 0x0002
132 #define PHONE_RCV 0x0020
133 #define PHONE_SPK 0x2000
135 #define HFK_PDA 0x0004
136 #define PDA_HFK 0x0040
137 #define HFK_PHONE 0x0008
138 #define PHONE_HFK 0x0080
140 #define PHONE_PDA 0x0100
141 #define PDA_PHONE 0x0200
143 /* for PXA-ac97 control (debugging only) */
144 struct hn_ac97 {
145 unsigned int reg;
146 unsigned int val;
148 #define HN_AC97_REG_WRITE _IOW(IOC_MAGIC, 0xc3, struct hn_ac97)
149 #define HN_AC97_REG_READ _IOR(IOC_MAGIC, 0xc4, struct hn_ac97)
151 #define HN_ONLY_PDA_SPK _IO ('h', 0xe3)
153 /* rescan external perpheral device */
154 #define HN_RESCAN_ACCESSARY _IO (IOC_MAGIC, 0xc1)
156 /* rescan & get battery type */
157 #define HN_RESCAN_BATTERY_TYPE _IOR(IOC_MAGIC, 0xc2, unsigned int)
158 #define HN_BATTERY_TYPE_STD 0x0
159 #define HN_BATTERY_TYPE_EXT 0x1
160 #define HN_RESCAN_BATTERY_TYPE2 _IOR(IOC_MAGIC, 0xc5, unsigned int)
162 /* UART & USB port switching */
163 #define HN_UART_TO_PHONE _IO (IOC_MAGIC, 0xc8)
164 #define HN_UART_TO_PDA _IO (IOC_MAGIC, 0xc9)
165 #define HN_USB_TO_PHONE _IO (IOC_MAGIC, 0xca)
166 #define HN_USB_TO_PDA _IO (IOC_MAGIC, 0xcb)
167 #define HN_USB_UART_STATE _IO (IOC_MAGIC, 0xce)
169 #define HN_UART_PATH_PDA 0x0001
170 #define HN_UART_PATH_PHONE 0x0002
171 #define HN_USB_PATH_PDA 0x0010
172 #define HN_USB_PATH_PHONE 0x0020
174 /* Vibrator Control */
175 #define HN_MOTOR_ON _IO (IOC_MAGIC, 0xcc)
176 #define HN_MOTOR_OFF _IO (IOC_MAGIC, 0xcd)
178 /* DPRAM Control for communication between PDA and Phone */
180 /* DPRAM ioctls for DPRAM tty devices */
181 #define HN_DPRAM_PHONE_ON _IO (IOC_MAGIC, 0xd0)
182 #define HN_DPRAM_PHONE_OFF _IO (IOC_MAGIC, 0xd1)
183 #define HN_DPRAM_PHONE_GETSTATUS _IOR(IOC_MAGIC, 0xd2, unsigned int)
184 #define HN_DPRAM_PHONE_DOWNLOAD _IO (IOC_MAGIC, 0xd5)
186 /* return codes for HN_DPRAM_PHONE_GETSTATUS */
187 #define HN_DPRAM_PHONE_STATUS_OFF 0x00
188 #define HN_DPRAM_PHONE_STATUS_ON 0x01
190 /* DPRAM ioctls for DPRAM ctl device */
191 #define HN_DPRAM_PPP_ENABLE _IO (IOC_MAGIC, 0xd3)
192 #define HN_DPRAM_PPP_DISABLE _IO (IOC_MAGIC, 0xd4)
193 #define HN_DPRAM_PPP_AC_ENABLE _IO (IOC_MAGIC, 0xd6)
194 #define HN_DPRAM_PPP_AC_DISABLE _IO (IOC_MAGIC, 0xd7)
196 /* DPRAM events through /dev/dpram/ctl */
197 #define HN_DPRAM_EVENT_PPP_ACCESS 0x0001
198 #define HN_DPRAM_EVENT_PHONE_DN_DONE 0x0002
200 /* button definition */
201 #define HN_POWER_BUTTON SCANCODE_POWER
202 #define HN_CAMERA_BUTTON SCANCODE_U1
203 #define HN_VOICE_BUTTON SCANCODE_RECORD
205 #define HN_SIDE_UP_BUTTON SCANCODE_SLIDE_UP
206 #define HN_SIDE_DOWN_BUTTON SCANCODE_SLIDE_DOWN
208 #define HN_HOME_BUTTON SCANCODE_MENU
209 #define HN_BACK_BUTTON SCANCODE_CLR
210 #define HN_SEND_BUTTON SCANCODE_SEND
211 #define HN_END_BUTTON SCANCODE_END
213 #define HN_UP_BUTTON SCANCODE_UP
214 #define HN_DOWN_BUTTON SCANCODE_DOWN
215 #define HN_LEFT_BUTTON SCANCODE_LEFT
216 #define HN_RIGHT_BUTTON SCANCODE_RIGHT
217 #define HN_OK_BUTTON SCANCODE_ENTER
219 #define HN_EAR_SEND_BUTTON SCANCODE_U2
221 /* PXA255 clock control */
222 #define HN_CLOCK_WRITE _IOW(IOC_MAGIC, 0xe1, unsigned int)
223 #define HN_CLOCK_READ _IOR(IOC_MAGIC, 0xe2, unsigned int)