From nobody Fri Oct 10 09:21:33 2025 Received: from mail-il1-f174.google.com (mail-il1-f174.google.com [209.85.166.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 EBDB723E356 for ; Fri, 13 Jun 2025 21:01:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848519; cv=none; b=Wh5L4Z9YJ5Hg/Ucs8G/ghdNWT9VrUqssF033x8AdaPkNFqLjcrNV/Co93lcugV3Yzs/Ph6Ovg1U2v8G2+HQexZMyTfx5Z4sV2OFL0Oewea2OhJoK6QOV/jbPUufrqA+YsEOdRR2r1GN7RkF+g1EO6pCgnsKGr/OUSIsPNJbZlgk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848519; c=relaxed/simple; bh=M3WU8j8D3ectPH33ard93KigKB3ohcn/1yhzmCZv54c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Fd3V08sgbe8QEEaJ/gXJLPmz8U19gUcWRO8PhZ1PjlpjAsouCWiWhghoNjMIfSuNJGnpOtdmLw/zccDtBwRdKDJCbNe7OcUpPnKSxJkdKUylYpbjLKNRBhNSCo/oE959twIkyK80qRNI9yrRwtvGcSwfJShoYYvGRFJJJXIRN58= 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=jXJ30FtQ; arc=none smtp.client-ip=209.85.166.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="jXJ30FtQ" Received: by mail-il1-f174.google.com with SMTP id e9e14a558f8ab-3d8020ba858so26849125ab.0 for ; Fri, 13 Jun 2025 14:01:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1749848516; x=1750453316; 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=3+0/C0PNGm7MxpNKW6kFIim9vzj9ziDhSWBIAnwFt1E=; b=jXJ30FtQJHsfdioDBpt8kwddW6ytzcHOQHy2+pglxOj2HFs4l5AHO4zGvHcynbccWd tvXpGg0nJyi6ywMCGcvG9tXQD9un8aXpMYJyM6ntipivPnpF+ucjTv2JNNG6QIpkt7Ub u4os6HiylYtm/uYpvziE1YVotJd03MNZDBJrmOMNLLtAyG2pH6ojBduFjWP4fg2f5TnQ OoOc1HSOSrEhO3KO2qIBzC9WIXFv8cZlNyOLfrFvVzh8xe+fi8mJgibWZffHfzMgAuo9 ULCfLSpRhHN3wHEQkQ8F8YMbRIXuZO3IiARu2BWXPpdWhyEHu885eYQb614KzMKyh1HT 6PgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749848516; x=1750453316; 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=3+0/C0PNGm7MxpNKW6kFIim9vzj9ziDhSWBIAnwFt1E=; b=F6/3Nsf8B5oM+9BaBVvPAvcj8xv6S17zIaiBfewre82n7AuyPVm93NGpmjQHkPfnck nrkRT284eM2hGNlbz5LhBuRF+byDa0c0Wq6WUWqLxmudZDVub5dwvqVdnFAkeb+39+Y/ 5tpa6ywz1phj9vAaAp13QY6U+Blze9Ga6QLzNamZZcCpgRWIpK/lnO5jxiIWM8jLN2F3 Lpr9gRhD2RUSvXaMMXWCvWBeVLYOngXGWHK+03CEvfqWyq90nziMwXaryJEPvvYjG/JL mhgb/CsvDtFre6063qJNLotIIZsp5gSU4I+YCnEfNP7O0Gd91SwJOyAE3TZUmHaGpSgX oSyA== X-Forwarded-Encrypted: i=1; AJvYcCXuipj/VxFbFaVVETDG5tbk1NhZARsM4hNgchve6jx45QcHcIcJz82qx6PxijzsrcQWcnV92N8V3cOjNk0=@vger.kernel.org X-Gm-Message-State: AOJu0YwbZwgk6mGZt1z6weOykOxYdDtr7914tCCUXFC4YYD/Lk7zgtKj w3cCtjRj3hPqDJvJ6/msSc3lRPGGCBWDhVSPoByli42R2jFNExjJC8w0K+vGBRtRpuI= X-Gm-Gg: ASbGncv5YtS9pYlJcAhNOxpqP9icCmqaqdH1eBVJtqdPSQX5beqzweI1GbQJm2aIQDf +clynYBm1iFbzrczycbh+hh4f2YcnuMa4FJRnq5QcWotRy0ak2WdmovqDudkNCHNoR3QXxIEYj5 BDRiNkTe6RPqnIevbcBKObIehPqxxeqGhQCtt5rosRADH5zgi3JeRuKJVwAqK+JaIJTd2bt5dBb PXn04zvPy5SXy7G0mDblsXyc7Oyzzpsod26JxHfxzdlIMCyhJLCwpNafnJ6FMmA2GnKh1OZraiN U79NCBd5ja51n9It3Yp7y/t/IUJ6KVNKuzOyyne7ueB9NQ1qy/mrxwLIeiLAt7pC3LyZxr7mS2D 5kaYD8jH2l33iEKWbzfxIXS3gANKVZ34rwBaXnjU98Q== X-Google-Smtp-Source: AGHT+IEAOZ4barh42QKEXjGCUuoE1CDyPc/l1EZnesaJ69ndQkqwdIOJcioQ8OP3PoKFNIqk9kUDPg== X-Received: by 2002:a05:6e02:184b:b0:3dc:76c6:436f with SMTP id e9e14a558f8ab-3de07d018b2mr17478295ab.21.1749848516110; Fri, 13 Jun 2025 14:01:56 -0700 (PDT) Received: from presto.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3de019b44b3sm4996315ab.10.2025.06.13.14.01.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 14:01:55 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 1/6] dt-bindings: mfd: add support the SpacmiT P1 PMIC Date: Fri, 13 Jun 2025 16:01:44 -0500 Message-ID: <20250613210150.1468845-2-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250613210150.1468845-1-elder@riscstar.com> References: <20250613210150.1468845-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 we only the regulators will be supported. Signed-off-by: Alex Elder --- .../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 Fri Oct 10 09:21:33 2025 Received: from mail-il1-f177.google.com (mail-il1-f177.google.com [209.85.166.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 7C30A2550A6 for ; Fri, 13 Jun 2025 21:01:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848520; cv=none; b=H1Jgyg8H4bIPW8cN9jDRst8IHhl/iEDWh3H4fWF1Hc8mWV4z6AYAqy9b6hJx2Ii1INkXOZIHIyW5GHbsXNhiNd2s/m+xI5b7YnRNu+MW6XY/hsVXighjDLcqkdCSeP+YtmqX2RiQ8CQEyldB/Pvt4KdJ8s8yzbZv4iHFpbOR8vM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848520; c=relaxed/simple; bh=/NCcF6YCEJOyMhiP8ip3TX+vLuixILptGte5tycyhEo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JzfKZ4D1HzrRGLRPHYKmUBmxrSFHk3saKHC6YrX6te2X0qbR93/QqUvvZwRrzZNiYiNW4l8VN8P+vSZskMvzeBplQevkqYUuTjPCTJj/e07F/Y3wejxE2VT8EG+Qn/BqJ73sYUniMjAetSFt95kxPnwfhVOPqB9KlySHZjf8ZL8= 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=imr9ptHs; arc=none smtp.client-ip=209.85.166.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="imr9ptHs" Received: by mail-il1-f177.google.com with SMTP id e9e14a558f8ab-3ddd2710d14so20585755ab.2 for ; Fri, 13 Jun 2025 14:01:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1749848517; x=1750453317; 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=gi6K0d2gbDCkO0xyzWEymKA3zwyl78Rkz9g9qNQNf5w=; b=imr9ptHsCKAjWiCwfOH3mXOVepAoPTEjUV6szCuuSsVwlpqzaQq/Ytu/2CQjWQodAA thjtP7jkCE+t2ChRwfa0rM9pDH5Vb8tEPo1G1T8yQ2Al2pgLUJBpL2Hvz3iEfFrE6gVo Nzq1jXgAVI+KcDUO8yuN72NRDUscWEQE5XcNclXKyZAEe/xTI1VG+zF5X73OU5iMOMxP wJhHQFUaTAfFD8wxeGlGR4Qj4+58Sjx0a7xfYuQfQlICw7h6Gd7u78QqHCTXhTMGHHUq +NEe3+so8S0BeqIyOGgxxd1M/uN/i2v0ClH7DNCG8418BtDkgsQkSKToA3eJPG6nslIC cSyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749848517; x=1750453317; 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=gi6K0d2gbDCkO0xyzWEymKA3zwyl78Rkz9g9qNQNf5w=; b=hiucawPvCti1fDnzNta6SMQmAYTpNK4Xl28HiI/btksOmL3EeMmBCo9A4OqSCXe5OC o4f2j7EX7m93Y7I7e6iJcwIocCzvQnoT2t6waU8oZcvSKyXAtWGOYaol/lzcA/hAIPj+ VEdZfP0xKZP2wJ2n/XXTIlv99tm3He7XroZjhRGUpRsWskQZWdbZPipoPLg6B+8Mf0zv yaueoclsrIlsP1401dABeNdUVkdlXhNv4ZBO+jlUMp7uRDFjjNfYaC0/6EQwU/iwfIQ0 Z1J9v1t1MVmGmWuXg0vC6TZSMUEDkFR0ZxMRg8DQXqH8gdo+Z3iJCpytaulXLRUrxpx8 uAhg== X-Forwarded-Encrypted: i=1; AJvYcCVpTh3ekFgVw3xak1MHtUNef3YKvrJTX1UDmPcjQP05as6ONL9/sn6lNCEOtanwAMPHupU/Js2fIbMyRzk=@vger.kernel.org X-Gm-Message-State: AOJu0YyPh+8TZmb6HbeENl4Lbg86TdkS74mKok39IW5ET3anVu8TMgRf MwtIzjTYuQthjSBjRMKUShgpZq/uuMza7djbXfQJ1/h6FSPsvLUR601KWWiRbhbFTsc= X-Gm-Gg: ASbGncuMH6X6J8OjgDOjqXTMIDd90ytjRiU1oLwC8nLl4GkbD+gnWB+hgouWFGf+PyC ac6MuPieygTXfLEAy/iXojwR6kg0pSOnu2Ht2qsQnU1R0olm/BR2kwIfp4mOUXG/7ahAra0+S6V SUyQJQRb8cTWxnePD6cAjLcB5fERkGGTkoCJZ0Ps7XPIasJG3sGL0168NCics3YTseVD959jHT2 foWFLNoCC8m0SiFsQ6oBpYZVuTLM4EB0tYXtduFM3hs2s4hADyFULi+7U2cPrMeshFM/U95J+ZX ohzg7BwPnxzHjs+fW/1AkRHgkVp2rpu1tXuk7AvrSu/EHOgMdmvOCmNycIMjoKn2EXzSqE4LNsx CB0ahUxh0Kx1/p1827MrXgbKb05/+40w= X-Google-Smtp-Source: AGHT+IHYzBl71DO7p2Gah6d5B9SY/cCvwoxopRRBUcIrRK0VYAC+l9zq9ORsJh/cQvfo3p6WSG2YAQ== X-Received: by 2002:a05:6e02:318a:b0:3dd:cb92:f148 with SMTP id e9e14a558f8ab-3de07cd16a2mr15293465ab.12.1749848517617; Fri, 13 Jun 2025 14:01:57 -0700 (PDT) Received: from presto.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3de019b44b3sm4996315ab.10.2025.06.13.14.01.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 14:01:57 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] mfd: spacemit: add support for SpacemiT PMICs Date: Fri, 13 Jun 2025 16:01:45 -0500 Message-ID: <20250613210150.1468845-3-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250613210150.1468845-1-elder@riscstar.com> References: <20250613210150.1468845-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 SpacemiT PMICs. Initially only the P1 PMIC is supported but the driver is structured to allow support for others to be added. The P1 PMIC is controlled by I2C, and is normally implemented with the SpacemiT K1 SoC. This PMIC provides six buck converters and 12 LDO regulators. It also implements a switch, watchdog timer, real-time clock, and more, but initially we will only support its regulators. Signed-off-by: Alex Elder --- drivers/mfd/Kconfig | 11 +++++ drivers/mfd/Makefile | 1 + drivers/mfd/spacemit-pmic.c | 91 +++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 drivers/mfd/spacemit-pmic.c diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 6fb3768e3d71c..c59ae6cc2dd8d 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_PMIC + tristate "SpacemiT PMIC" + depends on ARCH_SPACEMIT || COMPILE_TEST + depends on I2C && OF + select MFD_CORE + select REGMAP_I2C + default ARCH_SPACEMIT + help + This option enables support for SpacemiT I2C based PMICs. At + this time only the P1 PMIC (used with the K1 SoC) is supported. + config MFD_SPMI_PMIC tristate "Qualcomm SPMI PMICs" depends on ARCH_QCOM || COMPILE_TEST diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 79495f9f3457b..59d1ec8db3a3f 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -266,6 +266,7 @@ obj-$(CONFIG_MFD_SUN4I_GPADC) +=3D sun4i-gpadc.o obj-$(CONFIG_MFD_STM32_LPTIMER) +=3D stm32-lptimer.o obj-$(CONFIG_MFD_STM32_TIMERS) +=3D stm32-timers.o obj-$(CONFIG_MFD_MXS_LRADC) +=3D mxs-lradc.o +obj-$(CONFIG_MFD_SPACEMIT_PMIC) +=3D spacemit-pmic.o obj-$(CONFIG_MFD_SC27XX_PMIC) +=3D sprd-sc27xx-spi.o obj-$(CONFIG_RAVE_SP_CORE) +=3D rave-sp.o obj-$(CONFIG_MFD_ROHM_BD71828) +=3D rohm-bd71828.o diff --git a/drivers/mfd/spacemit-pmic.c b/drivers/mfd/spacemit-pmic.c new file mode 100644 index 0000000000000..7c3c3e27236da --- /dev/null +++ b/drivers/mfd/spacemit-pmic.c @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2025 by RISCstar Solutions Corporation. All rights reser= ved. + * Derived from code from: + * Copyright (C) 2024 Troy Mitchell + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +struct spacemit_pmic_data { + const struct regmap_config *regmap_config; + const struct mfd_cell *mfd_cells; /* array */ + size_t mfd_cell_count; +}; + +static const struct regmap_config p1_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + .max_register =3D 0xaa, +}; + +/* The name field defines the *driver* name that should bind to the device= */ +static const struct mfd_cell p1_cells[] =3D { + { + .name =3D "spacemit-p1-regulator", + }, +}; + +static const struct spacemit_pmic_data p1_pmic_data =3D { + .regmap_config =3D &p1_regmap_config, + .mfd_cells =3D p1_cells, + .mfd_cell_count =3D ARRAY_SIZE(p1_cells), +}; + +static int spacemit_pmic_probe(struct i2c_client *client) +{ + const struct spacemit_pmic_data *data; + struct device *dev =3D &client->dev; + struct regmap *regmap; + + /* We currently have no need for a device-specific structure */ + data =3D of_device_get_match_data(dev); + regmap =3D devm_regmap_init_i2c(client, data->regmap_config); + if (IS_ERR(regmap)) + return dev_err_probe(dev, PTR_ERR(regmap), + "regmap initialization failed"); + + return devm_mfd_add_devices(dev, PLATFORM_DEVID_AUTO, + data->mfd_cells, data->mfd_cell_count, + NULL, 0, NULL); +} + +static const struct of_device_id spacemit_pmic_match[] =3D { + { + .compatible =3D "spacemit,p1", + .data =3D &p1_pmic_data, + }, + { } +}; +MODULE_DEVICE_TABLE(of, spacemit_pmic_match); + +static struct i2c_driver spacemit_pmic_i2c_driver =3D { + .driver =3D { + .name =3D "spacemit-pmic", + .of_match_table =3D spacemit_pmic_match, + }, + .probe =3D spacemit_pmic_probe, +}; + +static int __init spacemit_pmic_init(void) +{ + return i2c_add_driver(&spacemit_pmic_i2c_driver); +} + +static void __exit spacemit_pmic_exit(void) +{ + i2c_del_driver(&spacemit_pmic_i2c_driver); +} + +module_init(spacemit_pmic_init); +module_exit(spacemit_pmic_exit); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("SpacemiT multi-function PMIC driver"); --=20 2.45.2 From nobody Fri Oct 10 09:21:33 2025 Received: from mail-il1-f170.google.com (mail-il1-f170.google.com [209.85.166.170]) (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 0E6562571BE for ; Fri, 13 Jun 2025 21:01:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848521; cv=none; b=Rf+FQ7LJhkVuckN1ULmaF1hbGqDZx312rtQzpReGG3y+U9mW74mNXB+62bgEwdHipQK1eihQhmKUQXh1SxAulz02PIOrfMPf6iNAZuCIcNgz9QsKrb89fqOkTLe8VastgLuNefPC0aeyvhFZlqQUQPoi06ftd8Rex5mfs/ELyTI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848521; c=relaxed/simple; bh=b3Huas1W0oVKaoxL9uBJ2vP6fLeAOfS4lRPBYTXCaPw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mVTtdgVTQWUk1Rhj+ZSpNTyCkrdwXMC/Kr3/yWQpVw+pFw/jH5AoOsN4/TPk328msDaTE7GOqEKsgH4PzSTMehF9U8DBc4qcq+NBFDtvTxFOaQyPuNPT/rkSIE2k8n9GCo6J/wIFnITJ/XZRVBBYiai+jCDQASq1XbhEqMBh36U= 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=MFcYXQPd; arc=none smtp.client-ip=209.85.166.170 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="MFcYXQPd" Received: by mail-il1-f170.google.com with SMTP id e9e14a558f8ab-3ddcbe64d0dso22737455ab.3 for ; Fri, 13 Jun 2025 14:01:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1749848519; x=1750453319; 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=bayV79zaWlgDc/UJx6Jb5IeLhP0HuWPwi77b5RVh27g=; b=MFcYXQPd+Dwx48f5fyAj4YOGAx8DxhY/3g+jZzzikiLRcKTx18qPlX/2/KReKjHg9b eHy36hQ5Wy9ffrDZRdPtGA4kF+t2yyc+b1p1cdfC9+WY3J7NSqMzesJ76L2aU9r0y/X7 1QuXODE/2qkOa/d+l064SoAF7j5pTTHEJC2SBeYZtLNBZgbEqjd06r15z+muJhtddZwN NJhPwZrwGv+jzkqA3wbu/bcxYRTGc9DXTXk0rwo2IFD3sgkAPiwT4pqJ1SRoWHfKGck6 Z0ZbV5+izuZR0v53ZEpAxP7vvYPh0wqd/GsdrjP0wW0lEwb8tqACR+pZga3pydRMJB/F GQuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749848519; x=1750453319; 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=bayV79zaWlgDc/UJx6Jb5IeLhP0HuWPwi77b5RVh27g=; b=mcQFSsO0eVdac7pPLgUNMU4A3e9guYqr5z+OE8N/oz/1eFEmF83FuxvWTxuWVV1XLs akKb0biLHuhJcJN8NxQu46I+ZwoPCgHyqD0CJoOQiqbT5jXfa+2XGjFqJ9x2fMUZvWxV FrQ+u6KeTXWVkzmFZmEEy8ELkNavk05IFEdpc6zFsW5H+cuOL3i1xtoC8SOmfQzv0HBb fGeax97jMSlfsPQH5nR9VRgxCi8/4P+d98lpSniBGYDyQmZ9nrFuiIYKH/pxu5ctQDtA nRjhzJomm0sRnFINAZicJHibd7xH5l/U/rtJOBVWNTEf/nML1QO1eU+S2e2OvfxmUtZl EMlA== X-Forwarded-Encrypted: i=1; AJvYcCVjOeS+fOlKwoIa9h/oWjEUbSnFblklB17eam0+WoT8sXC6Mr4sUuQ1+USKQP9Pv5w03fZ9Q/w+DPe8Ze0=@vger.kernel.org X-Gm-Message-State: AOJu0Yxd40rAOH14W3iIYIasi2Wga/Yvsig3H5Hmw6LTtGFUUKMnyWKu WzvZF8c9ByLaZcU3H/J94R4LmBZ0ntKFtB3KV1O0eSqgRJcdE8uqxRsj4cExk6k1B1g= X-Gm-Gg: ASbGncs9osAB/DF0/omSuVXU1bT8QUpRLOO+eFb6Q5bBfUUlImaFHHTV/6y4ti5auLZ B/dztzJ9Ngx+/pdv+ihmnkQbUBMvn8AW5dskWvwjICp9/3+3AuvCqWUvn63uqaYUPMQk9hAzZCT 47WgoR17wSZhJG3REpOdE4UBzN9g48cH0VhtJgDbZ0FVJlJQVNOygMgIjiy62CzKbXnlHjyOFvz xvOl7WcmSfF9GArCGuyy3elqZ5TmZQ2UJu8Au72CUFY/m4bbcIpnOgWcj5S04LqXj0XwpFKR/gS SK8/dXJI4p9fuC7FzGW4i4s4SDRv0qtZeQ7d9nBAE75Swmzk6PRmUKSi3QyDAECcLIUri28qtoi BnRXKF+/n3ZrqRd2MA8C7V/X2l9DYVf8= X-Google-Smtp-Source: AGHT+IFLtieRvZ64VODdayKiID1ZTjmtaAjQzmjvcBqsglVzn2K9do6/FO22tJ0JBfPl2+tj1sKKFA== X-Received: by 2002:a05:6e02:194d:b0:3dd:c78c:ec3e with SMTP id e9e14a558f8ab-3de07d01d7emr16581605ab.22.1749848518961; Fri, 13 Jun 2025 14:01:58 -0700 (PDT) Received: from presto.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3de019b44b3sm4996315ab.10.2025.06.13.14.01.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 14:01:58 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 3/6] regulator: spacemit: support SpacemiT P1 regulators Date: Fri, 13 Jun 2025 16:01:46 -0500 Message-ID: <20250613210150.1468845-4-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250613210150.1468845-1-elder@riscstar.com> References: <20250613210150.1468845-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 six 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 P1 PMIC driver. Signed-off-by: Alex Elder Reviewed-by: Mark Brown --- drivers/regulator/Kconfig | 9 ++ drivers/regulator/Makefile | 1 + drivers/regulator/spacemit-p1.c | 154 ++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 drivers/regulator/spacemit-p1.c diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index 6d8988387da45..7bb7b8fad24f2 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -1384,6 +1384,15 @@ 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 + 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. + 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 c0bc7a0f4e670..c58aecadd466e 100644 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile @@ -161,6 +161,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..35c7b4a36e3ee --- /dev/null +++ b/drivers/regulator/spacemit-p1.c @@ -0,0 +1,154 @@ +// 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 + +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 "spacemit-p1-regulator", + }, +}; + +module_platform_driver(p1_regulator_driver); + +MODULE_DESCRIPTION("SpacemiT P1 regulator driver"); +MODULE_LICENSE("GPL"); --=20 2.45.2 From nobody Fri Oct 10 09:21:33 2025 Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) (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 2D697259CA5 for ; Fri, 13 Jun 2025 21:02:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848523; cv=none; b=sBPKyuemmzzIXC9eZw/cagKL8EtOQ1NKlqcjyL3iRoMU+GY7FjemlHxpBzkuqisz+tnBmg8N8QYE4XTyWQNIxyNIKkiIcWhUzpCTx645a7qiWXzqnj67k1/3PtcLCPtdHW/Woc2NfuwqICz/ZBTx2FXoG8y7kSM7ABVrZtBQlGg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848523; c=relaxed/simple; bh=OjjfW5o4vw/nHQvb2Y1n2INOdZ4wgN/cSmHtl0YQR4k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o5pUUvuAaTbBLwNC2TUtGmJZAwh9lBF+54QjfJNHStpC4s+heis1Ry4/B3D2kGjYSC2Fa428+CJbQZdSEly5U/do/1ZGKvD6oAC/WUY9rDl4bYjOT5WG88FrU8X2md0uPxKPOWAsLlUQbV2LQcufuFhTPQjqJEKPhkdVXlVoA9Q= 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=RCEl928i; arc=none smtp.client-ip=209.85.166.181 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="RCEl928i" Received: by mail-il1-f181.google.com with SMTP id e9e14a558f8ab-3ddcbe64d0dso22737655ab.3 for ; Fri, 13 Jun 2025 14:02:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1749848520; x=1750453320; 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=r2mgtiYfhNYD39L2Q37c064MNMF3bvcCZcMAWhqDZfw=; b=RCEl928iPj0qOWFdZ/O49+rtdMf+glkzAozySonivb+ZEyL3lAGxyqgTYTl5wu1vQj gp3NYi3Q2N20S+kAlbRa75tqEri8n1H7iXkwdQLWdt7n4WBcsWxwrPDOnWB1Aqr2xCf4 Yr1tDWlnRskps4BAYFtCgbIx0GeZMcwHF6kKzaXoYxKH/27NUZpROYU4j53sPo2DUJO6 hoBhSfXDqdqHW+zP5HzEWjMOXGZOQDeHOdnephJCfdySHHmWr7A+yTUfYWFPIbwOXk2s 8V5InWOOcNyTx+g2n2ZP7vUOtJT0Yu3Nse5g/gxTvbMDvhteD/0iu+a+t/UARX/pZI7h yPmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749848520; x=1750453320; 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=r2mgtiYfhNYD39L2Q37c064MNMF3bvcCZcMAWhqDZfw=; b=aleTgNrggT/wfYoxvEV8sh5KzkCacK+VMHV6RIEjQIYWx15eNfSkDrU4l2A6ILMb9f lDSQD4sh3jFKX50zDvYjFdI2g+eb11Knqm+u3zORFYwVO8XSj8PSiXXmxBeJI5CBJMNN b0pCS6wRMVXvNhbx5yGf+8bZFQf/hZBzQnh3p7LWR1BKi0QSbDfJFxKDjo7e4JNPxUKb ZWuEcF27/tLPJQ2pNPi6h/ZuBeDQmHUW3lO+yweFfP0KrEO/a4HzaffSwk16VsXE5lgL 06Y9WsAgZ8O60+aJUAHl/JoI90te6hHfzRaFYkG/b43Lnmv9MXTyoFy7BhP61pQzB+rj qJVQ== X-Forwarded-Encrypted: i=1; AJvYcCW4n4V1dRO7sGZX6ZB/OoZgHlgEUnbUqxblDTSutT7GoDJg1DYKQZ6bCqF8FlzEGUcI/XiGZagUry4YRk0=@vger.kernel.org X-Gm-Message-State: AOJu0YxFQODcCCPt7BtfE073NvrEx8/zX7awGmLUqTabN54U4aqybLl4 KtCnaFxjZn5o8NWAIjRWwbTfJz1c0xejk7H6GdGPcqvVc3E3xjGrrmM3kfhqePlLjXA= X-Gm-Gg: ASbGncsWv99eepq2Q9Kfw7AfTQVweU2an9S5EJLnYXRg74qQQM4Cm/Cyi9G1G8Hz6ui SLheWb/MTunEVca0gtiq0UbiFSJh6/kIVo27EvTse0nbmYEmFRHYenNkgZzOw8orppNdg/FTFvb v6dUc2YgAJqlI1TwbRJ7ZUrJOcxDK9Ey1ckCxlA/+tYq5FImR+AUcSlgum8ikzLF+5L4nsFDJK3 mYPAqMMgYZ2df0xdPCHf8amQqcnQ1EKe8ZrFoP+MKImEquszZxkt9IUGlsTmlvIBdgg+M/yWaoE iDC0ydzjktgVIcrvjkbqOEf5EiOOv4LzTjOL1wavX/KLtrQDUtQMjFV1yWz8kcySXbg1Z6ykcQg PADqW6mLTHBlQmoaOBH91nONiFjoxFqI= X-Google-Smtp-Source: AGHT+IFJnN+44P/6kI3Vi3znat08kUjPZnFLip3bdnFcT5akCn5z9CQ3kkgTwKRZIufa7kf1G/Q2CA== X-Received: by 2002:a05:6e02:3601:b0:3dd:b523:7abe with SMTP id e9e14a558f8ab-3de07cee497mr18084105ab.18.1749848520290; Fri, 13 Jun 2025 14:02:00 -0700 (PDT) Received: from presto.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3de019b44b3sm4996315ab.10.2025.06.13.14.01.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 14:01:59 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 4/6] riscv: dts: spacemit: enable the i2c8 adapter Date: Fri, 13 Jun 2025 16:01:47 -0500 Message-ID: <20250613210150.1468845-5-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250613210150.1468845-1-elder@riscstar.com> References: <20250613210150.1468845-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 816ef1bc358ec..f5d454937d300 100644 --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts @@ -30,6 +30,21 @@ led1 { }; }; =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 283663647a86f..9d6d4503fe751 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 c0f8c5fca975d..34e843bd275fa 100644 --- a/arch/riscv/boot/dts/spacemit/k1.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1.dtsi @@ -483,6 +483,17 @@ gpio: gpio@d4019000 { <&pinctrl 3 0 96 32>; }; =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 Fri Oct 10 09:21:33 2025 Received: from mail-il1-f172.google.com (mail-il1-f172.google.com [209.85.166.172]) (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 74C8225B1C4 for ; Fri, 13 Jun 2025 21:02:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848524; cv=none; b=DLHMjAhshxFVopD6/YEVveIaghdp0vIXMfoFc8jjLIzb35sBL6x35mXPA5nu+tYbdixtX7NInCOlIV5+Or9snlJFawAbMSKQP5n3qztZh14Ywre1w5tTTxLhKo0UlUi+J8xFrBi4zVakspLZSeZdlHyMCNIBP2xKeezT8hs0ehw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848524; c=relaxed/simple; bh=mXD+KmmzczPBBdFZkWMZATRKtOxlsWbA1f0YJbPau8I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=W9NsMqYZA3N+v4XOSVA+PokRdbuHZw8jOkTcNMd/+PNCAAZY4MAGqRizrz6LegfFzt6sa39SE/euWBrdrbBeZA9Ksyc/xNiN8+xQ93t9BkF4GthtEKwh/GFgJV8bowBaF83H4PxojNWcJwnfMQMEHQc5uzBy2WdhUplrvecHQbo= 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=b0d8WjFz; arc=none smtp.client-ip=209.85.166.172 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="b0d8WjFz" Received: by mail-il1-f172.google.com with SMTP id e9e14a558f8ab-3dddbdef7f0so21785865ab.0 for ; Fri, 13 Jun 2025 14:02:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1749848521; x=1750453321; 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=cWQTiP7h7eL+v8/SbkMciwBHxZWg6y7ToncXXww7MfI=; b=b0d8WjFzLZ7tXMLaaOed1+2j99Gg6ZfNrTWmarFYe/RWvRX60cOgceiHCBdCv13cWm tUq/5xjYAzPORcgy+6dH9hz9L3byr5Ev2UPGTE5HUjSHy1j9guYif2STjCQUTMx2Ga+i 3NVkTLeGw0/EbqBHtru1EXwV/BsjKhJU8qBZXYYyBbxuS2Suo2mqSbPOGCSrHfMUskZ5 SAVEmKhgW9R5sF2C7Imh8Wec4FQxBOIom9qli/Vfmw1lJhPlmU19fiWzy8UoHTNyN55/ seA/n7yQzxWNBmRw4wi/2kJ0/JbCL1fAw2f4GnzNrc3c9bcR1apRWq7Z46PJ6k8u5zBL oQ0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749848521; x=1750453321; 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=cWQTiP7h7eL+v8/SbkMciwBHxZWg6y7ToncXXww7MfI=; b=NFT3Rg2b9wPlifCqT/9taAwxmA0bcADVRGpe8pzzDKrhLW95bQHI8go0YnLUSp5ppT X3neIxiuFGo6c7Xr3H58NP1pPy7/5rbI2c8bF4NPecqk623qjy6OKBKTtJh6P8a3rCXg vXFftQzh8qmDLarEywkHnKXY+KJ5FzVZOzjuJyEp8TlC1p3QNk65aFg/JKpG/wc08rkw OzlIntbkbPC7F3aHZ3xdi/t/Uv36Z97hye3fdsLsdMMxSA5/YFKBzTh6vsfCMu2WPrVA 31Glg3VFdU7UtWbOP+pFEawNM2z6NV+uHrHmMA+4coJNjuA97RTWqCW5F2CdooU7N0eW haPg== X-Forwarded-Encrypted: i=1; AJvYcCW88pJctSknqyv+LYAJtAFJZ3rCddL62WXZ1DnmGj1ZZ3Cler7Rmki8TeEEgXiMznr1j8TiS90wAcUao3Y=@vger.kernel.org X-Gm-Message-State: AOJu0YzLGut9zOqj4pYYTZsx6re3rtRmYwbnoFQ9GkTqFhzhQCuA7kr5 ZKtGHkDsdGaFSP/0Y/3hHzAQAX99hlYYQn8ERTOXMfcaPR43jcj91i0DPXI7L4LtRWk= X-Gm-Gg: ASbGncuqmWJv9JVV0slcjPb8ql+HLaAoJia1z0yEqoUehaQKN3dusVlShVps1z496vX Xzr+YH5PeuwSF/359Y7CZt0IhEW6LHRfKMjtQPVSBfWByOuVuV3dfhvLLjPO6weBjJqmO8Y4EQM WDeu5t/CsGOblnHl643TkRtJrNF233jStqF0wECVESdC9zRnvAL8uAtdYfGfhWwzo6EWvShyywO 6ay+8sYoouSWafWZ8QWaI5TVcGGwuI16YYhtkrWegYnl4CPfCSlCo/qtvMB8AJQJ2kPhPCudjLI g8EVr8IMP+9jdHoKWotvFuCAUlLQWPYCJyDt0xqMwFepnFrPVzLNYx8YQBy+Y9vyHzKYAq5vEjl 2SWTrl4rhfN4X4ciYd5r1u0UYd3SVTkbcSS4ZgEogag== X-Google-Smtp-Source: AGHT+IEecP3cifD7NNtM4x0PtjYEOx4vfWTMQlcOrKZqxEcJodip8ZghPio2mgJZ/Wq7eeZstJYUaw== X-Received: by 2002:a05:6e02:1f07:b0:3dd:88da:e7de with SMTP id e9e14a558f8ab-3de07cd355emr15624215ab.19.1749848521613; Fri, 13 Jun 2025 14:02:01 -0700 (PDT) Received: from presto.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3de019b44b3sm4996315ab.10.2025.06.13.14.02.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 14:02:01 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 5/6] riscv: dts: spacemit: define fixed regulators Date: Fri, 13 Jun 2025 16:01:48 -0500 Message-ID: <20250613210150.1468845-6-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250613210150.1468845-1-elder@riscstar.com> References: <20250613210150.1468845-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 f5d454937d300..8003c8173a2aa 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 &i2c8 { --=20 2.45.2 From nobody Fri Oct 10 09:21:33 2025 Received: from mail-il1-f179.google.com (mail-il1-f179.google.com [209.85.166.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 5A64F25A620 for ; Fri, 13 Jun 2025 21:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848526; cv=none; b=LEx2X8363J/oRn88evEJqUX6ybqps3IPYm2TeAb90vcJVN4kz+VavsRo/7uiscIpHnLZXa4Q3mKaBWre9rQwAGIf73JjGHrcMJ5k1f7gzzYXkV/xDXz/dmA5OhwnVuiYic9NbqwDZdaq6VjB5hceIIDfYXEbVW1uEe+Y31i3gRA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749848526; c=relaxed/simple; bh=OIllGYSRU0SJagDHwnIsOjgKnsaQsAcmzSKro1vqi5A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A2o3tehTAO638I5A5CmGqpgjhhtoHuH84B2WsqSM3zP5c8A3vdvHXSeqasigsRP4c2eddWgFzbFsI1djjO2D26ergjUZ3bQ9NfAw8m/T8S2hIi6CybRAg7kc2y14JZFJUs0Zyd4akszmaqw5XIyajmXBZl6rvzHqEfdBblkIsiI= 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=Dz6Vluvr; arc=none smtp.client-ip=209.85.166.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="Dz6Vluvr" Received: by mail-il1-f179.google.com with SMTP id e9e14a558f8ab-3ddca4ce408so10072925ab.0 for ; Fri, 13 Jun 2025 14:02:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1749848523; x=1750453323; 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=1gD7pkEGUFZ2r04BWnG63uJj9JKyQG3lB1lEXTm5IZo=; b=Dz6VluvrM1hykyqlUNUI/954JuMPmKJy/Z0SmRnX8t1Rrn+amy2NGV0ELcBChICYIT 8bUERs5y2MGql4CXas1Xjb5zeUdc3VUTZFpmJ4vTxJIpYEwIcahMXQBc1SyeE29w6Vip ptXoq/SEkiFNOWIgjrXk2a0Rt2CChYGupHMd+ClZWZIc4aHN31hGWm+VpNXyaIuPAEe9 dLEJle9KauOikUkuOARMa1kgDlYTQtCpcmtq77ygnMYfJLetmLZ0cic/QJqPEFxrCUjm lZj3qbY0CL7W6ZDmHXQ5x9rg3WKgK+OsvO2PU0T8j40anakF4Fo9UkRZMDVBnqn1I+az j2Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749848523; x=1750453323; 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=1gD7pkEGUFZ2r04BWnG63uJj9JKyQG3lB1lEXTm5IZo=; b=IMEG/vJsVIM1rzk+0eVqCXBiTN8cU1HcA9klycfhtSDCGaVMQAbJj0Rzc8uVHBleD4 UMXpa8Y7Zkqad1eVGWLaEpV50JXHZTMgfRcngSYbCNNN0q3wYzB0T9zmTJ4oRUxdZ3XF aiT6kmsjY8Pcak8qvJ+SUjKhb96zEco12Txl1maqglFt6nubMH5/d7L3C47hr1e3XZ3d +B1x7axs3zdLPDwEqGgldaERX4nK3Yv+2qxPDK+wpxI8igRfDb1PWCPiexMbFyC7sOpj /IAWoDjMhC74tR/7S0ZWrNYPOhuqOO4YCc+rHbNsesUUDrw4/ByGySTlioVDnp373k/x DwdA== X-Forwarded-Encrypted: i=1; AJvYcCVBQGkyXaUXKWC1WcGVSFuEZ7KAucj+Lbmi9K5z+VXssf1H36j5p2wzJ6h0gJ0HDLRsc0fodvn5z0ct9+w=@vger.kernel.org X-Gm-Message-State: AOJu0YwOiEt4r/1grvz31Eps6YYErwdFswlrZo1HT6mloQkoVSR9HKIK Vm209WBzX6thgAVjgXV0ZUDblPXhAv6ezawQ32qY6teczva39O+aVexmzd+FbNSxA2A= X-Gm-Gg: ASbGncswf3gtKIDnydYKhPi8RBYpAN2UoHETqIA3igcCbKUlGwIuZhRxxPKNh7dzyOP 4HZiAWmcFO3vMupBKdB1M+80LUlO0lSn1KvqqvOnvne7W5qQi74B4pY4NtjYQDp82gPhHT9EQo4 N37osGtyraSlMALNDbeJ7b5m16YqaxJiQzemO2DZUXFEtKNfr/Dby+n4p6RGVK8xVpE+Xx48/TN 7JCeXGGrS/Dk1fduXqTV/0QBFjlEkvM9HaJx7QpHdFKMT5qtJFHjJXdpL5zSSm/2RVtF6GLNWwo xy9S+GUB6wzVCqLzYB5i56bMVvSdvMT/C/DEUpyS4Flqw6Tsdp+MRQVzXNAdWx7GbkVZu+lBDja TFIKzPP1nkriGD1ZWTDpcpfCqtpVY8Jk= X-Google-Smtp-Source: AGHT+IHXDat6NE+msKniBMkBKXzQ5OntQfEKX4Deb7fPFCE8SSfiXNxgPbBb3SmZKFUe07JWv37/DA== X-Received: by 2002:a05:6e02:194f:b0:3dd:ebb5:5370 with SMTP id e9e14a558f8ab-3de07d3404bmr14113915ab.22.1749848523112; Fri, 13 Jun 2025 14:02:03 -0700 (PDT) Received: from presto.localdomain (c-73-228-159-35.hsd1.mn.comcast.net. [73.228.159.35]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3de019b44b3sm4996315ab.10.2025.06.13.14.02.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jun 2025 14:02:02 -0700 (PDT) From: Alex Elder To: lee@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, dlan@gentoo.org Cc: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, troymitchell988@gmail.com, guodong@riscstar.com, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 6/6] riscv: dts: spacemit: define regulator constraints Date: Fri, 13 Jun 2025 16:01:49 -0500 Message-ID: <20250613210150.1468845-7-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250613210150.1468845-1-elder@riscstar.com> References: <20250613210150.1468845-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 8003c8173a2aa..0f9a7f7a6c8b6 100644 --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts @@ -60,7 +60,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