mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Kelly Hung <KellyHung@asus.com>
To: <robh+dt@kernel.org>
Cc: <krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
	<joel@jms.id.au>, <andrew@codeconstruct.com.au>,
	<devicetree@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-aspeed@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>,
	<openbmc@lists.ozlabs.org>, <kelly_hung@asus.com>,
	<Allenyy_Hsu@asus.com>, Kelly Hung <KellyHung@asus.com>,
	Conor Dooley <conor.dooley@microchip.com>
Subject: [PATCH v8 2/2] ARM: dts: aspeed: x4tf: Add dts for asus x4tf project
Date: Tue, 7 May 2024 17:21:09 +0800	[thread overview]
Message-ID: <20240507092109.6018-3-KellyHung@asus.com> (raw)
In-Reply-To: <20240507092109.6018-1-KellyHung@asus.com>

Base on aspeed-g6.dtsi and can boot into BMC console.

Signed-off-by: Kelly Hung <KellyHung@asus.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
v7 -> v8:
- Modify Signed-off-by field with new ASUS smtp account.
- Add back Acked-by tag.
v6 -> v7:
- Remove incorrect tags.
- Modify Signed-off-by field.
v5 -> v6:
- add Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
- add Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
- add Reviewed-by: Rob Herring <robh@kernel.org>
- add Acked-by: Conor Dooley <conor.dooley@microchip.com>
- remove the v3's Reviewed-by: Zev Weiss <zweiss@equinix.com>.
V4 -> V5: None
V3 -> V4: None
V2 -> V3:
- fmc lable change to bmc.
- use 64M partition layout.
- rename spi1 label to bios.
- remove bios partition section.
- add Reviewed-by: Zev Weiss <zweiss@equinix.com>
V1 -> V2:
- do schema check and remove all warings.
- remove all unnecessary sections.
---
 arch/arm/boot/dts/aspeed/Makefile             |   1 +
 .../boot/dts/aspeed/aspeed-bmc-asus-x4tf.dts  | 581 ++++++++++++++++++
 2 files changed, 582 insertions(+)
 create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-asus-x4tf.dts

diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index d3ac20e31..32c41f3d9 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
        aspeed-bmc-arm-stardragon4800-rep2.dtb \
        aspeed-bmc-asrock-e3c246d4i.dtb \
        aspeed-bmc-asrock-romed8hm3.dtb \
+       aspeed-bmc-asus-x4tf.dtb \
        aspeed-bmc-bytedance-g220a.dtb \
        aspeed-bmc-delta-ahe50dc.dtb \
        aspeed-bmc-facebook-bletchley.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-asus-x4tf.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-asus-x4tf.dts
