Commit 3aefc655 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle

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: default avatarPaul 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: default avatarRalf Baechle <ralf@linux-mips.org>
parent 63c8d90c
...@@ -69,6 +69,30 @@ ehci@1b200000 { ...@@ -69,6 +69,30 @@ ehci@1b200000 {
has-transaction-translator; 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 */ /* UART connected to FTDI & miniUSB socket */
uart0: uart@1f000900 { uart0: uart@1f000900 {
compatible = "ns16550a"; compatible = "ns16550a";
......
...@@ -8,44 +8,8 @@ ...@@ -8,44 +8,8 @@
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.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) \ #define LEDFLAGS(bits, shift) \
((bits << 8) | (shift << 8)) ((bits << 8) | (shift << 8))
...@@ -113,7 +77,6 @@ static struct platform_device sead3_led_device = { ...@@ -113,7 +77,6 @@ static struct platform_device sead3_led_device = {
}; };
static struct platform_device *sead3_platform_devices[] __initdata = { static struct platform_device *sead3_platform_devices[] __initdata = {
&sead3_flash,
&pled_device, &pled_device,
&fled_device, &fled_device,
&sead3_led_device, &sead3_led_device,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment