diff options
Diffstat (limited to 'arch/arm/mach-iop33x')
| -rw-r--r-- | arch/arm/mach-iop33x/Makefile.boot | 2 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/debug-macro.S | 22 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/entry-macro.S | 3 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/gpio.h | 6 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/hardware.h | 3 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/io.h | 27 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/iop33x.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/memory.h | 13 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/system.h | 23 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/timex.h | 6 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/uncompress.h | 3 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/include/mach/vmalloc.h | 5 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/iq80331.c | 21 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/iq80332.c | 21 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/irq.c | 37 | ||||
| -rw-r--r-- | arch/arm/mach-iop33x/uart.c | 1 | 
16 files changed, 45 insertions, 149 deletions
diff --git a/arch/arm/mach-iop33x/Makefile.boot b/arch/arm/mach-iop33x/Makefile.boot index 67039c3e0c4..760a0efe758 100644 --- a/arch/arm/mach-iop33x/Makefile.boot +++ b/arch/arm/mach-iop33x/Makefile.boot @@ -1,3 +1,3 @@ -   zreladdr-y	:= 0x00008000 +   zreladdr-y	+= 0x00008000  params_phys-y	:= 0x00000100  initrd_phys-y	:= 0x00800000 diff --git a/arch/arm/mach-iop33x/include/mach/debug-macro.S b/arch/arm/mach-iop33x/include/mach/debug-macro.S deleted file mode 100644 index 40c500dd1fa..00000000000 --- a/arch/arm/mach-iop33x/include/mach/debug-macro.S +++ /dev/null @@ -1,22 +0,0 @@ -/* - * arch/arm/mach-iop33x/include/mach/debug-macro.S - * - * Debugging macro include header - * - * Copyright (C) 1994-1999 Russell King - * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks - * - * 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. - */ - -		.macro	addruart, rp, rv -		mov	\rp, #0x00ff0000 -		orr	\rp, \rp, #0x0000f700 -		orr	\rv, #0xfe000000	@ virtual -		orr	\rp, #0xff000000	@ physical -		.endm - -#define UART_SHIFT	2 -#include <asm/hardware/debug-8250.S> diff --git a/arch/arm/mach-iop33x/include/mach/entry-macro.S b/arch/arm/mach-iop33x/include/mach/entry-macro.S index 4e1f7282b35..0a398fe1fba 100644 --- a/arch/arm/mach-iop33x/include/mach/entry-macro.S +++ b/arch/arm/mach-iop33x/include/mach/entry-macro.S @@ -9,9 +9,6 @@   */  #include <mach/iop33x.h> -	.macro	disable_fiq -	.endm -  	.macro get_irqnr_preamble, base, tmp  	mrc	p15, 0, \tmp, c15, c1, 0  	orr	\tmp, \tmp, #(1 << 6) diff --git a/arch/arm/mach-iop33x/include/mach/gpio.h b/arch/arm/mach-iop33x/include/mach/gpio.h deleted file mode 100644 index ddd55bba9bb..00000000000 --- a/arch/arm/mach-iop33x/include/mach/gpio.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef __ASM_ARCH_IOP33X_GPIO_H -#define __ASM_ARCH_IOP33X_GPIO_H - -#include <asm/hardware/iop3xx-gpio.h> - -#endif diff --git a/arch/arm/mach-iop33x/include/mach/hardware.h b/arch/arm/mach-iop33x/include/mach/hardware.h index 8c10e430655..839285315e4 100644 --- a/arch/arm/mach-iop33x/include/mach/hardware.h +++ b/arch/arm/mach-iop33x/include/mach/hardware.h @@ -18,9 +18,6 @@   * but when we read them, we convert them to virtual addresses.  See   * arch/arm/mach-iop3xx/iop3xx-pci.c   */ -#define pcibios_assign_all_busses()	1 -#define PCIBIOS_MIN_IO		0x00000000 -#define PCIBIOS_MIN_MEM		0x00000000  #ifndef __ASSEMBLY__  void iop33x_init_irq(void); diff --git a/arch/arm/mach-iop33x/include/mach/io.h b/arch/arm/mach-iop33x/include/mach/io.h deleted file mode 100644 index e99a7ed6d05..00000000000 --- a/arch/arm/mach-iop33x/include/mach/io.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * arch/arm/mach-iop33x/include/mach/io.h - * - * Copyright (C) 2001  MontaVista Software, Inc. - * - * 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 __IO_H -#define __IO_H - -#include <asm/hardware/iop3xx.h> - -extern void __iomem *__iop3xx_ioremap(unsigned long cookie, size_t size, -	unsigned int mtype); -extern void __iop3xx_iounmap(void __iomem *addr); - -#define IO_SPACE_LIMIT		0xffffffff -#define __io(p)		((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p)) -#define __mem_pci(a)		(a) - -#define __arch_ioremap(a, s, f) __iop3xx_ioremap(a, s, f) -#define __arch_iounmap(a)	 __iop3xx_iounmap(a) - -#endif diff --git a/arch/arm/mach-iop33x/include/mach/iop33x.h b/arch/arm/mach-iop33x/include/mach/iop33x.h index a89c0a234bf..c9512265309 100644 --- a/arch/arm/mach-iop33x/include/mach/iop33x.h +++ b/arch/arm/mach-iop33x/include/mach/iop33x.h @@ -18,7 +18,6 @@   * Peripherals that are shared between the iop32x and iop33x but   * located at different addresses.   */ -#define IOP3XX_GPIO_REG(reg)	(IOP3XX_PERIPHERAL_VIRT_BASE + 0x1780 + (reg))  #define IOP3XX_TIMER_REG(reg)	(IOP3XX_PERIPHERAL_VIRT_BASE + 0x07d0 + (reg))  #include <asm/hardware/iop3xx.h> diff --git a/arch/arm/mach-iop33x/include/mach/memory.h b/arch/arm/mach-iop33x/include/mach/memory.h deleted file mode 100644 index a30a96aa6d2..00000000000 --- a/arch/arm/mach-iop33x/include/mach/memory.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * arch/arm/mach-iop33x/include/mach/memory.h - */ - -#ifndef __MEMORY_H -#define __MEMORY_H - -/* - * Physical DRAM offset. - */ -#define PHYS_OFFSET	UL(0x00000000) - -#endif diff --git a/arch/arm/mach-iop33x/include/mach/system.h b/arch/arm/mach-iop33x/include/mach/system.h deleted file mode 100644 index f192a34be07..00000000000 --- a/arch/arm/mach-iop33x/include/mach/system.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * arch/arm/mach-iop33x/include/mach/system.h - * - * Copyright (C) 2001 MontaVista Software, Inc. - * - * 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 <asm/hardware/iop3xx.h> - -static inline void arch_idle(void) -{ -	cpu_do_idle(); -} - -static inline void arch_reset(char mode, const char *cmd) -{ -	*IOP3XX_PCSR = 0x30; - -	/* Jump into ROM at address 0 */ -	cpu_reset(0); -} diff --git a/arch/arm/mach-iop33x/include/mach/timex.h b/arch/arm/mach-iop33x/include/mach/timex.h deleted file mode 100644 index 54c589091d6..00000000000 --- a/arch/arm/mach-iop33x/include/mach/timex.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * arch/arm/mach-iop33x/include/mach/timex.h - * - * IOP3xx architecture timex specifications - */ -#define CLOCK_TICK_RATE		(100 * HZ) diff --git a/arch/arm/mach-iop33x/include/mach/uncompress.h b/arch/arm/mach-iop33x/include/mach/uncompress.h index b42423f6330..ed282e14176 100644 --- a/arch/arm/mach-iop33x/include/mach/uncompress.h +++ b/arch/arm/mach-iop33x/include/mach/uncompress.h @@ -7,7 +7,7 @@  #include <linux/serial_reg.h>  #include <mach/hardware.h> -static volatile u32 *uart_base; +volatile u32 *uart_base;  #define TX_DONE		(UART_LSR_TEMT | UART_LSR_THRE) @@ -34,4 +34,3 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)   * nothing to do   */  #define arch_decomp_setup()	__arch_decomp_setup(arch_id) -#define arch_decomp_wdog() diff --git a/arch/arm/mach-iop33x/include/mach/vmalloc.h b/arch/arm/mach-iop33x/include/mach/vmalloc.h deleted file mode 100644 index 48331dc2370..00000000000 --- a/arch/arm/mach-iop33x/include/mach/vmalloc.h +++ /dev/null @@ -1,5 +0,0 @@ -/* - * arch/arm/mach-iop33x/include/mach/vmalloc.h - */ - -#define VMALLOC_END	0xfe000000UL diff --git a/arch/arm/mach-iop33x/iq80331.c b/arch/arm/mach-iop33x/iq80331.c index c565f8d1e3a..e2cb65cfbe2 100644 --- a/arch/arm/mach-iop33x/iq80331.c +++ b/arch/arm/mach-iop33x/iq80331.c @@ -45,16 +45,12 @@ static void __init iq80331_timer_init(void)  		iop_init_time(266000000);  } -static struct sys_timer iq80331_timer = { -	.init		= iq80331_timer_init, -}; -  /*   * IQ80331 PCI.   */  static int __init -iq80331_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) +iq80331_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)  {  	int irq; @@ -84,11 +80,10 @@ iq80331_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)  }  static struct hw_pci iq80331_pci __initdata = { -	.swizzle	= pci_std_swizzle,  	.nr_controllers = 1, +	.ops		= &iop3xx_ops,  	.setup		= iop3xx_pci_setup,  	.preinit	= iop3xx_pci_preinit_cond, -	.scan		= iop3xx_pci_scan_bus,  	.map_irq	= iq80331_pci_map_irq,  }; @@ -127,8 +122,15 @@ static struct platform_device iq80331_flash_device = {  	.resource	= &iq80331_flash_resource,  }; +static struct resource iq80331_gpio_res[] = { +	DEFINE_RES_MEM((IOP3XX_PERIPHERAL_PHYS_BASE + 0x1780), 0x10), +}; +  static void __init iq80331_init_machine(void)  { +	platform_device_register_simple("gpio-iop", 0, +					iq80331_gpio_res, +					ARRAY_SIZE(iq80331_gpio_res));  	platform_device_register(&iop3xx_i2c0_device);  	platform_device_register(&iop3xx_i2c1_device);  	platform_device_register(&iop33x_uart0_device); @@ -141,9 +143,10 @@ static void __init iq80331_init_machine(void)  MACHINE_START(IQ80331, "Intel IQ80331")  	/* Maintainer: Intel Corp. */ -	.boot_params	= 0x00000100, +	.atag_offset	= 0x100,  	.map_io		= iop3xx_map_io,  	.init_irq	= iop33x_init_irq, -	.timer		= &iq80331_timer, +	.init_time	= iq80331_timer_init,  	.init_machine	= iq80331_init_machine, +	.restart	= iop3xx_restart,  MACHINE_END diff --git a/arch/arm/mach-iop33x/iq80332.c b/arch/arm/mach-iop33x/iq80332.c index 36a9efb254c..0b6269d94f8 100644 --- a/arch/arm/mach-iop33x/iq80332.c +++ b/arch/arm/mach-iop33x/iq80332.c @@ -45,16 +45,12 @@ static void __init iq80332_timer_init(void)  		iop_init_time(266000000);  } -static struct sys_timer iq80332_timer = { -	.init		= iq80332_timer_init, -}; -  /*   * IQ80332 PCI.   */  static int __init -iq80332_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) +iq80332_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)  {  	int irq; @@ -84,11 +80,10 @@ iq80332_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)  }  static struct hw_pci iq80332_pci __initdata = { -	.swizzle	= pci_std_swizzle,  	.nr_controllers = 1, +	.ops		= &iop3xx_ops,  	.setup		= iop3xx_pci_setup,  	.preinit	= iop3xx_pci_preinit_cond, -	.scan		= iop3xx_pci_scan_bus,  	.map_irq	= iq80332_pci_map_irq,  }; @@ -127,8 +122,15 @@ static struct platform_device iq80332_flash_device = {  	.resource	= &iq80332_flash_resource,  }; +static struct resource iq80332_gpio_res[] = { +	DEFINE_RES_MEM((IOP3XX_PERIPHERAL_PHYS_BASE + 0x1780), 0x10), +}; +  static void __init iq80332_init_machine(void)  { +	platform_device_register_simple("gpio-iop", 0, +					iq80332_gpio_res, +					ARRAY_SIZE(iq80332_gpio_res));  	platform_device_register(&iop3xx_i2c0_device);  	platform_device_register(&iop3xx_i2c1_device);  	platform_device_register(&iop33x_uart0_device); @@ -141,9 +143,10 @@ static void __init iq80332_init_machine(void)  MACHINE_START(IQ80332, "Intel IQ80332")  	/* Maintainer: Intel Corp. */ -	.boot_params	= 0x00000100, +	.atag_offset	= 0x100,  	.map_io		= iop3xx_map_io,  	.init_irq	= iop33x_init_irq, -	.timer		= &iq80332_timer, +	.init_time	= iq80332_timer_init,  	.init_machine	= iq80332_init_machine, +	.restart	= iop3xx_restart,  MACHINE_END diff --git a/arch/arm/mach-iop33x/irq.c b/arch/arm/mach-iop33x/irq.c index abb4ea2ed4f..f7f5d3e451c 100644 --- a/arch/arm/mach-iop33x/irq.c +++ b/arch/arm/mach-iop33x/irq.c @@ -53,45 +53,45 @@ static void intsize_write(u32 val)  }  static void -iop33x_irq_mask1 (unsigned int irq) +iop33x_irq_mask1 (struct irq_data *d)  { -	iop33x_mask0 &= ~(1 << irq); +	iop33x_mask0 &= ~(1 << d->irq);  	intctl0_write(iop33x_mask0);  }  static void -iop33x_irq_mask2 (unsigned int irq) +iop33x_irq_mask2 (struct irq_data *d)  { -	iop33x_mask1 &= ~(1 << (irq - 32)); +	iop33x_mask1 &= ~(1 << (d->irq - 32));  	intctl1_write(iop33x_mask1);  }  static void -iop33x_irq_unmask1(unsigned int irq) +iop33x_irq_unmask1(struct irq_data *d)  { -	iop33x_mask0 |= 1 << irq; +	iop33x_mask0 |= 1 << d->irq;  	intctl0_write(iop33x_mask0);  }  static void -iop33x_irq_unmask2(unsigned int irq) +iop33x_irq_unmask2(struct irq_data *d)  { -	iop33x_mask1 |= (1 << (irq - 32)); +	iop33x_mask1 |= (1 << (d->irq - 32));  	intctl1_write(iop33x_mask1);  }  struct irq_chip iop33x_irqchip1 = { -	.name	= "IOP33x-1", -	.ack	= iop33x_irq_mask1, -	.mask	= iop33x_irq_mask1, -	.unmask	= iop33x_irq_unmask1, +	.name		= "IOP33x-1", +	.irq_ack	= iop33x_irq_mask1, +	.irq_mask	= iop33x_irq_mask1, +	.irq_unmask	= iop33x_irq_unmask1,  };  struct irq_chip iop33x_irqchip2 = { -	.name	= "IOP33x-2", -	.ack	= iop33x_irq_mask2, -	.mask	= iop33x_irq_mask2, -	.unmask	= iop33x_irq_unmask2, +	.name		= "IOP33x-2", +	.irq_ack	= iop33x_irq_mask2, +	.irq_mask	= iop33x_irq_mask2, +	.irq_unmask	= iop33x_irq_unmask2,  };  void __init iop33x_init_irq(void) @@ -110,8 +110,9 @@ void __init iop33x_init_irq(void)  		*IOP3XX_PCIIRSR = 0x0f;  	for (i = 0; i < NR_IRQS; i++) { -		set_irq_chip(i, (i < 32) ? &iop33x_irqchip1 : &iop33x_irqchip2); -		set_irq_handler(i, handle_level_irq); +		irq_set_chip_and_handler(i, +					 (i < 32) ? &iop33x_irqchip1 : &iop33x_irqchip2, +					 handle_level_irq);  		set_irq_flags(i, IRQF_VALID | IRQF_PROBE);  	}  } diff --git a/arch/arm/mach-iop33x/uart.c b/arch/arm/mach-iop33x/uart.c index cdae24e46ee..bbf54d794ce 100644 --- a/arch/arm/mach-iop33x/uart.c +++ b/arch/arm/mach-iop33x/uart.c @@ -22,7 +22,6 @@  #include <asm/page.h>  #include <asm/mach/map.h>  #include <asm/setup.h> -#include <asm/system.h>  #include <asm/memory.h>  #include <mach/hardware.h>  #include <asm/hardware/iop3xx.h>  | 
