linux/arch/arm64/boot/dts/qcom/msm8916-pins.dtsi
Srinivas Kandagatla c240f29e75 arm64: dts: set the default i2c pin drive strength to 16mA
2mA drive strength is not enough when we connect multiple i2c devices
on the bus with different pull up resistors.

This issue was detected when multiple i2c devices connected on the other side
of level shifters on Linaro sensor board. Maxing up to 16mA made i2c much stable.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2015-12-16 23:01:43 -06:00

508 lines
8.5 KiB
Plaintext

/*
* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
&msmgpio {
blsp1_uart1_default: blsp1_uart1_default {
pinmux {
function = "blsp_uart1";
// TX, RX, CTS_N, RTS_N
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
};
pinconf {
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
drive-strength = <16>;
bias-disable;
};
};
blsp1_uart1_sleep: blsp1_uart1_sleep {
pinmux {
function = "gpio";
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
};
pinconf {
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
drive-strength = <2>;
bias-pull-down;
};
};
blsp1_uart2_default: blsp1_uart2_default {
pinmux {
function = "blsp_uart2";
pins = "gpio4", "gpio5";
};
pinconf {
pins = "gpio4", "gpio5";
drive-strength = <16>;
bias-disable;
};
};
blsp1_uart2_sleep: blsp1_uart2_sleep {
pinmux {
function = "gpio";
pins = "gpio4", "gpio5";
};
pinconf {
pins = "gpio4", "gpio5";
drive-strength = <2>;
bias-pull-down;
};
};
spi1_default: spi1_default {
pinmux {
function = "blsp_spi1";
pins = "gpio0", "gpio1", "gpio3";
};
pinmux_cs {
function = "gpio";
pins = "gpio2";
};
pinconf {
pins = "gpio0", "gpio1", "gpio3";
drive-strength = <12>;
bias-disable;
};
pinconf_cs {
pins = "gpio2";
drive-strength = <2>;
bias-disable;
output-high;
};
};
spi1_sleep: spi1_sleep {
pinmux {
function = "gpio";
pins = "gpio0", "gpio1", "gpio2", "gpio3";
};
pinconf {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
drive-strength = <2>;
bias-pull-down;
};
};
spi2_default: spi2_default {
pinmux {
function = "blsp_spi2";
pins = "gpio4", "gpio5", "gpio7";
};
pinmux_cs {
function = "gpio";
pins = "gpio6";
};
pinconf {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
drive-strength = <12>;
bias-disable;
};
pinconf_cs {
pins = "gpio6";
drive-strength = <2>;
bias-disable;
output-high;
};
};
spi2_sleep: spi2_sleep {
pinmux {
function = "gpio";
pins = "gpio4", "gpio5", "gpio6", "gpio7";
};
pinconf {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
drive-strength = <2>;
bias-pull-down;
};
};
spi3_default: spi3_default {
pinmux {
function = "blsp_spi3";
pins = "gpio8", "gpio9", "gpio11";
};
pinmux_cs {
function = "gpio";
pins = "gpio10";
};
pinconf {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
drive-strength = <12>;
bias-disable;
};
pinconf_cs {
pins = "gpio10";
drive-strength = <2>;
bias-disable;
output-high;
};
};
spi3_sleep: spi3_sleep {
pinmux {
function = "gpio";
pins = "gpio8", "gpio9", "gpio10", "gpio11";
};
pinconf {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
drive-strength = <2>;
bias-pull-down;
};
};
spi4_default: spi4_default {
pinmux {
function = "blsp_spi4";
pins = "gpio12", "gpio13", "gpio15";
};
pinmux_cs {
function = "gpio";
pins = "gpio14";
};
pinconf {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
drive-strength = <12>;
bias-disable;
};
pinconf_cs {
pins = "gpio14";
drive-strength = <2>;
bias-disable;
output-high;
};
};
spi4_sleep: spi4_sleep {
pinmux {
function = "gpio";
pins = "gpio12", "gpio13", "gpio14", "gpio15";
};
pinconf {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
drive-strength = <2>;
bias-pull-down;
};
};
spi5_default: spi5_default {
pinmux {
function = "blsp_spi5";
pins = "gpio16", "gpio17", "gpio19";
};
pinmux_cs {
function = "gpio";
pins = "gpio18";
};
pinconf {
pins = "gpio16", "gpio17", "gpio18", "gpio19";
drive-strength = <12>;
bias-disable;
};
pinconf_cs {
pins = "gpio18";
drive-strength = <2>;
bias-disable;
output-high;
};
};
spi5_sleep: spi5_sleep {
pinmux {
function = "gpio";
pins = "gpio16", "gpio17", "gpio18", "gpio19";
};
pinconf {
pins = "gpio16", "gpio17", "gpio18", "gpio19";
drive-strength = <2>;
bias-pull-down;
};
};
spi6_default: spi6_default {
pinmux {
function = "blsp_spi6";
pins = "gpio20", "gpio21", "gpio23";
};
pinmux_cs {
function = "gpio";
pins = "gpio22";
};
pinconf {
pins = "gpio20", "gpio21", "gpio22", "gpio23";
drive-strength = <12>;
bias-disable;
};
pinconf_cs {
pins = "gpio22";
drive-strength = <2>;
bias-disable;
output-high;
};
};
spi6_sleep: spi6_sleep {
pinmux {
function = "gpio";
pins = "gpio20", "gpio21", "gpio22", "gpio23";
};
pinconf {
pins = "gpio20", "gpio21", "gpio22", "gpio23";
drive-strength = <2>;
bias-pull-down;
};
};
i2c2_default: i2c2_default {
pinmux {
function = "blsp_i2c2";
pins = "gpio6", "gpio7";
};
pinconf {
pins = "gpio6", "gpio7";
drive-strength = <16>;
bias-disable = <0>;
};
};
i2c2_sleep: i2c2_sleep {
pinmux {
function = "gpio";
pins = "gpio6", "gpio7";
};
pinconf {
pins = "gpio6", "gpio7";
drive-strength = <2>;
bias-disable = <0>;
};
};
i2c4_default: i2c4_default {
pinmux {
function = "blsp_i2c4";
pins = "gpio14", "gpio15";
};
pinconf {
pins = "gpio14", "gpio15";
drive-strength = <16>;
bias-disable = <0>;
};
};
i2c4_sleep: i2c4_sleep {
pinmux {
function = "gpio";
pins = "gpio14", "gpio15";
};
pinconf {
pins = "gpio14", "gpio15";
drive-strength = <2>;
bias-disable = <0>;
};
};
i2c6_default: i2c6_default {
pinmux {
function = "blsp_i2c6";
pins = "gpio22", "gpio23";
};
pinconf {
pins = "gpio22", "gpio23";
drive-strength = <16>;
bias-disable = <0>;
};
};
i2c6_sleep: i2c6_sleep {
pinmux {
function = "gpio";
pins = "gpio22", "gpio23";
};
pinconf {
pins = "gpio22", "gpio23";
drive-strength = <2>;
bias-disable = <0>;
};
};
sdhc2_cd_pin {
sdc2_cd_on: cd_on {
pinmux {
function = "gpio";
pins = "gpio38";
};
pinconf {
pins = "gpio38";
drive-strength = <2>;
bias-pull-up;
};
};
sdc2_cd_off: cd_off {
pinmux {
function = "gpio";
pins = "gpio38";
};
pinconf {
pins = "gpio38";
drive-strength = <2>;
bias-disable;
};
};
};
pmx_sdc1_clk {
sdc1_clk_on: clk_on {
pinmux {
pins = "sdc1_clk";
};
pinconf {
pins = "sdc1_clk";
bias-disable;
drive-strength = <16>;
};
};
sdc1_clk_off: clk_off {
pinmux {
pins = "sdc1_clk";
};
pinconf {
pins = "sdc1_clk";
bias-disable;
drive-strength = <2>;
};
};
};
pmx_sdc1_cmd {
sdc1_cmd_on: cmd_on {
pinmux {
pins = "sdc1_cmd";
};
pinconf {
pins = "sdc1_cmd";
bias-pull-up;
drive-strength = <10>;
};
};
sdc1_cmd_off: cmd_off {
pinmux {
pins = "sdc1_cmd";
};
pinconf {
pins = "sdc1_cmd";
bias-pull-up;
drive-strength = <2>;
};
};
};
pmx_sdc1_data {
sdc1_data_on: data_on {
pinmux {
pins = "sdc1_data";
};
pinconf {
pins = "sdc1_data";
bias-pull-up;
drive-strength = <10>;
};
};
sdc1_data_off: data_off {
pinmux {
pins = "sdc1_data";
};
pinconf {
pins = "sdc1_data";
bias-pull-up;
drive-strength = <2>;
};
};
};
pmx_sdc2_clk {
sdc2_clk_on: clk_on {
pinmux {
pins = "sdc2_clk";
};
pinconf {
pins = "sdc2_clk";
bias-disable;
drive-strength = <16>;
};
};
sdc2_clk_off: clk_off {
pinmux {
pins = "sdc2_clk";
};
pinconf {
pins = "sdc2_clk";
bias-disable;
drive-strength = <2>;
};
};
};
pmx_sdc2_cmd {
sdc2_cmd_on: cmd_on {
pinmux {
pins = "sdc2_cmd";
};
pinconf {
pins = "sdc2_cmd";
bias-pull-up;
drive-strength = <10>;
};
};
sdc2_cmd_off: cmd_off {
pinmux {
pins = "sdc2_cmd";
};
pinconf {
pins = "sdc2_cmd";
bias-pull-up;
drive-strength = <2>;
};
};
};
pmx_sdc2_data {
sdc2_data_on: data_on {
pinmux {
pins = "sdc2_data";
};
pinconf {
pins = "sdc2_data";
bias-pull-up;
drive-strength = <10>;
};
};
sdc2_data_off: data_off {
pinmux {
pins = "sdc2_data";
};
pinconf {
pins = "sdc2_data";
bias-pull-up;
drive-strength = <2>;
};
};
};
};