[PATCH linux dev-4.7 v2] ARM: dts: aspeed: Reserve RAM on P9 machines
Joel Stanley
joel at jms.id.au
Fri Feb 24 16:33:57 AEDT 2017
This flash_memory region reserved memory region is used by the host<->bmc
mailbox daemon.
This patch initially had a vga_memory region for the host processor's
framebuffer when using the Aspeed as a PCI graphics device. However this
is not required as u-boot modifies the /memory node of the device tree
to report the total RAM size minus the strapped VGA framebuffer. This is
16MB of the current system.
These numbers were generated as follows:
$ genmem.py --ram-base 0x80000000 --ram 1G --flash 64M
And for Romulus and Witherspoon:
$ genmem.py --ram-base 0x80000000 --ram 512M --flash 64M
With this script:
def convert_one(s):
suffixes = [
('K', 1024),
('M', (1024*1024)),
('G', (1024*1024*1024)),
('T', (1024*1024*1024*1024)),
('th', 1000),
('mi', (1000*1000)),
('bi', (1000*1000*1000)),
('tri', (1000*1000*1000*1000))
]
s = s.strip()
factor = 1
for suffix, mul in suffixes:
if s.endswith(suffix) or s.endswith(suffix.lower()):
factor = mul
s = s[:-len(suffix)]
break
val = None
if s.startswith('0b'):
val = convert_binary(s)
elif s.startswith('0x'):
val = int(s, 16)
else:
for c in 'abcdefABCDEF':
if c in s:
val = int(s, 16)
break
if val is None:
val = int(s)
val *= factor
return val
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--ram-base')
parser.add_argument('--ram')
parser.add_argument('--flash')
parser.add_argument('--vga')
args = parser.parse_args()
base = convert_one(args.ram_base)
size = convert_one(args.ram)
flash_size = convert_one(args.flash)
vga_size = 0
if args.vga:
vga_size = convert_one(args.vga)
vga_base = base + size - vga_size
flash_base = base + size - vga_size - flash_size
if flash_base % flash_size != 0:
print("Error: flash base address not a multiple of window. Rounding down")
flash_base -= flash_base % flash_size
print("memory {\r\n\treg = <0x%08x 0x%08x>;\r\n}" % (base, size))
if vga_size > 0:
print("vga_memory {\r\n\tno-map;\r\n\treg = <0x%08x 0x%08x>;\r\n}" % (vga_base, vga_base))
print("flash_memory {\r\n\tno-map;\r\n\treg = <0x%08x 0x%08x>;\r\n}" % (flash_base, flash_size))
Signed-off-by: Joel Stanley <joel at jms.id.au>
---
v2 drops the the reserved region for VGA as we don't need it
arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts | 11 +++++++++++
arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts | 4 ++--
arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 4 ++--
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts b/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
index 5ba7b62aee83..93fbd7b8c490 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
@@ -20,6 +20,17 @@
reg = <0x80000000 0x20000000>;
};
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ flash_memory: region at 98000000 {
+ no-map;
+ reg = <0x98000000 0x04000000>; /* 64M */
+ };
+ };
+
fsi-master {
compatible = "ibm,fsi-master", "ibm,fsi-master-gpio";
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
index e15bd256c0fd..0769507f1126 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
@@ -25,9 +25,9 @@
#size-cells = <1>;
ranges;
- flash_memory: region at 94000000 {
+ flash_memory: region at 98000000 {
no-map;
- reg = <0x94000000 0x04000000>; /* 64M */
+ reg = <0x98000000 0x04000000>; /* 64M */
};
};
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
index d9f63d7752dd..c2af9ffa89bf 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
@@ -25,9 +25,9 @@
#size-cells = <1>;
ranges;
- flash_memory: region at 94000000 {
+ flash_memory: region at bc000000 {
no-map;
- reg = <0x94000000 0x04000000>; /* 64M */
+ reg = <0xbc000000 0x04000000>; /* 64M */
};
};
--
2.11.0
More information about the openbmc
mailing list