diff options
author | Paul Burton <paul.burton@imgtec.com> | 2016-08-26 15:17:40 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2016-10-05 01:31:20 +0200 |
commit | 3aefc6554ad95f64de5ab384a959f96eb188f273 (patch) | |
tree | 219fc9f6c9b7fa8465df68dbb0b2dcfa4f912182 | |
parent | 63c8d90ca967c7e87006dbd363a8724ba31f1b57 (diff) |
MIPS: SEAD3: Probe parallel flash via DT
Probe the system parallel flash using device tree rather than platform
code, in order to reduce the amount of the latter.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14053/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/boot/dts/mti/sead3.dts | 24 | ||||
-rw-r--r-- | arch/mips/mti-sead3/sead3-platform.c | 37 |
2 files changed, 24 insertions, 37 deletions
diff --git a/arch/mips/boot/dts/mti/sead3.dts b/arch/mips/boot/dts/mti/sead3.dts index 49f57c281812..8844cc006676 100644 --- a/arch/mips/boot/dts/mti/sead3.dts +++ b/arch/mips/boot/dts/mti/sead3.dts @@ -69,6 +69,30 @@ has-transaction-translator; }; + flash@1c000000 { + compatible = "intel,28f128j3", "cfi-flash"; + reg = <0x1c000000 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + bank-width = <4>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + user-fs@0 { + label = "User FS"; + reg = <0x0 0x1fc0000>; + }; + + board-config@3e0000 { + label = "Board Config"; + reg = <0x1fc0000 0x40000>; + }; + }; + }; + /* UART connected to FTDI & miniUSB socket */ uart0: uart@1f000900 { compatible = "ns16550a"; diff --git a/arch/mips/mti-sead3/sead3-platform.c b/arch/mips/mti-sead3/sead3-platform.c index 21047b596af8..5c1f42a23ac5 100644 --- a/arch/mips/mti-sead3/sead3-platform.c +++ b/arch/mips/mti-sead3/sead3-platform.c @@ -8,44 +8,8 @@ #include <linux/dma-mapping.h> #include <linux/init.h> #include <linux/leds.h> -#include <linux/mtd/physmap.h> #include <linux/platform_device.h> -static struct mtd_partition sead3_mtd_partitions[] = { - { - .name = "User FS", - .offset = 0x00000000, - .size = 0x01fc0000, - }, { - .name = "Board Config", - .offset = 0x01fc0000, - .size = 0x00040000, - .mask_flags = MTD_WRITEABLE - }, -}; - -static struct physmap_flash_data sead3_flash_data = { - .width = 4, - .nr_parts = ARRAY_SIZE(sead3_mtd_partitions), - .parts = sead3_mtd_partitions -}; - -static struct resource sead3_flash_resource = { - .start = 0x1c000000, - .end = 0x1dffffff, - .flags = IORESOURCE_MEM -}; - -static struct platform_device sead3_flash = { - .name = "physmap-flash", - .id = 0, - .dev = { - .platform_data = &sead3_flash_data, - }, - .num_resources = 1, - .resource = &sead3_flash_resource, -}; - #define LEDFLAGS(bits, shift) \ ((bits << 8) | (shift << 8)) @@ -113,7 +77,6 @@ static struct platform_device sead3_led_device = { }; static struct platform_device *sead3_platform_devices[] __initdata = { - &sead3_flash, &pled_device, &fled_device, &sead3_led_device, |