vexpress64: use 2nd DRAM bank only on juno
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
This patch makes the 2nd DRAM bank available on Juno only and not on other vexpress64 targets, eg. the FVP models.
The commit below added a 2nd bank of NOR flash for Juno, but also for all vexpress64 targets:
commit 2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau <[email protected]>
Date: Mon Oct 19 11:08:31 2015 +0100
vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel. Declare a secondary memory bank and set the sizes correctly.
Unfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot the kernel.
--- board/armltd/vexpress64/vexpress64.c | 2 ++ include/configs/vexpress_aemv8a.h | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-)
board/armltd/vexpress64/vexpress64.c +2 -0
@@ -44,8 +44,10 @@ void dram_init_banksize(void) { gd->bd->bi_dram[0 ].start =PHYS_SDRAM_1 ; gd->bd->bi_dram[0 ].size =PHYS_SDRAM_1_SIZE ; +#ifdef PHYS_SDRAM_2 gd->bd->bi_dram[1 ].start =PHYS_SDRAM_2 ; gd->bd->bi_dram[1 ].size =PHYS_SDRAM_2_SIZE ; +#endif }/*
include/configs/vexpress_aemv8a.h +8 -3
@@ -168,15 +168,20 @@#define CONFIG_SYS_LOAD_ADDR (V2M_BASE + 0x10000000)/* Physical Memory Map */ -#define CONFIG_NR_DRAM_BANKS 2#define PHYS_SDRAM_1 (V2M_BASE)/* SDRAM Bank #1 */ -#define PHYS_SDRAM_2 (0x880000000)/* Top 16MB reserved for secure world use */ #define DRAM_SEC_SIZE 0x01000000#define PHYS_SDRAM_1_SIZE 0x80000000 - DRAM_SEC_SIZE -#define PHYS_SDRAM_2_SIZE 0x180000000#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#define CONFIG_NR_DRAM_BANKS 2 +#define PHYS_SDRAM_2 (0x880000000) +#define PHYS_SDRAM_2_SIZE 0x180000000 +#else +#define CONFIG_NR_DRAM_BANKS 1 +#endif +/* Enable memtest */ #define CONFIG_CMD_MEMTEST #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1
Signature · 1 line
2.1.4
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
Quoted 20 lines · Ryan Harkin
This patch makes the 2nd DRAM bank available on Juno only and not on other vexpress64 targets, eg. the FVP models.
The commit below added a 2nd bank of NOR flash for Juno, but also for all vexpress64 targets:
commit
2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau <[email protected]>
Date: Mon Oct 19 11:08:31 2015 +0100vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel. Declare a secondary memory bank and set the sizes correctly.
Signed-off-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>Reviewed-by Ryan Harkin <[email protected]>Tested-by Ryan Harkin <[email protected]>
Quoted 6 lines
Unfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot the kernel.
Signed-off-by Ryan Harkin <[email protected]>Acked-by Liviu Dudau <[email protected]>
This relates to the discussion about "unknown board variants" that we discuss in another thread, but let's keep that there.
Yours,
Linus Walleij
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
Hi,
This is just a ping in case this patch has been forgotten. It was Acked and Reviewed.
Thanks,
Ryan.
Quoted 36 lines · Linus Walleij
Quoted 20 lines · Ryan Harkin
This patch makes the 2nd DRAM bank available on Juno only and not on other vexpress64 targets, eg. the FVP models.
The commit below added a 2nd bank of NOR flash for Juno, but also for all vexpress64 targets:
commit
2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau <[email protected]>
Date: Mon Oct 19 11:08:31 2015 +0100vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel. Declare a secondary memory bank and set the sizes correctly.
Signed-off-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>Reviewed-by Ryan Harkin <[email protected]>Tested-by Ryan Harkin <[email protected]>Quoted 6 lines
Unfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot the kernel.
Signed-off-by Ryan Harkin <[email protected]>Acked-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>This relates to the discussion about "unknown board variants" that we discuss in another thread, but let's keep that there.
Yours,
Linus Walleij
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
In reply to Ryan HarkinQuoted 20 lines · Ryan Harkin
This patch makes the 2nd DRAM bank available on Juno only and not on other vexpress64 targets, eg. the FVP models.
The commit below added a 2nd bank of NOR flash for Juno, but also for all vexpress64 targets:
commit
2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau <[email protected]>
Date: Mon Oct 19 11:08:31 2015 +0100vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel. Declare a secondary memory bank and set the sizes correctly.
Signed-off-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>Reviewed-by Ryan Harkin <[email protected]>Tested-by Ryan Harkin <[email protected]>
Quoted 7 lines
Unfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot the kernel.
Signed-off-by Ryan Harkin <[email protected]>Acked-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>
This breaks building of vexpress_aemv8a_semi :(
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151112/fb9bb952/attachment.sig>
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
Hi Tom,
Thanks for coming back to this.
Quoted 26 lines · Tom Rini
Quoted 24 lines · Ryan Harkin
This patch makes the 2nd DRAM bank available on Juno only and not on other vexpress64 targets, eg. the FVP models.
The commit below added a 2nd bank of NOR flash for Juno, but also for all vexpress64 targets:
commit
2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau <[email protected]>
Date: Mon Oct 19 11:08:31 2015 +0100vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel. Declare a secondary memory bank and set the sizes correctly.
Signed-off-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>Reviewed-by Ryan Harkin <[email protected]>Tested-by Ryan Harkin <[email protected]>Unfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot the kernel.
Quoted 5 lines
Quoted 3 lines
Signed-off-by Ryan Harkin <[email protected]>Acked-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>This breaks building of
vexpress_aemv8a_semi:(
Yes, I see the problem now :(
If I apply this to pure upstream, I get this error, which I assume is the same as yours:
board/armltd/vexpress64/pcie.c: In function 'xr3pci_setup_atr':board/armltd/vexpress64/pcie.c:111:29: error: 'PHYS_SDRAM_2' undeclared (first use in this function)
xr3pci_set_atr_entry(base, PHYS_SDRAM_2, PHYS_SDRAM_2,
This error was fixed by Linus Walleij's patch that I carry in my u-boot fork:
[PATCH] vexpress64: compile Juno PCIe conditionally
I'd prefer that Linus' patch is merged, then mine, but if you don't want to do that, I can change my patch so that PHYS_SDRAM_2 isn't used if it isn't defined.
Cheers,
Ryan.
Quoted 3 lines
--
Tom
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
Quoted 47 lines · Ryan Harkin
Hi Tom,
Thanks for coming back to this.
Quoted 26 lines · Tom Rini
Quoted 24 lines · Ryan Harkin
This patch makes the 2nd DRAM bank available on Juno only and not on other vexpress64 targets, eg. the FVP models.
The commit below added a 2nd bank of NOR flash for Juno, but also for all vexpress64 targets:
commit
2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau <[email protected]>
Date: Mon Oct 19 11:08:31 2015 +0100vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel. Declare a secondary memory bank and set the sizes correctly.
Signed-off-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>Reviewed-by Ryan Harkin <[email protected]>Tested-by Ryan Harkin <[email protected]>Unfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot the kernel.
Quoted 5 lines
Quoted 3 lines
Signed-off-by Ryan Harkin <[email protected]>Acked-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>This breaks building of
vexpress_aemv8a_semi:(Yes, I see the problem now :(
If I apply this to pure upstream, I get this error, which I assume is the same as yours:
board/armltd/vexpress64/pcie.c: In function 'xr3pci_setup_atr':board/armltd/vexpress64/pcie.c:111:29: error: 'PHYS_SDRAM_2' undeclared (first use in this function)
xr3pci_set_atr_entry(base,PHYS_SDRAM_2,PHYS_SDRAM_2,
Quoted 7 lines
This error was fixed by Linus Walleij's patch that I carry in my u-boot fork:
[PATCH] vexpress64: compile Juno PCIe conditionally
I'd prefer that Linus' patch is merged, then mine, but if you don't want to do that, I can change my patch so that
PHYS_SDRAM_2isn't used if it isn't defined.
Didn't I ask for some changes on that PCIe patch?
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151113/a1f59557/attachment.sig>
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
Quoted 50 lines · Tom Rini
Quoted 49 lines · Ryan Harkin
Hi Tom,
Thanks for coming back to this.
Quoted 26 lines · Tom Rini
Quoted 24 lines · Ryan Harkin
This patch makes the 2nd DRAM bank available on Juno only and not on other vexpress64 targets, eg. the FVP models.
The commit below added a 2nd bank of NOR flash for Juno, but also for all vexpress64 targets:
commit
2d0cee1ca2b9d977fa3214896bb2e30cfec77059
Author: Liviu Dudau <[email protected]>
Date: Mon Oct 19 11:08:31 2015 +0100vexpress64: Juno: Declare all 8GB of RAM and make them visible to the kernel.
Juno comes with 8GB RAM, but U-Boot only passes 2GB to the kernel. Declare a secondary memory bank and set the sizes correctly.
Signed-off-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>Reviewed-by Ryan Harkin <[email protected]>Tested-by Ryan Harkin <[email protected]>Unfortunately, I only fully tested on Juno R0, R1 and the FVP Foundation model. Whilst FVP Base AEMV8 models run U-Boot OK, they fail to boot the kernel.
Quoted 5 lines
Quoted 3 lines
Signed-off-by Ryan Harkin <[email protected]>Acked-by Liviu Dudau <[email protected]>Reviewed-by Linus Walleij <[email protected]>This breaks building of
vexpress_aemv8a_semi:(Yes, I see the problem now :(
If I apply this to pure upstream, I get this error, which I assume is the same as yours:
board/armltd/vexpress64/pcie.c: In function 'xr3pci_setup_atr':board/armltd/vexpress64/pcie.c:111:29: error: 'PHYS_SDRAM_2' undeclared (first use in this function)
xr3pci_set_atr_entry(base,PHYS_SDRAM_2,PHYS_SDRAM_2,This error was fixed by Linus Walleij's patch that I carry in my u-boot fork:
Quoted 8 lines
Quoted 5 lines
[PATCH] vexpress64: compile Juno PCIe conditionally
I'd prefer that Linus' patch is merged, then mine, but if you don't want to do that, I can change my patch so that
PHYS_SDRAM_2isn't used if it isn't defined.Didn't I ask for some changes on that PCIe patch?
Good point. I thought you'd grudgingly accepted it, but I see your last comment was:
"Yes, thanks. I think it's just a style thing then. We don't do a lot of static inline nop functions, we do __weak functions in the main file (and comment about what it should be doing in a real function) and then provide the strong version in another file. So just the pcie.h part needs changing then."
I'll ping Linus about it on his thread and see if he wants to issue a v2. Then I'll come back to this patch later.
Thanks,
Ryan.
PATCH v2 1/1 vexpress64: use 2nd DRAM bank only on juno
Quoted 6 lines · Ryan Harkin
Quoted 2 lines
Didn't I ask for some changes on that PCIe patch?
Good point. I thought you'd grudgingly accepted it, but I see your last comment was:
Quoted 8 lines
"Yes, thanks. I think it's just a style thing then. We don't do a lot of static inline nop functions, we do
__weakfunctions in the main file (and comment about what it should be doing in a real function) and then provide the strong version in another file. So just thepcie.hpart needs changing then."I'll ping Linus about it on his thread and see if he wants to issue a v2. Then I'll come back to this patch later.
Argh, yeah I kind of dropped that patch because I wanted it my way but don't have energy to argue about it...
I think it is better that the preprocessor just remove code that is never used than to have the compiler patch out functions at compile time by marking them __weak. It certainly will compile a few cycles quicker.
Ryan if you would rather want to do it in the __weak way so as to get things upstream, go ahead.
Yours,
Linus Walleij