diff options
Diffstat (limited to 'arch/arm/plat-s3c24xx/include')
20 files changed, 0 insertions, 1441 deletions
diff --git a/arch/arm/plat-s3c24xx/include/mach/pwm-clock.h b/arch/arm/plat-s3c24xx/include/mach/pwm-clock.h deleted file mode 100644 index a087de21bc2..00000000000 --- a/arch/arm/plat-s3c24xx/include/mach/pwm-clock.h +++ /dev/null @@ -1,55 +0,0 @@ -/* linux/arch/arm/plat-s3c24xx/include/mach/pwm-clock.h - * - * Copyright 2008 Simtec Electronics - *      Ben Dooks <ben@simtec.co.uk> - *      http://armlinux.simtec.co.uk/ - * - * S3C24xx - pwm clock and timer support - */ - -/** - * pwm_cfg_src_is_tclk() - return whether the given mux config is a tclk - * @cfg: The timer TCFG1 register bits shifted down to 0. - * - * Return true if the given configuration from TCFG1 is a TCLK instead - * any of the TDIV clocks. - */ -static inline int pwm_cfg_src_is_tclk(unsigned long tcfg) -{ -	return tcfg == S3C2410_TCFG1_MUX_TCLK; -} - -/** - * tcfg_to_divisor() - convert tcfg1 setting to a divisor - * @tcfg1: The tcfg1 setting, shifted down. - * - * Get the divisor value for the given tcfg1 setting. We assume the - * caller has already checked to see if this is not a TCLK source. - */ -static inline unsigned long tcfg_to_divisor(unsigned long tcfg1) -{ -	return 1 << (1 + tcfg1); -} - -/** - * pwm_tdiv_has_div1() - does the tdiv setting have a /1 - * - * Return true if we have a /1 in the tdiv setting. - */ -static inline unsigned int pwm_tdiv_has_div1(void) -{ -	return 0; -} - -/** - * pwm_tdiv_div_bits() - calculate TCFG1 divisor value. - * @div: The divisor to calculate the bit information for. - * - * Turn a divisor into the necessary bit field for TCFG1. - */ -static inline unsigned long pwm_tdiv_div_bits(unsigned int div) -{ -	return ilog2(div) - 1; -} - -#define S3C_TCFG1_MUX_TCLK S3C2410_TCFG1_MUX_TCLK diff --git a/arch/arm/plat-s3c24xx/include/plat/audio-simtec.h b/arch/arm/plat-s3c24xx/include/plat/audio-simtec.h deleted file mode 100644 index de5e88fdcb3..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/audio-simtec.h +++ /dev/null @@ -1,37 +0,0 @@ -/* arch/arm/plat-s3c24xx/include/plat/audio-simtec.h - * - * Copyright 2008 Simtec Electronics - *	http://armlinux.simtec.co.uk/ - *	Ben Dooks <ben@simtec.co.uk> - * - * 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. - * - * Simtec Audio support. -*/ - -/** - * struct s3c24xx_audio_simtec_pdata - platform data for simtec audio - * @use_mpllin: Select codec clock from MPLLin - * @output_cdclk: Need to output CDCLK to the codec - * @have_mic: Set if we have a MIC socket - * @have_lout: Set if we have a LineOut socket - * @amp_gpio: GPIO pin to enable the AMP - * @amp_gain: Option GPIO to control AMP gain - */ -struct s3c24xx_audio_simtec_pdata { -	unsigned int	use_mpllin:1; -	unsigned int	output_cdclk:1; - -	unsigned int	have_mic:1; -	unsigned int	have_lout:1; - -	int		amp_gpio; -	int		amp_gain[2]; - -	void	(*startup)(void); -}; - -extern int simtec_audio_add(const char *codec_name, bool has_lr_routing, -			    struct s3c24xx_audio_simtec_pdata *pdata); diff --git a/arch/arm/plat-s3c24xx/include/plat/common-smdk.h b/arch/arm/plat-s3c24xx/include/plat/common-smdk.h deleted file mode 100644 index 58d9094c935..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/common-smdk.h +++ /dev/null @@ -1,15 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/common-smdk.h - * - * Copyright (c) 2006 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Common code for SMDK2410 and SMDK2440 boards - * - * http://www.fluff.org/ben/smdk2440/ - * - * 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. -*/ - -extern void smdk_machine_init(void); diff --git a/arch/arm/plat-s3c24xx/include/plat/cpu-freq-core.h b/arch/arm/plat-s3c24xx/include/plat/cpu-freq-core.h deleted file mode 100644 index d623235ae96..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/cpu-freq-core.h +++ /dev/null @@ -1,287 +0,0 @@ -/* arch/arm/plat-s3c/include/plat/cpu-freq.h - * - * Copyright (c) 2006-2009 Simtec Electronics - *	http://armlinux.simtec.co.uk/ - *	Ben Dooks <ben@simtec.co.uk> - * - * S3C CPU frequency scaling support - core support - * - * 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. -*/ - -#include <plat/cpu-freq.h> - -struct seq_file; - -#define MAX_BANKS (8) -#define S3C2412_MAX_IO	(8) - -/** - * struct s3c2410_iobank_timing - IO bank timings for S3C2410 style timings - * @bankcon: The cached version of settings in this structure. - * @tacp: - * @tacs: Time from address valid to nCS asserted. - * @tcos: Time from nCS asserted to nOE or nWE asserted. - * @tacc: Time that nOE or nWE is asserted. - * @tcoh: Time nCS is held after nOE or nWE are released. - * @tcah: Time address is held for after - * @nwait_en: Whether nWAIT is enabled for this bank. - * - * This structure represents the IO timings for a S3C2410 style IO bank - * used by the CPU frequency support if it needs to change the settings - * of the IO. - */ -struct s3c2410_iobank_timing { -	unsigned long	bankcon; -	unsigned int	tacp; -	unsigned int	tacs; -	unsigned int	tcos; -	unsigned int	tacc; -	unsigned int	tcoh;		/* nCS hold afrer nOE/nWE */ -	unsigned int	tcah;		/* Address hold after nCS */ -	unsigned char	nwait_en;	/* nWait enabled for bank. */ -}; - -/** - * struct s3c2412_iobank_timing - io timings for PL092 (S3C2412) style IO - * @idcy: The idle cycle time between transactions. - * @wstrd: nCS release to end of read cycle. - * @wstwr: nCS release to end of write cycle. - * @wstoen: nCS assertion to nOE assertion time. - * @wstwen: nCS assertion to nWE assertion time. - * @wstbrd: Burst ready delay. - * @smbidcyr: Register cache for smbidcyr value. - * @smbwstrd: Register cache for smbwstrd value. - * @smbwstwr: Register cache for smbwstwr value. - * @smbwstoen: Register cache for smbwstoen value. - * @smbwstwen: Register cache for smbwstwen value. - * @smbwstbrd: Register cache for smbwstbrd value. - * - * Timing information for a IO bank on an S3C2412 or similar system which - * uses a PL093 block. - */ -struct s3c2412_iobank_timing { -	unsigned int	idcy; -	unsigned int	wstrd; -	unsigned int	wstwr; -	unsigned int	wstoen; -	unsigned int	wstwen; -	unsigned int	wstbrd; - -	/* register cache */ -	unsigned char	smbidcyr; -	unsigned char	smbwstrd; -	unsigned char	smbwstwr; -	unsigned char	smbwstoen; -	unsigned char	smbwstwen; -	unsigned char	smbwstbrd; -}; - -union s3c_iobank { -	struct s3c2410_iobank_timing	*io_2410; -	struct s3c2412_iobank_timing	*io_2412; -}; - -/** - * struct s3c_iotimings - Chip IO timings holder - * @bank: The timings for each IO bank. - */ -struct s3c_iotimings { -	union s3c_iobank	bank[MAX_BANKS]; -}; - -/** - * struct s3c_plltab - PLL table information. - * @vals: List of PLL values. - * @size: Size of the PLL table @vals. - */ -struct s3c_plltab { -	struct s3c_pllval	*vals; -	int			 size; -}; - -/** - * struct s3c_cpufreq_config - current cpu frequency configuration - * @freq: The current settings for the core clocks. - * @max: Maxium settings, derived from core, board and user settings. - * @pll: The PLL table entry for the current PLL settings. - * @divs: The divisor settings for the core clocks. - * @info: The current core driver information. - * @board: The information for the board we are running on. - * @lock_pll: Set if the PLL settings cannot be changed. - * - * This is for the core drivers that need to know information about - * the current settings and values. It should not be needed by any - * device drivers. -*/ -struct s3c_cpufreq_config { -	struct s3c_freq		freq; -	struct s3c_freq		max; -	struct cpufreq_frequency_table pll; -	struct s3c_clkdivs	divs; -	struct s3c_cpufreq_info *info;	/* for core, not drivers */ -	struct s3c_cpufreq_board *board; - -	unsigned int	lock_pll:1; -}; - -/** - * struct s3c_cpufreq_info - Information for the CPU frequency driver. - * @name: The name of this implementation. - * @max: The maximum frequencies for the system. - * @latency: Transition latency to give to cpufreq. - * @locktime_m: The lock-time in uS for the MPLL. - * @locktime_u: The lock-time in uS for the UPLL. - * @locttime_bits: The number of bits each LOCKTIME field. - * @need_pll: Set if this driver needs to change the PLL values to achieve - *	any frequency changes. This is really only need by devices like the - *	S3C2410 where there is no or limited divider between the PLL and the - *	ARMCLK. - * @resume_clocks: Update the clocks on resume. - * @get_iotiming: Get the current IO timing data, mainly for use at start. - * @set_iotiming: Update the IO timings from the cached copies calculated - *	from the @calc_iotiming entry when changing the frequency. - * @calc_iotiming: Calculate and update the cached copies of the IO timings - *	from the newly calculated frequencies. - * @calc_freqtable: Calculate (fill in) the given frequency table from the - *	current frequency configuration. If the table passed in is NULL, - *	then the return is the number of elements to be filled for allocation - *	of the table. - * @set_refresh: Set the memory refresh configuration. - * @set_fvco: Set the PLL frequencies. - * @set_divs: Update the clock divisors. - * @calc_divs: Calculate the clock divisors. - */ -struct s3c_cpufreq_info { -	const char		*name; -	struct s3c_freq		max; - -	unsigned int		latency; - -	unsigned int		locktime_m; -	unsigned int		locktime_u; -	unsigned char		locktime_bits; - -	unsigned int		need_pll:1; - -	/* driver routines */ - -	void		(*resume_clocks)(void); - -	int		(*get_iotiming)(struct s3c_cpufreq_config *cfg, -					struct s3c_iotimings *timings); - -	void		(*set_iotiming)(struct s3c_cpufreq_config *cfg, -					struct s3c_iotimings *timings); - -	int		(*calc_iotiming)(struct s3c_cpufreq_config *cfg, -					 struct s3c_iotimings *timings); - -	int		(*calc_freqtable)(struct s3c_cpufreq_config *cfg, -					  struct cpufreq_frequency_table *t, -					  size_t table_size); - -	void		(*debug_io_show)(struct seq_file *seq, -					 struct s3c_cpufreq_config *cfg, -					 union s3c_iobank *iob); - -	void		(*set_refresh)(struct s3c_cpufreq_config *cfg); -	void		(*set_fvco)(struct s3c_cpufreq_config *cfg); -	void		(*set_divs)(struct s3c_cpufreq_config *cfg); -	int		(*calc_divs)(struct s3c_cpufreq_config *cfg); -}; - -extern int s3c_cpufreq_register(struct s3c_cpufreq_info *info); - -extern int s3c_plltab_register(struct cpufreq_frequency_table *plls, unsigned int plls_no); - -/* exports and utilities for debugfs */ -extern struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void); -extern struct s3c_iotimings *s3c_cpufreq_getiotimings(void); - -extern void s3c2410_iotiming_debugfs(struct seq_file *seq, -				     struct s3c_cpufreq_config *cfg, -				     union s3c_iobank *iob); - -extern void s3c2412_iotiming_debugfs(struct seq_file *seq, -				     struct s3c_cpufreq_config *cfg, -				     union s3c_iobank *iob); - -#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS -#define s3c_cpufreq_debugfs_call(x) x -#else -#define s3c_cpufreq_debugfs_call(x) NULL -#endif - -/* Useful utility functions. */ - -extern struct clk *s3c_cpufreq_clk_get(struct device *, const char *); - -/* S3C2410 and compatible exported functions */ - -extern void s3c2410_cpufreq_setrefresh(struct s3c_cpufreq_config *cfg); -extern void s3c2410_set_fvco(struct s3c_cpufreq_config *cfg); - -#ifdef CONFIG_S3C2410_IOTIMING -extern int s3c2410_iotiming_calc(struct s3c_cpufreq_config *cfg, -				 struct s3c_iotimings *iot); - -extern int s3c2410_iotiming_get(struct s3c_cpufreq_config *cfg, -				struct s3c_iotimings *timings); - -extern void s3c2410_iotiming_set(struct s3c_cpufreq_config *cfg, -				 struct s3c_iotimings *iot); -#else -#define s3c2410_iotiming_calc NULL -#define s3c2410_iotiming_get NULL -#define s3c2410_iotiming_set NULL -#endif /* CONFIG_S3C2410_IOTIMING */ - -/* S3C2412 compatible routines */ - -extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg, -				struct s3c_iotimings *timings); - -extern int s3c2412_iotiming_get(struct s3c_cpufreq_config *cfg, -				struct s3c_iotimings *timings); - -extern int s3c2412_iotiming_calc(struct s3c_cpufreq_config *cfg, -				 struct s3c_iotimings *iot); - -extern void s3c2412_iotiming_set(struct s3c_cpufreq_config *cfg, -				 struct s3c_iotimings *iot); - -#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUG -#define s3c_freq_dbg(x...) printk(KERN_INFO x) -#else -#define s3c_freq_dbg(x...) do { if (0) printk(x); } while (0) -#endif /* CONFIG_CPU_FREQ_S3C24XX_DEBUG */ - -#ifdef CONFIG_CPU_FREQ_S3C24XX_IODEBUG -#define s3c_freq_iodbg(x...) printk(KERN_INFO x) -#else -#define s3c_freq_iodbg(x...) do { if (0) printk(x); } while (0) -#endif /* CONFIG_CPU_FREQ_S3C24XX_IODEBUG */ - -static inline int s3c_cpufreq_addfreq(struct cpufreq_frequency_table *table, -				      int index, size_t table_size, -				      unsigned int freq) -{ -	if (index < 0) -		return index; - -	if (table) { -		if (index >= table_size) -			return -ENOMEM; - -		s3c_freq_dbg("%s: { %d = %u kHz }\n", -			     __func__, index, freq); - -		table[index].index = index; -		table[index].frequency = freq; -	} - -	return index + 1; -} diff --git a/arch/arm/plat-s3c24xx/include/plat/fiq.h b/arch/arm/plat-s3c24xx/include/plat/fiq.h deleted file mode 100644 index 8521b8372c5..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/fiq.h +++ /dev/null @@ -1,13 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/fiq.h - * - * Copyright (c) 2009 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Header file for S3C24XX CPU FIQ support - * - * 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. -*/ - -extern int s3c24xx_set_fiq(unsigned int irq, bool on); diff --git a/arch/arm/plat-s3c24xx/include/plat/irq.h b/arch/arm/plat-s3c24xx/include/plat/irq.h deleted file mode 100644 index 69e1be8bec3..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/irq.h +++ /dev/null @@ -1,115 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/irq.h - * - * Copyright (c) 2004-2005 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Header file for S3C24XX CPU IRQ support - * - * 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. -*/ - -#include <linux/io.h> - -#include <mach/hardware.h> -#include <mach/regs-irq.h> -#include <mach/regs-gpio.h> - -#define irqdbf(x...) -#define irqdbf2(x...) - -#define EXTINT_OFF (IRQ_EINT4 - 4) - -/* these are exported for arch/arm/mach-* usage */ -extern struct irq_chip s3c_irq_level_chip; -extern struct irq_chip s3c_irq_chip; - -static inline void -s3c_irqsub_mask(unsigned int irqno, unsigned int parentbit, -		int subcheck) -{ -	unsigned long mask; -	unsigned long submask; - -	submask = __raw_readl(S3C2410_INTSUBMSK); -	mask = __raw_readl(S3C2410_INTMSK); - -	submask |= (1UL << (irqno - IRQ_S3CUART_RX0)); - -	/* check to see if we need to mask the parent IRQ */ - -	if ((submask  & subcheck) == subcheck) { -		__raw_writel(mask | parentbit, S3C2410_INTMSK); -	} - -	/* write back masks */ -	__raw_writel(submask, S3C2410_INTSUBMSK); - -} - -static inline void -s3c_irqsub_unmask(unsigned int irqno, unsigned int parentbit) -{ -	unsigned long mask; -	unsigned long submask; - -	submask = __raw_readl(S3C2410_INTSUBMSK); -	mask = __raw_readl(S3C2410_INTMSK); - -	submask &= ~(1UL << (irqno - IRQ_S3CUART_RX0)); -	mask &= ~parentbit; - -	/* write back masks */ -	__raw_writel(submask, S3C2410_INTSUBMSK); -	__raw_writel(mask, S3C2410_INTMSK); -} - - -static inline void -s3c_irqsub_maskack(unsigned int irqno, unsigned int parentmask, unsigned int group) -{ -	unsigned int bit = 1UL << (irqno - IRQ_S3CUART_RX0); - -	s3c_irqsub_mask(irqno, parentmask, group); - -	__raw_writel(bit, S3C2410_SUBSRCPND); - -	/* only ack parent if we've got all the irqs (seems we must -	 * ack, all and hope that the irq system retriggers ok when -	 * the interrupt goes off again) -	 */ - -	if (1) { -		__raw_writel(parentmask, S3C2410_SRCPND); -		__raw_writel(parentmask, S3C2410_INTPND); -	} -} - -static inline void -s3c_irqsub_ack(unsigned int irqno, unsigned int parentmask, unsigned int group) -{ -	unsigned int bit = 1UL << (irqno - IRQ_S3CUART_RX0); - -	__raw_writel(bit, S3C2410_SUBSRCPND); - -	/* only ack parent if we've got all the irqs (seems we must -	 * ack, all and hope that the irq system retriggers ok when -	 * the interrupt goes off again) -	 */ - -	if (1) { -		__raw_writel(parentmask, S3C2410_SRCPND); -		__raw_writel(parentmask, S3C2410_INTPND); -	} -} - -/* exported for use in arch/arm/mach-s3c2410 */ - -#ifdef CONFIG_PM -extern int s3c_irq_wake(unsigned int irqno, unsigned int state); -#else -#define s3c_irq_wake NULL -#endif - -extern int s3c_irqext_type(unsigned int irq, unsigned int type); diff --git a/arch/arm/plat-s3c24xx/include/plat/map.h b/arch/arm/plat-s3c24xx/include/plat/map.h deleted file mode 100644 index bd534d32b99..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/map.h +++ /dev/null @@ -1,100 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/map.h - * - * Copyright (c) 2008 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * S3C24XX - Memory map definitions - * - * 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. -*/ - -#ifndef __ASM_PLAT_S3C24XX_MAP_H -#define __ASM_PLAT_S3C24XX_MAP_H - -/* interrupt controller is the first thing we put in, to make - * the assembly code for the irq detection easier - */ -#define S3C24XX_VA_IRQ	   S3C_VA_IRQ -#define S3C2410_PA_IRQ	   (0x4A000000) -#define S3C24XX_SZ_IRQ	   SZ_1M - -/* memory controller registers */ -#define S3C24XX_VA_MEMCTRL S3C_VA_MEM -#define S3C2410_PA_MEMCTRL (0x48000000) -#define S3C24XX_SZ_MEMCTRL SZ_1M - -/* UARTs */ -#define S3C24XX_VA_UART	   S3C_VA_UART -#define S3C2410_PA_UART	   (0x50000000) -#define S3C24XX_SZ_UART	   SZ_1M -#define S3C_UART_OFFSET	   (0x4000) - -#define S3C_VA_UARTx(uart) (S3C_VA_UART + ((uart * S3C_UART_OFFSET))) - -/* Timers */ -#define S3C24XX_VA_TIMER   S3C_VA_TIMER -#define S3C2410_PA_TIMER   (0x51000000) -#define S3C24XX_SZ_TIMER   SZ_1M - -/* Clock and Power management */ -#define S3C24XX_VA_CLKPWR  S3C_VA_SYS -#define S3C24XX_SZ_CLKPWR  SZ_1M - -/* USB Device port */ -#define S3C2410_PA_USBDEV  (0x52000000) -#define S3C24XX_SZ_USBDEV  SZ_1M - -/* Watchdog */ -#define S3C24XX_VA_WATCHDOG S3C_VA_WATCHDOG -#define S3C2410_PA_WATCHDOG (0x53000000) -#define S3C24XX_SZ_WATCHDOG SZ_1M - -/* Standard size definitions for peripheral blocks. */ - -#define S3C24XX_SZ_IIS		SZ_1M -#define S3C24XX_SZ_ADC		SZ_1M -#define S3C24XX_SZ_SPI		SZ_1M -#define S3C24XX_SZ_SDI		SZ_1M -#define S3C24XX_SZ_NAND		SZ_1M - -/* GPIO ports */ - -/* the calculation for the VA of this must ensure that - * it is the same distance apart from the UART in the - * phsyical address space, as the initial mapping for the IO - * is done as a 1:1 mapping. This puts it (currently) at - * 0xFA800000, which is not in the way of any current mapping - * by the base system. -*/ - -#define S3C2410_PA_GPIO	   (0x56000000) -#define S3C24XX_VA_GPIO	   ((S3C24XX_PA_GPIO - S3C24XX_PA_UART) + S3C24XX_VA_UART) -#define S3C24XX_SZ_GPIO	   SZ_1M - - -/* ISA style IO, for each machine to sort out mappings for, if it - * implements it. We reserve two 16M regions for ISA. - */ - -#define S3C24XX_VA_ISA_WORD  S3C2410_ADDR(0x02000000) -#define S3C24XX_VA_ISA_BYTE  S3C2410_ADDR(0x03000000) - -/* deal with the registers that move under the 2412/2413 */ - -#if defined(CONFIG_CPU_S3C2412) || defined(CONFIG_CPU_S3C2413) -#ifndef __ASSEMBLY__ -extern void __iomem *s3c24xx_va_gpio2; -#endif -#ifdef CONFIG_CPU_S3C2412_ONLY -#define S3C24XX_VA_GPIO2 (S3C24XX_VA_GPIO + 0x10) -#else -#define S3C24XX_VA_GPIO2 s3c24xx_va_gpio2 -#endif -#else -#define s3c24xx_va_gpio2 S3C24XX_VA_GPIO -#define S3C24XX_VA_GPIO2 S3C24XX_VA_GPIO -#endif - -#endif /* __ASM_PLAT_S3C24XX_MAP_H */ diff --git a/arch/arm/plat-s3c24xx/include/plat/mci.h b/arch/arm/plat-s3c24xx/include/plat/mci.h deleted file mode 100644 index 2ac2b21ec49..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/mci.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _ARCH_MCI_H -#define _ARCH_MCI_H - -/** - * struct s3c24xx_mci_pdata - sd/mmc controller platform data - * @no_wprotect: Set this to indicate there is no write-protect switch. - * @no_detect: Set this if there is no detect switch. - * @wprotect_invert: Invert the default sense of the write protect switch. - * @detect_invert: Invert the default sense of the write protect switch. - * @use_dma: Set to allow the use of DMA. - * @gpio_detect: GPIO number for the card detect line. - * @gpio_wprotect: GPIO number for the write protect line. - * @ocr_avail: The mask of the available power states, non-zero to use. - * @set_power: Callback to control the power mode. - * - * The @gpio_detect is used for card detection when @no_wprotect is unset, - * and the default sense is that 0 returned from gpio_get_value() means - * that a card is inserted. If @detect_invert is set, then the value from - * gpio_get_value() is inverted, which makes 1 mean card inserted. - * - * The driver will use @gpio_wprotect to signal whether the card is write - * protected if @no_wprotect is not set. A 0 returned from gpio_get_value() - * means the card is read/write, and 1 means read-only. The @wprotect_invert - * will invert the value returned from gpio_get_value(). - * - * Card power is set by @ocr_availa, using MCC_VDD_ constants if it is set - * to a non-zero value, otherwise the default of 3.2-3.4V is used. - */ -struct s3c24xx_mci_pdata { -	unsigned int	no_wprotect : 1; -	unsigned int	no_detect : 1; -	unsigned int	wprotect_invert : 1; -	unsigned int	detect_invert : 1;   /* set => detect active high. */ -	unsigned int	use_dma : 1; - -	unsigned int	gpio_detect; -	unsigned int	gpio_wprotect; -	unsigned long	ocr_avail; -	void		(*set_power)(unsigned char power_mode, -				     unsigned short vdd); -}; - -/** - * s3c24xx_mci_set_platdata - set platform data for mmc/sdi device - * @pdata: The platform data - * - * Copy the platform data supplied by @pdata so that this can be marked - * __initdata. - */ -extern void s3c24xx_mci_set_platdata(struct s3c24xx_mci_pdata *pdata); - -#endif /* _ARCH_NCI_H */ diff --git a/arch/arm/plat-s3c24xx/include/plat/pll.h b/arch/arm/plat-s3c24xx/include/plat/pll.h deleted file mode 100644 index 005729a1077..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/pll.h +++ /dev/null @@ -1,62 +0,0 @@ -/* linux/arch/arm/plat-s3c24xx/include/plat/pll.h - * - * Copyright 2008 Simtec Electronics - *      Ben Dooks <ben@simtec.co.uk> - *      http://armlinux.simtec.co.uk/ - * - * S3C24xx - common pll registers and code - */ - -#define S3C24XX_PLLCON_MDIVSHIFT	12 -#define S3C24XX_PLLCON_PDIVSHIFT	4 -#define S3C24XX_PLLCON_SDIVSHIFT	0 -#define S3C24XX_PLLCON_MDIVMASK		((1<<(1+(19-12)))-1) -#define S3C24XX_PLLCON_PDIVMASK		((1<<5)-1) -#define S3C24XX_PLLCON_SDIVMASK		3 - -#include <asm/div64.h> - -static inline unsigned int -s3c24xx_get_pll(unsigned int pllval, unsigned int baseclk) -{ -	unsigned int mdiv, pdiv, sdiv; -	uint64_t fvco; - -	mdiv = pllval >> S3C24XX_PLLCON_MDIVSHIFT; -	pdiv = pllval >> S3C24XX_PLLCON_PDIVSHIFT; -	sdiv = pllval >> S3C24XX_PLLCON_SDIVSHIFT; - -	mdiv &= S3C24XX_PLLCON_MDIVMASK; -	pdiv &= S3C24XX_PLLCON_PDIVMASK; -	sdiv &= S3C24XX_PLLCON_SDIVMASK; - -	fvco = (uint64_t)baseclk * (mdiv + 8); -	do_div(fvco, (pdiv + 2) << sdiv); - -	return (unsigned int)fvco; -} - -#define S3C2416_PLL_M_SHIFT	(14) -#define S3C2416_PLL_P_SHIFT	(5) -#define S3C2416_PLL_S_MASK	(7) -#define S3C2416_PLL_M_MASK	((1 << 10) - 1) -#define S3C2416_PLL_P_MASK	(63) - -static inline unsigned int -s3c2416_get_pll(unsigned int pllval, unsigned int baseclk) -{ -	unsigned int m, p, s; -	uint64_t fvco; - -	m = pllval >> S3C2416_PLL_M_SHIFT; -	p = pllval >> S3C2416_PLL_P_SHIFT; - -	s = pllval & S3C2416_PLL_S_MASK; -	m &= S3C2416_PLL_M_MASK; -	p &= S3C2416_PLL_P_MASK; - -	fvco = (uint64_t)baseclk * m; -	do_div(fvco, (p << s)); - -	return (unsigned int)fvco; -} diff --git a/arch/arm/plat-s3c24xx/include/plat/regs-dma.h b/arch/arm/plat-s3c24xx/include/plat/regs-dma.h deleted file mode 100644 index 1b0f4c36d38..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/regs-dma.h +++ /dev/null @@ -1,145 +0,0 @@ -/* arch/arm/mach-s3c2410/include/mach/dma.h - * - * Copyright (C) 2003-2006 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Samsung S3C24XX DMA support - * - * 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. -*/ - -/* DMA Register definitions */ - -#define S3C2410_DMA_DISRC		(0x00) -#define S3C2410_DMA_DISRCC		(0x04) -#define S3C2410_DMA_DIDST		(0x08) -#define S3C2410_DMA_DIDSTC		(0x0C) -#define S3C2410_DMA_DCON		(0x10) -#define S3C2410_DMA_DSTAT		(0x14) -#define S3C2410_DMA_DCSRC		(0x18) -#define S3C2410_DMA_DCDST		(0x1C) -#define S3C2410_DMA_DMASKTRIG		(0x20) -#define S3C2412_DMA_DMAREQSEL		(0x24) -#define S3C2443_DMA_DMAREQSEL		(0x24) - -#define S3C2410_DISRCC_INC		(1<<0) -#define S3C2410_DISRCC_APB		(1<<1) - -#define S3C2410_DMASKTRIG_STOP		(1<<2) -#define S3C2410_DMASKTRIG_ON		(1<<1) -#define S3C2410_DMASKTRIG_SWTRIG	(1<<0) - -#define S3C2410_DCON_DEMAND		(0<<31) -#define S3C2410_DCON_HANDSHAKE		(1<<31) -#define S3C2410_DCON_SYNC_PCLK		(0<<30) -#define S3C2410_DCON_SYNC_HCLK		(1<<30) - -#define S3C2410_DCON_INTREQ		(1<<29) - -#define S3C2410_DCON_CH0_XDREQ0		(0<<24) -#define S3C2410_DCON_CH0_UART0		(1<<24) -#define S3C2410_DCON_CH0_SDI		(2<<24) -#define S3C2410_DCON_CH0_TIMER		(3<<24) -#define S3C2410_DCON_CH0_USBEP1		(4<<24) - -#define S3C2410_DCON_CH1_XDREQ1		(0<<24) -#define S3C2410_DCON_CH1_UART1		(1<<24) -#define S3C2410_DCON_CH1_I2SSDI		(2<<24) -#define S3C2410_DCON_CH1_SPI		(3<<24) -#define S3C2410_DCON_CH1_USBEP2		(4<<24) - -#define S3C2410_DCON_CH2_I2SSDO		(0<<24) -#define S3C2410_DCON_CH2_I2SSDI		(1<<24) -#define S3C2410_DCON_CH2_SDI		(2<<24) -#define S3C2410_DCON_CH2_TIMER		(3<<24) -#define S3C2410_DCON_CH2_USBEP3		(4<<24) - -#define S3C2410_DCON_CH3_UART2		(0<<24) -#define S3C2410_DCON_CH3_SDI		(1<<24) -#define S3C2410_DCON_CH3_SPI		(2<<24) -#define S3C2410_DCON_CH3_TIMER		(3<<24) -#define S3C2410_DCON_CH3_USBEP4		(4<<24) - -#define S3C2410_DCON_SRCSHIFT		(24) -#define S3C2410_DCON_SRCMASK		(7<<24) - -#define S3C2410_DCON_BYTE		(0<<20) -#define S3C2410_DCON_HALFWORD		(1<<20) -#define S3C2410_DCON_WORD		(2<<20) - -#define S3C2410_DCON_AUTORELOAD		(0<<22) -#define S3C2410_DCON_NORELOAD		(1<<22) -#define S3C2410_DCON_HWTRIG		(1<<23) - -#ifdef CONFIG_CPU_S3C2440 -#define S3C2440_DIDSTC_CHKINT		(1<<2) - -#define S3C2440_DCON_CH0_I2SSDO		(5<<24) -#define S3C2440_DCON_CH0_PCMIN		(6<<24) - -#define S3C2440_DCON_CH1_PCMOUT		(5<<24) -#define S3C2440_DCON_CH1_SDI		(6<<24) - -#define S3C2440_DCON_CH2_PCMIN		(5<<24) -#define S3C2440_DCON_CH2_MICIN		(6<<24) - -#define S3C2440_DCON_CH3_MICIN		(5<<24) -#define S3C2440_DCON_CH3_PCMOUT		(6<<24) -#endif - -#ifdef CONFIG_CPU_S3C2412 - -#define S3C2412_DMAREQSEL_SRC(x)	((x)<<1) - -#define S3C2412_DMAREQSEL_HW		(1) - -#define S3C2412_DMAREQSEL_SPI0TX	S3C2412_DMAREQSEL_SRC(0) -#define S3C2412_DMAREQSEL_SPI0RX	S3C2412_DMAREQSEL_SRC(1) -#define S3C2412_DMAREQSEL_SPI1TX	S3C2412_DMAREQSEL_SRC(2) -#define S3C2412_DMAREQSEL_SPI1RX	S3C2412_DMAREQSEL_SRC(3) -#define S3C2412_DMAREQSEL_I2STX		S3C2412_DMAREQSEL_SRC(4) -#define S3C2412_DMAREQSEL_I2SRX		S3C2412_DMAREQSEL_SRC(5) -#define S3C2412_DMAREQSEL_TIMER		S3C2412_DMAREQSEL_SRC(9) -#define S3C2412_DMAREQSEL_SDI		S3C2412_DMAREQSEL_SRC(10) -#define S3C2412_DMAREQSEL_USBEP1	S3C2412_DMAREQSEL_SRC(13) -#define S3C2412_DMAREQSEL_USBEP2	S3C2412_DMAREQSEL_SRC(14) -#define S3C2412_DMAREQSEL_USBEP3	S3C2412_DMAREQSEL_SRC(15) -#define S3C2412_DMAREQSEL_USBEP4	S3C2412_DMAREQSEL_SRC(16) -#define S3C2412_DMAREQSEL_XDREQ0	S3C2412_DMAREQSEL_SRC(17) -#define S3C2412_DMAREQSEL_XDREQ1	S3C2412_DMAREQSEL_SRC(18) -#define S3C2412_DMAREQSEL_UART0_0	S3C2412_DMAREQSEL_SRC(19) -#define S3C2412_DMAREQSEL_UART0_1	S3C2412_DMAREQSEL_SRC(20) -#define S3C2412_DMAREQSEL_UART1_0	S3C2412_DMAREQSEL_SRC(21) -#define S3C2412_DMAREQSEL_UART1_1	S3C2412_DMAREQSEL_SRC(22) -#define S3C2412_DMAREQSEL_UART2_0	S3C2412_DMAREQSEL_SRC(23) -#define S3C2412_DMAREQSEL_UART2_1	S3C2412_DMAREQSEL_SRC(24) - -#endif - -#define S3C2443_DMAREQSEL_SRC(x)	((x)<<1) - -#define S3C2443_DMAREQSEL_HW		(1) - -#define S3C2443_DMAREQSEL_SPI0TX	S3C2443_DMAREQSEL_SRC(0) -#define S3C2443_DMAREQSEL_SPI0RX	S3C2443_DMAREQSEL_SRC(1) -#define S3C2443_DMAREQSEL_SPI1TX	S3C2443_DMAREQSEL_SRC(2) -#define S3C2443_DMAREQSEL_SPI1RX	S3C2443_DMAREQSEL_SRC(3) -#define S3C2443_DMAREQSEL_I2STX		S3C2443_DMAREQSEL_SRC(4) -#define S3C2443_DMAREQSEL_I2SRX		S3C2443_DMAREQSEL_SRC(5) -#define S3C2443_DMAREQSEL_TIMER		S3C2443_DMAREQSEL_SRC(9) -#define S3C2443_DMAREQSEL_SDI		S3C2443_DMAREQSEL_SRC(10) -#define S3C2443_DMAREQSEL_XDREQ0	S3C2443_DMAREQSEL_SRC(17) -#define S3C2443_DMAREQSEL_XDREQ1	S3C2443_DMAREQSEL_SRC(18) -#define S3C2443_DMAREQSEL_UART0_0	S3C2443_DMAREQSEL_SRC(19) -#define S3C2443_DMAREQSEL_UART0_1	S3C2443_DMAREQSEL_SRC(20) -#define S3C2443_DMAREQSEL_UART1_0	S3C2443_DMAREQSEL_SRC(21) -#define S3C2443_DMAREQSEL_UART1_1	S3C2443_DMAREQSEL_SRC(22) -#define S3C2443_DMAREQSEL_UART2_0	S3C2443_DMAREQSEL_SRC(23) -#define S3C2443_DMAREQSEL_UART2_1	S3C2443_DMAREQSEL_SRC(24) -#define S3C2443_DMAREQSEL_UART3_0	S3C2443_DMAREQSEL_SRC(25) -#define S3C2443_DMAREQSEL_UART3_1	S3C2443_DMAREQSEL_SRC(26) -#define S3C2443_DMAREQSEL_PCMOUT	S3C2443_DMAREQSEL_SRC(27) -#define S3C2443_DMAREQSEL_PCMIN 	S3C2443_DMAREQSEL_SRC(28) -#define S3C2443_DMAREQSEL_MICIN		S3C2443_DMAREQSEL_SRC(29) diff --git a/arch/arm/plat-s3c24xx/include/plat/regs-iis.h b/arch/arm/plat-s3c24xx/include/plat/regs-iis.h deleted file mode 100644 index a6f1d5df13b..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/regs-iis.h +++ /dev/null @@ -1,77 +0,0 @@ -/* arch/arm/mach-s3c2410/include/mach/regs-iis.h - * - * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk> - *		      http://www.simtec.co.uk/products/SWLINUX/ - * - * 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. - * - * S3C2410 IIS register definition -*/ - -#ifndef __ASM_ARCH_REGS_IIS_H -#define __ASM_ARCH_REGS_IIS_H - -#define S3C2410_IISCON	 (0x00) - -#define S3C2410_IISCON_LRINDEX	  (1<<8) -#define S3C2410_IISCON_TXFIFORDY  (1<<7) -#define S3C2410_IISCON_RXFIFORDY  (1<<6) -#define S3C2410_IISCON_TXDMAEN	  (1<<5) -#define S3C2410_IISCON_RXDMAEN	  (1<<4) -#define S3C2410_IISCON_TXIDLE	  (1<<3) -#define S3C2410_IISCON_RXIDLE	  (1<<2) -#define S3C2410_IISCON_PSCEN	  (1<<1) -#define S3C2410_IISCON_IISEN	  (1<<0) - -#define S3C2410_IISMOD	 (0x04) - -#define S3C2440_IISMOD_MPLL	  (1<<9) -#define S3C2410_IISMOD_SLAVE	  (1<<8) -#define S3C2410_IISMOD_NOXFER	  (0<<6) -#define S3C2410_IISMOD_RXMODE	  (1<<6) -#define S3C2410_IISMOD_TXMODE	  (2<<6) -#define S3C2410_IISMOD_TXRXMODE	  (3<<6) -#define S3C2410_IISMOD_LR_LLOW	  (0<<5) -#define S3C2410_IISMOD_LR_RLOW	  (1<<5) -#define S3C2410_IISMOD_IIS	  (0<<4) -#define S3C2410_IISMOD_MSB	  (1<<4) -#define S3C2410_IISMOD_8BIT	  (0<<3) -#define S3C2410_IISMOD_16BIT	  (1<<3) -#define S3C2410_IISMOD_BITMASK	  (1<<3) -#define S3C2410_IISMOD_256FS	  (0<<2) -#define S3C2410_IISMOD_384FS	  (1<<2) -#define S3C2410_IISMOD_16FS	  (0<<0) -#define S3C2410_IISMOD_32FS	  (1<<0) -#define S3C2410_IISMOD_48FS	  (2<<0) -#define S3C2410_IISMOD_FS_MASK	  (3<<0) - -#define S3C2410_IISPSR		(0x08) -#define S3C2410_IISPSR_INTMASK	(31<<5) -#define S3C2410_IISPSR_INTSHIFT	(5) -#define S3C2410_IISPSR_EXTMASK	(31<<0) -#define S3C2410_IISPSR_EXTSHFIT	(0) - -#define S3C2410_IISFCON  (0x0c) - -#define S3C2410_IISFCON_TXDMA	  (1<<15) -#define S3C2410_IISFCON_RXDMA	  (1<<14) -#define S3C2410_IISFCON_TXENABLE  (1<<13) -#define S3C2410_IISFCON_RXENABLE  (1<<12) -#define S3C2410_IISFCON_TXMASK	  (0x3f << 6) -#define S3C2410_IISFCON_TXSHIFT	  (6) -#define S3C2410_IISFCON_RXMASK	  (0x3f) -#define S3C2410_IISFCON_RXSHIFT	  (0) - -#define S3C2400_IISFCON_TXDMA     (1<<11) -#define S3C2400_IISFCON_RXDMA     (1<<10) -#define S3C2400_IISFCON_TXENABLE  (1<<9) -#define S3C2400_IISFCON_RXENABLE  (1<<8) -#define S3C2400_IISFCON_TXMASK	  (0x07 << 4) -#define S3C2400_IISFCON_TXSHIFT	  (4) -#define S3C2400_IISFCON_RXMASK	  (0x07) -#define S3C2400_IISFCON_RXSHIFT	  (0) - -#define S3C2410_IISFIFO  (0x10) -#endif /* __ASM_ARCH_REGS_IIS_H */ diff --git a/arch/arm/plat-s3c24xx/include/plat/regs-spi.h b/arch/arm/plat-s3c24xx/include/plat/regs-spi.h deleted file mode 100644 index 2b35479ee35..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/regs-spi.h +++ /dev/null @@ -1,82 +0,0 @@ -/* arch/arm/mach-s3c2410/include/mach/regs-spi.h - * - * Copyright (c) 2004 Fetron GmbH - * - * 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. - * - * S3C2410 SPI register definition -*/ - -#ifndef __ASM_ARCH_REGS_SPI_H -#define __ASM_ARCH_REGS_SPI_H - -#define S3C2410_SPI1	(0x20) -#define S3C2412_SPI1	(0x100) - -#define S3C2410_SPCON	(0x00) - -#define S3C2412_SPCON_RXFIFO_RB2	(0<<14) -#define S3C2412_SPCON_RXFIFO_RB4	(1<<14) -#define S3C2412_SPCON_RXFIFO_RB12	(2<<14) -#define S3C2412_SPCON_RXFIFO_RB14	(3<<14) -#define S3C2412_SPCON_TXFIFO_RB2	(0<<12) -#define S3C2412_SPCON_TXFIFO_RB4	(1<<12) -#define S3C2412_SPCON_TXFIFO_RB12	(2<<12) -#define S3C2412_SPCON_TXFIFO_RB14	(3<<12) -#define S3C2412_SPCON_RXFIFO_RESET	(1<<11) /* RxFIFO reset */ -#define S3C2412_SPCON_TXFIFO_RESET	(1<<10) /* TxFIFO reset */ -#define S3C2412_SPCON_RXFIFO_EN		(1<<9)  /* RxFIFO Enable */ -#define S3C2412_SPCON_TXFIFO_EN		(1<<8)  /* TxFIFO Enable */ - -#define S3C2412_SPCON_DIRC_RX	  (1<<7) - -#define S3C2410_SPCON_SMOD_DMA	  (2<<5)	/* DMA mode */ -#define S3C2410_SPCON_SMOD_INT	  (1<<5)	/* interrupt mode */ -#define S3C2410_SPCON_SMOD_POLL   (0<<5)	/* polling mode */ -#define S3C2410_SPCON_ENSCK	  (1<<4)	/* Enable SCK */ -#define S3C2410_SPCON_MSTR	  (1<<3)	/* Master/Slave select -						   0: slave, 1: master */ -#define S3C2410_SPCON_CPOL_HIGH	  (1<<2)	/* Clock polarity select */ -#define S3C2410_SPCON_CPOL_LOW	  (0<<2)	/* Clock polarity select */ - -#define S3C2410_SPCON_CPHA_FMTB	  (1<<1)	/* Clock Phase Select */ -#define S3C2410_SPCON_CPHA_FMTA	  (0<<1)	/* Clock Phase Select */ - -#define S3C2410_SPCON_TAGD	  (1<<0)	/* Tx auto garbage data mode */ - - -#define S3C2410_SPSTA	 (0x04) - -#define S3C2412_SPSTA_RXFIFO_AE		(1<<11) -#define S3C2412_SPSTA_TXFIFO_AE		(1<<10) -#define S3C2412_SPSTA_RXFIFO_ERROR	(1<<9) -#define S3C2412_SPSTA_TXFIFO_ERROR	(1<<8) -#define S3C2412_SPSTA_RXFIFO_FIFO	(1<<7) -#define S3C2412_SPSTA_RXFIFO_EMPTY	(1<<6) -#define S3C2412_SPSTA_TXFIFO_NFULL	(1<<5) -#define S3C2412_SPSTA_TXFIFO_EMPTY	(1<<4) - -#define S3C2410_SPSTA_DCOL	  (1<<2)	/* Data Collision Error */ -#define S3C2410_SPSTA_MULD	  (1<<1)	/* Multi Master Error */ -#define S3C2410_SPSTA_READY	  (1<<0)	/* Data Tx/Rx ready */ -#define S3C2412_SPSTA_READY_ORG	  (1<<3) - -#define S3C2410_SPPIN	 (0x08) - -#define S3C2410_SPPIN_ENMUL	  (1<<2)	/* Multi Master Error detect */ -#define S3C2410_SPPIN_RESERVED	  (1<<1) -#define S3C2400_SPPIN_nCS     	  (1<<1)	/* SPI Card Select */ -#define S3C2410_SPPIN_KEEP	  (1<<0)	/* Master Out keep */ - -#define S3C2410_SPPRE	 (0x0C) -#define S3C2410_SPTDAT	 (0x10) -#define S3C2410_SPRDAT	 (0x14) - -#define S3C2412_TXFIFO	 (0x18) -#define S3C2412_RXFIFO	 (0x18) -#define S3C2412_SPFIC	 (0x24) - - -#endif /* __ASM_ARCH_REGS_SPI_H */ diff --git a/arch/arm/plat-s3c24xx/include/plat/regs-udc.h b/arch/arm/plat-s3c24xx/include/plat/regs-udc.h deleted file mode 100644 index f0dd4a41b37..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/regs-udc.h +++ /dev/null @@ -1,153 +0,0 @@ -/* arch/arm/mach-s3c2410/include/mach/regs-udc.h - * - * Copyright (C) 2004 Herbert Poetzl <herbert@13thfloor.at> - * - * This include file is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. -*/ - -#ifndef __ASM_ARCH_REGS_UDC_H -#define __ASM_ARCH_REGS_UDC_H - -#define S3C2410_USBDREG(x) (x) - -#define S3C2410_UDC_FUNC_ADDR_REG	S3C2410_USBDREG(0x0140) -#define S3C2410_UDC_PWR_REG		S3C2410_USBDREG(0x0144) -#define S3C2410_UDC_EP_INT_REG		S3C2410_USBDREG(0x0148) - -#define S3C2410_UDC_USB_INT_REG		S3C2410_USBDREG(0x0158) -#define S3C2410_UDC_EP_INT_EN_REG	S3C2410_USBDREG(0x015c) - -#define S3C2410_UDC_USB_INT_EN_REG	S3C2410_USBDREG(0x016c) - -#define S3C2410_UDC_FRAME_NUM1_REG	S3C2410_USBDREG(0x0170) -#define S3C2410_UDC_FRAME_NUM2_REG	S3C2410_USBDREG(0x0174) - -#define S3C2410_UDC_EP0_FIFO_REG	S3C2410_USBDREG(0x01c0) -#define S3C2410_UDC_EP1_FIFO_REG	S3C2410_USBDREG(0x01c4) -#define S3C2410_UDC_EP2_FIFO_REG	S3C2410_USBDREG(0x01c8) -#define S3C2410_UDC_EP3_FIFO_REG	S3C2410_USBDREG(0x01cc) -#define S3C2410_UDC_EP4_FIFO_REG	S3C2410_USBDREG(0x01d0) - -#define S3C2410_UDC_EP1_DMA_CON		S3C2410_USBDREG(0x0200) -#define S3C2410_UDC_EP1_DMA_UNIT	S3C2410_USBDREG(0x0204) -#define S3C2410_UDC_EP1_DMA_FIFO	S3C2410_USBDREG(0x0208) -#define S3C2410_UDC_EP1_DMA_TTC_L	S3C2410_USBDREG(0x020c) -#define S3C2410_UDC_EP1_DMA_TTC_M	S3C2410_USBDREG(0x0210) -#define S3C2410_UDC_EP1_DMA_TTC_H	S3C2410_USBDREG(0x0214) - -#define S3C2410_UDC_EP2_DMA_CON		S3C2410_USBDREG(0x0218) -#define S3C2410_UDC_EP2_DMA_UNIT	S3C2410_USBDREG(0x021c) -#define S3C2410_UDC_EP2_DMA_FIFO	S3C2410_USBDREG(0x0220) -#define S3C2410_UDC_EP2_DMA_TTC_L	S3C2410_USBDREG(0x0224) -#define S3C2410_UDC_EP2_DMA_TTC_M	S3C2410_USBDREG(0x0228) -#define S3C2410_UDC_EP2_DMA_TTC_H	S3C2410_USBDREG(0x022c) - -#define S3C2410_UDC_EP3_DMA_CON		S3C2410_USBDREG(0x0240) -#define S3C2410_UDC_EP3_DMA_UNIT	S3C2410_USBDREG(0x0244) -#define S3C2410_UDC_EP3_DMA_FIFO	S3C2410_USBDREG(0x0248) -#define S3C2410_UDC_EP3_DMA_TTC_L	S3C2410_USBDREG(0x024c) -#define S3C2410_UDC_EP3_DMA_TTC_M	S3C2410_USBDREG(0x0250) -#define S3C2410_UDC_EP3_DMA_TTC_H	S3C2410_USBDREG(0x0254) - -#define S3C2410_UDC_EP4_DMA_CON		S3C2410_USBDREG(0x0258) -#define S3C2410_UDC_EP4_DMA_UNIT	S3C2410_USBDREG(0x025c) -#define S3C2410_UDC_EP4_DMA_FIFO	S3C2410_USBDREG(0x0260) -#define S3C2410_UDC_EP4_DMA_TTC_L	S3C2410_USBDREG(0x0264) -#define S3C2410_UDC_EP4_DMA_TTC_M	S3C2410_USBDREG(0x0268) -#define S3C2410_UDC_EP4_DMA_TTC_H	S3C2410_USBDREG(0x026c) - -#define S3C2410_UDC_INDEX_REG		S3C2410_USBDREG(0x0178) - -/* indexed registers */ - -#define S3C2410_UDC_MAXP_REG		S3C2410_USBDREG(0x0180) - -#define S3C2410_UDC_EP0_CSR_REG		S3C2410_USBDREG(0x0184) - -#define S3C2410_UDC_IN_CSR1_REG		S3C2410_USBDREG(0x0184) -#define S3C2410_UDC_IN_CSR2_REG		S3C2410_USBDREG(0x0188) - -#define S3C2410_UDC_OUT_CSR1_REG	S3C2410_USBDREG(0x0190) -#define S3C2410_UDC_OUT_CSR2_REG	S3C2410_USBDREG(0x0194) -#define S3C2410_UDC_OUT_FIFO_CNT1_REG	S3C2410_USBDREG(0x0198) -#define S3C2410_UDC_OUT_FIFO_CNT2_REG	S3C2410_USBDREG(0x019c) - -#define S3C2410_UDC_FUNCADDR_UPDATE	(1<<7) - -#define S3C2410_UDC_PWR_ISOUP		(1<<7) // R/W -#define S3C2410_UDC_PWR_RESET		(1<<3) // R -#define S3C2410_UDC_PWR_RESUME		(1<<2) // R/W -#define S3C2410_UDC_PWR_SUSPEND		(1<<1) // R -#define S3C2410_UDC_PWR_ENSUSPEND	(1<<0) // R/W - -#define S3C2410_UDC_PWR_DEFAULT		0x00 - -#define S3C2410_UDC_INT_EP4		(1<<4) // R/W (clear only) -#define S3C2410_UDC_INT_EP3		(1<<3) // R/W (clear only) -#define S3C2410_UDC_INT_EP2		(1<<2) // R/W (clear only) -#define S3C2410_UDC_INT_EP1		(1<<1) // R/W (clear only) -#define S3C2410_UDC_INT_EP0		(1<<0) // R/W (clear only) - -#define S3C2410_UDC_USBINT_RESET	(1<<2) // R/W (clear only) -#define S3C2410_UDC_USBINT_RESUME	(1<<1) // R/W (clear only) -#define S3C2410_UDC_USBINT_SUSPEND	(1<<0) // R/W (clear only) - -#define S3C2410_UDC_INTE_EP4		(1<<4) // R/W -#define S3C2410_UDC_INTE_EP3		(1<<3) // R/W -#define S3C2410_UDC_INTE_EP2		(1<<2) // R/W -#define S3C2410_UDC_INTE_EP1		(1<<1) // R/W -#define S3C2410_UDC_INTE_EP0		(1<<0) // R/W - -#define S3C2410_UDC_USBINTE_RESET	(1<<2) // R/W -#define S3C2410_UDC_USBINTE_SUSPEND	(1<<0) // R/W - - -#define S3C2410_UDC_INDEX_EP0		(0x00) -#define S3C2410_UDC_INDEX_EP1		(0x01) // ?? -#define S3C2410_UDC_INDEX_EP2		(0x02) // ?? -#define S3C2410_UDC_INDEX_EP3		(0x03) // ?? -#define S3C2410_UDC_INDEX_EP4		(0x04) // ?? - -#define S3C2410_UDC_ICSR1_CLRDT		(1<<6) // R/W -#define S3C2410_UDC_ICSR1_SENTSTL	(1<<5) // R/W (clear only) -#define S3C2410_UDC_ICSR1_SENDSTL	(1<<4) // R/W -#define S3C2410_UDC_ICSR1_FFLUSH	(1<<3) // W   (set only) -#define S3C2410_UDC_ICSR1_UNDRUN	(1<<2) // R/W (clear only) -#define S3C2410_UDC_ICSR1_PKTRDY	(1<<0) // R/W (set only) - -#define S3C2410_UDC_ICSR2_AUTOSET	(1<<7) // R/W -#define S3C2410_UDC_ICSR2_ISO		(1<<6) // R/W -#define S3C2410_UDC_ICSR2_MODEIN	(1<<5) // R/W -#define S3C2410_UDC_ICSR2_DMAIEN	(1<<4) // R/W - -#define S3C2410_UDC_OCSR1_CLRDT		(1<<7) // R/W -#define S3C2410_UDC_OCSR1_SENTSTL	(1<<6) // R/W (clear only) -#define S3C2410_UDC_OCSR1_SENDSTL	(1<<5) // R/W -#define S3C2410_UDC_OCSR1_FFLUSH	(1<<4) // R/W -#define S3C2410_UDC_OCSR1_DERROR	(1<<3) // R -#define S3C2410_UDC_OCSR1_OVRRUN	(1<<2) // R/W (clear only) -#define S3C2410_UDC_OCSR1_PKTRDY	(1<<0) // R/W (clear only) - -#define S3C2410_UDC_OCSR2_AUTOCLR	(1<<7) // R/W -#define S3C2410_UDC_OCSR2_ISO		(1<<6) // R/W -#define S3C2410_UDC_OCSR2_DMAIEN	(1<<5) // R/W - -#define S3C2410_UDC_EP0_CSR_OPKRDY	(1<<0) -#define S3C2410_UDC_EP0_CSR_IPKRDY	(1<<1) -#define S3C2410_UDC_EP0_CSR_SENTSTL	(1<<2) -#define S3C2410_UDC_EP0_CSR_DE		(1<<3) -#define S3C2410_UDC_EP0_CSR_SE		(1<<4) -#define S3C2410_UDC_EP0_CSR_SENDSTL	(1<<5) -#define S3C2410_UDC_EP0_CSR_SOPKTRDY	(1<<6) -#define S3C2410_UDC_EP0_CSR_SSE	(1<<7) - -#define S3C2410_UDC_MAXP_8		(1<<0) -#define S3C2410_UDC_MAXP_16		(1<<1) -#define S3C2410_UDC_MAXP_32		(1<<2) -#define S3C2410_UDC_MAXP_64		(1<<3) - - -#endif diff --git a/arch/arm/plat-s3c24xx/include/plat/s3c2400.h b/arch/arm/plat-s3c24xx/include/plat/s3c2400.h deleted file mode 100644 index b3feaea5c70..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/s3c2400.h +++ /dev/null @@ -1,31 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/s3c2400.h - * - * Copyright (c) 2004 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Header file for S3C2400 cpu support - * - * 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. - * - * Modifications: - *     09-Fev-2006 LCVR  First version, based on s3c2410.h -*/ - -#ifdef CONFIG_CPU_S3C2400 - -extern  int s3c2400_init(void); - -extern void s3c2400_map_io(void); - -extern void s3c2400_init_uarts(struct s3c2410_uartcfg *cfg, int no); - -extern void s3c2400_init_clocks(int xtal); - -#else -#define s3c2400_init_clocks NULL -#define s3c2400_init_uarts NULL -#define s3c2400_map_io NULL -#define s3c2400_init NULL -#endif diff --git a/arch/arm/plat-s3c24xx/include/plat/s3c2410.h b/arch/arm/plat-s3c24xx/include/plat/s3c2410.h deleted file mode 100644 index 82ab4aad1bb..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/s3c2410.h +++ /dev/null @@ -1,33 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/s3c2410.h - * - * Copyright (c) 2004 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Header file for s3c2410 machine directory - * - * 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. - * -*/ - -#ifdef CONFIG_CPU_S3C2410 - -extern  int s3c2410_init(void); -extern  int s3c2410a_init(void); - -extern void s3c2410_map_io(void); - -extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no); - -extern void s3c2410_init_clocks(int xtal); - -#else -#define s3c2410_init_clocks NULL -#define s3c2410_init_uarts NULL -#define s3c2410_map_io NULL -#define s3c2410_init NULL -#define s3c2410a_init NULL -#endif - -extern int s3c2410_baseclk_add(void); diff --git a/arch/arm/plat-s3c24xx/include/plat/s3c2412.h b/arch/arm/plat-s3c24xx/include/plat/s3c2412.h deleted file mode 100644 index bb15d3b68be..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/s3c2412.h +++ /dev/null @@ -1,29 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/s3c2412.h - * - * Copyright (c) 2006 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Header file for s3c2412 cpu support - * - * 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. -*/ - -#ifdef CONFIG_CPU_S3C2412 - -extern  int s3c2412_init(void); - -extern void s3c2412_map_io(void); - -extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no); - -extern void s3c2412_init_clocks(int xtal); - -extern  int s3c2412_baseclk_add(void); -#else -#define s3c2412_init_clocks NULL -#define s3c2412_init_uarts NULL -#define s3c2412_map_io NULL -#define s3c2412_init NULL -#endif diff --git a/arch/arm/plat-s3c24xx/include/plat/s3c2416.h b/arch/arm/plat-s3c24xx/include/plat/s3c2416.h deleted file mode 100644 index dc3c0907d22..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/s3c2416.h +++ /dev/null @@ -1,31 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/s3c2443.h - * - * Copyright (c) 2009 Yauhen Kharuzhy <jekhor@gmail.com> - * - * Header file for s3c2416 cpu support - * - * 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. -*/ - -#ifdef CONFIG_CPU_S3C2416 - -struct s3c2410_uartcfg; - -extern  int s3c2416_init(void); - -extern void s3c2416_map_io(void); - -extern void s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no); - -extern void s3c2416_init_clocks(int xtal); - -extern  int s3c2416_baseclk_add(void); - -#else -#define s3c2416_init_clocks NULL -#define s3c2416_init_uarts NULL -#define s3c2416_map_io NULL -#define s3c2416_init NULL -#endif diff --git a/arch/arm/plat-s3c24xx/include/plat/s3c2443.h b/arch/arm/plat-s3c24xx/include/plat/s3c2443.h deleted file mode 100644 index a19715feb79..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/s3c2443.h +++ /dev/null @@ -1,51 +0,0 @@ -/* linux/include/asm-arm/plat-s3c24xx/s3c2443.h - * - * Copyright (c) 2004-2005 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Header file for s3c2443 cpu support - * - * 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. -*/ - -#ifdef CONFIG_CPU_S3C2443 - -struct s3c2410_uartcfg; - -extern  int s3c2443_init(void); - -extern void s3c2443_map_io(void); - -extern void s3c2443_init_uarts(struct s3c2410_uartcfg *cfg, int no); - -extern void s3c2443_init_clocks(int xtal); - -extern  int s3c2443_baseclk_add(void); - -#else -#define s3c2443_init_clocks NULL -#define s3c2443_init_uarts NULL -#define s3c2443_map_io NULL -#define s3c2443_init NULL -#endif - -/* common code used by s3c2443 and others. - * note, not to be used outside of arch/arm/mach-s3c* */ - -struct clk;	/* some files don't need clk.h otherwise */ - -typedef unsigned int (*pll_fn)(unsigned int reg, unsigned int base); -typedef unsigned int (*fdiv_fn)(unsigned long clkcon0); - -extern void s3c2443_common_setup_clocks(pll_fn get_mpll, fdiv_fn fdiv); -extern void s3c2443_common_init_clocks(int xtal, pll_fn get_mpll, fdiv_fn fdiv); - -extern int s3c2443_clkcon_enable_h(struct clk *clk, int enable); -extern int s3c2443_clkcon_enable_p(struct clk *clk, int enable); -extern int s3c2443_clkcon_enable_s(struct clk *clk, int enable); - -extern struct clksrc_clk clk_epllref; -extern struct clksrc_clk clk_esysclk; -extern struct clksrc_clk clk_msysclk; diff --git a/arch/arm/plat-s3c24xx/include/plat/s3c244x.h b/arch/arm/plat-s3c24xx/include/plat/s3c244x.h deleted file mode 100644 index 307248d1ccb..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/s3c244x.h +++ /dev/null @@ -1,37 +0,0 @@ -/* linux/arch/arm/plat-s3c24xx/include/plat/s3c244x.h - * - * Copyright (c) 2004-2005 Simtec Electronics - *	Ben Dooks <ben@simtec.co.uk> - * - * Header file for S3C2440 and S3C2442 cpu support - * - * 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. -*/ - -#if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442) - -extern void s3c244x_map_io(void); - -extern void s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no); - -extern void s3c244x_init_clocks(int xtal); - -#else -#define s3c244x_init_clocks NULL -#define s3c244x_init_uarts NULL -#define s3c244x_map_io NULL -#endif - -#ifdef CONFIG_CPU_S3C2440 -extern  int s3c2440_init(void); -#else -#define s3c2440_init NULL -#endif - -#ifdef CONFIG_CPU_S3C2442 -extern  int s3c2442_init(void); -#else -#define s3c2442_init NULL -#endif diff --git a/arch/arm/plat-s3c24xx/include/plat/udc.h b/arch/arm/plat-s3c24xx/include/plat/udc.h deleted file mode 100644 index 546bb4008f4..00000000000 --- a/arch/arm/plat-s3c24xx/include/plat/udc.h +++ /dev/null @@ -1,36 +0,0 @@ -/* arch/arm/mach-s3c2410/include/mach/udc.h - * - * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> - * - * - * 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: - *	14-Mar-2005	RTP	Created file - *	02-Aug-2005	RTP	File rename - *	07-Sep-2005	BJD	Minor cleanups, changed cmd to enum - *	18-Jan-2007	HMW	Add per-platform vbus_draw function -*/ - -#ifndef __ASM_ARM_ARCH_UDC_H -#define __ASM_ARM_ARCH_UDC_H - -enum s3c2410_udc_cmd_e { -	S3C2410_UDC_P_ENABLE	= 1,	/* Pull-up enable        */ -	S3C2410_UDC_P_DISABLE	= 2,	/* Pull-up disable       */ -	S3C2410_UDC_P_RESET	= 3,	/* UDC reset, in case of */ -}; - -struct s3c2410_udc_mach_info { -	void	(*udc_command)(enum s3c2410_udc_cmd_e); - 	void	(*vbus_draw)(unsigned int ma); -	unsigned int vbus_pin; -	unsigned char vbus_pin_inverted; -}; - -extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *); - -#endif /* __ASM_ARM_ARCH_UDC_H */  | 
