Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
0002 /*
0003  * OPAL Runtime Diagnostics interface driver
0004  * Supported on POWERNV platform
0005  *
0006  * (C) Copyright IBM 2015
0007  *
0008  * Author: Vaidyanathan Srinivasan <svaidy at linux.vnet.ibm.com>
0009  * Author: Jeremy Kerr <jk@ozlabs.org>
0010  *
0011  * This program is free software; you can redistribute it and/or modify
0012  * it under the terms of the GNU General Public License as published by
0013  * the Free Software Foundation; either version 2, or (at your option)
0014  * any later version.
0015  *
0016  * This program is distributed in the hope that it will be useful,
0017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0019  * GNU General Public License for more details.
0020  */
0021 
0022 #ifndef _UAPI_ASM_POWERPC_OPAL_PRD_H_
0023 #define _UAPI_ASM_POWERPC_OPAL_PRD_H_
0024 
0025 #include <linux/types.h>
0026 
0027 /**
0028  * The version of the kernel interface of the PRD system. This describes the
0029  * interface available for the /dev/opal-prd device. The actual PRD message
0030  * layout and content is private to the firmware <--> userspace interface, so
0031  * is not covered by this versioning.
0032  *
0033  * Future interface versions are backwards-compatible; if a later kernel
0034  * version is encountered, functionality provided in earlier versions
0035  * will work.
0036  */
0037 #define OPAL_PRD_KERNEL_VERSION     1
0038 
0039 #define OPAL_PRD_GET_INFO       _IOR('o', 0x01, struct opal_prd_info)
0040 #define OPAL_PRD_SCOM_READ      _IOR('o', 0x02, struct opal_prd_scom)
0041 #define OPAL_PRD_SCOM_WRITE     _IOW('o', 0x03, struct opal_prd_scom)
0042 
0043 #ifndef __ASSEMBLY__
0044 
0045 struct opal_prd_info {
0046     __u64   version;
0047     __u64   reserved[3];
0048 };
0049 
0050 struct opal_prd_scom {
0051     __u64   chip;
0052     __u64   addr;
0053     __u64   data;
0054     __s64   rc;
0055 };
0056 
0057 #endif /* __ASSEMBLY__ */
0058 
0059 #endif /* _UAPI_ASM_POWERPC_OPAL_PRD_H */