1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 18:23:09 +02:00

ppc40x: add sysupgrade support (backport of r20821)

git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@20825 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg 2010-04-12 12:58:50 +00:00
parent 344fbd81c6
commit a69ff27495
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 --- /dev/null
+++ b/arch/powerpc/boot/dts/magicbox.dts +++ b/arch/powerpc/boot/dts/magicbox.dts
@@ -0,0 +1,281 @@ @@ -0,0 +1,285 @@
+/* +/*
+ * Device Tree Source for Magicbox boards + * Device Tree Source for Magicbox boards
+ * + *
@ -316,19 +316,23 @@
+ reg = <0x00000000 0xffc00000 0x00400000>; + reg = <0x00000000 0xffc00000 0x00400000>;
+ #address-cells = <1>; + #address-cells = <1>;
+ #size-cells = <1>; + #size-cells = <1>;
+ partition@0 { + partition0@0 {
+ label = "linux"; + label = "linux";
+ reg = <0x0 0x140000>; + reg = <0x0 0x140000>;
+ }; + };
+ partition@120000 { + partition1@120000 {
+ label = "rootfs"; + label = "rootfs";
+ reg = <0x140000 0x680000>; + reg = <0x140000 0x680000>;
+ }; + };
+ partition@7c0000 { + partition2@7c0000 {
+ label = "u-boot"; + label = "u-boot";
+ reg = <0x7c0000 0x30000>; + reg = <0x7c0000 0x30000>;
+ read-only; + read-only;
+ }; + };
+ partition3@0 {
+ label = "firmware";
+ reg = <0x0 0x7c0000>;
+ };
+ }; + };
+ }; + };
+ +

View File

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

View File

@ -1,17 +1,55 @@
--- a/arch/powerpc/boot/dts/kilauea.dts --- a/arch/powerpc/boot/dts/kilauea.dts
+++ b/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>; reg = <0x001e0000 0x00020000>;
}; };
partition@200000 { - partition@200000 {
- label = "root"; - label = "root";
- reg = <0x00200000 0x00200000>; - reg = <0x00200000 0x00200000>;
- }; + partition2@200000 {
- partition@400000 {
- label = "user";
- reg = <0x00400000 0x03b60000>;
+ label = "rootfs"; + label = "rootfs";
+ reg = <0x00200000 0x03d60000>; + reg = <0x00200000 0x03d60000>;
}; };
partition@3f60000 { - partition@400000 {
- label = "user";
- reg = <0x00400000 0x03b60000>;
- };
- partition@3f60000 {
+ partition3@3f60000 {
label = "env"; 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 {