Message ID | 1552379474-12867-7-git-send-email-ley.foon.tan@intel.com |
---|---|
State | Superseded |
Delegated to: | Marek Vasut |
Headers | show |
Series | Update Stratix 10 SDRAM driver | expand |
On 3/12/19 9:31 AM, Ley Foon Tan wrote: > Add ft_board_setup() function to setup memory banks before > boot to Linux. Shouldn't bootm/booti be doing just that already ? > Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com> > --- > board/altera/stratix10-socdk/socfpga.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/board/altera/stratix10-socdk/socfpga.c b/board/altera/stratix10-socdk/socfpga.c > index 99c10d313c..ca6e0e9085 100644 > --- a/board/altera/stratix10-socdk/socfpga.c > +++ b/board/altera/stratix10-socdk/socfpga.c > @@ -5,6 +5,7 @@ > */ > > #include <common.h> > +#include <fdt_support.h> > #include <asm/arch/sdram.h> > #include <linux/sizes.h> > > @@ -17,3 +18,27 @@ ulong board_get_usable_ram_top(ulong total_size) > return sdram_calculate_size(); > } > #endif > + > +#ifdef CONFIG_OF_BOARD_SETUP > +int ft_board_setup(void *blob, bd_t *bd) > +{ > + int ret = 0; > +#ifdef CONFIG_OF_LIBFDT > + int bank; > + int actual_bank = 0; > + u64 start[CONFIG_NR_DRAM_BANKS]; > + u64 size[CONFIG_NR_DRAM_BANKS]; > + > + for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { > + if (bd->bi_dram[bank].size) { > + start[actual_bank] = bd->bi_dram[bank].start; > + size[actual_bank++] = bd->bi_dram[bank].size; > + } > + } > + > + ret = fdt_fixup_memory_banks(blob, start, size, actual_bank); > +#endif /* CONFIG_OF_LIBFDT */ > + > + return ret; > +} > +#endif >
On Tue, Mar 12, 2019 at 7:03 PM Marek Vasut <marex@denx.de> wrote: > > On 3/12/19 9:31 AM, Ley Foon Tan wrote: > > Add ft_board_setup() function to setup memory banks before > > boot to Linux. > > Shouldn't bootm/booti be doing just that already ? Don't need this if we use fdtdec_setup_memory_banksize(). > > > Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com> > > --- > > board/altera/stratix10-socdk/socfpga.c | 25 +++++++++++++++++++++++++ > > 1 file changed, 25 insertions(+) > > > > diff --git a/board/altera/stratix10-socdk/socfpga.c b/board/altera/stratix10-socdk/socfpga.c > > index 99c10d313c..ca6e0e9085 100644 > > --- a/board/altera/stratix10-socdk/socfpga.c > > +++ b/board/altera/stratix10-socdk/socfpga.c > > @@ -5,6 +5,7 @@ > > */ > > > > #include <common.h> > > +#include <fdt_support.h> > > #include <asm/arch/sdram.h> > > #include <linux/sizes.h> > > > > @@ -17,3 +18,27 @@ ulong board_get_usable_ram_top(ulong total_size) > > return sdram_calculate_size(); > > } > > #endif > > + > > +#ifdef CONFIG_OF_BOARD_SETUP > > +int ft_board_setup(void *blob, bd_t *bd) > > +{ > > + int ret = 0; > > +#ifdef CONFIG_OF_LIBFDT > > + int bank; > > + int actual_bank = 0; > > + u64 start[CONFIG_NR_DRAM_BANKS]; > > + u64 size[CONFIG_NR_DRAM_BANKS]; > > + > > + for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { > > + if (bd->bi_dram[bank].size) { > > + start[actual_bank] = bd->bi_dram[bank].start; > > + size[actual_bank++] = bd->bi_dram[bank].size; > > + } > > + } > > + > > + ret = fdt_fixup_memory_banks(blob, start, size, actual_bank); > > +#endif /* CONFIG_OF_LIBFDT */ > > + > > + return ret; > > +} > > +#endif > > Regards Ley Foon
diff --git a/board/altera/stratix10-socdk/socfpga.c b/board/altera/stratix10-socdk/socfpga.c index 99c10d313c..ca6e0e9085 100644 --- a/board/altera/stratix10-socdk/socfpga.c +++ b/board/altera/stratix10-socdk/socfpga.c @@ -5,6 +5,7 @@ */ #include <common.h> +#include <fdt_support.h> #include <asm/arch/sdram.h> #include <linux/sizes.h> @@ -17,3 +18,27 @@ ulong board_get_usable_ram_top(ulong total_size) return sdram_calculate_size(); } #endif + +#ifdef CONFIG_OF_BOARD_SETUP +int ft_board_setup(void *blob, bd_t *bd) +{ + int ret = 0; +#ifdef CONFIG_OF_LIBFDT + int bank; + int actual_bank = 0; + u64 start[CONFIG_NR_DRAM_BANKS]; + u64 size[CONFIG_NR_DRAM_BANKS]; + + for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { + if (bd->bi_dram[bank].size) { + start[actual_bank] = bd->bi_dram[bank].start; + size[actual_bank++] = bd->bi_dram[bank].size; + } + } + + ret = fdt_fixup_memory_banks(blob, start, size, actual_bank); +#endif /* CONFIG_OF_LIBFDT */ + + return ret; +} +#endif
Add ft_board_setup() function to setup memory banks before boot to Linux. Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com> --- board/altera/stratix10-socdk/socfpga.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)