0001
0002
0003
0004
0005
0006 #ifdef __KERNEL__
0007 #ifndef __ASM_POWERPC_REG_FSL_EMB_H__
0008 #define __ASM_POWERPC_REG_FSL_EMB_H__
0009
0010 #include <linux/stringify.h>
0011
0012 #ifndef __ASSEMBLY__
0013
0014 #define mfpmr(rn) ({unsigned int rval; \
0015 asm volatile("mfpmr %0," __stringify(rn) \
0016 : "=r" (rval)); rval;})
0017 #define mtpmr(rn, v) asm volatile("mtpmr " __stringify(rn) ",%0" : : "r" (v))
0018 #endif
0019
0020
0021 #define PMRN_PMC0 0x010
0022 #define PMRN_PMC1 0x011
0023 #define PMRN_PMC2 0x012
0024 #define PMRN_PMC3 0x013
0025 #define PMRN_PMC4 0x014
0026 #define PMRN_PMC5 0x015
0027 #define PMRN_PMLCA0 0x090
0028 #define PMRN_PMLCA1 0x091
0029 #define PMRN_PMLCA2 0x092
0030 #define PMRN_PMLCA3 0x093
0031 #define PMRN_PMLCA4 0x094
0032 #define PMRN_PMLCA5 0x095
0033
0034 #define PMLCA_FC 0x80000000
0035 #define PMLCA_FCS 0x40000000
0036 #define PMLCA_FCU 0x20000000
0037 #define PMLCA_FCM1 0x10000000
0038 #define PMLCA_FCM0 0x08000000
0039 #define PMLCA_CE 0x04000000
0040 #define PMLCA_FGCS1 0x00000002
0041 #define PMLCA_FGCS0 0x00000001
0042
0043 #define PMLCA_EVENT_MASK 0x01ff0000
0044 #define PMLCA_EVENT_SHIFT 16
0045
0046 #define PMRN_PMLCB0 0x110
0047 #define PMRN_PMLCB1 0x111
0048 #define PMRN_PMLCB2 0x112
0049 #define PMRN_PMLCB3 0x113
0050 #define PMRN_PMLCB4 0x114
0051 #define PMRN_PMLCB5 0x115
0052
0053 #define PMLCB_THRESHMUL_MASK 0x0700
0054 #define PMLCB_THRESHMUL_SHIFT 8
0055
0056 #define PMLCB_THRESHOLD_MASK 0x003f
0057 #define PMLCB_THRESHOLD_SHIFT 0
0058
0059 #define PMRN_PMGC0 0x190
0060
0061 #define PMGC0_FAC 0x80000000
0062 #define PMGC0_PMIE 0x40000000
0063 #define PMGC0_FCECE 0x20000000
0064
0065
0066
0067 #define PMRN_UPMC0 0x000
0068 #define PMRN_UPMC1 0x001
0069 #define PMRN_UPMC2 0x002
0070 #define PMRN_UPMC3 0x003
0071 #define PMRN_UPMC4 0x004
0072 #define PMRN_UPMC5 0x005
0073 #define PMRN_UPMLCA0 0x080
0074 #define PMRN_UPMLCA1 0x081
0075 #define PMRN_UPMLCA2 0x082
0076 #define PMRN_UPMLCA3 0x083
0077 #define PMRN_UPMLCA4 0x084
0078 #define PMRN_UPMLCA5 0x085
0079 #define PMRN_UPMLCB0 0x100
0080 #define PMRN_UPMLCB1 0x101
0081 #define PMRN_UPMLCB2 0x102
0082 #define PMRN_UPMLCB3 0x103
0083 #define PMRN_UPMLCB4 0x104
0084 #define PMRN_UPMLCB5 0x105
0085 #define PMRN_UPMGC0 0x180
0086
0087
0088 #endif
0089 #endif