From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Wed, 30 Aug 2017 10:56:00 +0200 Subject: [U-Boot] [PATCH 07/19] arm: socfpga: Add DRAM bank size initialization function In-Reply-To: <1504082164.7727.55.camel@intel.com> References: <1504003561-6290-1-git-send-email-tien.fong.chee@intel.com> <1504003561-6290-8-git-send-email-tien.fong.chee@intel.com> <1504082164.7727.55.camel@intel.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 08/30/2017 10:36 AM, Chee, Tien Fong wrote: > On Sel, 2017-08-29 at 13:59 +0200, Marek Vasut wrote: >> On 08/29/2017 12:45 PM, tien.fong.chee at intel.com wrote: >>> >>> From: Tien Fong Chee >>> >>> Add function for both multiple DRAM bank and single DRAM bank size >>> initialization. This common functionality could be used by every >>> single >>> SOCFPGA board. >>> >>> Signed-off-by: Tien Fong Chee >>> --- >>> arch/arm/mach-socfpga/board.c | 12 ++++++++++++ >>> include/configs/socfpga_common.h | 1 + >>> 2 files changed, 13 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/arm/mach-socfpga/board.c b/arch/arm/mach- >>> socfpga/board.c >>> index a41d089..3f2e30a 100644 >>> --- a/arch/arm/mach-socfpga/board.c >>> +++ b/arch/arm/mach-socfpga/board.c >>> @@ -29,6 +29,18 @@ int board_init(void) >>> return 0; >>> } >>> >>> +int dram_init_banksize(void) >>> +{ >>> +#if !defined(CONFIG_SYS_SDRAM_BASE) && >>> !defined(CONFIG_SYS_SDRAM_SIZE) >>> + fdtdec_setup_memory_banksize(); >> This should work on al boards, so why do you need this macro ? >> Also, this should go into arch/arm/ , not board/ >> > In case these macros are not defined, then we need to get the info from > DTS. This is in arch/arm/mach-socpfga/board.c . I found some in > arch/arm, and other in board/ . Every socfpga platform in u-boot has a dts, so you can always extract the memory config from it and it's the preferred method. >>> >>> +#else >>> + gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; >>> + gd->bd->bi_dram[0].size = CONFIG_SYS_SDRAM_SIZE; >>> +#endif >>> + >>> + return 0; >>> +} >>> + >>> #ifdef CONFIG_USB_GADGET >>> struct dwc2_plat_otg_data socfpga_otg_data = { >>> .usb_gusbcfg = 0x1417, >>> diff --git a/include/configs/socfpga_common.h >>> b/include/configs/socfpga_common.h >>> index c15d244..05b03bd 100644 >>> --- a/include/configs/socfpga_common.h >>> +++ b/include/configs/socfpga_common.h >>> @@ -47,6 +47,7 @@ >>> (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) >>> >>> #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 >>> +#define CONFIG_SYS_SDRAM_SIZE PHYS_SDRAM_1_SIZE >>> #ifdef CONFIG_SOCFPGA_VIRTUAL_TARGET >>> #define CONFIG_SYS_TEXT_BASE 0x08000040 >>> #else >>> -- Best regards, Marek Vasut