From nobody Wed Oct 8 12:36:07 2025 Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.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 03A0B2E2667 for ; Fri, 27 Jun 2025 14:23:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034196; cv=none; b=iMbgUNhTJW2Owybt4k5rrC1NYP0HJpc/saI8TuTodMoyeYACsI3RrM2ev8rhSL5/4js3152mhkQP/xPqkF23XSIs3DReeS2bob4DBpvs5BQKbx34fJ+k14umMZcNMZxq2vEvw6GC+ZvWgpmIUPokL+CxWlWZIFFQOmws8E7YOEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034196; c=relaxed/simple; bh=vOyqrRqZ0tqkG6pWDO83ynGQRzYnD7v6m7LspWqpQ1A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SYc4iaUtprNDZvJyrDzX7XK6f7n2xv6jfzlj0JrGQis3lkLZxkkon3tevw/+nt/9FrakL0IBa84YlTUOOV8JJaj8otBOx/IxNbIL+QK52m9jpCqL9zjqhgzXhULyN3RkgHPDHE46fsGywYDGIkMDU/i9O5ZICEw/qMmnzKJS8fI= 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=CLDl86Vh; arc=none smtp.client-ip=209.85.222.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="CLDl86Vh" Received: by mail-qk1-f174.google.com with SMTP id af79cd13be357-7d3f1bd7121so206942085a.3 for ; Fri, 27 Jun 2025 07:23:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034194; x=1751638994; 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=riR2NvFzHSo1w0g4tV+4jS0ZXA7bNFeHnroyUa7Novo=; b=CLDl86VhZLgi0eSOm7N7Koi1Um2A1v1j7Ig0O5tqfNZ9INhIvHQO9lf9p0vpzzfga0 CwuEFcNFMihg+/DkUuaz+0fFK+xx24uaedinXM3M2JSD5BKPeDjz/DOzPewUZQRneuzu W8r3bvhiSNpvSMCpTd1MeLGM0+VY0LLg8kxh6tWU/8HEO77sw9L1k6U2I5Efwt1OfM19 w3BaaLaIElmLVrsKQl8IDXStfrZMXp/a2Q27lQ22jWHDVL38HCQx4lG5yTKeu8+nmIT9 k5Vvt3zMvO1KGKEOXG/N6NBffo/JdtE40zt+qYzaWvE9fwC8Opd/MGHUbDl8JVoyw+MA ketQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034194; x=1751638994; 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=riR2NvFzHSo1w0g4tV+4jS0ZXA7bNFeHnroyUa7Novo=; b=k11NvBrAV3RnB1hp9eqJeiCyM1TO909RkzCGT5fTddWJ8CFZVuyiFRKTejUHfbmLQO pOS4q9ybe/8uGZpVj8lhowzT6DrlH0U/JgxG/FsPC7GnC+oDBS1yppr8Q0nzkOTqTwaF VR8UatgJ9dHKic3VdKt9F/FkxDzvpzUd8FCboicdigooFwbmmZ250qkKkTS35sTdjvWI haaiwQOwEqlaAJYUuoMGj8CJgk+ON0yvZe66UloGgm5kXicezeYM21pLW0RWyMZLNYVk vxIhzGmhWQznE1tMQ0Rk2N6kIr3fvOo3fEeOm6PRIdPqM7hX6ZpdCX78raVXFpPFWUI9 NHSQ== X-Forwarded-Encrypted: i=1; AJvYcCUPODbDzbTGdQaZxppFPbC4JsVokb4EPofyE7ifd5LUd2ziMfylz/WJZ9RBrFRkutuvM0+ZmyXwIoKHCys=@vger.kernel.org X-Gm-Message-State: AOJu0YzQsGBo/iJT3ho6rlI9VZMMvYzIPqc40QLr5EtrwQAhhIDaxto1 G0x4ZX6YoRX9scOBnn8mTELk787lhn1TOUduCTyUHbI2s/SKgWToZG1H6nfmKKATphk= X-Gm-Gg: ASbGncv6+HL6LOCenrPSeFZF6Eeb6u18+Apcn47zYsCfr6frCEELMTB9z6bhPapWDOl /BC9UEy1+WWRyraCFUjelFu257xSU2jz8+iLP8YF6db+0NWsNMDtenRBx76sM0bq7hgiBVDBFMX WiuVw3MSN5e9CoB/OzXdL55uCRFGtzad0NIxzRm4NTbDnVJDWrZDUCwTRqCDmJuUzfg/DwFrKFe wnE6wxoLw4cMYcgQ+7rL2gLexdHF9Py2UKsv3HsP/uDLsz9RPpNqfZdcSfDpsuv/DsLIjF44OVe UzFZCu6xwXFdGz+a/qvFtg1+40iLKKRLQDd5/WCbiwjRxHwhTAfC0/hhDm8ZO3ByFZRCeibc5vP o4XLXfry6nI/dyxxZqVFac5375gKMdwpprCs= X-Google-Smtp-Source: AGHT+IFt3w8KBQHmUinwLlL1S6ACJgjHlzpbWyZ0LJDc8hDP+5NLFg8sIB0fDMXq9nh17vsNn8bIaA== X-Received: by 2002:a05:620a:2809:b0:7d2:18a1:ce0 with SMTP id af79cd13be357-7d4439c5607mr583492485a.49.1751034193763; Fri, 27 Jun 2025 07:23: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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23: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 v6 1/8] dt-bindings: mfd: add support the SpacemiT P1 PMIC Date: Fri, 27 Jun 2025 09:23:00 -0500 Message-ID: <20250627142309.1444135-2-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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) --- v6: - Add Rob's reviewed-by tag .../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 Wed Oct 8 12:36:07 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 514A22E2671 for ; Fri, 27 Jun 2025 14:23:16 +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=1751034198; cv=none; b=kG4QIDEjrpwvLxGnD1EFVbIB/oQGufscpDOpz3xkLvn0j/28ROKtGlPXVnBhel4/1mjS+xtwYIzreAkw/4KD/sDXHiEVNhzLJf/bF8GianbaBzYC3UOlrXGi6gtS25Vl6gd7LPQ+evWcEXV0F46EuVn103QM3dIpykPNGyEVvyo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034198; c=relaxed/simple; bh=Tsq4Cj77x0Uz84CFPrzoZFbQG9zudBpa1tvUCC6Cylk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hdbHTkluVPs5XDTFXpgCSy5Qj6wW2bYnY5f/YCMP3X7xdQKO4oTI2Vchlt2tYvf+hY+IiW5ZvvMb3HTeTR3wZOrCIk/LYLsPf86oPeSkaijuAsW65He8whuiH6PelYj/bIzWqQUK7axkU6zfd/FRNqaeSHwZmOTuDTyKeozuFFw= 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=EK1jlKyD; 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="EK1jlKyD" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7d0976776dcso236653685a.2 for ; Fri, 27 Jun 2025 07:23:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034195; x=1751638995; 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=nEeEDXRCRhzfd7WiQWk3nSeJTZHMTuZTnU4CBiNxmaU=; b=EK1jlKyDIeNtBRcI5wFNDltVIXn8kPh4loOP5YOpsenltX9x8xgULOkLlFiukaxiNn pEm8ALvW7JtFGEIalrm9C9pT8BvdBmWF9hXgvpQxTscvkfu6zCcqNgM2BOFQ/w49r/nr /Sq3B56Z/LW/Rj6RWxlLNEC3ooLhaZV30ze8ds2lPAc1uyeoeqdSdURiqZgbeETYG5Sw 1EqdI3fDLSTTsJjsoFfhn9r1tX5t4gwRwS7c2YG3Io1sPW6BJgv+zljAcln7z2sLZDT5 Kxaaboq/Pn8xZIHu85Ji4i9pdxZBYLyV4uSpC1xHhhgZ1Zw7JH09LWmlL/+7AGNmKqjy LC2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034195; x=1751638995; 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=nEeEDXRCRhzfd7WiQWk3nSeJTZHMTuZTnU4CBiNxmaU=; b=MItG3J7zZ8QpoZR5QO6U+CSyw5gUJW+kKHNA6/T/3yJHdmdP1bpVNR/Ly4L37chfJM yWrbaVoqo064KoPDOM5vtMTRSV+ZO/cifQY9kyY2fpsOzQ9lcuOJyFNr7kJSuW5onJzz L5FfLGlAbV/vja6Hyo6smyUuC9Rfze2deZx84dRrCEijo3vpAnmVkwAenb/hT23nrw8p IFnlCbp7d2Zbe0OgRG/BnnQZ+nz5VFXSqXZcm+GeLIxTDk4X3rYeslhqdXn9n8ZOaqAG sy2VqdhwbzrLCa0B4gTmzvz1Fv8GgqsLIUS64g9FAZIOgLZicOdJuTI4YjAGJnr/Ku6L spSw== X-Forwarded-Encrypted: i=1; AJvYcCUU/5V/LpKQv6wGUr6TI2PHHfY5FCVWKztd/QgB48Gb3fBRMLsadce0vQ5tekatpQ5fZQVh6g/ZRTDHMKQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yya8DGC0L1YBmV1KI8Pb7Pq/nbXoIsyj7lK1Y5oNAeNh8nK+LRH EOF7/iSr0kwx0yTblJoisFwJuEx5dFvr59JcjuEQIiPtAVEAmWmV7ols/ZX6nwfwO7g= X-Gm-Gg: ASbGncuRDGrRVekITue8RaxXhXDEKByTOW6B7LviLE8GczhEzW3UEY4Nb4AbdDov+dB ezG+SOPkvlCSMbfPsRlDhCun2Wjtl4KSYUT3TM+m8gd1Rgppgy0KrF73W93JrD4GykoK4zAtK7t MCNI0QLHzYCvhw1WwUkKSPYwELMlaGuU/9PErUgnT+iTCiMlJ0vHPqSuuuUMo6C87HruY/ZS/p8 0/KCGkNGy2olx7k2edd4tthgvo6WedzqWcpSQ2g20Zalo3qibSoEfT96A/vVaLnlv+Sa96eLGHr HeapMnGazY27NWe6mLWOavQ8WlPEpWwwN4AI4O+i2xxwfcAmsAC1eBQM7C5427CPQUWJB5KR4ag pALnrabG9UsbYv8DF3PTqfQsszWoxEqFiFIpVBpHfwuavrA== X-Google-Smtp-Source: AGHT+IHjeJKicOQMrv5A2JPa7JA08EcBfBp+Vurfdw26JNZtOFtPu0+xcyBQuRqWuhl/FSD4KBiKAg== X-Received: by 2002:a05:620a:2b87:b0:7d3:8ee7:ca10 with SMTP id af79cd13be357-7d443935786mr517736085a.2.1751034195204; Fri, 27 Jun 2025 07:23: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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23:14 -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 v6 2/8] mfd: simple-mfd-i2c: specify max_register Date: Fri, 27 Jun 2025 09:23:01 -0500 Message-ID: <20250627142309.1444135-3-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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 custome configuration, but no existing device uses it. Lee Jones suggested modifying the simple MFD implementation to remove the generality of the full regmap configuration and add a max_register value to the simple_mfd_data structure. This can be used in the regmap configuration to limit the valid register addresses if desired. It's simpler, and covers all existing and anticipated device types. Signed-off-by: Alex Elder Suggested-by: Lee Jones --- v6: - New patch, changing the simple MFD functionality drivers/mfd/simple-mfd-i2c.c | 18 ++++++------------ drivers/mfd/simple-mfd-i2c.h | 2 +- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/drivers/mfd/simple-mfd-i2c.c b/drivers/mfd/simple-mfd-i2c.c index 22159913bea03..c1dc315d44dcf 100644 --- a/drivers/mfd/simple-mfd-i2c.c +++ b/drivers/mfd/simple-mfd-i2c.c @@ -24,27 +24,21 @@ =20 #include "simple-mfd-i2c.h" =20 -static const struct regmap_config regmap_config_8r_8v =3D { - .reg_bits =3D 8, - .val_bits =3D 8, -}; - 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 =3D { }; struct regmap *regmap; int ret; =20 simple_mfd_data =3D device_get_match_data(&i2c->dev); =20 - /* If no regmap_config is specified, use the default 8reg and 8val bits */ - if (!simple_mfd_data || !simple_mfd_data->regmap_config) - regmap_config =3D ®map_config_8r_8v; - else - regmap_config =3D simple_mfd_data->regmap_config; + regmap_config.reg_bits =3D 8; + regmap_config.val_bits =3D 8; + if (simple_mfd_data) + regmap_config.max_register =3D simple_mfd_data->max_register; =20 - regmap =3D devm_regmap_init_i2c(i2c, regmap_config); + regmap =3D devm_regmap_init_i2c(i2c, ®map_config); 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..4121fe1bc1d70 100644 --- a/drivers/mfd/simple-mfd-i2c.h +++ b/drivers/mfd/simple-mfd-i2c.h @@ -24,9 +24,9 @@ #include =20 struct simple_mfd_data { - const struct regmap_config *regmap_config; const struct mfd_cell *mfd_cell; size_t mfd_cell_size; + unsigned int max_register; }; =20 #endif /* __MFD_SIMPLE_MFD_I2C_H */ --=20 2.45.2 From nobody Wed Oct 8 12:36:07 2025 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.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 E65462E2F02 for ; Fri, 27 Jun 2025 14:23:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034199; cv=none; b=T/tORg+u5KrnakJjGq6LSt+BA7OtF78HLvArmpJC3j9OvdU8/lkihxv/938AJc9YxaeNrLckV7CSVDu1Av+Tyte0mlTfOcpF9WmUtpVN1Tyr0pqlHecjvDEqQmJxz2Bp395+XHPkitpv4yYZtS8jMLz2GY9GYe619gioGPZRdFU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034199; c=relaxed/simple; bh=b+d+F+NfMBETraAATTzaFJEm4lSRbVG8DDRdAYWb/+o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iIdt4FXadMEIh/TIGgWCKddrDsbTnZi/P+HjevB8EQtEC3+nkot2OENQ/Kyox+nga4AnXqAp1i8GfQBC3fWey4DK5P8OilT+gmH6gMB+odYchG7VIx+RO9XVv7v4n4RJYsBGF8xDqpM3OEA2i1lHpTxzq03655hxAPXvRCW3OO8= 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=ffwa+CxS; arc=none smtp.client-ip=209.85.222.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="ffwa+CxS" Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-7d21cecc11fso352225885a.3 for ; Fri, 27 Jun 2025 07:23:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034197; x=1751638997; 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=ImtcgLzIrcawut2MtN3yGlOkEUyWKtboJHD9r18H14s=; b=ffwa+CxSzk4SvAVA72UEwVhg11ozMyEh/5B9cXDMFsGfzkr51L01Mu421D3XkXGFsX 5pd86qML+wSyKNppvIboOygQdRniJ4EiQA5EfhrVcVlM4zNO3Flqyhf3ITdEK2YKUD7n lOEDAVKcHb83kGG4ZYY7/yGgvo6MQZ+jPggR3SBa3K6MUqVINzn86QgEbyZSE/2bAuCF A0CHvFLyOOEOmjD58TNfIBxNkH/8rL77K7fBZAJzifuI39ZLmXhNeKrTg3rn5AP8LAY2 HUlHTFmk8ZCxfD7Ge1cV6vCWnR8Uewb5ZutbnB819m/iBorbv3Jim4OmPTi8OoihJbNa mBjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034197; x=1751638997; 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=ImtcgLzIrcawut2MtN3yGlOkEUyWKtboJHD9r18H14s=; b=kp3cmwf50l8QtXAVdbvYAH3C6h9LTIbjyl/+FAZJwJWQJlcgDD5lXhZry2bhdwKjB0 lVa8k9yRB9N90AhMDAv9Zbi+fltJhMBDlCwqkkPSWsjwgdyRcNpy+HWg41J1WnOZbl84 OWcbgj2earfVdZNsyyNqI1nbKlA3J+27Kp4CwfhaOlXoYNfU0emgUJjtHheb7g7md3Eq a8tnzxZYGhZ9zTrR3kYHrUB4qJf5PLkjXdMQioV+WIXU5BRS3GfiBTmeJz0E02qAWODL hzUx5T8b9oJNWXlzRgfv1QF5KuyCCIjBJyqAeadWjOjj9sPjd8hfUgpcA4B9UM2bvEaC uIiw== X-Forwarded-Encrypted: i=1; AJvYcCUgQbS2n1lMFjK5VfZvklCXPwGEzNbPtqx0B/FbiPoAWweNOGFy1tq/QOiUcDAB3WwH03Hfb2QDqGtZSF8=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+qbQS9Game5k9gjVu8CAA0kvZcBhbDsVqr9qKWTFIlO1RBGZ/ an7ztqt8wawKDJOuOHu6M96ULyGWlNTYIF3HT1UN19dqGneKFJwk6fQVvHdRlQ0e22k= X-Gm-Gg: ASbGncuC2NDyuZF7MTz3qLEU0ocu7MXNU5pVb+6sQsjBaydm6fc9Q413G8TSGDxlcUc qPdOv6C846aU1G7cTpdFS6JyXp8mzls2tYTllPex2H81OBwgN7jNAqMhM/M1ngMCw4dgOfmNaol mBEvN1KsUX7As3fcjpj0M6BgIj4TwDWF4W+JkPbJVQc3Frg7toBC+aahQcZ08tP4OezmzmKtnIu CUTlYX2ppmNsQf2odUzIvG++KpWu0o8dovOTEmlAK2EoZttCEnOKu1BRqPvgoAR8wno7Mq4W9LK MQ31dXzjI6764NexAsxTuP6cFDBf++BRaU+x1AAo780zDvuXWFwCG/e+CoJAcH3AxhNZ+5XG7VV d79Dc2X3+HMS0z2JjPYnmyF4xr7eoBEM4a7rXO/tNqhMmKg== X-Google-Smtp-Source: AGHT+IGVK1ecJTiuAsTlRFYL0Ii2pcfzFGLsDuQjxdb465KNunRg1KkMZc7lQpWfV88VHg+Ky4I8gw== X-Received: by 2002:a05:620a:178c:b0:7d4:43cf:68e with SMTP id af79cd13be357-7d443cf0696mr474156085a.17.1751034196660; Fri, 27 Jun 2025 07:23: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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23: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 v6 3/8] mfd: simple-mfd-i2c: add SpacemiT P1 support Date: Fri, 27 Jun 2025 09:23:02 -0500 Message-ID: <20250627142309.1444135-4-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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 --- v6: - Update to specify max_register rather than a full regmap config 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 c1dc315d44dcf..81573a4830076 100644 --- a/drivers/mfd/simple-mfd-i2c.c +++ b/drivers/mfd/simple-mfd-i2c.c @@ -87,12 +87,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 Wed Oct 8 12:36:07 2025 Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) (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 609372E339D for ; Fri, 27 Jun 2025 14:23:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034201; cv=none; b=tuXrNXC8NsFCX/Dw66omRPqZ73JEiXmZ4bMtPSO+MwflcPll1dKmJQPDpWWDfAGEAQhFsQSdvCJT+xhrQ/YSpddVMNsU+10M1pw0VlFNS3FR+vZoCvspV2V1FACIT1EcXzVhYcRQljUXTIEuDXbbQGvaSPTuN6Zw99TaUcxt8mI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034201; c=relaxed/simple; bh=j3Wcubq/3SRFXIT3gXxJqmDlxCU0DsP5Pxf1kaaTIt4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VZyCSLK+HzjbqTqgEG9LlfUHcrtirrq99WgPvTRhizqpoSfSVTiasFgir64cekoVEaKU+43w7pEgvWKECTamO3fyz2Ci6LTXi7TJrAjS3am8WzNmnXpiwUmvgxbP96afhNLEfhMPRMwNgsvAq0Zqz/NGXT4m+f3N6Gfr0nq5L38= 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=zJp/NB99; arc=none smtp.client-ip=209.85.219.47 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="zJp/NB99" Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-6fb3bba0730so37429866d6.0 for ; Fri, 27 Jun 2025 07:23:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034198; x=1751638998; 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=zJp/NB99OIKp7qaoycpgxSdumL/6l4WnnUexYGAqm9zJ7ZwvqOgOt+czCvwh+M7Yh4 p1c2XOw92Jgy8zx/pEeJf4CGs2WNem/Zb2DIO0Rcp1YPXX+Ac/AZRrNEhdbQS51ppBk1 q2CLSPVAzVHvCGm2wWKtnuj3TLKU8kWHJdZkRKa/SGYCytI9fR3yWI+4keIQSY7tXt0x dV74zvGQTygHh6//byiZeWId0xa5sVZ8LEVuLtiHIp0hndEYiyDqTTUNS7ue3uV9vEm5 aVgeWwsT/KGNj86Z1Cz9qK1bjwZC+TKwYrgLp15cav6rdYeXoqO31oZU3gqt//p1i7/o cHcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034198; x=1751638998; 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=aYPJJY/2Vq8Cv1Ce8aXef8Q+Ufg+077Ap1QeHyP4scIRabeLg6OBbFvZOPaoOiWuj0 M0lgyKH/EGz1jiL+utasm5qpusdfUb6ERoGICLJqlr8QLD6poTAwupd8Nk1dlCDfzgFZ pu85grHrCjidJWBmpBe6nntRBy+NB44sIh+Jir4ez3A7sD49nW6FtpLlDZqeocbLgXZS He2eXsUA4BFgxW+nPCfMEWLHcVdYb9C8008srPfM16XPdqGdWl40hkjH+vMTukO0rXf4 3e81oh2HYb+5W7dyrFzFGGg6Um2CGJ4/UtVmXVDP5A6w9fwzQ1N3ec4gEJTGfiLp5lkm V9OA== X-Forwarded-Encrypted: i=1; AJvYcCV9P9LHNkKf0DFtEf/2AgVK8KVHdEsxIVXYbaqH2rtCklA9ynEcBmpfmVBjojqFZKhhzGKStZ8u3C3UPAE=@vger.kernel.org X-Gm-Message-State: AOJu0YwjV6v/pwB09dkBSZaT9lovwzZzOIumVxxC8ODrmq33ijpp7txx +ilY8tc2xxtUAU1ArqyYfL8d5G1pmF8Ni8qIWxAmjrYYQi06LOH8KAdJdfrLH8KKYA0= X-Gm-Gg: ASbGncsIh75BjRiGD3YFlQ7+MhWn0p4AjVLqzTwK/XGbF7k67YlJ2IDUvui8NLxPMxY B4O7HhoUjPlOM6cvT3VdXVihfloBTWZT8PUHOGz7G6KWZyKNnP8tMJmvtpW6pRkkCDmbTbAd3VD uw7kBgNjz4zBgsKQjVWOCfGuP0lR8mhtWrjQtZ0/HjLvsIm1D12b9jNBKP5ERoZNAtkzC9XtfQc CEp88G7hlxAAnmJEP6wNScMUcO7IkkvXfvLEaJkVXZ/n+ubPC+4MTCphYNUMk8cTkGPzlYMFpqk ygI5eWYEa2GXN+yGGdExjwOx9/yiHwaE+5J+NNDgtwRx6F3/VxcqNIV3cfMEIoXnuf44vfESq8X Oehi8muC93DoDxuKIcpm7tvR6k3BnFHH//oM= X-Google-Smtp-Source: AGHT+IEGeYj9rcvrA1NnM0wq860hSboLRBzHfSn9tDbKfuVvLrnyl4Q9hjr4EW8AzbnL+vv93GbNXQ== X-Received: by 2002:a05:620a:438b:b0:7c7:c6e9:963c with SMTP id af79cd13be357-7d4440f450bmr376688285a.4.1751034198075; Fri, 27 Jun 2025 07:23: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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23: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 v6 4/8] regulator: spacemit: support SpacemiT P1 regulators Date: Fri, 27 Jun 2025 09:23:03 -0500 Message-ID: <20250627142309.1444135-5-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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 Wed Oct 8 12:36:07 2025 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (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 DF2E72E3B03 for ; Fri, 27 Jun 2025 14:23:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034203; cv=none; b=OIG1r6QUsWOLn0h+rMkohv07BGQjwXKeTXZ0YA4Iqcp9jKVaeqNRaQ7+rWXDjDimJFYF+HHPStio/I5tML9ILssaEhEKH59S0grt7tEAQpjEZq7iDC8XpPlv/B6ze+xJbDfBL6NXUyoNhcs6HxKoV40qkGOFavh5HTIVolQ/Aww= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034203; c=relaxed/simple; bh=zclW5evbD26kO18GZgybKpcCRCtcM25Tzi+558CiH3U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=icOJ4MSzpLMxNuBDO+ww5UEomviGTjv9LiT/bpD2D6hDv/h7fbw8zV3qcTjdasnPKltjt5Aw/WPPxWRfUuPCfFUuym7MP6RbSZYMQdxfiKhTmJ2qsQUY++1zSwcyP7kzm6H8LA2O+Sgg32ww1diMJ+FtOprIF3OJJe8U51udMYQ= 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=AZWvhTr+; arc=none smtp.client-ip=209.85.222.171 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="AZWvhTr+" Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7d09f11657cso212902385a.0 for ; Fri, 27 Jun 2025 07:23:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034200; x=1751639000; 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=AZWvhTr++f/ceg7baJecD/J0C1Q8DeNx3oX5DdB/vcNrAVe8yjyxmM+sowY7gHMNIh 9dYOxcvyVz3heubAlebRW6zvPJVvEvowh+U5uaE3qeDVk/zWsMCWKUhPYVLhoJG32dUH z8RQfnhJurnEzBA2zZqBfkqMOpDEA5wX4mMrVaJwxKEiqJJ7iw/doNUB84wW8wT2t5eo K7mWeo4x+C5W7+OBVWYdynW7MltsTQq0JHkpX2eHbfBf4zMXBiHT62zD/Pk6PSMjL+rq c39AI3UsRfKJO8M/xqDDUS15Tm6bMmWjyqC34Rqkv0UY/0oJkwAqAeRktJ5jXx5Iua+S aBoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034200; x=1751639000; 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=CGjed6uuLHxOWtQzxPprRqjJLnAmcC0LMq4aTEbxnc9/lF5PCdaO27v+oHK7a7mlj5 qnPXtBW7dzWh7z/r63QloHLEKF9+/fht9ky7Sz4YplAVRJJA9mYglGDf8MarKx6OqFzk Sfd4r8Kkj6RkHexUux1wDqltmZQTyJyaQqGqIm2ldIQ9AsOeCn17V7qHl3KiKISFPMj6 T46gnYh/HNvUq9Ax9C1pGTvbFgAESdpXGtkfyber7NJAt3Z2am43dzp95CTX0fm+9rQS lRjBRrbYMztSaSmfruMBlOFpPhGjyd44gN3uw/FsQSYye1MoUsrBpbHL/OXSzq720Vlw NzjQ== X-Forwarded-Encrypted: i=1; AJvYcCVHpEse+2B8TNPmWGCNbBtnx/NRH6m4ZEp1ARFI/TrBul1yKjebxOXr7YVCoNDE3FxiClZGeCgDTx4AnoM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2r3VwbcbeCUD96AIznKJxWWqBwybYuqspft84eokyn7MP8tiR yQSAlOdDNjkZfCzI8eqFOJLJxEBJ57n3FTYOThsxncA9XZCa3qsybwdb4j8MG3BuESo= X-Gm-Gg: ASbGncuG7nHjq3XF7OQw/qxyP/9UypLCOk4GWlnmvBRqjnbv4BuluBZG1f0Yt/qqPfo pcJoQTimLjSHGaB0m3WBJrVGFBECnTo13aHyHxft+ch7DLzeRlOP6KxOk07d72vJo4AIokRcnad KSuOGUohUaF0TTQiCFQT9Ir7TVHOnxx2Cd9/PH35JArMmgeJmBrQXIBFe2nf2btBwMjIMLGpJ0R dDYJa/DApIwCdnyG2Rhi7/hkUwtO6Gjf/fUQItPTxFSQCOQpKjHqqbwbYJVS8XpXilhM+26g8JP VR9UNsyfWgpqguKfpWzxUxkkXrm7cz1XSNpoSw+W/FbOQNGoiseZCmxoLCPkX3GcfMYuYhGdyEM YYU8NiG2lK4XuQ6fUmQH+PCVb+UobHI/JdWg= X-Google-Smtp-Source: AGHT+IEgrYKhOCKiOsFX0gYQTF47XaE9uXp1Sdf+EyZSPFtjULtMu+TN2F343Xkf+TDAeAcNg0SfPA== X-Received: by 2002:a05:620a:4406:b0:7c7:739d:5cea with SMTP id af79cd13be357-7d443979080mr551276885a.35.1751034199591; Fri, 27 Jun 2025 07:23: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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23: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 v6 5/8] rtc: spacemit: support the SpacemiT P1 RTC Date: Fri, 27 Jun 2025 09:23:04 -0500 Message-ID: <20250627142309.1444135-6-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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 --- 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 Wed Oct 8 12:36:07 2025 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) (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 364642E3395 for ; Fri, 27 Jun 2025 14:23:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034205; cv=none; b=a7+NlEGKuv0vScD8nSP2jGTmbM8pStjEbRhEwL8DW20B80TsfEeIwiewTuLLOpyed6zT1G3DuQrrWJ0f1HoSACxRaGDlR+6+3q7bYbkdkwwyffBqFaBivtggjGSxQLYk9b9NZRJRNpUV6E8go+p9A49qCACz+zgQtsjIxGKyUFA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034205; c=relaxed/simple; bh=PfwZzjjqJBdpG245rW9fZ43Yt8RFpe6Kf9hR0M/wvXw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WKVNOAZWVi2uknomEbtuZKqBSaludoGBFKaS23ewMX1rQJm8M1A+eP/VRj4B9lZjaruckBbqOokd+pHq0msGB+CuwKlYrF/Ix0e+9fliok50Cb98cjAMHag3kKfOP+pAWb71b64rS7Sc2BOGahKTyVcMJqk3VvkaEY+z52UIFXM= 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=bo3+biOD; arc=none smtp.client-ip=209.85.222.173 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="bo3+biOD" Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-7d3dd14a7edso306736585a.2 for ; Fri, 27 Jun 2025 07:23:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034201; x=1751639001; 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=NWnze/SjFdW+lfNDCsnEitBUx1r5ZcEMc14OReZ/axQ=; b=bo3+biODD7LGhBMJw9JZexn307AmIA2AtUnAF5Cjl/lX8LYCg5ZkdIWaU4QrG7VtoU kHjewxGKCQ0YfPzX/9YwY0H8HmFsQXGIMcCfgfSYmgubfPoN+1iejl6NxOqQUYQqmY1C Y3vqwah+1m/vS9f2ASOFSBkhPJA+x9eAIXCCNaOZH/g8dTxICtfkQ6gwtlqpxW9sTQWs PUeugbP9/KDQSKWMxtgfv+8PnONY3zFt+s4QievGN8KAn1IWZNxR1J75wyI5HV/d8sTI KHZR4ObeKzMg0bJ6C6U1/6xtcd75TYRLNfQDtYlwR+uUWeTjMVnoHnQ/tNLJUZZCqwN+ L3YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034201; x=1751639001; 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=NWnze/SjFdW+lfNDCsnEitBUx1r5ZcEMc14OReZ/axQ=; b=NbF0jn7KqmmwdwnOn0I8NYn3kGEu+jJG8rw58wG50YVtd/Yjsvle7bxJmXAdRuTrT0 khxFltmpbAOwFN5tGUcjSeh39iCiUHIE57/LDZCwaDORjU7Cw2WpQPP67rje+Jf9m3e3 7/J9YWfU3UCvtuf1Zu/dAU6IKd3IU+CAhjH/sIug1b6L4a7vHA6frwt9fE68zw26woTb p7suuzP9cVhbhvJlFcoC8mO4SedxA55/m/mfJiHKyxb0fJRhSN6CHNjvD5N5A9Zdkuhd xdSF9VJOhJjxcokn+k1bspExYm4qfyq47TeI+g0RCQVzERT3A9RYuonGIWeR67PBtP7H h+RQ== X-Forwarded-Encrypted: i=1; AJvYcCXVwbua8PEK1QIMG+79/e1f0Q0BMMXD0UHXk/HEyXixvUH7ZPmn3gc9gDyocAxNq7hDJedSjGlqIwnmNMk=@vger.kernel.org X-Gm-Message-State: AOJu0Yy2PVsLgvogK0pjJ9HqIagryJGEVFt64vJXM4id+QgzFLvBxhGu ChJudKDa9qpC7IQo+iNqKtftTYXRKFraK7ysAJMrdgqH2dWgmgnkoSYGoQboMbD1MDI= X-Gm-Gg: ASbGncuziqdShcVullgoBoCjxqOjICFUeSPoZTj4cLAs593TkEFj8GWk40c6otO7H/X WLal3P4cfGBxexe7ODCmIDYIFX5wtitcr5wZx7j6hG3POStwi7+fdSVYXgQNHNBRaE30/hjMv2Q UFfJNgnM3cuSWwThpVF4oeoQUewlQNmWhH0eA/+N22RFZ+2FEsUC+bJTzvg2vH6Wdx5s6MM3ins ih1vNpQsOlo79Ycj/vvlOIOzkJv4jT3LUqduEbto7uE6/rp4E9zHK8ai97paSnJpGwnvpEbKbn4 bDSMehtDClZtCrhJZOKQIoFEEQgnN558PyARE5enb/noX9GBOJUbxNqSeR71Uv8OJ8qdbgCviwq qN5mp8AJp8vFIknraPiZYXE0uel2uNzUxKIs= X-Google-Smtp-Source: AGHT+IGbR8LfUszD/aEIdWwkUQ61eynSIqFyVoyDA8206vPOUxXJejP9vRZ618fRX8/VdY8/tjO/YQ== X-Received: by 2002:a05:620a:198b:b0:7d3:9113:7902 with SMTP id af79cd13be357-7d44397f5e8mr481566285a.38.1751034201091; Fri, 27 Jun 2025 07:23: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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23: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 v6 6/8] riscv: dts: spacemit: enable the i2c8 adapter Date: Fri, 27 Jun 2025 09:23:05 -0500 Message-ID: <20250627142309.1444135-7-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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 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 14097f1f6f447..a85239e8e430b 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 Wed Oct 8 12:36:07 2025 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (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 E9EAF2E426C for ; Fri, 27 Jun 2025 14:23:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034205; cv=none; b=e6kjyuiTKvCOIulQ8XAUBtEfv1KZnRNvLhlLcPX6AVp2hr/fjE5wTJsosgPOMjp5TN90UHGWM0xVwug+/H/JXVlZPSKaMUo7xFY1Q7KG20XnSnK0v+foKC4oGENGWZx/NRbB0wBOFwh871esmmGYMsQ1vgY9cSp8k2VMILZQMlg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034205; c=relaxed/simple; bh=E/I9W6fX+DhSmsmtI3yC9YfnKc4TowcG2XvObw3IonQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ju4cUJxOJTf9tmXsWUAVYwGvCHJoDTPA8xHJiwrRK9jwvdkKKeh6pSFP5oeJQ9vHlOJpxhKwePHeziJ4JJyziMkSG0lKbGZqnFgEDVTw46U9pQIoV8L+ry5DOug4cICkXw6W6ynoSQLKyQWcCGOYDYeVBYQSm5h7/hVfwFixdS0= 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=vyOnL0Sc; arc=none smtp.client-ip=209.85.222.171 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="vyOnL0Sc" Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7d098f7bd77so251451685a.0 for ; Fri, 27 Jun 2025 07:23:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034203; x=1751639003; 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=vyOnL0ScpdHDCvKl57jCczsekDM9IM1QoaW+iyOJlWxRzrOUhBr16IPASxwBTGflyK ted2mCV9+ImgzVD0BxXBqjybykmqTYUytYVaDqUjhoUBVi72v9x0ts7BS/Fydg69C75X MT2btvkVIY/0Esfgz83iESJo/GJNNvTNdDMz3sdSLAbc0P9tdUG6Kp5sSJ2RNaF770Ct TBSeNMnsMELfSFM36W72FIY1L+glqtZbB5lpeYN0aARIWETa/nLY9Rvhi5ISTOSgV0Xw WZYlgzRgHQIFLQIK4mOfWQbWQ/cWvKayh8jxVAImPWeJ8o6D9fFH9q0XfVGNyK4cG1e7 YKzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034203; x=1751639003; 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=B7P/gGFN99BdlYNYWzPtLBySGPICc1qov3bRx5dC4GleYcY8Ny9A8e9n52UBTpA6ds Qet/CW/JoWmdJhuD3/1xGMBVBfpjqa4F5jVu4SiYlB4jKLW62C6n0B92kBYYXWCy4XX2 e+0mmUYtTQqiCYH2F4V6ltkN5f6xLMkLbAFx1hSzH45CMN3ez4EVdLdjEPJmxxGLdbbo baIt9Ok90ErQrrwfwPOqGdoPSuizEYuXEJ++fSgIsgwjF5LqRVB66pC4s2D7ki+6k1hJ 7QstwhOmwJTnUtCo4TqZt1ySlXXhaBNj6HBL3NfOURlkQfDuKh3NbyRQjj3N/N2/VtNJ ysZA== X-Forwarded-Encrypted: i=1; AJvYcCV4ucFuF6wM6OOL7ejaXtfmYeM+EYI5NvdN9PIRlthI63nbTB+2xWzXfSWXApF1Uq7GriDq0jg0RwYjCF4=@vger.kernel.org X-Gm-Message-State: AOJu0YzAlZZi55k55J36Gd6lUMjl15+OO1dcn1slfKxL3xGuMgk2Kt5x pGMBhnf++UrqjmzaBDZjwz69swGLuQk35DgiK/UbRpaIrZDx0z/2FRHypofBXGqF4pM= X-Gm-Gg: ASbGncuNZKtSd2peTLw1Cpx6RLfbBr9VINChfDoBwSl/C5euPWfTc/dbJbf6Gcx0L5s ONQfXe15VP+yYBVfozVXqq0Qu1Nq4nlRBUnTtdVeH1ERxYme2jTUAJ1C8+J2WdojWnwDSHMvADn yhdRIdhxP6H+3oIck8llLEr4Iy0iWB+aybsTKDN1ZEtyPLkWTNuNlczoRBm+13VF4t0jVNs2aaj nZCftL+7lGPt5yENnObrp2K9MDaZ+VjETcV+giVkLu1Y1u7oPmvh751XViIHWcYX1Y1gkUgzzN5 LoTsQmdK4W16HEfu/q+Ople1pUdKvLrov0XAoTV9wK9ZLSV2kaudIUwIbTUV9Camzx3utvQ2387 NEp/omAMBTM9fNL4HfqEwSUpjS6CyeqZ9gLA= X-Google-Smtp-Source: AGHT+IE88bXOLiCjUu2+zVcecKfJf8g4CQ5BFAJMyhK2OHk7mseb/EKQgLzh833iCYXdtJd2+G7LJg== X-Received: by 2002:a05:620a:2729:b0:7d3:a7d9:1120 with SMTP id af79cd13be357-7d43bc15837mr1028658485a.24.1751034202759; Fri, 27 Jun 2025 07:23: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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23: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 v6 7/8] riscv: dts: spacemit: define fixed regulators Date: Fri, 27 Jun 2025 09:23:06 -0500 Message-ID: <20250627142309.1444135-8-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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 Wed Oct 8 12:36:07 2025 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.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 867EE2E4242 for ; Fri, 27 Jun 2025 14:23:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034207; cv=none; b=WX3BnHLhLZYsSZpSZ1QOoqtQeInozy4uPRN4csjRzGvT2p6t0GwMS6e+utFeYDiWXFDRlcAu4rRlhOcD+lf6W6T3briCdxDF2RI4D0Ip3AadfDl6L9spkF3aHpT83xmTI7u0snSzPZI3RRXgbxv1nOkzTS4TUQokC7VCK3oeD7Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751034207; c=relaxed/simple; bh=WGruvn+Gqs/wHzBEiTs0RVm377PpbfSqb1Lgjf4ooI8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VoZLogxGJxwvar8AAW7ethsV3wm32QxlVvt/nBykRJFeVhGclfbHLaWa8nQOosg7sjCcCP1Q6YuX9+V/66BZoVCjQQTOGycEVgvhpnQ+VIRavcFQgTiBMz21D+cBJVsKehXVlZEtwYeHVORYUU42e3eIouz2sq7+t+g84S++ZFs= 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=dT+kvDuq; arc=none smtp.client-ip=209.85.222.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="dT+kvDuq" Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-7d3900f90f6so215515885a.1 for ; Fri, 27 Jun 2025 07:23:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20230601.gappssmtp.com; s=20230601; t=1751034204; x=1751639004; 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=dT+kvDuqF1kfPGWN6JwDW+vev/qmOzlGa9RfYmZOsbIb38Eqfan9QVXZMZTveDhzzP yW4aJz9PcxsS0YdWHrkpomTRATIBHe3QqvgoSnyN5bbvokUnb/gvx4NhN6a0gma3yxJr 6PIWbgCPszfeiLbki+XzYge16kwuUedMT1ii3hYJw6VUw8w0ILq3tcqnRKR/dkKqz3GU wH0zpxPCXkbCOPKr4IKTEtE4MjzuHkwj7PHnOQPLv1ulWVbaOP9Re78XD+GgIHHW4LjY 1dQ1Si/RisDnIejzyuto2VC72ojx//yJ5V0BFbgWMrUI/uvufnYedKIBjqJFIcrtpZ9D eCWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751034204; x=1751639004; 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=LLKNN9Yw1HLU+zTzkWfi6Ee3evdy3GModaNiLZoDAtgmLCyoN5Rf5worypPvuJ0QeQ BAnHqPxnRN6tjvqAcVQs2GgrJ0mvvpQq7bRSZyMT1Ili2VbDIG4xQ5sTpDCDR1cAfpEM uAWU67pJAnaGZ+epMdKcOMWXwKAsytyPtxsy5SPVOJoFVU2u1ct8bmh/U8iYbqncTr8m t5nsZxuj1or0iRJQqS/xVp5/vlaPWaswe99KYmN14ZU0quM4VZ4stczJRlbsJNt6XRB2 Rp7MNRrF4IppAT4nYU7BieM5Sb5g56G/AoDaPvyUhVtD08EIkFWG97bfC7h9U7KIfnp9 TOhg== X-Forwarded-Encrypted: i=1; AJvYcCWxwyN2XCvp0w3FjJJ2N8S//yUhyx2D+qLZ8a4n9jmwTHtwuDO7XlDMaKcbMkZ1K5WdVAJpyA/Edd7lLSk=@vger.kernel.org X-Gm-Message-State: AOJu0YwZz7uOIWilNKIdBZXP/cRF2FBh4A+sLiTSOJCD0N+EjCpiWPIP WL7qaeA+emDEdXXgqrV25ifvlylN+QXUEO18eoo4Y1JjR1/8qB53w1bcaS/o6oO9Y8U= X-Gm-Gg: ASbGnctyV9psrFpzJQcUB19mY6S0O3HrxB7nPNgn+XcDXHrChVpSL7Mxwl0hMP4+6XA RIgX13eh5dYaz1RJj6W0/v0a7j61J+YqrKKpYlITAKHXjyvc/z9Fwq7w0J0a2J5DHgyguAuvrXP OXRLw4OF5W8ZgJGwyY6TewWl72TZH2+OQ5ccWIeWBskJxgGj7KvnsUlo4clb+pXjQDXq/9W1L+t iS/ptcvsJsvXpyObweMVzu3lhQXzHiD1ttknRssctRpHto3LFoAKBEgAZTS08Tdp0wFCLrf4gN4 wabHf0FtPfE8gCk61cG7JmpLnYBAyIiHYjLSPbKUeHT6wv73pBvxc6Amhivu0yZ/66Dln7vczOw 5WOrRZLPd1qUoI4wqyiL/9v/WtsmrDSMrVu7SvBf6uGwnWQ== X-Google-Smtp-Source: AGHT+IEOMLIfoVtqd+xrDcmHNR6PL3WFi16wi4PjfJ1dVACxbcBTOICTcDqGxxibtiWpz5q9BS7ImA== X-Received: by 2002:a05:620a:288c:b0:7d4:3d40:4a with SMTP id af79cd13be357-7d4439b8e6fmr452165885a.51.1751034204384; Fri, 27 Jun 2025 07:23:24 -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 af79cd13be357-7d44323b4c4sm135708785a.106.2025.06.27.07.23.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 07:23:24 -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 v6 8/8] riscv: dts: spacemit: define regulator constraints Date: Fri, 27 Jun 2025 09:23:07 -0500 Message-ID: <20250627142309.1444135-9-elder@riscstar.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250627142309.1444135-1-elder@riscstar.com> References: <20250627142309.1444135-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