1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI_LINUX_FSI_H 20 #define _UAPI_LINUX_FSI_H 21 #include <linux/types.h> 22 #include <linux/ioctl.h> 23 struct scom_access { 24 __u64 addr; 25 __u64 data; 26 __u64 mask; 27 __u32 intf_errors; 28 #define SCOM_INTF_ERR_PARITY 0x00000001 29 #define SCOM_INTF_ERR_PROTECTION 0x00000002 30 #define SCOM_INTF_ERR_ABORT 0x00000004 31 #define SCOM_INTF_ERR_UNKNOWN 0x80000000 32 __u8 pib_status; 33 #define SCOM_PIB_SUCCESS 0 34 #define SCOM_PIB_BLOCKED 1 35 #define SCOM_PIB_OFFLINE 2 36 #define SCOM_PIB_PARTIAL 3 37 #define SCOM_PIB_BAD_ADDR 4 38 #define SCOM_PIB_CLK_ERR 5 39 #define SCOM_PIB_PARITY_ERR 6 40 #define SCOM_PIB_TIMEOUT 7 41 __u8 pad; 42 }; 43 #define SCOM_CHECK_SUPPORTED 0x00000001 44 #define SCOM_CHECK_PROTECTED 0x00000002 45 #define SCOM_RESET_INTF 0x00000001 46 #define SCOM_RESET_PIB 0x00000002 47 #define FSI_SCOM_CHECK _IOR('s', 0x00, __u32) 48 #define FSI_SCOM_READ _IOWR('s', 0x01, struct scom_access) 49 #define FSI_SCOM_WRITE _IOWR('s', 0x02, struct scom_access) 50 #define FSI_SCOM_RESET _IOW('s', 0x03, __u32) 51 #endif 52