Commit 14b882cf authored by Russell King's avatar Russell King

ARM: l2c: add and use L2C revision constants

The revision namespace is specific to the L2 cache part, so don't name
these with generic identifiers, use a part specific identifier.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 83841fe1
...@@ -68,14 +68,24 @@ ...@@ -68,14 +68,24 @@
/* Registers shifts and masks */ /* Registers shifts and masks */
#define L2X0_CACHE_ID_PART_MASK (0xf << 6) #define L2X0_CACHE_ID_PART_MASK (0xf << 6)
#define L2X0_CACHE_ID_PART_L210 (1 << 6) #define L2X0_CACHE_ID_PART_L210 (1 << 6)
#define L2X0_CACHE_ID_PART_L220 (2 << 6)
#define L2X0_CACHE_ID_PART_L310 (3 << 6) #define L2X0_CACHE_ID_PART_L310 (3 << 6)
#define L2X0_CACHE_ID_RTL_MASK 0x3f #define L2X0_CACHE_ID_RTL_MASK 0x3f
#define L2X0_CACHE_ID_RTL_R0P0 0x0 #define L210_CACHE_ID_RTL_R0P2_02 0x00
#define L2X0_CACHE_ID_RTL_R1P0 0x2 #define L210_CACHE_ID_RTL_R0P1 0x01
#define L2X0_CACHE_ID_RTL_R2P0 0x4 #define L210_CACHE_ID_RTL_R0P2_01 0x02
#define L2X0_CACHE_ID_RTL_R3P0 0x5 #define L210_CACHE_ID_RTL_R0P3 0x03
#define L2X0_CACHE_ID_RTL_R3P1 0x6 #define L210_CACHE_ID_RTL_R0P4 0x0b
#define L2X0_CACHE_ID_RTL_R3P2 0x8 #define L210_CACHE_ID_RTL_R0P5 0x0f
#define L220_CACHE_ID_RTL_R1P7_01REL0 0x06
#define L310_CACHE_ID_RTL_R0P0 0x00
#define L310_CACHE_ID_RTL_R1P0 0x02
#define L310_CACHE_ID_RTL_R2P0 0x04
#define L310_CACHE_ID_RTL_R3P0 0x05
#define L310_CACHE_ID_RTL_R3P1 0x06
#define L310_CACHE_ID_RTL_R3P1_50REL0 0x07
#define L310_CACHE_ID_RTL_R3P2 0x08
#define L310_CACHE_ID_RTL_R3P3 0x09
#define L2X0_AUX_CTRL_MASK 0xc0000fff #define L2X0_AUX_CTRL_MASK 0xc0000fff
#define L2X0_AUX_CTRL_DATA_RD_LATENCY_SHIFT 0 #define L2X0_AUX_CTRL_DATA_RD_LATENCY_SHIFT 0
......
...@@ -374,7 +374,7 @@ void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask) ...@@ -374,7 +374,7 @@ void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask)
/* Unmapped register. */ /* Unmapped register. */
sync_reg_offset = L2X0_DUMMY_REG; sync_reg_offset = L2X0_DUMMY_REG;
#endif #endif
if ((cache_id & L2X0_CACHE_ID_RTL_MASK) <= L2X0_CACHE_ID_RTL_R3P0) if ((cache_id & L2X0_CACHE_ID_RTL_MASK) <= L310_CACHE_ID_RTL_R3P0)
outer_cache.set_debug = pl310_set_debug; outer_cache.set_debug = pl310_set_debug;
break; break;
case L2X0_CACHE_ID_PART_L210: case L2X0_CACHE_ID_PART_L210:
...@@ -768,7 +768,7 @@ static void __init pl310_save(void) ...@@ -768,7 +768,7 @@ static void __init pl310_save(void)
l2x0_saved_regs.filter_start = readl_relaxed(l2x0_base + l2x0_saved_regs.filter_start = readl_relaxed(l2x0_base +
L2X0_ADDR_FILTER_START); L2X0_ADDR_FILTER_START);
if (l2x0_revision >= L2X0_CACHE_ID_RTL_R2P0) { if (l2x0_revision >= L310_CACHE_ID_RTL_R2P0) {
/* /*
* From r2p0, there is Prefetch offset/control register * From r2p0, there is Prefetch offset/control register
*/ */
...@@ -777,7 +777,7 @@ static void __init pl310_save(void) ...@@ -777,7 +777,7 @@ static void __init pl310_save(void)
/* /*
* From r3p0, there is Power control register * From r3p0, there is Power control register
*/ */
if (l2x0_revision >= L2X0_CACHE_ID_RTL_R3P0) if (l2x0_revision >= L310_CACHE_ID_RTL_R3P0)
l2x0_saved_regs.pwr_ctrl = readl_relaxed(l2x0_base + l2x0_saved_regs.pwr_ctrl = readl_relaxed(l2x0_base +
L2X0_POWER_CTRL); L2X0_POWER_CTRL);
} }
...@@ -830,10 +830,10 @@ static void pl310_resume(void) ...@@ -830,10 +830,10 @@ static void pl310_resume(void)
l2x0_revision = readl_relaxed(l2x0_base + L2X0_CACHE_ID) & l2x0_revision = readl_relaxed(l2x0_base + L2X0_CACHE_ID) &
L2X0_CACHE_ID_RTL_MASK; L2X0_CACHE_ID_RTL_MASK;
if (l2x0_revision >= L2X0_CACHE_ID_RTL_R2P0) { if (l2x0_revision >= L310_CACHE_ID_RTL_R2P0) {
writel_relaxed(l2x0_saved_regs.prefetch_ctrl, writel_relaxed(l2x0_saved_regs.prefetch_ctrl,
l2x0_base + L2X0_PREFETCH_CTRL); l2x0_base + L2X0_PREFETCH_CTRL);
if (l2x0_revision >= L2X0_CACHE_ID_RTL_R3P0) if (l2x0_revision >= L310_CACHE_ID_RTL_R3P0)
writel_relaxed(l2x0_saved_regs.pwr_ctrl, writel_relaxed(l2x0_saved_regs.pwr_ctrl,
l2x0_base + L2X0_POWER_CTRL); l2x0_base + L2X0_POWER_CTRL);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment