162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Samsung's Exynos pinctrl bindings
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2016 Samsung Electronics Co., Ltd.
662306a36Sopenharmony_ci *		http://www.samsung.com
762306a36Sopenharmony_ci * Author: Krzysztof Kozlowski <krzk@kernel.org>
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifndef __DT_BINDINGS_PINCTRL_SAMSUNG_H__
1162306a36Sopenharmony_ci#define __DT_BINDINGS_PINCTRL_SAMSUNG_H__
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/*
1462306a36Sopenharmony_ci * These bindings are deprecated, because they do not match the actual
1562306a36Sopenharmony_ci * concept of bindings but rather contain pure register values.
1662306a36Sopenharmony_ci * Instead include the header in the DTS source directory.
1762306a36Sopenharmony_ci */
1862306a36Sopenharmony_ci#warning "These bindings are deprecated. Instead use the header in the DTS source directory."
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#define EXYNOS_PIN_PULL_NONE		0
2162306a36Sopenharmony_ci#define EXYNOS_PIN_PULL_DOWN		1
2262306a36Sopenharmony_ci#define EXYNOS_PIN_PULL_UP		3
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci#define S3C64XX_PIN_PULL_NONE		0
2562306a36Sopenharmony_ci#define S3C64XX_PIN_PULL_DOWN		1
2662306a36Sopenharmony_ci#define S3C64XX_PIN_PULL_UP		2
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci/* Pin function in power down mode */
2962306a36Sopenharmony_ci#define EXYNOS_PIN_PDN_OUT0		0
3062306a36Sopenharmony_ci#define EXYNOS_PIN_PDN_OUT1		1
3162306a36Sopenharmony_ci#define EXYNOS_PIN_PDN_INPUT		2
3262306a36Sopenharmony_ci#define EXYNOS_PIN_PDN_PREV		3
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci/* Drive strengths for Exynos3250, Exynos4 (all) and Exynos5250 */
3562306a36Sopenharmony_ci#define EXYNOS4_PIN_DRV_LV1		0
3662306a36Sopenharmony_ci#define EXYNOS4_PIN_DRV_LV2		2
3762306a36Sopenharmony_ci#define EXYNOS4_PIN_DRV_LV3		1
3862306a36Sopenharmony_ci#define EXYNOS4_PIN_DRV_LV4		3
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci/* Drive strengths for Exynos5260 */
4162306a36Sopenharmony_ci#define EXYNOS5260_PIN_DRV_LV1		0
4262306a36Sopenharmony_ci#define EXYNOS5260_PIN_DRV_LV2		1
4362306a36Sopenharmony_ci#define EXYNOS5260_PIN_DRV_LV4		2
4462306a36Sopenharmony_ci#define EXYNOS5260_PIN_DRV_LV6		3
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci/*
4762306a36Sopenharmony_ci * Drive strengths for Exynos5410, Exynos542x, Exynos5800 and Exynos850 (except
4862306a36Sopenharmony_ci * GPIO_HSI block)
4962306a36Sopenharmony_ci */
5062306a36Sopenharmony_ci#define EXYNOS5420_PIN_DRV_LV1		0
5162306a36Sopenharmony_ci#define EXYNOS5420_PIN_DRV_LV2		1
5262306a36Sopenharmony_ci#define EXYNOS5420_PIN_DRV_LV3		2
5362306a36Sopenharmony_ci#define EXYNOS5420_PIN_DRV_LV4		3
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci/* Drive strengths for Exynos5433 */
5662306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_FAST_SR1	0
5762306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_FAST_SR2	1
5862306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_FAST_SR3	2
5962306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_FAST_SR4	3
6062306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_FAST_SR5	4
6162306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_FAST_SR6	5
6262306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_SLOW_SR1	8
6362306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_SLOW_SR2	9
6462306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_SLOW_SR3	0xa
6562306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_SLOW_SR4	0xb
6662306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_SLOW_SR5	0xc
6762306a36Sopenharmony_ci#define EXYNOS5433_PIN_DRV_SLOW_SR6	0xf
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci/* Drive strengths for Exynos850 GPIO_HSI block */
7062306a36Sopenharmony_ci#define EXYNOS850_HSI_PIN_DRV_LV1	0	/* 1x   */
7162306a36Sopenharmony_ci#define EXYNOS850_HSI_PIN_DRV_LV1_5	1	/* 1.5x */
7262306a36Sopenharmony_ci#define EXYNOS850_HSI_PIN_DRV_LV2	2	/* 2x   */
7362306a36Sopenharmony_ci#define EXYNOS850_HSI_PIN_DRV_LV2_5	3	/* 2.5x */
7462306a36Sopenharmony_ci#define EXYNOS850_HSI_PIN_DRV_LV3	4	/* 3x   */
7562306a36Sopenharmony_ci#define EXYNOS850_HSI_PIN_DRV_LV4	5	/* 4x   */
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_INPUT		0
7862306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_OUTPUT		1
7962306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_2		2
8062306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_3		3
8162306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_4		4
8262306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_5		5
8362306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_6		6
8462306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_EINT		0xf
8562306a36Sopenharmony_ci#define EXYNOS_PIN_FUNC_F		EXYNOS_PIN_FUNC_EINT
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci/* Drive strengths for Exynos7 FSYS1 block */
8862306a36Sopenharmony_ci#define EXYNOS7_FSYS1_PIN_DRV_LV1	0
8962306a36Sopenharmony_ci#define EXYNOS7_FSYS1_PIN_DRV_LV2	4
9062306a36Sopenharmony_ci#define EXYNOS7_FSYS1_PIN_DRV_LV3	2
9162306a36Sopenharmony_ci#define EXYNOS7_FSYS1_PIN_DRV_LV4	6
9262306a36Sopenharmony_ci#define EXYNOS7_FSYS1_PIN_DRV_LV5	1
9362306a36Sopenharmony_ci#define EXYNOS7_FSYS1_PIN_DRV_LV6	5
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci#endif /* __DT_BINDINGS_PINCTRL_SAMSUNG_H__ */
96