From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 12/12] imx: ventana: switch to SPL
Date: Wed, 07 May 2014 11:29:18 +0200 [thread overview]
Message-ID: <5369FCEE.5090502@denx.de> (raw)
In-Reply-To: <CAJ+vNU2g567E0-st7JcgGGbt8iyROCS7hETdwP=sRsNYz4HM8Q@mail.gmail.com>
Hi Tim,
On 06/05/2014 20:18, Tim Harvey wrote:
>
> Stefano / York,
>
> While preparing for a v3 patch series of my IMX6 SPL bootloader, I
> find that commit dec1861be90c948ea9fb771927d3d26a994d2e20 [1] breaks
> the above code because gd is now needed within setup_i2c.
>
> I've always been a bit fuzzy on the order of the above calls so I dug
> through the code and I think I understand things better. Please
> correct any wrong assumptions I'm making below:
> - assignment to gd should 'always' be first (before anything needs
> it, so why not do it first)
> - arch_cpu_init() should go next as this sets up very low level
> CPU/SoC resources (in this case AIPS config and watchdog disable)
> - board_early_init_f() should be next as that sets up any board-specific iomux
> - any additional iomux necessary for SPL should go next (I take care
> of i2c iomux and setup here)
> - timer_init() next as you need a timer for UART and mxc i2c (for
> delays and busy checks)
> - preloader_console_init() next as we are now able to send something
> over the UART (this gives me early debug for sdram config now too!)
> - sdram setup goes next
> - after sdram is setup, the bss can be cleared
> - board_init_r - pass over to generic SPL code which will load/call
> an image based on boot device
I think your analyses is correct.
>
> So, if the above is correct, I should rework the above function as follows:
>
> void board_init_f(ulong dummy)
> {
> struct ventana_board_info ventana_info;
> int board_model;
>
> /* Set global data pointer. */
> gd = &gdata;
>
> /* setup AIPS and disable watchdog */
> arch_cpu_init();
>
> /* iomux and setup of i2c */
> board_early_init_f();
> i2c_setup_iomux();
>
> /* setup GP timer */
> timer_init();
>
> /* UART clocks enabled and gd valid - init serial console */
> preloader_console_init();
>
> /* read/validate EEPROM info to determine board model and SDRAM cfg */
> board_model = read_eeprom(I2C_GSC, &ventana_info);
>
> /* provide some some default: 32bit 128MB */
> if (GW_UNKNOWN == board_model) {
> ventana_info.sdram_width = 2;
> ventana_info.sdram_size = 3;
> }
>
> /* configure MMDC for SDRAM width/size and per-model calibration */
> spl_dram_init(8 << ventana_info.sdram_width,
> 16 << ventana_info.sdram_size,
> board_model);
>
> /* Clear the BSS. */
> memset(__bss_start, 0, __bss_end - __bss_start);
>
> /* load/boot image from boot device */
> board_init_r(NULL, 0);
> }
It seems reasonable, go on this way.
Regards,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
next prev parent reply other threads:[~2014-05-07 9:29 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 20:17 [U-Boot] [PATCH 00/12] MX6: SPL NAND support Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 01/12] SPL: NAND: remove CONFIG_SYS_NAND_PAGE_SIZE Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 02/12] SPL: NAND: add support for mxs nand Tim Harvey
2014-05-02 20:56 ` Scott Wood
2014-05-06 4:08 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 03/12] MX6: add common SPL configuration Tim Harvey
2014-04-29 4:14 ` Eric Nelson
2014-04-29 6:37 ` Igor Grinberg
2014-04-29 11:55 ` Tim Harvey
2014-05-05 9:05 ` Stefano Babic
2014-05-07 17:01 ` Nikita Kiryanov
2014-04-28 20:17 ` [U-Boot] [PATCH 04/12] spl: consolidate arch/arm/include/asm/arch-*/spl.h Tim Harvey
2014-04-30 5:39 ` Masahiro Yamada
2014-05-05 9:08 ` Stefano Babic
2014-04-28 20:17 ` [U-Boot] [PATCH 05/12] MX6: add boot device support for SPL Tim Harvey
2014-04-29 4:28 ` Eric Nelson
2014-05-05 9:14 ` Stefano Babic
2014-05-05 15:46 ` Tim Harvey
2014-05-05 18:30 ` Stefano Babic
2014-05-06 6:36 ` Tapani Utriainen
2014-05-06 7:55 ` Stefano Babic
2014-05-06 15:42 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 06/12] IMX: add comments and remove unused struct fields Tim Harvey
2014-05-05 10:28 ` Stefano Babic
2014-04-28 20:17 ` [U-Boot] [PATCH 07/12] MX6: add structs for mmdc and ddr iomux registers Tim Harvey
2014-04-29 14:20 ` Eric Nelson
2014-05-05 10:34 ` Stefano Babic
2014-05-05 15:52 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 08/12] MX6: add mmdc configuration for MX6Q/MX6DL Tim Harvey
2014-04-29 15:15 ` Eric Nelson
2014-04-29 18:19 ` Tim Harvey
2014-04-29 18:26 ` Eric Nelson
2014-04-29 18:35 ` Otavio Salvador
2014-04-28 20:17 ` [U-Boot] [PATCH 09/12] IMX: add additional function for pinmux using an array Tim Harvey
2014-04-29 15:22 ` Eric Nelson
2014-05-06 4:35 ` Tim Harvey
2014-05-07 16:59 ` Nikita Kiryanov
2014-05-08 4:11 ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 10/12] imx: ventana: split read_eeprom into standalone file Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 11/12] imx: ventana: auto-configure for IMX6Q vs IMX6DL Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 12/12] imx: ventana: switch to SPL Tim Harvey
2014-05-06 18:18 ` Tim Harvey
2014-05-06 18:45 ` York Sun
2014-05-06 19:11 ` Jeroen Hofstee
2014-05-06 23:35 ` Tim Harvey
2014-05-07 16:14 ` York Sun
2014-05-07 18:43 ` Jeroen Hofstee
2014-05-07 20:27 ` Tim Harvey
2014-05-07 20:29 ` York Sun
2014-05-07 20:35 ` Tim Harvey
2014-05-07 20:36 ` York Sun
2014-05-07 9:29 ` Stefano Babic [this message]
2014-05-14 4:58 ` Tim Harvey
2014-05-14 5:03 ` Tim Harvey
2014-05-14 22:32 ` Tim Harvey
2014-05-15 9:20 ` Stefano Babic
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=5369FCEE.5090502@denx.de \
--to=sbabic@denx.de \
--cc=u-boot@lists.denx.de \
/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.