[ARM] 3178/1: S3C2400 - adds GPIO registers definitions to regs-gpio.h

Patch from Lucas Correia Villa Real

This patch adds definitions to GPIO registers for the S3C2400 into
include/asm-arm/arch-s3c2410/regs-gpio.h.

Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

authored by

Lucas Correia Villa Real and committed by
Russell King
192cdc58 79a558ff

+227 -12
+227 -12
include/asm-arm/arch-s3c2410/regs-gpio.h
··· 21 * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA 22 * 28-Mar-2005 LCVR Fixed definition of GPB10 23 * 26-Oct-2005 BJD Added generic configuration types 24 */ 25 26 ··· 55 56 #define S3C2410_GPIOREG(x) ((x) + S3C24XX_VA_GPIO) 57 58 - /* port A - 22bits, zero in bit X makes pin X output 59 * 1 makes port special function, this is default 60 */ 61 #define S3C2410_GPACON S3C2410_GPIOREG(0x00) 62 #define S3C2410_GPADAT S3C2410_GPIOREG(0x04) 63 64 #define S3C2410_GPA0 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 0) 65 #define S3C2410_GPA0_OUT (0<<0) ··· 108 #define S3C2410_GPA10 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 10) 109 #define S3C2410_GPA10_OUT (0<<10) 110 #define S3C2410_GPA10_ADDR25 (1<<10) 111 112 #define S3C2410_GPA11 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 11) 113 #define S3C2410_GPA11_OUT (0<<11) 114 #define S3C2410_GPA11_ADDR26 (1<<11) 115 116 #define S3C2410_GPA12 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 12) 117 #define S3C2410_GPA12_OUT (0<<12) 118 #define S3C2410_GPA12_nGCS1 (1<<12) 119 120 #define S3C2410_GPA13 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 13) 121 #define S3C2410_GPA13_OUT (0<<13) 122 #define S3C2410_GPA13_nGCS2 (1<<13) 123 124 #define S3C2410_GPA14 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 14) 125 #define S3C2410_GPA14_OUT (0<<14) 126 #define S3C2410_GPA14_nGCS3 (1<<14) 127 128 #define S3C2410_GPA15 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 15) 129 #define S3C2410_GPA15_OUT (0<<15) 130 #define S3C2410_GPA15_nGCS4 (1<<15) 131 132 #define S3C2410_GPA16 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 16) 133 #define S3C2410_GPA16_OUT (0<<16) 134 #define S3C2410_GPA16_nGCS5 (1<<16) 135 136 #define S3C2410_GPA17 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 17) 137 #define S3C2410_GPA17_OUT (0<<17) 138 #define S3C2410_GPA17_CLE (1<<17) 139 140 #define S3C2410_GPA18 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 18) 141 #define S3C2410_GPA18_OUT (0<<18) ··· 165 #define S3C2410_GPA22_OUT (0<<22) 166 #define S3C2410_GPA22_nFCE (1<<22) 167 168 - /* 0x08 and 0x0c are reserved */ 169 170 - /* GPB is 10 IO pins, each configured by 2 bits each in GPBCON. 171 * 00 = input, 01 = output, 10=special function, 11=reserved 172 * bit 0,1 = pin 0, 2,3= pin 1... 173 * 174 * CPBUP = pull up resistor control, 1=disabled, 0=enabled ··· 184 #define S3C2410_GPBDAT S3C2410_GPIOREG(0x14) 185 #define S3C2410_GPBUP S3C2410_GPIOREG(0x18) 186 187 /* no i/o pin in port b can have value 3! */ 188 189 #define S3C2410_GPB0 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 0) 190 #define S3C2410_GPB0_INP (0x00 << 0) 191 #define S3C2410_GPB0_OUTP (0x01 << 0) 192 #define S3C2410_GPB0_TOUT0 (0x02 << 0) 193 194 #define S3C2410_GPB1 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 1) 195 #define S3C2410_GPB1_INP (0x00 << 2) 196 #define S3C2410_GPB1_OUTP (0x01 << 2) 197 #define S3C2410_GPB1_TOUT1 (0x02 << 2) 198 199 #define S3C2410_GPB2 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 2) 200 #define S3C2410_GPB2_INP (0x00 << 4) 201 #define S3C2410_GPB2_OUTP (0x01 << 4) 202 #define S3C2410_GPB2_TOUT2 (0x02 << 4) 203 204 #define S3C2410_GPB3 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 3) 205 #define S3C2410_GPB3_INP (0x00 << 6) 206 #define S3C2410_GPB3_OUTP (0x01 << 6) 207 #define S3C2410_GPB3_TOUT3 (0x02 << 6) 208 209 #define S3C2410_GPB4 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 4) 210 #define S3C2410_GPB4_INP (0x00 << 8) 211 #define S3C2410_GPB4_OUTP (0x01 << 8) 212 #define S3C2410_GPB4_TCLK0 (0x02 << 8) 213 #define S3C2410_GPB4_MASK (0x03 << 8) 214 215 #define S3C2410_GPB5 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 5) 216 #define S3C2410_GPB5_INP (0x00 << 10) 217 #define S3C2410_GPB5_OUTP (0x01 << 10) 218 #define S3C2410_GPB5_nXBACK (0x02 << 10) 219 220 #define S3C2410_GPB6 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 6) 221 #define S3C2410_GPB6_INP (0x00 << 12) 222 #define S3C2410_GPB6_OUTP (0x01 << 12) 223 #define S3C2410_GPB6_nXBREQ (0x02 << 12) 224 225 #define S3C2410_GPB7 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 7) 226 #define S3C2410_GPB7_INP (0x00 << 14) 227 #define S3C2410_GPB7_OUTP (0x01 << 14) 228 #define S3C2410_GPB7_nXDACK1 (0x02 << 14) 229 230 #define S3C2410_GPB8 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 8) 231 #define S3C2410_GPB8_INP (0x00 << 16) 232 #define S3C2410_GPB8_OUTP (0x01 << 16) 233 #define S3C2410_GPB8_nXDREQ1 (0x02 << 16) 234 235 #define S3C2410_GPB9 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 9) 236 #define S3C2410_GPB9_INP (0x00 << 18) 237 #define S3C2410_GPB9_OUTP (0x01 << 18) 238 #define S3C2410_GPB9_nXDACK0 (0x02 << 18) 239 240 #define S3C2410_GPB10 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 10) 241 #define S3C2410_GPB10_INP (0x00 << 20) 242 #define S3C2410_GPB10_OUTP (0x01 << 20) 243 #define S3C2410_GPB10_nXDRE0 (0x02 << 20) 244 245 /* Port C consits of 16 GPIO/Special function 246 * ··· 302 #define S3C2410_GPCDAT S3C2410_GPIOREG(0x24) 303 #define S3C2410_GPCUP S3C2410_GPIOREG(0x28) 304 305 #define S3C2410_GPC0 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 0) 306 #define S3C2410_GPC0_INP (0x00 << 0) 307 #define S3C2410_GPC0_OUTP (0x01 << 0) 308 #define S3C2410_GPC0_LEND (0x02 << 0) 309 310 #define S3C2410_GPC1 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 1) 311 #define S3C2410_GPC1_INP (0x00 << 2) 312 #define S3C2410_GPC1_OUTP (0x01 << 2) 313 #define S3C2410_GPC1_VCLK (0x02 << 2) 314 315 #define S3C2410_GPC2 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 2) 316 #define S3C2410_GPC2_INP (0x00 << 4) 317 #define S3C2410_GPC2_OUTP (0x01 << 4) 318 #define S3C2410_GPC2_VLINE (0x02 << 4) 319 320 #define S3C2410_GPC3 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 3) 321 #define S3C2410_GPC3_INP (0x00 << 6) 322 #define S3C2410_GPC3_OUTP (0x01 << 6) 323 #define S3C2410_GPC3_VFRAME (0x02 << 6) 324 325 #define S3C2410_GPC4 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 4) 326 #define S3C2410_GPC4_INP (0x00 << 8) 327 #define S3C2410_GPC4_OUTP (0x01 << 8) 328 #define S3C2410_GPC4_VM (0x02 << 8) 329 330 #define S3C2410_GPC5 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 5) 331 #define S3C2410_GPC5_INP (0x00 << 10) 332 #define S3C2410_GPC5_OUTP (0x01 << 10) 333 #define S3C2410_GPC5_LCDVF0 (0x02 << 10) 334 335 #define S3C2410_GPC6 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 6) 336 #define S3C2410_GPC6_INP (0x00 << 12) 337 #define S3C2410_GPC6_OUTP (0x01 << 12) 338 #define S3C2410_GPC6_LCDVF1 (0x02 << 12) 339 340 #define S3C2410_GPC7 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 7) 341 #define S3C2410_GPC7_INP (0x00 << 14) 342 #define S3C2410_GPC7_OUTP (0x01 << 14) 343 #define S3C2410_GPC7_LCDVF2 (0x02 << 14) 344 345 #define S3C2410_GPC8 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 8) 346 #define S3C2410_GPC8_INP (0x00 << 16) 347 #define S3C2410_GPC8_OUTP (0x01 << 16) 348 #define S3C2410_GPC8_VD0 (0x02 << 16) 349 350 #define S3C2410_GPC9 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 9) 351 #define S3C2410_GPC9_INP (0x00 << 18) 352 #define S3C2410_GPC9_OUTP (0x01 << 18) 353 #define S3C2410_GPC9_VD1 (0x02 << 18) 354 355 #define S3C2410_GPC10 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 10) 356 #define S3C2410_GPC10_INP (0x00 << 20) 357 #define S3C2410_GPC10_OUTP (0x01 << 20) 358 #define S3C2410_GPC10_VD2 (0x02 << 20) 359 360 #define S3C2410_GPC11 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 11) 361 #define S3C2410_GPC11_INP (0x00 << 22) 362 #define S3C2410_GPC11_OUTP (0x01 << 22) 363 #define S3C2410_GPC11_VD3 (0x02 << 22) 364 365 #define S3C2410_GPC12 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 12) 366 #define S3C2410_GPC12_INP (0x00 << 24) 367 #define S3C2410_GPC12_OUTP (0x01 << 24) 368 #define S3C2410_GPC12_VD4 (0x02 << 24) 369 370 #define S3C2410_GPC13 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 13) 371 #define S3C2410_GPC13_INP (0x00 << 26) 372 #define S3C2410_GPC13_OUTP (0x01 << 26) 373 #define S3C2410_GPC13_VD5 (0x02 << 26) 374 375 #define S3C2410_GPC14 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 14) 376 #define S3C2410_GPC14_INP (0x00 << 28) 377 #define S3C2410_GPC14_OUTP (0x01 << 28) 378 #define S3C2410_GPC14_VD6 (0x02 << 28) 379 380 #define S3C2410_GPC15 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 15) 381 #define S3C2410_GPC15_INP (0x00 << 30) 382 #define S3C2410_GPC15_OUTP (0x01 << 30) 383 #define S3C2410_GPC15_VD7 (0x02 << 30) 384 385 - /* Port D consists of 16 GPIO/Special function 386 * 387 * almost identical setup to port b, but the special functions are mostly 388 * to do with the video system's data. 389 */ 390 391 #define S3C2410_GPDCON S3C2410_GPIOREG(0x30) 392 #define S3C2410_GPDDAT S3C2410_GPIOREG(0x34) 393 #define S3C2410_GPDUP S3C2410_GPIOREG(0x38) 394 395 #define S3C2410_GPD0 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 0) 396 #define S3C2410_GPD0_INP (0x00 << 0) 397 #define S3C2410_GPD0_OUTP (0x01 << 0) 398 #define S3C2410_GPD0_VD8 (0x02 << 0) 399 400 #define S3C2410_GPD1 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 1) 401 #define S3C2410_GPD1_INP (0x00 << 2) 402 #define S3C2410_GPD1_OUTP (0x01 << 2) 403 #define S3C2410_GPD1_VD9 (0x02 << 2) 404 405 #define S3C2410_GPD2 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 2) 406 #define S3C2410_GPD2_INP (0x00 << 4) 407 #define S3C2410_GPD2_OUTP (0x01 << 4) 408 #define S3C2410_GPD2_VD10 (0x02 << 4) 409 410 #define S3C2410_GPD3 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 3) 411 #define S3C2410_GPD3_INP (0x00 << 6) 412 #define S3C2410_GPD3_OUTP (0x01 << 6) 413 #define S3C2410_GPD3_VD11 (0x02 << 6) 414 415 #define S3C2410_GPD4 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 4) 416 #define S3C2410_GPD4_INP (0x00 << 8) 417 #define S3C2410_GPD4_OUTP (0x01 << 8) 418 #define S3C2410_GPD4_VD12 (0x02 << 8) 419 420 #define S3C2410_GPD5 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 5) 421 #define S3C2410_GPD5_INP (0x00 << 10) 422 #define S3C2410_GPD5_OUTP (0x01 << 10) 423 #define S3C2410_GPD5_VD13 (0x02 << 10) 424 425 #define S3C2410_GPD6 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 6) 426 #define S3C2410_GPD6_INP (0x00 << 12) 427 #define S3C2410_GPD6_OUTP (0x01 << 12) 428 #define S3C2410_GPD6_VD14 (0x02 << 12) 429 430 #define S3C2410_GPD7 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 7) 431 #define S3C2410_GPD7_INP (0x00 << 14) 432 #define S3C2410_GPD7_OUTP (0x01 << 14) 433 #define S3C2410_GPD7_VD15 (0x02 << 14) 434 435 #define S3C2410_GPD8 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 8) 436 #define S3C2410_GPD8_INP (0x00 << 16) 437 #define S3C2410_GPD8_OUTP (0x01 << 16) 438 #define S3C2410_GPD8_VD16 (0x02 << 16) 439 440 #define S3C2410_GPD9 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 9) 441 #define S3C2410_GPD9_INP (0x00 << 18) 442 #define S3C2410_GPD9_OUTP (0x01 << 18) 443 #define S3C2410_GPD9_VD17 (0x02 << 18) 444 445 #define S3C2410_GPD10 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 10) 446 #define S3C2410_GPD10_INP (0x00 << 20) 447 #define S3C2410_GPD10_OUTP (0x01 << 20) 448 #define S3C2410_GPD10_VD18 (0x02 << 20) 449 450 #define S3C2410_GPD11 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 11) 451 #define S3C2410_GPD11_INP (0x00 << 22) ··· 515 #define S3C2410_GPD15_OUTP (0x01 << 30) 516 #define S3C2410_GPD15_VD23 (0x02 << 30) 517 518 - /* Port E consists of 16 GPIO/Special function 519 * 520 * again, the same as port B, but dealing with I2S, SDI, and 521 * more miscellaneous functions 522 */ 523 524 #define S3C2410_GPECON S3C2410_GPIOREG(0x40) 525 #define S3C2410_GPEDAT S3C2410_GPIOREG(0x44) 526 #define S3C2410_GPEUP S3C2410_GPIOREG(0x48) 527 528 #define S3C2410_GPE0 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 0) 529 #define S3C2410_GPE0_INP (0x00 << 0) 530 #define S3C2410_GPE0_OUTP (0x01 << 0) 531 #define S3C2410_GPE0_I2SLRCK (0x02 << 0) 532 #define S3C2410_GPE0_MASK (0x03 << 0) 533 534 #define S3C2410_GPE1 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 1) 535 #define S3C2410_GPE1_INP (0x00 << 2) 536 #define S3C2410_GPE1_OUTP (0x01 << 2) 537 #define S3C2410_GPE1_I2SSCLK (0x02 << 2) 538 #define S3C2410_GPE1_MASK (0x03 << 2) 539 540 #define S3C2410_GPE2 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 2) 541 #define S3C2410_GPE2_INP (0x00 << 4) 542 #define S3C2410_GPE2_OUTP (0x01 << 4) 543 #define S3C2410_GPE2_CDCLK (0x02 << 4) 544 545 #define S3C2410_GPE3 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 3) 546 #define S3C2410_GPE3_INP (0x00 << 6) 547 #define S3C2410_GPE3_OUTP (0x01 << 6) 548 #define S3C2410_GPE3_I2SSDI (0x02 << 6) 549 #define S3C2410_GPE3_nSS0 (0x03 << 6) 550 #define S3C2410_GPE3_MASK (0x03 << 6) 551 ··· 572 #define S3C2410_GPE4_INP (0x00 << 8) 573 #define S3C2410_GPE4_OUTP (0x01 << 8) 574 #define S3C2410_GPE4_I2SSDO (0x02 << 8) 575 #define S3C2410_GPE4_I2SSDI (0x03 << 8) 576 #define S3C2410_GPE4_MASK (0x03 << 8) 577 ··· 581 #define S3C2410_GPE5_INP (0x00 << 10) 582 #define S3C2410_GPE5_OUTP (0x01 << 10) 583 #define S3C2410_GPE5_SDCLK (0x02 << 10) 584 585 #define S3C2410_GPE6 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 6) 586 #define S3C2410_GPE6_INP (0x00 << 12) 587 #define S3C2410_GPE6_OUTP (0x01 << 12) 588 #define S3C2410_GPE6_SDCMD (0x02 << 12) 589 590 #define S3C2410_GPE7 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 7) 591 #define S3C2410_GPE7_INP (0x00 << 14) 592 #define S3C2410_GPE7_OUTP (0x01 << 14) 593 #define S3C2410_GPE7_SDDAT0 (0x02 << 14) 594 595 #define S3C2410_GPE8 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 8) 596 #define S3C2410_GPE8_INP (0x00 << 16) 597 #define S3C2410_GPE8_OUTP (0x01 << 16) 598 #define S3C2410_GPE8_SDDAT1 (0x02 << 16) 599 600 #define S3C2410_GPE9 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 9) 601 #define S3C2410_GPE9_INP (0x00 << 18) 602 #define S3C2410_GPE9_OUTP (0x01 << 18) 603 #define S3C2410_GPE9_SDDAT2 (0x02 << 18) 604 605 #define S3C2410_GPE10 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 10) 606 #define S3C2410_GPE10_INP (0x00 << 20) 607 #define S3C2410_GPE10_OUTP (0x01 << 20) 608 #define S3C2410_GPE10_SDDAT3 (0x02 << 20) 609 610 #define S3C2410_GPE11 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 11) 611 #define S3C2410_GPE11_INP (0x00 << 22) 612 #define S3C2410_GPE11_OUTP (0x01 << 22) 613 #define S3C2410_GPE11_SPIMISO0 (0x02 << 22) 614 615 #define S3C2410_GPE12 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 12) 616 #define S3C2410_GPE12_INP (0x00 << 24) ··· 652 653 #define S3C2410_GPE_PUPDIS(x) (1<<(x)) 654 655 - /* Port F consists of 8 GPIO/Special function 656 * 657 * GPIO / interrupt inputs 658 * ··· 661 * 00 = 0 input, 1 output, 2 interrupt (EINT0..7), 3 undefined 662 * 663 * pull up works like all other ports. 664 */ 665 666 #define S3C2410_GPFCON S3C2410_GPIOREG(0x50) 667 #define S3C2410_GPFDAT S3C2410_GPIOREG(0x54) 668 #define S3C2410_GPFUP S3C2410_GPIOREG(0x58) 669 670 #define S3C2410_GPF0 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 0) 671 #define S3C2410_GPF0_INP (0x00 << 0) 672 #define S3C2410_GPF0_OUTP (0x01 << 0) 673 #define S3C2410_GPF0_EINT0 (0x02 << 0) 674 675 #define S3C2410_GPF1 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 1) 676 #define S3C2410_GPF1_INP (0x00 << 2) 677 #define S3C2410_GPF1_OUTP (0x01 << 2) 678 #define S3C2410_GPF1_EINT1 (0x02 << 2) 679 680 #define S3C2410_GPF2 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 2) 681 #define S3C2410_GPF2_INP (0x00 << 4) 682 #define S3C2410_GPF2_OUTP (0x01 << 4) 683 #define S3C2410_GPF2_EINT2 (0x02 << 4) 684 685 #define S3C2410_GPF3 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 3) 686 #define S3C2410_GPF3_INP (0x00 << 6) 687 #define S3C2410_GPF3_OUTP (0x01 << 6) 688 #define S3C2410_GPF3_EINT3 (0x02 << 6) 689 690 #define S3C2410_GPF4 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 4) 691 #define S3C2410_GPF4_INP (0x00 << 8) 692 #define S3C2410_GPF4_OUTP (0x01 << 8) 693 #define S3C2410_GPF4_EINT4 (0x02 << 8) 694 695 #define S3C2410_GPF5 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 5) 696 #define S3C2410_GPF5_INP (0x00 << 10) 697 #define S3C2410_GPF5_OUTP (0x01 << 10) 698 #define S3C2410_GPF5_EINT5 (0x02 << 10) 699 700 #define S3C2410_GPF6 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 6) 701 #define S3C2410_GPF6_INP (0x00 << 12) 702 #define S3C2410_GPF6_OUTP (0x01 << 12) 703 #define S3C2410_GPF6_EINT6 (0x02 << 12) 704 705 #define S3C2410_GPF7 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 7) 706 #define S3C2410_GPF7_INP (0x00 << 14) 707 #define S3C2410_GPF7_OUTP (0x01 << 14) 708 #define S3C2410_GPF7_EINT7 (0x02 << 14) 709 710 - /* Port G consists of 8 GPIO/IRQ/Special function 711 * 712 * GPGCON has 2 bits for each of the input pins on port F 713 * 00 = 0 input, 1 output, 2 interrupt (EINT0..7), 3 special func 714 * 715 * pull up works like all other ports. 716 */ 717 718 #define S3C2410_GPGCON S3C2410_GPIOREG(0x60) 719 #define S3C2410_GPGDAT S3C2410_GPIOREG(0x64) 720 #define S3C2410_GPGUP S3C2410_GPIOREG(0x68) 721 722 #define S3C2410_GPG0 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 0) 723 #define S3C2410_GPG0_INP (0x00 << 0) 724 #define S3C2410_GPG0_OUTP (0x01 << 0) 725 #define S3C2410_GPG0_EINT8 (0x02 << 0) 726 727 #define S3C2410_GPG1 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 1) 728 #define S3C2410_GPG1_INP (0x00 << 2) 729 #define S3C2410_GPG1_OUTP (0x01 << 2) 730 #define S3C2410_GPG1_EINT9 (0x02 << 2) 731 732 #define S3C2410_GPG2 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 2) 733 #define S3C2410_GPG2_INP (0x00 << 4) 734 #define S3C2410_GPG2_OUTP (0x01 << 4) 735 #define S3C2410_GPG2_EINT10 (0x02 << 4) 736 737 #define S3C2410_GPG3 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 3) 738 #define S3C2410_GPG3_INP (0x00 << 6) 739 #define S3C2410_GPG3_OUTP (0x01 << 6) 740 #define S3C2410_GPG3_EINT11 (0x02 << 6) 741 742 #define S3C2410_GPG4 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 4) 743 #define S3C2410_GPG4_INP (0x00 << 8) 744 #define S3C2410_GPG4_OUTP (0x01 << 8) 745 #define S3C2410_GPG4_EINT12 (0x02 << 8) 746 #define S3C2410_GPG4_LCDPWREN (0x03 << 8) 747 748 #define S3C2410_GPG5 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 5) 749 #define S3C2410_GPG5_INP (0x00 << 10) 750 #define S3C2410_GPG5_OUTP (0x01 << 10) 751 #define S3C2410_GPG5_EINT13 (0x02 << 10) 752 #define S3C2410_GPG5_SPIMISO1 (0x03 << 10) 753 754 #define S3C2410_GPG6 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 6) 755 #define S3C2410_GPG6_INP (0x00 << 12) 756 #define S3C2410_GPG6_OUTP (0x01 << 12) 757 #define S3C2410_GPG6_EINT14 (0x02 << 12) 758 #define S3C2410_GPG6_SPIMOSI1 (0x03 << 12) 759 760 #define S3C2410_GPG7 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 7) ··· 803 #define S3C2410_GPG7_OUTP (0x01 << 14) 804 #define S3C2410_GPG7_EINT15 (0x02 << 14) 805 #define S3C2410_GPG7_SPICLK1 (0x03 << 14) 806 807 #define S3C2410_GPG8 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 8) 808 #define S3C2410_GPG8_INP (0x00 << 16) 809 #define S3C2410_GPG8_OUTP (0x01 << 16) 810 #define S3C2410_GPG8_EINT16 (0x02 << 16) 811 812 #define S3C2410_GPG9 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 9) 813 #define S3C2410_GPG9_INP (0x00 << 18) 814 #define S3C2410_GPG9_OUTP (0x01 << 18) 815 #define S3C2410_GPG9_EINT17 (0x02 << 18) 816 817 #define S3C2410_GPG10 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 10) 818 #define S3C2410_GPG10_INP (0x00 << 20) ··· 928 #define S3C2410_GPH10_CLKOUT1 (0x02 << 20) 929 930 /* miscellaneous control */ 931 - 932 #define S3C2410_MISCCR S3C2410_GPIOREG(0x80) 933 #define S3C2410_DCLKCON S3C2410_GPIOREG(0x84) 934 935 /* see clock.h for dclk definitions */ 936 937 /* pullup control on databus */ 938 - #define S3C2410_MISCCR_SPUCR_HEN (0) 939 #define S3C2410_MISCCR_SPUCR_HDIS (1<<0) 940 - #define S3C2410_MISCCR_SPUCR_LEN (0) 941 #define S3C2410_MISCCR_SPUCR_LDIS (1<<1) 942 943 - #define S3C2410_MISCCR_USBDEV (0) 944 #define S3C2410_MISCCR_USBHOST (1<<3) 945 946 #define S3C2410_MISCCR_CLK0_MPLL (0<<4) ··· 984 * 985 * Samsung datasheet p9-25 986 */ 987 - 988 #define S3C2410_EXTINT0 S3C2410_GPIOREG(0x88) 989 #define S3C2410_EXTINT1 S3C2410_GPIOREG(0x8C) 990 #define S3C2410_EXTINT2 S3C2410_GPIOREG(0x90) ··· 1031 #define S3C2410_GSTATUS2_WTRESET (1<<2) 1032 #define S3C2410_GSTATUS2_OFFRESET (1<<1) 1033 #define S3C2410_GSTATUS2_PONRESET (1<<0) 1034 1035 #endif /* __ASM_ARCH_REGS_GPIO_H */ 1036
··· 21 * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA 22 * 28-Mar-2005 LCVR Fixed definition of GPB10 23 * 26-Oct-2005 BJD Added generic configuration types 24 + * 27-Nov-2005 LCVR Added definitions to S3C2400 registers 25 */ 26 27 ··· 54 55 #define S3C2410_GPIOREG(x) ((x) + S3C24XX_VA_GPIO) 56 57 + /* port A - S3C2410: 22bits, zero in bit X makes pin X output 58 + * S3C2400: 18bits, zero in bit X makes pin X output 59 * 1 makes port special function, this is default 60 */ 61 #define S3C2410_GPACON S3C2410_GPIOREG(0x00) 62 #define S3C2410_GPADAT S3C2410_GPIOREG(0x04) 63 + 64 + #define S3C2400_GPACON S3C2410_GPIOREG(0x00) 65 + #define S3C2400_GPADAT S3C2410_GPIOREG(0x04) 66 67 #define S3C2410_GPA0 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 0) 68 #define S3C2410_GPA0_OUT (0<<0) ··· 103 #define S3C2410_GPA10 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 10) 104 #define S3C2410_GPA10_OUT (0<<10) 105 #define S3C2410_GPA10_ADDR25 (1<<10) 106 + #define S3C2400_GPA10_SCKE (1<<10) 107 108 #define S3C2410_GPA11 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 11) 109 #define S3C2410_GPA11_OUT (0<<11) 110 #define S3C2410_GPA11_ADDR26 (1<<11) 111 + #define S3C2400_GPA11_nCAS0 (1<<11) 112 113 #define S3C2410_GPA12 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 12) 114 #define S3C2410_GPA12_OUT (0<<12) 115 #define S3C2410_GPA12_nGCS1 (1<<12) 116 + #define S3C2400_GPA12_nCAS1 (1<<12) 117 118 #define S3C2410_GPA13 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 13) 119 #define S3C2410_GPA13_OUT (0<<13) 120 #define S3C2410_GPA13_nGCS2 (1<<13) 121 + #define S3C2400_GPA13_nGCS1 (1<<13) 122 123 #define S3C2410_GPA14 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 14) 124 #define S3C2410_GPA14_OUT (0<<14) 125 #define S3C2410_GPA14_nGCS3 (1<<14) 126 + #define S3C2400_GPA14_nGCS2 (1<<14) 127 128 #define S3C2410_GPA15 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 15) 129 #define S3C2410_GPA15_OUT (0<<15) 130 #define S3C2410_GPA15_nGCS4 (1<<15) 131 + #define S3C2400_GPA15_nGCS3 (1<<15) 132 133 #define S3C2410_GPA16 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 16) 134 #define S3C2410_GPA16_OUT (0<<16) 135 #define S3C2410_GPA16_nGCS5 (1<<16) 136 + #define S3C2400_GPA16_nGCS4 (1<<16) 137 138 #define S3C2410_GPA17 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 17) 139 #define S3C2410_GPA17_OUT (0<<17) 140 #define S3C2410_GPA17_CLE (1<<17) 141 + #define S3C2400_GPA17_nGCS5 (1<<17) 142 143 #define S3C2410_GPA18 S3C2410_GPIONO(S3C2410_GPIO_BANKA, 18) 144 #define S3C2410_GPA18_OUT (0<<18) ··· 152 #define S3C2410_GPA22_OUT (0<<22) 153 #define S3C2410_GPA22_nFCE (1<<22) 154 155 + /* 0x08 and 0x0c are reserved on S3C2410 */ 156 157 + /* S3C2410: 158 + * GPB is 10 IO pins, each configured by 2 bits each in GPBCON. 159 * 00 = input, 01 = output, 10=special function, 11=reserved 160 + 161 + * S3C2400: 162 + * GPB is 16 IO pins, each configured by 2 bits each in GPBCON. 163 + * 00 = input, 01 = output, 10=data, 11=special function 164 + 165 * bit 0,1 = pin 0, 2,3= pin 1... 166 * 167 * CPBUP = pull up resistor control, 1=disabled, 0=enabled ··· 165 #define S3C2410_GPBDAT S3C2410_GPIOREG(0x14) 166 #define S3C2410_GPBUP S3C2410_GPIOREG(0x18) 167 168 + #define S3C2400_GPBCON S3C2410_GPIOREG(0x08) 169 + #define S3C2400_GPBDAT S3C2410_GPIOREG(0x0C) 170 + #define S3C2400_GPBUP S3C2410_GPIOREG(0x10) 171 + 172 /* no i/o pin in port b can have value 3! */ 173 174 #define S3C2410_GPB0 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 0) 175 #define S3C2410_GPB0_INP (0x00 << 0) 176 #define S3C2410_GPB0_OUTP (0x01 << 0) 177 #define S3C2410_GPB0_TOUT0 (0x02 << 0) 178 + #define S3C2400_GPB0_DATA16 (0x02 << 0) 179 180 #define S3C2410_GPB1 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 1) 181 #define S3C2410_GPB1_INP (0x00 << 2) 182 #define S3C2410_GPB1_OUTP (0x01 << 2) 183 #define S3C2410_GPB1_TOUT1 (0x02 << 2) 184 + #define S3C2400_GPB1_DATA17 (0x02 << 2) 185 186 #define S3C2410_GPB2 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 2) 187 #define S3C2410_GPB2_INP (0x00 << 4) 188 #define S3C2410_GPB2_OUTP (0x01 << 4) 189 #define S3C2410_GPB2_TOUT2 (0x02 << 4) 190 + #define S3C2400_GPB2_DATA18 (0x02 << 4) 191 + #define S3C2400_GPB2_TCLK1 (0x03 << 4) 192 193 #define S3C2410_GPB3 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 3) 194 #define S3C2410_GPB3_INP (0x00 << 6) 195 #define S3C2410_GPB3_OUTP (0x01 << 6) 196 #define S3C2410_GPB3_TOUT3 (0x02 << 6) 197 + #define S3C2400_GPB3_DATA19 (0x02 << 6) 198 + #define S3C2400_GPB3_TXD1 (0x03 << 6) 199 200 #define S3C2410_GPB4 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 4) 201 #define S3C2410_GPB4_INP (0x00 << 8) 202 #define S3C2410_GPB4_OUTP (0x01 << 8) 203 #define S3C2410_GPB4_TCLK0 (0x02 << 8) 204 + #define S3C2400_GPB4_DATA20 (0x02 << 8) 205 #define S3C2410_GPB4_MASK (0x03 << 8) 206 + #define S3C2400_GPB4_RXD1 (0x03 << 8) 207 + #define S3C2400_GPB4_MASK (0x03 << 8) 208 209 #define S3C2410_GPB5 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 5) 210 #define S3C2410_GPB5_INP (0x00 << 10) 211 #define S3C2410_GPB5_OUTP (0x01 << 10) 212 #define S3C2410_GPB5_nXBACK (0x02 << 10) 213 + #define S3C2400_GPB5_DATA21 (0x02 << 10) 214 + #define S3C2400_GPB5_nCTS1 (0x03 << 10) 215 216 #define S3C2410_GPB6 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 6) 217 #define S3C2410_GPB6_INP (0x00 << 12) 218 #define S3C2410_GPB6_OUTP (0x01 << 12) 219 #define S3C2410_GPB6_nXBREQ (0x02 << 12) 220 + #define S3C2400_GPB6_DATA22 (0x02 << 12) 221 + #define S3C2400_GPB6_nRTS1 (0x03 << 12) 222 223 #define S3C2410_GPB7 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 7) 224 #define S3C2410_GPB7_INP (0x00 << 14) 225 #define S3C2410_GPB7_OUTP (0x01 << 14) 226 #define S3C2410_GPB7_nXDACK1 (0x02 << 14) 227 + #define S3C2400_GPB7_DATA23 (0x02 << 14) 228 229 #define S3C2410_GPB8 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 8) 230 #define S3C2410_GPB8_INP (0x00 << 16) 231 #define S3C2410_GPB8_OUTP (0x01 << 16) 232 #define S3C2410_GPB8_nXDREQ1 (0x02 << 16) 233 + #define S3C2400_GPB8_DATA24 (0x02 << 16) 234 235 #define S3C2410_GPB9 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 9) 236 #define S3C2410_GPB9_INP (0x00 << 18) 237 #define S3C2410_GPB9_OUTP (0x01 << 18) 238 #define S3C2410_GPB9_nXDACK0 (0x02 << 18) 239 + #define S3C2400_GPB9_DATA25 (0x02 << 18) 240 + #define S3C2400_GPB9_I2SSDI (0x03 << 18) 241 242 #define S3C2410_GPB10 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 10) 243 #define S3C2410_GPB10_INP (0x00 << 20) 244 #define S3C2410_GPB10_OUTP (0x01 << 20) 245 #define S3C2410_GPB10_nXDRE0 (0x02 << 20) 246 + #define S3C2400_GPB10_DATA26 (0x02 << 20) 247 + #define S3C2400_GPB10_nSS (0x03 << 20) 248 + 249 + #define S3C2400_GPB11 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 11) 250 + #define S3C2400_GPB11_INP (0x00 << 22) 251 + #define S3C2400_GPB11_OUTP (0x01 << 22) 252 + #define S3C2400_GPB11_DATA27 (0x02 << 22) 253 + 254 + #define S3C2400_GPB12 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 12) 255 + #define S3C2400_GPB12_INP (0x00 << 24) 256 + #define S3C2400_GPB12_OUTP (0x01 << 24) 257 + #define S3C2400_GPB12_DATA28 (0x02 << 24) 258 + 259 + #define S3C2400_GPB13 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 13) 260 + #define S3C2400_GPB13_INP (0x00 << 26) 261 + #define S3C2400_GPB13_OUTP (0x01 << 26) 262 + #define S3C2400_GPB13_DATA29 (0x02 << 26) 263 + 264 + #define S3C2400_GPB14 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 14) 265 + #define S3C2400_GPB14_INP (0x00 << 28) 266 + #define S3C2400_GPB14_OUTP (0x01 << 28) 267 + #define S3C2400_GPB14_DATA30 (0x02 << 28) 268 + 269 + #define S3C2400_GPB15 S3C2410_GPIONO(S3C2410_GPIO_BANKB, 15) 270 + #define S3C2400_GPB15_INP (0x00 << 30) 271 + #define S3C2400_GPB15_OUTP (0x01 << 30) 272 + #define S3C2400_GPB15_DATA31 (0x02 << 30) 273 + 274 + #define S3C2410_GPB_PUPDIS(x) (1<<(x)) 275 276 /* Port C consits of 16 GPIO/Special function 277 * ··· 233 #define S3C2410_GPCDAT S3C2410_GPIOREG(0x24) 234 #define S3C2410_GPCUP S3C2410_GPIOREG(0x28) 235 236 + #define S3C2400_GPCCON S3C2410_GPIOREG(0x14) 237 + #define S3C2400_GPCDAT S3C2410_GPIOREG(0x18) 238 + #define S3C2400_GPCUP S3C2410_GPIOREG(0x1C) 239 + 240 #define S3C2410_GPC0 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 0) 241 #define S3C2410_GPC0_INP (0x00 << 0) 242 #define S3C2410_GPC0_OUTP (0x01 << 0) 243 #define S3C2410_GPC0_LEND (0x02 << 0) 244 + #define S3C2400_GPC0_VD0 (0x02 << 0) 245 246 #define S3C2410_GPC1 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 1) 247 #define S3C2410_GPC1_INP (0x00 << 2) 248 #define S3C2410_GPC1_OUTP (0x01 << 2) 249 #define S3C2410_GPC1_VCLK (0x02 << 2) 250 + #define S3C2400_GPC1_VD1 (0x02 << 2) 251 252 #define S3C2410_GPC2 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 2) 253 #define S3C2410_GPC2_INP (0x00 << 4) 254 #define S3C2410_GPC2_OUTP (0x01 << 4) 255 #define S3C2410_GPC2_VLINE (0x02 << 4) 256 + #define S3C2400_GPC2_VD2 (0x02 << 4) 257 258 #define S3C2410_GPC3 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 3) 259 #define S3C2410_GPC3_INP (0x00 << 6) 260 #define S3C2410_GPC3_OUTP (0x01 << 6) 261 #define S3C2410_GPC3_VFRAME (0x02 << 6) 262 + #define S3C2400_GPC3_VD3 (0x02 << 6) 263 264 #define S3C2410_GPC4 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 4) 265 #define S3C2410_GPC4_INP (0x00 << 8) 266 #define S3C2410_GPC4_OUTP (0x01 << 8) 267 #define S3C2410_GPC4_VM (0x02 << 8) 268 + #define S3C2400_GPC4_VD4 (0x02 << 8) 269 270 #define S3C2410_GPC5 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 5) 271 #define S3C2410_GPC5_INP (0x00 << 10) 272 #define S3C2410_GPC5_OUTP (0x01 << 10) 273 #define S3C2410_GPC5_LCDVF0 (0x02 << 10) 274 + #define S3C2400_GPC5_VD5 (0x02 << 10) 275 276 #define S3C2410_GPC6 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 6) 277 #define S3C2410_GPC6_INP (0x00 << 12) 278 #define S3C2410_GPC6_OUTP (0x01 << 12) 279 #define S3C2410_GPC6_LCDVF1 (0x02 << 12) 280 + #define S3C2400_GPC6_VD6 (0x02 << 12) 281 282 #define S3C2410_GPC7 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 7) 283 #define S3C2410_GPC7_INP (0x00 << 14) 284 #define S3C2410_GPC7_OUTP (0x01 << 14) 285 #define S3C2410_GPC7_LCDVF2 (0x02 << 14) 286 + #define S3C2400_GPC7_VD7 (0x02 << 14) 287 288 #define S3C2410_GPC8 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 8) 289 #define S3C2410_GPC8_INP (0x00 << 16) 290 #define S3C2410_GPC8_OUTP (0x01 << 16) 291 #define S3C2410_GPC8_VD0 (0x02 << 16) 292 + #define S3C2400_GPC8_VD8 (0x02 << 16) 293 294 #define S3C2410_GPC9 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 9) 295 #define S3C2410_GPC9_INP (0x00 << 18) 296 #define S3C2410_GPC9_OUTP (0x01 << 18) 297 #define S3C2410_GPC9_VD1 (0x02 << 18) 298 + #define S3C2400_GPC9_VD9 (0x02 << 18) 299 300 #define S3C2410_GPC10 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 10) 301 #define S3C2410_GPC10_INP (0x00 << 20) 302 #define S3C2410_GPC10_OUTP (0x01 << 20) 303 #define S3C2410_GPC10_VD2 (0x02 << 20) 304 + #define S3C2400_GPC10_VD10 (0x02 << 20) 305 306 #define S3C2410_GPC11 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 11) 307 #define S3C2410_GPC11_INP (0x00 << 22) 308 #define S3C2410_GPC11_OUTP (0x01 << 22) 309 #define S3C2410_GPC11_VD3 (0x02 << 22) 310 + #define S3C2400_GPC11_VD11 (0x02 << 22) 311 312 #define S3C2410_GPC12 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 12) 313 #define S3C2410_GPC12_INP (0x00 << 24) 314 #define S3C2410_GPC12_OUTP (0x01 << 24) 315 #define S3C2410_GPC12_VD4 (0x02 << 24) 316 + #define S3C2400_GPC12_VD12 (0x02 << 24) 317 318 #define S3C2410_GPC13 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 13) 319 #define S3C2410_GPC13_INP (0x00 << 26) 320 #define S3C2410_GPC13_OUTP (0x01 << 26) 321 #define S3C2410_GPC13_VD5 (0x02 << 26) 322 + #define S3C2400_GPC13_VD13 (0x02 << 26) 323 324 #define S3C2410_GPC14 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 14) 325 #define S3C2410_GPC14_INP (0x00 << 28) 326 #define S3C2410_GPC14_OUTP (0x01 << 28) 327 #define S3C2410_GPC14_VD6 (0x02 << 28) 328 + #define S3C2400_GPC14_VD14 (0x02 << 28) 329 330 #define S3C2410_GPC15 S3C2410_GPIONO(S3C2410_GPIO_BANKC, 15) 331 #define S3C2410_GPC15_INP (0x00 << 30) 332 #define S3C2410_GPC15_OUTP (0x01 << 30) 333 #define S3C2410_GPC15_VD7 (0x02 << 30) 334 + #define S3C2400_GPC15_VD15 (0x02 << 30) 335 336 + #define S3C2410_GPC_PUPDIS(x) (1<<(x)) 337 + 338 + /* 339 + * S3C2410: Port D consists of 16 GPIO/Special function 340 * 341 * almost identical setup to port b, but the special functions are mostly 342 * to do with the video system's data. 343 + * 344 + * S3C2400: Port D consists of 11 GPIO/Special function 345 + * 346 + * almost identical setup to port c 347 */ 348 349 #define S3C2410_GPDCON S3C2410_GPIOREG(0x30) 350 #define S3C2410_GPDDAT S3C2410_GPIOREG(0x34) 351 #define S3C2410_GPDUP S3C2410_GPIOREG(0x38) 352 353 + #define S3C2400_GPDCON S3C2410_GPIOREG(0x20) 354 + #define S3C2400_GPDDAT S3C2410_GPIOREG(0x24) 355 + #define S3C2400_GPDUP S3C2410_GPIOREG(0x28) 356 + 357 #define S3C2410_GPD0 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 0) 358 #define S3C2410_GPD0_INP (0x00 << 0) 359 #define S3C2410_GPD0_OUTP (0x01 << 0) 360 #define S3C2410_GPD0_VD8 (0x02 << 0) 361 + #define S3C2400_GPD0_VFRAME (0x02 << 0) 362 363 #define S3C2410_GPD1 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 1) 364 #define S3C2410_GPD1_INP (0x00 << 2) 365 #define S3C2410_GPD1_OUTP (0x01 << 2) 366 #define S3C2410_GPD1_VD9 (0x02 << 2) 367 + #define S3C2400_GPD1_VM (0x02 << 2) 368 369 #define S3C2410_GPD2 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 2) 370 #define S3C2410_GPD2_INP (0x00 << 4) 371 #define S3C2410_GPD2_OUTP (0x01 << 4) 372 #define S3C2410_GPD2_VD10 (0x02 << 4) 373 + #define S3C2400_GPD2_VLINE (0x02 << 4) 374 375 #define S3C2410_GPD3 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 3) 376 #define S3C2410_GPD3_INP (0x00 << 6) 377 #define S3C2410_GPD3_OUTP (0x01 << 6) 378 #define S3C2410_GPD3_VD11 (0x02 << 6) 379 + #define S3C2400_GPD3_VCLK (0x02 << 6) 380 381 #define S3C2410_GPD4 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 4) 382 #define S3C2410_GPD4_INP (0x00 << 8) 383 #define S3C2410_GPD4_OUTP (0x01 << 8) 384 #define S3C2410_GPD4_VD12 (0x02 << 8) 385 + #define S3C2400_GPD4_LEND (0x02 << 8) 386 387 #define S3C2410_GPD5 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 5) 388 #define S3C2410_GPD5_INP (0x00 << 10) 389 #define S3C2410_GPD5_OUTP (0x01 << 10) 390 #define S3C2410_GPD5_VD13 (0x02 << 10) 391 + #define S3C2400_GPD5_TOUT0 (0x02 << 10) 392 393 #define S3C2410_GPD6 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 6) 394 #define S3C2410_GPD6_INP (0x00 << 12) 395 #define S3C2410_GPD6_OUTP (0x01 << 12) 396 #define S3C2410_GPD6_VD14 (0x02 << 12) 397 + #define S3C2400_GPD6_TOUT1 (0x02 << 12) 398 399 #define S3C2410_GPD7 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 7) 400 #define S3C2410_GPD7_INP (0x00 << 14) 401 #define S3C2410_GPD7_OUTP (0x01 << 14) 402 #define S3C2410_GPD7_VD15 (0x02 << 14) 403 + #define S3C2400_GPD7_TOUT2 (0x02 << 14) 404 405 #define S3C2410_GPD8 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 8) 406 #define S3C2410_GPD8_INP (0x00 << 16) 407 #define S3C2410_GPD8_OUTP (0x01 << 16) 408 #define S3C2410_GPD8_VD16 (0x02 << 16) 409 + #define S3C2400_GPD8_TOUT3 (0x02 << 16) 410 411 #define S3C2410_GPD9 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 9) 412 #define S3C2410_GPD9_INP (0x00 << 18) 413 #define S3C2410_GPD9_OUTP (0x01 << 18) 414 #define S3C2410_GPD9_VD17 (0x02 << 18) 415 + #define S3C2400_GPD9_TCLK0 (0x02 << 18) 416 + #define S3C2410_GPD9_MASK (0x03 << 18) 417 418 #define S3C2410_GPD10 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 10) 419 #define S3C2410_GPD10_INP (0x00 << 20) 420 #define S3C2410_GPD10_OUTP (0x01 << 20) 421 #define S3C2410_GPD10_VD18 (0x02 << 20) 422 + #define S3C2400_GPD10_nWAIT (0x02 << 20) 423 424 #define S3C2410_GPD11 S3C2410_GPIONO(S3C2410_GPIO_BANKD, 11) 425 #define S3C2410_GPD11_INP (0x00 << 22) ··· 403 #define S3C2410_GPD15_OUTP (0x01 << 30) 404 #define S3C2410_GPD15_VD23 (0x02 << 30) 405 406 + #define S3C2410_GPD_PUPDIS(x) (1<<(x)) 407 + 408 + /* S3C2410: 409 + * Port E consists of 16 GPIO/Special function 410 * 411 * again, the same as port B, but dealing with I2S, SDI, and 412 * more miscellaneous functions 413 + * 414 + * S3C2400: 415 + * Port E consists of 12 GPIO/Special function 416 + * 417 + * GPIO / interrupt inputs 418 */ 419 420 #define S3C2410_GPECON S3C2410_GPIOREG(0x40) 421 #define S3C2410_GPEDAT S3C2410_GPIOREG(0x44) 422 #define S3C2410_GPEUP S3C2410_GPIOREG(0x48) 423 424 + #define S3C2400_GPECON S3C2410_GPIOREG(0x2C) 425 + #define S3C2400_GPEDAT S3C2410_GPIOREG(0x30) 426 + #define S3C2400_GPEUP S3C2410_GPIOREG(0x34) 427 + 428 #define S3C2410_GPE0 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 0) 429 #define S3C2410_GPE0_INP (0x00 << 0) 430 #define S3C2410_GPE0_OUTP (0x01 << 0) 431 #define S3C2410_GPE0_I2SLRCK (0x02 << 0) 432 + #define S3C2400_GPE0_EINT0 (0x02 << 0) 433 #define S3C2410_GPE0_MASK (0x03 << 0) 434 435 #define S3C2410_GPE1 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 1) 436 #define S3C2410_GPE1_INP (0x00 << 2) 437 #define S3C2410_GPE1_OUTP (0x01 << 2) 438 #define S3C2410_GPE1_I2SSCLK (0x02 << 2) 439 + #define S3C2400_GPE1_EINT1 (0x02 << 2) 440 + #define S3C2400_GPE1_nSS (0x03 << 2) 441 #define S3C2410_GPE1_MASK (0x03 << 2) 442 443 #define S3C2410_GPE2 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 2) 444 #define S3C2410_GPE2_INP (0x00 << 4) 445 #define S3C2410_GPE2_OUTP (0x01 << 4) 446 #define S3C2410_GPE2_CDCLK (0x02 << 4) 447 + #define S3C2400_GPE2_EINT2 (0x02 << 4) 448 + #define S3C2400_GPE2_I2SSDI (0x03 << 4) 449 450 #define S3C2410_GPE3 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 3) 451 #define S3C2410_GPE3_INP (0x00 << 6) 452 #define S3C2410_GPE3_OUTP (0x01 << 6) 453 #define S3C2410_GPE3_I2SSDI (0x02 << 6) 454 + #define S3C2400_GPE3_EINT3 (0x02 << 6) 455 + #define S3C2400_GPE3_nCTS1 (0x03 << 6) 456 #define S3C2410_GPE3_nSS0 (0x03 << 6) 457 #define S3C2410_GPE3_MASK (0x03 << 6) 458 ··· 441 #define S3C2410_GPE4_INP (0x00 << 8) 442 #define S3C2410_GPE4_OUTP (0x01 << 8) 443 #define S3C2410_GPE4_I2SSDO (0x02 << 8) 444 + #define S3C2400_GPE4_EINT4 (0x02 << 8) 445 + #define S3C2400_GPE4_nRTS1 (0x03 << 8) 446 #define S3C2410_GPE4_I2SSDI (0x03 << 8) 447 #define S3C2410_GPE4_MASK (0x03 << 8) 448 ··· 448 #define S3C2410_GPE5_INP (0x00 << 10) 449 #define S3C2410_GPE5_OUTP (0x01 << 10) 450 #define S3C2410_GPE5_SDCLK (0x02 << 10) 451 + #define S3C2400_GPE5_EINT5 (0x02 << 10) 452 + #define S3C2400_GPE5_TCLK1 (0x03 << 10) 453 454 #define S3C2410_GPE6 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 6) 455 #define S3C2410_GPE6_INP (0x00 << 12) 456 #define S3C2410_GPE6_OUTP (0x01 << 12) 457 #define S3C2410_GPE6_SDCMD (0x02 << 12) 458 + #define S3C2400_GPE6_EINT6 (0x02 << 12) 459 460 #define S3C2410_GPE7 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 7) 461 #define S3C2410_GPE7_INP (0x00 << 14) 462 #define S3C2410_GPE7_OUTP (0x01 << 14) 463 #define S3C2410_GPE7_SDDAT0 (0x02 << 14) 464 + #define S3C2400_GPE7_EINT7 (0x02 << 14) 465 466 #define S3C2410_GPE8 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 8) 467 #define S3C2410_GPE8_INP (0x00 << 16) 468 #define S3C2410_GPE8_OUTP (0x01 << 16) 469 #define S3C2410_GPE8_SDDAT1 (0x02 << 16) 470 + #define S3C2400_GPE8_nXDACK0 (0x02 << 16) 471 472 #define S3C2410_GPE9 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 9) 473 #define S3C2410_GPE9_INP (0x00 << 18) 474 #define S3C2410_GPE9_OUTP (0x01 << 18) 475 #define S3C2410_GPE9_SDDAT2 (0x02 << 18) 476 + #define S3C2400_GPE9_nXDACK1 (0x02 << 18) 477 + #define S3C2400_GPE9_nXBACK (0x03 << 18) 478 479 #define S3C2410_GPE10 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 10) 480 #define S3C2410_GPE10_INP (0x00 << 20) 481 #define S3C2410_GPE10_OUTP (0x01 << 20) 482 #define S3C2410_GPE10_SDDAT3 (0x02 << 20) 483 + #define S3C2400_GPE10_nXDREQ0 (0x02 << 20) 484 485 #define S3C2410_GPE11 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 11) 486 #define S3C2410_GPE11_INP (0x00 << 22) 487 #define S3C2410_GPE11_OUTP (0x01 << 22) 488 #define S3C2410_GPE11_SPIMISO0 (0x02 << 22) 489 + #define S3C2400_GPE11_nXDREQ1 (0x02 << 22) 490 + #define S3C2400_GPE11_nXBREQ (0x03 << 22) 491 492 #define S3C2410_GPE12 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 12) 493 #define S3C2410_GPE12_INP (0x00 << 24) ··· 509 510 #define S3C2410_GPE_PUPDIS(x) (1<<(x)) 511 512 + /* S3C2410: 513 + * Port F consists of 8 GPIO/Special function 514 * 515 * GPIO / interrupt inputs 516 * ··· 517 * 00 = 0 input, 1 output, 2 interrupt (EINT0..7), 3 undefined 518 * 519 * pull up works like all other ports. 520 + * 521 + * S3C2400: 522 + * Port F consists of 7 GPIO/Special function 523 + * 524 + * GPIO/serial/misc pins 525 */ 526 527 #define S3C2410_GPFCON S3C2410_GPIOREG(0x50) 528 #define S3C2410_GPFDAT S3C2410_GPIOREG(0x54) 529 #define S3C2410_GPFUP S3C2410_GPIOREG(0x58) 530 531 + #define S3C2400_GPFCON S3C2410_GPIOREG(0x38) 532 + #define S3C2400_GPFDAT S3C2410_GPIOREG(0x3C) 533 + #define S3C2400_GPFUP S3C2410_GPIOREG(0x40) 534 + 535 #define S3C2410_GPF0 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 0) 536 #define S3C2410_GPF0_INP (0x00 << 0) 537 #define S3C2410_GPF0_OUTP (0x01 << 0) 538 #define S3C2410_GPF0_EINT0 (0x02 << 0) 539 + #define S3C2400_GPF0_RXD0 (0x02 << 0) 540 541 #define S3C2410_GPF1 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 1) 542 #define S3C2410_GPF1_INP (0x00 << 2) 543 #define S3C2410_GPF1_OUTP (0x01 << 2) 544 #define S3C2410_GPF1_EINT1 (0x02 << 2) 545 + #define S3C2400_GPF1_RXD1 (0x02 << 2) 546 + #define S3C2400_GPF1_IICSDA (0x03 << 2) 547 548 #define S3C2410_GPF2 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 2) 549 #define S3C2410_GPF2_INP (0x00 << 4) 550 #define S3C2410_GPF2_OUTP (0x01 << 4) 551 #define S3C2410_GPF2_EINT2 (0x02 << 4) 552 + #define S3C2400_GPF2_TXD0 (0x02 << 4) 553 554 #define S3C2410_GPF3 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 3) 555 #define S3C2410_GPF3_INP (0x00 << 6) 556 #define S3C2410_GPF3_OUTP (0x01 << 6) 557 #define S3C2410_GPF3_EINT3 (0x02 << 6) 558 + #define S3C2400_GPF3_TXD1 (0x02 << 6) 559 + #define S3C2400_GPF3_IICSCL (0x03 << 6) 560 561 #define S3C2410_GPF4 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 4) 562 #define S3C2410_GPF4_INP (0x00 << 8) 563 #define S3C2410_GPF4_OUTP (0x01 << 8) 564 #define S3C2410_GPF4_EINT4 (0x02 << 8) 565 + #define S3C2400_GPF4_nRTS0 (0x02 << 8) 566 + #define S3C2400_GPF4_nXBACK (0x03 << 8) 567 568 #define S3C2410_GPF5 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 5) 569 #define S3C2410_GPF5_INP (0x00 << 10) 570 #define S3C2410_GPF5_OUTP (0x01 << 10) 571 #define S3C2410_GPF5_EINT5 (0x02 << 10) 572 + #define S3C2400_GPF5_nCTS0 (0x02 << 10) 573 + #define S3C2400_GPF5_nXBREQ (0x03 << 10) 574 575 #define S3C2410_GPF6 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 6) 576 #define S3C2410_GPF6_INP (0x00 << 12) 577 #define S3C2410_GPF6_OUTP (0x01 << 12) 578 #define S3C2410_GPF6_EINT6 (0x02 << 12) 579 + #define S3C2400_GPF6_CLKOUT (0x02 << 12) 580 581 #define S3C2410_GPF7 S3C2410_GPIONO(S3C2410_GPIO_BANKF, 7) 582 #define S3C2410_GPF7_INP (0x00 << 14) 583 #define S3C2410_GPF7_OUTP (0x01 << 14) 584 #define S3C2410_GPF7_EINT7 (0x02 << 14) 585 586 + #define S3C2410_GPF_PUPDIS(x) (1<<(x)) 587 + 588 + /* S3C2410: 589 + * Port G consists of 8 GPIO/IRQ/Special function 590 * 591 * GPGCON has 2 bits for each of the input pins on port F 592 * 00 = 0 input, 1 output, 2 interrupt (EINT0..7), 3 special func 593 * 594 * pull up works like all other ports. 595 + * 596 + * S3C2400: 597 + * Port G consists of 10 GPIO/Special function 598 */ 599 600 #define S3C2410_GPGCON S3C2410_GPIOREG(0x60) 601 #define S3C2410_GPGDAT S3C2410_GPIOREG(0x64) 602 #define S3C2410_GPGUP S3C2410_GPIOREG(0x68) 603 604 + #define S3C2400_GPGCON S3C2410_GPIOREG(0x44) 605 + #define S3C2400_GPGDAT S3C2410_GPIOREG(0x48) 606 + #define S3C2400_GPGUP S3C2410_GPIOREG(0x4C) 607 + 608 #define S3C2410_GPG0 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 0) 609 #define S3C2410_GPG0_INP (0x00 << 0) 610 #define S3C2410_GPG0_OUTP (0x01 << 0) 611 #define S3C2410_GPG0_EINT8 (0x02 << 0) 612 + #define S3C2400_GPG0_I2SLRCK (0x02 << 0) 613 614 #define S3C2410_GPG1 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 1) 615 #define S3C2410_GPG1_INP (0x00 << 2) 616 #define S3C2410_GPG1_OUTP (0x01 << 2) 617 #define S3C2410_GPG1_EINT9 (0x02 << 2) 618 + #define S3C2400_GPG1_I2SSCLK (0x02 << 2) 619 620 #define S3C2410_GPG2 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 2) 621 #define S3C2410_GPG2_INP (0x00 << 4) 622 #define S3C2410_GPG2_OUTP (0x01 << 4) 623 #define S3C2410_GPG2_EINT10 (0x02 << 4) 624 + #define S3C2400_GPG2_CDCLK (0x02 << 4) 625 626 #define S3C2410_GPG3 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 3) 627 #define S3C2410_GPG3_INP (0x00 << 6) 628 #define S3C2410_GPG3_OUTP (0x01 << 6) 629 #define S3C2410_GPG3_EINT11 (0x02 << 6) 630 + #define S3C2400_GPG3_I2SSDO (0x02 << 6) 631 + #define S3C2400_GPG3_I2SSDI (0x03 << 6) 632 633 #define S3C2410_GPG4 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 4) 634 #define S3C2410_GPG4_INP (0x00 << 8) 635 #define S3C2410_GPG4_OUTP (0x01 << 8) 636 #define S3C2410_GPG4_EINT12 (0x02 << 8) 637 + #define S3C2400_GPG4_MMCCLK (0x02 << 8) 638 + #define S3C2400_GPG4_I2SSDI (0x03 << 8) 639 #define S3C2410_GPG4_LCDPWREN (0x03 << 8) 640 641 #define S3C2410_GPG5 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 5) 642 #define S3C2410_GPG5_INP (0x00 << 10) 643 #define S3C2410_GPG5_OUTP (0x01 << 10) 644 #define S3C2410_GPG5_EINT13 (0x02 << 10) 645 + #define S3C2400_GPG5_MMCCMD (0x02 << 10) 646 + #define S3C2400_GPG5_IICSDA (0x03 << 10) 647 #define S3C2410_GPG5_SPIMISO1 (0x03 << 10) 648 649 #define S3C2410_GPG6 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 6) 650 #define S3C2410_GPG6_INP (0x00 << 12) 651 #define S3C2410_GPG6_OUTP (0x01 << 12) 652 #define S3C2410_GPG6_EINT14 (0x02 << 12) 653 + #define S3C2400_GPG6_MMCDAT (0x02 << 12) 654 + #define S3C2400_GPG6_IICSCL (0x03 << 12) 655 #define S3C2410_GPG6_SPIMOSI1 (0x03 << 12) 656 657 #define S3C2410_GPG7 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 7) ··· 618 #define S3C2410_GPG7_OUTP (0x01 << 14) 619 #define S3C2410_GPG7_EINT15 (0x02 << 14) 620 #define S3C2410_GPG7_SPICLK1 (0x03 << 14) 621 + #define S3C2400_GPG7_SPIMISO (0x02 << 14) 622 + #define S3C2400_GPG7_IICSDA (0x03 << 14) 623 624 #define S3C2410_GPG8 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 8) 625 #define S3C2410_GPG8_INP (0x00 << 16) 626 #define S3C2410_GPG8_OUTP (0x01 << 16) 627 #define S3C2410_GPG8_EINT16 (0x02 << 16) 628 + #define S3C2400_GPG8_SPIMOSI (0x02 << 16) 629 + #define S3C2400_GPG8_IICSCL (0x03 << 16) 630 631 #define S3C2410_GPG9 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 9) 632 #define S3C2410_GPG9_INP (0x00 << 18) 633 #define S3C2410_GPG9_OUTP (0x01 << 18) 634 #define S3C2410_GPG9_EINT17 (0x02 << 18) 635 + #define S3C2400_GPG9_SPICLK (0x02 << 18) 636 + #define S3C2400_GPG9_MMCCLK (0x03 << 18) 637 638 #define S3C2410_GPG10 S3C2410_GPIONO(S3C2410_GPIO_BANKG, 10) 639 #define S3C2410_GPG10_INP (0x00 << 20) ··· 737 #define S3C2410_GPH10_CLKOUT1 (0x02 << 20) 738 739 /* miscellaneous control */ 740 + #define S3C2400_MISCCR S3C2410_GPIOREG(0x54) 741 #define S3C2410_MISCCR S3C2410_GPIOREG(0x80) 742 #define S3C2410_DCLKCON S3C2410_GPIOREG(0x84) 743 744 /* see clock.h for dclk definitions */ 745 746 /* pullup control on databus */ 747 + #define S3C2410_MISCCR_SPUCR_HEN (0<<0) 748 #define S3C2410_MISCCR_SPUCR_HDIS (1<<0) 749 + #define S3C2410_MISCCR_SPUCR_LEN (0<<1) 750 #define S3C2410_MISCCR_SPUCR_LDIS (1<<1) 751 752 + #define S3C2400_MISCCR_SPUCR_LEN (0<<0) 753 + #define S3C2400_MISCCR_SPUCR_LDIS (1<<0) 754 + #define S3C2400_MISCCR_SPUCR_HEN (0<<1) 755 + #define S3C2400_MISCCR_SPUCR_HDIS (1<<1) 756 + 757 + #define S3C2400_MISCCR_HZ_STOPEN (0<<2) 758 + #define S3C2400_MISCCR_HZ_STOPPREV (1<<2) 759 + 760 + #define S3C2410_MISCCR_USBDEV (0<<3) 761 #define S3C2410_MISCCR_USBHOST (1<<3) 762 763 #define S3C2410_MISCCR_CLK0_MPLL (0<<4) ··· 785 * 786 * Samsung datasheet p9-25 787 */ 788 + #define S3C2400_EXTINT0 S3C2410_GPIOREG(0x58) 789 #define S3C2410_EXTINT0 S3C2410_GPIOREG(0x88) 790 #define S3C2410_EXTINT1 S3C2410_GPIOREG(0x8C) 791 #define S3C2410_EXTINT2 S3C2410_GPIOREG(0x90) ··· 832 #define S3C2410_GSTATUS2_WTRESET (1<<2) 833 #define S3C2410_GSTATUS2_OFFRESET (1<<1) 834 #define S3C2410_GSTATUS2_PONRESET (1<<0) 835 + 836 + /* open drain control register */ 837 + #define S3C2400_OPENCR S3C2410_GPIOREG(0x50) 838 + 839 + #define S3C2400_OPENCR_OPC_RXD1DIS (0<<0) 840 + #define S3C2400_OPENCR_OPC_RXD1EN (1<<0) 841 + #define S3C2400_OPENCR_OPC_TXD1DIS (0<<1) 842 + #define S3C2400_OPENCR_OPC_TXD1EN (1<<1) 843 + #define S3C2400_OPENCR_OPC_CMDDIS (0<<2) 844 + #define S3C2400_OPENCR_OPC_CMDEN (1<<2) 845 + #define S3C2400_OPENCR_OPC_DATDIS (0<<3) 846 + #define S3C2400_OPENCR_OPC_DATEN (1<<3) 847 + #define S3C2400_OPENCR_OPC_MISODIS (0<<4) 848 + #define S3C2400_OPENCR_OPC_MISOEN (1<<4) 849 + #define S3C2400_OPENCR_OPC_MOSIDIS (0<<5) 850 + #define S3C2400_OPENCR_OPC_MOSIEN (1<<5) 851 852 #endif /* __ASM_ARCH_REGS_GPIO_H */ 853