[U-Boot] [PATCH v3 4/5] at91: 9x5: change SMC config timing that both works for PMECC & non-PMECC.

Bo Shen voice.shen at atmel.com
Mon Aug 27 08:01:14 CEST 2012


Hi Josh,

On 8/23/2012 18:05, Josh Wu wrote:
> Signed-off-by: Josh Wu <josh.wu at atmel.com>
> ---
>   board/atmel/at91sam9x5ek/at91sam9x5ek.c |   12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/board/atmel/at91sam9x5ek/at91sam9x5ek.c b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
> index 88b3478..ae408bc 100644
> --- a/board/atmel/at91sam9x5ek/at91sam9x5ek.c
> +++ b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
> @@ -65,13 +65,13 @@ static void at91sam9x5ek_nand_hw_init(void)
>   	writel(csa, &matrix->ebicsa);
>
>   	/* Configure SMC CS3 for NAND/SmartMedia */
> -	writel(AT91_SMC_SETUP_NWE(2) | AT91_SMC_SETUP_NCS_WR(0) |
> -		AT91_SMC_SETUP_NRD(2) | AT91_SMC_SETUP_NCS_RD(0),
> +	writel(AT91_SMC_SETUP_NWE(1) | AT91_SMC_SETUP_NCS_WR(0) |
> +		AT91_SMC_SETUP_NRD(1) | AT91_SMC_SETUP_NCS_RD(0),
>   		&smc->cs[3].setup);
> -	writel(AT91_SMC_PULSE_NWE(4) | AT91_SMC_PULSE_NCS_WR(4) |
> -		AT91_SMC_PULSE_NRD(4) | AT91_SMC_PULSE_NCS_RD(4),
> +	writel(AT91_SMC_PULSE_NWE(3) | AT91_SMC_PULSE_NCS_WR(5) |
> +		AT91_SMC_PULSE_NRD(4) | AT91_SMC_PULSE_NCS_RD(6),
>   		&smc->cs[3].pulse);
> -	writel(AT91_SMC_CYCLE_NWE(7) | AT91_SMC_CYCLE_NRD(7),
> +	writel(AT91_SMC_CYCLE_NWE(5) | AT91_SMC_CYCLE_NRD(6),
>   		&smc->cs[3].cycle);
>   	writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE |
>   		AT91_SMC_MODE_EXNW_DISABLE |
> @@ -80,7 +80,7 @@ static void at91sam9x5ek_nand_hw_init(void)
>   #else /* CONFIG_SYS_NAND_DBW_8 */
>   		AT91_SMC_MODE_DBW_8 |
>   #endif
> -		AT91_SMC_MODE_TDF_CYCLE(3),
> +		AT91_SMC_MODE_TDF_CYCLE(1),
>   		&smc->cs[3].mode);

Test these parameters for NAND using software ECC. It works well.

Tested-by: voice.shen at atmel.com

>
>   	writel(1 << ATMEL_ID_PIOCD, &pmc->pcer);
>



More information about the U-Boot mailing list