Linux-Amlogic Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2, 3}
@ 2019-12-26 19:14 Martin Blumenstingl
  2020-01-06 13:16 ` Neil Armstrong
  2020-01-07 12:01 ` [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2,3} Linus Walleij
  0 siblings, 2 replies; 3+ messages in thread
From: Martin Blumenstingl @ 2019-12-26 19:14 UTC (permalink / raw)
  To: linus.walleij, linux-gpio, linux-amlogic
  Cc: Martin Blumenstingl, linux-kernel, linux-arm-kernel

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 <martin.blumenstingl@googlemail.com>
---
 drivers/pinctrl/meson/pinctrl-meson8b.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/meson/pinctrl-meson8b.c b/drivers/pinctrl/meson/pinctrl-meson8b.c
index 2d5339edd0b7..6cd4b3ec1b40 100644
--- a/drivers/pinctrl/meson/pinctrl-meson8b.c
+++ b/drivers/pinctrl/meson/pinctrl-meson8b.c
@@ -233,6 +233,8 @@ static const unsigned int hdmi_scl_pins[]	= { GPIOH_2 };
 static const unsigned int hdmi_cec_0_pins[]	= { GPIOH_3 };
 static const unsigned int eth_txd1_0_pins[]	= { GPIOH_5 };
 static const unsigned int eth_txd0_0_pins[]	= { GPIOH_6 };
+static const unsigned int eth_rxd3_h_pins[]	= { GPIOH_5 };
+static const unsigned int eth_rxd2_h_pins[]	= { GPIOH_6 };
 static const unsigned int clk_24m_out_pins[]	= { GPIOH_9 };
 
 static const unsigned int spi_ss1_pins[]	= { GPIOH_0 };
@@ -535,6 +537,8 @@ static struct meson_pmx_group meson8b_cbus_groups[] = {
 	GROUP(spi_miso_1,	9,	12),
 	GROUP(spi_mosi_1,	9,	11),
 	GROUP(spi_sclk_1,	9,	10),
+	GROUP(eth_rxd3_h,	6,	15),
+	GROUP(eth_rxd2_h,	6,	14),
 	GROUP(eth_txd3,		6,	13),
 	GROUP(eth_txd2,		6,	12),
 	GROUP(eth_tx_clk,	6,	11),
@@ -746,7 +750,8 @@ static const char * const ethernet_groups[] = {
 	"eth_tx_clk", "eth_tx_en", "eth_txd1_0", "eth_txd1_1",
 	"eth_txd0_0", "eth_txd0_1", "eth_rx_clk", "eth_rx_dv",
 	"eth_rxd1", "eth_rxd0", "eth_mdio_en", "eth_mdc", "eth_ref_clk",
-	"eth_txd2", "eth_txd3", "eth_rxd3", "eth_rxd2"
+	"eth_txd2", "eth_txd3", "eth_rxd3", "eth_rxd2",
+	"eth_rxd3_h", "eth_rxd2_h"
 };
 
 static const char * const i2c_a_groups[] = {
-- 
2.24.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2, 3}
  2019-12-26 19:14 [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2, 3} Martin Blumenstingl
@ 2020-01-06 13:16 ` Neil Armstrong
  2020-01-07 12:01 ` [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2,3} Linus Walleij
  1 sibling, 0 replies; 3+ messages in thread
From: Neil Armstrong @ 2020-01-06 13:16 UTC (permalink / raw)
  To: Martin Blumenstingl, linus.walleij, linux-gpio, linux-amlogic
  Cc: linux-kernel, linux-arm-kernel

On 26/12/2019 20:14, Martin Blumenstingl wrote:
> 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 <martin.blumenstingl@googlemail.com>
> ---
>  drivers/pinctrl/meson/pinctrl-meson8b.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/meson/pinctrl-meson8b.c b/drivers/pinctrl/meson/pinctrl-meson8b.c
> index 2d5339edd0b7..6cd4b3ec1b40 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson8b.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson8b.c
> @@ -233,6 +233,8 @@ static const unsigned int hdmi_scl_pins[]	= { GPIOH_2 };
>  static const unsigned int hdmi_cec_0_pins[]	= { GPIOH_3 };
>  static const unsigned int eth_txd1_0_pins[]	= { GPIOH_5 };
>  static const unsigned int eth_txd0_0_pins[]	= { GPIOH_6 };
> +static const unsigned int eth_rxd3_h_pins[]	= { GPIOH_5 };
> +static const unsigned int eth_rxd2_h_pins[]	= { GPIOH_6 };
>  static const unsigned int clk_24m_out_pins[]	= { GPIOH_9 };
>  
>  static const unsigned int spi_ss1_pins[]	= { GPIOH_0 };
> @@ -535,6 +537,8 @@ static struct meson_pmx_group meson8b_cbus_groups[] = {
>  	GROUP(spi_miso_1,	9,	12),
>  	GROUP(spi_mosi_1,	9,	11),
>  	GROUP(spi_sclk_1,	9,	10),
> +	GROUP(eth_rxd3_h,	6,	15),
> +	GROUP(eth_rxd2_h,	6,	14),
>  	GROUP(eth_txd3,		6,	13),
>  	GROUP(eth_txd2,		6,	12),
>  	GROUP(eth_tx_clk,	6,	11),
> @@ -746,7 +750,8 @@ static const char * const ethernet_groups[] = {
>  	"eth_tx_clk", "eth_tx_en", "eth_txd1_0", "eth_txd1_1",
>  	"eth_txd0_0", "eth_txd0_1", "eth_rx_clk", "eth_rx_dv",
>  	"eth_rxd1", "eth_rxd0", "eth_mdio_en", "eth_mdc", "eth_ref_clk",
> -	"eth_txd2", "eth_txd3", "eth_rxd3", "eth_rxd2"
> +	"eth_txd2", "eth_txd3", "eth_rxd3", "eth_rxd2",
> +	"eth_rxd3_h", "eth_rxd2_h"
>  };
>  
>  static const char * const i2c_a_groups[] = {
> 

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2,3}
  2019-12-26 19:14 [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2, 3} Martin Blumenstingl
  2020-01-06 13:16 ` Neil Armstrong
@ 2020-01-07 12:01 ` Linus Walleij
  1 sibling, 0 replies; 3+ messages in thread
From: Linus Walleij @ 2020-01-07 12:01 UTC (permalink / raw)
  To: Martin Blumenstingl
  Cc: open list:GPIO SUBSYSTEM, linux-kernel, Linux ARM,
	open list:ARM/Amlogic Meson...

On Thu, Dec 26, 2019 at 8:14 PM Martin Blumenstingl
<martin.blumenstingl@googlemail.com> wrote:

> 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 <martin.blumenstingl@googlemail.com>

Patch applied with Neil's review tag.

Yours,
Linus Walleij

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-26 19:14 [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2, 3} Martin Blumenstingl
2020-01-06 13:16 ` Neil Armstrong
2020-01-07 12:01 ` [PATCH] pinctrl: meson: meson8b: add the GPIOH pinmux settings for ETH_RXD{2,3} Linus Walleij

Linux-Amlogic Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-amlogic/0 linux-amlogic/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-amlogic linux-amlogic/ https://lore.kernel.org/linux-amlogic \
		linux-amlogic@lists.infradead.org
	public-inbox-index linux-amlogic

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-amlogic


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git