1 /*
2  * Copyright (C) 2019-2022 Intel Corporation.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef _GPIO_DM_H_
9 #define _GPIO_DM_H_
10 
11 /*
12  * GPIO PIO register definition
13  *
14  * +---------------+----------+------+-----------+-------+
15  * | Configuration | Reserved | Mode | Direction | value |
16  * |      16b      |    13b   |  1b  |    1b     |  1b   |
17  * +---------------+----------+------+-----------+-------+
18  */
19 
20 #define PIO_GPIO_VALUE_MASK	0x1
21 #define PIO_GPIO_DIR_OFFSET	1
22 #define PIO_GPIO_DIR_MASK	(0x1 << PIO_GPIO_DIR_OFFSET)
23 #define PIO_GPIO_MODE_OFFSET	2
24 #define PIO_GPIO_MODE_MASK	(0x1 << PIO_GPIO_MODE_OFFSET)
25 #define PIO_GPIO_CONFIG_OFFSET	16
26 #define PIO_GPIO_CONFIG_MASK	(0xff << PIO_GPIO_CONFIG_OFFSET)
27 
28 /* PIO GPIO control method support */
29 #define PIO_GPIO_CM_GET	"GPCG"
30 #define PIO_GPIO_CM_SET	"GPCS"
31 
32 /* PIO GPIO operations support */
33 #define PIO_GPIO_SET_VALUE(number, value) \
34 	PIO_GPIO_CM_SET"("#number","#value")"
35 
36 #define PIO_GPIO_GET_VALUE(number) \
37 	PIO_GPIO_CM_GET"("#number")"
38 #endif
39