new file mode 100644
index 000000000..64f4ed07c
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-asus-x4tf.dts
@@ -0,0 +1,581 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+// Copyright 2024 ASUS Corp.
+
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include "aspeed-g6-pinctrl.dtsi"
+#include <dt-bindings/i2c/i2c.h>
+#include <dt-bindings/gpio/aspeed-gpio.h>
+
+/ {
+       model = "ASUS-X4TF";
+       compatible = "asus,x4tf-bmc", "aspeed,ast2600";
+
+       aliases {
+               serial4 = &uart5;
+       };
+
+       chosen {
+               stdout-path = "serial4:115200n8";
+       };
+
+       memory@80000000 {
+               device_type = "memory";
+               reg = <0x80000000 0x40000000>;
+       };
+
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               video_engine_memory: video {
+                       size = <0x04000000>;
+                       alignment = <0x01000000>;
+                       compatible = "shared-dma-pool";
+                       reusable;
+               };
+       };
+
+       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>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led-heartbeat {
+                       gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               led-uid {
+                       gpios = <&gpio0 ASPEED_GPIO(P, 1) (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
+                       default-state = "off";
+               };
+
+               led-status_Y {
+                       gpios = <&gpio1 ASPEED_GPIO(B, 1) GPIO_ACTIVE_LOW>;
+                       default-state = "off";
+               };
+
+               led-sys_boot_status {
+                       gpios = <&gpio1 ASPEED_GPIO(B, 0) GPIO_ACTIVE_LOW>;
+                       default-state = "off";
+               };
+       };
+};
+
+&adc0 {
+       vref = <2500>;
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
+               &pinctrl_adc2_default &pinctrl_adc3_default
+               &pinctrl_adc4_default &pinctrl_adc5_default
+               &pinctrl_adc6_default &pinctrl_adc7_default>;
+};
+
+&adc1 {
+       vref = <2500>;
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
+               &pinctrl_adc10_default &pinctrl_adc11_default
+               &pinctrl_adc12_default &pinctrl_adc13_default
+               &pinctrl_adc14_default &pinctrl_adc15_default>;
+};
+
+&peci0 {
+       status = "okay";
+};
+
+&lpc_snoop {
+       snoop-ports = <0x80>;
+       status = "okay";
+};
+
+&mac2 {
+       status = "okay";
+       phy-mode = "rmii";
+       use-ncsi;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_rmii3_default>;
+};
+
+&mac3 {
+       status = "okay";
+       phy-mode = "rmii";
+       use-ncsi;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_rmii4_default>;
+};
+
+&fmc {
+       status = "okay";
+
+       flash@0 {
+               status = "okay";
+               m25p,fast-read;
+               label = "bmc";
+               spi-max-frequency = <50000000>;
+#include "openbmc-flash-layout-64.dtsi"
+       };
+};
+
+&spi1 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_spi1_default>;
+
+       flash@0 {
+               status = "okay";
+               label = "bios";
+               spi-max-frequency = <50000000>;
+       };
+};
+
+&i2c0 {
+       status = "okay";
+};
+
+&i2c1 {
+       status = "okay";
+};
+
+&i2c2 {
+       status = "okay";
+};
+
+&i2c3 {
+       status = "okay";
+};
+
+&i2c4 {
+       status = "okay";
+
+       temperature-sensor@48 {
+               compatible = "ti,tmp75";
+               reg = <0x48>;
+       };
+
+       temperature-sensor@49 {
+               compatible = "ti,tmp75";
+               reg = <0x49>;
+       };
+
+       pca9555_4_20: gpio@20 {
+               compatible = "nxp,pca9555";
+               reg = <0x20>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       pca9555_4_22: gpio@22 {
+               compatible = "nxp,pca9555";
+               reg = <0x22>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       pca9555_4_24: gpio@24 {
+               compatible = "nxp,pca9555";
+               reg = <0x24>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-line-names =
+               /*A0 - A3 0*/   "", "STRAP_BMC_BATTERY_GPIO1", "", "",
+               /*A4 - A7 4*/   "", "", "", "",
+               /*B0 - B7 8*/   "", "", "", "", "", "", "", "";
+       };
+
+       pca9555_4_26: gpio@26 {
+               compatible = "nxp,pca9555";
+               reg = <0x26>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       i2c-mux@70 {
+               compatible = "nxp,pca9546";
+               status = "okay";
+               reg = <0x70>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               channel_1: i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+               };
+
+               channel_2: i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+               };
+
+               channel_3: i2c@2 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <2>;
+               };
+
+               channel_4: i2c@3 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <3>;
+               };
+       };
+};
+
+&i2c5 {
+       status = "okay";
+
+       pca9555_5_24: gpio@24 {
+               compatible = "nxp,pca9555";
+               reg = <0x24>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       i2c-mux@70  {
+               compatible = "nxp,pca9546";
+               status = "okay";
+               reg = <0x70 >;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               channel_5: i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+
+                       pca9555_5_5_20: gpio@20 {
+                               compatible = "nxp,pca9555";
+                               reg = <0x20>;
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               gpio-line-names =
+                                       "", "", "", "", "", "", "", "",
+                                       "", "", "SYS_FAN6", "SYS_FAN5",
+                                       "SYS_FAN4", "SYS_FAN3",
+                                       "SYS_FAN2", "SYS_FAN1";
+                       };
+
+                       pca9555_5_5_21: gpio@21 {
+                               compatible = "nxp,pca9555";
+                               reg = <0x21>;
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                       };
+
+                       power-monitor@44 {
+                               compatible = "ti,ina219";
+                               reg = <0x44>;
+                               shunt-resistor = <2>;
+                       };
+               };
+
+               channel_6: i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+               };
+
+               channel_7: i2c@2 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <2>;
+               };
+
+               channel_8: i2c@3 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <3>;
+               };
+       };
+};
+
+&i2c6 {
+       status = "okay";
+
+       pca9555_6_27: gpio@27 {
+               compatible = "nxp,pca9555";
+               reg = <0x27>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       pca9555_6_20: gpio@20 {
+               compatible = "nxp,pca9555";
+               reg = <0x20>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-line-names =
+               /*A0 0*/        "", "", "", "", "", "", "", "",
+               /*B0 8*/        "Drive_NVMe1", "Drive_NVMe2", "", "",
+               /*B4 12*/       "", "", "", "";
+       };
+
+       pca9555_6_21: gpio@21 {
+               compatible = "nxp,pca9555";
+               reg = <0x21>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+};
+
+&i2c7 {
+       status = "okay";
+
+       i2c-mux@70 {
+               compatible = "nxp,pca9546";
+               status = "okay";
+               reg = <0x70>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               idle-state = <1>;
+
+               channel_9: i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+
+                       temperature-sensor@48 {
+                               compatible = "ti,tmp75";
+                               reg = <0x48>;
+                       };
+
+                       temperature-sensor@49 {
+                               compatible = "ti,tmp75";
+                               reg = <0x49>;
+                       };
+
+                       power-monitor@40 {
+                               compatible = "ti,ina219";
+                               reg = <0x40>;
+                               shunt-resistor = <2>;
+                       };
+
+                       power-monitor@41 {
+                               compatible = "ti,ina219";
+                               reg = <0x41>;
+                               shunt-resistor = <5>;
+                       };
+               };
+
+               channel_10: i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+               };
+
+               channel_11: i2c@2 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <2>;
+               };
+
+               channel_12: i2c@3 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <3>;
+               };
+       };
+
+       i2c-mux@71 {
+               compatible = "nxp,pca9546";
+               status = "okay";
+               reg = <0x71>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               i2c-mux-idle-disconnect;
+
+               channel_13: i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+               };
+
+               channel_14: i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+               };
+
+               channel_15: i2c@2 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <2>;
+               };
+
+               channel_16: i2c@3 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <3>;
+               };
+       };
+};
+
+&i2c8 {
+       status = "okay";
+
+       i2c-mux@70 {
+               compatible = "nxp,pca9546";
+               status = "okay";
+               reg = <0x70>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               i2c-mux-idle-disconnect;
+
+               channel_17: i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+               };
+
+               channel_18: i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+
+                       temperature-sensor@48 {
+                               compatible = "ti,tmp75";
+                               reg = <0x48>;
+                       };
+
+                       power-monitor@41 {
+                               compatible = "ti,ina219";
+                               reg = <0x41>;
+                               shunt-resistor = <5>;
+                       };
+               };
+
+               channel_19: i2c@2 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <2>;
+               };
+
+               channel_20: i2c@3 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <3>;
+               };
+       };
+};
+
+&i2c9 {
+       status = "okay";
+};
+
+&i2c10 {
+       status = "okay";
+};
+
+&i2c11 {
+       status = "okay";
+};
+
+&i2c14 {
+       status = "okay";
+       multi-master;
+
+       eeprom@50 {
+               compatible = "atmel,24c08";
+               reg = <0x50>;
+       };
+
+       eeprom@51 {
+               compatible = "atmel,24c08";
+               reg = <0x51>;
+       };
+};
+
+&sgpiom0 {
+       status = "okay";
+       ngpios = <128>;
+};
+
+&video {
+       status = "okay";
+       memory-region = <&video_engine_memory>;
+};
+
+&sdc {
+       status = "okay";
+};
+
+&lpc_snoop {
+       status = "okay";
+       snoop-ports = <0x80>;
+};
+
+&kcs1 {
+       aspeed,lpc-io-reg = <0xca0>;
+       status = "okay";
+};
+
+&kcs2 {
+       aspeed,lpc-io-reg = <0xca8>;
+       status = "okay";
+};
+
+&kcs3 {
+       aspeed,lpc-io-reg = <0xca2>;
+       status = "okay";
+};
+
+&uart3 {
+       status = "okay";
+};
+
+&uart5 {
+       status = "okay";
+};
+
+&uart_routing {
+       status = "okay";
+};
+
+&vhub {
+       status = "okay";
+};
+
+&gpio0 {
+       gpio-line-names =
+       /*A0 0*/        "", "", "", "", "", "", "", "",
+       /*B0 8*/        "", "", "", "", "", "", "PS_PWROK", "",
+       /*C0 16*/       "", "", "", "", "", "", "", "",
+       /*D0 24*/       "", "", "", "", "", "", "", "",
+       /*E0 32*/       "", "", "", "", "", "", "", "",
+       /*F0 40*/       "", "", "", "", "", "", "", "",
+       /*G0 48*/       "", "", "", "", "", "", "", "",
+       /*H0 56*/       "", "", "", "", "", "", "", "",
+       /*I0 64*/       "", "", "", "", "", "", "", "",
+       /*J0 72*/       "", "", "", "", "", "", "", "",
+       /*K0 80*/       "", "", "", "", "", "", "", "",
+       /*L0 88*/       "", "", "", "", "", "", "", "",
+       /*M0 96*/       "", "", "", "", "", "", "", "",
+       /*N0 104*/      "", "", "", "",
+       /*N4 108*/      "POST_COMPLETE", "ESR1_GPIO_AST_SPISEL", "", "",
+       /*O0 112*/      "", "", "", "", "", "", "", "",
+       /*P0 120*/      "ID_BUTTON", "ID_OUT", "POWER_BUTTON", "POWER_OUT",
+       /*P4 124*/      "RESET_BUTTON", "RESET_OUT", "", "HEARTBEAT",
+       /*Q0 128*/      "", "", "", "", "", "", "", "",
+       /*R0 136*/      "", "", "", "", "", "", "", "",
+       /*S0 144*/      "", "", "", "", "", "", "", "",
+       /*T0 152*/      "", "", "", "", "", "", "", "",
+       /*U0 160*/      "", "", "", "", "", "", "", "",
+       /*V0 168*/      "", "", "", "", "", "", "", "",
+       /*W0 176*/      "", "", "", "", "", "", "", "",
+       /*X0 184*/      "", "", "", "", "", "", "", "",
+       /*Y0 192*/      "", "", "", "", "", "", "", "",
+       /*Z0 200*/      "", "", "", "", "", "", "", "";
+};
--
2.25.1

