1*b97ee269SEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */ 2*b97ee269SEmmanuel Vadot /* 3*b97ee269SEmmanuel Vadot * Samsung Exynos DTS pinctrl constants 4*b97ee269SEmmanuel Vadot * 5*b97ee269SEmmanuel Vadot * Copyright (c) 2016 Samsung Electronics Co., Ltd. 6*b97ee269SEmmanuel Vadot * http://www.samsung.com 7*b97ee269SEmmanuel Vadot * Copyright (c) 2022 Linaro Ltd 8*b97ee269SEmmanuel Vadot * Author: Krzysztof Kozlowski <krzk@kernel.org> 9*b97ee269SEmmanuel Vadot */ 10*b97ee269SEmmanuel Vadot 11*b97ee269SEmmanuel Vadot #ifndef __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__ 12*b97ee269SEmmanuel Vadot #define __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__ 13*b97ee269SEmmanuel Vadot 14*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_PULL_NONE 0 15*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_PULL_DOWN 1 16*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_PULL_UP 3 17*b97ee269SEmmanuel Vadot 18*b97ee269SEmmanuel Vadot /* Pin function in power down mode */ 19*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_PDN_OUT0 0 20*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_PDN_OUT1 1 21*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_PDN_INPUT 2 22*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_PDN_PREV 3 23*b97ee269SEmmanuel Vadot 24*b97ee269SEmmanuel Vadot /* 25*b97ee269SEmmanuel Vadot * Drive strengths for Exynos5410, Exynos542x, Exynos5800, Exynos7885, Exynos850 26*b97ee269SEmmanuel Vadot * (except GPIO_HSI block), ExynosAutov9 (FSI0, PERIC1) 27*b97ee269SEmmanuel Vadot */ 28*b97ee269SEmmanuel Vadot #define EXYNOS5420_PIN_DRV_LV1 0 29*b97ee269SEmmanuel Vadot #define EXYNOS5420_PIN_DRV_LV2 1 30*b97ee269SEmmanuel Vadot #define EXYNOS5420_PIN_DRV_LV3 2 31*b97ee269SEmmanuel Vadot #define EXYNOS5420_PIN_DRV_LV4 3 32*b97ee269SEmmanuel Vadot 33*b97ee269SEmmanuel Vadot /* Drive strengths for Exynos5433 */ 34*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_FAST_SR1 0 35*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_FAST_SR2 1 36*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_FAST_SR3 2 37*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_FAST_SR4 3 38*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_FAST_SR5 4 39*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_FAST_SR6 5 40*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_SLOW_SR1 8 41*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_SLOW_SR2 9 42*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_SLOW_SR3 0xa 43*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_SLOW_SR4 0xb 44*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_SLOW_SR5 0xc 45*b97ee269SEmmanuel Vadot #define EXYNOS5433_PIN_DRV_SLOW_SR6 0xf 46*b97ee269SEmmanuel Vadot 47*b97ee269SEmmanuel Vadot /* Drive strengths for Exynos7 (except FSYS1) */ 48*b97ee269SEmmanuel Vadot #define EXYNOS7_PIN_DRV_LV1 0 49*b97ee269SEmmanuel Vadot #define EXYNOS7_PIN_DRV_LV2 2 50*b97ee269SEmmanuel Vadot #define EXYNOS7_PIN_DRV_LV3 1 51*b97ee269SEmmanuel Vadot #define EXYNOS7_PIN_DRV_LV4 3 52*b97ee269SEmmanuel Vadot 53*b97ee269SEmmanuel Vadot /* Drive strengths for Exynos7 FSYS1 block */ 54*b97ee269SEmmanuel Vadot #define EXYNOS7_FSYS1_PIN_DRV_LV1 0 55*b97ee269SEmmanuel Vadot #define EXYNOS7_FSYS1_PIN_DRV_LV2 4 56*b97ee269SEmmanuel Vadot #define EXYNOS7_FSYS1_PIN_DRV_LV3 2 57*b97ee269SEmmanuel Vadot #define EXYNOS7_FSYS1_PIN_DRV_LV4 6 58*b97ee269SEmmanuel Vadot #define EXYNOS7_FSYS1_PIN_DRV_LV5 1 59*b97ee269SEmmanuel Vadot #define EXYNOS7_FSYS1_PIN_DRV_LV6 5 60*b97ee269SEmmanuel Vadot 61*b97ee269SEmmanuel Vadot /* Drive strengths for Exynos850 GPIO_HSI block */ 62*b97ee269SEmmanuel Vadot #define EXYNOS850_HSI_PIN_DRV_LV1 0 /* 1x */ 63*b97ee269SEmmanuel Vadot #define EXYNOS850_HSI_PIN_DRV_LV1_5 1 /* 1.5x */ 64*b97ee269SEmmanuel Vadot #define EXYNOS850_HSI_PIN_DRV_LV2 2 /* 2x */ 65*b97ee269SEmmanuel Vadot #define EXYNOS850_HSI_PIN_DRV_LV2_5 3 /* 2.5x */ 66*b97ee269SEmmanuel Vadot #define EXYNOS850_HSI_PIN_DRV_LV3 4 /* 3x */ 67*b97ee269SEmmanuel Vadot #define EXYNOS850_HSI_PIN_DRV_LV4 5 /* 4x */ 68*b97ee269SEmmanuel Vadot 69*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_INPUT 0 70*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_OUTPUT 1 71*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_2 2 72*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_3 3 73*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_4 4 74*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_5 5 75*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_6 6 76*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_EINT 0xf 77*b97ee269SEmmanuel Vadot #define EXYNOS_PIN_FUNC_F EXYNOS_PIN_FUNC_EINT 78*b97ee269SEmmanuel Vadot 79*b97ee269SEmmanuel Vadot #endif /* __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__ */ 80