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