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