From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pz2-f38.google.com (mail-pz2-f38.google.com [74.125.228.38]) (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 5D6F44C33E4 for ; Wed, 30 Sep 2026 11:19:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.38 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790767151; cv=none; b=mXOSfMJYcGn97r5al1lUyk8mR7mnOgvBx4uAENfqflw1sUIATP5q0qTykAgvG+fF4oKFNJVwiGJ9JyXXyi0b8cf9qgWjzD7+REym8lxKizONsiMaQAAkDYF6lgS3W59TXN9fhzmMzQoUNXbt6/dcreZscExPyKVkMZi7lUOCMjs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790767151; c=relaxed/simple; bh=BxGOJ/Th4qshLRUnS1+0e8PPROYuHoc0czO5f2I3Du0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bH8sxBArUxLzzkcKl5BLwwk6T61kFjrtBGER0cWOWtzD9cBh69IxZZo/tzheIp13qmvbJqP7qg9BoJd2bIaMOmAyMuEmPrklVNrxGTUIiqgvYYmHs7f36sFDSB0LmWlOzLs0jrzzHqdcDmgzouV2/nvoPBB1ITJlbkyo5Z3EEF4= 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=sFnbpscQ; arc=none smtp.client-ip=74.125.228.38 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="sFnbpscQ" Received: by mail-pz2-f38.google.com with SMTP id d2e1a72fcca58-881a3a28e72so1758441b3a.2 for ; Wed, 30 Sep 2026 04:19:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790767148; x=1791371948; 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:content-type; bh=+egFjTMnPYoDlT9Bcryc5S9/HI1Lw9q9oWEv1D5Tzbs=; b=sFnbpscQf59/HKmwSGDoXK0e3CnhMmQo0KqLmoqcDxy4BTdOkNpQphWUibytyNvNxc 2T11lW03tW16ksbdZMdse0xM5+PtsNt6jxpUDBsuCYHUqvJcaYM2lR8dEqQE3SabETYM fbHezyFO5WVl6eeqrgv5RV4GH3Az3I5o0LBzrq374MMJ+jrLTxbimGowPuvZroPTYgdg PAdBsAb7CTB1IrP326vCeZXyKiEUhY+6cjb+kOHgRQsIllSg/UC7UOJg/85WS7RqgAT9 aqAkmPsEVF3mTMkOyXSgV0GyeOARLYbzcsUEdxhi6gPwiZ8tarrdvTc9mkdl0wwRxnj6 hpiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790767148; x=1791371948; 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:content-type; bh=+egFjTMnPYoDlT9Bcryc5S9/HI1Lw9q9oWEv1D5Tzbs=; b=KajI81iNanXQLQfTZcCfkhcY/WmYhqB3sRdDMDhxFbEpNzFniLrKvyK+Hj/TUq240t FbBtgyHytY5EPCP/m/gpYd5+QcPzh4FESRrFm/39rfOt4Jl/+YxWm9/X0FRhSITL7anC nbP6+PBOIP3iZTT9phtghZlm7y+5x0Tur7AsjausLgoamtnkdXHQ2uSXsVf7mggy0u7S EZdbiFTi5P/ONUYlgkBehm5bDc2+XvC8xH2UYnXdScC40dSSBsxjfPOnQPIgfuSU4n4E rkEbYI1OjnzIMulgFBuYRw9s9wcoEn5NUyeb6zP4J3jyEPw5eFJF8oI4XslwN45OBklE sxFA== X-Forwarded-Encrypted: i=1; AKwUvBxolzjyI4Si61nst8dINfjjopuZr8kuXq5pKheQXil8BqP9BJ5/zS4DioGdU5qMtYwJGmS/Z1kUDh4Wlpk=@vger.kernel.org X-Gm-Message-State: AFq9FYKTGNbwCZuTLUdXsz1Qk3LNdVAKX8A7fdHoBnxomuw0NYEvI2Uj RqzLJNTnxXM+/UH+XDyFUwyv3Z8snlx/h1xfyAELc9uz7Vz5F0CGvzD3 X-Gm-Gg: AYBFou1m/w0jmW3oPrp7Ktxqq7rIW/oX9uAq0lVQw9VhZuLVdsuMYG7veVtQlOLUz28 OkKpm5knq7i6ACw5MVVEfRZmBh4XC6enn7KTdhveAYri6dcL+EZ0c9oMcyc8KXS4BGDbeFKY+I1 ZV7CaK4V15Cbd6HaOKdARbdEebHsrGqTXrLCxEBJVaxT1OnDR9CKtYXRMIZTiW9cMgRG8KCjxxj QkNxpns6hwMGAgKkBg0kYGnQYujO+G4uoXOhbiuWJy8QQNvQbT7JmFHPGOK0zilMWFArUniLHoH 0/xA3xrsXOiL2RFxAhLKcI4+xhA3fQDOF81kqyzY8sqUhEvERSG/LPB1NIpTt8qqQsh+AqX8fXB Bome6wLI/bjE4EjpNSDWe6YNmgKue5Ge+7SZ0Wg4hkLxuCYhji/UDKntySiSgDaGLM4NC6okv8g VXRMS6lqOXDsTaT6GAtvzRhQ+6s1Ff6lXJJIYWoanyQ39qI14zh0serYEXGEpjHFCYHWJ4maFPJ XkK7rZty3NcK0PLuEKhgb2lvmQpTtb+NegM1vZiT2aq X-Received: by 2002:a05:6a00:b81:b0:874:705d:f649 with SMTP id d2e1a72fcca58-8874bffa3dfmr702163b3a.43.1790767148462; Wed, 30 Sep 2026 04:19:08 -0700 (PDT) Received: from cosmo-ubuntu-2404.. (61-220-246-151.hinet-ip.hinet.net. [61.220.246.151]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-887253992a9sm650257b3a.17.2026.09.30.04.19.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Sep 2026 04:19:07 -0700 (PDT) From: Cosmo Chou To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, joel@jms.id.au, andrew@codeconstruct.com.au Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org, cosmo.chou@quantatw.com, Cosmo Chou Subject: [PATCH v3 3/4] ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers Date: Wed, 30 Sep 2026 19:18:12 +0800 Message-ID: <20260930111813.52396-4-chou.cosmo@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260930111813.52396-1-chou.cosmo@gmail.com> References: <20260930111813.52396-1-chou.cosmo@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: 8bit Add alternative PCA9532 LED controllers at address 0x66 to support boards populated with the PCA9532 instead of the primary PCA9552 at 0x67. Signed-off-by: Cosmo Chou --- .../aspeed/aspeed-bmc-facebook-bletchley.dts | 422 ++++++++++++++++++ 1 file changed, 422 insertions(+) diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts index 4bc436ef3562..1883bfb850fb 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -86,6 +87,66 @@ led-7 { }; }; + fan_gpio_leds_alt { + compatible = "gpio-leds"; + + led-0 { + default-state = "on"; + gpios = <&fan_leds_alt 8 GPIO_ACTIVE_HIGH>; + label = "fan0_blue"; + retain-state-shutdown; + }; + + led-1 { + default-state = "on"; + gpios = <&fan_leds_alt 9 GPIO_ACTIVE_HIGH>; + label = "fan1_blue"; + retain-state-shutdown; + }; + + led-2 { + default-state = "on"; + gpios = <&fan_leds_alt 10 GPIO_ACTIVE_HIGH>; + label = "fan2_blue"; + retain-state-shutdown; + }; + + led-3 { + default-state = "on"; + gpios = <&fan_leds_alt 11 GPIO_ACTIVE_HIGH>; + label = "fan3_blue"; + retain-state-shutdown; + }; + + led-4 { + default-state = "off"; + gpios = <&fan_leds_alt 12 GPIO_ACTIVE_HIGH>; + label = "fan0_amber"; + retain-state-shutdown; + }; + + led-5 { + default-state = "off"; + gpios = <&fan_leds_alt 13 GPIO_ACTIVE_HIGH>; + label = "fan1_amber"; + retain-state-shutdown; + }; + + led-6 { + default-state = "off"; + gpios = <&fan_leds_alt 14 GPIO_ACTIVE_HIGH>; + label = "fan2_amber"; + retain-state-shutdown; + }; + + led-7 { + default-state = "off"; + gpios = <&fan_leds_alt 15 GPIO_ACTIVE_HIGH>; + label = "fan3_amber"; + retain-state-shutdown; + }; + }; + front_gpio_leds { compatible = "gpio-leds"; @@ -162,6 +223,24 @@ led-1 { }; }; + sled1_gpio_leds_alt { + compatible = "gpio-leds"; + + led-0 { + default-state = "keep"; + gpios = <&sled1_leds_alt 0 GPIO_ACTIVE_LOW>; + label = "sled1_amber"; + retain-state-shutdown; + }; + + led-1 { + default-state = "keep"; + gpios = <&sled1_leds_alt 1 GPIO_ACTIVE_LOW>; + label = "sled1_blue"; + retain-state-shutdown; + }; + }; + sled2_gpio_leds { compatible = "gpio-leds"; @@ -180,6 +259,24 @@ led-1 { }; }; + sled2_gpio_leds_alt { + compatible = "gpio-leds"; + + led-0 { + default-state = "keep"; + gpios = <&sled2_leds_alt 0 GPIO_ACTIVE_LOW>; + label = "sled2_amber"; + retain-state-shutdown; + }; + + led-1 { + default-state = "keep"; + gpios = <&sled2_leds_alt 1 GPIO_ACTIVE_LOW>; + label = "sled2_blue"; + retain-state-shutdown; + }; + }; + sled3_gpio_leds { compatible = "gpio-leds"; @@ -198,6 +295,24 @@ led-1 { }; }; + sled3_gpio_leds_alt { + compatible = "gpio-leds"; + + led-0 { + default-state = "keep"; + gpios = <&sled3_leds_alt 0 GPIO_ACTIVE_LOW>; + label = "sled3_amber"; + retain-state-shutdown; + }; + + led-1 { + default-state = "keep"; + gpios = <&sled3_leds_alt 1 GPIO_ACTIVE_LOW>; + label = "sled3_blue"; + retain-state-shutdown; + }; + }; + sled4_gpio_leds { compatible = "gpio-leds"; @@ -216,6 +331,24 @@ led-1 { }; }; + sled4_gpio_leds_alt { + compatible = "gpio-leds"; + + led-0 { + default-state = "keep"; + gpios = <&sled4_leds_alt 0 GPIO_ACTIVE_LOW>; + label = "sled4_amber"; + retain-state-shutdown; + }; + + led-1 { + default-state = "keep"; + gpios = <&sled4_leds_alt 1 GPIO_ACTIVE_LOW>; + label = "sled4_blue"; + retain-state-shutdown; + }; + }; + sled5_gpio_leds { compatible = "gpio-leds"; @@ -234,6 +367,24 @@ led-1 { }; }; + sled5_gpio_leds_alt { + compatible = "gpio-leds"; + + led-0 { + default-state = "keep"; + gpios = <&sled5_leds_alt 0 GPIO_ACTIVE_LOW>; + label = "sled5_amber"; + retain-state-shutdown; + }; + + led-1 { + default-state = "keep"; + gpios = <&sled5_leds_alt 1 GPIO_ACTIVE_LOW>; + label = "sled5_blue"; + retain-state-shutdown; + }; + }; + sled6_gpio_leds { compatible = "gpio-leds"; @@ -252,6 +403,24 @@ led-1 { }; }; + sled6_gpio_leds_alt { + compatible = "gpio-leds"; + + led-0 { + default-state = "keep"; + gpios = <&sled6_leds_alt 0 GPIO_ACTIVE_LOW>; + label = "sled6_amber"; + retain-state-shutdown; + }; + + led-1 { + default-state = "keep"; + gpios = <&sled6_leds_alt 1 GPIO_ACTIVE_LOW>; + label = "sled6_blue"; + retain-state-shutdown; + }; + }; + spi { compatible = "spi-gpio"; #address-cells = <1>; @@ -430,6 +599,35 @@ eeprom@54 { reg = <0x54>; }; + sled1_leds_alt: pca9532@66 { + compatible = "nxp,pca9532"; + reg = <0x66>; + #gpio-cells = <2>; + gpio-controller; + + gpio-line-names = + "led-sled1-amber","led-sled1-blue","SLED1_RST_IOEXP","SLED1_MD_REF_PWM", + "","","","", + "","","","", + "","","",""; + + led-0 { + type = ; + }; + + led-1 { + type = ; + }; + + led-2 { + type = ; + }; + + led-3 { + type = ; + }; + }; + sled1_leds: pca9552@67 { compatible = "nxp,pca9552"; reg = <0x67>; @@ -520,6 +718,35 @@ eeprom@54 { reg = <0x54>; }; + sled2_leds_alt: pca9532@66 { + compatible = "nxp,pca9532"; + reg = <0x66>; + #gpio-cells = <2>; + gpio-controller; + + gpio-line-names = + "led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM", + "","","","", + "","","","", + "","","",""; + + led-0 { + type = ; + }; + + led-1 { + type = ; + }; + + led-2 { + type = ; + }; + + led-3 { + type = ; + }; + }; + sled2_leds: pca9552@67 { compatible = "nxp,pca9552"; reg = <0x67>; @@ -610,6 +837,35 @@ eeprom@54 { reg = <0x54>; }; + sled3_leds_alt: pca9532@66 { + compatible = "nxp,pca9532"; + reg = <0x66>; + #gpio-cells = <2>; + gpio-controller; + + gpio-line-names = + "led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM", + "","","","", + "","","","", + "","","",""; + + led-0 { + type = ; + }; + + led-1 { + type = ; + }; + + led-2 { + type = ; + }; + + led-3 { + type = ; + }; + }; + sled3_leds: pca9552@67 { compatible = "nxp,pca9552"; reg = <0x67>; @@ -700,6 +956,35 @@ eeprom@54 { reg = <0x54>; }; + sled4_leds_alt: pca9532@66 { + compatible = "nxp,pca9532"; + reg = <0x66>; + #gpio-cells = <2>; + gpio-controller; + + gpio-line-names = + "led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM", + "","","","", + "","","","", + "","","",""; + + led-0 { + type = ; + }; + + led-1 { + type = ; + }; + + led-2 { + type = ; + }; + + led-3 { + type = ; + }; + }; + sled4_leds: pca9552@67 { compatible = "nxp,pca9552"; reg = <0x67>; @@ -790,6 +1075,35 @@ eeprom@54 { reg = <0x54>; }; + sled5_leds_alt: pca9532@66 { + compatible = "nxp,pca9532"; + reg = <0x66>; + #gpio-cells = <2>; + gpio-controller; + + gpio-line-names = + "led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM", + "","","","", + "","","","", + "","","",""; + + led-0 { + type = ; + }; + + led-1 { + type = ; + }; + + led-2 { + type = ; + }; + + led-3 { + type = ; + }; + }; + sled5_leds: pca9552@67 { compatible = "nxp,pca9552"; reg = <0x67>; @@ -880,6 +1194,35 @@ eeprom@54 { reg = <0x54>; }; + sled6_leds_alt: pca9532@66 { + compatible = "nxp,pca9532"; + reg = <0x66>; + #gpio-cells = <2>; + gpio-controller; + + gpio-line-names = + "led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM", + "","","","", + "","","","", + "","","",""; + + led-0 { + type = ; + }; + + led-1 { + type = ; + }; + + led-2 { + type = ; + }; + + led-3 { + type = ; + }; + }; + sled6_leds: pca9552@67 { compatible = "nxp,pca9552"; reg = <0x67>; @@ -993,6 +1336,85 @@ tmp421@4d { reg = <0x4d>; }; + fan_leds_alt: pca9532@66 { + compatible = "nxp,pca9532"; + reg = <0x66>; + #gpio-cells = <2>; + gpio-controller; + + gpio-line-names = + "presence-fan0","presence-fan1", + "presence-fan2","presence-fan3", + "power-fan0-good","power-fan1-good", + "power-fan2-good","power-fan3-good", + "","","","", + "","","",""; + + led-0 { + type = ; + }; + + led-1 { + type = ; + }; + + led-2 { + type = ; + }; + + led-3 { + type = ; + }; + + led-4 { + type = ; + }; + + led-5 { + type = ; + }; + + led-6 { + type = ; + }; + + led-7 { + type = ; + }; + + led-8 { + type = ; + }; + + led-9 { + type = ; + }; + + led-10 { + type = ; + }; + + led-11 { + type = ; + }; + + led-12 { + type = ; + }; + + led-13 { + type = ; + }; + + led-14 { + type = ; + }; + + led-15 { + type = ; + }; + }; + fan_leds: pca9552@67 { compatible = "nxp,pca9552"; reg = <0x67>; -- 2.43.0