All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
To: Joel Stanley <joel@jms.id.au>, openbmc@lists.ozlabs.org
Cc: Cyril Bur <cyrilbur@gmail.com>
Subject: Re: [PATCH linux dev-4.7 2/2] ARM: dts: aspeed: Reserve memory on all P9 machines
Date: Wed, 22 Feb 2017 13:25:16 +1100	[thread overview]
Message-ID: <1487730316.2140.1.camel@gmail.com> (raw)
In-Reply-To: <20170221051259.18383-2-joel@jms.id.au>

On Tue, 2017-02-21 at 15:42 +1030, Joel Stanley wrote:
> This flash_memory region reserved memory region is used by the host<-
> >bmc
> mailbox daemon.
> 
> The vga_memory region is for the host processor's framebuffer when
> using
> the Aspeed as a PCI graphics device. We reserve the maximum region to
> protect against bad host drivers. In the future this should
> correspond
> to the amount of memory we've told the host it can use.
> 
> These numbers were generated as follows for Zaius:
> 
>  $ genmem.py --ram-base 0x80000000 --ram 1G --flash 64M
> 
> And for Romulus and Witherspoon:
> 
>  $ genmem.py --ram-base 0x80000000 --ram 512M --flash 64M --vga 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@jms.id.au>
> ---
>  arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts     | 16
> ++++++++++++++++
>  arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts |  9 +++++++--
>  arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts       |  4 ++--
>  3 files changed, 25 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 58baf87454e2..7293b41239a3 100644
> --- a/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
> +++ b/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
> @@ -20,6 +20,22 @@
>  		reg = <0x80000000 0x20000000>;
>  	};
>  
> +	reserved-memory {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		vga_memory: region@9c000000 {
> +			no-map;
> +			reg = <0x9c000000 0x04000000>; /* 64M */
> +		};
> +
> +		flash_memory: region@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 2cbdeba88908..1ea8f65c1dab 100644
> --- a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
> +++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
> @@ -25,9 +25,14 @@
>  		#size-cells = <1>;
>  		ranges;
>  
> -		flash_memory: region@94000000 {
> +		vga_memory: region@9c000000 {
>  			no-map;
> -			reg = <0x94000000 0x04000000>; /* 64M */
> +			reg = <0x9c000000 0x04000000>; /* 64M */
> +		};
> +
> +		flash_memory: region@98000000 {
> +			no-map;
> +			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 e1c9b3f4fe44..c3a6a8656b3e 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@94000000 {
> +		flash_memory: region@bc000000 {
>  			no-map;
> -			reg = <0x94000000 0x04000000>; /* 64M */
> +			reg = <0xbc000000 0x04000000>; /* 64M */
>  		};
>  	};
>  
FWIW:

Reviewed-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>

  reply	other threads:[~2017-02-22  2:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-21  5:12 [PATCH linux dev-4.7 1/2] ARM: dts: aspeed: Fix RAM size in Romulus and Witherspoon Joel Stanley
2017-02-21  5:12 ` [PATCH linux dev-4.7 2/2] ARM: dts: aspeed: Reserve memory on all P9 machines Joel Stanley
2017-02-22  2:25   ` Suraj Jitindar Singh [this message]
2017-02-23  3:34   ` Mine
2017-02-23  4:00     ` Joel Stanley
2017-02-23 18:36     ` Xo Wang
2017-02-25  5:52       ` Lei YU
2017-02-21  7:00 ` [PATCH linux dev-4.7 1/2] ARM: dts: aspeed: Fix RAM size in Romulus and Witherspoon Mine
2017-02-22 13:55   ` Joel Stanley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1487730316.2140.1.camel@gmail.com \
    --to=sjitindarsingh@gmail.com \
    --cc=cyrilbur@gmail.com \
    --cc=joel@jms.id.au \
    --cc=openbmc@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.