1 /* 2 * AURORA shared L2 cache controller support 3 * 4 * Copyright (C) 2012 Marvell 5 * 6 * Yehuda Yitschak <yehuday@marvell.com> 7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * 9 * This file is licensed under the terms of the GNU General Public 10 * License version 2. This program is licensed "as is" without any 11 * warranty of any kind, whether express or implied. 12 */ 13 14 #ifndef __ASM_ARM_HARDWARE_AURORA_L2_H 15 #define __ASM_ARM_HARDWARE_AURORA_L2_H 16 17 #define AURORA_SYNC_REG 0x700 18 #define AURORA_RANGE_BASE_ADDR_REG 0x720 19 #define AURORA_FLUSH_PHY_ADDR_REG 0x7f0 20 #define AURORA_INVAL_RANGE_REG 0x774 21 #define AURORA_CLEAN_RANGE_REG 0x7b4 22 #define AURORA_FLUSH_RANGE_REG 0x7f4 23 24 #define AURORA_ACR_REPLACEMENT_OFFSET 27 25 #define AURORA_ACR_REPLACEMENT_MASK \ 26 (0x3 << AURORA_ACR_REPLACEMENT_OFFSET) 27 #define AURORA_ACR_REPLACEMENT_TYPE_WAYRR \ 28 (0 << AURORA_ACR_REPLACEMENT_OFFSET) 29 #define AURORA_ACR_REPLACEMENT_TYPE_LFSR \ 30 (1 << AURORA_ACR_REPLACEMENT_OFFSET) 31 #define AURORA_ACR_REPLACEMENT_TYPE_SEMIPLRU \ 32 (3 << AURORA_ACR_REPLACEMENT_OFFSET) 33 34 #define AURORA_ACR_FORCE_WRITE_POLICY_OFFSET 0 35 #define AURORA_ACR_FORCE_WRITE_POLICY_MASK \ 36 (0x3 << AURORA_ACR_FORCE_WRITE_POLICY_OFFSET) 37 #define AURORA_ACR_FORCE_WRITE_POLICY_DIS \ 38 (0 << AURORA_ACR_FORCE_WRITE_POLICY_OFFSET) 39 #define AURORA_ACR_FORCE_WRITE_BACK_POLICY \ 40 (1 << AURORA_ACR_FORCE_WRITE_POLICY_OFFSET) 41 #define AURORA_ACR_FORCE_WRITE_THRO_POLICY \ 42 (2 << AURORA_ACR_FORCE_WRITE_POLICY_OFFSET) 43 44 #define MAX_RANGE_SIZE 1024 45 46 #define AURORA_WAY_SIZE_SHIFT 2 47 48 #define AURORA_CTRL_FW 0x100 49 50 /* chose a number outside L2X0_CACHE_ID_PART_MASK to be sure to make 51 * the distinction between a number coming from hardware and a number 52 * coming from the device tree */ 53 #define AURORA_CACHE_ID 0x100 54 55 #endif /* __ASM_ARM_HARDWARE_AURORA_L2_H */ 56