Mike Frysinger | 7db7917 | 2011-05-06 11:47:52 -0400 | [diff] [blame] | 1 | /* |
| 2 | * Blackfin Performance Monitor definitions |
| 3 | * |
| 4 | * Copyright 2005-2011 Analog Devices Inc. |
| 5 | * |
Sonic Zhang | de45083 | 2012-05-17 14:45:27 +0800 | [diff] [blame] | 6 | * Licensed under the Clear BSD license or GPL-2 (or later). |
Mike Frysinger | 7db7917 | 2011-05-06 11:47:52 -0400 | [diff] [blame] | 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 |