ARM: DRA7: Add detection of ES2.0
authorNishanth Menon <nm@ti.com>
Thu, 13 Aug 2015 14:50:58 +0000 (09:50 -0500)
committerLothar Waßmann <LW@KARO-electronics.de>
Thu, 10 Sep 2015 09:29:49 +0000 (11:29 +0200)
Add support for detection of ES2.0 version of DRA7 family of
processors. ES2.0 is an incremental revision with various fixes
including the following:
- reset logic fixes
- few assymetric aging logic fixes
- MMC clock rate fixes
- Ethernet speed fixes
- edma fixes for mcasp

[ravibabu@ti.com: posted internal for an older bootloader]
Signed-off-by: Ravi Babu <ravibabu@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
arch/arm/cpu/armv7/omap5/hw_data.c
arch/arm/cpu/armv7/omap5/hwinit.c
arch/arm/cpu/armv7/omap5/sdram.c
arch/arm/include/asm/arch-omap5/omap.h
arch/arm/include/asm/omap_common.h

index 33f92b7..a2d9cc8 100644 (file)
@@ -684,6 +684,7 @@ void __weak hw_data_init(void)
 
        case DRA752_ES1_0:
        case DRA752_ES1_1:
+       case DRA752_ES2_0:
        *prcm = &dra7xx_prcm;
        *dplls_data = &dra7xx_dplls;
        *omap_vcores = &dra752_volts;
@@ -719,6 +720,7 @@ void get_ioregs(const struct ctrl_ioregs **regs)
                break;
        case DRA752_ES1_0:
        case DRA752_ES1_1:
+       case DRA752_ES2_0:
                *regs = &ioregs_dra7xx_es1;
                break;
        case DRA722_ES1_0:
index 3699050..325a7e8 100644 (file)
@@ -367,6 +367,9 @@ void init_omap_revision(void)
        case DRA752_CONTROL_ID_CODE_ES1_1:
                *omap_si_rev = DRA752_ES1_1;
                break;
+       case DRA752_CONTROL_ID_CODE_ES2_0:
+               *omap_si_rev = DRA752_ES2_0;
+               break;
        case DRA722_CONTROL_ID_CODE_ES1_0:
                *omap_si_rev = DRA722_ES1_0;
                break;
index cf4452d..a8d63c2 100644 (file)
@@ -284,6 +284,7 @@ static void emif_get_reg_dump_sdp(u32 emif_nr, const struct emif_regs **regs)
                break;
        case DRA752_ES1_0:
        case DRA752_ES1_1:
+       case DRA752_ES2_0:
                switch (emif_nr) {
                case 1:
                        *regs = &emif_1_regs_ddr3_532_mhz_1cs_dra_es1;
@@ -316,6 +317,7 @@ static void emif_get_dmm_regs_sdp(const struct dmm_lisa_map_regs
                break;
        case DRA752_ES1_0:
        case DRA752_ES1_1:
+       case DRA752_ES2_0:
                *dmm_lisa_regs = &lisa_map_2G_x_2_x_2_2G_x_1_x_2;
                break;
        case DRA722_ES1_0:
@@ -569,6 +571,7 @@ void __weak emif_get_ext_phy_ctrl_const_regs(u32 emif_nr,
                break;
        case DRA752_ES1_0:
        case DRA752_ES1_1:
+       case DRA752_ES2_0:
                if (emif_nr == 1) {
                        *regs = dra_ddr3_ext_phy_ctrl_const_base_es1_emif1;
                        *size =
@@ -792,6 +795,7 @@ const struct read_write_regs *get_bug_regs(u32 *iterations)
                break;
        case DRA752_ES1_0:
        case DRA752_ES1_1:
+       case DRA752_ES2_0:
        case DRA722_ES1_0:
                bug_00339_regs_ptr = dra_bug_00339_regs;
                *iterations = sizeof(dra_bug_00339_regs)/
index 524fae4..ddf5c7a 100644 (file)
@@ -52,6 +52,7 @@
 #define OMAP5432_CONTROL_ID_CODE_ES2_0          0x1B99802F
 #define DRA752_CONTROL_ID_CODE_ES1_0           0x0B99002F
 #define DRA752_CONTROL_ID_CODE_ES1_1           0x1B99002F
+#define DRA752_CONTROL_ID_CODE_ES2_0           0x2B99002F
 #define DRA722_CONTROL_ID_CODE_ES1_0           0x0B9BC02F
 
 /* UART */
index b67d4b6..000a533 100644 (file)
@@ -683,6 +683,7 @@ static inline u8 is_dra72x(void)
 /* DRA7XX */
 #define DRA752_ES1_0   0x07520100
 #define DRA752_ES1_1   0x07520110
+#define DRA752_ES2_0   0x07520200
 #define DRA722_ES1_0   0x07220100
 
 /*