From nobody Tue Apr 7 15:27:24 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B57493A3E7B for ; Tue, 7 Apr 2026 08:17:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775549883; cv=none; b=pqnIeHTnCop/TCDXvCNFbGDLsI74NzJB+5EnDHr78i4mA0wPNb2YG/MqgyUK33LK4oW+U+xmLFwvqmiJazyI5Z4hS8lXFH5kiq/TlVXv+UhtczgFyptspAzwin31yQZUnfAZJ/UK1Rc7Ml7IH7i89/NG4KQEM7giPS0FW8msx9c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775549883; c=relaxed/simple; bh=sJxhOXLvr5j6FQkVDmQDYlLps+4hUi4HHRkWK4IJu6g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pzzhYIOq34LGhsY/N9aqjYgjeWgxjyitMIy6R+06mTN0Srw9IF6prRws9HvAwhJpmldJlwIKdPkuiuaNMZRLVbDed/rGGPacKYBgwK0mYKCTU/ONfLB42piB+Ug/3EuB9o85GwZ6bt7I5IsaIxjDENeDotWriysYyK44AlCrQso= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ndjsmJ1s; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ndjsmJ1s" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-35d9827661bso2354505a91.3 for ; Tue, 07 Apr 2026 01:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775549879; x=1776154679; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1nNKJBXSs91tcpzoJ5f/BLeAo/JzakUZqetZvRFHBJg=; b=ndjsmJ1st7+7TBAVTaTHFaDQL32JDjk2os3AFwM9ZxcHERKyL75q1C8jSrFXJZJJ8U 94FVkDsWFQvqf8+NGwmASq6IISKRzt9g/bXVBypO9XBUJXGxxa5rKCV8RKTA+9wZ8BvU mpG9lUNzWG4yKtBLTA6wcMKgwZslcTIrfDf/vS0aRsSz5AH2RwiB4i4eqAfUKDqZhkE/ LjHmj5RKQGhV81mCt5pAvs4jv6VvOIV6NIgINFm8FQzzgnKBtB73DX1Q890hp2wJc9eD BfMxhVHtMTd+mW80kCjEHR4R+S2hNN5X6yUv25Wyd/VIdEAs6GFfXbRQF68AuTKWd/HB i9vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775549879; x=1776154679; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1nNKJBXSs91tcpzoJ5f/BLeAo/JzakUZqetZvRFHBJg=; b=XQYwv124/DYTIT9XjeraVDdsMnFehy+yBtheiB5U4KMC1m2skAzbLisGWE125Q7TAC gqOiQ2hkM0gTXWF9HnErx4b14TR6X2meRaiGqi93YCH1Whfs1C4Is5Gp/zGoWtL8YHv+ OJNsio6yry+Ku7HVTd+seaDlYKAlZj+QG5TQX/jSWDg2kcwi4QPUe2jGvRfM/bxF6HU+ Z65YmsJ006UWV1p8Lqpn5Wxj0CoCtVwHwwo4Im3SctKuiQMe0owcqXc4QnfcgTykX2Z+ CbrCRRXFtmeG/aXngaUdNCxkj8mw1ZVsPFtpYArPiYAbEVs8X3bj83MHS/n3uwqGoGub DGLg== X-Forwarded-Encrypted: i=1; AJvYcCUzaDkY4omLwBULMvohxja/NSLUZlBfdk4hNUUS+sTLdImCp1VLRvGXB74Pojkun7cIrDNCAty/NFjYwuU=@vger.kernel.org X-Gm-Message-State: AOJu0YxrT8weCOhqwVT8ooLhP8ViYuChSuBURzwmUfeXTSNtV+dep5rG Zod/cdhMObxK+GEqhmh5MWUaM5FC3l8DLxPmzomCoZVndzNOd3IcHEGs X-Gm-Gg: AeBDievadc10qZfrS4dEwEjitmb/D/0VlDGeBaWj8VVAfaH9yb+h///W3IOFKrpw3CX CUnGkkfquhWKMXu1us7ZEPhfhb6JOb/T19L4AuMhgz6ZOWhVM0BcZy5grY3X121SzducD5joEUj o+pAbeLRQhgUAV86+jtIgjngVoBiXn/WswZSre7KO6Y4fcchbvPqRg2cwgXu15FXGMtcynZlM8q xMJTWdH2O22qWdc3xJ+eDZ7OTYWCB3lvjqDSOwFGTKt62/XKV9d9kNlFlFw9Hj3zRUdPDJPFRZe kByrg+4RBJwYQPXIJEV9fv5fdNK6WVCfdzNi1TGfZEfA/2YhhQJWK9Nmehg2egwQC2uO/TWI5ef NEM6p8wmgQGC6DrkybP9sxvavGZBCkItRSu3zSp17PZWz1ZCla3XnWQ5maq3tMRJuRjCEF85SFr MunEOzkiFEXzFlO4fwOg0kX3C2hK36Id0C7SBDO0la0O4IZq05daxzLCmUNNbQhvmTED9gPfcCM hEIW6WWrqwfozlzg3zq4WM= X-Received: by 2002:a17:90a:e710:b0:35d:9bb3:2a31 with SMTP id 98e67ed59e1d1-35de69a6055mr14398111a91.25.1775549878933; Tue, 07 Apr 2026 01:17:58 -0700 (PDT) Received: from pk-pc.dhcpserver.bu9bmc.local (61-220-246-151.hinet-ip.hinet.net. [61.220.246.151]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35de6a2325bsm4592889a91.12.2026.04.07.01.17.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 01:17:58 -0700 (PDT) From: "P.K. Lee" To: robh+dt@kernel.org, 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 Cc: Jason-Hsu@quantatw.com, p.k.lee@quantatw.com Subject: [PATCH v13 2/2] arm: dts: aspeed: ventura: add Meta Ventura BMC Date: Tue, 7 Apr 2026 16:17:00 +0800 Message-ID: <20260407081700.2658011-3-pkleequanta@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260407081700.2658011-1-pkleequanta@gmail.com> References: <20260407081700.2658011-1-pkleequanta@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add Linux device tree related to Meta (Facebook) Ventura specific devices connected to the BMC (AST2600) SoC. The purpose of Ventura is to detect liquid leakage from all compute trays, switch trays and rack sensors within the rack, log the events, and take necessary actions accordingly. Signed-off-by: P.K. Lee --- arch/arm/boot/dts/aspeed/Makefile | 1 + .../aspeed/aspeed-bmc-facebook-ventura.dts | 1636 +++++++++++++++++ 2 files changed, 1637 insertions(+) create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-ventura.dts diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/M= akefile index 0f0b5b707654..f5ac72d5933c 100644 --- a/arch/arm/boot/dts/aspeed/Makefile +++ b/arch/arm/boot/dts/aspeed/Makefile @@ -32,6 +32,7 @@ dtb-$(CONFIG_ARCH_ASPEED) +=3D \ aspeed-bmc-facebook-minipack.dtb \ aspeed-bmc-facebook-santabarbara.dtb \ aspeed-bmc-facebook-tiogapass.dtb \ + aspeed-bmc-facebook-ventura.dtb \ aspeed-bmc-facebook-wedge40.dtb \ aspeed-bmc-facebook-wedge100.dtb \ aspeed-bmc-facebook-wedge400-data64.dtb \ diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-ventura.dts b/arc= h/arm/boot/dts/aspeed/aspeed-bmc-facebook-ventura.dts new file mode 100644 index 000000000000..6ce6201f7755 --- /dev/null +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-ventura.dts @@ -0,0 +1,1636 @@ +// SPDX-License-Identifier: GPL-2.0+ +// Copyright (c) 2023 Facebook Inc. +/dts-v1/; + +#include "aspeed-g6.dtsi" +#include +#include + +/ { + model =3D "Facebook ventura RMC"; + compatible =3D "facebook,ventura-rmc", "aspeed,ast2600"; + + aliases { + serial4 =3D &uart5; + i2c16 =3D &i2c3mux0ch3; + i2c17 =3D &i2c3mux0ch4; + i2c18 =3D &i2c3mux0ch5; + i2c19 =3D &i2c3mux0ch6; + i2c20 =3D &i2c3mux0ch0; + i2c21 =3D &i2c3mux0ch1; + i2c22 =3D &i2c3mux0ch2; + i2c23 =3D &i2c3mux0ch7; + i2c24 =3D &i2c0mux0ch0; + i2c25 =3D &i2c0mux0ch1; + i2c26 =3D &i2c0mux0ch2; + i2c27 =3D &i2c0mux0ch3; + i2c28 =3D &i2c0mux0ch4; + i2c29 =3D &i2c0mux0ch5; + i2c30 =3D &i2c0mux0ch6; + i2c31 =3D &i2c0mux0ch7; + i2c32 =3D &i2c1mux0ch0; + i2c33 =3D &i2c1mux0ch1; + i2c34 =3D &i2c1mux0ch2; + i2c35 =3D &i2c1mux0ch3; + i2c36 =3D &i2c1mux0ch4; + i2c37 =3D &i2c1mux0ch5; + i2c38 =3D &i2c1mux0ch6; + i2c39 =3D &i2c1mux0ch7; + i2c40 =3D &i2c2mux0ch0; + i2c41 =3D &i2c2mux0ch1; + i2c42 =3D &i2c2mux0ch2; + i2c43 =3D &i2c2mux0ch3; + i2c44 =3D &i2c2mux0ch4; + i2c45 =3D &i2c2mux0ch5; + i2c46 =3D &i2c2mux0ch6; + i2c47 =3D &i2c2mux0ch7; + }; + + chosen { + stdout-path =3D "serial4:57600n8"; + }; + + iio-hwmon { + compatible =3D "iio-hwmon"; + io-channels =3D <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, + <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>, + <&adc1 2>; + }; + + leds { + compatible =3D "gpio-leds"; + + led-0 { + label =3D "bmc_heartbeat_amber"; + gpios =3D <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "heartbeat"; + }; + + led-1 { + label =3D "fp_id_amber"; + default-state =3D "off"; + gpios =3D <&gpio0 ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>; + }; + + led-2 { + label =3D "bmc_ready_noled"; + default-state =3D "on"; + gpios =3D <&gpio0 ASPEED_GPIO(B, 3) (GPIO_ACTIVE_HIGH|GPIO_TRANSITORY)>; + }; + + led-3 { + label =3D "power_blue"; + default-state =3D "off"; + gpios =3D <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>; + }; + + led-4 { + label =3D "compute1_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g5_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-5 { + label =3D "compute1_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 15 GPIO_ACTIVE_LOW>; + }; + + led-6 { + label =3D "compute1_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-7 { + label =3D "compute2_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 11 GPIO_ACTIVE_LOW>; + }; + + led-8 { + label =3D "compute2_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 10 GPIO_ACTIVE_LOW>; + }; + + led-9 { + label =3D "compute2_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 9 GPIO_ACTIVE_LOW>; + }; + + led-10 { + label =3D "compute3_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 8 GPIO_ACTIVE_LOW>; + }; + + led-11 { + label =3D "compute3_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 7 GPIO_ACTIVE_LOW>; + }; + + led-12 { + label =3D "compute3_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 6 GPIO_ACTIVE_LOW>; + }; + + led-13 { + label =3D "compute4_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-14 { + label =3D "compute4_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-15 { + label =3D "compute4_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 15 GPIO_ACTIVE_LOW>; + }; + + led-16 { + label =3D "compute5_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-17 { + label =3D "compute5_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 13 GPIO_ACTIVE_LOW>; + }; + + led-18 { + label =3D "compute5_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 12 GPIO_ACTIVE_LOW>; + }; + + led-19 { + label =3D "compute6_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 7 GPIO_ACTIVE_LOW>; + }; + + led-20 { + label =3D "compute6_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 6 GPIO_ACTIVE_LOW>; + }; + + led-21 { + label =3D "compute6_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 5 GPIO_ACTIVE_LOW>; + }; + + led-22 { + label =3D "compute7_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-23 { + label =3D "compute7_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 3 GPIO_ACTIVE_LOW>; + }; + + led-24 { + label =3D "compute7_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 2 GPIO_ACTIVE_LOW>; + }; + + led-25 { + label =3D "compute8_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 13 GPIO_ACTIVE_LOW>; + }; + + led-26 { + label =3D "compute8_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 12 GPIO_ACTIVE_LOW>; + }; + + led-27 { + label =3D "compute8_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 11 GPIO_ACTIVE_LOW>; + }; + + led-28 { + label =3D "nvs1_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 10 GPIO_ACTIVE_LOW>; + }; + + led-29 { + label =3D "nvs1_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 9 GPIO_ACTIVE_LOW>; + }; + + led-30 { + label =3D "nvs1_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 8 GPIO_ACTIVE_LOW>; + }; + + led-31 { + label =3D "nvs2_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 3 GPIO_ACTIVE_LOW>; + }; + + led-32 { + label =3D "nvs2_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 2 GPIO_ACTIVE_LOW>; + }; + + led-33 { + label =3D "nvs2_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-34 { + label =3D "nvs3_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-35 { + label =3D "nvs3_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 15 GPIO_ACTIVE_LOW>; + }; + + led-36 { + label =3D "nvs3_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g4_gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-37 { + label =3D "nvs4_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 9 GPIO_ACTIVE_LOW>; + }; + + led-38 { + label =3D "nvs4_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 8 GPIO_ACTIVE_LOW>; + }; + + led-39 { + label =3D "nvs4_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 7 GPIO_ACTIVE_LOW>; + }; + + led-40 { + label =3D "nvs5_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 6 GPIO_ACTIVE_LOW>; + }; + + led-41 { + label =3D "nvs5_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 5 GPIO_ACTIVE_LOW>; + }; + + led-42 { + label =3D "nvs5_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-43 { + label =3D "nvs6_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 15 GPIO_ACTIVE_LOW>; + }; + + led-44 { + label =3D "nvs6_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-45 { + label =3D "nvs6_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 13 GPIO_ACTIVE_LOW>; + }; + + led-46 { + label =3D "nvs7_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 12 GPIO_ACTIVE_LOW>; + }; + + led-47 { + label =3D "nvs7_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 11 GPIO_ACTIVE_LOW>; + }; + + led-48 { + label =3D "nvs7_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g3_gpio 10 GPIO_ACTIVE_LOW>; + }; + + led-49 { + label =3D "nvs8_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 5 GPIO_ACTIVE_LOW>; + }; + + led-50 { + label =3D "nvs8_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-51 { + label =3D "nvs8_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 3 GPIO_ACTIVE_LOW>; + }; + + led-52 { + label =3D "nvs9_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 2 GPIO_ACTIVE_LOW>; + }; + + led-53 { + label =3D "nvs9_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-54 { + label =3D "nvs9_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-55 { + label =3D "compute9_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 11 GPIO_ACTIVE_LOW>; + }; + + led-56 { + label =3D "compute9_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 10 GPIO_ACTIVE_LOW>; + }; + + led-57 { + label =3D "compute9_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 9 GPIO_ACTIVE_LOW>; + }; + + led-58 { + label =3D "compute10_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 8 GPIO_ACTIVE_LOW>; + }; + + led-59 { + label =3D "compute10_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 7 GPIO_ACTIVE_LOW>; + }; + + led-60 { + label =3D "compute10_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 6 GPIO_ACTIVE_LOW>; + }; + + led-61 { + label =3D "compute11_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-62 { + label =3D "compute11_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-63 { + label =3D "compute11_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 15 GPIO_ACTIVE_LOW>; + }; + + led-64 { + label =3D "compute12_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-65 { + label =3D "compute12_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 13 GPIO_ACTIVE_LOW>; + }; + + led-66 { + label =3D "compute12_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g6_gpio 12 GPIO_ACTIVE_LOW>; + }; + + led-67 { + label =3D "compute13_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 7 GPIO_ACTIVE_LOW>; + }; + + led-68 { + label =3D "compute13_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 6 GPIO_ACTIVE_LOW>; + }; + + led-69 { + label =3D "compute13_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 5 GPIO_ACTIVE_LOW>; + }; + + led-70 { + label =3D "compute14_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-71 { + label =3D "compute14_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 3 GPIO_ACTIVE_LOW>; + }; + + led-72 { + label =3D "compute14_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 2 GPIO_ACTIVE_LOW>; + }; + + led-73 { + label =3D "compute15_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 13 GPIO_ACTIVE_LOW>; + }; + + led-74 { + label =3D "compute15_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 12 GPIO_ACTIVE_LOW>; + }; + + led-75 { + label =3D "compute15_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 11 GPIO_ACTIVE_LOW>; + }; + + led-76 { + label =3D "compute16_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 10 GPIO_ACTIVE_LOW>; + }; + + led-77 { + label =3D "compute16_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 9 GPIO_ACTIVE_LOW>; + }; + + led-78 { + label =3D "compute16_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g2_gpio 8 GPIO_ACTIVE_LOW>; + }; + + led-79 { + label =3D "compute17_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 5 GPIO_ACTIVE_LOW>; + }; + + led-80 { + label =3D "compute17_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-81 { + label =3D "compute17_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 3 GPIO_ACTIVE_LOW>; + }; + + led-82 { + label =3D "compute18_led_switch"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 2 GPIO_ACTIVE_LOW>; + }; + + led-83 { + label =3D "compute18_led_blue"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-84 { + label =3D "compute18_led_amber"; + default-state =3D "off"; + gpios =3D <&tray_leds_g1_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-85 { + label =3D "fan0_ledd1_blue"; + default-state =3D "off"; + gpios =3D <&fan_leds_g1_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-86 { + label =3D "fan0_ledd2_blue"; + default-state =3D "off"; + gpios =3D <&fan_leds_g1_gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-87 { + label =3D "fan0_ledd1_amber"; + default-state =3D "off"; + gpios =3D <&fan_leds_g1_gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-88 { + label =3D "fan0_ledd2_amber"; + default-state =3D "off"; + gpios =3D <&fan_leds_g1_gpio 5 GPIO_ACTIVE_LOW>; + }; + + led-89 { + label =3D "fan1_ledd1_blue"; + default-state =3D "off"; + gpios =3D <&fan_leds_g2_gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-90 { + label =3D "fan1_ledd2_blue"; + default-state =3D "off"; + gpios =3D <&fan_leds_g2_gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-91 { + label =3D "fan1_ledd1_amber"; + default-state =3D "off"; + gpios =3D <&fan_leds_g2_gpio 4 GPIO_ACTIVE_LOW>; + }; + + led-92 { + label =3D "fan1_ledd2_amber"; + default-state =3D "off"; + gpios =3D <&fan_leds_g2_gpio 5 GPIO_ACTIVE_LOW>; + }; + }; + + memory@80000000 { + device_type =3D "memory"; + reg =3D <0x80000000 0x80000000>; + }; + + p1v8_bmc_aux: regulator-p1v8-bmc-aux { + compatible =3D "regulator-fixed"; + regulator-name =3D "p1v8_bmc_aux"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + }; + + p2v5_bmc_aux: regulator-p2v5-bmc-aux { + compatible =3D "regulator-fixed"; + regulator-name =3D "p2v5_bmc_aux"; + regulator-min-microvolt =3D <2500000>; + regulator-max-microvolt =3D <2500000>; + regulator-always-on; + }; + + spi1_gpio: spi { + compatible =3D "spi-gpio"; + #address-cells =3D <1>; + #size-cells =3D <0>; + + sck-gpios =3D <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>; + mosi-gpios =3D <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>; + miso-gpios =3D <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>; + cs-gpios =3D <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>; + num-chipselects =3D <1>; + + tpm@0 { + compatible =3D "infineon,slb9670", "tcg,tpm_tis-spi"; + spi-max-frequency =3D <33000000>; + reg =3D <0>; + }; + }; +}; + +&adc0 { + vref-supply =3D <&p1v8_bmc_aux>; + status =3D "okay"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&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-supply =3D <&p2v5_bmc_aux>; + status =3D "okay"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_adc10_default>; +}; + +&ehci0 { + status =3D "okay"; +}; + +&ehci1 { + status =3D "okay"; +}; + +&fmc { + status =3D "okay"; + flash@0 { + status =3D "okay"; + m25p,fast-read; + label =3D "bmc"; + spi-max-frequency =3D <50000000>; +#include "openbmc-flash-layout-128.dtsi" + }; + flash@1 { + status =3D "okay"; + m25p,fast-read; + label =3D "alt-bmc"; + spi-max-frequency =3D <50000000>; + }; +}; + +&gpio0 { + gpio-line-names =3D + /*A0-A7*/ "","","","","","","","", + /*B0-B7*/ "BATTERY_DETECT","","","BMC_READY","","","","", + /*C0-C7*/ "","","","","","","","", + /*D0-D7*/ "","","","","","","","", + /*E0-E7*/ "","","","","","","","", + /*F0-F7*/ "","","","","","","","", + /*G0-G7*/ "","","","","","","","", + /*H0-H7*/ "","","","","","","","", + /*I0-I7*/ "","","","","","","","", + /*J0-J7*/ "","","","","","","","", + /*K0-K7*/ "","","","","","","","", + /*L0-L7*/ "","","","","","","","", + /*M0-M7*/ "","","","","","","","", + /*N0-N7*/ "","","","","","","","", + /*O0-O7*/ "","","","","","","","USBDBG_IPMI_EN_L", + /*P0-P7*/ "","","","","","","","", + /*Q0-Q7*/ "","","","","","FM_MDIO_SW_SEL","","", + /*R0-R7*/ "","","","","","","","", + /*S0-S7*/ "","","","","","","","", + /*T0-T7*/ "","","","","","","","", + /*U0-U7*/ "","","","","","","","", + /*V0-V7*/ "","","","","","","","", + /*W0-W7*/ "","","","","","","","", + /*X0-X7*/ "","","","","","","","", + /*Y0-Y7*/ "","","","","","","","", + /*Z0-Z7*/ "","","","","","","",""; +}; + +&i2c0 { + status =3D "okay"; + + i2c-mux@77 { + compatible =3D "nxp,pca9548"; + reg =3D <0x77>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + i2c0mux0ch0: i2c@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <0>; + status =3D "okay"; + }; + + i2c0mux0ch1: i2c@1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <1>; + status =3D "okay"; + }; + + i2c0mux0ch2: i2c@2 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <2>; + status =3D "okay"; + }; + + i2c0mux0ch3: i2c@3 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <3>; + status =3D "okay"; + }; + + i2c0mux0ch4: i2c@4 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <4>; + status =3D "okay"; + }; + + i2c0mux0ch5: i2c@5 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <5>; + status =3D "okay"; + }; + + i2c0mux0ch6: i2c@6 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <6>; + status =3D "okay"; + }; + + i2c0mux0ch7: i2c@7 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <7>; + status =3D "okay"; + }; + }; +}; + +&i2c1 { + status =3D "okay"; + + i2c-mux@77 { + compatible =3D "nxp,pca9548"; + reg =3D <0x77>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + i2c1mux0ch0: i2c@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <0>; + status =3D "okay"; + }; + + i2c1mux0ch1: i2c@1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <1>; + status =3D "okay"; + }; + + i2c1mux0ch2: i2c@2 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <2>; + status =3D "okay"; + }; + + i2c1mux0ch3: i2c@3 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <3>; + status =3D "okay"; + }; + + i2c1mux0ch4: i2c@4 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <4>; + status =3D "okay"; + }; + + i2c1mux0ch5: i2c@5 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <5>; + status =3D "okay"; + }; + + i2c1mux0ch6: i2c@6 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <6>; + status =3D "okay"; + }; + + i2c1mux0ch7: i2c@7 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <7>; + status =3D "okay"; + }; + }; +}; + +&i2c2 { + status =3D "okay"; + + i2c-mux@77 { + compatible =3D "nxp,pca9548"; + reg =3D <0x77>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + i2c2mux0ch0: i2c@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <0>; + status =3D "okay"; + }; + + i2c2mux0ch1: i2c@1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <1>; + status =3D "okay"; + }; + + i2c2mux0ch2: i2c@2 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <2>; + status =3D "okay"; + }; + + i2c2mux0ch3: i2c@3 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <3>; + status =3D "okay"; + }; + + i2c2mux0ch4: i2c@4 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <4>; + status =3D "okay"; + }; + + i2c2mux0ch5: i2c@5 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <5>; + status =3D "okay"; + }; + + i2c2mux0ch6: i2c@6 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <6>; + status =3D "okay"; + }; + + i2c2mux0ch7: i2c@7 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <7>; + status =3D "okay"; + }; + }; +}; + +&i2c3 { + status =3D "okay"; + + i2c-mux@77 { + compatible =3D "nxp,pca9548"; + reg =3D <0x77>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + i2c3mux0ch0: i2c@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <0>; + status =3D "okay"; + }; + + i2c3mux0ch1: i2c@1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <1>; + status =3D "okay"; + }; + + i2c3mux0ch2: i2c@2 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <2>; + status =3D "okay"; + }; + + i2c3mux0ch3: i2c@3 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <3>; + + adc@1f { + compatible =3D "ti,adc128d818"; + reg =3D <0x1f>; + ti,mode =3D /bits/ 8 <1>; + }; + + fan_leds_g1_gpio: gpio@21 { + compatible =3D "nxp,pca9555"; + reg =3D <0x21>; + gpio-controller; + #gpio-cells =3D <2>; + + gpio-line-names =3D + "", "", + "", "", + "", "", + "", "", + "FAN0_PRSNT", "FAN1_PRSNT", + "", "", + "", "", + "", ""; + }; + + adc@35 { + compatible =3D "maxim,max11617"; + reg =3D <0x35>; + }; + + // Fan Board 0 FRU + eeprom@56 { + compatible =3D "atmel,24c128"; + reg =3D <0x56>; + }; + }; + + i2c3mux0ch4: i2c@4 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <4>; + + adc@1f { + compatible =3D "ti,adc128d818"; + reg =3D <0x1f>; + ti,mode =3D /bits/ 8 <1>; + }; + + fan_leds_g2_gpio: gpio@21 { + compatible =3D "nxp,pca9555"; + reg =3D <0x21>; + gpio-controller; + #gpio-cells =3D <2>; + + gpio-line-names =3D + "", "", + "", "", + "", "", + "", "", + "FAN2_PRSNT", "FAN3_PRSNT", + "", "", + "", "", + "", ""; + }; + + adc@35 { + compatible =3D "maxim,max11617"; + reg =3D <0x35>; + }; + + // Fan Board 1 FRU + eeprom@56 { + compatible =3D "atmel,24c128"; + reg =3D <0x56>; + }; + }; + + i2c3mux0ch5: i2c@5 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <5>; + + pwm@20 { + compatible =3D "maxim,max31790"; + reg =3D <0x20>; + #address-cells =3D <1>; + #size-cells =3D <0>; + channel@2 { + reg =3D <2>; + sensor-type =3D "TACH"; + }; + channel@5 { + reg =3D <5>; + sensor-type =3D "TACH"; + }; + }; + + hwmon: hwmon@23 { + compatible =3D "nuvoton,nct7363"; + reg =3D <0x23>; + #pwm-cells =3D <2>; + + //fan 0 IL + fan-0 { + pwms =3D <&hwmon 0 20000>; + tach-ch =3D /bits/ 8 <0x09>; + }; + + //fan 0 OL + fan-1 { + pwms =3D <&hwmon 0 20000>; + tach-ch =3D /bits/ 8 <0x0B>; + }; + + //fan 1 IL + fan-2 { + pwms =3D <&hwmon 4 20000>; + tach-ch =3D /bits/ 8 <0x0A>; + }; + + //fan 1 OL + fan-3 { + pwms =3D <&hwmon 4 20000>; + tach-ch =3D /bits/ 8 <0x0D>; + }; + + //fan 2 IL + fan-4 { + pwms =3D <&hwmon 6 20000>; + tach-ch =3D /bits/ 8 <0x0F>; + }; + + //fan 2 OL + fan-5 { + pwms =3D <&hwmon 6 20000>; + tach-ch =3D /bits/ 8 <0x01>; + }; + + //fan 3 IL + fan-6 { + pwms =3D <&hwmon 10 20000>; + tach-ch =3D /bits/ 8 <0x00>; + }; + + //fan 3 OL + fan-7 { + pwms =3D <&hwmon 10 20000>; + tach-ch =3D /bits/ 8 <0x03>; + }; + }; + }; + + i2c3mux0ch6: i2c@6 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <6>; + + // REAR-IO Board FRU + eeprom@56 { + compatible =3D "atmel,24c128"; + reg =3D <0x56>; + }; + }; + + i2c3mux0ch7: i2c@7 { + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <7>; + status =3D "okay"; + }; + }; +}; + +&i2c4 { + status =3D "okay"; +}; + +&i2c5 { + status =3D "okay"; + + // VR TEMP U399 + temperature-sensor@4c { + compatible =3D "ti,tmp75"; + reg =3D <0x4c>; + }; + + // VR TEMP U397 + temperature-sensor@4d { + compatible =3D "ti,tmp75"; + reg =3D <0x4d>; + }; + + // BRICK TEMP U398 + temperature-sensor@4e { + compatible =3D "ti,tmp75"; + reg =3D <0x4e>; + }; + + temperature-sensor@4f { + compatible =3D "ti,tmp75"; + reg =3D <0x4f>; + }; + + // RMC FRU + eeprom@54 { + compatible =3D "atmel,24c128"; + reg =3D <0x54>; + }; +}; + +&i2c6 { + status =3D "okay"; + + gpio@20 { + compatible =3D "nxp,pca9555"; + reg =3D <0x20>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + gpio@21 { + compatible =3D "nxp,pca9555"; + reg =3D <0x21>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + gpio@22 { + compatible =3D "nxp,pca9555"; + reg =3D <0x22>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + rtc@51 { + compatible =3D "nxp,pcf8563"; + reg =3D <0x51>; + }; +}; + +&i2c7 { + status =3D "okay"; + bus-frequency =3D <100000>; + multi-master; + i2c-scl-clk-low-timeout-us =3D <31744>; + + //USB Debug Connector + ipmb@10 { + compatible =3D "ipmb-dev"; + reg =3D <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; + i2c-protocol; + }; +}; + +&i2c9 { + status =3D "okay"; + + // SCM TEMP SENSOR + temperature-sensor@4b { + compatible =3D "ti,tmp75"; + reg =3D <0x4b>; + }; + + // SCM FRU EEPROM + eeprom@50 { + compatible =3D "atmel,24c128"; + reg =3D <0x50>; + }; + + // BSM FRU EEPROM + eeprom@56 { + compatible =3D "atmel,24c64"; + reg =3D <0x56>; + }; +}; + +&i2c10 { + status =3D "okay"; + + gpio@10 { + compatible =3D "nxp,pca9555"; + reg =3D <0x10>; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-parent =3D <&sgpiom0>; + interrupts =3D <16 IRQ_TYPE_LEVEL_LOW>; + + gpio-line-names =3D + "IT_STOP_PUMP_SPARE_2", "IT_STOP_PUMP_2", + "IT_STOP_PUMP_SPARE", "IT_STOP_PUMP", + "", "RPU_2_READY_PLD_R", + "RPU_READY_SPARE_PLD_R", "", + "wPWRGD_P12V_SCM_R", "wPWRGD_P12V_AUX_R", + "wPWRGD_P24V_AUX_R", "wPWRGD_P52V_HSC_PWROK_R", + "wSMB_TMC75_TEMP_ALERT_N_R", "wP48V_HSC_ALERT_N", + "wP24V_AUX_INA230_ALERT_N_R", "wP24V_SM_INA230_ALERT_N_R"; + }; + + gpio@11 { + compatible =3D "nxp,pca9555"; + reg =3D <0x11>; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-parent =3D <&sgpiom0>; + interrupts =3D <2 IRQ_TYPE_LEVEL_LOW>; + + gpio-line-names =3D + "", "", + "", "wPWRGD_P24V_SMPWROK", + "wPWRGD_P1V05_AUX_R", "wPWRGD_P1V5_AUX_R", + "wPWRGD_P3V3_AUX_R", "wPWRGD_P5V_AUX_R", + "", "", + "", "", + "", "", + "", ""; + }; + + power-monitor@14 { + compatible =3D "infineon,xdp710"; + reg =3D <0x14>; + }; + + gpio@16 { + compatible =3D "nxp,pca9555"; + reg =3D <0x16>; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-parent =3D <&sgpiom0>; + interrupts =3D <28 IRQ_TYPE_LEVEL_LOW>; + + gpio-line-names =3D + "PWREN_COMPUTE_BLADE2_EN_R", "PWREN_COMPUTE_BLADE1_EN_R", + "", "", + "", "", + "", "", + "PWREN_NVS_BLADE2_EN_L_R", "PWREN_NVS_BLADE1_EN_L_R", + "PWREN_COMPUTE_BLADE8_EN_R", "PWREN_COMPUTE_BLADE7_EN_R", + "PWREN_COMPUTE_BLADE6_EN_R", "PWREN_COMPUTE_BLADE5_EN_R", + "PWREN_COMPUTE_BLADE4_EN_R", "PWREN_COMPUTE_BLADE3_EN_R"; + }; + + gpio@17 { + compatible =3D "nxp,pca9555"; + reg =3D <0x17>; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-parent =3D <&sgpiom0>; + interrupts =3D <26 IRQ_TYPE_LEVEL_LOW>; + + gpio-line-names =3D + "PWREN_COMPUTE_BLADE18_EN_R", "PWREN_COMPUTE_BLADE17_EN_R", + "PWREN_COMPUTE_BLADE16_EN_R", "PWREN_COMPUTE_BLADE15_EN_R", + "PWREN_COMPUTE_BLADE14_EN_R", "PWREN_COMPUTE_BLADE13_EN_R", + "PWREN_COMPUTE_BLADE12_EN_R", "PWREN_COMPUTE_BLADE11_EN_R", + "PWREN_COMPUTE_BLADE9_EN_R", "PWREN_NVS_BLADE9_EN_L_R", + "PWREN_NVS_BLADE8_EN_L_R", "PWREN_NVS_BLADE7_EN_L_R", + "PWREN_NVS_BLADE6_EN_L_R", "PWREN_NVS_BLADE5_EN_L_R", + "PWREN_NVS_BLADE4_EN_L_R", "PWREN_NVS_BLADE3_EN_L_R"; + }; + + gpio@19 { + compatible =3D "nxp,pca9555"; + reg =3D <0x19>; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-parent =3D <&sgpiom0>; + interrupts =3D <22 IRQ_TYPE_LEVEL_LOW>; + + gpio-line-names =3D + "", "", + "", "", + "", "", + "", "", + "wIT_GEAR_RPU_2_LINK_PRSNT_SPARE_N_R", "wIT_GEAR_RPU_2_LINK_PRSNT_N_R", + "wIT_GEAR_RPU_LINK_PRSNT_SPARE_N_R", "wIT_GEAR_RPU_LINK_PRSNT_N_R", + "", "", + "", ""; + }; + + gpio@1a { + compatible =3D "nxp,pca9555"; + reg =3D <0x1a>; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-parent =3D <&sgpiom0>; + interrupts =3D <20 IRQ_TYPE_LEVEL_LOW>; + + gpio-line-names =3D + "wPRSNT_LEAK1_SENSOR_R_PLD_N", "wPRSNT_LEAK0_SENSOR_R_PLD_N", + "", "", + "", "", + "", "", + "", "", + "", "", + "", "", + "", "wPRSNT_LEAK2_SENSOR_R_PLD_N"; + }; + + gpio@1b { + compatible =3D "nxp,pca9555"; + reg =3D <0x1b>; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-parent =3D <&sgpiom0>; + interrupts =3D <18 IRQ_TYPE_LEVEL_LOW>; + + gpio-line-names =3D + "", "", + "", "", + "", "wPRSNT_LEAK4_SENSOR_R_PLD_N", + "wPRSNT_LEAK3_SENSOR_R_PLD_N", "", + "", "", + "", "", + "", "", + "", "PWREN_COMPUTE_BLADE10_EN_R"; + }; + + power-monitor@44 { + compatible =3D "lltc,ltc4286"; + reg =3D <0x44>; + }; +}; + +&i2c14 { + status =3D "okay"; +}; + +&i2c15 { + status =3D "okay"; + + tray_leds_g1_gpio: gpio@20 { + compatible =3D "nxp,pca9555"; + reg =3D <0x20>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + tray_leds_g2_gpio: gpio@21 { + compatible =3D "nxp,pca9555"; + reg =3D <0x21>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + tray_leds_g3_gpio: gpio@22 { + compatible =3D "nxp,pca9555"; + reg =3D <0x22>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + tray_leds_g4_gpio: gpio@24 { + compatible =3D "nxp,pca9555"; + reg =3D <0x24>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + tray_leds_g5_gpio: gpio@25 { + compatible =3D "nxp,pca9555"; + reg =3D <0x25>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + tray_leds_g6_gpio: gpio@26 { + compatible =3D "nxp,pca9555"; + reg =3D <0x26>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + // LED Board FRU + eeprom@56 { + compatible =3D "atmel,24c128"; + reg =3D <0x56>; + }; +}; + +&mac3 { + status =3D "okay"; + phy-mode =3D "rmii"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_rmii4_default>; + + /* Connected to Marvell 88E6393X CPU port in unmanaged mode */ + fixed-link { + speed =3D <100>; + full-duplex; + }; +}; + +&mdio0 { + status =3D "okay"; + /* * Intentionally left empty. + * Enabled to allow user-space tools (e.g., mdio) + * to access the unmanaged Marvell switch registers. + */ +}; + +&sgpiom0 { + status =3D "okay"; + ngpios =3D <128>; + bus-frequency =3D <2000000>; + + gpio-line-names =3D + /*"input pin","output pin"*/ + /*A0 - A7*/ + "power-chassis-good","power-chassis-control", + "IOEXP1_INT_N","WATER_VALVE_CLOSED_N", + "wPRSNT_RETURN_PLD_R_N","FM_MDIO_SW_SEL_PLD", + "wPRSNT_SUPPLY_PLD_R_N","FM_88E6393X_BIN_UPDATE_EN_N", + "LEAK3_DETECT","", + "LEAK4_DETECT","", + "RETURN_CNTL_FB_D_R","", + "SUPPLY_CNTL_FB_D_R","", + /*B0 - B7*/ + "IOEXP0_INT_N","", + "IOEXP11_INT_N","", + "IOEXP10_INT_N","", + "IOEXP9_INT_N","", + "RPU_2_READY_SPARE_PLD_R","", + "IOEXP7_INT_N","", + "IOEXP6_INT_N","", + "RPU_READY_PLD_R","", + /*C0 - C7*/ + "wAALC_RPU_READY","", + "LEAK0_DETECT","", + "LEAK1_DETECT","", + "LEAK2_DETECT","", + "PRSNT_COMPUTE_TRAY1_N","", + "PRSNT_COMPUTE_TRAY2_N","", + "PRSNT_COMPUTE_TRAY3_N","", + "PRSNT_COMPUTE_TRAY4_N","", + /*D0 - D7*/ + "PRSNT_COMPUTE_TRAY5_N","", + "PRSNT_COMPUTE_TRAY6_N","", + "PRSNT_COMPUTE_TRAY7_N","", + "PRSNT_COMPUTE_TRAY8_N","", + "PRSNT_NVS_TRAY1_N","", + "PRSNT_NVS_TRAY2_N","", + "PRSNT_COMPUTE_TRAY11_N","", + "PRSNT_COMPUTE_TRAY12_N","", + /*E0 - E7*/ + "PRSNT_COMPUTE_TRAY13_N","", + "PRSNT_COMPUTE_TRAY14_N","", + "PRSNT_COMPUTE_TRAY15_N","", + "PRSNT_COMPUTE_TRAY16_N","", + "PRSNT_COMPUTE_TRAY17_N","", + "PRSNT_COMPUTE_TRAY18_N","", + "PRSNT_NVS_TRAY3_N","", + "PRSNT_NVS_TRAY4_N","", + /*F0 - F7*/ + "PRSNT_NVS_TRAY5_N","", + "PRSNT_NVS_TRAY6_N","", + "PRSNT_NVS_TRAY7_N","", + "PRSNT_NVS_TRAY8_N","", + "PRSNT_NVS_TRAY9_N","", + "PRSNT_COMPUTE_TRAY9_N","", + "PRSNT_COMPUTE_TRAY10_N","", + "SMALL_LEAK_COMPUTE_TRAY1_N","", + /*G0 - G7*/ + "SMALL_LEAK_COMPUTE_TRAY2_N","", + "SMALL_LEAK_COMPUTE_TRAY3_N","", + "SMALL_LEAK_COMPUTE_TRAY4_N","", + "SMALL_LEAK_COMPUTE_TRAY5_N","", + "SMALL_LEAK_COMPUTE_TRAY6_N","", + "SMALL_LEAK_COMPUTE_TRAY7_N","", + "SMALL_LEAK_COMPUTE_TRAY8_N","", + "SMALL_LEAK_NVS_TRAY1_N","", + /*H0 - H7*/ + "SMALL_LEAK_NVS_TRAY2_N","", + "SMALL_LEAK_COMPUTE_TRAY11_N","", + "SMALL_LEAK_COMPUTE_TRAY12_N","", + "SMALL_LEAK_COMPUTE_TRAY13_N","", + "SMALL_LEAK_COMPUTE_TRAY14_N","", + "SMALL_LEAK_COMPUTE_TRAY15_N","", + "SMALL_LEAK_COMPUTE_TRAY16_N","", + "SMALL_LEAK_COMPUTE_TRAY17_N","", + /*I0 - I7*/ + "SMALL_LEAK_COMPUTE_TRAY18_N","", + "SMALL_LEAK_NVS_TRAY3_N","", + "SMALL_LEAK_NVS_TRAY4_N","", + "SMALL_LEAK_NVS_TRAY5_N","", + "SMALL_LEAK_NVS_TRAY6_N","", + "SMALL_LEAK_NVS_TRAY7_N","", + "SMALL_LEAK_NVS_TRAY8_N","", + "SMALL_LEAK_NVS_TRAY9_N","", + /*J0 - J7*/ + "SMALL_LEAK_COMPUTE_TRAY9_N","", + "SMALL_LEAK_COMPUTE_TRAY10_N","", + "PWRGD_COMPUTE_TRAY1_N","", + "PWRGD_COMPUTE_TRAY2_N","", + "PWRGD_COMPUTE_TRAY3_N","", + "PWRGD_COMPUTE_TRAY4_N","", + "PWRGD_COMPUTE_TRAY5_N","", + "PWRGD_COMPUTE_TRAY6_N","", + /*K0 - K7*/ + "PWRGD_COMPUTE_TRAY7_N","", + "PWRGD_COMPUTE_TRAY8_N","", + "PWRGD_NVS_TRAY1_PWROK_N","", + "PWRGD_NVS_TRAY2_PWROK_N","", + "PWRGD_COMPUTE_TRAY11_N","", + "PWRGD_COMPUTE_TRAY12_N","", + "PWRGD_COMPUTE_TRAY13_N","", + "PWRGD_COMPUTE_TRAY14_N","", + /*L0 - L7*/ + "PWRGD_COMPUTE_TRAY15_N","", + "PWRGD_COMPUTE_TRAY16_N","", + "PWRGD_COMPUTE_TRAY17_N","", + "PWRGD_COMPUTE_TRAY18_N","", + "PWRGD_NVS_TRAY3_PWROK_N","", + "PWRGD_NVS_TRAY4_PWROK_N","", + "PWRGD_NVS_TRAY5_PWROK_N","", + "PWRGD_NVS_TRAY6_PWROK_N","", + /*M0 - M7*/ + "PWRGD_NVS_TRAY7_PWROK_N","", + "PWRGD_NVS_TRAY8_PWROK_N","", + "PWRGD_NVS_TRAY9_PWROK_N","", + "PWRGD_COMPUTE_TRAY9_N","", + "PWRGD_COMPUTE_TRAY10_N","", + "LEAK_DETECT_COMPUTE_TRAY1_N","", + "LEAK_DETECT_COMPUTE_TRAY2_N","", + "LEAK_DETECT_COMPUTE_TRAY3_N","", + /*N0 - N7*/ + "LEAK_DETECT_COMPUTE_TRAY4_N","", + "LEAK_DETECT_COMPUTE_TRAY5_N","", + "LEAK_DETECT_COMPUTE_TRAY6_N","", + "LEAK_DETECT_COMPUTE_TRAY7_N","", + "LEAK_DETECT_COMPUTE_TRAY8_N","", + "LEAK_DETECT_NVS_TRAY1_N","", + "LEAK_DETECT_NVS_TRAY2_N","", + "LEAK_DETECT_COMPUTE_TRAY11_N","", + /*O0 - O7*/ + "LEAK_DETECT_COMPUTE_TRAY12_N","", + "LEAK_DETECT_COMPUTE_TRAY13_N","", + "LEAK_DETECT_COMPUTE_TRAY14_N","", + "LEAK_DETECT_COMPUTE_TRAY15_N","", + "LEAK_DETECT_COMPUTE_TRAY16_N","", + "LEAK_DETECT_COMPUTE_TRAY17_N","", + "LEAK_DETECT_COMPUTE_TRAY18_N","", + "LEAK_DETECT_NVS_TRAY3_N","", + /*P0 - P7*/ + "LEAK_DETECT_NVS_TRAY4_N","", + "LEAK_DETECT_NVS_TRAY5_N","", + "LEAK_DETECT_NVS_TRAY6_N","", + "LEAK_DETECT_NVS_TRAY7_N","", + "LEAK_DETECT_NVS_TRAY8_N","", + "LEAK_DETECT_NVS_TRAY9_N","", + "LEAK_DETECT_COMPUTE_TRAY9_N","", + "LEAK_DETECT_COMPUTE_TRAY10_N",""; +}; + +&uhci { + status =3D "okay"; +}; + +&wdt1 { + status =3D "okay"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_wdtrst1_default>; + aspeed,reset-type =3D "soc"; + aspeed,external-signal; + aspeed,ext-push-pull; + aspeed,ext-active-high; + aspeed,ext-pulse-duration =3D <256>; +}; --=20 2.43.0