1/*	$NetBSD: os.h,v 1.3 2021/12/18 23:45:41 riastradh Exp $	*/
2
3/* SPDX-License-Identifier: MIT */
4#ifndef __NVKM_PWR_OS_H__
5#define __NVKM_PWR_OS_H__
6
7/* Process names */
8#define PROC_KERN 0x52544e49
9#define PROC_IDLE 0x454c4449
10#define PROC_HOST 0x54534f48
11#define PROC_MEMX 0x584d454d
12#define PROC_PERF 0x46524550
13#define PROC_I2C_ 0x5f433249
14#define PROC_TEST 0x54534554
15
16/* KERN: message identifiers */
17#define KMSG_FIFO   0x00000000
18#define KMSG_ALARM  0x00000001
19
20/* MEMX: message identifiers */
21#define MEMX_MSG_INFO 0
22#define MEMX_MSG_EXEC 1
23
24/* MEMX: info types */
25#define MEMX_INFO_DATA  0
26#define MEMX_INFO_TRAIN 1
27
28/* MEMX: script opcode definitions */
29#define MEMX_ENTER  1
30#define MEMX_LEAVE  2
31#define MEMX_WR32   3
32#define MEMX_WAIT   4
33#define MEMX_DELAY  5
34#define MEMX_VBLANK 6
35#define MEMX_TRAIN  7
36
37/* I2C_: message identifiers */
38#define I2C__MSG_RD08 0
39#define I2C__MSG_WR08 1
40
41#define I2C__MSG_DATA0_PORT 24:31
42#define I2C__MSG_DATA0_ADDR 14:23
43
44#define I2C__MSG_DATA0_RD08_PORT I2C__MSG_DATA0_PORT
45#define I2C__MSG_DATA0_RD08_ADDR I2C__MSG_DATA0_ADDR
46#define I2C__MSG_DATA0_RD08_REG 0:7
47#define I2C__MSG_DATA1_RD08_VAL 0:7
48
49#define I2C__MSG_DATA0_WR08_PORT I2C__MSG_DATA0_PORT
50#define I2C__MSG_DATA0_WR08_ADDR I2C__MSG_DATA0_ADDR
51#define I2C__MSG_DATA0_WR08_SYNC 8:8
52#define I2C__MSG_DATA0_WR08_REG 0:7
53#define I2C__MSG_DATA1_WR08_VAL 0:7
54
55#endif
56