[OpenWrt-Devel] [PATCH] brcm63xx: Let the CFE partition in HG556a to be writeable
dani
dgcbueu at gmail.com
Wed Dec 2 15:37:21 EST 2015
In the HG556a router the partition mtd0, where CFE lives, is read only.
This patch allows this partition to be writeable.
The BCM6358 SoC has two cores, but they are not identical. The second core has
half icache.
core0: icache=32kB
core1: icache=16kB
As default the HG556a uses the second core as the main one (configured by CFE).
Since currently there isn't SMP support for using both cores, we want to use the
one with the best performance.
For using the core0 as the main one, we need to write some bytes at the offset
0x014 of mtd0 (CFE). Therefore we need the mtd0 partition to be writeable.
After setting the core0 as the main one, the performance can increase up to
+20% (tested). The performance gain isn't marginal.
For setting the core0 as the main one in an easy way I wrote a very simple utility:
https://wiki.openwrt.org/_media/media/huawei/tp0set.tar.gz
It can switch from core0 to core1 or vice versa in OpenWrt writing proper bytes
into bcm6358 CFE (fully tested in the HG556a, no bricks).
Signed-off-by: Daniel Gonzalez <dgcbueu at gmail.com>
diff --git a/target/linux/brcm63xx/dts/hg556a-a.dts b/target/linux/brcm63xx/dts/hg556a-a.dts
index 98e0a83..1b007c7 100644
--- a/target/linux/brcm63xx/dts/hg556a-a.dts
+++ b/target/linux/brcm63xx/dts/hg556a-a.dts
@@ -105,7 +105,6 @@
cfe at 0 {
label = "CFE";
reg = <0x000000 0x020000>;
- read-only;
};
linux at 20000 {
diff --git a/target/linux/brcm63xx/dts/hg556a-b.dts b/target/linux/brcm63xx/dts/hg556a-b.dts
index 8a19856..950fd17 100644
--- a/target/linux/brcm63xx/dts/hg556a-b.dts
+++ b/target/linux/brcm63xx/dts/hg556a-b.dts
@@ -105,7 +105,6 @@
cfe at 0 {
label = "CFE";
reg = <0x000000 0x020000>;
- read-only;
};
linux at 20000 {
diff --git a/target/linux/brcm63xx/dts/hg556a-c.dts b/target/linux/brcm63xx/dts/hg556a-c.dts
index 9798091..f6b635d 100644
--- a/target/linux/brcm63xx/dts/hg556a-c.dts
+++ b/target/linux/brcm63xx/dts/hg556a-c.dts
@@ -100,7 +100,6 @@
cfe at 0 {
label = "CFE";
reg = <0x000000 0x020000>;
- read-only;
};
linux at 20000 {
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list