Files
threeeye bc1d038eac REVVL 6 Pro kernel bring-up: full working tree snapshot (2026-09-12)
Squashed backup commit (no shallow-clone history issues) of
xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream
commit 9eece662e) plus all fixes applied to get everpal_defconfig building
clean against a modern (GCC 15.2.0) toolchain -- see the previous commit
message on the lineage-23.2 branch (also in this repo history is not
available here since this is a squashed snapshot; full incremental history
lives in the local DL380 checkout and the upstream GitHub remote).

Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
2026-09-12 13:36:46 +00:00

66 lines
1.5 KiB
C

/*
* Marvell Berlin SoC pinctrl driver.
*
* Copyright (C) 2014 Marvell Technology Group Ltd.
*
* Antoine Ténart <antoine.tenart@free-electrons.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#ifndef __PINCTRL_BERLIN_H
#define __PINCTRL_BERLIN_H
struct berlin_desc_function {
const char *name;
u8 muxval;
};
struct berlin_desc_group {
const char *name;
u8 offset;
u8 bit_width;
u8 lsb;
struct berlin_desc_function *functions;
};
struct berlin_pinctrl_desc {
const struct berlin_desc_group *groups;
unsigned ngroups;
};
struct berlin_pinctrl_function {
const char *name;
const char **groups;
unsigned ngroups;
};
#define BERLIN_PINCTRL_GROUP(_name, _offset, _width, _lsb, ...) \
{ \
.name = _name, \
.offset = _offset, \
.bit_width = _width, \
.lsb = _lsb, \
.functions = (struct berlin_desc_function[]){ \
__VA_ARGS__, { } }, \
}
#define BERLIN_PINCTRL_FUNCTION(_muxval, _name) \
{ \
.name = _name, \
.muxval = _muxval, \
}
#define BERLIN_PINCTRL_FUNCTION_UNKNOWN {}
int berlin_pinctrl_probe(struct platform_device *pdev,
const struct berlin_pinctrl_desc *desc);
int berlin_pinctrl_probe_regmap(struct platform_device *pdev,
const struct berlin_pinctrl_desc *desc,
struct regmap *regmap);
#endif /* __PINCTRL_BERLIN_H */