1 /* 2 * Blackfin Performance Monitor definitions 3 * 4 * Copyright 2005-2011 Analog Devices Inc. 5 * 6 * Licensed under the Clear BSD license or GPL-2 (or later). 7 */ 8 9 #ifndef __ASM_BFIN_PFMON_H__ 10 #define __ASM_BFIN_PFMON_H__ 11 12 /* PFCTL Masks */ 13 #define PFMON_MASK 0xff 14 #define PFCEN_MASK 0x3 15 #define PFCEN_DISABLE 0x0 16 #define PFCEN_ENABLE_USER 0x1 17 #define PFCEN_ENABLE_SUPV 0x2 18 #define PFCEN_ENABLE_ALL (PFCEN_ENABLE_USER | PFCEN_ENABLE_SUPV) 19 20 #define PFPWR_P 0 21 #define PEMUSW0_P 2 22 #define PFCEN0_P 3 23 #define PFMON0_P 5 24 #define PEMUSW1_P 13 25 #define PFCEN1_P 14 26 #define PFMON1_P 16 27 #define PFCNT0_P 24 28 #define PFCNT1_P 25 29 30 #define PFPWR (1 << PFPWR_P) 31 #define PEMUSW(n, x) ((x) << ((n) ? PEMUSW1_P : PEMUSW0_P)) 32 #define PEMUSW0 PEMUSW(0, 1) 33 #define PEMUSW1 PEMUSW(1, 1) 34 #define PFCEN(n, x) ((x) << ((n) ? PFCEN1_P : PFCEN0_P)) 35 #define PFCEN0 PFCEN(0, PFCEN_MASK) 36 #define PFCEN1 PFCEN(1, PFCEN_MASK) 37 #define PFCNT(n, x) ((x) << ((n) ? PFCNT1_P : PFCNT0_P)) 38 #define PFCNT0 PFCNT(0, 1) 39 #define PFCNT1 PFCNT(1, 1) 40 #define PFMON(n, x) ((x) << ((n) ? PFMON1_P : PFMON0_P)) 41 #define PFMON0 PFMON(0, PFMON_MASK) 42 #define PFMON1 PFMON(1, PFMON_MASK) 43 44 #endif 45