openbmc.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
@ 2024-05-13 14:49 Peter Yin
  2024-05-13 23:52 ` Andrew Jeffery
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Yin @ 2024-05-13 14:49 UTC (permalink / raw)
  To: openbmc, andrew, patrick; +Cc: peteryin.openbmc

Initial introduction of Facebook common
equipped with Aspeed 2600 BMC SoC.

Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com>
---
 arch/arm/dts/Makefile       |  1 +
 arch/arm/dts/ast2600-fb.dts | 66 +++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100644 arch/arm/dts/ast2600-fb.dts

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 6f4b4d8a17..3740a4452d 100755
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -686,6 +686,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
 	ast2600-dcscm.dtb \
 	ast2600-evb-ecc.dtb \
 	ast2600-evb.dtb \
+	ast2600-fb.dtb \
 	ast2600-fpga.dtb \
 	ast2600-greatlakes.dtb \
 	ast2600-intel.dtb \
diff --git a/arch/arm/dts/ast2600-fb.dts b/arch/arm/dts/ast2600-fb.dts
new file mode 100644
index 0000000000..69ff575419
--- /dev/null
+++ b/arch/arm/dts/ast2600-fb.dts
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0+
+// Copyright (c) 2023 Meta Platforms Inc.
+/dts-v1/;
+
+#include "ast2600-u-boot.dtsi"
+
+/ {
+	model = "Facebook Common BMC";
+	compatible = "facebook,common-bmc", "aspeed,ast2600";
+
+	memory {
+		device_type = "memory";
+		reg = <0x80000000 0x40000000>;
+	};
+
+	chosen {
+		stdout-path = &uart5;
+	};
+
+	aliases {
+		spi0 = &fmc;
+	};
+
+	cpus {
+		cpu@0 {
+			clock-frequency = <800000000>;
+		};
+		cpu@1 {
+			clock-frequency = <800000000>;
+		};
+	};
+};
+
+&uart5 {
+	u-boot,dm-pre-reloc;
+	status = "okay";
+};
+
+&sdrammc {
+	clock-frequency = <400000000>;
+};
+
+&fmc {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_fmcquad_default>;
+
+	flash@0 {
+		status = "okay";
+		spi-max-frequency = <50000000>;
+		spi-tx-bus-width = <2>;
+		spi-rx-bus-width = <2>;
+	};
+
+	flash@1 {
+		status = "okay";
+		spi-max-frequency = <50000000>;
+		spi-tx-bus-width = <2>;
+		spi-rx-bus-width = <2>;
+	};
+};
+
+&hace {
+	status = "okay";
+};
-- 
2.25.1


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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-13 14:49 [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts Peter Yin
@ 2024-05-13 23:52 ` Andrew Jeffery
  2024-05-15  9:41   ` Peter Yin
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Jeffery @ 2024-05-13 23:52 UTC (permalink / raw)
  To: Peter Yin, openbmc, patrick, Joel Stanley

On Mon, 2024-05-13 at 22:49 +0800, Peter Yin wrote:
> Initial introduction of Facebook common
> equipped with Aspeed 2600 BMC SoC.
> 
> Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com>
> ---
>  arch/arm/dts/Makefile       |  1 +
>  arch/arm/dts/ast2600-fb.dts | 66 +++++++++++++++++++++++++++++++++++++
>  2 files changed, 67 insertions(+)
>  create mode 100644 arch/arm/dts/ast2600-fb.dts
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 6f4b4d8a17..3740a4452d 100755
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -686,6 +686,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
>  	ast2600-dcscm.dtb \
>  	ast2600-evb-ecc.dtb \
>  	ast2600-evb.dtb \
> +	ast2600-fb.dtb \
>  	ast2600-fpga.dtb \
>  	ast2600-greatlakes.dtb \
>  	ast2600-intel.dtb \
> diff --git a/arch/arm/dts/ast2600-fb.dts b/arch/arm/dts/ast2600-fb.dts
> new file mode 100644
> index 0000000000..69ff575419
> --- /dev/null
> +++ b/arch/arm/dts/ast2600-fb.dts
> @@ -0,0 +1,66 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +// Copyright (c) 2023 Meta Platforms Inc.
> +/dts-v1/;
> +
> +#include "ast2600-u-boot.dtsi"
> +
> +/ {
> +	model = "Facebook Common BMC";
> +	compatible = "facebook,common-bmc", "aspeed,ast2600";

I'm not convinced about "facebook,common-bmc" as a compatible. Is there
actually a reason to specify anything here other than "aspeed,ast2600"?

Alternatively, perhaps list all the relevant platforms, like the p10bmc
dts?

```
$ git grep aspeed,ast2600 arch/arm/dts/ast2600-p10bmc.dts
arch/arm/dts/ast2600-p10bmc.dts:        compatible = "ibm,everest-bmc", "ibm,rainier-bmc", "ibm,p10bmc", "aspeed,ast2600";
```

Andrew

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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-13 23:52 ` Andrew Jeffery
@ 2024-05-15  9:41   ` Peter Yin
  2024-05-16  1:00     ` Andrew Jeffery
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Yin @ 2024-05-15  9:41 UTC (permalink / raw)
  To: Andrew Jeffery; +Cc: openbmc, Joel Stanley

