1/*	$NetBSD: exynos-pinctrl.h,v 1.1.1.1 2026/01/18 05:23:41 skrll Exp $	*/
2
3/* SPDX-License-Identifier: GPL-2.0 */
4/*
5 * Samsung Exynos DTS pinctrl constants
6 *
7 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
8 *		http://www.samsung.com
9 * Copyright (c) 2022 Linaro Ltd
10 * Author: Krzysztof Kozlowski <krzk@kernel.org>
11 */
12
13#ifndef __DTS_ARM_SAMSUNG_EXYNOS_PINCTRL_H__
14#define __DTS_ARM_SAMSUNG_EXYNOS_PINCTRL_H__
15
16#define EXYNOS_PIN_PULL_NONE		0
17#define EXYNOS_PIN_PULL_DOWN		1
18#define EXYNOS_PIN_PULL_UP		3
19
20/* Pin function in power down mode */
21#define EXYNOS_PIN_PDN_OUT0		0
22#define EXYNOS_PIN_PDN_OUT1		1
23#define EXYNOS_PIN_PDN_INPUT		2
24#define EXYNOS_PIN_PDN_PREV		3
25
26/* Drive strengths for Exynos3250, Exynos4 (all) and Exynos5250 */
27#define EXYNOS4_PIN_DRV_LV1		0
28#define EXYNOS4_PIN_DRV_LV2		2
29#define EXYNOS4_PIN_DRV_LV3		1
30#define EXYNOS4_PIN_DRV_LV4		3
31
32/* Drive strengths for Exynos5260 */
33#define EXYNOS5260_PIN_DRV_LV1		0
34#define EXYNOS5260_PIN_DRV_LV2		1
35#define EXYNOS5260_PIN_DRV_LV4		2
36#define EXYNOS5260_PIN_DRV_LV6		3
37
38/*
39 * Drive strengths for Exynos5410, Exynos542x, Exynos5800 and Exynos850 (except
40 * GPIO_HSI block)
41 */
42#define EXYNOS5420_PIN_DRV_LV1		0
43#define EXYNOS5420_PIN_DRV_LV2		1
44#define EXYNOS5420_PIN_DRV_LV3		2
45#define EXYNOS5420_PIN_DRV_LV4		3
46
47#define EXYNOS_PIN_FUNC_INPUT		0
48#define EXYNOS_PIN_FUNC_OUTPUT		1
49#define EXYNOS_PIN_FUNC_2		2
50#define EXYNOS_PIN_FUNC_3		3
51#define EXYNOS_PIN_FUNC_4		4
52#define EXYNOS_PIN_FUNC_5		5
53#define EXYNOS_PIN_FUNC_6		6
54#define EXYNOS_PIN_FUNC_EINT		0xf
55#define EXYNOS_PIN_FUNC_F		EXYNOS_PIN_FUNC_EINT
56
57#endif /* __DTS_ARM_SAMSUNG_EXYNOS_PINCTRL_H__ */
58