File Index
Files and directories
Sign in
FILE

upboard-fpga.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/mfd/upboard-fpga.h C
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 * UP Board CPLD/FPGA driver
 4 *
 5 * Copyright (c) AAEON. All rights reserved.
 6 * Copyright (C) 2024 Bootlin
 7 *
 8 * Author: Gary Wang <garywang@aaeon.com.tw>
 9 * Author: Thomas Richard <thomas.richard@bootlin.com>
10 *
11 */
12
13#ifndef __LINUX_MFD_UPBOARD_FPGA_H
14#define __LINUX_MFD_UPBOARD_FPGA_H
15
16#define UPBOARD_REGISTER_SIZE 16
17
18enum upboard_fpgareg {
19	UPBOARD_REG_PLATFORM_ID   = 0x10,
20	UPBOARD_REG_FIRMWARE_ID   = 0x11,
21	UPBOARD_REG_FUNC_EN0      = 0x20,
22	UPBOARD_REG_FUNC_EN1      = 0x21,
23	UPBOARD_REG_GPIO_EN0      = 0x30,
24	UPBOARD_REG_GPIO_EN1      = 0x31,
25	UPBOARD_REG_GPIO_EN2      = 0x32,
26	UPBOARD_REG_GPIO_DIR0     = 0x40,
27	UPBOARD_REG_GPIO_DIR1     = 0x41,
28	UPBOARD_REG_GPIO_DIR2     = 0x42,
29	UPBOARD_REG_MAX,
30};
31
32enum upboard_fpga_type {
33	UPBOARD_UP_FPGA,
34	UPBOARD_UP2_FPGA,
35};
36
37struct upboard_fpga_data {
38	enum upboard_fpga_type type;
39	const struct regmap_config *regmap_config;
40};
41
42struct upboard_fpga {
43	struct device *dev;
44	struct regmap *regmap;
45	struct gpio_desc *enable_gpio;
46	struct gpio_desc *reset_gpio;
47	struct gpio_desc *clear_gpio;
48	struct gpio_desc *strobe_gpio;
49	struct gpio_desc *datain_gpio;
50	struct gpio_desc *dataout_gpio;
51	unsigned int firmware_version;
52	const struct upboard_fpga_data *fpga_data;
53};
54
55#endif /*  __LINUX_MFD_UPBOARD_FPGA_H */
~/ Read-only file preview.