All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux
@ 2017-03-03 20:59 Xo Wang
  2017-03-07 21:13 ` Rick Altherr
  0 siblings, 1 reply; 7+ messages in thread
From: Xo Wang @ 2017-03-03 20:59 UTC (permalink / raw)
  To: openbmc

The Zaius motherboard has muxes for the RMII lines from the BMC to:
  - BCM5719 LAN on motherboard (LOM)
  - OCP mezzanine connector
  - HDMI form factor connector

Assert the active-low enable line for the muxes. Due to the AST2500
default internal pull-down resistors, the muxes selection lines will
be low. This implicitly selects the LOM for NC-SI.

The NC-SI interface will show up as network interface eth0.

Signed-off-by: Xo Wang <xow@google.com>
---
 arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
index dc0546869886..3bd70ed810af 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
@@ -325,6 +325,13 @@
 		line-name = "iso_u164_en";
 	};
 
+	ncsi_mux_en_n {
+		gpio-hog;
+		gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
+		output-low;
+		line-name = "ncsi_mux_en_n";
+	};
+
 	line_bmc_i2c2_sw_rst_n {
 		gpio-hog;
 		gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
-- 
2.12.0.rc1.440.g5b76565f74-goog

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

* Re: [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux
  2017-03-03 20:59 [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux Xo Wang
@ 2017-03-07 21:13 ` Rick Altherr
  2017-03-07 21:19   ` Xo Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Rick Altherr @ 2017-03-07 21:13 UTC (permalink / raw)
  To: Xo Wang; +Cc: OpenBMC Maillist

Why is Linux doing this instead of U-Boot?

On Fri, Mar 3, 2017 at 12:59 PM, Xo Wang <xow@google.com> wrote:
> The Zaius motherboard has muxes for the RMII lines from the BMC to:
>   - BCM5719 LAN on motherboard (LOM)
>   - OCP mezzanine connector
>   - HDMI form factor connector
>
> Assert the active-low enable line for the muxes. Due to the AST2500
> default internal pull-down resistors, the muxes selection lines will
> be low. This implicitly selects the LOM for NC-SI.
>
> The NC-SI interface will show up as network interface eth0.
>
> Signed-off-by: Xo Wang <xow@google.com>
> ---
>  arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
> index dc0546869886..3bd70ed810af 100644
> --- a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
> +++ b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
> @@ -325,6 +325,13 @@
>                 line-name = "iso_u164_en";
>         };
>
> +       ncsi_mux_en_n {
> +               gpio-hog;
> +               gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
> +               output-low;
> +               line-name = "ncsi_mux_en_n";
> +       };
> +
>         line_bmc_i2c2_sw_rst_n {
>                 gpio-hog;
>                 gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
> --
> 2.12.0.rc1.440.g5b76565f74-goog
>

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

* Re: [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux
  2017-03-07 21:13 ` Rick Altherr
@ 2017-03-07 21:19   ` Xo Wang
  2017-03-07 21:21     ` Rick Altherr
  0 siblings, 1 reply; 7+ messages in thread
From: Xo Wang @ 2017-03-07 21:19 UTC (permalink / raw)
  To: Rick Altherr; +Cc: OpenBMC Maillist

On Tue, Mar 7, 2017 at 1:13 PM, Rick Altherr <raltherr@google.com> wrote:
> Why is Linux doing this instead of U-Boot?
>

Does our U-Boot understand Aspeed GPIO in the device tree? If it does,
then it makes more sense for U-Boot to consume and set these pin
assignments.

xo

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

