1 /* 2 * include/asm-sh/ubc.h 3 * 4 * Copyright (C) 1999 Niibe Yutaka 5 * Copyright (C) 2002, 2003 Paul Mundt 6 * 7 * This file is subject to the terms and conditions of the GNU General Public 8 * License. See the file "COPYING" in the main directory of this archive 9 * for more details. 10 */ 11 #ifndef __ASM_SH_UBC_H 12 #define __ASM_SH_UBC_H 13 #ifdef __KERNEL__ 14 15 #include <cpu/ubc.h> 16 17 /* User Break Controller */ 18 #if defined(CONFIG_CPU_SUBTYPE_SH7707) || defined(CONFIG_CPU_SUBTYPE_SH7709) 19 #define UBC_TYPE_SH7729 (current_cpu_data.type == CPU_SH7729) 20 #else 21 #define UBC_TYPE_SH7729 0 22 #endif 23 24 #define BAMR_ASID (1 << 2) 25 #define BAMR_NONE 0 26 #define BAMR_10 0x1 27 #define BAMR_12 0x2 28 #define BAMR_ALL 0x3 29 #define BAMR_16 0x8 30 #define BAMR_20 0x9 31 32 #define BBR_INST (1 << 4) 33 #define BBR_DATA (2 << 4) 34 #define BBR_READ (1 << 2) 35 #define BBR_WRITE (2 << 2) 36 #define BBR_BYTE 0x1 37 #define BBR_HALF 0x2 38 #define BBR_LONG 0x3 39 #define BBR_QUAD (1 << 6) /* SH7750 */ 40 #define BBR_CPU (1 << 6) /* SH7709A,SH7729 */ 41 #define BBR_DMA (2 << 6) /* SH7709A,SH7729 */ 42 43 #define BRCR_CMFA (1 << 15) 44 #define BRCR_CMFB (1 << 14) 45 #define BRCR_PCTE (1 << 11) 46 #define BRCR_PCBA (1 << 10) /* 1: after execution */ 47 #define BRCR_DBEB (1 << 7) 48 #define BRCR_PCBB (1 << 6) 49 #define BRCR_SEQ (1 << 3) 50 #define BRCR_UBDE (1 << 0) 51 52 #ifndef __ASSEMBLY__ 53 /* arch/sh/kernel/cpu/ubc.S */ 54 extern void ubc_sleep(void); 55 56 #ifdef CONFIG_UBC_WAKEUP 57 extern void ubc_wakeup(void); 58 #else 59 #define ubc_wakeup() do { } while (0) 60 #endif 61 #endif 62 63 #endif /* __KERNEL__ */ 64 #endif /* __ASM_SH_UBC_H */ 65