Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -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";
+0 −37
Original line number Diff line number Diff line
@@ -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,