public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Holger Brunck <holger.brunck@keymile.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 20/20] arm/km: remove calls to kw_gpio_* in board_early_init_f
Date: Tue, 12 Jun 2012 10:43:37 +0200	[thread overview]
Message-ID: <4FD70139.4040908@keymile.com> (raw)
In-Reply-To: <F766E4F80769BD478052FB6533FA745D1A2FCAF150@SC-VEXCH4.marvell.com>

On 06/12/2012 09:58 AM, Prafulla Wadaskar wrote:
> 
> 
>> -----Original Message-----
>> From: Valentin Longchamp [mailto:valentin.longchamp at keymile.com]
>> Sent: 07 June 2012 15:37
>> To: prafulla at mavell.com
>> Cc: Valentin Longchamp; holger.brunck at keymile.com; u-
>> boot at lists.denx.de; Prafulla Wadaskar
>> Subject: [PATCH 20/20] arm/km: remove calls to kw_gpio_* in
>> board_early_init_f
>>
>> These functions tried to access two static tables before relocation
>> (board_early_init_f is executed before relocation). But these static
>> tables lie in the bss section which is not valid before relocation.
>> These accesses then overwrote some parts of u-boot binary before it
>> was
>> relocated. For the kmnusa build, this results in a corrupted important
>> env variable (bootcmd) but it may be that some other parts of the u-
>> boot
>> binary are corrupted.
>>
>> This patch solves this problem by moving all the kw_gpio_* calls to
>> board_init, which should be early enough in the boot sequence. The
>> only
>> calls that could not be moved is the one for the SOFT (bitbang) I2C,
>> and
>> they have been replaced by a direct access to the GPIO dataout Control
>> register to set the two GPIOs as output.
>>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
>> cc: Holger Brunck <holger.brunck@keymile.com>
>> cc: Prafulla Wadaskar <prafulla@marvell.com>
>> ---
>>  board/keymile/km_arm/km_arm.c |   34 ++++++++++++++++++++++++--------
>> --
>>  include/configs/km/km_arm.h   |    1 +
>>  2 files changed, 25 insertions(+), 10 deletions(-)
>>
>> diff --git a/board/keymile/km_arm/km_arm.c
>> b/board/keymile/km_arm/km_arm.c
>> index 2581d61..c13be71 100644
>> --- a/board/keymile/km_arm/km_arm.c
>> +++ b/board/keymile/km_arm/km_arm.c
>> @@ -248,9 +248,27 @@ int misc_init_r(void)
>>
>>  int board_early_init_f(void)
>>  {
>> +#if defined(CONFIG_SOFT_I2C)
>>  	u32 tmp;
>>
>> +	/* set the 2 bitbang i2c pins as output gpios */
>> +	tmp = readl(KW_GPIO0_BASE + 4);
>> +	writel(tmp & (~KM_KIRKWOOD_SOFT_I2C_GPIOS) , KW_GPIO0_BASE + 4);
>> +#endif
>> +
>>  	kirkwood_mpp_conf(kwmpp_config, NULL);
>> +	return 0;
>> +}
>> +
>> +int board_init(void)
>> +{
>> +	/*
>> +	 * arch number of board
>> +	 */
>> +	gd->bd->bi_arch_number = MACH_TYPE_KM_KIRKWOOD;
>> +
>> +	/* address of boot parameters */
>> +	gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
>>
>>  	/*
>>  	 * The KM_FLASH_GPIO_PIN switches between using a
>> @@ -259,24 +277,20 @@ int board_early_init_f(void)
>>  	 */
>>  	kw_gpio_set_valid(KM_FLASH_GPIO_PIN, 1);
>>  	kw_gpio_direction_output(KM_FLASH_GPIO_PIN, 1);
>> +
>>  #if defined(CONFIG_SOFT_I2C)
>> -	/* init the GPIO for I2C Bitbang driver */
>> +	/* reinit the GPIO for I2C Bitbang driver so that the now
>> +	 * available gpio framework is consistent. The calls to
>> +	 * direction output in are not necessary, they are already done in
>> +	 * board_early_init_f */
> 
> Comments are not as per coding standard
> 

Ok I'll fix this in v2.

Regards
Holger

      reply	other threads:[~2012-06-12  8:43 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-07 10:06 [U-Boot] [PATCH 00/20] updates for Keymile Marvell boards Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 01/20] arm/km: enable spi claim bus Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 02/20] arm/km: use correct kw_gpio function for NAND/SPI switching Valentin Longchamp