* Re: [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux
  2017-03-07 21:19   ` Xo Wang
@ 2017-03-07 21:21     ` Rick Altherr
  2017-03-07 21:31       ` Xo Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Rick Altherr @ 2017-03-07 21:21 UTC (permalink / raw)
  To: Xo Wang; +Cc: OpenBMC Maillist

I don't believe it currently does.  I'm concerned with whether U-Boot
or Linux is expected to configure the NC-SI muxes.

On Tue, Mar 7, 2017 at 1:19 PM, Xo Wang <xow@google.com> wrote:
> On Tue, Mar 7, 2017 at 1:13 PM, Rick Altherr <raltherr@google.com> wrote:
>> Why is Linux doing this instead of U-Boot?
>>
>
> Does our U-Boot understand Aspeed GPIO in the device tree? If it does,
> then it makes more sense for U-Boot to consume and set these pin
> assignments.
>
> xo

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

* Re: [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux
  2017-03-07 21:21     ` Rick Altherr
@ 2017-03-07 21:31       ` Xo Wang
  2017-03-07 21:32         ` Rick Altherr
  0 siblings, 1 reply; 7+ messages in thread
From: Xo Wang @ 2017-03-07 21:31 UTC (permalink / raw)
  To: Rick Altherr; +Cc: OpenBMC Maillist

On Tue, Mar 7, 2017 at 1:21 PM, Rick Altherr <raltherr@google.com> wrote:
> I don't believe it currently does.  I'm concerned with whether U-Boot
> or Linux is expected to configure the NC-SI muxes.
>
> On Tue, Mar 7, 2017 at 1:19 PM, Xo Wang <xow@google.com> wrote:
>> On Tue, Mar 7, 2017 at 1:13 PM, Rick Altherr <raltherr@google.com> wrote:
>>> Why is Linux doing this instead of U-Boot?
>>>
>>
>> Does our U-Boot understand Aspeed GPIO in the device tree? If it does,
>> then it makes more sense for U-Boot to consume and set these pin
>> assignments.
>>
>> xo

I would think U-Boot is expected to, since that provides the option of
netbooting from the NC-SI adapter in U-Boot.

In addition, the Linux ftgmac100 driver can't yet handle the NC-SI mux
changing dynamically (https://github.com/openbmc/openbmc/issues/979).
So for now the mux must be enabled and selected prior to that driver
probing. This is the only reason why this assignment exists as a Linux
gpio-hog: it is set prior to any other driver being probed.

xo

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

* Re: [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux
  2017-03-07 21:31       ` Xo Wang
@ 2017-03-07 21:32         ` Rick Altherr
  2017-03-07 22:02           ` Xo Wang
  0 siblings, 1 reply; 7+ messages in thread
From: Rick Altherr @ 2017-03-07 21:32 UTC (permalink / raw)
  To: Xo Wang, Maxim Sloyko; +Cc: OpenBMC Maillist

+maxim

Sounds like U-Boot needs to do some work here.  I'm unclear if the hog
is necessary once U-Boot does the right thing.

On Tue, Mar 7, 2017 at 1:31 PM, Xo Wang <xow@google.com> wrote:
> On Tue, Mar 7, 2017 at 1:21 PM, Rick Altherr <raltherr@google.com> wrote:
>> I don't believe it currently does.  I'm concerned with whether U-Boot
>> or Linux is expected to configure the NC-SI muxes.
>>
>> On Tue, Mar 7, 2017 at 1:19 PM, Xo Wang <xow@google.com> wrote:
>>> On Tue, Mar 7, 2017 at 1:13 PM, Rick Altherr <raltherr@google.com> wrote:
>>>> Why is Linux doing this instead of U-Boot?
>>>>
>>>
>>> Does our U-Boot understand Aspeed GPIO in the device tree? If it does,
>>> then it makes more sense for U-Boot to consume and set these pin
>>> assignments.
>>>
>>> xo
>
> I would think U-Boot is expected to, since that provides the option of
> netbooting from the NC-SI adapter in U-Boot.
>
> In addition, the Linux ftgmac100 driver can't yet handle the NC-SI mux
> changing dynamically (https://github.com/openbmc/openbmc/issues/979).
> So for now the mux must be enabled and selected prior to that driver
> probing. This is the only reason why this assignment exists as a Linux
> gpio-hog: it is set prior to any other driver being probed.
>
> xo

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

* Re: [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux
  2017-03-07 21:32         ` Rick Altherr
@ 2017-03-07 22:02           ` Xo Wang
  0 siblings, 0 replies; 7+ messages in thread
From: Xo Wang @ 2017-03-07 22:02 UTC (permalink / raw)
  To: Rick Altherr; +Cc: Maxim Sloyko, OpenBMC Maillist

On Tue, Mar 7, 2017 at 1:32 PM, Rick Altherr <raltherr@google.com> wrote:
> +maxim
>
> Sounds like U-Boot needs to do some work here.  I'm unclear if the hog
> is necessary once U-Boot does the right thing.
>
> On Tue, Mar 7, 2017 at 1:31 PM, Xo Wang <xow@google.com> wrote:
>> On Tue, Mar 7, 2017 at 1:21 PM, Rick Altherr <raltherr@google.com> wrote:
>>> I don't believe it currently does.  I'm concerned with whether U-Boot
>>> or Linux is expected to configure the NC-SI muxes.
>>>
>>> On Tue, Mar 7, 2017 at 1:19 PM, Xo Wang <xow@google.com> wrote:
>>>> On Tue, Mar 7, 2017 at 1:13 PM, Rick Altherr <raltherr@google.com> wrote:
>>>>> Why is Linux doing this instead of U-Boot?
>>>>>
>>>>
>>>> Does our U-Boot understand Aspeed GPIO in the device tree? If it does,
>>>> then it makes more sense for U-Boot to consume and set these pin
>>>> assignments.
>>>>
>>>> xo
>>
>> I would think U-Boot is expected to, since that provides the option of
>> netbooting from the NC-SI adapter in U-Boot.
>>
>> In addition, the Linux ftgmac100 driver can't yet handle the NC-SI mux
>> changing dynamically (https://github.com/openbmc/openbmc/issues/979).
>> So for now the mux must be enabled and selected prior to that driver
>> probing. This is the only reason why this assignment exists as a Linux
>> gpio-hog: it is set prior to any other driver being probed.
>>
>> xo

The hog would be no longer necessary once U-Boot sets it. In fact,
eliminating it is desirable because it opens up the possibility of
changing the mux selection at runtime (gpio-hogs are write-once as far
as I understand and preclude sysfs export for the GPIOs they occupy).

xo

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

end of thread, other threads:[~2017-03-07 22:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-03 20:59 [PATCH linux] ARM: dts: aspeed: zaius: Enable NC-SI mux Xo Wang
2017-03-07 21:13 ` Rick Altherr
2017-03-07 21:19   ` Xo Wang
2017-03-07 21:21     ` Rick Altherr
2017-03-07 21:31       ` Xo Wang
2017-03-07 21:32         ` Rick Altherr
2017-03-07 22:02           ` Xo Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.