===================================================================================================================================
This email and any attachments to it contain confidential information and are intended solely for the use of the individual to whom it is addressed. If you are not the intended recipient or receive it accidentally, please immediately notify the sender by e-mail and delete the message and any attachments from your computer system, and destroy all hard copies. Please be advised that any unauthorized disclosure, copying, distribution or any action taken or omitted in reliance on this, is illegal and prohibited. Any views or opinions expressed are solely those of the author and do not represent those of ASUSTeK.

For pricing information, ASUS is only entitled to set a recommendation resale price. All customers are free to set their own price as they wish.
===================================================================================================================================

  parent reply	other threads:[~2024-05-07  9:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-07  9:21 [PATCH v8 0/2] Change email sender Kelly Hung
2024-05-07  9:21 ` [PATCH v8 1/2] dt-bindings: arm: aspeed: add ASUS X4TF board Kelly Hung
2024-05-07  9:21 ` Kelly Hung [this message]
2024-05-08  1:00 ` [PATCH v8 0/2] Change email sender Andrew Jeffery

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240507092109.6018-3-KellyHung@asus.com \
    --to=kellyhung@asus.com \
    --cc=Allenyy_Hsu@asus.com \
    --cc=andrew@codeconstruct.com.au \
    --cc=conor+dt@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=devicetree@vger.kernel.org \
    --cc=joel@jms.id.au \
    --cc=kelly_hung@asus.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-aspeed@lists.ozlabs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=openbmc@lists.ozlabs.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®