Commit 7e26335b authored by Jerome Brunet's avatar Jerome Brunet Committed by Kevin Hilman

ARM: dts: meson: consistently disable pin bias

On Amlogic chipsets, the bias set through pinconf applies to the pad
itself, not only the GPIO function. This means that even when we change
the function of the pad from GPIO to anything else, the bias previously
set still applies.

As we have seen with the eMMC, depending on the bias type and the function,
it may trigger problems.

The underlying issue is that we inherit whatever was left by previous user
of the pad (pinconf, u-boot or the ROM code). As a consequence, the actual
setup we will get is undefined.

There is nothing mentioned in the documentation about pad bias and pinmux
function, however leaving it undefined is not an option.

This change consistently disable the pad bias for every pinmux functions.
It seems to work well, we can only assume that the necessary bias (if any)
is already provided by the pin function itself.
Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Acked-by: Martin Blumenstingl<martin.blumenstingl@googlemail.com>
Signed-off-by: default avatarKevin Hilman <khilman@baylibre.com>
parent 340cda67
......@@ -163,6 +163,7 @@ uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
bias-disable;
};
};
......@@ -170,6 +171,7 @@ i2c_ao_pins: i2c_mst_ao {
mux {
groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
function = "i2c_mst_ao";
bias-disable;
};
};
......@@ -177,6 +179,7 @@ ir_recv_pins: remote {
mux {
groups = "remote_input";
function = "remote";
bias-disable;
};
};
......@@ -184,6 +187,7 @@ pwm_f_ao_pins: pwm-f-ao {
mux {
groups = "pwm_f_ao";
function = "pwm_f_ao";
bias-disable;
};
};
};
......@@ -238,6 +242,7 @@ mux {
groups = "sd_d0_a", "sd_d1_a", "sd_d2_a",
"sd_d3_a", "sd_clk_a", "sd_cmd_a";
function = "sd_a";
bias-disable;
};
};
......@@ -246,6 +251,7 @@ mux {
groups = "sd_d0_b", "sd_d1_b", "sd_d2_b",
"sd_d3_b", "sd_clk_b", "sd_cmd_b";
function = "sd_b";
bias-disable;
};
};
......@@ -254,6 +260,7 @@ mux {
groups = "sd_d0_c", "sd_d1_c", "sd_d2_c",
"sd_d3_c", "sd_clk_c", "sd_cmd_c";
function = "sd_c";
bias-disable;
};
};
......@@ -261,6 +268,7 @@ spi_nor_pins: nor {
mux {
groups = "nor_d", "nor_q", "nor_c", "nor_cs";
function = "nor";
bias-disable;
};
};
......@@ -272,6 +280,7 @@ mux {
"eth_rxd1", "eth_rxd0", "eth_mdio",
"eth_mdc";
function = "ethernet";
bias-disable;
};
};
......@@ -279,6 +288,7 @@ pwm_e_pins: pwm-e {
mux {
groups = "pwm_e";
function = "pwm_e";
bias-disable;
};
};
......@@ -287,6 +297,7 @@ mux {
groups = "uart_tx_a1",
"uart_rx_a1";
function = "uart_a";
bias-disable;
};
};
......@@ -295,6 +306,7 @@ mux {
groups = "uart_cts_a1",
"uart_rts_a1";
function = "uart_a";
bias-disable;
};
};
};
......
......@@ -146,6 +146,7 @@ uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
bias-disable;
};
};
......@@ -153,6 +154,7 @@ ir_recv_pins: remote {
mux {
groups = "remote_input";
function = "remote";
bias-disable;
};
};
};
......@@ -220,6 +222,7 @@ mux {
"eth_txd2",
"eth_txd3";
function = "ethernet";
bias-disable;
};
};
......@@ -235,6 +238,7 @@ mux {
"eth_mdio_en",
"eth_mdc";
function = "ethernet";
bias-disable;
};
};
......@@ -242,6 +246,7 @@ i2c_a_pins: i2c-a {
mux {
groups = "i2c_sda_a", "i2c_sck_a";
function = "i2c_a";
bias-disable;
};
};
......@@ -250,6 +255,7 @@ mux {
groups = "sd_d0_b", "sd_d1_b", "sd_d2_b",
"sd_d3_b", "sd_clk_b", "sd_cmd_b";
function = "sd_b";
bias-disable;
};
};
......@@ -257,6 +263,7 @@ pwm_c1_pins: pwm-c1 {
mux {
groups = "pwm_c1";
function = "pwm_c";
bias-disable;
};
};
......@@ -265,6 +272,7 @@ mux {
groups = "uart_tx_b0",
"uart_rx_b0";
function = "uart_b";
bias-disable;
};
};
......@@ -273,6 +281,7 @@ mux {
groups = "uart_cts_b0",
"uart_rts_b0";
function = "uart_b";
bias-disable;
};
};
};
......
......@@ -45,6 +45,7 @@ mux {
"eth_rxd1", "eth_rxd0",
"eth_mdio", "eth_mdc";
function = "ethernet";
bias-disable;
};
};
};
......
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