2012-06-12  4:39   ` Prafulla Wadaskar
2012-06-12  8:38     ` Holger Brunck
2012-06-12  9:32       ` Prafulla Wadaskar
2012-06-12 10:29         ` Holger Brunck
2012-06-13 12:16           ` Holger Brunck
2012-06-07 10:06 ` [U-Boot] [PATCH 03/20] arm/kirkwood: protect the ENV_SPI #defines Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 04/20] arm/km: add kmnusa board support Valentin Longchamp
2012-06-12  4:39   ` Prafulla Wadaskar
2012-06-12  8:34     ` Holger Brunck
2012-06-12  9:40       ` Prafulla Wadaskar
2012-06-12 10:30         ` Holger Brunck
2012-06-12  9:45       ` Prafulla Wadaskar
2012-06-12  9:57       ` Prafulla Wadaskar
2012-06-12 10:37         ` Holger Brunck
2012-06-12 11:09           ` Prafulla Wadaskar
2012-06-12 11:43             ` Holger Brunck
2012-06-12 11:50               ` Prafulla Wadaskar
2012-06-12 15:20                 ` Holger Brunck
2012-06-07 10:06 ` [U-Boot] [PATCH 05/20] arm/km: add kmcoge5un " Valentin Longchamp
2012-06-12  4:39   ` Prafulla Wadaskar
2012-06-07 10:06 ` [U-Boot] [PATCH 06/20] arm/km: convert mgcoge3un target to km_kirkwood Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 07/20] arm/km: remove portl2.h and use km_kirkwood instead Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 08/20] arm/km: correct init of 88e6352 switch in the reset_phy function Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 09/20] arm/km: enable BOCO2 FPGA download support Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 10/20] arm/km: cleanup km_kirkwood boards Valentin Longchamp
2012-06-12  4:39   ` Prafulla Wadaskar
2012-06-12  8:15     ` Holger Brunck
2012-06-07 10:06 ` [U-Boot] [PATCH 11/20] arm/km: redefine piggy 4 reg names to avoid conflicts Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 12/20] arm/km: add support for external switch configuration Valentin Longchamp
2012-06-12  4:39   ` Prafulla Wadaskar
2012-06-21 13:09     ` [U-Boot] [PATCH 12/20] arm/km: add support for external switchconfiguration Valentin Longchamp
2012-07-03  8:17       ` Prafulla Wadaskar
2012-07-03  9:51         ` Valentin Longchamp
2012-07-04  8:07           ` Detlev Zundel
2012-07-04  9:20             ` Prafulla Wadaskar
2012-07-09 12:04               ` Holger Brunck
2012-07-09 12:31                 ` Wolfgang Denk
2012-07-09 12:50                   ` Detlev Zundel
2012-07-09 19:29                     ` Wolfgang Denk
2012-07-09 13:06                   ` Detlev Zundel
2012-07-09 14:44                     ` Holger Brunck
2012-07-09 19:44                       ` Wolfgang Denk
2012-07-09 19:32                     ` Wolfgang Denk
2012-07-16 16:55                       ` Detlev Zundel
2012-07-09 20:42                 ` Prafulla Wadaskar
2012-07-10 19:33                   ` Joe Hershberger
2012-07-09 14:31               ` Detlev Zundel
2012-07-09 14:40                 ` Valentin Longchamp
2012-07-10 10:18                 ` Prafulla Wadaskar
2012-06-07 10:06 ` [U-Boot] [PATCH 13/20] arm/km: enable external switch configuration for kmnusa Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 14/20] arm/km: skip FPGA config when already configured Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 15/20] arm/km: support the 2 PCIe fpga resets Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 16/20] arm/km: add implementation for read_dip_switch Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 17/20] arm/km: fix testpin detection for kmcoge5un Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 18/20] arm/km: implement weak function board_spi_clam_bus/release Valentin Longchamp
2012-06-07 10:06 ` [U-Boot] [PATCH 19/20] arm/km: remove spi toggle command Valentin Longchamp
2012-06-07 10:07 ` [U-Boot] [PATCH 20/20] arm/km: remove calls to kw_gpio_* in board_early_init_f Valentin Longchamp
2012-06-12  7:58   ` Prafulla Wadaskar
2012-06-12  8:43     ` Holger Brunck [this message]

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=4FD70139.4040908@keymile.com \
    --to=holger.brunck@keymile.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox