* [PATCH] Add Supermicro X13DEM BMC machine
@ 2022-12-28 6:22 Ryan Sie
2023-01-23 2:01 ` Andrew Jeffery
0 siblings, 1 reply; 5+ messages in thread
From: Ryan Sie @ 2022-12-28 6:22 UTC (permalink / raw)
To: openbmc; +Cc: Ryan Sie
Signed-off-by: Ryan Sie <ryans@supermicro.com.tw>
---
arch/arm/boot/dts/Makefile | 1 +
.../boot/dts/aspeed-bmc-supermicro-x13dem.dts | 476 ++++++++++++++++++
2 files changed, 477 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 2ee9c043218b..3b89006fa008 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1623,6 +1623,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-quanta-q71l.dtb \
aspeed-bmc-quanta-s6q.dtb \
aspeed-bmc-supermicro-x11spi.dtb \
+ aspeed-bmc-supermicro-x13dem.dtb \
aspeed-bmc-inventec-transformers.dtb \
aspeed-bmc-tyan-s7106.dtb \
aspeed-bmc-tyan-s8036.dtb \
diff --git a/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
new file mode 100644
index 000000000000..b94783a52999
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
@@ -0,0 +1,476 @@
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/i2c/i2c.h>
+
+/ {
+ model = "AST2600 BMC";
+ compatible = "aspeed,ast2600";
+
+ chosen {
+ stdout-path = &uart5;
+ bootargs = "console=ttyS4,115200 earlyprintk";
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ gfx_memory: framebuffer {
+ size = <0x01000000>;
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ video_engine_memory: jpegbuffer {
+ size = <0x02000000>; /* 32M */
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ ssp_memory: ssp_memory {
+ size = <0x00200000>;
+ alignment = <0x00100000>;
+ compatible = "shared-dma-pool";
+ no-map;
+ };
+
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ powerfail {
+ default-state = "off";
+ gpios = <&gpio0 ASPEED_GPIO(G, 5) GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ 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>;
+ };
+
+#if 0
+ aliases {
+ i2c18 = &imux18;
+ i2c19 = &imux19;
+ i2c20 = &imux20;
+ i2c21 = &imux21;
+ i2c22 = &imux22;
+ mmc0 = &emmc;
+ };
+#else
+ aliases {
+ mmc0 = &emmc;
+ };
+#endif
+
+};
+
+&emmc_controller {
+ status = "okay";
+ timing-phase = <0x700FF>;
+};
+
+&emmc {
+ status = "okay";
+
+ non-removable;
+ max-frequency = <100000000>;
+ sdhci-drive-type = /bits/ 8 <3>;
+#if 1
+ bus-width = <4>;
+#else
+ bus-width = <8>;
+ pinctrl-0 = <&pinctrl_emmc_default
+ &pinctrl_emmcdat4_default
+ &pinctrl_emmcdat5_default
+ &pinctrl_emmcdat6_default
+ &pinctrl_emmcdat7_default>;
+#endif
+};
+
+//&jtag1 {
+// status = "okay";
+//};
+
+&fmc {
+ status = "okay";
+ flash@0 {
+ status = "okay";
+ label = "bmc";
+ spi-max-frequency = <25000000>;
+ spi-tx-bus-width = <1>;
+ m25p,fast-read;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ u-boot@0 {
+ reg = <0x0 0x100000>;
+ label = "u-boot";
+ };
+ u-boot-env@3f0000 {
+ reg = <0x3f0000 0x10000>;
+ label = "u-boot-env";
+ };
+ u-boot-env-redund@7f0000 {
+ reg = <0x7f0000 0x10000>;
+ label = "u-boot-env-redund";
+ };
+ };
+ };
+};
+
+&spi1 {
+ status = "okay";
+ flash@0 {
+ status = "okay";
+ label = "spi1:0";
+ spi-max-frequency = <25000000>;
+ spi-bus-width = <1>;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ all-bios@0 {
+ label = "all_part_bios";
+ reg = <0x000000000 0x02000000>;
+ };
+ };
+ };
+
+};
+
+&spi2 {
+ status = "disabled";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spi2_default &pinctrl_spi2cs1_default &pinctrl_spi2cs2_default
+ &pinctrl_qspi2_default>;
+
+ flash@0 {
+ status = "okay";
+ label = "spi2:0";
+ spi-max-frequency = <100000000>;
+ spi-bus-width = <2>;
+ m25p,fast-read;
+ };
+};
+
+//&peci0 {
+// status = "okay";
+//};
+
+&syscon {
+ uart-clock-high-speed;
+ status = "okay";
+};
+
+&adc0 {
+ status = "okay";
+};
+
+&adc1 {
+ status = "okay";
+};
+
+&gpio0 {
+ status = "okay";
+ gpio-line-names =
+ /*A0-A7*/ "","","","","","","","",
+ /*B0-B7*/ "","","","","","","","",
+ /*C0-C7*/ "","","","","","","","",
+ /*D0-D7*/ "","","","","","","","",
+ /*E0-E7*/ "","","","","","","","",
+ /*F0-F7*/ "","","","","","","","",
+ /*G0-G7*/ "","","","","","","","",
+ /*H0-H7*/ "","NMI_N","PWRBTN_N","RST_N","","","","",
+ /*I0-I7*/ "","","","","","","","",
+ /*J0-J7*/ "","","","","","","","",
+ /*K0-K7*/ "","","","","","","","",
+ /*L0-L7*/ "","","","","","","","",
+ /*M0-M7*/ "","","","","","","","",
+ /*N0-N7*/ "","","","","","","","",
+ /*O0-O7*/ "","","","","","","","",
+ /*P0-P7*/ "","","","","","","","",
+ /*Q0-Q7*/ "","","","","","","","",
+ /*R0-R7*/ "","","","","","","","",
+ /*S0-S7*/ "","","","","PWROK_IN","","","",
+ /*T0-T7*/ "","","","","","","","",
+ /*U0-U7*/ "","","","","","","","",
+ /*V0-V7*/ "","","","","","","","",
+ /*W0-W7*/ "","","","","","","","",
+ /*X0-X7*/ "","BIOS_CMP_IN","","","","","","",
+ /*Y0-Y7*/ "","","","","","","","",
+ /*Z0-Z7*/ "","","PWRBTN_IN","","","","","";
+};
+
+&gpio1 {
+ status = "disabled";
+};
+
+&sgpiom0 {
+ status = "disabled";
+ gpio-line-names =
+ /* SGPIO output lines */
+ /*OA0-OA7*/ "","","","","","","","",
+ /*OB0-OB7*/ "","","","","","","","",
+ /*OC0-OC7*/ "","","","","","","","",
+ /*OD0-OD7*/ "","","","","","","","",
+ /*OE0-OE7*/ "","","","","","","","",
+ /*OF0-OF7*/ "","","","","","","","",
+ /*OG0-OG7*/ "","","","","","","","",
+ /*OH0-OH7*/ "","","","","","","","",
+ /*OI0-OI7*/ "","","","","","","","",
+ /*OJ0-OJ7*/ "","","","","","","","",
+ /*DUMMY*/ "","","","","","","","",
+ /*DUMMY*/ "","","","","","","","",
+
+ /* SGPIO input lines */
+ /*IA0-IA7*/ "","","","","","","","",
+ /*IB0-IB7*/ "","","","","","","","",
+ /*IC0-IC7*/ "","","","","","","","",
+ /*ID0-ID7*/ "","","","","","","","",
+ /*IE0-IE7*/ "","","","","","","","",
+ /*IF0-IF7*/ "","","","","","","","",
+ /*IG0-IG7*/ "","","","","","","","",
+ /*IH0-IH7*/ "","","","","","","","",
+ /*II0-II7*/ "","","","","","","","",
+ /*IJ0-IJ7*/ "","","","","","","","";
+};
+
+&kcs3 {
+ aspeed,lpc-io-reg = <0xCA2>;
+ status = "okay";
+};
+
+&kcs4 {
+ aspeed,lpc-io-reg = <0xCA4>;
+ status = "okay";
+};
+
+//&lpc_sio {
+// status = "okay";
+//};
+
+&lpc_snoop {
+ snoop-ports = <0x80>;
+ status = "okay";
+};
+
+//&mbox {
+// status = "okay";
+//};
+
+&uart1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_txd1_default
+ &pinctrl_rxd1_default
+ &pinctrl_nrts1_default
+ &pinctrl_ndtr1_default
+ &pinctrl_ndsr1_default
+ &pinctrl_ncts1_default
+ &pinctrl_ndcd1_default
+ &pinctrl_nri1_default>;
+};
+
+&uart2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_txd2_default
+ &pinctrl_rxd2_default
+ &pinctrl_nrts2_default
+ &pinctrl_ndtr2_default
+ &pinctrl_ndsr2_default
+ &pinctrl_ncts2_default
+ &pinctrl_ndcd2_default
+ &pinctrl_nri2_default>;
+};
+
+&uart3 {
+ status = "okay";
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&uart5 {
+ status = "okay";
+};
+
+&uart_routing {
+ status = "okay";
+};
+
+&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>;
+};
+
+&mdio1 {
+ status = "disabled";
+
+ ethphy1: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac1 {
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rgmii2_default>;
+ phy-mode = "rgmii";
+ phy-handle = <ðphy1>;
+};
+
+&mdio2 {
+ status = "disabled";
+
+ ethphy2: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rmii3_default>;
+ use-ncsi;
+};
+
+&mdio3 {
+ status = "disabled";
+
+ ethphy3: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac3 {
+ status = "disabled";
+ pinctrl-names = "default";
+ phy-handle = <ðphy3>;
+ phy-mode = "rgmii";
+
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "disabled";
+};
+
+&i2c2 {
+ multi-master;
+ status = "okay";
+#if 0
+ i2c-switch@71 {
+ compatible = "nxp,pca9548";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x71>;
+ i2c-mux-idle-disconnect;
+
+ imux18: i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ };
+
+ imux19: i2c@3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+ };
+
+ imux20: i2c@4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <4>;
+ };
+
+ imux21: i2c@5 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <5>;
+ };
+
+ imux22: i2c@6 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <6>;
+ };
+ };
+#endif
+};
+
+&i2c3 {
+ //TODO, i2c switch
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+ bus-frequency = <400000>;
+};
+
+&i2c5 {
+ status = "okay";
+};
+
+&i2c6 {
+ //TODO, i2c switch
+ status = "okay";
+};
+
+&i2c7 {
+ status = "okay";
+};
+
+&video {
+ status = "okay";
+ memory-region = <&video_engine_memory>;
+};
+
+&vhub {
+ status = "okay";
+};
+
+&rtc {
+ status = "okay";
+};
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Add Supermicro X13DEM BMC machine
2022-12-28 6:22 [PATCH] Add Supermicro X13DEM BMC machine Ryan Sie
@ 2023-01-23 2:01 ` Andrew Jeffery
0 siblings, 0 replies; 5+ messages in thread
From: Andrew Jeffery @ 2023-01-23 2:01 UTC (permalink / raw)
To: Ryan Sie, openbmc; +Cc: Ryan Sie
Hi Ryan,
Thanks for the patch. Please make sure to Cc the upstream lists:
* linux-aspeed@lists.ozlabs.org
* devicetree@vger.kernel.org
and any other people or lists that are found by running scripts/get_maintainer.pl.
Also, please run your patch through scripts/checkpatch.pl
I have a few other comments and queries:
On Wed, 28 Dec 2022, at 16:52, Ryan Sie wrote:
> Signed-off-by: Ryan Sie <ryans@supermicro.com.tw>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> .../boot/dts/aspeed-bmc-supermicro-x13dem.dts | 476 ++++++++++++++++++
> 2 files changed, 477 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 2ee9c043218b..3b89006fa008 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1623,6 +1623,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-quanta-q71l.dtb \
> aspeed-bmc-quanta-s6q.dtb \
> aspeed-bmc-supermicro-x11spi.dtb \
> + aspeed-bmc-supermicro-x13dem.dtb \
> aspeed-bmc-inventec-transformers.dtb \
> aspeed-bmc-tyan-s7106.dtb \
> aspeed-bmc-tyan-s8036.dtb \
> diff --git a/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
> b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
> new file mode 100644
> index 000000000000..b94783a52999
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
> @@ -0,0 +1,476 @@
> +/dts-v1/;
> +
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +#include <dt-bindings/i2c/i2c.h>
> +
> +/ {
> + model = "AST2600 BMC";
> + compatible = "aspeed,ast2600";
> +
> + chosen {
> + stdout-path = &uart5;
> + bootargs = "console=ttyS4,115200 earlyprintk";
> + };
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x80000000 0x40000000>;
> + };
> +
> + reserved-memory {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + gfx_memory: framebuffer {
> + size = <0x01000000>;
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> +
> + video_engine_memory: jpegbuffer {
> + size = <0x02000000>; /* 32M */
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> +
> + ssp_memory: ssp_memory {
> + size = <0x00200000>;
> + alignment = <0x00100000>;
> + compatible = "shared-dma-pool";
> + no-map;
> + };
How is this reserved memory used?
> +
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + powerfail {
> + default-state = "off";
> + gpios = <&gpio0 ASPEED_GPIO(G, 5) GPIO_ACTIVE_LOW>;
> + };
> + };
> +
> + 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>;
> + };
> +
> +#if 0
> + aliases {
> + i2c18 = &imux18;
> + i2c19 = &imux19;
> + i2c20 = &imux20;
> + i2c21 = &imux21;
> + i2c22 = &imux22;
> + mmc0 = &emmc;
> + };
> +#else
> + aliases {
> + mmc0 = &emmc;
> + };
> +#endif
Please remove the ifdefery.
> +
> +};
> +
> +&emmc_controller {
> + status = "okay";
> + timing-phase = <0x700FF>;
This is not a valid property. Instead you need to use the clk-phase*
properties that upstream provides:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/mmc/mmc-controller.yaml?h=v6.2-rc5#n348
These require knowing how much phase correction you need for a given
bus speed.
> +};
> +
> +&emmc {
> + status = "okay";
> +
> + non-removable;
> + max-frequency = <100000000>;
> + sdhci-drive-type = /bits/ 8 <3>;
> +#if 1
> + bus-width = <4>;
> +#else
> + bus-width = <8>;
> + pinctrl-0 = <&pinctrl_emmc_default
> + &pinctrl_emmcdat4_default
> + &pinctrl_emmcdat5_default
> + &pinctrl_emmcdat6_default
> + &pinctrl_emmcdat7_default>;
> +#endif
Please remove the ifdefery
> +};
> +
> +//&jtag1 {
> +// status = "okay";
> +//};
Remove commented nodes.
> +
> +&fmc {
> + status = "okay";
> + flash@0 {
> + status = "okay";
> + label = "bmc";
> + spi-max-frequency = <25000000>;
> + spi-tx-bus-width = <1>;
> + m25p,fast-read;
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + u-boot@0 {
> + reg = <0x0 0x100000>;
> + label = "u-boot";
> + };
> + u-boot-env@3f0000 {
> + reg = <0x3f0000 0x10000>;
> + label = "u-boot-env";
> + };
> + u-boot-env-redund@7f0000 {
> + reg = <0x7f0000 0x10000>;
> + label = "u-boot-env-redund";
> + };
> + };
> + };
> +};
Do you actually have both SPI-NOR and eMMC storage for the BMC?
> +
> +&spi1 {
> + status = "okay";
> + flash@0 {
> + status = "okay";
> + label = "spi1:0";
> + spi-max-frequency = <25000000>;
> + spi-bus-width = <1>;
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + all-bios@0 {
> + label = "all_part_bios";
> + reg = <0x000000000 0x02000000>;
> + };
> + };
> + };
> +
> +};
> +
> +&spi2 {
> + status = "disabled";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_spi2_default &pinctrl_spi2cs1_default
> &pinctrl_spi2cs2_default
> + &pinctrl_qspi2_default>;
> +
> + flash@0 {
> + status = "okay";
> + label = "spi2:0";
> + spi-max-frequency = <100000000>;
> + spi-bus-width = <2>;
> + m25p,fast-read;
> + };
> +};
> +
> +//&peci0 {
> +// status = "okay";
> +//};
Delete commented nodes
> +
> +&syscon {
> + uart-clock-high-speed;
This isn't a valid property. Please run your devicetree through `make dtbs_check`.
> + status = "okay";
> +};
> +
> +&adc0 {
> + status = "okay";
You must also add the pinctrl properties here to ensure your ADC lines
aren't accidentally muxed for other purposes.
> +};
> +
> +&adc1 {
> + status = "okay";
Again here.
> +};
> +
> +&gpio0 {
> + status = "okay";
> + gpio-line-names =
> + /*A0-A7*/ "","","","","","","","",
> + /*B0-B7*/ "","","","","","","","",
> + /*C0-C7*/ "","","","","","","","",
> + /*D0-D7*/ "","","","","","","","",
> + /*E0-E7*/ "","","","","","","","",
> + /*F0-F7*/ "","","","","","","","",
> + /*G0-G7*/ "","","","","","","","",
> + /*H0-H7*/ "","NMI_N","PWRBTN_N","RST_N","","","","",
> + /*I0-I7*/ "","","","","","","","",
> + /*J0-J7*/ "","","","","","","","",
> + /*K0-K7*/ "","","","","","","","",
> + /*L0-L7*/ "","","","","","","","",
> + /*M0-M7*/ "","","","","","","","",
> + /*N0-N7*/ "","","","","","","","",
> + /*O0-O7*/ "","","","","","","","",
> + /*P0-P7*/ "","","","","","","","",
> + /*Q0-Q7*/ "","","","","","","","",
> + /*R0-R7*/ "","","","","","","","",
> + /*S0-S7*/ "","","","","PWROK_IN","","","",
> + /*T0-T7*/ "","","","","","","","",
> + /*U0-U7*/ "","","","","","","","",
> + /*V0-V7*/ "","","","","","","","",
> + /*W0-W7*/ "","","","","","","","",
> + /*X0-X7*/ "","BIOS_CMP_IN","","","","","","",
> + /*Y0-Y7*/ "","","","","","","","",
> + /*Z0-Z7*/ "","","PWRBTN_IN","","","","","";
> +};
> +
> +&gpio1 {
> + status = "disabled";
> +};
> +
> +&sgpiom0 {
> + status = "disabled";
> + gpio-line-names =
> + /* SGPIO output lines */
> + /*OA0-OA7*/ "","","","","","","","",
> + /*OB0-OB7*/ "","","","","","","","",
> + /*OC0-OC7*/ "","","","","","","","",
> + /*OD0-OD7*/ "","","","","","","","",
> + /*OE0-OE7*/ "","","","","","","","",
> + /*OF0-OF7*/ "","","","","","","","",
> + /*OG0-OG7*/ "","","","","","","","",
> + /*OH0-OH7*/ "","","","","","","","",
> + /*OI0-OI7*/ "","","","","","","","",
> + /*OJ0-OJ7*/ "","","","","","","","",
> + /*DUMMY*/ "","","","","","","","",
> + /*DUMMY*/ "","","","","","","","",
> +
> + /* SGPIO input lines */
> + /*IA0-IA7*/ "","","","","","","","",
> + /*IB0-IB7*/ "","","","","","","","",
> + /*IC0-IC7*/ "","","","","","","","",
> + /*ID0-ID7*/ "","","","","","","","",
> + /*IE0-IE7*/ "","","","","","","","",
> + /*IF0-IF7*/ "","","","","","","","",
> + /*IG0-IG7*/ "","","","","","","","",
> + /*IH0-IH7*/ "","","","","","","","",
> + /*II0-II7*/ "","","","","","","","",
> + /*IJ0-IJ7*/ "","","","","","","","";
> +};
> +
> +&kcs3 {
> + aspeed,lpc-io-reg = <0xCA2>;
> + status = "okay";
> +};
> +
> +&kcs4 {
> + aspeed,lpc-io-reg = <0xCA4>;
> + status = "okay";
> +};
> +
> +//&lpc_sio {
> +// status = "okay";
> +//};
Delete commented nodes.
I don't think this node is even legitimate. Does this devicetree compile?
> +
> +&lpc_snoop {
> + snoop-ports = <0x80>;
> + status = "okay";
> +};
> +
> +//&mbox {
> +// status = "okay";
> +//};
Delete commented node.
> +
> +&uart1 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_txd1_default
> + &pinctrl_rxd1_default
> + &pinctrl_nrts1_default
> + &pinctrl_ndtr1_default
> + &pinctrl_ndsr1_default
> + &pinctrl_ncts1_default
> + &pinctrl_ndcd1_default
> + &pinctrl_nri1_default>;
> +};
> +
> +&uart2 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_txd2_default
> + &pinctrl_rxd2_default
> + &pinctrl_nrts2_default
> + &pinctrl_ndtr2_default
> + &pinctrl_ndsr2_default
> + &pinctrl_ncts2_default
> + &pinctrl_ndcd2_default
> + &pinctrl_nri2_default>;
> +};
> +
> +&uart3 {
> + status = "okay";
> +};
> +
> +&uart4 {
> + status = "okay";
> +};
> +
> +&uart5 {
> + status = "okay";
> +};
> +
> +&uart_routing {
> + status = "okay";
> +};
> +
> +&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>;
> +};
> +
> +&mdio1 {
> + status = "disabled";
> +
> + ethphy1: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&mac1 {
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rgmii2_default>;
> + phy-mode = "rgmii";
> + phy-handle = <ðphy1>;
> +};
> +
> +&mdio2 {
> + status = "disabled";
> +
> + ethphy2: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&mac2 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rmii3_default>;
> + use-ncsi;
> +};
> +
> +&mdio3 {
> + status = "disabled";
> +
> + ethphy3: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&mac3 {
> + status = "disabled";
> + pinctrl-names = "default";
> + phy-handle = <ðphy3>;
> + phy-mode = "rgmii";
> +
> +};
> +
> +&i2c0 {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + status = "disabled";
> +};
> +
> +&i2c2 {
> + multi-master;
> + status = "okay";
> +#if 0
> + i2c-switch@71 {
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x71>;
> + i2c-mux-idle-disconnect;
> +
> + imux18: i2c@2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <2>;
> + };
> +
> + imux19: i2c@3 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <3>;
> + };
> +
> + imux20: i2c@4 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <4>;
> + };
> +
> + imux21: i2c@5 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <5>;
> + };
> +
> + imux22: i2c@6 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <6>;
> + };
> + };
> +#endif
Delete the ifdefery
The rest looks okay.
Cheers,
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Add Supermicro X13DEM BMC machine
@ 2023-01-30 8:41 Ryan Sie
0 siblings, 0 replies; 5+ messages in thread
From: Ryan Sie @ 2023-01-30 8:41 UTC (permalink / raw)
To: Andrew Jeffery; +Cc: openbmc
[-- Attachment #1: Type: text/plain, Size: 17269 bytes --]
Hi Andrew,
Thanks for the reminder, i write the review in red letters.
-----Original Message-----
From: Andrew Jeffery andrew@aj.id.au<mailto:andrew@aj.id.au>
Sent: Monday, January 23, 2023 10:01 AM
To: Ryan Sie lesly895@gmail.com<mailto:lesly895@gmail.com>; openbmc@lists.ozlabs.org<mailto:openbmc@lists.ozlabs.org>
Cc: Ryan Sie - TW (HW 1) RyanS@supermicro.com.tw<mailto:RyanS@supermicro.com.tw>
Subject: Re: [PATCH] Add Supermicro X13DEM BMC machine
[CAUTION: External Mail]
Hi Ryan,
Thanks for the patch. Please make sure to Cc the upstream lists:
* linux-aspeed@lists.ozlabs.org<mailto:linux-aspeed@lists.ozlabs.org>
* devicetree@vger.kernel.org<mailto:devicetree@vger.kernel.org>
and any other people or lists that are found by running scripts/get_maintainer.pl.
Also, please run your patch through scripts/checkpatch.pl
I have a few other comments and queries:
On Wed, 28 Dec 2022, at 16:52, Ryan Sie wrote:
> Signed-off-by: Ryan Sie <ryans@supermicro.com.tw<mailto:ryans@supermicro.com.tw>>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> .../boot/dts/aspeed-bmc-supermicro-x13dem.dts | 476
> ++++++++++++++++++
> 2 files changed, 477 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 2ee9c043218b..3b89006fa008 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1623,6 +1623,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-quanta-q71l.dtb \
> aspeed-bmc-quanta-s6q.dtb \
> aspeed-bmc-supermicro-x11spi.dtb \
> + aspeed-bmc-supermicro-x13dem.dtb \
> aspeed-bmc-inventec-transformers.dtb \
> aspeed-bmc-tyan-s7106.dtb \
> aspeed-bmc-tyan-s8036.dtb \
> diff --git a/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
> b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
> new file mode 100644
> index 000000000000..b94783a52999
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
> @@ -0,0 +1,476 @@
> +/dts-v1/;
> +
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/gpio/aspeed-gpio.h> #include
> +<dt-bindings/i2c/i2c.h>
> +
> +/ {
> + model = "AST2600 BMC";
> + compatible = "aspeed,ast2600";
> +
> + chosen {
> + stdout-path = &uart5;
> + bootargs = "console=ttyS4,115200 earlyprintk";
> + };
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x80000000 0x40000000>;
> + };
> +
> + reserved-memory {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> +
> + gfx_memory: framebuffer {
> + size = <0x01000000>;
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> +
> + video_engine_memory: jpegbuffer {
> + size = <0x02000000>; /* 32M */
> + alignment = <0x01000000>;
> + compatible = "shared-dma-pool";
> + reusable;
> + };
> +
> + ssp_memory: ssp_memory {
> + size = <0x00200000>;
> + alignment = <0x00100000>;
> + compatible = "shared-dma-pool";
> + no-map;
> + };
How is this reserved memory used?
Supermicro internal use, i will remove it.
> +
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + powerfail {
> + default-state = "off";
> + gpios = <&gpio0 ASPEED_GPIO(G, 5) GPIO_ACTIVE_LOW>;
> + };
> + };
> +
> + 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>;
> + };
> +
> +#if 0
> + aliases {
> + i2c18 = &imux18;
> + i2c19 = &imux19;
> + i2c20 = &imux20;
> + i2c21 = &imux21;
> + i2c22 = &imux22;
> + mmc0 = &emmc;
> + };
> +#else
> + aliases {
> + mmc0 = &emmc;
> + };
> +#endif
Please remove the ifdefery.
I will remove it.
> +
> +};
> +
> +&emmc_controller {
> + status = "okay";
> + timing-phase = <0x700FF>;
This is not a valid property. Instead you need to use the clk-phase* properties that upstream provides:
https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/mmc/mmc-controller.yaml?h=v6.2-rc5*n348__;Iw!!ORmjBF0Gq6jo!Ycod3yQsReZptIU0NgDMRyLN3q37O4r90hvpuRQyDxlG5EdTGrcNLCKR51sA_ndx8on6ng4dVgBm16nGTg4$<https://urldefense.com/v3/__https:/git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/mmc/mmc-controller.yaml?h=v6.2-rc5*n348__;Iw!!ORmjBF0Gq6jo!Ycod3yQsReZptIU0NgDMRyLN3q37O4r90hvpuRQyDxlG5EdTGrcNLCKR51sA_ndx8on6ng4dVgBm16nGTg4$>
These require knowing how much phase correction you need for a given bus speed.
I will remove timing-phase property, use default first.
> +};
> +
> +&emmc {
> + status = "okay";
> +
> + non-removable;
> + max-frequency = <100000000>;
> + sdhci-drive-type = /bits/ 8 <3>;
> +#if 1
> + bus-width = <4>;
> +#else
> + bus-width = <8>;
> + pinctrl-0 = <&pinctrl_emmc_default
> + &pinctrl_emmcdat4_default
> + &pinctrl_emmcdat5_default
> + &pinctrl_emmcdat6_default
> + &pinctrl_emmcdat7_default>;
> +#endif
Please remove the ifdefery
I will remove it.
> +};
> +
> +//&jtag1 {
> +// status = "okay";
> +//};
Remove commented nodes.
I will remove it.
> +
> +&fmc {
> + status = "okay";
> + flash@0 {
> + status = "okay";
> + label = "bmc";
> + spi-max-frequency = <25000000>;
> + spi-tx-bus-width = <1>;
> + m25p,fast-read;
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + u-boot@0 {
> + reg = <0x0 0x100000>;
> + label = "u-boot";
> + };
> + u-boot-env@3f0000 {
> + reg = <0x3f0000 0x10000>;
> + label = "u-boot-env";
> + };
> + u-boot-env-redund@7f0000 {
> + reg = <0x7f0000 0x10000>;
> + label = "u-boot-env-redund";
> + };
> + };
> + };
> +};
Do you actually have both SPI-NOR and eMMC storage for the BMC?
Yes, nor-flash for uboot, emmc for kernel+filesystem+supermicro features
> +
> +&spi1 {
> + status = "okay";
> + flash@0 {
> + status = "okay";
> + label = "spi1:0";
> + spi-max-frequency = <25000000>;
> + spi-bus-width = <1>;
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + all-bios@0 {
> + label = "all_part_bios";
> + reg = <0x000000000 0x02000000>;
> + };
> + };
> + };
> +
> +};
> +
> +&spi2 {
> + status = "disabled";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_spi2_default &pinctrl_spi2cs1_default
> &pinctrl_spi2cs2_default
> + &pinctrl_qspi2_default>;
> +
> + flash@0 {
> + status = "okay";
> + label = "spi2:0";
> + spi-max-frequency = <100000000>;
> + spi-bus-width = <2>;
> + m25p,fast-read;
> + };
> +};
> +
> +//&peci0 {
> +// status = "okay";
> +//};
Delete commented nodes
I will remove it.
> +
> +&syscon {
> + uart-clock-high-speed;
This isn't a valid property. Please run your devicetree through `make dtbs_check`.
I will remove it.
> + status = "okay";
> +};
> +
> +&adc0 {
> + status = "okay";
You must also add the pinctrl properties here to ensure your ADC lines aren't accidentally muxed for other purposes.
I will modify it.
> +};
> +
> +&adc1 {
> + status = "okay";
Again here.
I will modify it.
> +};
> +
> +&gpio0 {
> + status = "okay";
> + gpio-line-names =
> + /*A0-A7*/ "","","","","","","","",
> + /*B0-B7*/ "","","","","","","","",
> + /*C0-C7*/ "","","","","","","","",
> + /*D0-D7*/ "","","","","","","","",
> + /*E0-E7*/ "","","","","","","","",
> + /*F0-F7*/ "","","","","","","","",
> + /*G0-G7*/ "","","","","","","","",
> + /*H0-H7*/ "","NMI_N","PWRBTN_N","RST_N","","","","",
> + /*I0-I7*/ "","","","","","","","",
> + /*J0-J7*/ "","","","","","","","",
> + /*K0-K7*/ "","","","","","","","",
> + /*L0-L7*/ "","","","","","","","",
> + /*M0-M7*/ "","","","","","","","",
> + /*N0-N7*/ "","","","","","","","",
> + /*O0-O7*/ "","","","","","","","",
> + /*P0-P7*/ "","","","","","","","",
> + /*Q0-Q7*/ "","","","","","","","",
> + /*R0-R7*/ "","","","","","","","",
> + /*S0-S7*/ "","","","","PWROK_IN","","","",
> + /*T0-T7*/ "","","","","","","","",
> + /*U0-U7*/ "","","","","","","","",
> + /*V0-V7*/ "","","","","","","","",
> + /*W0-W7*/ "","","","","","","","",
> + /*X0-X7*/ "","BIOS_CMP_IN","","","","","","",
> + /*Y0-Y7*/ "","","","","","","","",
> + /*Z0-Z7*/ "","","PWRBTN_IN","","","","","";
> +};
> +
> +&gpio1 {
> + status = "disabled";
> +};
> +
> +&sgpiom0 {
> + status = "disabled";
> + gpio-line-names =
> + /* SGPIO output lines */
> + /*OA0-OA7*/ "","","","","","","","",
> + /*OB0-OB7*/ "","","","","","","","",
> + /*OC0-OC7*/ "","","","","","","","",
> + /*OD0-OD7*/ "","","","","","","","",
> + /*OE0-OE7*/ "","","","","","","","",
> + /*OF0-OF7*/ "","","","","","","","",
> + /*OG0-OG7*/ "","","","","","","","",
> + /*OH0-OH7*/ "","","","","","","","",
> + /*OI0-OI7*/ "","","","","","","","",
> + /*OJ0-OJ7*/ "","","","","","","","",
> + /*DUMMY*/ "","","","","","","","",
> + /*DUMMY*/ "","","","","","","","",
> +
> + /* SGPIO input lines */
> + /*IA0-IA7*/ "","","","","","","","",
> + /*IB0-IB7*/ "","","","","","","","",
> + /*IC0-IC7*/ "","","","","","","","",
> + /*ID0-ID7*/ "","","","","","","","",
> + /*IE0-IE7*/ "","","","","","","","",
> + /*IF0-IF7*/ "","","","","","","","",
> + /*IG0-IG7*/ "","","","","","","","",
> + /*IH0-IH7*/ "","","","","","","","",
> + /*II0-II7*/ "","","","","","","","",
> + /*IJ0-IJ7*/ "","","","","","","","";
> +};
> +
> +&kcs3 {
> + aspeed,lpc-io-reg = <0xCA2>;
> + status = "okay";
> +};
> +
> +&kcs4 {
> + aspeed,lpc-io-reg = <0xCA4>;
> + status = "okay";
> +};
> +
> +//&lpc_sio {
> +// status = "okay";
> +//};
Delete commented nodes.
I don't think this node is even legitimate. Does this devicetree compile?
I confirm that it has been compiled
> +
> +&lpc_snoop {
> + snoop-ports = <0x80>;
> + status = "okay";
> +};
> +
> +//&mbox {
> +// status = "okay";
> +//};
Delete commented node.
I will modify it.
> +
> +&uart1 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_txd1_default
> + &pinctrl_rxd1_default
> + &pinctrl_nrts1_default
> + &pinctrl_ndtr1_default
> + &pinctrl_ndsr1_default
> + &pinctrl_ncts1_default
> + &pinctrl_ndcd1_default
> + &pinctrl_nri1_default>;
> +};
> +
> +&uart2 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_txd2_default
> + &pinctrl_rxd2_default
> + &pinctrl_nrts2_default
> + &pinctrl_ndtr2_default
> + &pinctrl_ndsr2_default
> + &pinctrl_ncts2_default
> + &pinctrl_ndcd2_default
> + &pinctrl_nri2_default>;
> +};
> +
> +&uart3 {
> + status = "okay";
> +};
> +
> +&uart4 {
> + status = "okay";
> +};
> +
> +&uart5 {
> + status = "okay";
> +};
> +
> +&uart_routing {
> + status = "okay";
> +};
> +
> +&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>; };
> +
> +&mdio1 {
> + status = "disabled";
> +
> + ethphy1: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&mac1 {
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rgmii2_default>;
> + phy-mode = "rgmii";
> + phy-handle = <ðphy1>;
> +};
> +
> +&mdio2 {
> + status = "disabled";
> +
> + ethphy2: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&mac2 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rmii3_default>;
> + use-ncsi;
> +};
> +
> +&mdio3 {
> + status = "disabled";
> +
> + ethphy3: ethernet-phy@0 {
> + compatible = "ethernet-phy-ieee802.3-c22";
> + reg = <0>;
> + };
> +};
> +
> +&mac3 {
> + status = "disabled";
> + pinctrl-names = "default";
> + phy-handle = <ðphy3>;
> + phy-mode = "rgmii";
> +
> +};
> +
> +&i2c0 {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + status = "disabled";
> +};
> +
> +&i2c2 {
> + multi-master;
> + status = "okay";
> +#if 0
> + i2c-switch@71 {
> + compatible = "nxp,pca9548";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x71>;
> + i2c-mux-idle-disconnect;
> +
> + imux18: i2c@2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <2>;
> + };
> +
> + imux19: i2c@3 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <3>;
> + };
> +
> + imux20: i2c@4 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <4>;
> + };
> +
> + imux21: i2c@5 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <5>;
> + };
> +
> + imux22: i2c@6 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <6>;
> + };
> + };
> +#endif
Delete the ifdefery
I will remove it.
The rest looks okay.
Cheers,
Andrew
[-- Attachment #2: Type: text/html, Size: 79031 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Add Supermicro X13DEM BMC machine
2022-12-28 6:20 Ryan Sie
@ 2022-12-28 10:31 ` Paul Menzel
0 siblings, 0 replies; 5+ messages in thread
From: Paul Menzel @ 2022-12-28 10:31 UTC (permalink / raw)
To: Ryan Sie; +Cc: Ryan Sie, openbmc
Dear Ryan,
Thank you for the patch. (Just as a heads-up, the “same” one
(Message-Id: <20221228062232.2003139-1-ryans@supermicro.com.tw>) was
sent two minutes later.)
Am 28.12.22 um 07:20 schrieb Ryan Sie:
> Signed-off-by: Ryan Sie <ryans@supermicro.com.tw>
The address used here is different from the author address. I thought,
`git send-email` would take care of that, but Google Mail, used by
Supermicro(?), seems to modify something:
X-Google-Original-From: Ryan Sie <ryans@supermicro.com.tw>
Maybe the `git send-email`’s switch `--from` helps.
Additionally, please amend the commit message, with more details about
the BMC, and note the datasheet name and revision you used.
> ---
> arch/arm/boot/dts/Makefile | 1 +
> .../boot/dts/aspeed-bmc-supermicro-x13dem.dts | 476 ++++++++++++++++++
> 2 files changed, 477 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
[…]
Kind regards,
Paul
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] Add Supermicro X13DEM BMC machine
@ 2022-12-28 6:20 Ryan Sie
2022-12-28 10:31 ` Paul Menzel
0 siblings, 1 reply; 5+ messages in thread
From: Ryan Sie @ 2022-12-28 6:20 UTC (permalink / raw)
To: openbmc; +Cc: Ryan Sie
Signed-off-by: Ryan Sie <ryans@supermicro.com.tw>
---
arch/arm/boot/dts/Makefile | 1 +
.../boot/dts/aspeed-bmc-supermicro-x13dem.dts | 476 ++++++++++++++++++
2 files changed, 477 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 2ee9c043218b..3b89006fa008 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1623,6 +1623,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-quanta-q71l.dtb \
aspeed-bmc-quanta-s6q.dtb \
aspeed-bmc-supermicro-x11spi.dtb \
+ aspeed-bmc-supermicro-x13dem.dtb \
aspeed-bmc-inventec-transformers.dtb \
aspeed-bmc-tyan-s7106.dtb \
aspeed-bmc-tyan-s8036.dtb \
diff --git a/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
new file mode 100644
index 000000000000..b94783a52999
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-supermicro-x13dem.dts
@@ -0,0 +1,476 @@
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/i2c/i2c.h>
+
+/ {
+ model = "AST2600 BMC";
+ compatible = "aspeed,ast2600";
+
+ chosen {
+ stdout-path = &uart5;
+ bootargs = "console=ttyS4,115200 earlyprintk";
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ gfx_memory: framebuffer {
+ size = <0x01000000>;
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ video_engine_memory: jpegbuffer {
+ size = <0x02000000>; /* 32M */
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ ssp_memory: ssp_memory {
+ size = <0x00200000>;
+ alignment = <0x00100000>;
+ compatible = "shared-dma-pool";
+ no-map;
+ };
+
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ powerfail {
+ default-state = "off";
+ gpios = <&gpio0 ASPEED_GPIO(G, 5) GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ 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>;
+ };
+
+#if 0
+ aliases {
+ i2c18 = &imux18;
+ i2c19 = &imux19;
+ i2c20 = &imux20;
+ i2c21 = &imux21;
+ i2c22 = &imux22;
+ mmc0 = &emmc;
+ };
+#else
+ aliases {
+ mmc0 = &emmc;
+ };
+#endif
+
+};
+
+&emmc_controller {
+ status = "okay";
+ timing-phase = <0x700FF>;
+};
+
+&emmc {
+ status = "okay";
+
+ non-removable;
+ max-frequency = <100000000>;
+ sdhci-drive-type = /bits/ 8 <3>;
+#if 1
+ bus-width = <4>;
+#else
+ bus-width = <8>;
+ pinctrl-0 = <&pinctrl_emmc_default
+ &pinctrl_emmcdat4_default
+ &pinctrl_emmcdat5_default
+ &pinctrl_emmcdat6_default
+ &pinctrl_emmcdat7_default>;
+#endif
+};
+
+//&jtag1 {
+// status = "okay";
+//};
+
+&fmc {
+ status = "okay";
+ flash@0 {
+ status = "okay";
+ label = "bmc";
+ spi-max-frequency = <25000000>;
+ spi-tx-bus-width = <1>;
+ m25p,fast-read;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ u-boot@0 {
+ reg = <0x0 0x100000>;
+ label = "u-boot";
+ };
+ u-boot-env@3f0000 {
+ reg = <0x3f0000 0x10000>;
+ label = "u-boot-env";
+ };
+ u-boot-env-redund@7f0000 {
+ reg = <0x7f0000 0x10000>;
+ label = "u-boot-env-redund";
+ };
+ };
+ };
+};
+
+&spi1 {
+ status = "okay";
+ flash@0 {
+ status = "okay";
+ label = "spi1:0";
+ spi-max-frequency = <25000000>;
+ spi-bus-width = <1>;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ all-bios@0 {
+ label = "all_part_bios";
+ reg = <0x000000000 0x02000000>;
+ };
+ };
+ };
+
+};
+
+&spi2 {
+ status = "disabled";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spi2_default &pinctrl_spi2cs1_default &pinctrl_spi2cs2_default
+ &pinctrl_qspi2_default>;
+
+ flash@0 {
+ status = "okay";
+ label = "spi2:0";
+ spi-max-frequency = <100000000>;
+ spi-bus-width = <2>;
+ m25p,fast-read;
+ };
+};
+
+//&peci0 {
+// status = "okay";
+//};
+
+&syscon {
+ uart-clock-high-speed;
+ status = "okay";
+};
+
+&adc0 {
+ status = "okay";
+};
+
+&adc1 {
+ status = "okay";
+};
+
+&gpio0 {
+ status = "okay";
+ gpio-line-names =
+ /*A0-A7*/ "","","","","","","","",
+ /*B0-B7*/ "","","","","","","","",
+ /*C0-C7*/ "","","","","","","","",
+ /*D0-D7*/ "","","","","","","","",
+ /*E0-E7*/ "","","","","","","","",
+ /*F0-F7*/ "","","","","","","","",
+ /*G0-G7*/ "","","","","","","","",
+ /*H0-H7*/ "","NMI_N","PWRBTN_N","RST_N","","","","",
+ /*I0-I7*/ "","","","","","","","",
+ /*J0-J7*/ "","","","","","","","",
+ /*K0-K7*/ "","","","","","","","",
+ /*L0-L7*/ "","","","","","","","",
+ /*M0-M7*/ "","","","","","","","",
+ /*N0-N7*/ "","","","","","","","",
+ /*O0-O7*/ "","","","","","","","",
+ /*P0-P7*/ "","","","","","","","",
+ /*Q0-Q7*/ "","","","","","","","",
+ /*R0-R7*/ "","","","","","","","",
+ /*S0-S7*/ "","","","","PWROK_IN","","","",
+ /*T0-T7*/ "","","","","","","","",
+ /*U0-U7*/ "","","","","","","","",
+ /*V0-V7*/ "","","","","","","","",
+ /*W0-W7*/ "","","","","","","","",
+ /*X0-X7*/ "","BIOS_CMP_IN","","","","","","",
+ /*Y0-Y7*/ "","","","","","","","",
+ /*Z0-Z7*/ "","","PWRBTN_IN","","","","","";
+};
+
+&gpio1 {
+ status = "disabled";
+};
+
+&sgpiom0 {
+ status = "disabled";
+ gpio-line-names =
+ /* SGPIO output lines */
+ /*OA0-OA7*/ "","","","","","","","",
+ /*OB0-OB7*/ "","","","","","","","",
+ /*OC0-OC7*/ "","","","","","","","",
+ /*OD0-OD7*/ "","","","","","","","",
+ /*OE0-OE7*/ "","","","","","","","",
+ /*OF0-OF7*/ "","","","","","","","",
+ /*OG0-OG7*/ "","","","","","","","",
+ /*OH0-OH7*/ "","","","","","","","",
+ /*OI0-OI7*/ "","","","","","","","",
+ /*OJ0-OJ7*/ "","","","","","","","",
+ /*DUMMY*/ "","","","","","","","",
+ /*DUMMY*/ "","","","","","","","",
+
+ /* SGPIO input lines */
+ /*IA0-IA7*/ "","","","","","","","",
+ /*IB0-IB7*/ "","","","","","","","",
+ /*IC0-IC7*/ "","","","","","","","",
+ /*ID0-ID7*/ "","","","","","","","",
+ /*IE0-IE7*/ "","","","","","","","",
+ /*IF0-IF7*/ "","","","","","","","",
+ /*IG0-IG7*/ "","","","","","","","",
+ /*IH0-IH7*/ "","","","","","","","",
+ /*II0-II7*/ "","","","","","","","",
+ /*IJ0-IJ7*/ "","","","","","","","";
+};
+
+&kcs3 {
+ aspeed,lpc-io-reg = <0xCA2>;
+ status = "okay";
+};
+
+&kcs4 {
+ aspeed,lpc-io-reg = <0xCA4>;
+ status = "okay";
+};
+
+//&lpc_sio {
+// status = "okay";
+//};
+
+&lpc_snoop {
+ snoop-ports = <0x80>;
+ status = "okay";
+};
+
+//&mbox {
+// status = "okay";
+//};
+
+&uart1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_txd1_default
+ &pinctrl_rxd1_default
+ &pinctrl_nrts1_default
+ &pinctrl_ndtr1_default
+ &pinctrl_ndsr1_default
+ &pinctrl_ncts1_default
+ &pinctrl_ndcd1_default
+ &pinctrl_nri1_default>;
+};
+
+&uart2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_txd2_default
+ &pinctrl_rxd2_default
+ &pinctrl_nrts2_default
+ &pinctrl_ndtr2_default
+ &pinctrl_ndsr2_default
+ &pinctrl_ncts2_default
+ &pinctrl_ndcd2_default
+ &pinctrl_nri2_default>;
+};
+
+&uart3 {
+ status = "okay";
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&uart5 {
+ status = "okay";
+};
+
+&uart_routing {
+ status = "okay";
+};
+
+&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>;
+};
+
+&mdio1 {
+ status = "disabled";
+
+ ethphy1: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac1 {
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rgmii2_default>;
+ phy-mode = "rgmii";
+ phy-handle = <ðphy1>;
+};
+
+&mdio2 {
+ status = "disabled";
+
+ ethphy2: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rmii3_default>;
+ use-ncsi;
+};
+
+&mdio3 {
+ status = "disabled";
+
+ ethphy3: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac3 {
+ status = "disabled";
+ pinctrl-names = "default";
+ phy-handle = <ðphy3>;
+ phy-mode = "rgmii";
+
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "disabled";
+};
+
+&i2c2 {
+ multi-master;
+ status = "okay";
+#if 0
+ i2c-switch@71 {
+ compatible = "nxp,pca9548";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x71>;
+ i2c-mux-idle-disconnect;
+
+ imux18: i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ };
+
+ imux19: i2c@3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+ };
+
+ imux20: i2c@4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <4>;
+ };
+
+ imux21: i2c@5 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <5>;
+ };
+
+ imux22: i2c@6 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <6>;
+ };
+ };
+#endif
+};
+
+&i2c3 {
+ //TODO, i2c switch
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+ bus-frequency = <400000>;
+};
+
+&i2c5 {
+ status = "okay";
+};
+
+&i2c6 {
+ //TODO, i2c switch
+ status = "okay";
+};
+
+&i2c7 {
+ status = "okay";
+};
+
+&video {
+ status = "okay";
+ memory-region = <&video_engine_memory>;
+};
+
+&vhub {
+ status = "okay";
+};
+
+&rtc {
+ status = "okay";
+};
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-01-30 23:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-28 6:22 [PATCH] Add Supermicro X13DEM BMC machine Ryan Sie
2023-01-23 2:01 ` Andrew Jeffery
-- strict thread matches above, loose matches on Subject: below --
2023-01-30 8:41 Ryan Sie
2022-12-28 6:20 Ryan Sie
2022-12-28 10:31 ` Paul Menzel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.