/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * Copyright (C) 2014 ARM Limited */#include<linux/ctype.h>#include<linux/hrtimer.h>#include<linux/idr.h>#include<linux/interrupt.h>#include<linux/io.h>#include<linux/module.h>#include<linux/perf_event.h>#include<linux/platform_device.h>#include<linux/slab.h>#define CCN_NUM_XP_PORTS 2#define CCN_NUM_VCS 4#define CCN_NUM_REGIONS 256#define CCN_REGION_SIZE 0x10000#define CCN_ALL_OLY_ID 0xff00#define CCN_ALL_OLY_ID__OLY_ID__SHIFT 0#define CCN_ALL_OLY_ID__OLY_ID__MASK 0x1f#define CCN_ALL_OLY_ID__NODE_ID__SHIFT 8#define CCN_ALL_OLY_ID__NODE_ID__MASK 0x3f#define CCN_MN_ERRINT_STATUS 0x0008#define CCN_MN_ERRINT_STATUS__INTREQ__DESSERT 0x11#define CCN_MN_ERRINT_STATUS__ALL_ERRORS__ENABLE 0x02#define CCN_MN_ERRINT_STATUS__ALL_ERRORS__DISABLED 0x20#define CCN_MN_ERRINT_STATUS__ALL_ERRORS__DISABLE 0x22