Skip to content

Commit 5ab0c8e

Browse files
xdarklightlinusw
authored andcommitted
pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2,3}
GPIOH_5 and GPIOH_6 can have two Ethernet related functions: - GPIOH_5 can be ETH_TXD1 or ETH_RXD3 - GPIOH_6 can be ETH_TXD0 or ETH_RXD2 Add the bits for eth_rxd3_h and eth_rxd2_h so the ETH_RXD function can be disabled when using the ETH_TXD function of GPIOH_{5,6}. No problem was observed so far, but in theory this could lead to two different signals being routed to the same pad (which could break Ethernet). These settings were found in the public "Amlogic Ethernet controller user guide": http://openlinux.amlogic.com/@api/deki/files/75/=Amlogic_Ethenet_controller_user_Guide.pdf Signed-off-by: Martin Blumenstingl <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
1 parent 4611e73 commit 5ab0c8e

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/pinctrl/meson/pinctrl-meson8b.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ static const unsigned int hdmi_scl_pins[] = { GPIOH_2 };
233233
static const unsigned int hdmi_cec_0_pins[] = { GPIOH_3 };
234234
static const unsigned int eth_txd1_0_pins[] = { GPIOH_5 };
235235
static const unsigned int eth_txd0_0_pins[] = { GPIOH_6 };
236+
static const unsigned int eth_rxd3_h_pins[] = { GPIOH_5 };
237+
static const unsigned int eth_rxd2_h_pins[] = { GPIOH_6 };
236238
static const unsigned int clk_24m_out_pins[] = { GPIOH_9 };
237239

238240
static const unsigned int spi_ss1_pins[] = { GPIOH_0 };
@@ -535,6 +537,8 @@ static struct meson_pmx_group meson8b_cbus_groups[] = {
535537
GROUP(spi_miso_1, 9, 12),
536538
GROUP(spi_mosi_1, 9, 11),
537539
GROUP(spi_sclk_1, 9, 10),
540+
GROUP(eth_rxd3_h, 6, 15),
541+
GROUP(eth_rxd2_h, 6, 14),
538542
GROUP(eth_txd3, 6, 13),
539543
GROUP(eth_txd2, 6, 12),
540544
GROUP(eth_tx_clk, 6, 11),
@@ -746,7 +750,8 @@ static const char * const ethernet_groups[] = {
746750
"eth_tx_clk", "eth_tx_en", "eth_txd1_0", "eth_txd1_1",
747751
"eth_txd0_0", "eth_txd0_1", "eth_rx_clk", "eth_rx_dv",
748752
"eth_rxd1", "eth_rxd0", "eth_mdio_en", "eth_mdc", "eth_ref_clk",
749-
"eth_txd2", "eth_txd3", "eth_rxd3", "eth_rxd2"
753+
"eth_txd2", "eth_txd3", "eth_rxd3", "eth_rxd2",
754+
"eth_rxd3_h", "eth_rxd2_h"
750755
};
751756

752757
static const char * const i2c_a_groups[] = {

0 commit comments

Comments
 (0)