From nobody Fri Jun 12 18:36:09 2026 Received: from mail-dy1-f174.google.com (mail-dy1-f174.google.com [74.125.82.174]) (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 999133A3828 for ; Wed, 13 May 2026 10:33:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778668389; cv=none; b=XYvXmCYfL/pNOntr+vkiAjIFdzCodRc+g8AWwrHjDcuC/A0SR3FYlfXYh/jA3kcPdeJa/IFFvyDO1qnAAxGPA90TCmZa9tw9UAxnlmHJaO+SgCv3tG65Ke11J/BEMV6BcWoBF1SUwn0gu0WNSiMOpzfXhmYn90dxyStKRLI6KYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778668389; c=relaxed/simple; bh=vfdsOfPIN4ax8m0jl3BhSnngPUkt47sIt8pYap0c9gs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YAIsBGmU8dyKHaLUyf9/7lJGrzDbgh3kk2UzopXBqMKROdikTS/2Vkw+6qKjb/6+suSSlm7UbRICbqgHDKQhuKR7FLKfTG0ne44G+Sx2P5nGRdE/8KEm2VEdh7oeUKabcdRnJDjDq7BOafRfsw/PXO18p1BMVABYizgzLWmMESA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nexthop.ai; spf=pass smtp.mailfrom=nexthop.ai; dkim=pass (2048-bit key) header.d=nexthop.ai header.i=@nexthop.ai header.b=kUEO7Z+J; arc=none smtp.client-ip=74.125.82.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nexthop.ai Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nexthop.ai Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nexthop.ai header.i=@nexthop.ai header.b="kUEO7Z+J" Received: by mail-dy1-f174.google.com with SMTP id 5a478bee46e88-2ee990e8597so11211476eec.1 for ; Wed, 13 May 2026 03:33:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nexthop.ai; s=google; t=1778668387; x=1779273187; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=QnjBg15osgUc/DHul0dxc7zos8A55rHk0TXyJ9kh9iM=; b=kUEO7Z+Jq8hztWtEbLAJk9lRm23JrJp5OX6ZWFhS6152yLE9jExeGt3vx5/LvdeJI4 0rNLaXTXIytrsa0Zq0qe/vWGNlrUMFayuf2buOoHpGKbPBBMr7MlVXsSLMI1I+6gQy4V AT90wrl9mlyKC8NMUV3bnmvh7kTKhiXqHMJtC5yOkGZ8HkKmyMwqusxzzV6hoTcCYJye nQvkdr5RRzG3CC0R7IJdj9yBEJ86YP4zqETkN+rira9LnwGexxM6ZY/BgFsamoPfNpKV j2my87AA/xPue/t+2FgFWJe3jLSbyM7qvyZT/C8M9KD81Jsp/s38WHWVPATQNjmOs7eo tHMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778668387; x=1779273187; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=QnjBg15osgUc/DHul0dxc7zos8A55rHk0TXyJ9kh9iM=; b=SmMjCnTCRE6MRxiEni/hiz9aPvFmCml66oLCeyFsvOi/185US99qTpYAxHXQzS6Ik4 XDwox4wj+Sz7154cJgV/BI0a8Yp0Hw0cE19Ce+9t3Q9b3F0x9EOHy9O4F6RkTCSHZfaE xzcgcudhnP2RSJgdCP1+zBdVZ3Di+r8fmdVHL2aArHoT7OPnKQyO4pFVjZ5UPPpTGaHT 2hYLoXKgbjJPYks23eulFpIJlaxPWU9eQVIEeQi/yYpEmPuhRd/5RcZ8NrDUpXYA0NCb HCVnedcC7UBn0x739MKpxhMljjX3Ad/5zyzoNUSPnlFRosYY0oETQ6pnCjyvGkSHjFjb hDfg== X-Forwarded-Encrypted: i=1; AFNElJ+DZA+7V9kxdO1EH8D/VlHtUeE6vdl5fxlah6E2Ak6pSDBriV6ESmj/rRypVa1HwKRNdPsuS0mU0t497NE=@vger.kernel.org X-Gm-Message-State: AOJu0Yxb3G0eLzJ8nOkp3uh+dcDuER/f/baYKSIjI1Gi2nDAfqgR1gCA DBf0IgXYMUx3QMWuSJLYl7hjmkeK4v5H2AGeEfuoRYvyBsocZG86EVrnF76gfSTtfPA= X-Gm-Gg: Acq92OHJZYLSMDIKHYgwqjITVUhw+4m1lw4rZuEcqIj6yMwwmhKUmRMrZyRbniRaWT5 /N3WDvYklouDPoEDZjxQnv89FUYTuESKI/XNuS0HbXey1xX8RZTsNc8TEgJaRn6KIoKIowaHmJW Rk3RkeFa/kqw/pPyqcHYRbGZ0T+AQfIRnvnx05krs+1f8SvBkKoTRHjmvQ9zpCCLgNvb5a4qm11 Wy4QwD4A8mamEAO67HjPiCG/d3BQ0Cz2Up9bWzif+m2UCDXBdrn6Olf8I2s287yyFRtALa17c+Q LvWbWNrfkWyvUUgjB0GNTKpaeP/ib+/5swK40hSqe/pQmFbtaY1nAsXThYuiiVed2SEcxcVp2m3 ivuEuUeM3Yom6vlB5/HnS4Zr0gQKs71LaYJyznlRqNvL8bh2DelN+zi296JRSJN4ZRPpVRvkcUA 5/l2r/V3I8QZSmffHlAgm3uoEb1w== X-Received: by 2002:a05:7301:fa12:b0:2df:7fe3:96a with SMTP id 5a478bee46e88-3011437364emr1677558eec.0.1778668386748; Wed, 13 May 2026 03:33:06 -0700 (PDT) Received: from [127.0.0.2] ([50.145.100.174]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f8859eb4b7sm22241537eec.2.2026.05.13.03.33.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 03:33:06 -0700 (PDT) From: Abdurrahman Hussain Date: Wed, 13 May 2026 03:33:02 -0700 Subject: [PATCH v3 1/2] dt-bindings: trivial-devices: Add Murata D1U74T PSU Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260513-d1u74t-v3-1-27bcd6852c45@nexthop.ai> References: <20260513-d1u74t-v3-0-27bcd6852c45@nexthop.ai> In-Reply-To: <20260513-d1u74t-v3-0-27bcd6852c45@nexthop.ai> To: Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonathan Corbet , Shuah Khan Cc: linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Abdurrahman Hussain X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778668384; l=1143; i=abdurrahman@nexthop.ai; s=20260510; h=from:subject:message-id; bh=vfdsOfPIN4ax8m0jl3BhSnngPUkt47sIt8pYap0c9gs=; b=+S/96fF6/hw7s0Q8z+DL3GbY3dWK/AGQfOs2c5dghXBXpAD+ISzrPSVaAhP/xl1LfUpu1Opzh 7HClF16zAk0DIZ1luaJDYDh3PuWrJYH6f8/nvZRlzOBJa9wCUYcd1Gj X-Developer-Key: i=abdurrahman@nexthop.ai; a=ed25519; pk=omTm9cCAbO0ZhS32aKfJDKue0W3sQGpG9ub5eYHif8I= The Murata D1U74T-W is a PMBus-compliant AC/DC power supply unit. The binding only declares the compatible string and i2c reg, with no additional properties (no regulators, no supplies), so add it to trivial-devices.yaml rather than carrying a standalone binding file. Signed-off-by: Abdurrahman Hussain --- Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Docum= entation/devicetree/bindings/trivial-devices.yaml index 23fd4513933a..19c8c7220858 100644 --- a/Documentation/devicetree/bindings/trivial-devices.yaml +++ b/Documentation/devicetree/bindings/trivial-devices.yaml @@ -352,6 +352,8 @@ properties: - mps,mp9941 # Monolithic Power Systems Inc. digital step-down converter mp= 9945 - mps,mp9945 + # Murata D1U74T-W power supply unit + - murata,d1u74t # Temperature sensor with integrated fan control - national,lm63 # Temperature sensor with integrated fan control --=20 2.53.0 From nobody Fri Jun 12 18:36:09 2026 Received: from mail-dy1-f175.google.com (mail-dy1-f175.google.com [74.125.82.175]) (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 D72443E7157 for ; Wed, 13 May 2026 10:33:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778668398; cv=none; b=IwrhsPOGQDZHMB+bPgR8mkH2WzrKom1IOPhpTjQNuDbswH0K+TD1En3hb5OP2TCCWw3MIYXMsNn1MMNHVLe6Bjw1FdmoPVmtmW3unHdehSugIftBmKLM4fPHeG1R0vmGLIVQAALes/ZLHVj5O6uklZduhFVrtYhIXZ6Z5JXGdkA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778668398; c=relaxed/simple; bh=P7MMDmiLhHVYqHcAu7ClvEhUdbQ9lZdUJ0RVW3bvNEI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bNipaIKy32nsSacgmbFj8G2/m8uJ0x+RnTlezKvUzCyQP5Zl8rYb8VJQI3x+B+OPMsZo62WGR6nZZowyHl/E2fy1cYXtQLVE0xrftVBTxTgFTBDhLeWQdzF4IWFWENlRVC2XxCRyuLAMaR374AXr9lu4AsaWiUXE17eN2dYRx4c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nexthop.ai; spf=pass smtp.mailfrom=nexthop.ai; dkim=pass (2048-bit key) header.d=nexthop.ai header.i=@nexthop.ai header.b=GKMBhCTP; arc=none smtp.client-ip=74.125.82.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nexthop.ai Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nexthop.ai Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nexthop.ai header.i=@nexthop.ai header.b="GKMBhCTP" Received: by mail-dy1-f175.google.com with SMTP id 5a478bee46e88-2f7ca62a3c4so6855348eec.0 for ; Wed, 13 May 2026 03:33:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nexthop.ai; s=google; t=1778668388; x=1779273188; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GjSuZ8ZvzPBcac4mqsLo92B5VD+KUuH8Di4sSdgtVhs=; b=GKMBhCTPhi0Lv43JcBbynx/+SIS37E0cY1LlV/3yRNRIFCAdJoROHy+ipoODa3pUUO +eklFJJru5ullLUzixLFf/Cf2Oko+aDmM7YQut046j7mB5RcvclhxTfnjUFY7zB2ipUm LzRf2BdEI5kIiXOQ9qrBHmSdhLszARdG53Po9GseQkQIpC5SgUK2Jea+t8tMexpvmSAv 63PSnLEAR4L+gzpGZ3gtc3AQr/rhxrcQpTlheLuU9tOV14wadbaH1NuBtBqxWDi8b/Ws 7Kqwt/mIqrbwIDMGLNyUaR7neYYoffdmMEAAsBaJlUZ/VSmnJfDlVBaKwFnnTUDZDxs8 YDcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778668388; x=1779273188; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=GjSuZ8ZvzPBcac4mqsLo92B5VD+KUuH8Di4sSdgtVhs=; b=CRSAqzuOJQjCVriBXfERY6nZAUDHG1V2gF5Du+Fr7Ao9naRRAWUCoGLqk8vzBzVjsA mmoV0pgktfGobdWgO+xU9hFbhTWT5c1gji3iCDtobeDoNzhcKMsXlcxaQ+vwpUGeerfa 0ireW5YyTwbqPfEGq482x8EsrtRBWQIoTtznOwL6siSPhu3ubXAb9KfV9SoQtYZDZehY SqcbLIdtuCN7+UOCs3VltetAf396KrAOwsP838rHp8kgwTdDq22AGccaD6I2kuOCIiTB 0Y8g4KYFPAR9ut8xnKE7a13VuMlpngmyahtn8C91vKv29HYCuSKST+6L+3DUybwO7qRn X6mg== X-Forwarded-Encrypted: i=1; AFNElJ8Tn4y0LEzFxFnPOCA9rojFnvTDKvkBcLPUniwq6BNL13bNs9nhgtuSFsODXcn5eNlZNW4cxvMlkhK9CGw=@vger.kernel.org X-Gm-Message-State: AOJu0YzTwrtDgYkRtZ/sqef933YdugGL+LynM4k7BpDU7xTMYMtB+0od 2epXeJPgBDVjVzC0rTeRT1oNWNdEGtGNfyMNfPkcOzCagpiobJolpk1w5z1mkwFn1Ck= X-Gm-Gg: Acq92OFKrPvVu9/YfNcnhxX3DIvzkv/HnNSfaqJ1/e8HzJe/g2clU/G6HeC44Eim52q HVaqdDxEwr+j9nJN39tR5srmduPWTUOfywSPHmDfvNSHCebu1QW0xcZvdgIY+t3+wk3XfT0Hgdo yn1Q7/+z2yUWEbWdl9tlM5cwJYJ5viSoIpzUYsZxpfCAyv7QvsGj9mECaRhD+qXPRgcHpz8eZhu +C/YC/g5JR9MBSfLUDiZuxIWcbHq31xeeFuLsQwsGLnK6jG9d6J7KYhKQSZXPjIxAyZnG1Cs3GF eMjfG0pdzqxu+P4UKrXShLZLjD9zcJ5fy9PHTcyd9blvPPEZ7xgIvKyEs6LoFLz4m/6OoFZJltr 8fQ9K1XDeCQJjW1PDlXJ2HykODw3CaSKkoK6d9ldT3nFLwNNHz++1DXHle/MbI31xjyTW3HQ/vf gH8ku1veCjnl8/ajP8nVYCF/gjRA== X-Received: by 2002:a05:7301:1f0a:b0:2d9:bc8d:f62a with SMTP id 5a478bee46e88-301556533acmr1054256eec.16.1778668387835; Wed, 13 May 2026 03:33:07 -0700 (PDT) Received: from [127.0.0.2] ([50.145.100.174]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f8859eb4b7sm22241537eec.2.2026.05.13.03.33.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 May 2026 03:33:07 -0700 (PDT) From: Abdurrahman Hussain Date: Wed, 13 May 2026 03:33:03 -0700 Subject: [PATCH v3 2/2] hwmon: (pmbus/d1u74t) Add Murata D1U74T PSU driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260513-d1u74t-v3-2-27bcd6852c45@nexthop.ai> References: <20260513-d1u74t-v3-0-27bcd6852c45@nexthop.ai> In-Reply-To: <20260513-d1u74t-v3-0-27bcd6852c45@nexthop.ai> To: Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonathan Corbet , Shuah Khan Cc: linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Abdurrahman Hussain , kernel test robot X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778668384; l=7520; i=abdurrahman@nexthop.ai; s=20260510; h=from:subject:message-id; bh=P7MMDmiLhHVYqHcAu7ClvEhUdbQ9lZdUJ0RVW3bvNEI=; b=0jJGtU80Ci+mMBa6gRShJgussIla2YCfCk8TOXc6DdFw6BPReqShDPp9zPpnkt7P8wF7xbSQp jepHNpto/63CbhYiPk8f32TtiUI7ChPbGfd5FGD+7sGH4wTUH6VpurB X-Developer-Key: i=abdurrahman@nexthop.ai; a=ed25519; pk=omTm9cCAbO0ZhS32aKfJDKue0W3sQGpG9ub5eYHif8I= Add PMBUS driver for Murata D1U74T power supplies. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202605122253.zInzmUeX-lkp@int= el.com/ Signed-off-by: Abdurrahman Hussain --- Documentation/hwmon/d1u74t.rst | 81 +++++++++++++++++++++++++++++++++++++++ Documentation/hwmon/index.rst | 1 + MAINTAINERS | 7 ++++ drivers/hwmon/pmbus/Kconfig | 9 +++++ drivers/hwmon/pmbus/Makefile | 1 + drivers/hwmon/pmbus/d1u74t.c | 86 ++++++++++++++++++++++++++++++++++++++= ++++ 6 files changed, 185 insertions(+) diff --git a/Documentation/hwmon/d1u74t.rst b/Documentation/hwmon/d1u74t.rst new file mode 100644 index 000000000000..2856aba97c3a --- /dev/null +++ b/Documentation/hwmon/d1u74t.rst @@ -0,0 +1,81 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +Kernel driver d1u74t +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Supported chips: + + * Murata D1U74T + + Prefix: 'd1u74t' + + Addresses scanned: - + + Datasheet: Only available under NDA. + +Authors: + Abdurrahman Hussain + + +Description +----------- + +This driver implements support for Murata D1U74T Power Supply with +PMBus support. + +The driver is a client driver to the core PMBus driver. +Please see Documentation/hwmon/pmbus.rst for details on PMBus client drive= rs. + + +Usage Notes +----------- + +This driver does not auto-detect devices. You will have to instantiate the +devices explicitly. Please see Documentation/i2c/instantiating-devices.rst= for +details. + + +Sysfs entries +------------- + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D +curr1_label "iin" +curr1_input Measured input current +curr1_alarm Input current alarm +curr1_rated_max Maximum rated input current + +curr2_label "iout1" +curr2_input Measured output current +curr2_max Maximum output current +curr2_max_alarm Output current high alarm +curr2_crit Critical high output current +curr2_crit_alarm Output current critical high alarm +curr2_rated_max Maximum rated output current + +in1_label "vin" +in1_input Measured input voltage +in1_alarm Input voltage alarm +in1_rated_min Minimum rated input voltage +in1_rated_max Maximum rated input voltage + +in2_label "vout1" +in2_input Measured output voltage +in2_alarm Output voltage alarm +in2_rated_min Minimum rated output voltage +in2_rated_max Maximum rated output voltage + +power1_label "pin" +power1_input Measured input power +power1_alarm Input power alarm +power1_rated_max Maximum rated input power + +temp[1-3]_input Measured temperature +temp[1-3]_max Maximum temperature +temp[1-3]_max_alarm Maximum temperature alarm +temp[1-3]_rated_max Maximum rated temperature + +fan1_alarm Fan 1 warning +fan1_fault Fan 1 fault +fan1_input Fan 1 speed in RPM +fan1_target Fan 1 target +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D diff --git a/Documentation/hwmon/index.rst b/Documentation/hwmon/index.rst index 8b655e5d6b68..97b1ef65b1c1 100644 --- a/Documentation/hwmon/index.rst +++ b/Documentation/hwmon/index.rst @@ -60,6 +60,7 @@ Hardware Monitoring Kernel Drivers corsair-psu cros_ec_hwmon crps + d1u74t da9052 da9055 dell-smm-hwmon diff --git a/MAINTAINERS b/MAINTAINERS index b2040011a386..3106cf725dfc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -18249,6 +18249,13 @@ F: drivers/mux/ F: include/dt-bindings/mux/ F: include/linux/mux/ =20 +MURATA D1U74T PSU DRIVER +M: Abdurrahman Hussain +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/d1u74t.rst +F: drivers/hwmon/pmbus/d1u74t.c + MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER M: Bin Liu L: linux-usb@vger.kernel.org diff --git a/drivers/hwmon/pmbus/Kconfig b/drivers/hwmon/pmbus/Kconfig index 8f4bff375ecb..ee93b22d2887 100644 --- a/drivers/hwmon/pmbus/Kconfig +++ b/drivers/hwmon/pmbus/Kconfig @@ -113,6 +113,15 @@ config SENSORS_CRPS This driver can also be built as a module. If so, the module will be called crps. =20 +config SENSORS_D1U74T + tristate "Murata D1U74T Power Supply" + help + If you say yes here you get hardware monitoring support for the Murata + D1U74T Power Supply. + + This driver can also be built as a module. If so, the module will + be called d1u74t. + config SENSORS_DELTA_AHE50DC_FAN tristate "Delta AHE-50DC fan control module" help diff --git a/drivers/hwmon/pmbus/Makefile b/drivers/hwmon/pmbus/Makefile index 7129b62bc00f..8cf7d3075371 100644 --- a/drivers/hwmon/pmbus/Makefile +++ b/drivers/hwmon/pmbus/Makefile @@ -76,3 +76,4 @@ obj-$(CONFIG_SENSORS_XDPE1A2G7B) +=3D xdpe1a2g7b.o obj-$(CONFIG_SENSORS_ZL6100) +=3D zl6100.o obj-$(CONFIG_SENSORS_PIM4328) +=3D pim4328.o obj-$(CONFIG_SENSORS_CRPS) +=3D crps.o +obj-$(CONFIG_SENSORS_D1U74T) +=3D d1u74t.o diff --git a/drivers/hwmon/pmbus/d1u74t.c b/drivers/hwmon/pmbus/d1u74t.c new file mode 100644 index 000000000000..286ba492e336 --- /dev/null +++ b/drivers/hwmon/pmbus/d1u74t.c @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2026 Nexthop Systems. + */ + +#include +#include +#include + +#include "pmbus.h" + +static const struct i2c_device_id d1u74t_id[] =3D { + { "d1u74t" }, + {}, +}; +MODULE_DEVICE_TABLE(i2c, d1u74t_id); + +static struct pmbus_driver_info d1u74t_info =3D { + .pages =3D 1, + /* PSU uses default linear data format. */ + .func[0] =3D PMBUS_HAVE_PIN | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT | + PMBUS_HAVE_IIN | PMBUS_HAVE_VIN | PMBUS_HAVE_STATUS_INPUT | + PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_TEMP | + PMBUS_HAVE_TEMP2 | PMBUS_HAVE_TEMP3 | + PMBUS_HAVE_STATUS_TEMP | PMBUS_HAVE_FAN12 | + PMBUS_HAVE_STATUS_FAN12, +}; + +static int d1u74t_probe(struct i2c_client *client) +{ + char buf[I2C_SMBUS_BLOCK_MAX + 2] =3D { 0 }; + struct device *dev =3D &client->dev; + int rc; + + rc =3D i2c_smbus_read_block_data(client, PMBUS_MFR_ID, buf); + if (rc < 0) + return dev_err_probe(dev, rc, "Failed to read PMBUS_MFR_ID\n"); + + if (rc !=3D 9 || strncmp(buf, "Murata-PS", 9)) { + buf[rc] =3D '\0'; + return dev_err_probe(dev, -ENODEV, + "Unsupported Manufacturer ID '%s'\n", + buf); + } + + rc =3D i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, buf); + if (rc < 0) + return dev_err_probe(dev, rc, + "Failed to read PMBUS_MFR_MODEL\n"); + + if (rc < 8 || strncmp(buf, "D1U74T-W", 8)) { + buf[rc] =3D '\0'; + return dev_err_probe(dev, -ENODEV, "Model '%s' not supported\n", + buf); + } + + rc =3D pmbus_do_probe(client, &d1u74t_info); + if (rc) + return dev_err_probe(dev, rc, "Failed to probe\n"); + + return 0; +} + +static const struct of_device_id d1u74t_of_match[] =3D { + { + .compatible =3D "murata,d1u74t", + }, + {}, +}; +MODULE_DEVICE_TABLE(of, d1u74t_of_match); + +static struct i2c_driver d1u74t_driver =3D { + .driver =3D { + .name =3D "d1u74t", + .of_match_table =3D d1u74t_of_match, + }, + .probe =3D d1u74t_probe, + .id_table =3D d1u74t_id, +}; + +module_i2c_driver(d1u74t_driver); + +MODULE_AUTHOR("Abdurrahman Hussain"); +MODULE_DESCRIPTION("PMBus driver for Murata D1U74T-W power supplies"); +MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS("PMBUS"); --=20 2.53.0