X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Farch-s3c2410%2Fhardware.h;h=6dadf58ff9847842c0644787f23a7e687f91d5d4;hb=refs%2Fheads%2Fvserver;hp=d434d77fe7f169b4d6f276bb98c317272fd0a9a3;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/include/asm-arm/arch-s3c2410/hardware.h b/include/asm-arm/arch-s3c2410/hardware.h index d434d77fe..6dadf58ff 100644 --- a/include/asm-arm/arch-s3c2410/hardware.h +++ b/include/asm-arm/arch-s3c2410/hardware.h @@ -1,30 +1,23 @@ /* linux/include/asm-arm/arch-s3c2410/hardware.h * - * (c) 2003 Simtec Electronics - * Ben Dooks + * Copyright (c) 2003 Simtec Electronics + * Ben Dooks * * S3C2410 - hardware * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. - * - * Changelog: - * 21-May-2003 BJD Created file - * 06-Jun-2003 BJD Added CPU frequency settings - * 03-Sep-2003 BJD Linux v2.6 support - * 12-Mar-2004 BJD Fixed include protection, fixed type of clock vars */ #ifndef __ASM_ARCH_HARDWARE_H #define __ASM_ARCH_HARDWARE_H -#ifndef __ASSEMBLY__ +#ifndef __ASM_HARDWARE_H +#error "Do not include this directly, instead #include " +#endif -/* processor clock settings, in Hz */ -extern unsigned long s3c2410_pclk; -extern unsigned long s3c2410_hclk; -extern unsigned long s3c2410_fclk; +#ifndef __ASSEMBLY__ /* external functions for GPIO support * @@ -44,6 +37,41 @@ extern unsigned long s3c2410_fclk; extern void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function); +extern unsigned int s3c2410_gpio_getcfg(unsigned int pin); + +/* s3c2410_gpio_getirq + * + * turn the given pin number into the corresponding IRQ number + * + * returns: + * < 0 = no interrupt for this pin + * >=0 = interrupt number for the pin +*/ + +extern int s3c2410_gpio_getirq(unsigned int pin); + +#ifdef CONFIG_CPU_S3C2400 + +extern int s3c2400_gpio_getirq(unsigned int pin); + +#endif /* CONFIG_CPU_S3C2400 */ + +/* s3c2410_gpio_irqfilter + * + * set the irq filtering on the given pin + * + * on = 0 => disable filtering + * 1 => enable filtering + * + * config = S3C2410_EINTFLT_PCLK or S3C2410_EINTFLT_EXTCLK orred with + * width of filter (0 through 63) + * + * +*/ + +extern int s3c2410_gpio_irqfilter(unsigned int pin, unsigned int on, + unsigned int config); + /* s3c2410_gpio_pullup * * configure the pull-up control on the given pin @@ -61,16 +89,23 @@ extern void s3c2410_gpio_pullup(unsigned int pin, unsigned int to); extern void s3c2410_gpio_setpin(unsigned int pin, unsigned int to); +extern unsigned int s3c2410_gpio_getpin(unsigned int pin); + +extern unsigned int s3c2410_modify_misccr(unsigned int clr, unsigned int chg); + +#ifdef CONFIG_CPU_S3C2440 + +extern int s3c2440_set_dsc(unsigned int pin, unsigned int value); + +#endif /* CONFIG_CPU_S3C2440 */ + + #endif /* __ASSEMBLY__ */ #include #include -/* machine specific includes, such as the BAST */ - -#if defined(CONFIG_ARCH_BAST) -#include -#endif +/* machine specific hardware definitions should go after this */ /* currently here until moved into config (todo) */ #define CONFIG_NO_MULTIWORD_IO