From d1a72c03d141209e5ce575105b502401679a94d2 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sun, 30 Aug 2009 20:13:10 +0000 Subject: [ramips] platform.h is rt288x specific, move it git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17443 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ramips/files/arch/mips/ralink/rt288x/Makefile | 2 +- .../ramips/files/arch/mips/ralink/rt288x/devices.c | 98 ++++++++++++++++++++++ .../ramips/files/arch/mips/ralink/rt288x/devices.h | 20 +++++ .../files/arch/mips/ralink/rt288x/platform.c | 97 --------------------- 4 files changed, 119 insertions(+), 98 deletions(-) create mode 100644 target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c create mode 100644 target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h delete mode 100644 target/linux/ramips/files/arch/mips/ralink/rt288x/platform.c (limited to 'target/linux/ramips/files/arch/mips/ralink/rt288x') diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile b/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile index 4c22a6dc8..c8c9712d5 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile @@ -8,7 +8,7 @@ # under the terms of the GNU General Public License version 2 as published # by the Free Software Foundation. -obj-y := prom.o irq.o setup.o rt288x.o platform.o +obj-y := prom.o irq.o setup.o rt288x.o devices.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c new file mode 100644 index 000000000..64ce0a9e6 --- /dev/null +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c @@ -0,0 +1,98 @@ +/* + * Ralink RT288x SoC platform device registration + * + * Copyright (C) 2008 Gabor Juhos + * Copyright (C) 2008 Imre Kaloz + * + * 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 +#include +#include +#include + +#include + +#include +#include + +#include "devices.h" + +static struct resource rt288x_flash0_resources[] = { + { + .flags = IORESOURCE_MEM, + .start = KSEG1ADDR(RT2880_FLASH0_BASE), + .end = KSEG1ADDR(RT2880_FLASH0_BASE) + + RT2880_FLASH0_SIZE - 1, + }, +}; + +static struct platform_device rt288x_flash0_device = { + .name = "physmap-flash", + .resource = rt288x_flash0_resources, + .num_resources = ARRAY_SIZE(rt288x_flash0_resources), +}; + +static struct resource rt288x_flash1_resources[] = { + { + .flags = IORESOURCE_MEM, + .start = KSEG1ADDR(RT2880_FLASH1_BASE), + .end = KSEG1ADDR(RT2880_FLASH1_BASE) + + RT2880_FLASH1_SIZE - 1, + }, +}; + +static struct platform_device rt288x_flash1_device = { + .name = "physmap-flash", + .resource = rt288x_flash1_resources, + .num_resources = ARRAY_SIZE(rt288x_flash1_resources), +}; + +static int rt288x_flash_instance __initdata; +void __init rt288x_register_flash(unsigned int id, + struct physmap_flash_data *pdata) +{ + struct platform_device *pdev; + u32 t; + int reg; + + switch (id) { + case 0: + pdev = &rt288x_flash0_device; + reg = MEMC_REG_FLASH_CFG0; + break; + case 1: + pdev = &rt288x_flash1_device; + reg = MEMC_REG_FLASH_CFG1; + break; + default: + return; + } + + t = rt288x_memc_rr(reg); + t = (t >> FLASH_CFG_WIDTH_SHIFT) & FLASH_CFG_WIDTH_MASK; + + switch (t) { + case FLASH_CFG_WIDTH_8BIT: + pdata->width = 1; + break; + case FLASH_CFG_WIDTH_16BIT: + pdata->width = 2; + break; + case FLASH_CFG_WIDTH_32BIT: + pdata->width = 4; + break; + default: + printk(KERN_ERR "RT288x: flash bank%u witdh is invalid\n", id); + return; + } + + pdev->dev.platform_data = pdata; + pdev->id = rt288x_flash_instance; + + platform_device_register(pdev); + rt288x_flash_instance++; +} diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h new file mode 100644 index 000000000..4585d8b56 --- /dev/null +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h @@ -0,0 +1,20 @@ +/* + * Ralink RT288x SoC specific platform definitions + * + * Copyright (C) 2008 Gabor Juhos + * Copyright (C) 2008 Imre Kaloz + * + * 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_MACH_RT288X_PLATFORM_H +#define __ASM_MACH_RT288X_PLATFORM_H + +struct physmap_flash_data; + +extern void rt288x_register_flash(unsigned int id, + struct physmap_flash_data *pdata) __init; + +#endif /* __ASM_MACH_RT288X_PLATFORM_H */ diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/platform.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/platform.c deleted file mode 100644 index a68628696..000000000 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/platform.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Ralink RT288x SoC platform device registration - * - * Copyright (C) 2008 Gabor Juhos - * Copyright (C) 2008 Imre Kaloz - * - * 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 -#include -#include -#include - -#include - -#include -#include -#include - -static struct resource rt288x_flash0_resources[] = { - { - .flags = IORESOURCE_MEM, - .start = KSEG1ADDR(RT2880_FLASH0_BASE), - .end = KSEG1ADDR(RT2880_FLASH0_BASE) + - RT2880_FLASH0_SIZE - 1, - }, -}; - -static struct platform_device rt288x_flash0_device = { - .name = "physmap-flash", - .resource = rt288x_flash0_resources, - .num_resources = ARRAY_SIZE(rt288x_flash0_resources), -}; - -static struct resource rt288x_flash1_resources[] = { - { - .flags = IORESOURCE_MEM, - .start = KSEG1ADDR(RT2880_FLASH1_BASE), - .end = KSEG1ADDR(RT2880_FLASH1_BASE) + - RT2880_FLASH1_SIZE - 1, - }, -}; - -static struct platform_device rt288x_flash1_device = { - .name = "physmap-flash", - .resource = rt288x_flash1_resources, - .num_resources = ARRAY_SIZE(rt288x_flash1_resources), -}; - -static int rt288x_flash_instance __initdata; -void __init rt288x_register_flash(unsigned int id, - struct physmap_flash_data *pdata) -{ - struct platform_device *pdev; - u32 t; - int reg; - - switch (id) { - case 0: - pdev = &rt288x_flash0_device; - reg = MEMC_REG_FLASH_CFG0; - break; - case 1: - pdev = &rt288x_flash1_device; - reg = MEMC_REG_FLASH_CFG1; - break; - default: - return; - } - - t = rt288x_memc_rr(reg); - t = (t >> FLASH_CFG_WIDTH_SHIFT) & FLASH_CFG_WIDTH_MASK; - - switch (t) { - case FLASH_CFG_WIDTH_8BIT: - pdata->width = 1; - break; - case FLASH_CFG_WIDTH_16BIT: - pdata->width = 2; - break; - case FLASH_CFG_WIDTH_32BIT: - pdata->width = 4; - break; - default: - printk(KERN_ERR "RT288x: flash bank%u witdh is invalid\n", id); - return; - } - - pdev->dev.platform_data = pdata; - pdev->id = rt288x_flash_instance; - - platform_device_register(pdev); - rt288x_flash_instance++; -} -- cgit v1.2.3