From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.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 C23792F1FD3 for ; Thu, 10 Jul 2025 17:51:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169875; cv=none; b=i/FEV25CbIMTNvmwmzNnb22URG7vJ/zBGfUPwg3+iGSLIBP5qiYm9yMjKO+kdk7tZhWG61JSHF+6mX8oOLti/0CMQKeXHywIWevFl30ea73zHEMGYYiCDeHQzPayI3hH85h/l33oN2nZyKkowhYw2Dm45Nn06YHnKb7OfQFZeTY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169875; c=relaxed/simple; bh=TcSAvv80iECU+EemBY/QAFaaDjBspFOa95X1JROvb5w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l5GSkDK0agRqTQf8kEtFDR25864Io/nYyrHuYcSKfqEKXFcSmyBsl16GDpYRJVBgAUOPGauPdPU3TiFGjw2FxXR5hDElN8FbLwMAMqvZ1zE4R0eo0L6kLOvlQsGCkTNpnlLSSmSmuOLYbYEdUMNKSDCSd5rmwM1IhmGTP8WHwXo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=KTkNK7B5; arc=none smtp.client-ip=209.85.160.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="KTkNK7B5" Received: by mail-qt1-f174.google.com with SMTP id d75a77b69052e-4a43d2d5569so15516431cf.0 for ; Thu, 10 Jul 2025 10:51:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169873; x=1752774673; 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=nNF7PY8BTTw3n4PxFimy6RpSwNTBoHWIsy6At478d2Q=; b=KTkNK7B50nK8RX8G78Qe9kAqdorqnBfyqXYmHNE0lQ9BXLXvzdHqvcgd5Ceq1zO6cu EFf4IVq2mhnZLU4l8d56Y5C44OKpxWwyZs9Z6Ozwa51KMR/iHKHFgkDz7GwMDdm/MF+e VaS2kUAdmPxSE3oVQlmUhblUmSQ5iUhDciquu0KiLSdqLlP0b340XVqBw9bHBuCmedYV 8QlJoI7DjczQbMi5PSSrOmPjtDT0OVaPnPLGuduSlLZ5aXIqNTeI0xV/uJviDr80lWCj GtceVmwVTInrUUZCOaqQh8Un1wi/EwBlXh5WMXhW+hO+jglr7GgbScv4CNV8e28FeQLp yYCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169873; x=1752774673; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nNF7PY8BTTw3n4PxFimy6RpSwNTBoHWIsy6At478d2Q=; b=eREVXEHkarEwRIPa53GM2kzShcmcefuljrqlqYDEe3la8SrPvPPy0s0jVNtNEZ3L7F VDdBjsYKPqWyKLGCw8oM6JFEdcV6+wlYi8DNRAg5h99ZnNsmq0nxEErLuq7QwhWSVenx An5t+JaqzXtszjtYT80l/bqd4wyN6uSV6Lp178XTDTWnEyBl/xhgCqRp0JgHwBk7b+ZP z8kNyeNTSDPajp7Ahk/s9AhLcYj8csIxGL1qwyQ4yV3NCJ2Jyn+FsGyRn4Vrt7qIlOWo JWxaxq1cNSthrH8chIcHcnJlKC2aJPtQV8zBEywAhiKXyi72x9lOnfQsnLoVZPQVb8G/ 8lAg== X-Forwarded-Encrypted: i=1; AJvYcCXUdfmFXxsBOsOftMf5A8rlml2DAE0hKWIldnZCgFNalDOorxl6qQubvvBkTvGEv0qaY8uFUAI7v36RkgQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwGsaXZ1iDhlQ8xkVpK8/IlTm3c7Pq9IvxAgzTnGQrffqyBZ77m OO6FqX/rhjlYOogly4qKko/aV8NIOYQa4r577DzvWSk7zThwo2RG/fdbQNd1/AqKAK4= X-Gm-Gg: ASbGncvybmRGXVkohBkOvFWqzuHMnxby2U82ai+wjzE8OKvZ48+I2unLhUGUqniLcVp k0TRHeaazrl4EOXYfftjKI5U9O27Jc6IHLcrkYH3S9dPfKikyNh40V/DmxBxC6yj/WVsVLtv2w2 6s3UcWHXczPhePxSP+Z5jxA07Q3ovY+9s0O3bo371+bsAgTYJLSiISZ/xpU9cyXC6AReD3pqKEO zfiwLMZtYZFyVfa/XIra8AYR844fg1MStZ/YipvJPYQCfwcwIQO4jOkbXieyVyBl6Z996k8xD2Q 9RgPZG5Lfk1VEuU6zj9Nej8aKFtpyLJHAf7jXsnfx6mmdDakiNF+rM6RPYLt0Ic9BzP2FCrTsM1 WtOj6+Ijts+4yiO8GV6jflvHPgOyv4ba7ng0= X-Google-Smtp-Source: AGHT+IE0cJRHVoq9k9LOPhhDX5Qx0jjf0lgcMuAEVcjuN5h/JF5bteKTincAlkOQmKWP6gWojXJAQw== X-Received: by 2002:a05:622a:4acb:b0:4a8:1a88:7208 with SMTP id d75a77b69052e-4a9fb9a670amr4227831cf.48.1752169872379; Thu, 10 Jul 2025 10:51:12 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:12 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 1/8] dt-bindings: mfd: add support the SpacemiT P1 PMIC Date: Thu, 10 Jul 2025 12:50:59 -0500 Message-ID: <20250710175107.1280221-2-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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" Enable the SpacemiT P1, which is an I2C-controlled PMIC. Initially only the RTC and regulators will be supported. Signed-off-by: Alex Elder Reviewed-by: Rob Herring (Arm) --- .../devicetree/bindings/mfd/spacemit,p1.yaml | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/spacemit,p1.yaml diff --git a/Documentation/devicetree/bindings/mfd/spacemit,p1.yaml b/Docum= entation/devicetree/bindings/mfd/spacemit,p1.yaml new file mode 100644 index 0000000000000..5cc34d4934b54 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/spacemit,p1.yaml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/spacemit,p1.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: SpacemiT P1 Power Management Integrated Circuit + +maintainers: + - Troy Mitchell + +description: + P1 is an I2C-controlled PMIC produced by SpacemiT. It implements six + constant-on-time buck converters and twelve low-dropout regulators. + It also contains a load switch, watchdog timer, real-time clock, eight + 12-bit ADC channels, and six GPIOs. Additional details are available + in the "Power Stone/P1" section at the following link. + https://developer.spacemit.com/documentation + +properties: + compatible: + const: spacemit,p1 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + vin-supply: + description: Input supply phandle. + + regulators: + type: object + + patternProperties: + "^(buck[1-6]|aldo[1-4]|dldo[1-7])$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + unevaluatedProperties: false + +required: + - compatible + - reg + - interrupts + +unevaluatedProperties: false + +examples: + - | + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + pmic@41 { + compatible =3D "spacemit,p1"; + reg =3D <0x41>; + interrupts =3D <64>; + + regulators { + buck1 { + regulator-name =3D "buck1"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3450000>; + regulator-ramp-delay =3D <5000>; + regulator-always-on; + }; + + aldo1 { + regulator-name =3D "aldo1"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + regulator-boot-on; + }; + + dldo1 { + regulator-name =3D "dldo1"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + regulator-boot-on; + }; + }; + }; + }; --=20 2.45.2 From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) (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 185952F1FE3 for ; Thu, 10 Jul 2025 17:51:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169877; cv=none; b=hSqdloqH+5GVFb6jR3ZSkmxamFT+voS86TFX0rV+IDYOhLQAscdWUgj3WqqkgwF2KzOyrqKQZt9b4ER3AwEtYXRVks/o3enIsWdyX3hxMQf/GD613+jvf6zw+h4PHpFlkrXEC/lr1EYZy/daeruRw77yUOy4yhb0CSzdUbo9fxU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169877; c=relaxed/simple; bh=qw54s6+dB4TTXuc48Qt7Fv1rhcl09JsKjrdaymOOvwk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UMgLJR+PH8y2Y7ZNFIjqQk5DiN4WtwuVLs+FIccjk9li5cMZas7t9cW1bBz0SL9A79ZPmyQ3Wmn2QhG4B7wjZrzjd4Ojm/PaiQ/MLr+GRQWCJizR8O0AhDUJK8vdYFmN+Lg2oUb2MQrC2u2cl/Q7yX41sYuwrF8vN3h4vxM9zDA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=MibllwvI; arc=none smtp.client-ip=209.85.160.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="MibllwvI" Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-4a58d95ea53so16413441cf.0 for ; Thu, 10 Jul 2025 10:51:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169874; x=1752774674; 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=VPxd+P8tmDwx0y+W1SNnV+rw8aIzaBC1lp7afJoBcgY=; b=MibllwvIk9RfL5jmcMhrM41e9sl51DsRvefvYRMavCWVWmzKH45CYZzqRRgZi8Gz6e vAT7aSB/oHc78Nz1O1nhIpXhp+6dY1Rg0Z+zmUJkPNyYcZEruwcDfrekYT45i88VB9ob I1KfjY2NZyi6A1D6Dl8X3hJVH/0gM0KQAgrkTIb9UYZcuhrzrUSUdK92W1xxv40Ukfj7 Zk5RI6kLYnGvgmKiFHCrbh+KE27H07CCBkBI1zkGKLFRyQj6GYFdzVEQrScFkp/qMiQL mnFMbIWekush4sf7ICw58jYnxvjRG3409jniVY75UgdwjbuG8sqd9nDsNzlg49AYawPV Mc1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169874; x=1752774674; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VPxd+P8tmDwx0y+W1SNnV+rw8aIzaBC1lp7afJoBcgY=; b=fKXkd89QZ+0saI3qhVmpn2abt0rAv0dAbf9pFpAPlQSfD1yww6fV8j2NpIeGQbt54g 5kkPRMO7GISocBQR/1yLVdC7Yi2stl+OniZ+ZAnGJQgI3ZQFRQdjwRBhDTzqwTJIxZG7 uAHBZTnIwybIhOSKXt0+L7+4TbQWWBCkw8ETBbRJN14A9hxdO67zeb6HnH1TvrfxZZMt npWNaUDvjjoELVBk30shB6KvqHG8C7UPL8qhdSw1gCa4bgnoaSI+FEO/YPLt3QzyeqxB 0CABQi/b4YOqWTSUqTzsabbkYpGff0CtLplknUy4LDCSTdp4NlZlndYyxETD+4rGNL3r 6eAA== X-Forwarded-Encrypted: i=1; AJvYcCX769v9BFH5VU6xwqtHYtjYPv5i6ISH4a+sWlbokFRw8ialUrSIFFJE7516VIQI1ptm52ps7D76t2R3MyI=@vger.kernel.org X-Gm-Message-State: AOJu0YxM8UFP0fj3tZDoEtBTl+OuLyBCANUdU9JwnT+5j2TMm/IRM3HD K9Jn2Z1iIz6z5eyu18Euj/G1QP3MQ6LXEXN15ICybmu9Z/cael7gb5gasqP7TAo3V9o= X-Gm-Gg: ASbGncurtoI7A4YJRo9xiiVFosrYgWTw+5r5SWbHcCsBbZIT3KTR6BNdtPolsyxYD07 r9e9AValQZ2EexDs7d9pouRN9g4l0QStrcv9qhO1ZvAXTKySiowscJD4mp1T0y4Dn5paudS4/mJ 2ycGpSXKZ6wQmloDtHm7MiFnt3DPpIn8GRB2q+iK16L8//kJiRByk9WtWUsyGAWuU99B1jfap9j md9CQ6UTSNArkkxv9bGgmFfP6xujhtqbZAiPDVLtQl9s1G1gnoh7sXM2W5yjEV+L20usiBSvWg9 gw86L/PyjGTwqPVwtifDKazmpR+wythwUF85i5GEn5oipnDQEkoB1p+C0VOFZG5UU+u7oa8UrKI RCKI86Ay+j7BLSbDMglgW0UjLaB9dKi9wEJDBZztvPIdisQ== X-Google-Smtp-Source: AGHT+IEkx+AOQpLVZceBJR6aNNu41el+MInso6QxhBVwmiG6+XiP3kC1/9JcknKd6ozM3Mhkp6rCyQ== X-Received: by 2002:a05:622a:1441:b0:4a9:a608:43eb with SMTP id d75a77b69052e-4a9fbb4f054mr2871861cf.20.1752169873838; Thu, 10 Jul 2025 10:51:13 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:13 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 2/8] mfd: simple-mfd-i2c: specify max_register Date: Thu, 10 Jul 2025 12:51:00 -0500 Message-ID: <20250710175107.1280221-3-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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" All devices supported by simple MFD use the same 8-bit register 8-bit value regmap configuration. There is an option available for a device to specify a custom configuration, but no existing device uses it. Rather than specify a "full" regmap configuration to change only the max_register value, Lee Jones suggested allowing max_register to be specified in the simple_mfd_data structure. If regmap_config and max_register are both supplied, the max_register field is ignored. Signed-off-by: Alex Elder Suggested-by: Lee Jones --- v8: - Use regmap_config_8r_8v, modifying it if max_register supplied drivers/mfd/simple-mfd-i2c.c | 8 ++++++-- drivers/mfd/simple-mfd-i2c.h | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/simple-mfd-i2c.c b/drivers/mfd/simple-mfd-i2c.c index 22159913bea03..5138aa72140b5 100644 --- a/drivers/mfd/simple-mfd-i2c.c +++ b/drivers/mfd/simple-mfd-i2c.c @@ -24,15 +24,16 @@ =20 #include "simple-mfd-i2c.h" =20 -static const struct regmap_config regmap_config_8r_8v =3D { +static struct regmap_config regmap_config_8r_8v =3D { .reg_bits =3D 8, .val_bits =3D 8, + /* .max_register can be specified in simple_mfd_data */ }; =20 static int simple_mfd_i2c_probe(struct i2c_client *i2c) { const struct simple_mfd_data *simple_mfd_data; - const struct regmap_config *regmap_config; + struct regmap_config *regmap_config; struct regmap *regmap; int ret; =20 @@ -43,8 +44,11 @@ static int simple_mfd_i2c_probe(struct i2c_client *i2c) regmap_config =3D ®map_config_8r_8v; else regmap_config =3D simple_mfd_data->regmap_config; + if (simple_mfd_data && !simple_mfd_data->regmap_config) + regmap_config->max_register =3D simple_mfd_data->max_register; =20 regmap =3D devm_regmap_init_i2c(i2c, regmap_config); + regmap_config->max_register =3D 0; if (IS_ERR(regmap)) return PTR_ERR(regmap); =20 diff --git a/drivers/mfd/simple-mfd-i2c.h b/drivers/mfd/simple-mfd-i2c.h index 7cb2bdd347d97..ea2a96af8bce4 100644 --- a/drivers/mfd/simple-mfd-i2c.h +++ b/drivers/mfd/simple-mfd-i2c.h @@ -24,7 +24,8 @@ #include =20 struct simple_mfd_data { - const struct regmap_config *regmap_config; + struct regmap_config *regmap_config; + unsigned int max_register; /* Ignored if regmap_config supplied */ const struct mfd_cell *mfd_cell; size_t mfd_cell_size; }; --=20 2.45.2 From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) (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 8B9262F1FED for ; Thu, 10 Jul 2025 17:51:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169878; cv=none; b=mQ5fQ9BWLFxb+i1DJh247LoVJL+BwfTf/dZ4pPCK93URt5ilSxmOEHFfn1BRlm3K2zhbdVvZ9X4Y2NJBbrxzOQUbDrLgdFxiMCn7GGIruvyWLBo0reieQLfDttQyuVb+LlYUUZkT+Hkmch7I7phXpaI2CnGnxdl5k201ghlFEUM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169878; c=relaxed/simple; bh=BzqfhdrRj8WtN/UBi9Mi4cmy9MEs58bo8wDPQk/UcCk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kfOWeNB2ZVEbKNkf4OZDWyg/0HGn6AMLm3iIGa3310WPbdjDAgj/ypKz+IyKRRsguXZe6n6++pfjO0u/TdhmnjXDX0X13hEkxu2Y63bbhnwSP/4QpPBeFWlqGX13iiqP41kXoPfieJzd9sJQrbzWGxkN9Dscy4SMaXQ8HCUv3ls= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=0yyPjzd5; arc=none smtp.client-ip=209.85.160.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="0yyPjzd5" Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-4a76ea97cefso13449871cf.2 for ; Thu, 10 Jul 2025 10:51:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169875; x=1752774675; 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=8bj6vCPGaU4Rfnhycvs3EmL9A7DZOIkUvKzqHFKHDro=; b=0yyPjzd5obXsMdq1FIGy04gejoEkj8DCS5preTS8+LJNUeiKxjn3DCF4SEApJhdqLc KIR81lWXOM5DLMizJFFHAyVqMIvSVV/8pw2l75Kv0jqfTBq1HM2iE9TES6I/bjckx4lr 67FE2RhPglY3vPcAD4ccJ3oSodwkhCOrfYbM5a4/x7+WZ7Y1Oj41LSAXBXDV6K6mS3c4 MeHaF9ennfa3BCfnKyxGoglyY0aQxtEKaCKnXDaNhwYJooH5vUCDSs/npQJR2p//zh0V bLfQSFI2i37WDu0kFKRH/CicH/Fp/Pge9z1jrjESxeSHlVtaNmj0Te5kDATGHNsaWr+0 A7YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169875; x=1752774675; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8bj6vCPGaU4Rfnhycvs3EmL9A7DZOIkUvKzqHFKHDro=; b=Z/QULRuquW+HqHCMp+yMd+61l3wzPFhXusr4f1MWvJL2F/PG375W2iOM1+jUN9YEfc lFNmAuT7c/rI2IMREqocLmfnwFalyj8pFjANKY99p8aYwH12v8606FAE0kLdN8/3C1xI eJfYnq863849H86+WvJKFtA89rtTzoK7OdXm4pke8DQ71GH+5sJUKNWpQw5JbJZv6hiC nW4bqdWNpYCllue5ekiS69cUJbJeUHTDjKspKVw0z85ApiVv7CCbhvuyfLNovI/gDO5P gpCEjQYXh6VC/jWqMTJO8djku5kC4I/dfBOjfz2V0KDOdyf8YsoRkv6yScTJooZGTmKF U8ow== X-Forwarded-Encrypted: i=1; AJvYcCUvXHp/G7latplt2OOsk8NvIuiSjCzAqmUY/vb7k9E/X2g19i82dQ/G5ir3zLZ46ic2PwH+Ucy9FbTn6dM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+ZCQSYNSdi5OZl4/GtcaTYJ+NcyUKB688x1x1we8OniKHRqJQ GHfd+KDPYPupl1efEfbZWijtelfLU82VrLx2k1jQlvPT9HLEnxNvVk1QNDFZlBjmrjU= X-Gm-Gg: ASbGnctoANcfJSLVKaSyggs7CQ6amqrSMdt9TFdi9mMu58MlH56SCUTSLyJbVFdzrAV 4T6fBGmjlpmMe7c0h8Jo3YKHczc2YOKIzT3+ulDnqbqeSlAUC50enscmbaPo9cLZh8WVlG44tl3 NrSSVq0X5OgJXP3g2rMP+F6Swawy3LvgJ1AF51VNfH+g7RyIKf0rVXmYyjEAmu+//TSeukH6Etl 6jW3xkfJaXfjUwn0wfFDQ1FRaCjkgyoGE2nzXpc8NjEYQgEpCj/FLMlonm3EQ6lT/EXpi07ylT1 7iWGixyZDG6pqDMRrpsKLxpfRTgB3Nd4/ICmjShHX+PHtVZqkMjCH7XQLgBa2g+yCLkEeq/pa5z aKGlkio2CjBDJtg8/7YsbyAizY7cQzU17njA= X-Google-Smtp-Source: AGHT+IHjd05z9zRG+d0D/5sAqmS973i9wsR1kMR5ICZA5P0UJpiwl0r28sLktoJDRFvR6m807O/spA== X-Received: by 2002:a05:622a:5c90:b0:4a9:b29e:6208 with SMTP id d75a77b69052e-4a9fb89824cmr4772551cf.15.1752169875317; Thu, 10 Jul 2025 10:51:15 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:15 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 3/8] mfd: simple-mfd-i2c: add SpacemiT P1 support Date: Thu, 10 Jul 2025 12:51:01 -0500 Message-ID: <20250710175107.1280221-4-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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" Enable support for the RTC and regulators found in the SpacemiT P1 PMIC. Support is implemented by the simple I2C MFD driver. The P1 PMIC is normally implemented with the SpacemiT K1 SoC. This PMIC provides 6 buck converters and 12 LDO regulators. It also implements a switch, watchdog timer, real-time clock, and more. Initially its RTC and regulators are supported. Signed-off-by: Alex Elder --- drivers/mfd/Kconfig | 11 +++++++++++ drivers/mfd/simple-mfd-i2c.c | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 6fb3768e3d71c..01805c3eec57d 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1182,6 +1182,17 @@ config MFD_QCOM_RPM Say M here if you want to include support for the Qualcomm RPM as a module. This will build a module called "qcom_rpm". =20 +config MFD_SPACEMIT_P1 + tristate "SpacemiT P1 PMIC" + depends on I2C + select MFD_SIMPLE_MFD_I2C + help + This option supports the I2C-based SpacemiT P1 PMIC, which + contains regulators, a power switch, GPIOs, an RTC, and more. + This option is selected when any of the supported sub-devices + is configured. The basic functionality is implemented by the + simple MFD I2C driver. + config MFD_SPMI_PMIC tristate "Qualcomm SPMI PMICs" depends on ARCH_QCOM || COMPILE_TEST diff --git a/drivers/mfd/simple-mfd-i2c.c b/drivers/mfd/simple-mfd-i2c.c index 5138aa72140b5..df44c2664fbfc 100644 --- a/drivers/mfd/simple-mfd-i2c.c +++ b/drivers/mfd/simple-mfd-i2c.c @@ -97,12 +97,24 @@ static const struct simple_mfd_data maxim_mon_max77705 = =3D { .mfd_cell_size =3D ARRAY_SIZE(max77705_sensor_cells), }; =20 +static const struct mfd_cell spacemit_p1_cells[] =3D { + { .name =3D "spacemit-p1-regulator", }, + { .name =3D "spacemit-p1-rtc", }, +}; + +static const struct simple_mfd_data spacemit_p1 =3D { + .mfd_cell =3D spacemit_p1_cells, + .mfd_cell_size =3D ARRAY_SIZE(spacemit_p1_cells), + .max_register =3D 0xaa, +}; + static const struct of_device_id simple_mfd_i2c_of_match[] =3D { { .compatible =3D "kontron,sl28cpld" }, { .compatible =3D "silergy,sy7636a", .data =3D &silergy_sy7636a}, { .compatible =3D "maxim,max5970", .data =3D &maxim_max5970}, { .compatible =3D "maxim,max5978", .data =3D &maxim_max5970}, { .compatible =3D "maxim,max77705-battery", .data =3D &maxim_mon_max77705= }, + { .compatible =3D "spacemit,p1", .data =3D &spacemit_p1, }, {} }; MODULE_DEVICE_TABLE(of, simple_mfd_i2c_of_match); --=20 2.45.2 From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (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 E6EF72F3C16 for ; Thu, 10 Jul 2025 17:51:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169879; cv=none; b=bqTrTiZpnZ+mQvatrBppGZmFl7w3vAcrtabgB73pdF5dCx+4VVecjvwpm8aYb+BBtsN1wrZXezEw1BKMljWUZCrSj+CDj4Qy4TdPzkIgn9bpYPGUNJxJgtTlFHO3mqcOOuzcqgOBKv1u9GFnquXRI6Q1WbKo1uZSRF3GA7Ur4ws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169879; c=relaxed/simple; bh=j3Wcubq/3SRFXIT3gXxJqmDlxCU0DsP5Pxf1kaaTIt4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jb6Hu8BXtKDEYO3Krqm3TCc5kIHlacL30Ao6+A4nCY6NfTEMvso09KKrLKfXknWE7Hfo3UfgYJUgWxUgcFlHR9N0TqLg7Y4jmTUNoEjmS+V9lvZQN1yNWbFhC2XD5tEwrXrW/8/L3+X48UBxWRsxqfaEwD613WbMzQWRVXbYU9c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=DQd9n9vz; arc=none smtp.client-ip=209.85.160.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="DQd9n9vz" Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-4a9bff7fc6dso11470391cf.1 for ; Thu, 10 Jul 2025 10:51:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169877; x=1752774677; 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=2q5ZDFopB9ZTQOgdTyWswTXMkdYAfsuV4jYCvMQMM3U=; b=DQd9n9vzh7A99GGzvUytZ2dzuwD57aM5NI1AG+hui0Mzo7Gfp7ZjBlW8LZoZFUg6xM okDzSi/7VFiBtFMu7Yd5dZ0f9YtcMmICSF4GoWfNZoEq6Aq1NDB3weDCL57njQQjf6Nk Ptx6lxofDbFnKi+siw58Ts72otEJujtXJKJMh9qsLXEnGwvoa+LTSn/Pu2/aGYFSWN5+ xaWESE7lzwqSY8J+wnj5yxTRAAbZ2ZfrGlbrDZGFGFVi9XorOumS/8L3wMU36yzQz8L3 PptLrrOrcjYKwXNowBhZoaiVIlWKlZ0RTu/EE+HVI5HNlibpH3k9IZbf7XbVE/hVcwmr HicA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169877; x=1752774677; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2q5ZDFopB9ZTQOgdTyWswTXMkdYAfsuV4jYCvMQMM3U=; b=F1U7Ts+vhz+dQCsqPRB1s9pFa0axyVFnFbWNWdJYAmfCzN+Toz2hS28OKhpqFVb62X 7MGUbB+JFNRzcF9CFdH4loCozqXgqsNOD9DJB0ep0r9hFEr/zfdHdJpPGH+tg+X6XKej UqJ9kvuobTSyVzRAVEaVEu2XshvkNG+LkpvVoud+6yY8Lk7fRbrzWiAW/geOZ4dd646/ Diy01yrjHNiBZl2CrOaWcJ1Qiaaun4jg3hAvUNxEbUT3d8TZaYKlBP1kNUPKFardQ4/y bhOnfLNajCjZzJK1+TO5ZISP/bVcMa5Yq6JOj89bqKM7t7es+zoWKjyvrodLNWE5Yji+ w26A== X-Forwarded-Encrypted: i=1; AJvYcCWyO1LbPx2zjCp/lx0cV5H7jMpmsBM7ZFAGVGc9SxZTJxKWv5ZjFVeL2kIqshTfCD9LJYVZ/Dz8xmbQ4lw=@vger.kernel.org X-Gm-Message-State: AOJu0YzCC3zYit/Bnf4YHyKJCHZbAKuuDHFRbbKGojGhkH2W0D/PXxdX dQ+cFaBTu/SkIWC15mTuCihYcXtK7vDt0M0fOkn2VqfgZ6Yw5VQxdh1Chh5qMrkt59U= X-Gm-Gg: ASbGncuWScgtZ/Yvl1Cx5Dc67dXl2GvYHRx4SIb9WKyZvP5B7Bt/SxwLRLtNing1laV em2W+Ah1J2N0hwODZaHWh4pguDqzCdDjn7bls4Mhx9cdmZHxEinfALsE3KuOyYGaYBGBWdQvqGB MUbnUWQdQ0g5s6PBWY6pmqqLr/tp5e9VhWgPb2nTOgsg+fOzeyeadD//0RH0fqVj2brIhSrQZG4 lHTMjTsI3sEYsQu7xIrIeOnG2OUTORS4kUrCVxmvFJO7H+Kta0GH06AxDhKkEu9dV2SjFY43PrN eiRiuEbKkpL84Fi/Yy7FefmGAD1KvPkQtlUz8DJAXlw3mAMmZzwtcxO77kqDbTcLR15P/KzlV6F ehjKGIUxmW1JWCcf4Wl32pycuWZf416bzYek= X-Google-Smtp-Source: AGHT+IF7P9pVUBeviq+PTYIof9JxS8yulNeN0GWGPQZkC6xkoh3p+YOXyrgh8Dye2dTeeSZTYie5gA== X-Received: by 2002:a05:622a:1817:b0:4a7:8af:3372 with SMTP id d75a77b69052e-4a9fba8af20mr3095471cf.1.1752169876769; Thu, 10 Jul 2025 10:51:16 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:16 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 4/8] regulator: spacemit: support SpacemiT P1 regulators Date: Thu, 10 Jul 2025 12:51:02 -0500 Message-ID: <20250710175107.1280221-5-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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 support for the regulators found in the SpacemiT P1 PMIC. This PMIC provides 6 buck converters and 12 LDO regulators. The PMIC is implemented as a multi-function device. These regulators are probed based on this driver being named in a MFD cell in the simple MFD I2C driver. Signed-off-by: Alex Elder Reviewed-by: Mark Brown --- drivers/regulator/Kconfig | 12 +++ drivers/regulator/Makefile | 1 + drivers/regulator/spacemit-p1.c | 157 ++++++++++++++++++++++++++++++++ 3 files changed, 170 insertions(+) create mode 100644 drivers/regulator/spacemit-p1.c diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index 7423954153b07..3e7feeebf8aca 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -1395,6 +1395,18 @@ config REGULATOR_SLG51000 The SLG51000 is seven compact and customizable low dropout regulators. =20 +config REGULATOR_SPACEMIT_P1 + tristate "SpacemiT P1 regulators" + depends on ARCH_SPACEMIT || COMPILE_TEST + select MFD_SPACEMIT_P1 + default ARCH_SPACEMIT + help + Enable support for regulators implemented by the SpacemiT P1 + power controller. The P1 implements 6 high-efficiency buck + converters and 12 programmable LDO regulators. To compile this + driver as a module, choose M here. The module will be called + "spacemit-pmic". + config REGULATOR_STM32_BOOSTER tristate "STMicroelectronics STM32 BOOSTER" depends on ARCH_STM32 || COMPILE_TEST diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile index be98b29d6675d..278f5b8d1c7d7 100644 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile @@ -162,6 +162,7 @@ obj-$(CONFIG_REGULATOR_S5M8767) +=3D s5m8767.o obj-$(CONFIG_REGULATOR_SC2731) +=3D sc2731-regulator.o obj-$(CONFIG_REGULATOR_SKY81452) +=3D sky81452-regulator.o obj-$(CONFIG_REGULATOR_SLG51000) +=3D slg51000-regulator.o +obj-$(CONFIG_REGULATOR_SPACEMIT_P1) +=3D spacemit-p1.o obj-$(CONFIG_REGULATOR_STM32_BOOSTER) +=3D stm32-booster.o obj-$(CONFIG_REGULATOR_STM32_VREFBUF) +=3D stm32-vrefbuf.o obj-$(CONFIG_REGULATOR_STM32_PWR) +=3D stm32-pwr.o diff --git a/drivers/regulator/spacemit-p1.c b/drivers/regulator/spacemit-p= 1.c new file mode 100644 index 0000000000000..d437e6738ea1e --- /dev/null +++ b/drivers/regulator/spacemit-p1.c @@ -0,0 +1,157 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Driver for regulators found in the SpacemiT P1 PMIC + * + * Copyright (C) 2025 by RISCstar Solutions Corporation. All rights reser= ved. + * Derived from code from SpacemiT. + * Copyright (c) 2023, SPACEMIT Co., Ltd + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MOD_NAME "spacemit-p1-regulator" + +enum p1_regulator_id { + P1_BUCK1, + P1_BUCK2, + P1_BUCK3, + P1_BUCK4, + P1_BUCK5, + P1_BUCK6, + + P1_ALDO1, + P1_ALDO2, + P1_ALDO3, + P1_ALDO4, + + P1_DLDO1, + P1_DLDO2, + P1_DLDO3, + P1_DLDO4, + P1_DLDO5, + P1_DLDO6, + P1_DLDO7, +}; + +static const struct regulator_ops p1_regulator_ops =3D { + .list_voltage =3D regulator_list_voltage_linear_range, + .get_voltage_sel =3D regulator_get_voltage_sel_regmap, + .set_voltage_sel =3D regulator_set_voltage_sel_regmap, + .set_voltage_time_sel =3D regulator_set_voltage_time_sel, + .enable =3D regulator_enable_regmap, + .disable =3D regulator_disable_regmap, + .is_enabled =3D regulator_is_enabled_regmap, +}; + +/* Selector value 255 can be used to disable the buck converter on sleep */ +static const struct linear_range p1_buck_ranges[] =3D { + REGULATOR_LINEAR_RANGE(500000, 0, 170, 5000), + REGULATOR_LINEAR_RANGE(1375000, 171, 254, 25000), +}; + +/* Selector value 0 can be used for suspend */ +static const struct linear_range p1_ldo_ranges[] =3D { + REGULATOR_LINEAR_RANGE(500000, 11, 127, 25000), +}; + +/* These define the voltage selector field for buck and LDO regulators */ +#define BUCK_MASK GENMASK(7, 0) +#define LDO_MASK GENMASK(6, 0) + +#define P1_ID(_TYPE, _n) P1_ ## _TYPE ## _n +#define P1_ENABLE_REG(_off, _n) ((_off) + 3 * ((_n) - 1)) + +#define P1_REG_DESC(_TYPE, _type, _n, _s, _off, _mask, _nv, _ranges) \ + { \ + .name =3D #_type #_n, \ + .supply_name =3D _s, \ + .of_match =3D of_match_ptr(#_type #_n), \ + .regulators_node =3D of_match_ptr("regulators"), \ + .id =3D P1_ID(_TYPE, _n), \ + .n_voltages =3D _nv, \ + .ops =3D &p1_regulator_ops, \ + .owner =3D THIS_MODULE, \ + .linear_ranges =3D _ranges, \ + .n_linear_ranges =3D ARRAY_SIZE(_ranges), \ + .vsel_reg =3D P1_ENABLE_REG(_off, _n) + 1, \ + .vsel_mask =3D _mask, \ + .enable_reg =3D P1_ENABLE_REG(_off, _n), \ + .enable_mask =3D BIT(0), \ + } + +#define P1_BUCK_DESC(_n) \ + P1_REG_DESC(BUCK, buck, _n, "vcc", 0x47, BUCK_MASK, 254, p1_buck_ranges) + +#define P1_ALDO_DESC(_n) \ + P1_REG_DESC(ALDO, aldo, _n, "vcc", 0x5b, LDO_MASK, 117, p1_ldo_ranges) + +#define P1_DLDO_DESC(_n) \ + P1_REG_DESC(DLDO, dldo, _n, "buck5", 0x67, LDO_MASK, 117, p1_ldo_ranges) + +static const struct regulator_desc p1_regulator_desc[] =3D { + P1_BUCK_DESC(1), + P1_BUCK_DESC(2), + P1_BUCK_DESC(3), + P1_BUCK_DESC(4), + P1_BUCK_DESC(5), + P1_BUCK_DESC(6), + + P1_ALDO_DESC(1), + P1_ALDO_DESC(2), + P1_ALDO_DESC(3), + P1_ALDO_DESC(4), + + P1_DLDO_DESC(1), + P1_DLDO_DESC(2), + P1_DLDO_DESC(3), + P1_DLDO_DESC(4), + P1_DLDO_DESC(5), + P1_DLDO_DESC(6), + P1_DLDO_DESC(7), +}; + +static int p1_regulator_probe(struct platform_device *pdev) +{ + struct regulator_config config =3D { }; + struct device *dev =3D &pdev->dev; + u32 i; + + /* + * The parent device (PMIC) owns the regmap. Since we don't + * provide one in the config structure, that one will be used. + */ + config.dev =3D dev->parent; + + for (i =3D 0; i < ARRAY_SIZE(p1_regulator_desc); i++) { + const struct regulator_desc *desc =3D &p1_regulator_desc[i]; + struct regulator_dev *rdev; + + rdev =3D devm_regulator_register(dev, desc, &config); + if (IS_ERR(rdev)) + return dev_err_probe(dev, PTR_ERR(rdev), + "error registering regulator %s\n", + desc->name); + } + + return 0; +} + +static struct platform_driver p1_regulator_driver =3D { + .probe =3D p1_regulator_probe, + .driver =3D { + .name =3D MOD_NAME, + }, +}; + +module_platform_driver(p1_regulator_driver); + +MODULE_DESCRIPTION("SpacemiT P1 regulator driver"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:" MOD_NAME); --=20 2.45.2 From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (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 6587D2F5318 for ; Thu, 10 Jul 2025 17:51:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169881; cv=none; b=T2rNt5HAhtmDIuQY95igr4Vmt5f5gNF+vF/g5EAaETaRLvWowbOvMZSq9hyoj/Hj/IdOao3zF5Lzkoteh8n4H1h9I0dpiMeBLE5lELJqUdBNmvPlCgYzWaEKWt9N+hKCS6dFun3HIy7we4U4yWqOynx6Ys1flKyjEc8ya2y/CE4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169881; c=relaxed/simple; bh=zclW5evbD26kO18GZgybKpcCRCtcM25Tzi+558CiH3U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dZjnAc4m/j7YM17pMfP3+xWuyAX/FVh+QZooGSpt98c0BbRV8chE60CGAtkZfw4icWH3zN6W7+KW89+WWYQjhlTWFd7meRUhwCzJpinnl242iWuRnNmLQU7ZLFLR7tKt4K+p802bb8rDiRbppTbcn4hfP+lD34nZReGDqftCst0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=eBjYek0V; arc=none smtp.client-ip=209.85.222.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="eBjYek0V" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7d7cf6efc2fso133174785a.3 for ; Thu, 10 Jul 2025 10:51:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169878; x=1752774678; 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=GtlkaFHjvmTy5RrCm3lhHAt4uNxWGS/x5o/PAIyMoV4=; b=eBjYek0VShEgOIAofNKMWInyjhRqyb3uXtz3pXAeRyP9HNB9+Zj5I0KSmhsBuEyv3T JlWfZAX1EeWkoaKBwIBNttEXxr1xoZ43lFgT/c3rrIUJCmWekO8aqHZ+Q6A/D/F4M4f0 OpwoknWmYZGqaqunO2uIeR5WXQw3ilM5Ok1ViPMM4hqw4mwFGlEUSd4XIlznTl9RfsWf 6KCPWEULC1VLN+ocBHmpQr3WMlE2aLXS8b1yh9XtjbUXtbbiJcouIJGxzzT62byAJ/9L 1+zqcSnG8uu/4KBaPhgduaqUiMTuDd2hl8jCUP85Jt4kFEcedyn3ElRVSKxnr5HdQWBQ uZ5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169878; x=1752774678; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GtlkaFHjvmTy5RrCm3lhHAt4uNxWGS/x5o/PAIyMoV4=; b=O/K69YOoFJKVWS64hOMQ6Dw/3AIurJoqXe+PqKj9RDjE3YWnT8cxAkyScC7A0BFagi 0eqYlLKLFtEsXqwotE9sdVFlY6SUyuWGC8SGheTQHTrEPonSZ05FZS0JlkV2oGohItZY AqY3AU80vB8a8+MUa54dkyxNl1T1yDRYdPeNPVGgxfBuXMbL+QqCMXcsMi4MtTQN3VOY a63MIn+2SRKimRafB1w6O9BA1BngidqbsGh3vGHTdvdHZ3HWKZ3MRqR0S9UUakX9IjHk UsIrVDSRpXtLiO4H7rPOyfJ1JXuQc52INNomy4FZsHUgF/I9E4zT3N2qNsH+EBCTUI7X 7C4w== X-Forwarded-Encrypted: i=1; AJvYcCUPwA3hNE6HV0oeV1gCbxzUhLaXz9Bhl8PATNKTuQCzjljyQ4kOa1TZEOt8dUukKShzZr/WLd4Ng8+9eQk=@vger.kernel.org X-Gm-Message-State: AOJu0YyXJvTCWCmkaoo8wQAo+kY67J63gxiFeIpx1MjLrpAjst0aXBif EBhOtnazPSA7PXNBi7PKS7+jcsW27QlE7Z9PsihcUpT/NE/cTg/cD6nONJ+WjNdX24E= X-Gm-Gg: ASbGncu1Gi1sFrIsV0aKp99V3Q3ywGag3wONlZe+qxDVBcj36ACH77IwJIT8xzxbuH8 FbcFdpkYUNIWwgTQ4k+j4tDNo5enBqS0OtEE0l05LvRXO4aS50198yRGmm+v3AfxQdO+8fb/Kdy eIyj51OQC1xkI7yG0HmZJewjHCAUL76z0m4TJz0XCDP9s804ZaMUTBStHIApF7NdBiWgRi34Mhp 954tDUSC2Z4Ym5ZGPEW/DhPBf02HovVhLNUIgbu7hilF4E164kR86uvd8iJ7pWz2iRKLMFBjchB LShC7pVw/YhhkOs0aJxskxhoXX57mrJ1lRsls+CqFAqNdd5nfP9m8cqyHZGZPAC/r7RzN0TbEGZ n4ezMsI53CeSOJn0asralHTyA983ZWDkeYMk= X-Google-Smtp-Source: AGHT+IE9P5qhuz4/xVWrdokjRO9CWefv8mgSYB/yTUYLe+8ex96dPbyhfL7QdTydlepbu+Nm7SZbPg== X-Received: by 2002:a05:620a:4693:b0:7d6:f963:8764 with SMTP id af79cd13be357-7ddec93519dmr67843885a.34.1752169878272; Thu, 10 Jul 2025 10:51:18 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:17 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 5/8] rtc: spacemit: support the SpacemiT P1 RTC Date: Thu, 10 Jul 2025 12:51:03 -0500 Message-ID: <20250710175107.1280221-6-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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 support for the RTC found in the SpacemiT P1 PMIC. Initially only setting and reading the time are supported. The PMIC is implemented as a multi-function device. This RTC is probed based on this driver being named in a MFD cell in the simple MFD I2C driver. Signed-off-by: Alex Elder Acked-by: Alexandre Belloni --- drivers/rtc/Kconfig | 10 ++ drivers/rtc/Makefile | 1 + drivers/rtc/rtc-spacemit-p1.c | 167 ++++++++++++++++++++++++++++++++++ 3 files changed, 178 insertions(+) create mode 100644 drivers/rtc/rtc-spacemit-p1.c diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 9aec922613cec..93620f2c9b29c 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -406,6 +406,16 @@ config RTC_DRV_MAX77686 This driver can also be built as a module. If so, the module will be called rtc-max77686. =20 +config RTC_DRV_SPACEMIT_P1 + tristate "SpacemiT P1 RTC" + depends on ARCH_SPACEMIT || COMPILE_TEST + select MFD_SPACEMIT_P1 + default ARCH_SPACEMIT + help + Enable support for the RTC function in the SpacemiT P1 PMIC. + This driver can also be built as a module, which will be called + "spacemit-p1-rtc". + config RTC_DRV_NCT3018Y tristate "Nuvoton NCT3018Y" depends on OF diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile index 4619aa2ac4697..a24ff6ad5ca58 100644 --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile @@ -171,6 +171,7 @@ obj-$(CONFIG_RTC_DRV_SD2405AL) +=3D rtc-sd2405al.o obj-$(CONFIG_RTC_DRV_SD3078) +=3D rtc-sd3078.o obj-$(CONFIG_RTC_DRV_SH) +=3D rtc-sh.o obj-$(CONFIG_RTC_DRV_SNVS) +=3D rtc-snvs.o +obj-$(CONFIG_RTC_DRV_SPACEMIT_P1) +=3D rtc-spacemit-p1.o obj-$(CONFIG_RTC_DRV_SPEAR) +=3D rtc-spear.o obj-$(CONFIG_RTC_DRV_STARFIRE) +=3D rtc-starfire.o obj-$(CONFIG_RTC_DRV_STK17TA8) +=3D rtc-stk17ta8.o diff --git a/drivers/rtc/rtc-spacemit-p1.c b/drivers/rtc/rtc-spacemit-p1.c new file mode 100644 index 0000000000000..5f1bcca00549c --- /dev/null +++ b/drivers/rtc/rtc-spacemit-p1.c @@ -0,0 +1,167 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Driver for the RTC found in the SpacemiT P1 PMIC + * + * Copyright (C) 2025 by RISCstar Solutions Corporation. All rights reser= ved. + */ + +#include +#include +#include +#include +#include +#include + +#define MOD_NAME "spacemit-p1-rtc" + +/* + * Six consecutive 1-byte registers hold the seconds, minutes, hours, + * day-of-month, month, and year (respectively). + * + * The range of values in these registers is: + * seconds 0-59 + * minutes 0-59 + * hours 0-59 + * day 0-30 (struct tm is 1-31) + * month 0-11 + * year years since 2000 (struct tm is since 1900) + * + * Note that the day and month must be converted after reading and + * before writing. + */ +#define RTC_TIME 0x0d /* Offset of the seconds register */ + +#define RTC_CTRL 0x1d +#define RTC_EN BIT(2) + +/* Number of attempts to read a consistent time stamp before giving up */ +#define RTC_READ_TRIES 20 /* At least 1 */ + +struct p1_rtc { + struct regmap *regmap; + struct rtc_device *rtc; +}; + +/* + * The P1 hardware documentation states that the register values are + * latched to ensure a consistent time snapshot within the registers, + * but these are in fact unstable due to a bug in the hardware design. + * So we loop until we get two identical readings. + */ +static int p1_rtc_read_time(struct device *dev, struct rtc_time *t) +{ + struct p1_rtc *p1 =3D dev_get_drvdata(dev); + struct regmap *regmap =3D p1->regmap; + u32 count =3D RTC_READ_TRIES; + u8 seconds; + u8 time[6]; + int ret; + + if (!regmap_test_bits(regmap, RTC_CTRL, RTC_EN)) + return -ENODEV; /* RTC is disabled */ + + ret =3D regmap_bulk_read(regmap, RTC_TIME, time, sizeof(time)); + if (ret) + return ret; + + do { + seconds =3D time[0]; + ret =3D regmap_bulk_read(regmap, RTC_TIME, time, sizeof(time)); + if (ret) + return ret; + } while (time[0] !=3D seconds && --count); + + if (!count) + return -EIO; /* Unable to get a consistent result */ + + t->tm_sec =3D time[0] & GENMASK(5, 0); + t->tm_min =3D time[1] & GENMASK(5, 0); + t->tm_hour =3D time[2] & GENMASK(4, 0); + t->tm_mday =3D (time[3] & GENMASK(4, 0)) + 1; + t->tm_mon =3D time[4] & GENMASK(3, 0); + t->tm_year =3D (time[5] & GENMASK(5, 0)) + 100; + + return 0; +} + +/* + * The P1 hardware documentation states that values in the registers are + * latched so when written they represent a consistent time snapshot. + * Nevertheless, this is not guaranteed by the implementation, so we must + * disable the RTC while updating it. + */ +static int p1_rtc_set_time(struct device *dev, struct rtc_time *t) +{ + struct p1_rtc *p1 =3D dev_get_drvdata(dev); + struct regmap *regmap =3D p1->regmap; + u8 time[6]; + int ret; + + time[0] =3D t->tm_sec; + time[1] =3D t->tm_min; + time[2] =3D t->tm_hour; + time[3] =3D t->tm_mday - 1; + time[4] =3D t->tm_mon; + time[5] =3D t->tm_year - 100; + + /* Disable the RTC to update; re-enable again when done */ + ret =3D regmap_clear_bits(regmap, RTC_CTRL, RTC_EN); + if (ret) + return ret; + + /* If something goes wrong, leave the RTC disabled */ + ret =3D regmap_bulk_write(regmap, RTC_TIME, time, sizeof(time)); + if (ret) + return ret; + + return regmap_set_bits(regmap, RTC_CTRL, RTC_EN); +} + +static const struct rtc_class_ops p1_rtc_class_ops =3D { + .read_time =3D p1_rtc_read_time, + .set_time =3D p1_rtc_set_time, +}; + +static int p1_rtc_probe(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + struct rtc_device *rtc; + struct p1_rtc *p1; + + p1 =3D devm_kzalloc(dev, sizeof(*p1), GFP_KERNEL); + if (!p1) + return -ENOMEM; + dev_set_drvdata(dev, p1); + + p1->regmap =3D dev_get_regmap(dev->parent, NULL); + if (!p1->regmap) + return dev_err_probe(dev, -ENODEV, "failed to get regmap\n"); + + rtc =3D devm_rtc_allocate_device(dev); + if (IS_ERR(rtc)) + return dev_err_probe(dev, PTR_ERR(rtc), + "error allocating device\n"); + p1->rtc =3D rtc; + + rtc->ops =3D &p1_rtc_class_ops; + rtc->range_min =3D RTC_TIMESTAMP_BEGIN_2000; + rtc->range_max =3D RTC_TIMESTAMP_END_2063; + + clear_bit(RTC_FEATURE_ALARM, rtc->features); + clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features); + + return devm_rtc_register_device(rtc); +} + +static struct platform_driver p1_rtc_driver =3D { + .probe =3D p1_rtc_probe, + .driver =3D { + .name =3D MOD_NAME, + }, +}; + +module_platform_driver(p1_rtc_driver); + +MODULE_DESCRIPTION("SpacemiT P1 RTC driver"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:" MOD_NAME); --=20 2.45.2 From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) (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 CA9FD2F5337 for ; Thu, 10 Jul 2025 17:51:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169882; cv=none; b=sq6UVV9m4H48pO5Ap5Sh5+M5TqyH4jkk/O6xJDsOeg3MOZ/exGzQrDTbVq+s9nbbPWJsv2pBI6/TznGCdFtV+766pCXMwOntbQxTaQ/0kgYns14VwsPwhFgWSc+V8sCXX12E/NjxMKU2s+f3oHNlglTQ7z3Tk17zPArRH5h0IpE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169882; c=relaxed/simple; bh=s5NHHbNv/ujgrIV/Cb3Li36tJwcZ44x/4V/i0tucfqY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=guX5CcmJ9LNvGurjR6py+VF0ITwTiCuJ1ZPUG3uozSufYkyep7fq7PYRHQrgyjWjs6idhjAGNdHYbK3fa0uXE5+91rvPLDwbxmxh5LOxc4mNcLOgaMsytXObdqPSVsqbjVWzrirq03NjjPvr68v/rcKp2Fc9jO1lNcd2lQnRlrk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=xw8s3dGW; arc=none smtp.client-ip=209.85.160.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="xw8s3dGW" Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-4a7f61ea32aso22765631cf.3 for ; Thu, 10 Jul 2025 10:51:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169880; x=1752774680; 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=F5l92a0u3aEn5H5uLHNniuYjNUr1Z2m83Q9b51ZTAqs=; b=xw8s3dGW+sf8fbTKzLZwKTnw8UwQcJ2eAJGaGpXc37GDSJVMMr3H3Y9sn0RXhIZlJH FUjflbSIZ7ZRwQJOcqN0UyuzfQVuxD0H81oqYTabDGBz/ZO62fpxMYxJYdrfaMi3hLFs jHVOvyH1yeaFrtmt9envnyZiUqsye7aI+XYYVneT1Sk39Ved0SL2yAzfvnaZHWoEKF+/ RgD7lTKVFleSWFN05sJDzfuMKgHTboksJCFgmyvp/F4fycS2m0g35rINWfvCJdMjBEo0 M0B2eMwK+LBPRvHpZy9PEiYaXu703JHzBw4l3J7THAUh6s0aOKnQrzASbzy9CicTNdaU rZIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169880; x=1752774680; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F5l92a0u3aEn5H5uLHNniuYjNUr1Z2m83Q9b51ZTAqs=; b=ROTkIhj7J8u6DN1eTKi/ozKLJJ7ouGVX4QUT1NarlwgGAFSqeweWB/7RZtlXdM5kWz NShPL1vJvP2L5bZBSCQRMYv3PwBTzD+nD/Ge0cvjkTFNtJri3zGiXsrysoN+B/+nknuk JZ2M/8R+pQ7vBltHmgk07yO9kfiMUZ0Es00B2UpzamCwHsqZSpKSC7mO0+LT+FXdc1s8 PaP/QTmBIHyJVfoCD3nXqI/wsyn4bGVudKei+gsJkqI7XT3jLQbdHWS6fXxlQayIWbm2 9OA3zcvpth6tC7c4tlCW0SdnbAXmlPQiG7ZZ9DqLTjyr0viR3GLR7kKimJnNYQQoTTdH eCLA== X-Forwarded-Encrypted: i=1; AJvYcCWsH0U4xHfskf5CpLr5e7KJVlbpBzamHeXHk7je09gYrOKqF03X5cqP0mdRcNGpdENvyP39mjwI35ZxJd8=@vger.kernel.org X-Gm-Message-State: AOJu0YyrZhbK37WY4PfD6FL20X9HPB88dHWsalM4vi3CZ/h/snXqmSkh U42QN/eG+wrYfVSqqkkO+wasZgt+2J5IsDeitnAKZ41EUadiNLCeOPWTy9K8UXYUwzI= X-Gm-Gg: ASbGncu/vn6cbysNURe+K6tub08bsE49MHCZPbUPVqFWTBq5s4p5aTs9l5hIiL5ZUBh p5jq3n7JRB2ZQnOhANExmwVYGxoQQ4WgKVcHrppdbcJdOxB1QOVPdXGPfp/uuex5LUFp9Iqdgfe 97L+nppHuGS69jSJzUcIaMXjBKaThE6Tp0Dd5LR7GL+Vyg/zpJE1pkB3o60zCfuj3o03ZL/N6eZ mRhpmufv8785xDy0BQBm8xkmuXOFPY+yomLVb9utOJ+hCtDgSLnf+W0h2QBSg3vgbM3pAmTFE+Y 8+2SeYzrF/Jzt71hUcC4NGnrUTYe9Gwf+Z/lHUa7XfmM2mc2zYxqiSbdEnQuE8JKiv8junKbbbV CzxiUmBQxlnXm0kByQt3BRIkGLzuuiLNz+Sg= X-Google-Smtp-Source: AGHT+IG+gA6k2s44x2USnRDQuKJqGd3W7ZyAlmp/eZAKTxA53qYYitzNYMjkTmaqX9EZT28ElFOI6Q== X-Received: by 2002:ac8:5d94:0:b0:4a4:3b41:916c with SMTP id d75a77b69052e-4a9fb88f9b7mr4651941cf.17.1752169879757; Thu, 10 Jul 2025 10:51:19 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:19 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 6/8] riscv: dts: spacemit: enable the i2c8 adapter Date: Thu, 10 Jul 2025 12:51:04 -0500 Message-ID: <20250710175107.1280221-7-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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" Define properties for the I2C adapter that provides access to the SpacemiT P1 PMIC. Enable this adapter on the Banana Pi BPI-F3. Signed-off-by: Alex Elder --- arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 15 +++++++++++++++ arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi | 7 +++++++ arch/riscv/boot/dts/spacemit/k1.dtsi | 11 +++++++++++ 3 files changed, 33 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/b= oot/dts/spacemit/k1-bananapi-f3.dts index fe22c747c5012..7c9f91c88e01a 100644 --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts @@ -40,6 +40,21 @@ &emmc { status =3D "okay"; }; =20 +&i2c8 { + pinctrl-0 =3D <&i2c8_cfg>; + pinctrl-names =3D "default"; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + pmic@41 { + compatible =3D "spacemit,p1"; + reg =3D <0x41>; + interrupts =3D <64>; + status =3D "okay"; + }; +}; + &uart0 { pinctrl-names =3D "default"; pinctrl-0 =3D <&uart0_2_cfg>; diff --git a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi b/arch/riscv/boot= /dts/spacemit/k1-pinctrl.dtsi index 3810557374228..96d7a46d4bf77 100644 --- a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi @@ -11,6 +11,13 @@ #define K1_GPIO(x) (x / 32) (x % 32) =20 &pinctrl { + i2c8_cfg: i2c8-cfg { + i2c8-0-pins { + pinmux =3D , /* PWR_SCL */ + ; /* PWR_SDA */ + }; + }; + uart0_2_cfg: uart0-2-cfg { uart0-2-pins { pinmux =3D , diff --git a/arch/riscv/boot/dts/spacemit/k1.dtsi b/arch/riscv/boot/dts/spa= cemit/k1.dtsi index abde8bb07c95c..2a5a132d5a774 100644 --- a/arch/riscv/boot/dts/spacemit/k1.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1.dtsi @@ -459,6 +459,17 @@ pwm7: pwm@d401bc00 { status =3D "disabled"; }; =20 + i2c8: i2c@d401d800 { + compatible =3D "spacemit,k1-i2c"; + reg =3D <0x0 0xd401d800 0x0 0x38>; + interrupts =3D <19>; + clocks =3D <&syscon_apbc CLK_TWSI8>, + <&syscon_apbc CLK_TWSI8_BUS>; + clock-names =3D "func", "bus"; + clock-frequency =3D <400000>; + status =3D "disabled"; + }; + pinctrl: pinctrl@d401e000 { compatible =3D "spacemit,k1-pinctrl"; reg =3D <0x0 0xd401e000 0x0 0x400>; --=20 2.45.2 From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) (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 79EC92F5487 for ; Thu, 10 Jul 2025 17:51:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169884; cv=none; b=M/Q8YQ5/YIwCUYH00gvqdOZ1eWGUv5hG4Tw6w4ho1VGf4s+im9kxPNEUN4ZYlRBLesv/hmlWHK5O4GR6YZ7WzsDwsEJgvnn6Ux0QD31ba/zQiaRvCC7O5de4nMUxWHgoYs7GCaO7jeDSBOc8AW++0+GvaYp2EabXQCjjnbcPR8A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169884; c=relaxed/simple; bh=E/I9W6fX+DhSmsmtI3yC9YfnKc4TowcG2XvObw3IonQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mHpOq+N2B5CxLGlW8JOk/K8VXmiN20a+XTKZmOD3GFS5Rx9uZbs0/AabAYY+1c1rKs/h+hq+Ku9joJfSKZ4ne62Ztw9+1QZTfEedjgF6dhUJHg4UE4lVVuoWzh4Q+M4A9CfBkOO1zR/UK0hB3j4lOIiTIQFuM2f9LV/btsB5gyY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=yowRgb65; arc=none smtp.client-ip=209.85.160.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="yowRgb65" Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-4a44b9b2af8so8711291cf.3 for ; Thu, 10 Jul 2025 10:51:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169881; x=1752774681; 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=bpaBoGbv3UwS2ctJ5MNrLd4WnRBIdXYjgTh8qQmsLHk=; b=yowRgb65dlYl1UwLNtYu5kyk7CABjg+hzIqxKhirf90/AmCf0nUnWdEler/8E4QQfJ hlRbR93GHuILIsm49sGSiWTAKJ9KxMwwCzwiOzjED4xTbS2TCN2q221S7ZLOz+nUAvia 9YNxSFYm9fCxIYy/Prpnj5Wm84vHI/cvsdMyV98iilEazXOfugHf4rg5uCrf1fCqBV96 lg+fZZU0Ls1TZAtZ1amP7vP4t5XqtkqOKAa3I00ed1I29CbACFaot8XDyHokUxKeAUS/ g8LkCorvKRLPtfTPMZgJODf5UgQORHjWgsAP/tWD/nmUQUNUlUtCXvRhtMM7n7x3pTli iQ4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169881; x=1752774681; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bpaBoGbv3UwS2ctJ5MNrLd4WnRBIdXYjgTh8qQmsLHk=; b=qT7MNcgTfBAz5R1YevlexIvKWkjK6jvoqlIdCBuui/5vu1YHLnMoWE8w0usg9fevZM 51h9dnl+QcSsxplrbgaQz6knuhOg8oKXx0xNrsME+B74S93+WsiTs2pfB3TJsp64jLwu ytqxAbtAXN9M6o7PfWrtmilCQIol65bLQ711z1SLG2EQhX56mqpE5luIpPQvp9L5+GAh F2ut7JIN3+7Omrw7zMGK836H6piZWeK/U6H3VMWJYEUPXpVH6rDHN0G0ftgxQ2kX4ZuV qQC6dr7fbkY1LuRVgSgzwKo0NHIcIXhR2LIcw8f9CydOSFIaQkusPnJ1H4L2Bdbsk5ac OACg== X-Forwarded-Encrypted: i=1; AJvYcCXtashgFBrynJCioNIAR4bEF2FdATsK+a1e9i1c3AeKQUm+VY16k8suDsvh55e4+g2uYdMMMFN2vPJBstA=@vger.kernel.org X-Gm-Message-State: AOJu0YzTiX/2dnz8NK64Ce/m0wPvExJXMg7zKIMoiXHyC5xBBNVUAr/S 58DbjdhRjJYe+DYRaznuRzBGk6Tw4/ztZS1kbVWrQBM8omiED57SbiTldC+5Oz//aoc= X-Gm-Gg: ASbGncspv+mgEqSGPZI90WJcaevhW9akfTH1hzFPLb1ALC6221qLMbSWxY37lhjuac8 Co5I+V/DqxbF831zPFKLGxWhSq7iLoeQV0iXsJM3H2iaheL/gDgdWakJREpqE/Gd7MZIpGdLrwr HoPWbetTtoJkzN/AHa+viZokN8nvJEOwxBL3FCDHKZ8nqtBk3zWLEN66uJ9Wmrlz81xyVSzsLrJ usKhy8AlXMuyVPdtCjjGmsdUQ8xMHQWemilowpfrmUKwF0y+NsbxkZwK27XQGbErd7y5tNxDX60 cgOFo9HLq+XN8rK5ZifkkT6DL58TDm1JHWHqi5zqcP0K0aBbztsBoUYVwaBdAN6oe1xrWA8phFT +ArEVCSoIev1QFnmdr3lw2pBj85IlMyWD1dI= X-Google-Smtp-Source: AGHT+IHBaLoGy+mXI82bk9r9JVDCOAUDtCda2f1J3UcRVBL1tXN88/2gwPEvHSrFuX0VVuYTud0GuA== X-Received: by 2002:ac8:4e07:0:b0:4a7:7b5c:90a5 with SMTP id d75a77b69052e-4a9fba23006mr2458881cf.7.1752169881236; Thu, 10 Jul 2025 10:51:21 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:20 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 7/8] riscv: dts: spacemit: define fixed regulators Date: Thu, 10 Jul 2025 12:51:05 -0500 Message-ID: <20250710175107.1280221-8-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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" Define the DC power input and the 4v power as fixed supplies in the Banana Pi BPI-F3. Signed-off-by: Alex Elder --- .../boot/dts/spacemit/k1-bananapi-f3.dts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/b= oot/dts/spacemit/k1-bananapi-f3.dts index 7c9f91c88e01a..a1c184b814262 100644 --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts @@ -28,6 +28,25 @@ led1 { default-state =3D "on"; }; }; + + reg_dc_in: dc-in-12v { + compatible =3D "regulator-fixed"; + regulator-name =3D "dc_in_12v"; + regulator-min-microvolt =3D <12000000>; + regulator-max-microvolt =3D <12000000>; + regulator-boot-on; + regulator-always-on; + }; + + reg_vcc_4v: vcc-4v { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_4v"; + regulator-min-microvolt =3D <4000000>; + regulator-max-microvolt =3D <4000000>; + regulator-boot-on; + regulator-always-on; + vin-supply =3D <®_dc_in>; + }; }; =20 &emmc { --=20 2.45.2 From nobody Thu Sep 11 11:59:54 2025 Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (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 F073E2F5C2D for ; Thu, 10 Jul 2025 17:51:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169885; cv=none; b=sIFPHjyfJVrf97dsc0/r42VR7HjbWSd59119qC57TLFNTC5nN8wcpPvXJBqVnjx50OE0GW+/K7/f/nhVNilV61zT/Sts9+dpMEvlNmwCY/PZ/L9GWDRKfm0ahCOCH5PeB7ysWh8SzKMNrpW4lffS7SQAsHiA37X9/Wjc29zCC2Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752169885; c=relaxed/simple; bh=WGruvn+Gqs/wHzBEiTs0RVm377PpbfSqb1Lgjf4ooI8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iOlaa1aHTpqDKCjI+6Bc9t2oGxD68P7bC7Uyx0M0iiZ6dgWxjqaHGNwdxaAoxi7ryAolfLHRau9+jTFE1L0dbQNLjyfLZ5R+K1u5QCdX5z43stNxPZJwcTbkRdM1bZT7UC//mtoNdSAvA7b+QoOTbJI4piLAf6QUt3u82fKZbD8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b=ozX2/iuD; arc=none smtp.client-ip=209.85.222.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20230601.gappssmtp.com header.i=@riscstar-com.20230601.gappssmtp.com header.b="ozX2/iuD" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7d3f192a64eso128486485a.2 for ; Thu, 10 Jul 2025 10:51:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1752169883; x=1752774683; 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=ihUO+G2zPvFD7djd8+4VxSPuuLI+GNqieXaQtnBxio4=; b=ozX2/iuDyCuB+v5l0BCwyVlnRu8gv9qCQxXNMGRIDSUoMrml+KZdeGKPq8F67fCQMe 3Ojk/yKCAZFLNmj9f0P4tHDkiAHfxRhryI9pzUDoC2j7aCaPXHg14Raphd6ixY2kSREY moRSkncj14rpddVXYBFcsro+77BmwC9OkbRDB5fVSwQWOtKmmoYL6BgH6pi2k8b4TSSe 0AQOh0Jfx2yFyQ8RXLOqznejjMyHZAD9S8uW2fW9DmQuBGLoCyrEOORiaSMVHTtPupnB XwAT4T+EweeDSfLdMCaa+HInmgVMhVIJZgoTrOMCurST/ge8Yvs8P3IVIMcjvU1ENJOe A/ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752169883; x=1752774683; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ihUO+G2zPvFD7djd8+4VxSPuuLI+GNqieXaQtnBxio4=; b=TPUxv3Si3VvoHdqwiR/QN5hH65EPIjWHn63NHUF91K+pmKbhxrs+VDG/lXUr6U57wk uFfSSuDReO6EX09yS1UcCFFXMJF0ZiOvJ4s8Q1fWm0IuodUtDzXIVUxQxgdLUPkv/R9t 3InGudTYGAeMqU+q6DyqUASr/BdJbxSWC0vXQS+YHaXwSobPpbMH1jWwlxtM2d8t79MU vw9pqLM9llwqoWzRlEOE7fhG0SIQziTo+Xje+ARdIR0hJWPvxaP60CsoBm9xwOocRFl/ 4LvenKskx8qxQaLJMkpSQ7115xB/b0VcdcTo5Gb5TqLYfNI7Sug3Ig3aLB6j6KXAXcuB HXbA== X-Forwarded-Encrypted: i=1; AJvYcCVb2LVsMEa67HZeYZV58U0SmZwbHuswOX/17eqFGLnNFeThRe0DUk4CAyY/fY7sPzzfYKsCgB08w+WZvj4=@vger.kernel.org X-Gm-Message-State: AOJu0YyF9yeU/rtDfOS7xOOFQQfDnvykrBp/vFLJrtyglOHw2aikpkvb 6Vo8yW1N3UtWgda9FFnwMwxaVGwu5O/hAcYfRgrkndNiHvrdmVbt9Ho6krruPYtK8ZQ= X-Gm-Gg: ASbGncs4kmNdnF3+RAUQUi/xZwAeVD6L1UpYeV+vTYZkXw5W/AHRKx7sXueeF3RadUy lL0BJRxrGa8xfuSAs0u/7m8sXbGcDC5+FDZ82rJEEi/ILVQAYk7SSTmFaD0S4fyC9KJyJLJQZEs d5sAR1QavgAFqKEtK6+GY/E/tnyzg6XPPPplP5kyaR3n20S/ry2nWRuCG5UFMeUc2mVP11owFuY oL5amIgBX1ZT9qccl6gHX/cDmJW1QhR/KChR+OGewDgCoNGLADv5BGAiUTVRHmAUjsiTHzLYmoZ DMfaUi5gTLg8HK7GZlwzCcybikb03DdG0v1GGfMNRcuqhm0H6bSWoKa/JY4ruObeKOXfsdwJYtZ fFFx6ovkFb2thtDcKf2PnSsi0koBxdCQThPJftPVjXbUmaQ== X-Google-Smtp-Source: AGHT+IEoaJ/MKPD+CK7o2MydxVCmaO05jGvY7/XoDfctFPCiw8+3wLCGeJ2afHZxnC3BYh2lChbupQ== X-Received: by 2002:a05:620a:4450:b0:7d6:f801:ed52 with SMTP id af79cd13be357-7dde9b5ef8amr61941285a.2.1752169882818; Thu, 10 Jul 2025 10:51:22 -0700 (PDT) Received: from localhost.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9edeee300sm11165941cf.73.2025.07.10.10.51.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Jul 2025 10:51:22 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, alexandre.belloni@bootlin.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mat.jonczyk@o2.pl, dlan@gentoo.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v8 8/8] riscv: dts: spacemit: define regulator constraints Date: Thu, 10 Jul 2025 12:51:06 -0500 Message-ID: <20250710175107.1280221-9-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250710175107.1280221-1-elder@riscstar.com> References: <20250710175107.1280221-1-elder@riscstar.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" Define basic constraints for the regulators in the SpacemiT P1 PMIC, as implemented in the Banana Pi BPI-F3. Signed-off-by: Alex Elder --- .../boot/dts/spacemit/k1-bananapi-f3.dts | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/b= oot/dts/spacemit/k1-bananapi-f3.dts index a1c184b814262..83907cc1d5ccf 100644 --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts @@ -70,7 +70,111 @@ pmic@41 { compatible =3D "spacemit,p1"; reg =3D <0x41>; interrupts =3D <64>; + vin-supply =3D <®_vcc_4v>; status =3D "okay"; + + regulators { + buck1 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3450000>; + regulator-ramp-delay =3D <5000>; + regulator-always-on; + }; + + buck2 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3450000>; + regulator-ramp-delay =3D <5000>; + regulator-always-on; + }; + + buck3 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1800000>; + regulator-ramp-delay =3D <5000>; + regulator-always-on; + }; + + buck4 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3300000>; + regulator-ramp-delay =3D <5000>; + regulator-always-on; + }; + + buck5 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3450000>; + regulator-ramp-delay =3D <5000>; + regulator-always-on; + }; + + buck6 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3450000>; + regulator-ramp-delay =3D <5000>; + regulator-always-on; + }; + + aldo1 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + regulator-boot-on; + }; + + aldo2 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + }; + + aldo3 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + }; + + aldo4 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + }; + + dldo1 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + regulator-boot-on; + }; + + dldo2 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + }; + + dldo3 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + }; + + dldo4 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + regulator-always-on; + }; + + dldo5 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + }; + + dldo6 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + regulator-always-on; + }; + + dldo7 { + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <3400000>; + }; + }; }; }; =20 --=20 2.45.2