* [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
@ 2024-10-14 10:50 Chanh Nguyen
2024-10-14 10:54 ` Chanh Nguyen
` (3 more replies)
0 siblings, 4 replies; 14+ messages in thread
From: Chanh Nguyen @ 2024-10-14 10:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
Andrew Jeffery, devicetree, linux-arm-kernel, linux-aspeed,
linux-kernel, OpenBMC Maillist, Open Source Submission
Cc: Phong Vo, Thang Nguyen, Quan Nguyen, Khanh Pham, Chanh Nguyen
The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
hardware reference platform with AmpereOne(TM)M processor.
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
---
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
2 files changed, 647 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index c4f064e4b073..b1fb0853a789 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-amd-daytonax.dtb \
aspeed-bmc-amd-ethanolx.dtb \
aspeed-bmc-ampere-mtjade.dtb \
+ aspeed-bmc-ampere-mtjefferson.dtb \
aspeed-bmc-ampere-mtmitchell.dtb \
aspeed-bmc-arm-stardragon4800-rep2.dtb \
aspeed-bmc-asrock-e3c246d4i.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
new file mode 100644
index 000000000000..f24111ab9e65
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
@@ -0,0 +1,646 @@
+// SPDX-License-Identifier: GPL-2.0-only
+// Copyright 2024 Ampere Computing LLC.
+
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/i2c/i2c.h>
+#include <dt-bindings/gpio/aspeed-gpio.h>
+
+/ {
+ model = "Ampere Mt. Jefferson BMC";
+ compatible = "ampere,mtjefferson-bmc", "aspeed,ast2600";
+
+ aliases {
+ i2c20 = &i2c4_bus70_chn0;
+ i2c22 = &i2c4_bus70_chn2;
+ i2c24 = &i2c2_bus70_chn0;
+
+ /*
+ * I2C OCP alias port
+ */
+ i2c30 = &ocpslot;
+
+ /*
+ * I2C NVMe alias port
+ */
+ i2c48 = &nvmeslot_0;
+ i2c49 = &nvmeslot_1;
+ i2c50 = &nvmeslot_2;
+ i2c51 = &nvmeslot_3;
+ i2c52 = &nvmeslot_4;
+ i2c53 = &nvmeslot_5;
+ i2c54 = &nvmeslot_6;
+ i2c55 = &nvmeslot_7;
+ i2c56 = &nvmeslot_8;
+ i2c57 = &nvmeslot_9;
+ i2c58 = &nvmeslot_10;
+ i2c59 = &nvmeslot_11;
+ };
+
+ chosen {
+ stdout-path = &uart5;
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x80000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ gfx_memory: framebuffer {
+ size = <0x01000000>;
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ video_engine_memory: video {
+ size = <0x04000000>;
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ vga_memory: region@bf000000 {
+ no-map;
+ compatible = "shared-dma-pool";
+ reg = <0xbf000000 0x01000000>; /* 16M */
+ };
+ };
+
+ voltage_mon_reg: voltage-mon-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "ltc2497_reg";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ led-bmc-ready {
+ gpios = <&gpio0 ASPEED_GPIO(W, 5) (GPIO_ACTIVE_HIGH | GPIO_TRANSITORY)>;
+ };
+
+ led-sw-heartbeat {
+ gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
+ };
+
+ led-identify {
+ gpios = <&gpio0 ASPEED_GPIO(S, 3) GPIO_ACTIVE_HIGH>;
+ };
+
+ led-fault {
+ gpios = <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ iio-hwmon {
+ compatible = "iio-hwmon";
+ io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>,
+ <&adc_i2c_2 0>, <&adc_i2c_2 1>,
+ <&adc_i2c_2 2>, <&adc_i2c_2 3>,
+ <&adc_i2c_2 4>, <&adc_i2c_2 5>,
+ <&adc_i2c_2 6>, <&adc_i2c_2 7>,
+ <&adc_i2c_2 8>, <&adc_i2c_2 9>,
+ <&adc_i2c_2 10>, <&adc_i2c_2 11>,
+ <&adc_i2c_2 12>, <&adc_i2c_2 13>,
+ <&adc_i2c_2 14>, <&adc_i2c_2 15>,
+ <&adc_i2c_0 0>, <&adc_i2c_0 1>,
+ <&adc_i2c_0 2>, <&adc_i2c_0 3>,
+ <&adc_i2c_0 4>, <&adc_i2c_0 5>,
+ <&adc_i2c_0 6>, <&adc_i2c_0 7>,
+ <&adc_i2c_0 8>, <&adc_i2c_0 9>,
+ <&adc_i2c_0 10>, <&adc_i2c_0 11>,
+ <&adc_i2c_0 12>;
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ ethphy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac0 {
+ status = "okay";
+
+ phy-mode = "rgmii";
+ phy-handle = <ðphy0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rgmii1_default>;
+};
+
+&mac3 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rmii4_default>;
+ clock-names = "MACCLK", "RCLK";
+ use-ncsi;
+};
+
+&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"
+ };
+};
+
+&spi1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spi1_default>;
+
+ flash@0 {
+ status = "okay";
+ m25p,fast-read;
+ label = "pnor";
+ spi-max-frequency = <20000000>;
+ };
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart2 {
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&i2c2 {
+ status = "okay";
+ i2c-mux@70 {
+ compatible = "nxp,pca9548";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x70>;
+ i2c-mux-idle-disconnect;
+
+ i2c2_bus70_chn0: i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x0>;
+ psu@58 {
+ compatible = "pmbus";
+ reg = <0x58>;
+ };
+
+ psu@59 {
+ compatible = "pmbus";
+ reg = <0x59>;
+ };
+ };
+ };
+};
+
+&i2c3 {
+ status = "okay";
+ bus-frequency = <1000000>;
+ multi-master;
+ mctp-controller;
+
+ mctp@10 {
+ compatible = "mctp-i2c-controller";
+ reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
+ };
+};
+
+&i2c4 {
+ status = "okay";
+ eeprom@50 {
+ compatible = "atmel,24c64";
+ reg = <0x50>;
+ pagesize = <32>;
+ };
+
+ i2c-mux@70 {
+ compatible = "nxp,pca9545";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x70>;
+ i2c-mux-idle-disconnect;
+
+ i2c4_bus70_chn0: i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x0>;
+
+ eeprom@52 {
+ compatible = "atmel,24c256";
+ reg = <0x52>;
+ pagesize = <32>;
+ };
+ temperature-sensor@48 {
+ compatible = "ti,tmp75";
+ reg = <0x48>;
+ };
+ temperature-sensor@49 {
+ compatible = "ti,tmp75";
+ reg = <0x49>;
+ };
+ temperature-sensor@4a{
+ compatible = "ti,tmp75";
+ reg = <0x4a>;
+ };
+ temperature-sensor@4b {
+ compatible = "ti,tmp464";
+ reg = <0x4b>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ channel@0 {
+ reg = <0x0>;
+ status = "disabled";
+ };
+ channel@1 {
+ reg = <0x1>;
+ status = "disabled";
+ };
+ channel@2 {
+ reg = <0x2>;
+ status = "disabled";
+ };
+ channel@3 {
+ reg = <0x3>;
+ status = "disabled";
+ };
+ channel@4 {
+ reg = <0x4>;
+ };
+ };
+ temperature-sensor@4d {
+ compatible = "ti,tmp75";
+ reg = <0x4d>;
+ };
+ temperature-sensor@4e {
+ compatible = "ti,tmp75";
+ reg = <0x4e>;
+ };
+ temperature-sensor@4f {
+ compatible = "ti,tmp75";
+ reg = <0x4f>;
+ };
+ temperature-sensor@28 {
+ compatible = "nuvoton,nct7802";
+ reg = <0x28>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ channel@1 { /* RTD1 */
+ reg = <1>;
+ sensor-type = "temperature";
+ temperature-mode = "thermistor";
+ };
+ };
+ adc_i2c_0: adc@14 {
+ compatible = "lltc,ltc2497";
+ reg = <0x14>;
+ vref-supply = <&voltage_mon_reg>;
+ #io-channel-cells = <1>;
+ };
+ };
+
+ i2c4_bus70_chn2: i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x2>;
+
+ adc_i2c_2: adc@14 {
+ compatible = "lltc,ltc2497";
+ reg = <0x14>;
+ vref-supply = <&voltage_mon_reg>;
+ #io-channel-cells = <1>;
+ };
+ };
+ };
+};
+
+&i2c5 {
+ status = "okay";
+ i2c-mux@70 {
+ compatible = "nxp,pca9548";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x70>;
+ i2c-mux-idle-disconnect;
+
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x0>;
+
+ i2c-mux@71 {
+ compatible = "nxp,pca9548";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x71>;
+ i2c-mux-idle-disconnect;
+
+ nvmeslot_8: i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x0>;
+ };
+ nvmeslot_9: i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x1>;
+ };
+ nvmeslot_10: i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x2>;
+ };
+ nvmeslot_11: i2c@3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x3>;
+ };
+ };
+
+ i2c-mux@72 {
+ compatible = "nxp,pca9548";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x72>;
+ i2c-mux-idle-disconnect;
+
+ nvmeslot_4: i2c@4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x4>;
+ };
+ nvmeslot_5: i2c@5 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x5>;
+ };
+ nvmeslot_6: i2c@6 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x6>;
+ };
+ nvmeslot_7: i2c@7 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x7>;
+ };
+ };
+
+ i2c-mux@74 {
+ compatible = "nxp,pca9548";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x74>;
+ i2c-mux-idle-disconnect;
+
+ ocpslot: i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x0>;
+
+ ocpslot_temp: temperature-sensor@1f {
+ compatible = "ti,tmp421";
+ reg = <0x1f>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ channel@0 {
+ reg = <0x0>;
+ status = "disabled";
+ };
+ channel@1 {
+ reg = <0x1>;
+ };
+ };
+ };
+
+ nvmeslot_0: i2c@4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x4>;
+ };
+ nvmeslot_1: i2c@5 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x5>;
+ };
+ nvmeslot_2: i2c@6 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x6>;
+ };
+ nvmeslot_3: i2c@7 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x7>;
+ };
+ };
+ };
+ };
+};
+
+&i2c6 {
+ status = "okay";
+
+ rtc@51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ };
+};
+
+&i2c7 {
+ status = "okay";
+
+ temperature-sensor@4f {
+ compatible = "ti,tmp75";
+ reg = <0x4f>;
+ };
+};
+
+&i2c8 {
+ status = "okay";
+
+ fan-controller@5c {
+ compatible = "onnn,adt7462";
+ reg = <0x5c>;
+ };
+};
+
+&i2c9 {
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ };
+
+ eeprom@52 {
+ compatible = "atmel,24c02";
+ reg = <0x52>;
+ };
+
+ temperature-sensor@18 {
+ compatible = "jedec,jc-42.4-temp";
+ reg = <0x18>;
+ };
+
+ temperature-sensor@1a {
+ compatible = "jedec,jc-42.4-temp";
+ reg = <0x1a>;
+ };
+};
+
+&i2c10 {
+ status = "okay";
+};
+
+&i2c11 {
+ status = "okay";
+ ssif-bmc@10 {
+ compatible = "ssif-bmc";
+ reg = <0x10>;
+ };
+};
+
+&i2c14 {
+ status = "okay";
+ eeprom@50 {
+ compatible = "atmel,24c64";
+ reg = <0x50>;
+ pagesize = <32>;
+ };
+
+ bmc_ast2600_cpu: temperature-sensor@48 {
+ compatible = "ti,tmp75";
+ reg = <0x48>;
+ };
+};
+
+&i2c15 {
+ status = "okay";
+ gpio_expander1: gpio-expander@22 {
+ compatible = "nxp,pca9535";
+ reg = <0x22>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-line-names =
+ "presence-ocp1","presence-ocp2",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","";
+ };
+};
+
+&adc0 {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
+ &pinctrl_adc2_default>;
+};
+
+&vhub {
+ status = "okay";
+};
+
+&video {
+ status = "okay";
+ memory-region = <&video_engine_memory>;
+};
+
+&gpio0 {
+ gpio-line-names =
+ /*A0-A7*/ "","","","","cpu-type-detect","i2c2-reset-n","i2c6-reset-n","i2c5-reset-n",
+ /*B0-B7*/ "","","","","host0-sysreset-n","host0-pmin-n","fru-rd-complete",
+ "chassis-id-sel",
+ /*C0-C7*/ "s0-vrd-fault-n","","bmc-debug-mode","","cpld-3v3-irq-n","","vrd-sel",
+ "spd-sel",
+ /*D0-D7*/ "presence-ps0","presence-ps1","hsc-12vmain-alt2-n","ext-high-temp-n",
+ "","","","",
+ /*E0-E7*/ "eth-phy-rst-n","eth-phy-int-n","","","","","","",
+ /*F0-F7*/ "s0-pcp-oc-warn-n","","power-chassis-control",
+ "cpu-bios-recover","s0-heartbeat","hs-scout-proc-hot","s0-vr-hot-n","",
+ /*G0-G7*/ "","","hsc-12vmain-alt1-n","","","bp-cpld-program-en","led-fp-sta-gr",
+ "led-fp-sta-amb",
+ /*H0-H7*/ "jtag-program-sel","jtag-cmpl2","wd-disable-n","power-chassis-good","","",
+ "","",
+ /*I0-I7*/ "","","","","","","power-button","rtc-battery-voltage-read-enable",
+ /*J0-J7*/ "","","","","","","","",
+ /*K0-K7*/ "","","","","","","","",
+ /*L0-L7*/ "","","","","reset-button","","","",
+ /*M0-M7*/ "nmi-n","s0-ddr-save","soc-spi-nor-access","presence-cpu0","s0-rtc-lock",
+ "","","",
+ /*N0-N7*/ "hpm-fw-recovery","hpm-stby-rst-n","jtag-sel-s0","led-sw-hb",
+ "jtag-dbgr-prsnt-n","","","",
+ /*O0-O7*/ "","","","","","","","",
+ /*P0-P7*/ "ps0-ac-loss-n","ps1-ac-loss-n","","","led-fault","user-mode","jtag-srst-n",
+ "led-bmc-hb",
+ /*Q0-Q7*/ "","","","","","","","",
+ /*R0-R7*/ "","","","","","","","",
+ /*S0-S7*/ "","","identify-button","led-identify","","spi-nor-access","host0-ready","",
+ /*T0-T7*/ "","","","","","","","",
+ /*U0-U7*/ "","","","","","","","",
+ /*V0-V7*/ "s0-hightemp-n","s0-fault-alert","s0-sys-auth-failure-n",
+ "host0-reboot-ack-n","s0-fw-boot-ok","host0-shd-req-n",
+ "host0-shd-ack-n","s0-overtemp-n",
+ /*W0-W7*/ "ocp-aux-pwren","ocp-main-pwren","ocp-pgood","",
+ "bmc-ok","bmc-ready","spi0-program-sel","spi0-backup-sel",
+ /*X0-X7*/ "","","","","","","","",
+ /*Y0-Y7*/ "","","","vrd-prg-en-n","","","","host0-special-boot",
+ /*Z0-Z7*/ "","ps0-pgood","ps1-pgood","","","","","";
+
+ ocp-aux-pwren-hog {
+ gpio-hog;
+ gpios = <ASPEED_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "ocp-aux-pwren";
+ };
+
+};
+
+&gpio1 {
+ gpio-line-names =
+ /*18A0-18A7*/ "","","","","","","","",
+ /*18B0-18B7*/ "","","","","s0-soc-pgood","vga-ft-press-n","emmc-rst-n","s01-uart1-sel",
+ /*18C0-18C7*/ "uart1-mode0","uart1-mode1","uart2-mode0","uart2-mode1",
+ "","","","",
+ /*18D0-18D7*/ "","","","","","","","",
+ /*18E0-18E3*/ "","","","";
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-14 10:50 [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC Chanh Nguyen
@ 2024-10-14 10:54 ` Chanh Nguyen
2024-10-14 11:58 ` Krzysztof Kozlowski
` (2 subsequent siblings)
3 siblings, 0 replies; 14+ messages in thread
From: Chanh Nguyen @ 2024-10-14 10:54 UTC (permalink / raw)
To: Chanh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel, OpenBMC Maillist,
Open Source Submission
Cc: Phong Vo, Thang Nguyen, Quan Nguyen, Khanh Pham
Hi @Andrew, I just upstreamed the patch
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/Documentation/devicetree/bindings/trivial-devices.yaml?id=3d973b98d2744cfced1f06167c83e2cc2d7b63d5
to linux-next branch, I think we also need to pick it up to
https://github.com/openbmc/linux/tree/dev-6.6, which will help pass the
"onnn,adt7462" compatible warning log from the dt_binding_check tool.
On 14/10/2024 17:50, Chanh Nguyen wrote:
> The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
> hardware reference platform with AmpereOne(TM)M processor.
>
> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
> ---
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
> 2 files changed, 647 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>
> diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
> index c4f064e4b073..b1fb0853a789 100644
> --- a/arch/arm/boot/dts/aspeed/Makefile
> +++ b/arch/arm/boot/dts/aspeed/Makefile
> @@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-amd-daytonax.dtb \
> aspeed-bmc-amd-ethanolx.dtb \
> aspeed-bmc-ampere-mtjade.dtb \
> + aspeed-bmc-ampere-mtjefferson.dtb \
> aspeed-bmc-ampere-mtmitchell.dtb \
> aspeed-bmc-arm-stardragon4800-rep2.dtb \
> aspeed-bmc-asrock-e3c246d4i.dtb \
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
> new file mode 100644
> index 000000000000..f24111ab9e65
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
> @@ -0,0 +1,646 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +// Copyright 2024 Ampere Computing LLC.
> +
> +/dts-v1/;
> +
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/i2c/i2c.h>
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +
> +/ {
> + model = "Ampere Mt. Jefferson BMC";
> + compatible = "ampere,mtjefferson-bmc", "aspeed,ast2600";
> +
> + aliases {
> + i2c20 = &i2c4_bus70_chn0;
> + i2c22 = &i2c4_bus70_chn2;
> + i2c24 = &i2c2_bus70_chn0;
> +
> + /*
> + * I2C OCP alias port
> + */
> + i2c30 = &ocpslot;
> +
> + /*
> + * I2C NVMe alias port
> + */
> + i2c48 = &nvmeslot_0;
> + i2c49 = &nvmeslot_1;
> + i2c50 = &nvmeslot_2;
> + i2c51 = &nvmeslot_3;
> + i2c52 = &nvmeslot_4;
> + i2c53 = &nvmeslot_5;
> + i2c54 = &nvmeslot_6;
> + i2c55 = &nvmeslot_7;
> + i2c56 = &nvmeslot_8;
> + i2c57 = &nvmeslot_9;
> + i2c58 = &nvmeslot_10;
> + i2c59 = &nvmeslot_11;
> + };
> +
> + chosen {
> + stdout-path = &uart5;
> + };
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x80000000 0x80000000>;
> + };
> +
> + reserved-memory {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + gfx_memory: framebuffer {
> + size = <0x01000000>;
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> +
> + video_engine_memory: video {
> + size = <0x04000000>;
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> +
> + vga_memory: region@bf000000 {
> + no-map;
> + compatible = "shared-dma-pool";
> + reg = <0xbf000000 0x01000000>; /* 16M */
> + };
> + };
> +
> + voltage_mon_reg: voltage-mon-regulator {
> + compatible = "regulator-fixed";
> + regulator-name = "ltc2497_reg";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + led-bmc-ready {
> + gpios = <&gpio0 ASPEED_GPIO(W, 5) (GPIO_ACTIVE_HIGH | GPIO_TRANSITORY)>;
> + };
> +
> + led-sw-heartbeat {
> + gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
> + };
> +
> + led-identify {
> + gpios = <&gpio0 ASPEED_GPIO(S, 3) GPIO_ACTIVE_HIGH>;
> + };
> +
> + led-fault {
> + gpios = <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
> + };
> + };
> +
> + iio-hwmon {
> + compatible = "iio-hwmon";
> + io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>,
> + <&adc_i2c_2 0>, <&adc_i2c_2 1>,
> + <&adc_i2c_2 2>, <&adc_i2c_2 3>,
> + <&adc_i2c_2 4>, <&adc_i2c_2 5>,
> + <&adc_i2c_2 6>, <&adc_i2c_2 7>,
> + <&adc_i2c_2 8>, <&adc_i2c_2 9>,
> + <&adc_i2c_2 10>, <&adc_i2c_2 11>,
> + <&adc_i2c_2 12>, <&adc_i2c_2 13>,
> + <&adc_i2c_2 14>, <&adc_i2c_2 15>,
> + <&adc_i2c_0 0>, <&adc_i2c_0 1>,
> + <&adc_i2c_0 2>, <&adc_i2c_0 3>,
> + <&adc_i2c_0 4>, <&adc_i2c_0 5>,
> + <&adc_i2c_0 6>, <&adc_i2c_0 7>,
> + <&adc_i2c_0 8>, <&adc_i2c_0 9>,
> + <&adc_i2c_0 10>, <&adc_i2c_0 11>,
> + <&adc_i2c_0 12>;
> + };
> +};
> +
> +&mdio0 {
> + status = "okay";
> +
> + ethphy0: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&mac0 {
> + status = "okay";
> +
> + phy-mode = "rgmii";
> + phy-handle = <ðphy0>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rgmii1_default>;
> +};
> +
> +&mac3 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rmii4_default>;
> + clock-names = "MACCLK", "RCLK";
> + use-ncsi;
> +};
> +
> +&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"
> + };
> +};
> +
> +&spi1 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_spi1_default>;
> +
> + flash@0 {
> + status = "okay";
> + m25p,fast-read;
> + label = "pnor";
> + spi-max-frequency = <20000000>;
> + };
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&uart2 {
> + status = "okay";
> +};
> +
> +&i2c0 {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + status = "okay";
> +};
> +
> +&i2c2 {
> + status = "okay";
> + i2c-mux@70 {
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x70>;
> + i2c-mux-idle-disconnect;
> +
> + i2c2_bus70_chn0: i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x0>;
> + psu@58 {
> + compatible = "pmbus";
> + reg = <0x58>;
> + };
> +
> + psu@59 {
> + compatible = "pmbus";
> + reg = <0x59>;
> + };
> + };
> + };
> +};
> +
> +&i2c3 {
> + status = "okay";
> + bus-frequency = <1000000>;
> + multi-master;
> + mctp-controller;
> +
> + mctp@10 {
> + compatible = "mctp-i2c-controller";
> + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
> + };
> +};
> +
> +&i2c4 {
> + status = "okay";
> + eeprom@50 {
> + compatible = "atmel,24c64";
> + reg = <0x50>;
> + pagesize = <32>;
> + };
> +
> + i2c-mux@70 {
> + compatible = "nxp,pca9545";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x70>;
> + i2c-mux-idle-disconnect;
> +
> + i2c4_bus70_chn0: i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x0>;
> +
> + eeprom@52 {
> + compatible = "atmel,24c256";
> + reg = <0x52>;
> + pagesize = <32>;
> + };
> + temperature-sensor@48 {
> + compatible = "ti,tmp75";
> + reg = <0x48>;
> + };
> + temperature-sensor@49 {
> + compatible = "ti,tmp75";
> + reg = <0x49>;
> + };
> + temperature-sensor@4a{
> + compatible = "ti,tmp75";
> + reg = <0x4a>;
> + };
> + temperature-sensor@4b {
> + compatible = "ti,tmp464";
> + reg = <0x4b>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + channel@0 {
> + reg = <0x0>;
> + status = "disabled";
> + };
> + channel@1 {
> + reg = <0x1>;
> + status = "disabled";
> + };
> + channel@2 {
> + reg = <0x2>;
> + status = "disabled";
> + };
> + channel@3 {
> + reg = <0x3>;
> + status = "disabled";
> + };
> + channel@4 {
> + reg = <0x4>;
> + };
> + };
> + temperature-sensor@4d {
> + compatible = "ti,tmp75";
> + reg = <0x4d>;
> + };
> + temperature-sensor@4e {
> + compatible = "ti,tmp75";
> + reg = <0x4e>;
> + };
> + temperature-sensor@4f {
> + compatible = "ti,tmp75";
> + reg = <0x4f>;
> + };
> + temperature-sensor@28 {
> + compatible = "nuvoton,nct7802";
> + reg = <0x28>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> + channel@1 { /* RTD1 */
> + reg = <1>;
> + sensor-type = "temperature";
> + temperature-mode = "thermistor";
> + };
> + };
> + adc_i2c_0: adc@14 {
> + compatible = "lltc,ltc2497";
> + reg = <0x14>;
> + vref-supply = <&voltage_mon_reg>;
> + #io-channel-cells = <1>;
> + };
> + };
> +
> + i2c4_bus70_chn2: i2c@2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x2>;
> +
> + adc_i2c_2: adc@14 {
> + compatible = "lltc,ltc2497";
> + reg = <0x14>;
> + vref-supply = <&voltage_mon_reg>;
> + #io-channel-cells = <1>;
> + };
> + };
> + };
> +};
> +
> +&i2c5 {
> + status = "okay";
> + i2c-mux@70 {
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x70>;
> + i2c-mux-idle-disconnect;
> +
> + i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x0>;
> +
> + i2c-mux@71 {
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x71>;
> + i2c-mux-idle-disconnect;
> +
> + nvmeslot_8: i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x0>;
> + };
> + nvmeslot_9: i2c@1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x1>;
> + };
> + nvmeslot_10: i2c@2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x2>;
> + };
> + nvmeslot_11: i2c@3 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x3>;
> + };
> + };
> +
> + i2c-mux@72 {
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x72>;
> + i2c-mux-idle-disconnect;
> +
> + nvmeslot_4: i2c@4 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x4>;
> + };
> + nvmeslot_5: i2c@5 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x5>;
> + };
> + nvmeslot_6: i2c@6 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x6>;
> + };
> + nvmeslot_7: i2c@7 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x7>;
> + };
> + };
> +
> + i2c-mux@74 {
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x74>;
> + i2c-mux-idle-disconnect;
> +
> + ocpslot: i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x0>;
> +
> + ocpslot_temp: temperature-sensor@1f {
> + compatible = "ti,tmp421";
> + reg = <0x1f>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + channel@0 {
> + reg = <0x0>;
> + status = "disabled";
> + };
> + channel@1 {
> + reg = <0x1>;
> + };
> + };
> + };
> +
> + nvmeslot_0: i2c@4 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x4>;
> + };
> + nvmeslot_1: i2c@5 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x5>;
> + };
> + nvmeslot_2: i2c@6 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x6>;
> + };
> + nvmeslot_3: i2c@7 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x7>;
> + };
> + };
> + };
> + };
> +};
> +
> +&i2c6 {
> + status = "okay";
> +
> + rtc@51 {
> + compatible = "nxp,pcf8563";
> + reg = <0x51>;
> + };
> +};
> +
> +&i2c7 {
> + status = "okay";
> +
> + temperature-sensor@4f {
> + compatible = "ti,tmp75";
> + reg = <0x4f>;
> + };
> +};
> +
> +&i2c8 {
> + status = "okay";
> +
> + fan-controller@5c {
> + compatible = "onnn,adt7462";
> + reg = <0x5c>;
> + };
> +};
> +
> +&i2c9 {
> + status = "okay";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + eeprom@50 {
> + compatible = "atmel,24c02";
> + reg = <0x50>;
> + };
> +
> + eeprom@52 {
> + compatible = "atmel,24c02";
> + reg = <0x52>;
> + };
> +
> + temperature-sensor@18 {
> + compatible = "jedec,jc-42.4-temp";
> + reg = <0x18>;
> + };
> +
> + temperature-sensor@1a {
> + compatible = "jedec,jc-42.4-temp";
> + reg = <0x1a>;
> + };
> +};
> +
> +&i2c10 {
> + status = "okay";
> +};
> +
> +&i2c11 {
> + status = "okay";
> + ssif-bmc@10 {
> + compatible = "ssif-bmc";
> + reg = <0x10>;
> + };
> +};
> +
> +&i2c14 {
> + status = "okay";
> + eeprom@50 {
> + compatible = "atmel,24c64";
> + reg = <0x50>;
> + pagesize = <32>;
> + };
> +
> + bmc_ast2600_cpu: temperature-sensor@48 {
> + compatible = "ti,tmp75";
> + reg = <0x48>;
> + };
> +};
> +
> +&i2c15 {
> + status = "okay";
> + gpio_expander1: gpio-expander@22 {
> + compatible = "nxp,pca9535";
> + reg = <0x22>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-line-names =
> + "presence-ocp1","presence-ocp2",
> + "","",
> + "","",
> + "","",
> + "","",
> + "","",
> + "","",
> + "","";
> + };
> +};
> +
> +&adc0 {
> + status = "okay";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
> + &pinctrl_adc2_default>;
> +};
> +
> +&vhub {
> + status = "okay";
> +};
> +
> +&video {
> + status = "okay";
> + memory-region = <&video_engine_memory>;
> +};
> +
> +&gpio0 {
> + gpio-line-names =
> + /*A0-A7*/ "","","","","cpu-type-detect","i2c2-reset-n","i2c6-reset-n","i2c5-reset-n",
> + /*B0-B7*/ "","","","","host0-sysreset-n","host0-pmin-n","fru-rd-complete",
> + "chassis-id-sel",
> + /*C0-C7*/ "s0-vrd-fault-n","","bmc-debug-mode","","cpld-3v3-irq-n","","vrd-sel",
> + "spd-sel",
> + /*D0-D7*/ "presence-ps0","presence-ps1","hsc-12vmain-alt2-n","ext-high-temp-n",
> + "","","","",
> + /*E0-E7*/ "eth-phy-rst-n","eth-phy-int-n","","","","","","",
> + /*F0-F7*/ "s0-pcp-oc-warn-n","","power-chassis-control",
> + "cpu-bios-recover","s0-heartbeat","hs-scout-proc-hot","s0-vr-hot-n","",
> + /*G0-G7*/ "","","hsc-12vmain-alt1-n","","","bp-cpld-program-en","led-fp-sta-gr",
> + "led-fp-sta-amb",
> + /*H0-H7*/ "jtag-program-sel","jtag-cmpl2","wd-disable-n","power-chassis-good","","",
> + "","",
> + /*I0-I7*/ "","","","","","","power-button","rtc-battery-voltage-read-enable",
> + /*J0-J7*/ "","","","","","","","",
> + /*K0-K7*/ "","","","","","","","",
> + /*L0-L7*/ "","","","","reset-button","","","",
> + /*M0-M7*/ "nmi-n","s0-ddr-save","soc-spi-nor-access","presence-cpu0","s0-rtc-lock",
> + "","","",
> + /*N0-N7*/ "hpm-fw-recovery","hpm-stby-rst-n","jtag-sel-s0","led-sw-hb",
> + "jtag-dbgr-prsnt-n","","","",
> + /*O0-O7*/ "","","","","","","","",
> + /*P0-P7*/ "ps0-ac-loss-n","ps1-ac-loss-n","","","led-fault","user-mode","jtag-srst-n",
> + "led-bmc-hb",
> + /*Q0-Q7*/ "","","","","","","","",
> + /*R0-R7*/ "","","","","","","","",
> + /*S0-S7*/ "","","identify-button","led-identify","","spi-nor-access","host0-ready","",
> + /*T0-T7*/ "","","","","","","","",
> + /*U0-U7*/ "","","","","","","","",
> + /*V0-V7*/ "s0-hightemp-n","s0-fault-alert","s0-sys-auth-failure-n",
> + "host0-reboot-ack-n","s0-fw-boot-ok","host0-shd-req-n",
> + "host0-shd-ack-n","s0-overtemp-n",
> + /*W0-W7*/ "ocp-aux-pwren","ocp-main-pwren","ocp-pgood","",
> + "bmc-ok","bmc-ready","spi0-program-sel","spi0-backup-sel",
> + /*X0-X7*/ "","","","","","","","",
> + /*Y0-Y7*/ "","","","vrd-prg-en-n","","","","host0-special-boot",
> + /*Z0-Z7*/ "","ps0-pgood","ps1-pgood","","","","","";
> +
> + ocp-aux-pwren-hog {
> + gpio-hog;
> + gpios = <ASPEED_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "ocp-aux-pwren";
> + };
> +
> +};
> +
> +&gpio1 {
> + gpio-line-names =
> + /*18A0-18A7*/ "","","","","","","","",
> + /*18B0-18B7*/ "","","","","s0-soc-pgood","vga-ft-press-n","emmc-rst-n","s01-uart1-sel",
> + /*18C0-18C7*/ "uart1-mode0","uart1-mode1","uart2-mode0","uart2-mode1",
> + "","","","",
> + /*18D0-18D7*/ "","","","","","","","",
> + /*18E0-18E3*/ "","","","";
> +};
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-14 10:50 [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC Chanh Nguyen
2024-10-14 10:54 ` Chanh Nguyen
@ 2024-10-14 11:58 ` Krzysztof Kozlowski
2024-10-14 15:02 ` Chanh Nguyen
2024-10-14 14:05 ` Rob Herring (Arm)
2024-10-18 4:34 ` Andrew Jeffery
3 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-14 11:58 UTC (permalink / raw)
To: Chanh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Joel Stanley, Andrew Jeffery, devicetree, linux-arm-kernel,
linux-aspeed, linux-kernel, OpenBMC Maillist,
Open Source Submission
Cc: Phong Vo, Thang Nguyen, Quan Nguyen, Khanh Pham
On 14/10/2024 12:50, Chanh Nguyen wrote:
> The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
> hardware reference platform with AmpereOne(TM)M processor.
>
> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
> ---
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
> 2 files changed, 647 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>
> diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
> index c4f064e4b073..b1fb0853a789 100644
> --- a/arch/arm/boot/dts/aspeed/Makefile
> +++ b/arch/arm/boot/dts/aspeed/Makefile
> @@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-amd-daytonax.dtb \
> aspeed-bmc-amd-ethanolx.dtb \
> aspeed-bmc-ampere-mtjade.dtb \
> + aspeed-bmc-ampere-mtjefferson.dtb \
> aspeed-bmc-ampere-mtmitchell.dtb \
> aspeed-bmc-arm-stardragon4800-rep2.dtb \
> aspeed-bmc-asrock-e3c246d4i.dtb \
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
> new file mode 100644
> index 000000000000..f24111ab9e65
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
> @@ -0,0 +1,646 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +// Copyright 2024 Ampere Computing LLC.
> +
> +/dts-v1/;
> +
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/i2c/i2c.h>
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +
> +/ {
> + model = "Ampere Mt. Jefferson BMC";
> + compatible = "ampere,mtjefferson-bmc", "aspeed,ast2600";
Missing binding.
Please run scripts/checkpatch.pl and fix reported warnings. Then please
run `scripts/checkpatch.pl --strict` and (probably) fix more warnings.
Some warnings can be ignored, especially from --strict run, but the code
here looks like it needs a fix. Feel free to get in touch if the warning
is not clear.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-14 10:50 [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC Chanh Nguyen
2024-10-14 10:54 ` Chanh Nguyen
2024-10-14 11:58 ` Krzysztof Kozlowski
@ 2024-10-14 14:05 ` Rob Herring (Arm)
2024-10-15 0:44 ` Andrew Jeffery
2024-10-18 4:34 ` Andrew Jeffery
3 siblings, 1 reply; 14+ messages in thread
From: Rob Herring (Arm) @ 2024-10-14 14:05 UTC (permalink / raw)
To: Chanh Nguyen
Cc: Joel Stanley, devicetree, linux-kernel, Khanh Pham,
linux-arm-kernel, Thang Nguyen, Andrew Jeffery,
Krzysztof Kozlowski, Phong Vo, Conor Dooley, Rob Herring,
OpenBMC Maillist, Open Source Submission, Quan Nguyen,
linux-aspeed
On Mon, 14 Oct 2024 10:50:31 +0000, Chanh Nguyen wrote:
> The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
> hardware reference platform with AmpereOne(TM)M processor.
>
> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
> ---
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
> 2 files changed, 647 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y aspeed/aspeed-bmc-ampere-mtjefferson.dtb' for 20241014105031.1963079-1-chanh@os.amperecomputing.com:
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed:
'ampere,mtjefferson-bmc' is not one of ['delta,ahe50dc-bmc', 'facebook,galaxy100-bmc', 'facebook,wedge100-bmc', 'facebook,wedge40-bmc', 'microsoft,olympus-bmc', 'quanta,q71l-bmc', 'tyan,palmetto-bmc', 'yadro,vesnin-bmc']
'ampere,mtjefferson-bmc' is not one of ['amd,daytonax-bmc', 'amd,ethanolx-bmc', 'ampere,mtjade-bmc', 'aspeed,ast2500-evb', 'asrock,e3c246d4i-bmc', 'asrock,e3c256d4i-bmc', 'asrock,romed8hm3-bmc', 'asrock,spc621d8hm3-bmc', 'asrock,x570d4u-bmc', 'bytedance,g220a-bmc', 'facebook,cmm-bmc', 'facebook,minipack-bmc', 'facebook,tiogapass-bmc', 'facebook,yamp-bmc', 'facebook,yosemitev2-bmc', 'facebook,wedge400-bmc', 'hxt,stardragon4800-rep2-bmc', 'ibm,mihawk-bmc', 'ibm,mowgli-bmc', 'ibm,romulus-bmc', 'ibm,swift-bmc', 'ibm,witherspoon-bmc', 'ingrasys,zaius-bmc', 'inspur,fp5280g2-bmc', 'inspur,nf5280m6-bmc', 'inspur,on5263m5-bmc', 'intel,s2600wf-bmc', 'inventec,lanyang-bmc', 'lenovo,hr630-bmc', 'lenovo,hr855xg2-bmc', 'portwell,neptune-bmc', 'qcom,centriq2400-rep-bmc', 'supermicro,x11spi-bmc', 'tyan,s7106-bmc', 'tyan,s8036-bmc', 'yadro,nicole-bmc', 'yadro,vegman-n110-bmc', 'yadro,vegman-rx20-bmc', 'yadro,vegman-sx20-bmc']
'ampere,mtjefferson-bmc' is not one of ['ampere,mtmitchell-bmc', 'aspeed,ast2600-evb', 'aspeed,ast2600-evb-a1', 'asus,x4tf-bmc', 'facebook,bletchley-bmc', 'facebook,catalina-bmc', 'facebook,cloudripper-bmc', 'facebook,elbert-bmc', 'facebook,fuji-bmc', 'facebook,greatlakes-bmc', 'facebook,harma-bmc', 'facebook,minerva-cmc', 'facebook,yosemite4-bmc', 'ibm,blueridge-bmc', 'ibm,everest-bmc', 'ibm,fuji-bmc', 'ibm,rainier-bmc', 'ibm,system1-bmc', 'ibm,tacoma-bmc', 'inventec,starscream-bmc', 'inventec,transformer-bmc', 'jabil,rbp-bmc', 'qcom,dc-scm-v1-bmc', 'quanta,s6q-bmc', 'ufispace,ncplite-bmc']
'aspeed,ast2400' was expected
'aspeed,ast2500' was expected
from schema $id: http://devicetree.org/schemas/arm/aspeed/aspeed.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /: failed to match any schema with compatible: ['ampere,mtjefferson-bmc', 'aspeed,ast2600']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: timer: 'clocks' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /sdram@1e6e0000: failed to match any schema with compatible: ['aspeed,ast2600-sdram-edac', 'syscon']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: bus@1e600000: compatible: ['aspeed,ast2600-ahbc', 'syscon'] is too long
from schema $id: http://devicetree.org/schemas/bus/aspeed,ast2600-ahbc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: syscon@1e6e2000: 'smp-memram@180' does not match any of the regexes: '^interrupt-controller@[0-9a-f]+$', '^p2a-control@[0-9a-f]+$', '^pinctrl(@[0-9a-f]+)?$', '^silicon-id@[0-9a-f]+$', 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/mfd/aspeed,ast2x00-scu.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/syscon@1e6e2000/smp-memram@180: failed to match any schema with compatible: ['aspeed,ast2600-smpmem']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/syscon@1e6e2000/interrupt-controller@560: failed to match any schema with compatible: ['aspeed,ast2600-scu-ic0']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/syscon@1e6e2000/interrupt-controller@570: failed to match any schema with compatible: ['aspeed,ast2600-scu-ic1']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/display@1e6e6000: failed to match any schema with compatible: ['aspeed,ast2600-gfx', 'syscon']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: adc@1e6e9000: 'interrupts' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/iio/adc/aspeed,ast2600-adc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: adc@1e6e9100: 'interrupts' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/iio/adc/aspeed,ast2600-adc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: crypto@1e6fa000: 'aspeed,ahbc' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/crypto/aspeed,ast2600-acry.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/video@1e700000: failed to match any schema with compatible: ['aspeed,ast2600-video-engine']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: gpio@1e780000: 'ocp-aux-pwren-hog' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/timer@1e782000: failed to match any schema with compatible: ['aspeed,ast2600-timer']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: lpc@1e789000: lpc-snoop@80: 'clocks' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/mfd/aspeed-lpc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: lpc@1e789000: reg-io-width: 4 is not of type 'object'
from schema $id: http://devicetree.org/schemas/mfd/aspeed-lpc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: kcs@24: 'clocks' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: kcs@28: 'clocks' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: kcs@2c: 'clocks' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: kcs@114: 'clocks' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/ipmi/aspeed,ast2400-kcs-bmc.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/lpc@1e789000/lhc@a0: failed to match any schema with compatible: ['aspeed,ast2600-lhc']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/lpc@1e789000/ibt@140: failed to match any schema with compatible: ['aspeed,ast2600-ibt-bmc']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: sdc@1e740000: sdhci@1e740100:compatible: ['aspeed,ast2600-sdhci', 'sdhci'] is too long
from schema $id: http://devicetree.org/schemas/mmc/aspeed,sdhci.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: sdc@1e740000: sdhci@1e740200:compatible: ['aspeed,ast2600-sdhci', 'sdhci'] is too long
from schema $id: http://devicetree.org/schemas/mmc/aspeed,sdhci.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/sdc@1e740000/sdhci@1e740100: failed to match any schema with compatible: ['aspeed,ast2600-sdhci', 'sdhci']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/sdc@1e740000/sdhci@1e740200: failed to match any schema with compatible: ['aspeed,ast2600-sdhci', 'sdhci']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@58: failed to match any schema with compatible: ['pmbus']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@59: failed to match any schema with compatible: ['pmbus']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: fsi@1e79b000: compatible: ['aspeed,ast2600-fsi-master', 'fsi-master'] is too long
from schema $id: http://devicetree.org/schemas/fsi/aspeed,ast2600-fsi-master.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/fsi@1e79b000: failed to match any schema with compatible: ['aspeed,ast2600-fsi-master', 'fsi-master']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: fsi@1e79b100: compatible: ['aspeed,ast2600-fsi-master', 'fsi-master'] is too long
from schema $id: http://devicetree.org/schemas/fsi/aspeed,ast2600-fsi-master.yaml#
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/fsi@1e79b100: failed to match any schema with compatible: ['aspeed,ast2600-fsi-master', 'fsi-master']
arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/dma-controller@1e79e000: failed to match any schema with compatible: ['aspeed,ast2600-udma']
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-14 11:58 ` Krzysztof Kozlowski
@ 2024-10-14 15:02 ` Chanh Nguyen
0 siblings, 0 replies; 14+ messages in thread
From: Chanh Nguyen @ 2024-10-14 15:02 UTC (permalink / raw)
To: Krzysztof Kozlowski, Chanh Nguyen, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Joel Stanley, Andrew Jeffery,
devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
OpenBMC Maillist, Open Source Submission
Cc: Phong Vo, Thang Nguyen, Quan Nguyen, Khanh Pham
On 14/10/2024 18:58, Krzysztof Kozlowski wrote:
> On 14/10/2024 12:50, Chanh Nguyen wrote:
>> The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
>> hardware reference platform with AmpereOne(TM)M processor.
>>
>> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
>> ---
>> arch/arm/boot/dts/aspeed/Makefile | 1 +
>> .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
>> 2 files changed, 647 insertions(+)
>> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>>
>> diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
>> index c4f064e4b073..b1fb0853a789 100644
>> --- a/arch/arm/boot/dts/aspeed/Makefile
>> +++ b/arch/arm/boot/dts/aspeed/Makefile
>> @@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
>> aspeed-bmc-amd-daytonax.dtb \
>> aspeed-bmc-amd-ethanolx.dtb \
>> aspeed-bmc-ampere-mtjade.dtb \
>> + aspeed-bmc-ampere-mtjefferson.dtb \
>> aspeed-bmc-ampere-mtmitchell.dtb \
>> aspeed-bmc-arm-stardragon4800-rep2.dtb \
>> aspeed-bmc-asrock-e3c246d4i.dtb \
>> diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>> new file mode 100644
>> index 000000000000..f24111ab9e65
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>> @@ -0,0 +1,646 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>> +// Copyright 2024 Ampere Computing LLC.
>> +
>> +/dts-v1/;
>> +
>> +#include "aspeed-g6.dtsi"
>> +#include <dt-bindings/i2c/i2c.h>
>> +#include <dt-bindings/gpio/aspeed-gpio.h>
>> +
>> +/ {
>> + model = "Ampere Mt. Jefferson BMC";
>> + compatible = "ampere,mtjefferson-bmc", "aspeed,ast2600";
>
> Missing binding.
>
> Please run scripts/checkpatch.pl and fix reported warnings. Then please
> run `scripts/checkpatch.pl --strict` and (probably) fix more warnings.
> Some warnings can be ignored, especially from --strict run, but the code
> here looks like it needs a fix. Feel free to get in touch if the warning
> is not clear.
>
Thank Krzysztof for your review!
I will add my board to dt-bindings in patch v2.
Follow some previous patches on
Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
https://lore.kernel.org/all/20240805-potin-catalina-dts-v7-1-286bfd2ab93b@gmail.com/
https://lore.kernel.org/all/20240522192524.3286237-13-eajames@linux.ibm.com/
https://lore.kernel.org/all/20240502002836.17862-7-zev@bewilderbeest.net/
Best regards,
Chanh
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-14 14:05 ` Rob Herring (Arm)
@ 2024-10-15 0:44 ` Andrew Jeffery
2024-10-15 6:39 ` Chanh Nguyen
0 siblings, 1 reply; 14+ messages in thread
From: Andrew Jeffery @ 2024-10-15 0:44 UTC (permalink / raw)
To: Chanh Nguyen
Cc: Rob Herring (Arm), Joel Stanley, devicetree, linux-kernel,
Khanh Pham, linux-arm-kernel, Thang Nguyen, Krzysztof Kozlowski,
Phong Vo, Conor Dooley, Rob Herring, OpenBMC Maillist,
Open Source Submission, Quan Nguyen, linux-aspeed
Hi Chanh,
On Mon, 2024-10-14 at 09:05 -0500, Rob Herring (Arm) wrote:
> On Mon, 14 Oct 2024 10:50:31 +0000, Chanh Nguyen wrote:
> > The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
> > hardware reference platform with AmpereOne(TM)M processor.
> >
> > Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
> > ---
> > arch/arm/boot/dts/aspeed/Makefile | 1 +
> > .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
> > 2 files changed, 647 insertions(+)
> > create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
> >
>
>
> My bot found new DTB warnings on the .dts files added or changed in this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> are fixed by another series. Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
> pip3 install dtschema --upgrade
>
>
> New warnings running 'make CHECK_DTBS=y aspeed/aspeed-bmc-ampere-mtjefferson.dtb' for 20241014105031.1963079-1-chanh@os.amperecomputing.com:
>
> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed:
> 'ampere,mtjefferson-bmc' is not one of ['delta,ahe50dc-bmc', 'facebook,galaxy100-bmc', 'facebook,wedge100-bmc', 'facebook,wedge40-bmc', 'microsoft,olympus-bmc', 'quanta,q71l-bmc', 'tyan,palmetto-bmc', 'yadro,vesnin-bmc']
> 'ampere,mtjefferson-bmc' is not one of ['amd,daytonax-bmc', 'amd,ethanolx-bmc', 'ampere,mtjade-bmc', 'aspeed,ast2500-evb', 'asrock,e3c246d4i-bmc', 'asrock,e3c256d4i-bmc', 'asrock,romed8hm3-bmc', 'asrock,spc621d8hm3-bmc', 'asrock,x570d4u-bmc', 'bytedance,g220a-bmc', 'facebook,cmm-bmc', 'facebook,minipack-bmc', 'facebook,tiogapass-bmc', 'facebook,yamp-bmc', 'facebook,yosemitev2-bmc', 'facebook,wedge400-bmc', 'hxt,stardragon4800-rep2-bmc', 'ibm,mihawk-bmc', 'ibm,mowgli-bmc', 'ibm,romulus-bmc', 'ibm,swift-bmc', 'ibm,witherspoon-bmc', 'ingrasys,zaius-bmc', 'inspur,fp5280g2-bmc', 'inspur,nf5280m6-bmc', 'inspur,on5263m5-bmc', 'intel,s2600wf-bmc', 'inventec,lanyang-bmc', 'lenovo,hr630-bmc', 'lenovo,hr855xg2-bmc', 'portwell,neptune-bmc', 'qcom,centriq2400-rep-bmc', 'supermicro,x11spi-bmc', 'tyan,s7106-bmc', 'tyan,s8036-bmc', 'yadro,nicole-bmc', 'yadro,vegman-n110-bmc', 'yadro,vegman-rx20-bmc', 'yadro,vegman-sx20-bmc']
> 'ampere,mtjefferson-bmc' is not one of ['ampere,mtmitchell-bmc', 'aspeed,ast2600-evb', 'aspeed,ast2600-evb-a1', 'asus,x4tf-bmc', 'facebook,bletchley-bmc', 'facebook,catalina-bmc', 'facebook,cloudripper-bmc', 'facebook,elbert-bmc', 'facebook,fuji-bmc', 'facebook,greatlakes-bmc', 'facebook,harma-bmc', 'facebook,minerva-cmc', 'facebook,yosemite4-bmc', 'ibm,blueridge-bmc', 'ibm,everest-bmc', 'ibm,fuji-bmc', 'ibm,rainier-bmc', 'ibm,system1-bmc', 'ibm,tacoma-bmc', 'inventec,starscream-bmc', 'inventec,transformer-bmc', 'jabil,rbp-bmc', 'qcom,dc-scm-v1-bmc', 'quanta,s6q-bmc', 'ufispace,ncplite-bmc']
> 'aspeed,ast2400' was expected
> 'aspeed,ast2500' was expected
> from schema $id: http://devicetree.org/schemas/arm/aspeed/aspeed.yaml#
>
This needs to be fixed as pointed out by Krzysztof.
*snip*
> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@58: failed to match any schema with compatible: ['pmbus']
> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@59: failed to match any schema with compatible: ['pmbus']
These two should also be fixed. The compatible must describe the
physical device, not the communication/application protocol. It may be
necessary to add a binding if there's not one already for the device.
Andrew
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-15 0:44 ` Andrew Jeffery
@ 2024-10-15 6:39 ` Chanh Nguyen
2024-10-16 5:07 ` Andrew Jeffery
0 siblings, 1 reply; 14+ messages in thread
From: Chanh Nguyen @ 2024-10-15 6:39 UTC (permalink / raw)
To: Andrew Jeffery, Chanh Nguyen
Cc: Rob Herring (Arm), Joel Stanley, devicetree, linux-kernel,
Khanh Pham, linux-arm-kernel, Thang Nguyen, Krzysztof Kozlowski,
Phong Vo, Conor Dooley, Rob Herring, OpenBMC Maillist,
Open Source Submission, Quan Nguyen, linux-aspeed
On 15/10/2024 07:44, Andrew Jeffery wrote:
> Hi Chanh,
>
> On Mon, 2024-10-14 at 09:05 -0500, Rob Herring (Arm) wrote:
>> On Mon, 14 Oct 2024 10:50:31 +0000, Chanh Nguyen wrote:
>>> The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
>>> hardware reference platform with AmpereOne(TM)M processor.
>>>
>>> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
>>> ---
>>> arch/arm/boot/dts/aspeed/Makefile | 1 +
>>> .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
>>> 2 files changed, 647 insertions(+)
>>> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>>>
>>
>>
>> My bot found new DTB warnings on the .dts files added or changed in this
>> series.
>>
>> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
>> are fixed by another series. Ultimately, it is up to the platform
>> maintainer whether these warnings are acceptable or not. No need to reply
>> unless the platform maintainer has comments.
>>
>> If you already ran DT checks and didn't see these error(s), then
>> make sure dt-schema is up to date:
>>
>> pip3 install dtschema --upgrade
>>
>>
>> New warnings running 'make CHECK_DTBS=y aspeed/aspeed-bmc-ampere-mtjefferson.dtb' for 20241014105031.1963079-1-chanh@os.amperecomputing.com:
>>
>> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed:
>> 'ampere,mtjefferson-bmc' is not one of ['delta,ahe50dc-bmc', 'facebook,galaxy100-bmc', 'facebook,wedge100-bmc', 'facebook,wedge40-bmc', 'microsoft,olympus-bmc', 'quanta,q71l-bmc', 'tyan,palmetto-bmc', 'yadro,vesnin-bmc']
>> 'ampere,mtjefferson-bmc' is not one of ['amd,daytonax-bmc', 'amd,ethanolx-bmc', 'ampere,mtjade-bmc', 'aspeed,ast2500-evb', 'asrock,e3c246d4i-bmc', 'asrock,e3c256d4i-bmc', 'asrock,romed8hm3-bmc', 'asrock,spc621d8hm3-bmc', 'asrock,x570d4u-bmc', 'bytedance,g220a-bmc', 'facebook,cmm-bmc', 'facebook,minipack-bmc', 'facebook,tiogapass-bmc', 'facebook,yamp-bmc', 'facebook,yosemitev2-bmc', 'facebook,wedge400-bmc', 'hxt,stardragon4800-rep2-bmc', 'ibm,mihawk-bmc', 'ibm,mowgli-bmc', 'ibm,romulus-bmc', 'ibm,swift-bmc', 'ibm,witherspoon-bmc', 'ingrasys,zaius-bmc', 'inspur,fp5280g2-bmc', 'inspur,nf5280m6-bmc', 'inspur,on5263m5-bmc', 'intel,s2600wf-bmc', 'inventec,lanyang-bmc', 'lenovo,hr630-bmc', 'lenovo,hr855xg2-bmc', 'portwell,neptune-bmc', 'qcom,centriq2400-rep-bmc', 'supermicro,x11spi-bmc', 'tyan,s7106-bmc', 'tyan,s8036-bmc', 'yadro,nicole-bmc', 'yadro,vegman-n110-bmc', 'yadro,vegman-rx20-bmc', 'yadro,vegman-sx20-bmc']
>> 'ampere,mtjefferson-bmc' is not one of ['ampere,mtmitchell-bmc', 'aspeed,ast2600-evb', 'aspeed,ast2600-evb-a1', 'asus,x4tf-bmc', 'facebook,bletchley-bmc', 'facebook,catalina-bmc', 'facebook,cloudripper-bmc', 'facebook,elbert-bmc', 'facebook,fuji-bmc', 'facebook,greatlakes-bmc', 'facebook,harma-bmc', 'facebook,minerva-cmc', 'facebook,yosemite4-bmc', 'ibm,blueridge-bmc', 'ibm,everest-bmc', 'ibm,fuji-bmc', 'ibm,rainier-bmc', 'ibm,system1-bmc', 'ibm,tacoma-bmc', 'inventec,starscream-bmc', 'inventec,transformer-bmc', 'jabil,rbp-bmc', 'qcom,dc-scm-v1-bmc', 'quanta,s6q-bmc', 'ufispace,ncplite-bmc']
>> 'aspeed,ast2400' was expected
>> 'aspeed,ast2500' was expected
>> from schema $id: http://devicetree.org/schemas/arm/aspeed/aspeed.yaml#
>>
>
> This needs to be fixed as pointed out by Krzysztof.
>
Thank Andrew, I'll update that in patch v2
> *snip*
>
>> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@58: failed to match any schema with compatible: ['pmbus']
>> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@59: failed to match any schema with compatible: ['pmbus']
>
> These two should also be fixed. The compatible must describe the
> physical device, not the communication/application protocol. It may be
> necessary to add a binding if there's not one already for the device.
>
Hi Andrew, My device is following the pmbus specification. So I'm using
the generic pmbus driver
(https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/hwmon/pmbus/pmbus.c#n237)
to probe my device. In arch/arm/boot/dts/aspeed/ directory, many boards
are also using this compatible to probe our devices.
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-lenovo-hr855xg2.dts#n219
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-inventec-transformers.dts#n263
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-tyan-s8036.dts#n260
Andrew, Recently I saw the ASPEED platform's maintainer accept the
"pmbus" compatible with a warning log. You can see in the below list
that patches were merged recently.
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=bb3776e564d2190db0ef45609e66f13c60ce5b48
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=28cfb03afcb20a841e96e821ba20870a7c437034
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=36d96827f480e90037d162098061333e279ea35f
Regards,
Chanh Ng
> Andrew
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-15 6:39 ` Chanh Nguyen
@ 2024-10-16 5:07 ` Andrew Jeffery
2024-10-16 10:26 ` Chanh Nguyen
0 siblings, 1 reply; 14+ messages in thread
From: Andrew Jeffery @ 2024-10-16 5:07 UTC (permalink / raw)
To: Chanh Nguyen, Chanh Nguyen
Cc: Rob Herring (Arm), Joel Stanley, devicetree, linux-kernel,
Khanh Pham, linux-arm-kernel, Thang Nguyen, Krzysztof Kozlowski,
Phong Vo, Conor Dooley, Rob Herring, OpenBMC Maillist,
Open Source Submission, Quan Nguyen, linux-aspeed
On Tue, 2024-10-15 at 13:39 +0700, Chanh Nguyen wrote:
>
> On 15/10/2024 07:44, Andrew Jeffery wrote:
> > Hi Chanh,
> >
> > On Mon, 2024-10-14 at 09:05 -0500, Rob Herring (Arm) wrote:
> > > On Mon, 14 Oct 2024 10:50:31 +0000, Chanh Nguyen wrote:
> > > > The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
> > > > hardware reference platform with AmpereOne(TM)M processor.
> > > >
> > > > Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
> > > > ---
> > > > arch/arm/boot/dts/aspeed/Makefile | 1 +
> > > > .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
> > > > 2 files changed, 647 insertions(+)
> > > > create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
> > > >
> > >
> > >
> > > My bot found new DTB warnings on the .dts files added or changed in this
> > > series.
> > >
> > > Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> > > are fixed by another series. Ultimately, it is up to the platform
> > > maintainer whether these warnings are acceptable or not. No need to reply
> > > unless the platform maintainer has comments.
> > >
> > > If you already ran DT checks and didn't see these error(s), then
> > > make sure dt-schema is up to date:
> > >
> > > pip3 install dtschema --upgrade
> > >
> > >
> > > New warnings running 'make CHECK_DTBS=y aspeed/aspeed-bmc-ampere-mtjefferson.dtb' for 20241014105031.1963079-1-chanh@os.amperecomputing.com:
> > >
> > > arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed:
> > > 'ampere,mtjefferson-bmc' is not one of ['delta,ahe50dc-bmc', 'facebook,galaxy100-bmc', 'facebook,wedge100-bmc', 'facebook,wedge40-bmc', 'microsoft,olympus-bmc', 'quanta,q71l-bmc', 'tyan,palmetto-bmc', 'yadro,vesnin-bmc']
> > > 'ampere,mtjefferson-bmc' is not one of ['amd,daytonax-bmc', 'amd,ethanolx-bmc', 'ampere,mtjade-bmc', 'aspeed,ast2500-evb', 'asrock,e3c246d4i-bmc', 'asrock,e3c256d4i-bmc', 'asrock,romed8hm3-bmc', 'asrock,spc621d8hm3-bmc', 'asrock,x570d4u-bmc', 'bytedance,g220a-bmc', 'facebook,cmm-bmc', 'facebook,minipack-bmc', 'facebook,tiogapass-bmc', 'facebook,yamp-bmc', 'facebook,yosemitev2-bmc', 'facebook,wedge400-bmc', 'hxt,stardragon4800-rep2-bmc', 'ibm,mihawk-bmc', 'ibm,mowgli-bmc', 'ibm,romulus-bmc', 'ibm,swift-bmc', 'ibm,witherspoon-bmc', 'ingrasys,zaius-bmc', 'inspur,fp5280g2-bmc', 'inspur,nf5280m6-bmc', 'inspur,on5263m5-bmc', 'intel,s2600wf-bmc', 'inventec,lanyang-bmc', 'lenovo,hr630-bmc', 'lenovo,hr855xg2-bmc', 'portwell,neptune-bmc', 'qcom,centriq2400-rep-bmc', 'supermicro,x11spi-bmc', 'tyan,s7106-bmc', 'tyan,s8036-bmc', 'yadro,nicole-bmc', 'yadro,vegman-n110-bmc', 'yadro,vegman-rx20-bmc', 'yadro,vegman-sx20-bmc']
> > > 'ampere,mtjefferson-bmc' is not one of ['ampere,mtmitchell-bmc', 'aspeed,ast2600-evb', 'aspeed,ast2600-evb-a1', 'asus,x4tf-bmc', 'facebook,bletchley-bmc', 'facebook,catalina-bmc', 'facebook,cloudripper-bmc', 'facebook,elbert-bmc', 'facebook,fuji-bmc', 'facebook,greatlakes-bmc', 'facebook,harma-bmc', 'facebook,minerva-cmc', 'facebook,yosemite4-bmc', 'ibm,blueridge-bmc', 'ibm,everest-bmc', 'ibm,fuji-bmc', 'ibm,rainier-bmc', 'ibm,system1-bmc', 'ibm,tacoma-bmc', 'inventec,starscream-bmc', 'inventec,transformer-bmc', 'jabil,rbp-bmc', 'qcom,dc-scm-v1-bmc', 'quanta,s6q-bmc', 'ufispace,ncplite-bmc']
> > > 'aspeed,ast2400' was expected
> > > 'aspeed,ast2500' was expected
> > > from schema $id: http://devicetree.org/schemas/arm/aspeed/aspeed.yaml#
> > >
> >
> > This needs to be fixed as pointed out by Krzysztof.
> >
>
> Thank Andrew, I'll update that in patch v2
>
> > *snip*
> >
> > > arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@58: failed to match any schema with compatible: ['pmbus']
> > > arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@59: failed to match any schema with compatible: ['pmbus']
> >
> > These two should also be fixed. The compatible must describe the
> > physical device, not the communication/application protocol. It may be
> > necessary to add a binding if there's not one already for the device.
> >
>
> Hi Andrew, My device is following the pmbus specification. So I'm using
> the generic pmbus driver
> (https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/hwmon/pmbus/pmbus.c#n237)
> to probe my device.
>
The devicetree doesn't describe drivers though, it describes devices.
The compatible string needs to represent the device.
> In arch/arm/boot/dts/aspeed/ directory, many boards
> are also using this compatible to probe our devices.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-lenovo-hr855xg2.dts#n219
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-inventec-transformers.dts#n263
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-tyan-s8036.dts#n260
>
> Andrew, Recently I saw the ASPEED platform's maintainer accept the
> "pmbus" compatible with a warning log. You can see in the below list
> that patches were merged recently.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=bb3776e564d2190db0ef45609e66f13c60ce5b48
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=28cfb03afcb20a841e96e821ba20870a7c437034
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=36d96827f480e90037d162098061333e279ea35f
>
Unfortunately for your argument, I'm not trying to make the case that
some people are allowed to do this and others (such as yourself) are
not.
Rather, this is the review process in action, where hopefully everyone,
including myself, tries to improve their practices with feedback.
You can also find discussions where other maintainers (Guenter, hwmon
maintainer; Krzysztof, devicetree maintainer) have asked that "pmbus"
not be used as a compatible:
https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
The tools are asking you to do something different via the warnings,
and so am I :) Please define the compatible according to the device
used in the design.
Thanks,
Andrew
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-16 5:07 ` Andrew Jeffery
@ 2024-10-16 10:26 ` Chanh Nguyen
2024-10-17 0:08 ` Andrew Jeffery
0 siblings, 1 reply; 14+ messages in thread
From: Chanh Nguyen @ 2024-10-16 10:26 UTC (permalink / raw)
To: Andrew Jeffery, Chanh Nguyen
Cc: Rob Herring (Arm), Joel Stanley, devicetree, linux-kernel,
Khanh Pham, linux-arm-kernel, Thang Nguyen, Krzysztof Kozlowski,
Phong Vo, Conor Dooley, Rob Herring, OpenBMC Maillist,
Open Source Submission, Quan Nguyen, linux-aspeed
On 16/10/2024 12:07, Andrew Jeffery wrote:
> On Tue, 2024-10-15 at 13:39 +0700, Chanh Nguyen wrote:
>>
>> On 15/10/2024 07:44, Andrew Jeffery wrote:
>>> Hi Chanh,
>>>
>>> On Mon, 2024-10-14 at 09:05 -0500, Rob Herring (Arm) wrote:
>>>> On Mon, 14 Oct 2024 10:50:31 +0000, Chanh Nguyen wrote:
>>>>> The Mt. Jefferson BMC is an ASPEED AST2600-based BMC for the Mt. Jefferson
>>>>> hardware reference platform with AmpereOne(TM)M processor.
>>>>>
>>>>> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
>>>>> ---
>>>>> arch/arm/boot/dts/aspeed/Makefile | 1 +
>>>>> .../aspeed/aspeed-bmc-ampere-mtjefferson.dts | 646 ++++++++++++++++++
>>>>> 2 files changed, 647 insertions(+)
>>>>> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts
>>>>>
>>>>
>>>>
>>>> My bot found new DTB warnings on the .dts files added or changed in this
>>>> series.
>>>>
>>>> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
>>>> are fixed by another series. Ultimately, it is up to the platform
>>>> maintainer whether these warnings are acceptable or not. No need to reply
>>>> unless the platform maintainer has comments.
>>>>
>>>> If you already ran DT checks and didn't see these error(s), then
>>>> make sure dt-schema is up to date:
>>>>
>>>> pip3 install dtschema --upgrade
>>>>
>>>>
>>>> New warnings running 'make CHECK_DTBS=y aspeed/aspeed-bmc-ampere-mtjefferson.dtb' for 20241014105031.1963079-1-chanh@os.amperecomputing.com:
>>>>
>>>> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed:
>>>> 'ampere,mtjefferson-bmc' is not one of ['delta,ahe50dc-bmc', 'facebook,galaxy100-bmc', 'facebook,wedge100-bmc', 'facebook,wedge40-bmc', 'microsoft,olympus-bmc', 'quanta,q71l-bmc', 'tyan,palmetto-bmc', 'yadro,vesnin-bmc']
>>>> 'ampere,mtjefferson-bmc' is not one of ['amd,daytonax-bmc', 'amd,ethanolx-bmc', 'ampere,mtjade-bmc', 'aspeed,ast2500-evb', 'asrock,e3c246d4i-bmc', 'asrock,e3c256d4i-bmc', 'asrock,romed8hm3-bmc', 'asrock,spc621d8hm3-bmc', 'asrock,x570d4u-bmc', 'bytedance,g220a-bmc', 'facebook,cmm-bmc', 'facebook,minipack-bmc', 'facebook,tiogapass-bmc', 'facebook,yamp-bmc', 'facebook,yosemitev2-bmc', 'facebook,wedge400-bmc', 'hxt,stardragon4800-rep2-bmc', 'ibm,mihawk-bmc', 'ibm,mowgli-bmc', 'ibm,romulus-bmc', 'ibm,swift-bmc', 'ibm,witherspoon-bmc', 'ingrasys,zaius-bmc', 'inspur,fp5280g2-bmc', 'inspur,nf5280m6-bmc', 'inspur,on5263m5-bmc', 'intel,s2600wf-bmc', 'inventec,lanyang-bmc', 'lenovo,hr630-bmc', 'lenovo,hr855xg2-bmc', 'portwell,neptune-bmc', 'qcom,centriq2400-rep-bmc', 'supermicro,x11spi-bmc', 'tyan,s7106-bmc', 'tyan,s8036-bmc', 'yadro,nicole-bmc', 'yadro,vegman-n110-bmc', 'yadro,vegman-rx20-bmc', 'yadro,vegman-sx20-bmc']
>>>> 'ampere,mtjefferson-bmc' is not one of ['ampere,mtmitchell-bmc', 'aspeed,ast2600-evb', 'aspeed,ast2600-evb-a1', 'asus,x4tf-bmc', 'facebook,bletchley-bmc', 'facebook,catalina-bmc', 'facebook,cloudripper-bmc', 'facebook,elbert-bmc', 'facebook,fuji-bmc', 'facebook,greatlakes-bmc', 'facebook,harma-bmc', 'facebook,minerva-cmc', 'facebook,yosemite4-bmc', 'ibm,blueridge-bmc', 'ibm,everest-bmc', 'ibm,fuji-bmc', 'ibm,rainier-bmc', 'ibm,system1-bmc', 'ibm,tacoma-bmc', 'inventec,starscream-bmc', 'inventec,transformer-bmc', 'jabil,rbp-bmc', 'qcom,dc-scm-v1-bmc', 'quanta,s6q-bmc', 'ufispace,ncplite-bmc']
>>>> 'aspeed,ast2400' was expected
>>>> 'aspeed,ast2500' was expected
>>>> from schema $id: http://devicetree.org/schemas/arm/aspeed/aspeed.yaml#
>>>>
>>>
>>> This needs to be fixed as pointed out by Krzysztof.
>>>
>>
>> Thank Andrew, I'll update that in patch v2
>>
>>> *snip*
>>>
>>>> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@58: failed to match any schema with compatible: ['pmbus']
>>>> arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dtb: /ahb/apb/bus@1e78a000/i2c@180/i2c-mux@70/i2c@0/psu@59: failed to match any schema with compatible: ['pmbus']
>>>
>>> These two should also be fixed. The compatible must describe the
>>> physical device, not the communication/application protocol. It may be
>>> necessary to add a binding if there's not one already for the device.
>>>
>>
>> Hi Andrew, My device is following the pmbus specification. So I'm using
>> the generic pmbus driver
>> (https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/hwmon/pmbus/pmbus.c#n237)
>> to probe my device.
>>
>
> The devicetree doesn't describe drivers though, it describes devices.
> The compatible string needs to represent the device.
>
>> In arch/arm/boot/dts/aspeed/ directory, many boards
>> are also using this compatible to probe our devices.
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-lenovo-hr855xg2.dts#n219
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-inventec-transformers.dts#n263
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/aspeed/aspeed-bmc-tyan-s8036.dts#n260
>>
>> Andrew, Recently I saw the ASPEED platform's maintainer accept the
>> "pmbus" compatible with a warning log. You can see in the below list
>> that patches were merged recently.
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=bb3776e564d2190db0ef45609e66f13c60ce5b48
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=28cfb03afcb20a841e96e821ba20870a7c437034
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=36d96827f480e90037d162098061333e279ea35f
>>
>
> Unfortunately for your argument, I'm not trying to make the case that
> some people are allowed to do this and others (such as yourself) are
> not.
>
> Rather, this is the review process in action, where hopefully everyone,
> including myself, tries to improve their practices with feedback.
>
Thank Andrew for your feedback!
> You can also find discussions where other maintainers (Guenter, hwmon
> maintainer; Krzysztof, devicetree maintainer) have asked that "pmbus"
> not be used as a compatible:
>
> https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
>
Hi Andrew,
I checked the discussion at
https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
. It seems the maintainers don't want to use the "pmbus" compatible for
specific devices. The maintaners require an explicitly compatible from
device list in drivers/hwmon/pmbus/pmbus.c . Please correct me if I'm
wrong anything!
This is device list from drivers/hwmon/pmbus/pmbus.c
{"adp4000", (kernel_ulong_t)&pmbus_info_one},
{"bmr310", (kernel_ulong_t)&pmbus_info_one_status},
{"bmr453", (kernel_ulong_t)&pmbus_info_one},
{"bmr454", (kernel_ulong_t)&pmbus_info_one},
{"bmr456", (kernel_ulong_t)&pmbus_info_one},
{"bmr457", (kernel_ulong_t)&pmbus_info_one},
{"bmr458", (kernel_ulong_t)&pmbus_info_one_status},
{"bmr480", (kernel_ulong_t)&pmbus_info_one_status},
{"bmr490", (kernel_ulong_t)&pmbus_info_one_status},
{"bmr491", (kernel_ulong_t)&pmbus_info_one_status},
{"bmr492", (kernel_ulong_t)&pmbus_info_one},
{"dps460", (kernel_ulong_t)&pmbus_info_one_skip},
{"dps650ab", (kernel_ulong_t)&pmbus_info_one_skip},
{"dps800", (kernel_ulong_t)&pmbus_info_one_skip},
{"max20796", (kernel_ulong_t)&pmbus_info_one},
{"mdt040", (kernel_ulong_t)&pmbus_info_one},
{"ncp4200", (kernel_ulong_t)&pmbus_info_one},
{"ncp4208", (kernel_ulong_t)&pmbus_info_one},
{"pdt003", (kernel_ulong_t)&pmbus_info_one},
{"pdt006", (kernel_ulong_t)&pmbus_info_one},
{"pdt012", (kernel_ulong_t)&pmbus_info_one},
{"pmbus", (kernel_ulong_t)&pmbus_info_zero},
{"sgd009", (kernel_ulong_t)&pmbus_info_one_skip},
{"tps40400", (kernel_ulong_t)&pmbus_info_one},
{"tps544b20", (kernel_ulong_t)&pmbus_info_one},
{"tps544b25", (kernel_ulong_t)&pmbus_info_one},
{"tps544c20", (kernel_ulong_t)&pmbus_info_one},
{"tps544c25", (kernel_ulong_t)&pmbus_info_one},
{"udt020", (kernel_ulong_t)&pmbus_info_one},
My device is similar with the "pmbus" compatible about the
"pmbus_info_zero" attribute. So I chose the "pmbus" compatible string
for my device. If the maintainers require an explicitly compatible from
device list in drivers/hwmon/pmbus/pmbus.c but not "pmbus", then I must
add my device compatible string to the list in
drivers/hwmon/pmbus/pmbus.c . Please help me confirm my understanding.
Thanks,
Chanh
> The tools are asking you to do something different via the warnings,
> and so am I :) Please define the compatible according to the device
> used in the design.
>
> Thanks,
>
> Andrew
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-16 10:26 ` Chanh Nguyen
@ 2024-10-17 0:08 ` Andrew Jeffery
2024-10-17 10:02 ` Chanh Nguyen
0 siblings, 1 reply; 14+ messages in thread
From: Andrew Jeffery @ 2024-10-17 0:08 UTC (permalink / raw)
To: Chanh Nguyen, Chanh Nguyen
Cc: Rob Herring (Arm), Joel Stanley, devicetree, linux-kernel,
Khanh Pham, linux-arm-kernel, Thang Nguyen, Krzysztof Kozlowski,
Phong Vo, Conor Dooley, Rob Herring, OpenBMC Maillist,
Open Source Submission, Quan Nguyen, linux-aspeed
Hi Chanh,
On Wed, 2024-10-16 at 17:26 +0700, Chanh Nguyen wrote:
>
> On 16/10/2024 12:07, Andrew Jeffery wrote:
> > You can also find discussions where other maintainers (Guenter, hwmon
> > maintainer; Krzysztof, devicetree maintainer) have asked that "pmbus"
> > not be used as a compatible:
> >
> > https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
> >
>
> Hi Andrew,
> I checked the discussion at
> https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
> . It seems the maintainers don't want to use the "pmbus" compatible for
> specific devices. The maintaners require an explicitly compatible from
> device list in drivers/hwmon/pmbus/pmbus.c .
>
There are two problems:
1. Describing your _hardware_ (not drivers) in the devicetree
2. Binding a driver to your device
You ultimately care about both 1 and 2 as you want Linux to do
something useful with the device, but for the purpose of this patch
adding the devicetree, 1 is what matters and 2 is not really a part of
the considerations.
What needs to be the case is that the devicetree describes the device
via an appropriate compatible string for the device (manufacturer and
part number). Prior to that, the compatible string for the device needs
to be documented in a devicetree binding. This may be the trivial-
devices binding if there are no extra properties that need to be
described, or you may need to write your own binding document for the
device if it's more complex and one doesn't yet exist.
So whatever is in pmbus.c needs to be fixed later on if your device is
not yet supported by it, but that's a separate problem (2) to the
problem you have here (1).
Who is the manufacturer and what is the part number?
Andrew
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-17 0:08 ` Andrew Jeffery
@ 2024-10-17 10:02 ` Chanh Nguyen
2024-10-18 4:35 ` Andrew Jeffery
0 siblings, 1 reply; 14+ messages in thread
From: Chanh Nguyen @ 2024-10-17 10:02 UTC (permalink / raw)
To: Andrew Jeffery, Chanh Nguyen
Cc: Rob Herring (Arm), Joel Stanley, devicetree, linux-kernel,
Khanh Pham, linux-arm-kernel, Thang Nguyen, Krzysztof Kozlowski,
Phong Vo, Conor Dooley, Rob Herring, OpenBMC Maillist,
Open Source Submission, Quan Nguyen, linux-aspeed
On 17/10/2024 07:08, Andrew Jeffery wrote:
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please be mindful of safe email handling and proprietary information protection practices.]
>
>
> Hi Chanh,
>
> On Wed, 2024-10-16 at 17:26 +0700, Chanh Nguyen wrote:
>>
>> On 16/10/2024 12:07, Andrew Jeffery wrote:
>>> You can also find discussions where other maintainers (Guenter, hwmon
>>> maintainer; Krzysztof, devicetree maintainer) have asked that "pmbus"
>>> not be used as a compatible:
>>>
>>> https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
>>>
>>
>> Hi Andrew,
>> I checked the discussion at
>> https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
>> . It seems the maintainers don't want to use the "pmbus" compatible for
>> specific devices. The maintaners require an explicitly compatible from
>> device list in drivers/hwmon/pmbus/pmbus.c .
>>
>
> There are two problems:
>
> 1. Describing your _hardware_ (not drivers) in the devicetree
> 2. Binding a driver to your device
>
> You ultimately care about both 1 and 2 as you want Linux to do
> something useful with the device, but for the purpose of this patch
> adding the devicetree, 1 is what matters and 2 is not really a part of
> the considerations.
>
> What needs to be the case is that the devicetree describes the device
> via an appropriate compatible string for the device (manufacturer and
> part number). Prior to that, the compatible string for the device needs
> to be documented in a devicetree binding. This may be the trivial-
> devices binding if there are no extra properties that need to be
> described, or you may need to write your own binding document for the
> device if it's more complex and one doesn't yet exist.
>
> So whatever is in pmbus.c needs to be fixed later on if your device is
> not yet supported by it, but that's a separate problem (2) to the
> problem you have here (1).
>
> Who is the manufacturer and what is the part number?
>
>
> Andrew
Thank Andrew for your explanation! I'm so happy to receive comments from
you.
I'll remove the PSU node with "pmbus" compatible in the patch v2. We'll
discuss more to have a suitable PSU node later.
I'm preparing the patch v2. Summary, I need to update as the below list.
1. Add Mt. Jefferson board compatible binding as Krzysztof pointed.
2. Remove the PSU node with "pmbus" compatible.
If you have any other comments on patch v1 please don't hesitate to
point out; I'll update that in patch v2.
Regards,
Chanh
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-14 10:50 [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC Chanh Nguyen
` (2 preceding siblings ...)
2024-10-14 14:05 ` Rob Herring (Arm)
@ 2024-10-18 4:34 ` Andrew Jeffery
2024-10-18 10:08 ` Chanh Nguyen
3 siblings, 1 reply; 14+ messages in thread
From: Andrew Jeffery @ 2024-10-18 4:34 UTC (permalink / raw)
To: Chanh Nguyen
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen,
Quan Nguyen, Khanh Pham
Hi Chanh,
On Mon, 2024-10-14 at 10:50 +0000, Chanh Nguyen wrote:
>
> +&mac3 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rmii4_default>;
> + clock-names = "MACCLK", "RCLK";
Should this be overriding `clocks` also? There's only one clock
specified in the dtsi.
Andrew
> + use-ncsi;
> +};
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-17 10:02 ` Chanh Nguyen
@ 2024-10-18 4:35 ` Andrew Jeffery
0 siblings, 0 replies; 14+ messages in thread
From: Andrew Jeffery @ 2024-10-18 4:35 UTC (permalink / raw)
To: Chanh Nguyen, Chanh Nguyen
Cc: Rob Herring (Arm), Joel Stanley, devicetree, linux-kernel,
Khanh Pham, linux-arm-kernel, Thang Nguyen, Krzysztof Kozlowski,
Phong Vo, Conor Dooley, Rob Herring, OpenBMC Maillist,
Open Source Submission, Quan Nguyen, linux-aspeed
On Thu, 2024-10-17 at 17:02 +0700, Chanh Nguyen wrote:
>
> On 17/10/2024 07:08, Andrew Jeffery wrote:
> > [EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please be mindful of safe email handling and proprietary information protection practices.]
> >
> >
> > Hi Chanh,
> >
> > On Wed, 2024-10-16 at 17:26 +0700, Chanh Nguyen wrote:
> > >
> > > On 16/10/2024 12:07, Andrew Jeffery wrote:
> > > > You can also find discussions where other maintainers (Guenter, hwmon
> > > > maintainer; Krzysztof, devicetree maintainer) have asked that "pmbus"
> > > > not be used as a compatible:
> > > >
> > > > https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
> > > >
> > >
> > > Hi Andrew,
> > > I checked the discussion at
> > > https://lore.kernel.org/all/f76798ea-6edd-4888-8057-c09aaed88f25@roeck-us.net/
> > > . It seems the maintainers don't want to use the "pmbus" compatible for
> > > specific devices. The maintaners require an explicitly compatible from
> > > device list in drivers/hwmon/pmbus/pmbus.c .
> > >
> >
> > There are two problems:
> >
> > 1. Describing your _hardware_ (not drivers) in the devicetree
> > 2. Binding a driver to your device
> >
> > You ultimately care about both 1 and 2 as you want Linux to do
> > something useful with the device, but for the purpose of this patch
> > adding the devicetree, 1 is what matters and 2 is not really a part of
> > the considerations.
> >
> > What needs to be the case is that the devicetree describes the device
> > via an appropriate compatible string for the device (manufacturer and
> > part number). Prior to that, the compatible string for the device needs
> > to be documented in a devicetree binding. This may be the trivial-
> > devices binding if there are no extra properties that need to be
> > described, or you may need to write your own binding document for the
> > device if it's more complex and one doesn't yet exist.
> >
> > So whatever is in pmbus.c needs to be fixed later on if your device is
> > not yet supported by it, but that's a separate problem (2) to the
> > problem you have here (1).
> >
> > Who is the manufacturer and what is the part number?
> >
> >
> > Andrew
>
> Thank Andrew for your explanation! I'm so happy to receive comments from
> you.
>
> I'll remove the PSU node with "pmbus" compatible in the patch v2. We'll
> discuss more to have a suitable PSU node later.
>
> I'm preparing the patch v2. Summary, I need to update as the below list.
> 1. Add Mt. Jefferson board compatible binding as Krzysztof pointed.
> 2. Remove the PSU node with "pmbus" compatible.
Sounds good. Thanks.
>
> If you have any other comments on patch v1 please don't hesitate to
> point out; I'll update that in patch v2.
I had one query on v1.
Andrew
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC
2024-10-18 4:34 ` Andrew Jeffery
@ 2024-10-18 10:08 ` Chanh Nguyen
0 siblings, 0 replies; 14+ messages in thread
From: Chanh Nguyen @ 2024-10-18 10:08 UTC (permalink / raw)
To: Andrew Jeffery, Chanh Nguyen
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Joel Stanley,
devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen,
Quan Nguyen, Khanh Pham
On 18/10/2024 11:34, Andrew Jeffery wrote:
> Hi Chanh,
>
> On Mon, 2024-10-14 at 10:50 +0000, Chanh Nguyen wrote:
>>
>> +&mac3 {
>> + status = "okay";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_rmii4_default>;
>> + clock-names = "MACCLK", "RCLK";
>
> Should this be overriding `clocks` also? There's only one clock
> specified in the dtsi.
>
Thank Andrew,
I think it is redundant config. I don't need to override the `clock` and
`clock-names` here. The mac3 will use the clock specified in the dtsi.
I'll remove `clock-names` in the patch v2
Summary, I need to update as the below list.
1. Add Mt. Jefferson board compatible binding as Krzysztof pointed.
2. Remove the PSU node with "pmbus" compatible.
3. Remove `clock-names' property in mac3 node
Regards,
Chanh
> Andrew
>
>> + use-ncsi;
>> +};
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2024-10-18 10:08 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-14 10:50 [PATCH] ARM: dts: aspeed: Add device tree for Ampere's Mt. Jefferson BMC Chanh Nguyen
2024-10-14 10:54 ` Chanh Nguyen
2024-10-14 11:58 ` Krzysztof Kozlowski
2024-10-14 15:02 ` Chanh Nguyen
2024-10-14 14:05 ` Rob Herring (Arm)
2024-10-15 0:44 ` Andrew Jeffery
2024-10-15 6:39 ` Chanh Nguyen
2024-10-16 5:07 ` Andrew Jeffery
2024-10-16 10:26 ` Chanh Nguyen
2024-10-17 0:08 ` Andrew Jeffery
2024-10-17 10:02 ` Chanh Nguyen
2024-10-18 4:35 ` Andrew Jeffery
2024-10-18 4:34 ` Andrew Jeffery
2024-10-18 10:08 ` Chanh Nguyen
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).