blob: 53d10bc641e852c43e77397883fcce79f7ecdb1c [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
&soc {
tlmm: pinctrl@f000000 {
compatible = "qcom,lito-pinctrl";
reg = <0x0f000000 0x1000000>;
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
ufs_dev_reset_assert: ufs_dev_reset_assert {
config {
pins = "ufs_reset";
bias-pull-down; /* default: pull down */
/*
* UFS_RESET driver strengths are having
* different values/steps compared to typical
* GPIO drive strengths.
*
* Following table clarifies:
*
* HDRV value | UFS_RESET | Typical GPIO
* (dec) | (mA) | (mA)
* 0 | 0.8 | 2
* 1 | 1.55 | 4
* 2 | 2.35 | 6
* 3 | 3.1 | 8
* 4 | 3.9 | 10
* 5 | 4.65 | 12
* 6 | 5.4 | 14
* 7 | 6.15 | 16
*
* POR value for UFS_RESET HDRV is 3 which means
* 3.1mA and we want to use that. Hence just
* specify 8mA to "drive-strength" binding and
* that should result into writing 3 to HDRV
* field.
*/
drive-strength = <8>; /* default: 3.1 mA */
output-low; /* active low reset */
};
};
ufs_dev_reset_deassert: ufs_dev_reset_deassert {
config {
pins = "ufs_reset";
bias-pull-down; /* default: pull down */
/*
* default: 3.1 mA
* check comments under ufs_dev_reset_assert
*/
drive-strength = <8>;
output-high; /* active low reset */
};
};
};
};