On Thu, Nov 14, 2013 at 4:06 AM, Hardik <hardik.pa...@volansystech.com> wrote: > From: Hardik Patel <hardik.pa...@volansystech.com> > > Signed-off-by: Hardik Patel <hardik.pa...@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 <robertcnel...@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/ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot