1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Miscellaneous SoC-specific hooks. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2011 Texas Instruments Incorporated 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Author: Mark Salter <msalter@redhat.com> 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * This file is licensed under the terms of the GNU General Public License 9*4882a593Smuzhiyun * version 2. This program is licensed "as is" without any warranty of any 10*4882a593Smuzhiyun * kind, whether express or implied. 11*4882a593Smuzhiyun */ 12*4882a593Smuzhiyun #ifndef _ASM_C6X_SOC_H 13*4882a593Smuzhiyun #define _ASM_C6X_SOC_H 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun struct soc_ops { 16*4882a593Smuzhiyun /* Return active exception event or -1 if none */ 17*4882a593Smuzhiyun int (*get_exception)(void); 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* Assert an event */ 20*4882a593Smuzhiyun void (*assert_event)(unsigned int evt); 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun extern struct soc_ops soc_ops; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun extern int soc_get_exception(void); 26*4882a593Smuzhiyun extern void soc_assert_event(unsigned int event); 27*4882a593Smuzhiyun extern int soc_mac_addr(unsigned int index, u8 *addr); 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* 30*4882a593Smuzhiyun * for mmio on SoC devices. regs are always same byte order as cpu. 31*4882a593Smuzhiyun */ 32*4882a593Smuzhiyun #define soc_readl(addr) __raw_readl(addr) 33*4882a593Smuzhiyun #define soc_writel(b, addr) __raw_writel((b), (addr)) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun #endif /* _ASM_C6X_SOC_H */ 36