[PATCH] MIPS: qemu-malta: switch to devicetree

Antony Pavlov antonynpavlov at gmail.com
Tue Sep 3 00:33:33 EDT 2013


Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
---
 arch/mips/boards/qemu-malta/init.c     | 31 ++-----------------------------
 arch/mips/configs/qemu-malta_defconfig |  1 +
 arch/mips/dts/qemu-malta.dts           | 33 +++++++++++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 29 deletions(-)

diff --git a/arch/mips/boards/qemu-malta/init.c b/arch/mips/boards/qemu-malta/init.c
index ddc90dc..4d12495 100644
--- a/arch/mips/boards/qemu-malta/init.c
+++ b/arch/mips/boards/qemu-malta/init.c
@@ -17,39 +17,12 @@
  */
 
 #include <common.h>
-#include <types.h>
-#include <driver.h>
 #include <init.h>
-#include <ns16550.h>
-#include <mach/hardware.h>
-#include <partition.h>
-#include <sizes.h>
 
-static int malta_devices_init(void)
+static int malta_core_init(void)
 {
-	add_cfi_flash_device(0, 0x1e000000, SZ_4M, 0);
-
-	devfs_add_partition("nor0", 0x0, SZ_512K, DEVFS_PARTITION_FIXED, "self");
-	devfs_add_partition("nor0", SZ_512K, SZ_64K, DEVFS_PARTITION_FIXED, "env0");
-
-	return 0;
-}
-device_initcall(malta_devices_init);
-
-static struct NS16550_plat serial_plat = {
-	.clock = 1843200, /* no matter for emulated port */
-	.shift = 0,
-};
-
-static int malta_console_init(void)
-{
-	barebox_set_model("qemu malta");
 	barebox_set_hostname("malta");
 
-	/* Register the serial port */
-	add_ns16550_device(DEVICE_ID_DYNAMIC, MALTA_PIIX4_UART0, 8,
-			IORESOURCE_MEM_8BIT, &serial_plat);
-
 	return 0;
 }
-console_initcall(malta_console_init);
+core_initcall(malta_core_init);
diff --git a/arch/mips/configs/qemu-malta_defconfig b/arch/mips/configs/qemu-malta_defconfig
index 18c840d..1b9ee9a 100644
--- a/arch/mips/configs/qemu-malta_defconfig
+++ b/arch/mips/configs/qemu-malta_defconfig
@@ -54,6 +54,7 @@ CONFIG_NET_PING=y
 CONFIG_NET_NETCONSOLE=y
 CONFIG_NET_RESOLV=y
 CONFIG_OFDEVICE=y
+CONFIG_OF_BAREBOX_DRIVERS=y
 # CONFIG_SPI is not set
 CONFIG_MTD=y
 CONFIG_DRIVER_CFI=y
diff --git a/arch/mips/dts/qemu-malta.dts b/arch/mips/dts/qemu-malta.dts
index c4dcf05..4057729 100644
--- a/arch/mips/dts/qemu-malta.dts
+++ b/arch/mips/dts/qemu-malta.dts
@@ -6,7 +6,40 @@
 	model = "qemu malta";
 	compatible = "qemu,malta";
 
+	chosen {
+		environment at 0 {
+			compatible = "barebox,environment";
+			device-path = &nor0, "partname:barebox-environment";
+		};
+	};
+
 	memory {
 		reg = <0x00000000 0x10000000>;
 	};
+
+	uart0: serial at b00003f8 {
+		compatible = "ns16550a";
+		reg = <0xb00003f8 0x08>;
+		reg-shift = <0>;
+		/* no matter for emulated port */
+		clock-frequency = <1843200>;
+	};
+
+	nor0: flash at be000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "cfi-flash";
+		reg = <0xbe000000 0x00400000>;
+
+		partition at 0 {
+			label = "barebox";
+			reg = <0 0x80000>;
+			read-only;
+		};
+
+		partition at 80000 {
+			label = "barebox-environment";
+			reg = <0x80000 0x10000>;
+		};
+	};
 };
-- 
1.8.4.rc3




More information about the barebox mailing list