ppc40x: add sysupgrade support

Cc: backfire@openwrt.org

SVN-Revision: 20821
This commit is contained in:
Gabor Juhos 2010-04-12 12:21:18 +00:00
parent bc4cd8c850
commit 185965e128
5 changed files with 110 additions and 15 deletions

View file

@ -0,0 +1,11 @@
#!/bin/sh
#
# Copyright (C) 2010 OpenWrt.org
#
ppc40x_board_name() {
local model
model=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /model/ {print $2}' /proc/cpuinfo)
echo $model
}

View file

@ -0,0 +1,38 @@
#
# Copyright (C) 2010 OpenWrt.org
#
. /lib/ppc40x.sh
PART_NAME=firmware
RAMFS_COPY_DATA=/lib/ppc40x.sh
platform_check_image() {
local board=$(ppc40x_board_name)
local magic="$(get_magic_word "$1")"
[ "$ARGC" -gt 1 ] && return 1
case "$board" in
kilauea | openrb | magicbox)
[ "$magic" != "2705" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
esac
echo "Sysupgrade is not yet supported on $board."
return 1
}
platform_do_upgrade() {
local board=$(ppc40x_board_name)
case "$board" in
*)
default_do_upgrade "$ARGV"
;;
esac
}

View file

@ -93,7 +93,7 @@
+}
--- /dev/null
+++ b/arch/powerpc/boot/dts/magicbox.dts
@@ -0,0 +1,281 @@
@@ -0,0 +1,285 @@
+/*
+ * Device Tree Source for Magicbox boards
+ *
@ -316,19 +316,23 @@
+ reg = <0x00000000 0xffc00000 0x00400000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ partition@0 {
+ partition0@0 {
+ label = "linux";
+ reg = <0x0 0x140000>;
+ };
+ partition@120000 {
+ partition1@120000 {
+ label = "rootfs";
+ reg = <0x140000 0x680000>;
+ };
+ partition@7c0000 {
+ partition2@7c0000 {
+ label = "u-boot";
+ reg = <0x7c0000 0x30000>;
+ read-only;
+ };
+ partition3@0 {
+ label = "firmware";
+ reg = <0x0 0x7c0000>;
+ };
+ };
+ };
+

View file

@ -74,7 +74,7 @@
+}
--- /dev/null
+++ b/arch/powerpc/boot/dts/openrb.dts
@@ -0,0 +1,276 @@
@@ -0,0 +1,280 @@
+/*
+ * Device Tree Source for OpenRB boards
+ *
@ -292,19 +292,23 @@
+ reg = <0x00000000 0xff800000 0x00800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ partition@0 {
+ partition0@0 {
+ label = "linux";
+ reg = <0x0 0x140000>;
+ };
+ partition@120000 {
+ partition1@120000 {
+ label = "rootfs";
+ reg = <0x140000 0x680000>;
+ };
+ partition@7c0000 {
+ partition2@7c0000 {
+ label = "u-boot";
+ reg = <0x7c0000 0x30000>;
+ read-only;
+ };
+ partition3@0 {
+ label = "firmware";
+ reg = <0x0 0x7c0000>;
+ };
+ };
+ };
+

View file

@ -1,17 +1,55 @@
--- a/arch/powerpc/boot/dts/kilauea.dts
+++ b/arch/powerpc/boot/dts/kilauea.dts
@@ -157,12 +157,8 @@
@@ -93,8 +93,8 @@
compatible = "ibm,sdram-405ex", "ibm,sdram-4xx-ddr2";
dcr-reg = <0x010 0x002>;
interrupt-parent = <&UIC2>;
- interrupts = <0x5 0x4 /* ECC DED Error */
- 0x6 0x4>; /* ECC SEC Error */
+ interrupts = <0x5 0x4 /* ECC DED Error */
+ 0x6 0x4>; /* ECC SEC Error */
};
CRYPTO: crypto@ef700000 {
@@ -148,30 +148,30 @@
reg = <0x00000000 0x00000000 0x04000000>;
#address-cells = <1>;
#size-cells = <1>;
- partition@0 {
+ partition0@0 {
label = "kernel";
reg = <0x00000000 0x001e0000>;
};
- partition@1e0000 {
+ partition1@1e0000 {
label = "dtb";
reg = <0x001e0000 0x00020000>;
};
partition@200000 {
- partition@200000 {
- label = "root";
- reg = <0x00200000 0x00200000>;
- };
- partition@400000 {
- label = "user";
- reg = <0x00400000 0x03b60000>;
+ partition2@200000 {
+ label = "rootfs";
+ reg = <0x00200000 0x03d60000>;
};
partition@3f60000 {
- partition@400000 {
- label = "user";
- reg = <0x00400000 0x03b60000>;
- };
- partition@3f60000 {
+ partition3@3f60000 {
label = "env";
reg = <0x03f60000 0x00040000>;
};
- partition@3fa0000 {
+ partition4@3fa0000 {
label = "u-boot";
reg = <0x03fa0000 0x00060000>;
};
+ partition5@0 {
+ label = "firmware";
+ reg = <0x00000000 0x03f60000>;
+ };
};
ndfc@1,0 {