summaryrefslogtreecommitdiffstats
path: root/util/inteltool/gpio_names/gpio_groups.h
blob: 828d2fd9409a9b9e3c6f8546cf2059cb07410554 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* SPDX-License-Identifier: GPL-2.0-only */

#ifndef GPIO_NAMES_GPIO_GROUPS_H
#define GPIO_NAMES_GPIO_GROUPS_H

struct gpio_group {
	const char *display;
	size_t pad_count;
	size_t func_count;
	/*
	 * This field is necessary for EBG, since the pad configuration registers
	 * within a community are no longer contiguous.
	 */
	uint32_t pad_offset;
	const char *const *pad_names; /* indexed by 'pad * func_count + func' */
};

struct gpio_community {
	const char *name;
	uint8_t pcr_port_id;
	size_t group_count;
	const struct gpio_group *const *groups;
};

#endif