Commit 36a0d47a authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Bjorn Andersson

arm64: dts: qcom: sdm630: Fix TLMM node and pinctrl configuration

Previous pinctrl configuration was wrong. Fix it and clean up how
multi-pin states are described.
Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210728222542.54269-9-konrad.dybcio@somainline.org
[bjorn: Polished the commit message]
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent c65a4ed2
...@@ -626,14 +626,18 @@ tcsr_mutex_regs: syscon@1f40000 { ...@@ -626,14 +626,18 @@ tcsr_mutex_regs: syscon@1f40000 {
reg = <0x01f40000 0x20000>; reg = <0x01f40000 0x20000>;
}; };
tlmm: pinctrl@3000000 { tlmm: pinctrl@3100000 {
compatible = "qcom,sdm630-pinctrl"; compatible = "qcom,sdm630-pinctrl";
reg = <0x03000000 0xc00000>; reg = <0x03100000 0x400000>,
<0x03500000 0x400000>,
<0x03900000 0x400000>;
reg-names = "south", "center", "north";
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller; gpio-controller;
#gpio-cells = <0x2>; gpio-ranges = <&tlmm 0 0 114>;
#gpio-cells = <2>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <0x2>; #interrupt-cells = <2>;
blsp1_uart1_default: blsp1-uart1-default { blsp1_uart1_default: blsp1-uart1-default {
pins = "gpio0", "gpio1", "gpio2", "gpio3"; pins = "gpio0", "gpio1", "gpio2", "gpio3";
...@@ -653,40 +657,48 @@ blsp1_uart2_default: blsp1-uart2-default { ...@@ -653,40 +657,48 @@ blsp1_uart2_default: blsp1-uart2-default {
bias-disable; bias-disable;
}; };
blsp2_uart1_tx_active: blsp2-uart1-tx-active { blsp2_uart1_default: blsp2-uart1-active {
pins = "gpio16"; tx-rts {
drive-strength = <2>; pins = "gpio16", "gpio19";
bias-disable; function = "blsp_uart5";
}; drive-strength = <2>;
bias-disable;
blsp2_uart1_tx_sleep: blsp2-uart1-tx-sleep { };
pins = "gpio16";
drive-strength = <2>;
bias-pull-up;
};
blsp2_uart1_rxcts_active: blsp2-uart1-rxcts-active { rx {
pins = "gpio17", "gpio18"; /*
drive-strength = <2>; * Avoid garbage data while BT module
bias-disable; * is powered off or not driving signal
}; */
pins = "gpio17";
function = "blsp_uart5";
drive-strength = <2>;
bias-pull-up;
};
blsp2_uart1_rxcts_sleep: blsp2-uart1-rxcts-sleep { cts {
pins = "gpio17", "gpio18"; /* Match the pull of the BT module */
drive-strength = <2>; pins = "gpio18";
bias-no-pull; function = "blsp_uart5";
drive-strength = <2>;
bias-pull-down;
};
}; };
blsp2_uart1_rfr_active: blsp2-uart1-rfr-active { blsp2_uart1_sleep: blsp2-uart1-sleep {
pins = "gpio19"; tx {
drive-strength = <2>; pins = "gpio16";
bias-disable; function = "gpio";
}; drive-strength = <2>;
bias-pull-up;
};
blsp2_uart1_rfr_sleep: blsp2-uart1-rfr-sleep { rx-cts-rts {
pins = "gpio19"; pins = "gpio17", "gpio18", "gpio19";
drive-strength = <2>; function = "gpio";
bias-no-pull; drive-strength = <2>;
bias-no-pull;
};
}; };
i2c1_default: i2c1-default { i2c1_default: i2c1-default {
...@@ -785,50 +797,106 @@ i2c8_sleep: i2c8-sleep { ...@@ -785,50 +797,106 @@ i2c8_sleep: i2c8-sleep {
bias-pull-up; bias-pull-up;
}; };
sdc1_clk_on: sdc1-clk-on { sdc1_state_on: sdc1-on {
pins = "sdc1_clk"; clk {
bias-disable; pins = "sdc1_clk";
drive-strength = <16>; bias-disable;
}; drive-strength = <16>;
};
sdc1_clk_off: sdc1-clk-off { cmd {
pins = "sdc1_clk"; pins = "sdc1_cmd";
bias-disable; bias-pull-up;
drive-strength = <2>; drive-strength = <10>;
}; };
sdc1_cmd_on: sdc1-cmd-on { data {
pins = "sdc1_cmd"; pins = "sdc1_data";
bias-pull-up; bias-pull-up;
drive-strength = <10>; drive-strength = <10>;
}; };
sdc1_cmd_off: sdc1-cmd-off { rclk {
pins = "sdc1_cmd"; pins = "sdc1_rclk";
bias-pull-up; bias-pull-down;
drive-strength = <2>; };
}; };
sdc1_data_on: sdc1-data-on { sdc1_state_off: sdc1-off {
pins = "sdc1_data"; clk {
bias-pull-up; pins = "sdc1_clk";
drive-strength = <8>; bias-disable;
}; drive-strength = <2>;
};
sdc1_data_off: sdc1-data-off { cmd {
pins = "sdc1_data"; pins = "sdc1_cmd";
bias-pull-up; bias-pull-up;
drive-strength = <2>; drive-strength = <2>;
};
data {
pins = "sdc1_data";
bias-pull-up;
drive-strength = <2>;
};
rclk {
pins = "sdc1_rclk";
bias-pull-down;
};
}; };
sdc1_rclk_on: sdc1-rclk-on { sdc2_state_on: sdc2-on {
pins = "sdc1_rclk"; clk {
bias-pull-down; pins = "sdc2_clk";
bias-disable;
drive-strength = <16>;
};
cmd {
pins = "sdc2_cmd";
bias-pull-up;
drive-strength = <10>;
};
data {
pins = "sdc2_data";
bias-pull-up;
drive-strength = <10>;
};
sd-cd {
pins = "gpio54";
bias-pull-up;
drive-strength = <2>;
};
}; };
sdc1_rclk_off: sdc1-rclk-off { sdc2_state_off: sdc2-off {
pins = "sdc1_rclk"; clk {
bias-pull-down; pins = "sdc2_clk";
bias-disable;
drive-strength = <2>;
};
cmd {
pins = "sdc2_cmd";
bias-pull-up;
drive-strength = <2>;
};
data {
pins = "sdc2_data";
bias-pull-up;
drive-strength = <2>;
};
sd-cd {
pins = "gpio54";
bias-disable;
drive-strength = <2>;
};
}; };
}; };
...@@ -986,8 +1054,8 @@ sdhc_1: sdhci@c0c4000 { ...@@ -986,8 +1054,8 @@ sdhc_1: sdhci@c0c4000 {
clock-names = "core", "iface", "xo", "ice"; clock-names = "core", "iface", "xo", "ice";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>; pinctrl-0 = <&sdc1_state_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>; pinctrl-1 = <&sdc1_state_off>;
bus-width = <8>; bus-width = <8>;
non-removable; non-removable;
...@@ -1354,10 +1422,8 @@ blsp2_uart1: serial@c1af000 { ...@@ -1354,10 +1422,8 @@ blsp2_uart1: serial@c1af000 {
dmas = <&blsp2_dma 0>, <&blsp2_dma 1>; dmas = <&blsp2_dma 0>, <&blsp2_dma 1>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&blsp2_uart1_tx_active &blsp2_uart1_rxcts_active pinctrl-0 = <&blsp2_uart1_default>;
&blsp2_uart1_rfr_active>; pinctrl-1 = <&blsp2_uart1_sleep>;
pinctrl-1 = <&blsp2_uart1_tx_sleep &blsp2_uart1_rxcts_sleep
&blsp2_uart1_rfr_sleep>;
status = "disabled"; status = "disabled";
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment