2023-01-19 10:37:45

by Jordan Chang

[permalink] [raw]
Subject: [PATCH 0/3] Add Ufispace NCPLite platform device tree

Add Ufispace NCPLite platform device tree, and add the compatible
string in dt-bindings files.

Jordan Chang (3):
dt-bindings: vendor-prefixes: Add prefix for Ufi Space
dt-bindings: arm: aspeed: document Ufispace NCPLite BMC
ARM: dts: aspeed: Add device tree for Ufispace NCPLite BMC

.../bindings/arm/aspeed/aspeed.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm/boot/dts/Makefile | 1 +
.../boot/dts/aspeed-bmc-ufispace-ncplite.dts | 360 ++++++++++++++++++
4 files changed, 364 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts

--
2.39.0


--
******************************
This e-mail is confidential. If you are not
the intended recipient, you must not disclose, distribute or use the
information in it as this could be a breach of confidentiality.If you have
received this message in error, please advise us immediately by return
e-mail and delete the document. The address from which this message has
been sent is strictly for business mail only and the company reserves the
right to monitor the contents of communications and take action where and
when it is deemed necessary.
Thank you for your co-operation.


2023-01-19 10:50:30

by Jordan Chang

[permalink] [raw]
Subject: [PATCH 3/3] ARM: dts: aspeed: Add device tree for Ufispace NCPLite BMC

Add initial version of device tree for Ufispace NCPlite platform
which is equipped with AST2600-based BMC.

Signed-off-by: Jordan Chang <[email protected]>
---
arch/arm/boot/dts/Makefile | 1 +
.../boot/dts/aspeed-bmc-ufispace-ncplite.dts | 360 ++++++++++++++++++
2 files changed, 361 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 2ee9c043218b..d26e0651e805 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1626,6 +1626,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-inventec-transformers.dtb \
aspeed-bmc-tyan-s7106.dtb \
aspeed-bmc-tyan-s8036.dtb \
+ aspeed-bmc-ufispace-ncplite.dtb \
aspeed-bmc-vegman-n110.dtb \
aspeed-bmc-vegman-rx20.dtb \
aspeed-bmc-vegman-sx20.dtb
diff --git a/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts b/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
new file mode 100644
index 000000000000..7ab29129d1e4
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
@@ -0,0 +1,360 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+// Copyright (c) 2022 Ufispace Co., Ltd.
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/i2c/i2c.h>
+#include <dt-bindings/gpio/aspeed-gpio.h>
+
+/ {
+ model = "Ufispace NCPLite BMC";
+ compatible = "ufispace,ncplite-bmc", "aspeed,ast2600";
+
+ aliases {
+ serial4 = &uart5;
+ };
+
+ chosen {
+ stdout-path = &uart5;
+ bootargs = "console=ttyS4,115200n8 earlycon";
+ };
+
+ 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 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
+ <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ fan-status-int-l {
+ label = "fan-status-int-l";
+ gpios = <&gpio0 ASPEED_GPIO(M, 2) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(M, 2)>;
+ };
+
+ allpwr-good {
+ label = "allpwr-good";
+ gpios = <&gpio0 ASPEED_GPIO(V, 4) GPIO_ACTIVE_HIGH>;
+ linux,code = <ASPEED_GPIO(V, 4)>;
+ };
+
+ psu0-alert-n {
+ label = "psu0-alert-n";
+ gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(V, 1)>;
+ };
+
+ psu1-alert-n {
+ label = "psu1-alert-n";
+ gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(V, 2)>;
+ };
+
+ int-thermal-alert {
+ label = "int-thermal-alert";
+ gpios = <&gpio0 ASPEED_GPIO(P, 2) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(P, 2)>;
+ };
+
+ cpu-caterr-l {
+ label = "cpu-caterr-l";
+ gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(N, 3)>;
+ };
+
+ cpu-thermtrip-l {
+ label = "cpu-thermtrip-l";
+ gpios = <&gpio0 ASPEED_GPIO(V, 5) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(V, 5)>;
+ };
+
+ psu0-presence-l {
+ label = "psu0-presence-l";
+ gpios = <&gpio0 ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(F, 6)>;
+ };
+
+ psu1-presence-l {
+ label = "psu1-presence-l";
+ gpios = <&gpio0 ASPEED_GPIO(F, 7) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(F, 7)>;
+ };
+
+ psu0-power-ok {
+ label = "psu0-power-ok";
+ gpios = <&gpio0 ASPEED_GPIO(M, 4) GPIO_ACTIVE_HIGH>;
+ linux,code = <ASPEED_GPIO(M, 4)>;
+ };
+
+ psu1-power-ok {
+ label = "psu1-power-ok";
+ gpios = <&gpio0 ASPEED_GPIO(M, 5) GPIO_ACTIVE_HIGH>;
+ linux,code = <ASPEED_GPIO(M, 5)>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <1000>;
+
+ fan0-presence {
+ label = "fan0-presence";
+ gpios = <&fan_ioexp 2 GPIO_ACTIVE_LOW>;
+ linux,code = <2>;
+ };
+
+ fan1-presence {
+ label = "fan1-presence";
+ gpios = <&fan_ioexp 6 GPIO_ACTIVE_LOW>;
+ linux,code = <6>;
+ };
+
+ fan2-presence {
+ label = "fan2-presence";
+ gpios = <&fan_ioexp 10 GPIO_ACTIVE_LOW>;
+ linux,code = <10>;
+ };
+
+ fan3-presence {
+ label = "fan3-presence";
+ gpios = <&fan_ioexp 14 GPIO_ACTIVE_LOW>;
+ linux,code = <14>;
+ };
+ };
+};
+
+&mac2 {
+ status = "okay";
+ use-ncsi;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rmii3_default>;
+ clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
+ <&syscon ASPEED_CLK_MAC3RCLK>;
+ clock-names = "MACCLK", "RCLK";
+};
+
+&fmc {
+ status = "okay";
+ flash@0 {
+ status = "okay";
+ m25p,fast-read;
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+#include "openbmc-flash-layout-64.dtsi"
+ };
+
+ flash@1 {
+ status = "okay";
+ m25p,fast-read;
+ label = "alt-bmc";
+ spi-max-frequency = <50000000>;
+#include "openbmc-flash-layout-64-alt.dtsi"
+ };
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&uart5 {
+ status = "okay";
+};
+
+&kcs3 {
+ status = "okay";
+ aspeed,lpc-io-reg = <0xca2>;
+};
+
+&lpc_reset {
+ status = "okay";
+};
+
+&lpc_ctrl {
+ status = "okay";
+};
+
+&uart_routing {
+ status = "okay";
+};
+
+&wdt1 {
+ status = "okay";
+};
+
+&wdt2 {
+ status = "okay";
+};
+
+&peci0 {
+ status = "okay";
+};
+
+&udc {
+ status = "okay";
+};
+
+&adc0 {
+ vref = <2500>;
+ status = "okay";
+
+ pinctrl-names = "default";
+ 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 {
+ vref = <2500>;
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
+ &pinctrl_adc10_default &pinctrl_adc11_default
+ &pinctrl_adc12_default &pinctrl_adc13_default
+ &pinctrl_adc14_default &pinctrl_adc15_default>;
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+
+ lm75@48 {
+ compatible = "national,lm75";
+ reg = <0x48>;
+ };
+
+ lm75@49 {
+ compatible = "national,lm75";
+ reg = <0x49>;
+ };
+
+ lm86@4c {
+ compatible = "national,lm86";
+ reg = <0x4c>;
+ };
+};
+
+&i2c2 {
+ status = "okay";
+
+ lm75@4f {
+ cpmpatible = "national,lm75";
+ reg = <0x4f>;
+ };
+
+ fan_ioexp: pca9535@20 {
+ compatible = "nxp,pca9535";
+ reg = <0x20>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ gpio-line-names =
+ "","","presence-fan0","",
+ "","","presence-fan1","",
+ "","","presence-fan2","",
+ "","","presence-fan3","";
+ };
+};
+
+&i2c3 {
+ status = "okay";
+
+ eeprom@50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ pagesize = <64>;
+ };
+};
+
+&i2c4 {
+ status = "okay";
+
+ psu@58 {
+ compatible = "pmbus";
+ reg = <0x58>;
+ };
+
+ eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ pagesize = <1>;
+ };
+};
+
+&i2c5 {
+ status = "okay";
+
+ psu@58 {
+ compatible = "pmbus";
+ reg = <0x58>;
+ };
+
+ eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ pagesize = <1>;
+ };
+};
+
+&i2c8 {
+ status = "okay";
+};
+
+&i2c10 {
+ status = "okay";
+
+ lm75@4d {
+ compatible = "national,lm75";
+ reg = <0x4d>;
+ };
+};
+
+&gpio0 {
+ status = "okay";
+
+ gpio-line-names =
+ /*A0-A7*/ "","","","","","","","",
+ /*B0-B7*/ "","","","","","","","",
+ /*C0-C7*/ "","","","","","","","",
+ /*D0-D7*/ "","","","","","","","",
+ /*E0-E7*/ "","","","","","","","",
+ /*F0-F7*/ "CPU_PWRGD","","","power-button","host0-ready","","presence-ps0","presence-ps1",
+ /*G0-G7*/ "","","","","","","","",
+ /*H0-H7*/ "","","","","","","","",
+ /*I0-I7*/ "","","","","","reset-button","","",
+ /*J0-J7*/ "","","","","","","","",
+ /*K0-K7*/ "","","","","","","","",
+ /*L0-L7*/ "","","","","","","","",
+ /*M0-M7*/ "","","","","","","","",
+ /*N0-N7*/ "power-chassis-control0","power-chassis-control1","","","","","","",
+ /*O0-O7*/ "","","","","","","","",
+ /*P0-P7*/ "","","","","","","","",
+ /*Q0-Q7*/ "","","","","","","","",
+ /*R0-R7*/ "","","","","","","","",
+ /*S0-S7*/ "","","","","","","","",
+ /*T0-T7*/ "","","","","","","","",
+ /*U0-U7*/ "","","","","","","","",
+ /*V0-V7*/ "","","","","power-chassis-good","","","";
+};
--
2.39.0


--
******************************
This e-mail is confidential. If you are not
the intended recipient, you must not disclose, distribute or use the
information in it as this could be a breach of confidentiality.If you have
received this message in error, please advise us immediately by return
e-mail and delete the document. The address from which this message has
been sent is strictly for business mail only and the company reserves the
right to monitor the contents of communications and take action where and
when it is deemed necessary.
Thank you for your co-operation.

2023-01-19 11:21:49

by Jordan Chang

[permalink] [raw]
Subject: [PATCH 1/3] dt-bindings: vendor-prefixes: Add prefix for Ufi Space

Add a vendor prefix for Ufi Space (https://www.ufispace.com).

Signed-off-by: Jordan Chang <[email protected]>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 2f0151e9f6be..ab0dd1cb5ede 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1344,6 +1344,8 @@ patternProperties:
description: Ubiquiti Networks
"^udoo,.*":
description: Udoo
+ "^ufispace,.*":
+ description: Ufi Space Co., Ltd.
"^ugoos,.*":
description: Ugoos Industrial Co., Ltd.
"^uniwest,.*":
--
2.39.0


--
******************************
This e-mail is confidential. If you are not
the intended recipient, you must not disclose, distribute or use the
information in it as this could be a breach of confidentiality.If you have
received this message in error, please advise us immediately by return
e-mail and delete the document. The address from which this message has
been sent is strictly for business mail only and the company reserves the
right to monitor the contents of communications and take action where and
when it is deemed necessary.
Thank you for your co-operation.

2023-01-19 11:22:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 3/3] ARM: dts: aspeed: Add device tree for Ufispace NCPLite BMC

On 19/01/2023 11:21, Jordan Chang wrote:
> Add initial version of device tree for Ufispace NCPlite platform
> which is equipped with AST2600-based BMC.
>
> Signed-off-by: Jordan Chang <[email protected]>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> .../boot/dts/aspeed-bmc-ufispace-ncplite.dts | 360 ++++++++++++++++++
> 2 files changed, 361 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 2ee9c043218b..d26e0651e805 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1626,6 +1626,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-inventec-transformers.dtb \
> aspeed-bmc-tyan-s7106.dtb \
> aspeed-bmc-tyan-s8036.dtb \
> + aspeed-bmc-ufispace-ncplite.dtb \
> aspeed-bmc-vegman-n110.dtb \
> aspeed-bmc-vegman-rx20.dtb \
> aspeed-bmc-vegman-sx20.dtb
> diff --git a/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts b/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
> new file mode 100644
> index 000000000000..7ab29129d1e4
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
> @@ -0,0 +1,360 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +// Copyright (c) 2022 Ufispace Co., Ltd.
> +/dts-v1/;
> +
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/i2c/i2c.h>
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +
> +/ {
> + model = "Ufispace NCPLite BMC";
> + compatible = "ufispace,ncplite-bmc", "aspeed,ast2600";
> +
> + aliases {
> + serial4 = &uart5;
> + };
> +
> + chosen {
> + stdout-path = &uart5;
> + bootargs = "console=ttyS4,115200n8 earlycon";

earlycon is debugging tool and not suitable for mainline, wide usage. Drop.

Actually drop entire bootags and use proper stdout-path.

> + };
> +
> + 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 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
> + <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + fan-status-int-l {

Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).

These will bring warnings. Missing generic name,

> + label = "fan-status-int-l";
> + gpios = <&gpio0 ASPEED_GPIO(M, 2) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(M, 2)>;
> + };
> +
> + allpwr-good {
> + label = "allpwr-good";
> + gpios = <&gpio0 ASPEED_GPIO(V, 4) GPIO_ACTIVE_HIGH>;
> + linux,code = <ASPEED_GPIO(V, 4)>;
> + };
> +
> + psu0-alert-n {
> + label = "psu0-alert-n";
> + gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(V, 1)>;
> + };
> +
> + psu1-alert-n {
> + label = "psu1-alert-n";
> + gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(V, 2)>;
> + };
> +
> + int-thermal-alert {
> + label = "int-thermal-alert";
> + gpios = <&gpio0 ASPEED_GPIO(P, 2) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(P, 2)>;
> + };
> +
> + cpu-caterr-l {
> + label = "cpu-caterr-l";
> + gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(N, 3)>;
> + };
> +
> + cpu-thermtrip-l {
> + label = "cpu-thermtrip-l";
> + gpios = <&gpio0 ASPEED_GPIO(V, 5) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(V, 5)>;
> + };
> +
> + psu0-presence-l {
> + label = "psu0-presence-l";
> + gpios = <&gpio0 ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(F, 6)>;
> + };
> +
> + psu1-presence-l {
> + label = "psu1-presence-l";
> + gpios = <&gpio0 ASPEED_GPIO(F, 7) GPIO_ACTIVE_LOW>;
> + linux,code = <ASPEED_GPIO(F, 7)>;
> + };
> +
> + psu0-power-ok {
> + label = "psu0-power-ok";
> + gpios = <&gpio0 ASPEED_GPIO(M, 4) GPIO_ACTIVE_HIGH>;
> + linux,code = <ASPEED_GPIO(M, 4)>;
> + };
> +
> + psu1-power-ok {
> + label = "psu1-power-ok";
> + gpios = <&gpio0 ASPEED_GPIO(M, 5) GPIO_ACTIVE_HIGH>;
> + linux,code = <ASPEED_GPIO(M, 5)>;
> + };
> + };
> +
> + gpio-keys-polled {
> + compatible = "gpio-keys-polled";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + poll-interval = <1000>;
> +
> + fan0-presence {

Same problem - not tested.

> + label = "fan0-presence";
> + gpios = <&fan_ioexp 2 GPIO_ACTIVE_LOW>;
> + linux,code = <2>;
> + };
> +
> + fan1-presence {
> + label = "fan1-presence";
> + gpios = <&fan_ioexp 6 GPIO_ACTIVE_LOW>;
> + linux,code = <6>;
> + };
> +
> + fan2-presence {
> + label = "fan2-presence";
> + gpios = <&fan_ioexp 10 GPIO_ACTIVE_LOW>;
> + linux,code = <10>;
> + };
> +
> + fan3-presence {
> + label = "fan3-presence";
> + gpios = <&fan_ioexp 14 GPIO_ACTIVE_LOW>;
> + linux,code = <14>;
> + };
> + };
> +};
> +
> +&mac2 {
> + status = "okay";
> + use-ncsi;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rmii3_default>;
> + clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
> + <&syscon ASPEED_CLK_MAC3RCLK>;
> + clock-names = "MACCLK", "RCLK";
> +};
> +
> +&fmc {
> + status = "okay";
> + flash@0 {
> + status = "okay";
> + m25p,fast-read;
> + label = "bmc";
> + spi-max-frequency = <50000000>;
> +#include "openbmc-flash-layout-64.dtsi"
> + };
> +
> + flash@1 {
> + status = "okay";
> + m25p,fast-read;
> + label = "alt-bmc";
> + spi-max-frequency = <50000000>;
> +#include "openbmc-flash-layout-64-alt.dtsi"
> + };
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&uart4 {
> + status = "okay";
> +};
> +
> +&uart5 {
> + status = "okay";
> +};
> +
> +&kcs3 {
> + status = "okay";
> + aspeed,lpc-io-reg = <0xca2>;
> +};
> +
> +&lpc_reset {
> + status = "okay";
> +};
> +
> +&lpc_ctrl {
> + status = "okay";
> +};
> +
> +&uart_routing {
> + status = "okay";
> +};
> +
> +&wdt1 {
> + status = "okay";
> +};
> +
> +&wdt2 {
> + status = "okay";
> +};
> +
> +&peci0 {
> + status = "okay";
> +};
> +
> +&udc {
> + status = "okay";
> +};
> +
> +&adc0 {
> + vref = <2500>;
> + status = "okay";
> +
> + pinctrl-names = "default";
> + 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 {
> + vref = <2500>;
> + status = "okay";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
> + &pinctrl_adc10_default &pinctrl_adc11_default
> + &pinctrl_adc12_default &pinctrl_adc13_default
> + &pinctrl_adc14_default &pinctrl_adc15_default>;
> +};
> +
> +&i2c0 {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + status = "okay";
> +
> + lm75@48 {

Node names should be generic.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> + compatible = "national,lm75";
> + reg = <0x48>;
> + };
> +
> + lm75@49 {

Node names should be generic.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> + compatible = "national,lm75";
> + reg = <0x49>;
> + };
> +
> + lm86@4c {

and so on...

> + compatible = "national,lm86";
> + reg = <0x4c>;
> + };
> +};
> +
> +&i2c2 {
> + status = "okay";
> +
> + lm75@4f {

as well

> + cpmpatible = "national,lm75";
> + reg = <0x4f>;
> + };
> +
> + fan_ioexp: pca9535@20 {

and here

> + compatible = "nxp,pca9535";
> + reg = <0x20>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + gpio-controller;
> + #gpio-cells = <2>;
> +
> + gpio-line-names =
> + "","","presence-fan0","",
> + "","","presence-fan1","",
> + "","","presence-fan2","",
> + "","","presence-fan3","";
> + };
> +};
> +
> +&i2c3 {
> + status = "okay";
> +
> + eeprom@50 {
> + compatible = "atmel,24c128";
> + reg = <0x50>;
> + pagesize = <64>;
> + };
> +};
> +
> +&i2c4 {
> + status = "okay";
> +
> + psu@58 {
> + compatible = "pmbus";

Where is this compatible documented?

Did you run checkpatch? Did it pass without warnings?


> + reg = <0x58>;
> + };
> +
> + eeprom@50 {
> + compatible = "atmel,24c02";
> + reg = <0x50>;
> + pagesize = <1>;
> + };
> +};
> +
> +&i2c5 {
> + status = "okay";
> +
> + psu@58 {
> + compatible = "pmbus";
> + reg = <0x58>;
> + };
> +
> + eeprom@50 {
> + compatible = "atmel,24c02";
> + reg = <0x50>;
> + pagesize = <1>;
> + };
> +};
> +
> +&i2c8 {
> + status = "okay";
> +};
> +
> +&i2c10 {
> + status = "okay";
> +
> + lm75@4d {

Node names should be generic.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> + compatible = "national,lm75";
> + reg = <0x4d>;
> + };
> +};
Best regards,
Krzysztof

2023-01-19 12:17:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add prefix for Ufi Space

On 19/01/2023 11:21, Jordan Chang wrote:
> |This e-mail is confidential. |

Sorry, we cannot work with confidential emails. Everything you send to
mailing list is public and must not be confidential.

Best regards,
Krzysztof

2023-02-01 07:26:08

by Jordan Chang

[permalink] [raw]
Subject: Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add prefix for Ufi Space

Hi Krzysztof,

Thanks for your comment. I will resend the patch.

Best regards,
Jordan Chang


On Thu, Jan 19, 2023 at 6:57 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 19/01/2023 11:21, Jordan Chang wrote:
> > |This e-mail is confidential. |
>
> Sorry, we cannot work with confidential emails. Everything you send to
> mailing list is public and must not be confidential.
>
> Best regards,
> Krzysztof
>

2023-02-01 10:06:52

by Jordan Chang

[permalink] [raw]
Subject: Re: [PATCH 3/3] ARM: dts: aspeed: Add device tree for Ufispace NCPLite BMC

Hi Krzysztof,

Thanks for your comments.

On Thu, Jan 19, 2023 at 7:00 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 19/01/2023 11:21, Jordan Chang wrote:
> > Add initial version of device tree for Ufispace NCPlite platform
> > which is equipped with AST2600-based BMC.
> >
> > Signed-off-by: Jordan Chang <[email protected]>
> > ---
> > arch/arm/boot/dts/Makefile | 1 +
> > .../boot/dts/aspeed-bmc-ufispace-ncplite.dts | 360 ++++++++++++++++++
> > 2 files changed, 361 insertions(+)
> > create mode 100644 arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 2ee9c043218b..d26e0651e805 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -1626,6 +1626,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> > aspeed-bmc-inventec-transformers.dtb \
> > aspeed-bmc-tyan-s7106.dtb \
> > aspeed-bmc-tyan-s8036.dtb \
> > + aspeed-bmc-ufispace-ncplite.dtb \
> > aspeed-bmc-vegman-n110.dtb \
> > aspeed-bmc-vegman-rx20.dtb \
> > aspeed-bmc-vegman-sx20.dtb
> > diff --git a/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts b/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
> > new file mode 100644
> > index 000000000000..7ab29129d1e4
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/aspeed-bmc-ufispace-ncplite.dts
> > @@ -0,0 +1,360 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +// Copyright (c) 2022 Ufispace Co., Ltd.
> > +/dts-v1/;
> > +
> > +#include "aspeed-g6.dtsi"
> > +#include <dt-bindings/i2c/i2c.h>
> > +#include <dt-bindings/gpio/aspeed-gpio.h>
> > +
> > +/ {
> > + model = "Ufispace NCPLite BMC";
> > + compatible = "ufispace,ncplite-bmc", "aspeed,ast2600";
> > +
> > + aliases {
> > + serial4 = &uart5;
> > + };
> > +
> > + chosen {
> > + stdout-path = &uart5;
> > + bootargs = "console=ttyS4,115200n8 earlycon";
>
> earlycon is debugging tool and not suitable for mainline, wide usage. Drop.
>
> Actually drop entire bootags and use proper stdout-path.
>
Will drop the line.

> > + };
> > +
> > + 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 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
> > + <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
> > + };
> > +
> > + gpio-keys {
> > + compatible = "gpio-keys";
> > +
> > + fan-status-int-l {
>
> Does not look like you tested the DTS against bindings. Please run `make
> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
> for instructions).
>
> These will bring warnings. Missing generic name,
>
I have run the `make dtbs_check` command, and did not notice the warning
message 'Missing generic name'. It shows lots of compatible failed messages.
- /ahb/ftgmac@1e670000: failed to match any schema with compatible:

> > + label = "fan-status-int-l";
> > + gpios = <&gpio0 ASPEED_GPIO(M, 2) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(M, 2)>;
> > + };
> > +
> > + allpwr-good {
> > + label = "allpwr-good";
> > + gpios = <&gpio0 ASPEED_GPIO(V, 4) GPIO_ACTIVE_HIGH>;
> > + linux,code = <ASPEED_GPIO(V, 4)>;
> > + };
> > +
> > + psu0-alert-n {
> > + label = "psu0-alert-n";
> > + gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(V, 1)>;
> > + };
> > +
> > + psu1-alert-n {
> > + label = "psu1-alert-n";
> > + gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(V, 2)>;
> > + };
> > +
> > + int-thermal-alert {
> > + label = "int-thermal-alert";
> > + gpios = <&gpio0 ASPEED_GPIO(P, 2) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(P, 2)>;
> > + };
> > +
> > + cpu-caterr-l {
> > + label = "cpu-caterr-l";
> > + gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(N, 3)>;
> > + };
> > +
> > + cpu-thermtrip-l {
> > + label = "cpu-thermtrip-l";
> > + gpios = <&gpio0 ASPEED_GPIO(V, 5) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(V, 5)>;
> > + };
> > +
> > + psu0-presence-l {
> > + label = "psu0-presence-l";
> > + gpios = <&gpio0 ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(F, 6)>;
> > + };
> > +
> > + psu1-presence-l {
> > + label = "psu1-presence-l";
> > + gpios = <&gpio0 ASPEED_GPIO(F, 7) GPIO_ACTIVE_LOW>;
> > + linux,code = <ASPEED_GPIO(F, 7)>;
> > + };
> > +
> > + psu0-power-ok {
> > + label = "psu0-power-ok";
> > + gpios = <&gpio0 ASPEED_GPIO(M, 4) GPIO_ACTIVE_HIGH>;
> > + linux,code = <ASPEED_GPIO(M, 4)>;
> > + };
> > +
> > + psu1-power-ok {
> > + label = "psu1-power-ok";
> > + gpios = <&gpio0 ASPEED_GPIO(M, 5) GPIO_ACTIVE_HIGH>;
> > + linux,code = <ASPEED_GPIO(M, 5)>;
> > + };
> > + };
> > +
> > + gpio-keys-polled {
> > + compatible = "gpio-keys-polled";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + poll-interval = <1000>;
> > +
> > + fan0-presence {
>
> Same problem - not tested.
>
> > + label = "fan0-presence";
> > + gpios = <&fan_ioexp 2 GPIO_ACTIVE_LOW>;
> > + linux,code = <2>;
> > + };
> > +
> > + fan1-presence {
> > + label = "fan1-presence";
> > + gpios = <&fan_ioexp 6 GPIO_ACTIVE_LOW>;
> > + linux,code = <6>;
> > + };
> > +
> > + fan2-presence {
> > + label = "fan2-presence";
> > + gpios = <&fan_ioexp 10 GPIO_ACTIVE_LOW>;
> > + linux,code = <10>;
> > + };
> > +
> > + fan3-presence {
> > + label = "fan3-presence";
> > + gpios = <&fan_ioexp 14 GPIO_ACTIVE_LOW>;
> > + linux,code = <14>;
> > + };
> > + };
> > +};
> > +
> > +&mac2 {
> > + status = "okay";
> > + use-ncsi;
> > +
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_rmii3_default>;
> > + clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
> > + <&syscon ASPEED_CLK_MAC3RCLK>;
> > + clock-names = "MACCLK", "RCLK";
> > +};
> > +
> > +&fmc {
> > + status = "okay";
> > + flash@0 {
> > + status = "okay";
> > + m25p,fast-read;
> > + label = "bmc";
> > + spi-max-frequency = <50000000>;
> > +#include "openbmc-flash-layout-64.dtsi"
> > + };
> > +
> > + flash@1 {
> > + status = "okay";
> > + m25p,fast-read;
> > + label = "alt-bmc";
> > + spi-max-frequency = <50000000>;
> > +#include "openbmc-flash-layout-64-alt.dtsi"
> > + };
> > +};
> > +
> > +&uart1 {
> > + status = "okay";
> > +};
> > +
> > +&uart4 {
> > + status = "okay";
> > +};
> > +
> > +&uart5 {
> > + status = "okay";
> > +};
> > +
> > +&kcs3 {
> > + status = "okay";
> > + aspeed,lpc-io-reg = <0xca2>;
> > +};
> > +
> > +&lpc_reset {
> > + status = "okay";
> > +};
> > +
> > +&lpc_ctrl {
> > + status = "okay";
> > +};
> > +
> > +&uart_routing {
> > + status = "okay";
> > +};
> > +
> > +&wdt1 {
> > + status = "okay";
> > +};
> > +
> > +&wdt2 {
> > + status = "okay";
> > +};
> > +
> > +&peci0 {
> > + status = "okay";
> > +};
> > +
> > +&udc {
> > + status = "okay";
> > +};
> > +
> > +&adc0 {
> > + vref = <2500>;
> > + status = "okay";
> > +
> > + pinctrl-names = "default";
> > + 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 {
> > + vref = <2500>;
> > + status = "okay";
> > +
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
> > + &pinctrl_adc10_default &pinctrl_adc11_default
> > + &pinctrl_adc12_default &pinctrl_adc13_default
> > + &pinctrl_adc14_default &pinctrl_adc15_default>;
> > +};
> > +
> > +&i2c0 {
> > + status = "okay";
> > +};
> > +
> > +&i2c1 {
> > + status = "okay";
> > +
> > + lm75@48 {
>
> Node names should be generic.
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
Will rename the node with the generic name.

> > + compatible = "nxp,pca9535";
> > + reg = <0x20>;
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > +
> > + gpio-line-names =
> > + "","","presence-fan0","",
> > + "","","presence-fan1","",
> > + "","","presence-fan2","",
> > + "","","presence-fan3","";
> > + };
> > +};
> > +
> > +&i2c3 {
> > + status = "okay";
> > +
> > + eeprom@50 {
> > + compatible = "atmel,24c128";
> > + reg = <0x50>;
> > + pagesize = <64>;
> > + };
> > +};
> > +
> > +&i2c4 {
> > + status = "okay";
> > +
> > + psu@58 {
> > + compatible = "pmbus";
>
> Where is this compatible documented?
Can not find the corresponding document.
>
> Did you run checkpatch? Did it pass without warnings?
Yes, I did run the ./scripts/checkpatch.pl and there were two warnings left.
- WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
- WARNING: line length of 104 exceeds 100 columns
I just ignore those warnings that Joel has informed me in the previous
mail loop.

Best regards,
Jordan Chang

>
>
> > + reg = <0x58>;
> > + };
> > +
> > + eeprom@50 {
> > + compatible = "atmel,24c02";
> > + reg = <0x50>;
> > + pagesize = <1>;
> > + };
> > +};
> > +
> > +&i2c5 {
> > + status = "okay";
> > +
> > + psu@58 {
> > + compatible = "pmbus";
> > + reg = <0x58>;
> > + };
> > +
> > + eeprom@50 {
> > + compatible = "atmel,24c02";
> > + reg = <0x50>;
> > + pagesize = <1>;
> > + };
> > +};
> > +
> > +&i2c8 {
> > + status = "okay";
> > +};
> > +
> > +&i2c10 {
> > + status = "okay";
> > +
> > + lm75@4d {
>
> Node names should be generic.
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>
> > + compatible = "national,lm75";
> > + reg = <0x4d>;
> > + };
> > +};
> Best regards,
> Krzysztof
>

2023-02-01 10:14:13

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 3/3] ARM: dts: aspeed: Add device tree for Ufispace NCPLite BMC

On 01/02/2023 11:06, Jordan Chang wrote:
>>> + gpio-keys {
>>> + compatible = "gpio-keys";
>>> +
>>> + fan-status-int-l {
>>
>> Does not look like you tested the DTS against bindings. Please run `make
>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
>> for instructions).
>>
>> These will bring warnings. Missing generic name,
>>
> I have run the `make dtbs_check` command, and did not notice the warning
> message 'Missing generic name'. It shows lots of compatible failed messages.
> - /ahb/ftgmac@1e670000: failed to match any schema with compatible:

You can run it with DT_SCHEMA_FILES=gpio-keys

>
>>> + label = "fan-status-int-l";
>>> + gpios = <&gpio0 ASPEED_GPIO(M, 2) GPIO_ACTIVE_LOW>;
>>> + linux,code = <ASPEED_GPIO(M, 2)>;
>>> + };
>>> +

(...)

>>> +
>>> +&i2c4 {
>>> + status = "okay";
>>> +
>>> + psu@58 {
>>> + compatible = "pmbus";
>>
>> Where is this compatible documented?
> Can not find the corresponding document.
>>
>> Did you run checkpatch? Did it pass without warnings?
> Yes, I did run the ./scripts/checkpatch.pl and there were two warnings left.
> - WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
> - WARNING: line length of 104 exceeds 100 columns
> I just ignore those warnings that Joel has informed me in the previous
> mail loop.
>

Hm, is it then correct compatible?


Best regards,
Krzysztof


2023-02-01 10:38:38

by Jordan Chang

[permalink] [raw]
Subject: Re: [PATCH 3/3] ARM: dts: aspeed: Add device tree for Ufispace NCPLite BMC

Hi Krzysztof,

Thanks for your reply.

On Wed, Feb 1, 2023 at 6:14 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 01/02/2023 11:06, Jordan Chang wrote:
> >>> + gpio-keys {
> >>> + compatible = "gpio-keys";
> >>> +
> >>> + fan-status-int-l {
> >>
> >> Does not look like you tested the DTS against bindings. Please run `make
> >> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
> >> for instructions).
> >>
> >> These will bring warnings. Missing generic name,
> >>
> > I have run the `make dtbs_check` command, and did not notice the warning
> > message 'Missing generic name'. It shows lots of compatible failed messages.
> > - /ahb/ftgmac@1e670000: failed to match any schema with compatible:
>
> You can run it with DT_SCHEMA_FILES=gpio-keys
I see. Will fix the naming issue.

>
>
> >>> +
> >>> +&i2c4 {
> >>> + status = "okay";
> >>> +
> >>> + psu@58 {
> >>> + compatible = "pmbus";
> >>
> >> Where is this compatible documented?
> > Can not find the corresponding document.
> >>
> >> Did you run checkpatch? Did it pass without warnings?
> > Yes, I did run the ./scripts/checkpatch.pl and there were two warnings left.
> > - WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
> > - WARNING: line length of 104 exceeds 100 columns
> > I just ignore those warnings that Joel has informed me in the previous
> > mail loop.
> >
>
> Hm, is it then correct compatible?
I think it might be since it did not show the fail message.

Best regards,
Jordan Chang