Hi Andrew,
     Thank you for your reply, Do you mean something like this?
compatible = "facebook,harma-bmc", "facebook,minerva-bmc", "aspeed,ast2600";

Thanks,
Peter.

On Tue, May 14, 2024 at 7:52 AM Andrew Jeffery
<andrew@codeconstruct.com.au> wrote:
>
> On Mon, 2024-05-13 at 22:49 +0800, Peter Yin wrote:
> > Initial introduction of Facebook common
> > equipped with Aspeed 2600 BMC SoC.
> >
> > Signed-off-by: Peter Yin <peteryin.openbmc@gmail.com>
> > ---
> >  arch/arm/dts/Makefile       |  1 +
> >  arch/arm/dts/ast2600-fb.dts | 66 +++++++++++++++++++++++++++++++++++++
> >  2 files changed, 67 insertions(+)
> >  create mode 100644 arch/arm/dts/ast2600-fb.dts
> >
> > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > index 6f4b4d8a17..3740a4452d 100755
> > --- a/arch/arm/dts/Makefile
> > +++ b/arch/arm/dts/Makefile
> > @@ -686,6 +686,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> >       ast2600-dcscm.dtb \
> >       ast2600-evb-ecc.dtb \
> >       ast2600-evb.dtb \
> > +     ast2600-fb.dtb \
> >       ast2600-fpga.dtb \
> >       ast2600-greatlakes.dtb \
> >       ast2600-intel.dtb \
> > diff --git a/arch/arm/dts/ast2600-fb.dts b/arch/arm/dts/ast2600-fb.dts
> > new file mode 100644
> > index 0000000000..69ff575419
> > --- /dev/null
> > +++ b/arch/arm/dts/ast2600-fb.dts
> > @@ -0,0 +1,66 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +// Copyright (c) 2023 Meta Platforms Inc.
> > +/dts-v1/;
> > +
> > +#include "ast2600-u-boot.dtsi"
> > +
> > +/ {
> > +     model = "Facebook Common BMC";
> > +     compatible = "facebook,common-bmc", "aspeed,ast2600";
>
> I'm not convinced about "facebook,common-bmc" as a compatible. Is there
> actually a reason to specify anything here other than "aspeed,ast2600"?
>
> Alternatively, perhaps list all the relevant platforms, like the p10bmc
> dts?
>
> ```
> $ git grep aspeed,ast2600 arch/arm/dts/ast2600-p10bmc.dts
> arch/arm/dts/ast2600-p10bmc.dts:        compatible = "ibm,everest-bmc", "ibm,rainier-bmc", "ibm,p10bmc", "aspeed,ast2600";
> ```
>
> Andrew

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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-15  9:41   ` Peter Yin
@ 2024-05-16  1:00     ` Andrew Jeffery
  2024-05-16  2:37       ` Patrick Williams
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Jeffery @ 2024-05-16  1:00 UTC (permalink / raw)
  To: Peter Yin; +Cc: openbmc, Joel Stanley

On Wed, 2024-05-15 at 17:41 +0800, Peter Yin wrote:
> Hi Andrew,
>      Thank you for your reply, Do you mean something like this?
> compatible = "facebook,harma-bmc", "facebook,minerva-bmc", "aspeed,ast2600";
> 

Right. It removes the nebulous "common" concept that might be upset by
future changes.

Andrew

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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-16  1:00     ` Andrew Jeffery
@ 2024-05-16  2:37       ` Patrick Williams
  2024-05-16 23:36         ` Andrew Jeffery
  0 siblings, 1 reply; 9+ messages in thread
From: Patrick Williams @ 2024-05-16  2:37 UTC (permalink / raw)
  To: Andrew Jeffery; +Cc: openbmc, Joel Stanley, Peter Yin

[-- Attachment #1: Type: text/plain, Size: 828 bytes --]

On Thu, May 16, 2024 at 10:30:30AM +0930, Andrew Jeffery wrote:
> On Wed, 2024-05-15 at 17:41 +0800, Peter Yin wrote:
> > Hi Andrew,
> >      Thank you for your reply, Do you mean something like this?
> > compatible = "facebook,harma-bmc", "facebook,minerva-bmc", "aspeed,ast2600";
> > 
> 
> Right. It removes the nebulous "common" concept that might be upset by
> future changes.

I agree that just "common" is probably not appropriate because this
device tree only covers ast2600-based platforms.

We are trying to design our BMC hardware such that at a u-boot level,
the same device tree can be used for most of our platforms.  This is
partially so we can avoid having to add new changes for u-boot for every
new platform.

Should we do something like "facebook,ast2600-standard"?

-- 
Patrick Williams

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-16  2:37       ` Patrick Williams
@ 2024-05-16 23:36         ` Andrew Jeffery
  2024-05-17  1:19           ` Patrick Williams
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Jeffery @ 2024-05-16 23:36 UTC (permalink / raw)
  To: Patrick Williams; +Cc: openbmc, Joel Stanley, Peter Yin

On Wed, 2024-05-15 at 21:37 -0500, Patrick Williams wrote:
> On Thu, May 16, 2024 at 10:30:30AM +0930, Andrew Jeffery wrote:
> > On Wed, 2024-05-15 at 17:41 +0800, Peter Yin wrote:
> > > Hi Andrew,
> > >      Thank you for your reply, Do you mean something like this?
> > > compatible = "facebook,harma-bmc", "facebook,minerva-bmc", "aspeed,ast2600";
> > > 
> > 
> > Right. It removes the nebulous "common" concept that might be upset by
> > future changes.
> 
> I agree that just "common" is probably not appropriate because this
> device tree only covers ast2600-based platforms.
> 
> We are trying to design our BMC hardware such that at a u-boot level,
> the same device tree can be used for most of our platforms.
> 

Seems sensible, but does this common design point have a name?
Otherwise it feels like a "coincidently similar" relationship, which
seems a bit ill-defined. Better to enumerate the specific platforms in
that case.

>   This is
> partially so we can avoid having to add new changes for u-boot for every
> new platform.

Not having to write new drivers or define drastically different
devicetrees feels like a useful goal. I don't feel tacking on a new
compatible here is particularly onerous (not that it even matters in
practice if you select only this specific devicetree in the u-boot
build).

Just wondering if we can avoid nebulous concepts, and rather keep
things concrete.

> 
> Should we do something like "facebook,ast2600-standard"?
> 

I guess I'm trying to guard-rail the discussion from the position of
the compatible strings should be documented in the DT schemas. Is this
something that would pass review upstream?

Andrew

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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-16 23:36         ` Andrew Jeffery
@ 2024-05-17  1:19           ` Patrick Williams
  2024-05-17  1:30             ` Andrew Jeffery
  0 siblings, 1 reply; 9+ messages in thread
From: Patrick Williams @ 2024-05-17  1:19 UTC (permalink / raw)
  To: Andrew Jeffery; +Cc: openbmc, Joel Stanley, Peter Yin

[-- Attachment #1: Type: text/plain, Size: 3428 bytes --]

On Fri, May 17, 2024 at 09:06:54AM +0930, Andrew Jeffery wrote:
> On Wed, 2024-05-15 at 21:37 -0500, Patrick Williams wrote:

> > > Right. It removes the nebulous "common" concept that might be upset by
> > > future changes.
> > 
> > I agree that just "common" is probably not appropriate because this
> > device tree only covers ast2600-based platforms.
> > 
> > We are trying to design our BMC hardware such that at a u-boot level,
> > the same device tree can be used for most of our platforms.
> > 
> 
> Seems sensible, but does this common design point have a name?
> Otherwise it feels like a "coincidently similar" relationship, which
> seems a bit ill-defined. Better to enumerate the specific platforms in
> that case.

I can make up a name if necessary I guess.

> >   This is
> > partially so we can avoid having to add new changes for u-boot for every
> > new platform.
> 
> Not having to write new drivers or define drastically different
> devicetrees feels like a useful goal. I don't feel tacking on a new
> compatible here is particularly onerous (not that it even matters in
> practice if you select only this specific devicetree in the u-boot
> build).
> 
> Just wondering if we can avoid nebulous concepts, and rather keep
> things concrete.

I realize the motivation was lost in what I wrote.

We are trying to balance a few constraints, mostly induced by the
project itself.

    1. The project has a refusal for any u-boot patches in
       openbmc/openbmc, but we want to have first class support for our
       machines.

    2. The project maintenance of u-boot is in poor shape and no where
       near the level of response or up-to-dateness of the kernel.

The motivation for not wanting to send a new device tree is mainly
workaround the poor pick-up rate for any u-boot patch request.

Prior to patches dated in March the last time any device tree change was
accepted into the openbmc u-boot tree was dated May 2023.  There was
even a devicetree sent to the mailing list by Joel himself that isn't in
the tree right now.  Our experience has been bad enough that we've taken to
just reusing the `ast2600-bletchley` or `ast2600-evb` on multiple platforms,
depending on what we can get working.  It seems to me [slightly] better to
reuse a tree with a generic / common name than to confusingly use
`bletchley` on multiple platforms, hence the proposal here.

In meta-facebook:

```
$ rg UBOOT_DEVICETREE | sed "s/.*://" | sort | uniq -c             
      2 UBOOT_DEVICETREE = "ast2500-evb"
      3 UBOOT_DEVICETREE = "ast2600-bletchley"
      2 UBOOT_DEVICETREE = "ast2600-evb"
```

I don't currently have a lot of faith that if we sent a trivial "add the
new compatible" that it would be accepted in a timely manner.

> > 
> > Should we do something like "facebook,ast2600-standard"?
> > 
> 
> I guess I'm trying to guard-rail the discussion from the position of
> the compatible strings should be documented in the DT schemas. Is this
> something that would pass review upstream?

I don't know?  We're so far removed from upstream at this point that I
see that as aspirational.  (Everyone using AST2600 is using u-boot
2019.04, which was 5 years ago.)

Having said all this, I would love to do things as "right" as possible
while still being able to make progress.  What is the right step?

-- 
Patrick Williams

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-17  1:19           ` Patrick Williams
@ 2024-05-17  1:30             ` Andrew Jeffery
  2024-05-17  1:59               ` Patrick Williams
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Jeffery @ 2024-05-17  1:30 UTC (permalink / raw)
  To: Patrick Williams; +Cc: openbmc, Joel Stanley, Peter Yin

On Thu, 2024-05-16 at 20:19 -0500, Patrick Williams wrote:
> 
> I don't currently have a lot of faith that if we sent a trivial "add the
> new compatible" that it would be accepted in a timely manner.

Well, I'm responding to the patch because I intend to help you get it
merged. I'm trying to keep on top of the patches people send these
days. Can we give it a chance?

> 
> > > 
> > > Should we do something like "facebook,ast2600-standard"?
> > > 
> > 
> > I guess I'm trying to guard-rail the discussion from the position of
> > the compatible strings should be documented in the DT schemas. Is this
> > something that would pass review upstream?
> 
> I don't know?  We're so far removed from upstream at this point that I
> see that as aspirational.  (Everyone using AST2600 is using u-boot
> 2019.04, which was 5 years ago.)

Sure, the tree is not in good shape. However, that doesn't mean we
should go adding fuel to the fire?

> 
> Having said all this, I would love to do things as "right" as possible
> while still being able to make progress.  What is the right step?
> 

That's what I'm trying to figure out in this discussion :) Currently my
thought is "better to keep things concrete and describe actual
platforms", rather than "make up a name for something that vaguely
exists only in principle". I asked about upstream because that allows
you to escape my thoughts and drive the patch through on someone else's
acceptance of your proposal :)

Andrew

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

* Re: [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts
  2024-05-17  1:30             ` Andrew Jeffery
@ 2024-05-17  1:59               ` Patrick Williams
  0 siblings, 0 replies; 9+ messages in thread
From: Patrick Williams @ 2024-05-17  1:59 UTC (permalink / raw)
  To: Andrew Jeffery; +Cc: openbmc, Joel Stanley, Peter Yin

[-- Attachment #1: Type: text/plain, Size: 608 bytes --]

On Fri, May 17, 2024 at 11:00:08AM +0930, Andrew Jeffery wrote:
> On Thu, 2024-05-16 at 20:19 -0500, Patrick Williams wrote:
> > 
> > I don't currently have a lot of faith that if we sent a trivial "add the
> > new compatible" that it would be accepted in a timely manner.
> 
> Well, I'm responding to the patch because I intend to help you get it
> merged. I'm trying to keep on top of the patches people send these
> days. Can we give it a chance?

Sure, we can give it [another] chance.

Peter, please send independent patches for minerva and harma DTSs for
u-boot.

-- 
Patrick Williams

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

end of thread, other threads:[~2024-05-17  2:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-13 14:49 [PATCH u-boot, v2019.04-aspeed-openbmc v1 1/1] ARM: dts: Aspeed: Add Facebook common dts Peter Yin
2024-05-13 23:52 ` Andrew Jeffery
2024-05-15  9:41   ` Peter Yin
2024-05-16  1:00     ` Andrew Jeffery
2024-05-16  2:37       ` Patrick Williams
2024-05-16 23:36         ` Andrew Jeffery
2024-05-17  1:19           ` Patrick Williams
2024-05-17  1:30             ` Andrew Jeffery
2024-05-17  1:59               ` Patrick Williams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).