2023-09-12 15:25:53

by Yang Chen

[permalink] [raw]
Subject: [PATCH 0/2] Add CMC of Facebook Minerva platform

From: Yang Chen <[email protected]>

Add linux device tree entry related to Minerva Chassis Management Controller
(CMC) specific devices connected to the Aspeed SoC (AST2600).

Yang Chen (2):
dt-bindings: arm: aspeed: document board compatibles
ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board

.../bindings/arm/aspeed/aspeed.yaml | 1 +
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../aspeed-bmc-facebook-minerva-cmc.dts | 265 ++++++++++++++++++
3 files changed, 267 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts

--
2.34.1


2023-09-12 15:50:13

by Yang Chen

[permalink] [raw]
Subject: [PATCH 2/2] ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board

From: Yang Chen <[email protected]>

Add linux device tree entry related to the Minerva Chassis Management
Controller (CMC) specific devices connected to the Aspeed SoC (AST2600).

Signed-off-by: Yang Chen <[email protected]>
---
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../aspeed-bmc-facebook-minerva-cmc.dts | 265 ++++++++++++++++++
2 files changed, 266 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts

diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index 23cbc7203a8e..d3ac20e316d0 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-facebook-fuji.dtb \
aspeed-bmc-facebook-galaxy100.dtb \
aspeed-bmc-facebook-greatlakes.dtb \
+ aspeed-bmc-facebook-minerva-cmc.dtb \
aspeed-bmc-facebook-minipack.dtb \
aspeed-bmc-facebook-tiogapass.dtb \
aspeed-bmc-facebook-wedge40.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts
new file mode 100644
index 000000000000..0b986864e661
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts
@@ -0,0 +1,265 @@
+// SPDX-License-Identifier: GPL-2.0+
+// Copyright (c) 2023 Facebook Inc.
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/i2c/i2c.h>
+
+/ {
+ model = "Facebook Minerva CMC";
+ compatible = "facebook,minerva-cmc", "aspeed,ast2600";
+
+ aliases {
+ serial5 = &uart5;
+ };
+
+ chosen {
+ stdout-path = "serial5:57600n8";
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x80000000>;
+ };
+
+ iio-hwmon {
+ compatible = "iio-hwmon";
+ io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
+ <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
+ <&adc1 2>;
+ };
+};
+
+&uart6 {
+ status = "okay";
+};
+
+&wdt1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_wdtrst1_default>;
+ aspeed,reset-type = "soc";
+ aspeed,external-signal;
+ aspeed,ext-push-pull;
+ aspeed,ext-active-high;
+ aspeed,ext-pulse-duration = <256>;
+};
+
+&mac3 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rmii4_default>;
+ use-ncsi;
+ mlx,multi-host;
+};
+
+&fmc {
+ status = "okay";
+ flash@0 {
+ status = "okay";
+ m25p,fast-read;
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+#include "openbmc-flash-layout-128.dtsi"
+ };
+ flash@1 {
+ status = "okay";
+ m25p,fast-read;
+ label = "alt-bmc";
+ spi-max-frequency = <50000000>;
+ };
+};
+
+&rtc {
+ status = "okay";
+};
+
+&sgpiom1 {
+ status = "okay";
+ ngpios = <128>;
+ bus-frequency = <2000000>;
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+
+ temperature-sensor@4B {
+ compatible = "ti,tmp75";
+ reg = <0x4B>;
+ };
+
+ eeprom@51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+};
+
+&i2c2 {
+ status = "okay";
+
+ i2c-mux@77 {
+ compatible = "nxp,pca9548";
+ reg = <0x77>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+ };
+
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+ };
+
+ i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+ };
+
+ i2c@3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+ };
+
+ i2c@4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <4>;
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+ };
+
+ i2c@5 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <5>;
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+ };
+ };
+};
+
+&i2c3 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+};
+
+&i2c5 {
+ status = "okay";
+};
+
+&i2c6 {
+ status = "okay";
+};
+
+&i2c7 {
+ status = "okay";
+};
+
+&i2c8 {
+ status = "okay";
+};
+
+&i2c9 {
+ status = "okay";
+};
+
+&i2c10 {
+ status = "okay";
+};
+
+&i2c11 {
+ status = "okay";
+};
+
+&i2c12 {
+ status = "okay";
+};
+
+&i2c13 {
+ status = "okay";
+};
+
+&i2c14 {
+ status = "okay";
+ multi-master;
+
+ ipmb@10 {
+ compatible = "ipmb-dev";
+ reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
+ i2c-protocol;
+ };
+};
+
+&i2c15 {
+ status = "okay";
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+};
+
+&adc0 {
+ ref_voltage = <2500>;
+ status = "okay";
+ pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
+ &pinctrl_adc2_default &pinctrl_adc3_default
+ &pinctrl_adc4_default &pinctrl_adc5_default
+ &pinctrl_adc6_default &pinctrl_adc7_default>;
+};
+
+&adc1 {
+ ref_voltage = <2500>;
+ status = "okay";
+ pinctrl-0 = <&pinctrl_adc10_default>;
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&uhci {
+ status = "okay";
+};
--
2.34.1

2023-09-12 16:42:16

by Yang Chen

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: arm: aspeed: document board compatibles

From: Yang Chen <[email protected]>

Document the new compatibles used on the Facebook Minerva Chassis
Management Controller (CMC).

Signed-off-by: Yang Chen <[email protected]>
---
Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
index 68f717670f78..749ee54a3ff8 100644
--- a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
+++ b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
@@ -79,6 +79,7 @@ properties:
- facebook,elbert-bmc
- facebook,fuji-bmc
- facebook,greatlakes-bmc
+ - facebook,minerva-cmc
- facebook,yosemite4-bmc
- ibm,everest-bmc
- ibm,rainier-bmc
--
2.34.1

2023-09-13 08:24:36

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board

On 12/09/2023 16:05, [email protected] wrote:
> From: Yang Chen <[email protected]>
>
> Add linux device tree entry related to the Minerva Chassis Management
> Controller (CMC) specific devices connected to the Aspeed SoC (AST2600).
>
> Signed-off-by: Yang Chen <[email protected]>

Also looks like a duplicate.

Best regards,
Krzysztof

2023-09-13 10:04:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: arm: aspeed: document board compatibles

On 12/09/2023 16:05, [email protected] wrote:
> From: Yang Chen <[email protected]>
>
> Document the new compatibles used on the Facebook Minerva Chassis
> Management Controller (CMC).
>
> Signed-off-by: Yang Chen <[email protected]>


Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof

2023-09-13 10:05:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board

On 12/09/2023 16:05, [email protected] wrote:
> From: Yang Chen <[email protected]>
>
> Add linux device tree entry related to the Minerva Chassis Management
> Controller (CMC) specific devices connected to the Aspeed SoC (AST2600).
>
> Signed-off-by: Yang Chen <[email protected]>
> ---
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../aspeed-bmc-facebook-minerva-cmc.dts | 265 ++++++++++++++++++
> 2 files changed, 266 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts
>
> diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/


> +
> +&i2c15 {
> + status = "okay";
> +
> + eeprom@50 {
> + compatible = "atmel,24c128";
> + reg = <0x50>;
> + };
> +};
> +
> +&adc0 {
> + ref_voltage = <2500>;

There is no such property in the bindings.

> + status = "okay";
> + pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
> + &pinctrl_adc2_default &pinctrl_adc3_default
> + &pinctrl_adc4_default &pinctrl_adc5_default
> + &pinctrl_adc6_default &pinctrl_adc7_default>;
> +};
> +
> +&adc1 {
> + ref_voltage = <2500>;

NAK, there is no such property.



Best regards,
Krzysztof

2023-09-13 10:48:33

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: arm: aspeed: document board compatibles

On 12/09/2023 16:05, [email protected] wrote:
> From: Yang Chen <[email protected]>
>
> Document the new compatibles used on the Facebook Minerva Chassis
> Management Controller (CMC).

How is this related to
https://lore.kernel.org/all/[email protected]/
? Looks like duplicate :/

Best regards,
Krzysztof

2023-09-13 17:54:27

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: arm: aspeed: document board compatibles

On 13/09/2023 11:52, Yang Chen wrote:
> Hi Krzysztof,
>
> Thanks for your reply, Minerva is a project of Facebook server that
> includes two types of boards. One is the motherboard that includes a BMC
> and another is the Chassis Management Board that includes a CMC and both
> use the Aspeed SoC (AST2600). These patches are for the CMC and the link
> you provided is for the BMC and they need to use different DTS.

Are they similar? Maybe you should share board DTSI?

Best regards,
Krzysztof

2023-09-13 19:01:23

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board

On 13/09/2023 15:57, Yang Chen wrote:
> Hi Krzysztof,
>
>> +
>> +&i2c15 {
>> + status = "okay";
>> +
>> + eeprom@50 {
>> + compatible = "atmel,24c128";
>> + reg = <0x50>;
>> + };
>> +};
>> +
>> +&adc0 {
>> + ref_voltage = <2500>;
>
> There is no such property in the bindings.

Fix your email setup. This is my response, not yours.

>
>> + status = "okay";
>> + pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
>> + &pinctrl_adc2_default &pinctrl_adc3_default
>> + &pinctrl_adc4_default &pinctrl_adc5_default
>> + &pinctrl_adc6_default &pinctrl_adc7_default>;
>> +};
>> +
>> +&adc1 {
>> + ref_voltage = <2500>;
>
> NAK, there is no such property.
>

So who says what?

> Thanks for your advice, I will change this property to
> "aspeed,int-vref-microvolt" which is defined in the binding in the v2 patch.

No, why? Drop it. There is no user.

Also, do not top post.



Best regards,
Krzysztof

2023-09-13 20:05:10

by Yang Chen

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: arm: aspeed: document board compatibles

> On 13/09/2023 11:52, Yang Chen wrote:
> > Hi Krzysztof,
> >
> > Thanks for your reply, Minerva is a project of Facebook server that
> > includes two types of boards. One is the motherboard that includes a BMC
> > and another is the Chassis Management Board that includes a CMC and both
> > use the Aspeed SoC (AST2600). These patches are for the CMC and the link
> > you provided is for the BMC and they need to use different DTS.
>
> Are they similar? Maybe you should share board DTSI?
>
> Best regards,
> Krzysztof
>

No, they are not similar. They just use the same SoC but they are on
different system boards with different electronic schematic.

Thanks,
Yang Chen

2023-09-13 23:12:34

by Yang Chen

[permalink] [raw]
Subject: Re: [PATCH 2/2] ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board

Krzysztof Kozlowski <[email protected]> 於 2023年9月13日 週三 下午6:04寫道:
>
> On 12/09/2023 16:05, [email protected] wrote:
> > From: Yang Chen <[email protected]>
> >
> > Add linux device tree entry related to the Minerva Chassis Management
> > Controller (CMC) specific devices connected to the Aspeed SoC (AST2600).
> >
> > Signed-off-by: Yang Chen <[email protected]>
> > ---
> > arch/arm/boot/dts/aspeed/Makefile | 1 +
> > .../aspeed-bmc-facebook-minerva-cmc.dts | 265 ++++++++++++++++++
> > 2 files changed, 266 insertions(+)
> > create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts
> >
> > diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/
>
>
> > +
> > +&i2c15 {
> > + status = "okay";
> > +
> > + eeprom@50 {
> > + compatible = "atmel,24c128";
> > + reg = <0x50>;
> > + };
> > +};
> > +
> > +&adc0 {
> > + ref_voltage = <2500>;
>
> There is no such property in the bindings.
Thanks for your advice, I will change this property to
"aspeed,int-vref-microvolt" which is defined in the binding in the v2
patch.

>
> > + status = "okay";
> > + pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
> > + &pinctrl_adc2_default &pinctrl_adc3_default
> > + &pinctrl_adc4_default &pinctrl_adc5_default
> > + &pinctrl_adc6_default &pinctrl_adc7_default>;
> > +};
> > +
> > +&adc1 {
> > + ref_voltage = <2500>;
>
> NAK, there is no such property.
Thanks for your advice, I will change this property to
"aspeed,int-vref-microvolt" which is defined in the binding in the v2
patch.

>
>
>
> Best regards,
> Krzysztof
>

2023-09-14 11:21:09

by Yang Chen

[permalink] [raw]
Subject: Re: [PATCH 2/2] ARM: dts: aspeed: Minerva: Add Facebook Minerva CMC board

On Wed, Sep 13, 2023 at 6:04 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 12/09/2023 16:05, [email protected] wrote:
> > From: Yang Chen <[email protected]>
> >
> > Add linux device tree entry related to the Minerva Chassis Management
> > Controller (CMC) specific devices connected to the Aspeed SoC (AST2600).
> >
> > Signed-off-by: Yang Chen <[email protected]>
> > ---
> > arch/arm/boot/dts/aspeed/Makefile | 1 +
> > .../aspeed-bmc-facebook-minerva-cmc.dts | 265 ++++++++++++++++++
> > 2 files changed, 266 insertions(+)
> > create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva-cmc.dts
> >
> > diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/
>
>
> > +
> > +&i2c15 {
> > + status = "okay";
> > +
> > + eeprom@50 {
> > + compatible = "atmel,24c128";
> > + reg = <0x50>;
> > + };
> > +};
> > +
> > +&adc0 {
> > + ref_voltage = <2500>;
>
> There is no such property in the bindings.

Hi Krzysztof,

I will change this property to the "aspeed,int-vref-microvolt" which
is defined in the binding that can choose the ADC internal reference
voltage is 1200000 or 2500000 µV, and will add these changes to the v2
patches.

>
> > + status = "okay";
> > + pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
> > + &pinctrl_adc2_default &pinctrl_adc3_default
> > + &pinctrl_adc4_default &pinctrl_adc5_default
> > + &pinctrl_adc6_default &pinctrl_adc7_default>;
> > +};
> > +
> > +&adc1 {
> > + ref_voltage = <2500>;
>
> NAK, there is no such property.

I will change this property to the "aspeed,int-vref-microvolt" which
is defined in the binding that can choose the ADC internal reference
voltage is 1200000 or 2500000 µV, and will add these changes to the v2
patches.

Thanks,
Yang Chen