[U-Boot] [[PATCH v2]pandaboard: 1/1] Modification of Elpida DDR2 RAM for Pandaboard-ES Rev B3
Robert Nelson
robertcnelson at gmail.com
Thu Nov 14 16:29:59 CET 2013
On Thu, Nov 14, 2013 at 4:06 AM, Hardik <hardik.patel at volansystech.com> wrote:
> From: Hardik Patel <hardik.patel at volansystech.com>
>
> Signed-off-by: Hardik Patel <hardik.patel at volansystech.com>
> ---
> arch/arm/cpu/armv7/omap4/sdram_elpida.c | 2 +-
> board/ti/panda/panda.c | 24 ++++++++++++++++++++++++
> 2 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/cpu/armv7/omap4/sdram_elpida.c b/arch/arm/cpu/armv7/omap4/sdram_elpida.c
> index e4c8316..9fbdeea 100644
> --- a/arch/arm/cpu/armv7/omap4/sdram_elpida.c
> +++ b/arch/arm/cpu/armv7/omap4/sdram_elpida.c
> @@ -123,7 +123,7 @@ static void emif_get_reg_dump_sdp(u32 emif_nr, const struct emif_regs **regs)
> *regs = &emif_regs_elpida_200_mhz_2cs;
> else if (omap4_rev == OMAP4430_ES2_3)
> *regs = &emif_regs_elpida_400_mhz_1cs;
> - else if (omap4_rev < OMAP4470_ES1_0)
> + else if (omap4_rev < OMAP4470_ES1_0 && !is_panda_es_rev_b3())
> *regs = &emif_regs_elpida_400_mhz_2cs;
> else
> *regs = &emif_regs_elpida_400_mhz_1cs;
> diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c
> index c104024..5a7f80a 100644
> --- a/board/ti/panda/panda.c
> +++ b/board/ti/panda/panda.c
> @@ -122,6 +122,30 @@ int get_board_revision(void)
> return board_id;
> }
>
> +/*
> +* Routine: is_panda_es_rev_b3
> +* Description: Detect if we are running on B3 version of ES panda board,
> +* This can be done by reading the level of GPIO 171
> +* and checking the processor revisions.
> +* GPIO171: 1 => Panda ES Rev B3
> +*/
> +u8 is_panda_es_rev_b3(void)
> +{
> + int processor_rev = omap_revision();
> + int ret = 0;
> +
> + if ((processor_rev >= OMAP4460_ES1_0 &&
> + processor_rev <= OMAP4460_ES1_1)) {
> +
> + /* Setup the mux for the common board ID pins (gpio 171) */
> + writew((IEN | M3), (*ctrl)->control_padconf_core_base + UNIPRO_TX0);
> +
> + /* if processor_rev is panda ES and GPIO171 is 1, it is rev b3 */
> + ret = gpio_get_value(PANDA_BOARD_ID_2_GPIO);
> + }
> + return ret;
> +}
> +
> /**
> * @brief misc_init_r - Configure Panda board specific configurations
> * such as power configurations, ethernet initialization as phase2 of
Nice, this works great on my Panda ES B3.
Tested-by: Robert Nelson <robertcnelson at gmai.com>
U-Boot SPL 2013.10-00339-g712d969 (Nov 14 2013 - 09:21:19)
OMAP4460 ES1.1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
reading u-boot.img
reading u-boot.img
U-Boot 2013.10-00339-g712d969 (Nov 14 2013 - 09:21:19)
CPU : OMAP4460 ES1.1
Board: OMAP4 Panda
I2C: ready
DRAM: 1 GiB
MMC: OMAP SD/MMC: 0
Using default environment
BTW, should be bump the system enviroment board_name, that way it
loads a different kernel *.dtb? (omap4-panda-es-b3.dtb)
As right now it'll load the omap4-panda-es.dtb which currently uses
both cs lines on the emif driver..
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/omap4-panda-common.dtsi#n373
Regards,
--
Robert Nelson
http://www.rcn-ee.com/
More information about the U-Boot
mailing list