File Index
Files and directories
Sign in
FILE

pinctrl-sg2042.h

File preview with syntax highlighting.

linux-6.19.14/drivers/pinctrl/sophgo/pinctrl-sg2042.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Copyright (C) 2024 Inochi Amaoto <inochiama@outlook.com>
 4 */
 5
 6#ifndef _PINCTRL_SOPHGO_SG2042_H
 7#define _PINCTRL_SOPHGO_SG2042_H
 8
 9#include <linux/bits.h>
10#include <linux/bitfield.h>
11#include <linux/device.h>
12#include <linux/mutex.h>
13#include <linux/spinlock.h>
14#include <linux/platform_device.h>
15#include <linux/pinctrl/pinctrl.h>
16#include <linux/pinctrl/pinconf.h>
17
18#include "pinctrl-sophgo.h"
19
20#define PIN_FLAG_DEFAULT			0
21#define PIN_FLAG_WRITE_HIGH			BIT(0)
22#define PIN_FLAG_ONLY_ONE_PULL			BIT(1)
23#define PIN_FLAG_NO_PINMUX			BIT(2)
24#define PIN_FLAG_NO_OEX_EN			BIT(3)
25#define PIN_FLAG_IS_ETH				BIT(4)
26
27struct sg2042_pin {
28	struct sophgo_pin		pin;
29	u16				offset;
30};
31
32#define sophgo_to_sg2042_pin(_pin)		\
33	container_of((_pin), struct sg2042_pin, pin)
34
35extern const struct pinctrl_ops sg2042_pctrl_ops;
36extern const struct pinmux_ops sg2042_pmx_ops;
37extern const struct pinconf_ops sg2042_pconf_ops;
38extern const struct sophgo_cfg_ops sg2042_cfg_ops;
39
40#define SG2042_GENERAL_PIN(_id,	_offset, _flag)				\
41	{								\
42		.pin = {						\
43			.id = (_id),					\
44			.flags = (_flag),				\
45		},							\
46		.offset = (_offset),					\
47	}
48
49#endif
~/ Read-only file preview.