DRA7: Add support for ES1.1 silicon ID code
PATCH 1/1 DRA7: Add support for ES1.1 silicon ID code
ES1.1 silicon is a very minor variant of ES1.0. Add priliminary support for ES1.1 IDCODE change.
Signed-off-by Nishanth Menon <[email protected]>
Reviewed-by Tom Rini <[email protected]>
---
arch/arm/cpu/armv7/omap-common/clocks-common.c | 2 +- arch/arm/cpu/armv7/omap-common/emif-common.c | 5 ++--- arch/arm/cpu/armv7/omap5/hw_data.c | 2 ++ arch/arm/cpu/armv7/omap5/hwinit.c | 3 +++ arch/arm/cpu/armv7/omap5/sdram.c | 4 ++++ arch/arm/include/asm/arch-omap5/omap.h | 1 + arch/arm/include/asm/omap_common.h | 1 + 7 files changed, 14 insertions(+), 4 deletions(-)
arch/arm/cpu/armv7/omap-common/clocks-common.c +1 -1
@@ -436,7 +436,7 @@ static void setup_non_essential_dplls(void)#ifdef CONFIG_SYS_OMAP_ABE_SYSCK abe_ref_clk =CM_ABE_PLL_REF_CLKSEL_CLKSEL_SYSCLK ; -if (omap_revision () ==DRA752_ES1_0 ) +if (is_dra7xx ())/* Select the sys clk for dpll_abe */ clrsetbits_le32((*prcm)->cm_abe_pll_sys_clksel, CM_CLKSEL_ABE_PLL_SYS_CLKSEL_MASK,
arch/arm/cpu/armv7/omap-common/emif-common.c +2 -3
@@ -179,8 +179,7 @@ void emif_update_timings(u32 base, const struct emif_regs *regs)writel (regs->temp_alert_config, &emif->emif_temp_alert_config);writel (regs->emif_ddr_phy_ctlr_1, &emif->emif_ddr_phy_ctrl_1_shdw); -if ((omap_revision () >=OMAP5430_ES1_0 ) || - (omap_revision () ==DRA752_ES1_0 )) { +if ((omap_revision () >=OMAP5430_ES1_0 ) ||is_dra7xx ()) {writel (EMIF_L3_CONFIG_VAL_SYS_10_MPU_5_LL_0 , &emif->emif_l3_config); }else if (omap_revision () >=OMAP4460_ES1_0 ) {
@@ -309,7 +308,7 @@ static void ddr3_init(u32 base, const struct emif_regs *regs)* The same sequence should work on OMAP5432 as well. But strange that * it is not working */ -if (omap_revision () ==DRA752_ES1_0 ) { +if (is_dra7xx ()) {do_ext_phy_settings (base, regs);writel (regs->sdram_config2, &emif->emif_lpddr2_nvm_config);writel (regs->sdram_config_init, &emif->emif_sdram_config);
arch/arm/cpu/armv7/omap5/hw_data.c +2 -0
@@ -639,6 +639,7 @@ void hw_data_init(void)break ;case DRA752_ES1_0 : +case DRA752_ES1_1 : *prcm = &dra7xx_prcm; *dplls_data = &dra7xx_dplls; *omap_vcores = &dra752_volts;
@@ -666,6 +667,7 @@ void get_ioregs(const struct ctrl_ioregs **regs) *regs = &ioregs_omap5432_es2;break ;case DRA752_ES1_0 : +case DRA752_ES1_1 : *regs = &ioregs_dra7xx_es1;break ;
arch/arm/cpu/armv7/omap5/hwinit.c +3 -0
@@ -333,6 +333,9 @@ void init_omap_revision(void)case DRA752_CONTROL_ID_CODE_ES1_0 : *omap_si_rev =DRA752_ES1_0 ;break ; +case DRA752_CONTROL_ID_CODE_ES1_1 : + *omap_si_rev =DRA752_ES1_1 ; +break ;default : *omap_si_rev =OMAP5430_SILICON_ID_INVALID ; }
arch/arm/cpu/armv7/omap5/sdram.c +4 -0
@@ -245,6 +245,7 @@ static void emif_get_reg_dump_sdp(u32 emif_nr, const struct emif_regs **regs) *regs = &emif_regs_ddr3_532_mhz_1cs_es2;break ;case DRA752_ES1_0 : +case DRA752_ES1_1 :switch (emif_nr) {case 1 : *regs = &emif_1_regs_ddr3_532_mhz_1cs_dra_es1;
@@ -273,6 +274,7 @@ static void emif_get_dmm_regs_sdp(const struct dmm_lisa_map_regs *dmm_lisa_regs = &lisa_map_4G_x_2_x_2;break ;case DRA752_ES1_0 : +case DRA752_ES1_1 :default : *dmm_lisa_regs = &lisa_map_2G_x_2_x_2_2G_x_1_x_2; }
@@ -460,6 +462,7 @@ static void emif_get_ext_phy_ctrl_const_regs(u32 emif_nr, *size =ARRAY_SIZE (ddr3_ext_phy_ctrl_const_base_es2);break ;case DRA752_ES1_0 : +case DRA752_ES1_1 :if (emif_nr ==1 ) { *regs = dra_ddr3_ext_phy_ctrl_const_base_es1_emif1; *size =
@@ -626,6 +629,7 @@ const struct read_write_regs *get_bug_regs(u32 *iterations)sizeof (omap5_bug_00339_regs[0 ]);break ;case DRA752_ES1_0 : +case DRA752_ES1_1 : bug_00339_regs_ptr = dra_bug_00339_regs; *iterations =sizeof (dra_bug_00339_regs)/sizeof (dra_bug_00339_regs[0 ]);
arch/arm/include/asm/arch-omap5/omap.h +1 -0
@@ -44,6 +44,7 @@#define OMAP5432_CONTROL_ID_CODE_ES1_0 0x0B99802F#define OMAP5432_CONTROL_ID_CODE_ES2_0 0x1B99802F#define DRA752_CONTROL_ID_CODE_ES1_0 0x0B99002F +#define DRA752_CONTROL_ID_CODE_ES1_1 0x1B99002F/* UART */ #define UART1_BASE (OMAP54XX_L4_PER_BASE + 0x6a000)
arch/arm/include/asm/omap_common.h +1 -0
@@ -643,6 +643,7 @@ static inline u8 is_dra7xx(void)/* DRA7XX */ #define DRA752_ES1_0 0x07520100 +#define DRA752_ES1_1 0x07520110/* * SRAM scratch space entries
Signature · 1 line
1.7.9.5
PATCH 1/1 DRA7: Add support for ES1.1 silicon ID code
Quoted 139 lines · Nishanth Menon
ES1.1 silicon is a very minor variant of ES1.0. Add priliminary support for ES1.1 IDCODE change.
Signed-off-by Nishanth Menon <[email protected]>Reviewed-by Tom Rini <[email protected]>---
arch/arm/cpu/armv7/omap-common/clocks-common.c | 2 +- arch/arm/cpu/armv7/omap-common/emif-common.c | 5 ++--- arch/arm/cpu/armv7/omap5/hw_data.c | 2 ++ arch/arm/cpu/armv7/omap5/hwinit.c | 3 +++ arch/arm/cpu/armv7/omap5/sdram.c | 4 ++++ arch/arm/include/asm/arch-omap5/omap.h | 1 + arch/arm/include/asm/omap_common.h | 1 + 7 files changed, 14 insertions(+), 4 deletions(-)arch/arm/cpu/armv7/omap-common/clocks-common.c +1
-1@@ -436,7 +436,7 @@ static void setup_non_essential_dplls(void)#ifdef CONFIG_SYS_OMAP_ABE_SYSCK abe_ref_clk =CM_ABE_PLL_REF_CLKSEL_CLKSEL_SYSCLK ; -if (omap_revision () ==DRA752_ES1_0 ) +if (is_dra7xx ())/* Select the sys clk for dpll_abe */ clrsetbits_le32((*prcm)->cm_abe_pll_sys_clksel, CM_CLKSEL_ABE_PLL_SYS_CLKSEL_MASK,arch/arm/cpu/armv7/omap-common/emif-common.c +2
-3@@ -179,8 +179,7 @@ void emif_update_timings(u32 base, const struct emif_regs *regs)writel (regs->temp_alert_config, &emif->emif_temp_alert_config);writel (regs->emif_ddr_phy_ctlr_1, &emif->emif_ddr_phy_ctrl_1_shdw); -if ((omap_revision () >=OMAP5430_ES1_0 ) || - (omap_revision () ==DRA752_ES1_0 )) { +if ((omap_revision () >=OMAP5430_ES1_0 ) ||is_dra7xx ()) {writel (EMIF_L3_CONFIG_VAL_SYS_10_MPU_5_LL_0 , &emif->emif_l3_config); }else if (omap_revision () >=OMAP4460_ES1_0 ) {@@ -309,7 +308,7 @@ static void ddr3_init(u32 base, const struct emif_regs *regs)* The same sequence should work on OMAP5432 as well. But strange that * it is not working */ -if (omap_revision () ==DRA752_ES1_0 ) { +if (is_dra7xx ()) {do_ext_phy_settings (base, regs);writel (regs->sdram_config2, &emif->emif_lpddr2_nvm_config);writel (regs->sdram_config_init, &emif->emif_sdram_config);arch/arm/cpu/armv7/omap5/hw_data.c +2
-0@@ -639,6 +639,7 @@ void hw_data_init(void)break ;case DRA752_ES1_0 : +case DRA752_ES1_1 : *prcm = &dra7xx_prcm; *dplls_data = &dra7xx_dplls; *omap_vcores = &dra752_volts;@@ -666,6 +667,7 @@ void get_ioregs(const struct ctrl_ioregs **regs) *regs = &ioregs_omap5432_es2;break ;case DRA752_ES1_0 : +case DRA752_ES1_1 : *regs = &ioregs_dra7xx_es1;break ;arch/arm/cpu/armv7/omap5/hwinit.c +3
-0@@ -333,6 +333,9 @@ void init_omap_revision(void)case DRA752_CONTROL_ID_CODE_ES1_0 : *omap_si_rev =DRA752_ES1_0 ;break ; +case DRA752_CONTROL_ID_CODE_ES1_1 : + *omap_si_rev =DRA752_ES1_1 ; +break ;default : *omap_si_rev =OMAP5430_SILICON_ID_INVALID ; }arch/arm/cpu/armv7/omap5/sdram.c +4
-0@@ -245,6 +245,7 @@ static void emif_get_reg_dump_sdp(u32 emif_nr, const struct emif_regs **regs) *regs = &emif_regs_ddr3_532_mhz_1cs_es2;break ;case DRA752_ES1_0 : +case DRA752_ES1_1 :switch (emif_nr) {case 1 : *regs = &emif_1_regs_ddr3_532_mhz_1cs_dra_es1;@@ -273,6 +274,7 @@ static void emif_get_dmm_regs_sdp(const struct dmm_lisa_map_regs *dmm_lisa_regs = &lisa_map_4G_x_2_x_2;break ;case DRA752_ES1_0 : +case DRA752_ES1_1 :default : *dmm_lisa_regs = &lisa_map_2G_x_2_x_2_2G_x_1_x_2; }@@ -460,6 +462,7 @@ static void emif_get_ext_phy_ctrl_const_regs(u32 emif_nr, *size =ARRAY_SIZE (ddr3_ext_phy_ctrl_const_base_es2);break ;case DRA752_ES1_0 : +case DRA752_ES1_1 :if (emif_nr ==1 ) { *regs = dra_ddr3_ext_phy_ctrl_const_base_es1_emif1; *size =@@ -626,6 +629,7 @@ const struct read_write_regs *get_bug_regs(u32 *iterations)sizeof (omap5_bug_00339_regs[0 ]);break ;case DRA752_ES1_0 : +case DRA752_ES1_1 : bug_00339_regs_ptr = dra_bug_00339_regs; *iterations =sizeof (dra_bug_00339_regs)/sizeof (dra_bug_00339_regs[0 ]);arch/arm/include/asm/arch-omap5/omap.h +1
-0@@ -44,6 +44,7 @@#define OMAP5432_CONTROL_ID_CODE_ES1_0 0x0B99802F#define OMAP5432_CONTROL_ID_CODE_ES2_0 0x1B99802F#define DRA752_CONTROL_ID_CODE_ES1_0 0x0B99002F +#define DRA752_CONTROL_ID_CODE_ES1_1 0x1B99002F/* UART */ #define UART1_BASE (OMAP54XX_L4_PER_BASE + 0x6a000)arch/arm/include/asm/omap_common.h +0
-0
arch/arm/include/asm/omap_common.h static inline u8 is_dra7xx(void) · line 649
Quoted 7 lines
arch/arm/include/asm/omap_common.h +1
-0@@ -643,6 +643,7 @@ static inline u8 is_dra7xx(void)/* DRA7XX */ #define DRA752_ES1_0 0x07520100 +#define DRA752_ES1_1 0x07520110/* * SRAM scratch space entries
Reviewed By: Sricharan R <[email protected]>
Regards,
Sricharan
Quoted 5 lines · Nishanth Menon
ES1.1 silicon is a very minor variant of ES1.0. Add priliminary support for ES1.1 IDCODE change.
Signed-off-by Nishanth Menon <[email protected]>Reviewed-by Tom Rini <[email protected]>
Applied to u-boot-ti/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140124/5e2155e6/attachment.pgp>