From nobody Fri Dec 19 20:56:36 2025 Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (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 6DE89156C69; Wed, 16 Apr 2025 00:15:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744762560; cv=none; b=b0rFmAOtVZ8K7FBeo53y1J2h5oVxrC2oWYcPowClW9LjAIxEu4eWL26gLhoM8b9ksvNEjp/bmpWSjg2A5kAN1dJpKzXIkjpwT1HUSuwvhpO17WQVBhC69zdMxRku1X4T5iuAJTSjuq8o3OHjOeYFvkoLaSTY+uykcZHEB4Ojsh4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744762560; c=relaxed/simple; bh=fq5AgxXL/Rbjv2xhS5kCE8LhEurOI0DQa//wPMhgu/0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pEca9F46gSRFuKfKIX7G6xdIdDcaw/jI1OhXnznsYDSHqOVDZBHjvg2sfPmVOe3AZm+tg6mVmdx3HM7bLZuDj0aU5MMauWwSAolsYS/TyfyzxlYgeInp85Wix2aZrVKfsDxKtCn9go2/QmKCF1R6NB/+MgPPEE04TnTYx7rJInE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org; spf=pass smtp.mailfrom=gentoo.org; arc=none smtp.client-ip=140.211.166.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gentoo.org Received: from [127.0.0.1] (unknown [116.232.27.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dlan) by smtp.gentoo.org (Postfix) with ESMTPSA id 8AEB0343029; Wed, 16 Apr 2025 00:15:55 +0000 (UTC) From: Yixun Lan Date: Wed, 16 Apr 2025 08:15:27 +0800 Subject: [PATCH v2 1/2] dt-bindings: pinctrl: spacemit: add clock and reset property Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250416-02-k1-pinctrl-clk-v2-1-2b5fcbd4183c@gentoo.org> References: <20250416-02-k1-pinctrl-clk-v2-0-2b5fcbd4183c@gentoo.org> In-Reply-To: <20250416-02-k1-pinctrl-clk-v2-0-2b5fcbd4183c@gentoo.org> To: Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, Yixun Lan X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=1580; i=dlan@gentoo.org; h=from:subject:message-id; bh=fq5AgxXL/Rbjv2xhS5kCE8LhEurOI0DQa//wPMhgu/0=; b=owEBzQIy/ZANAwAKATGq6kdZTbvtAcsmYgBn/vawMQPl39xdOBu0MVmeiRBAO6QN71bJ05Fhj KvIKdPMxXSJApMEAAEKAH0WIQS1urjJwxtxFWcCI9wxqupHWU277QUCZ/72sF8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0QjVCQUI4QzlDMzF CNzExNTY3MDIyM0RDMzFBQUVBNDc1OTREQkJFRAAKCRAxqupHWU277bYOD/9psoPxRAYyY97+cr 7B9lUH1knhfElEXQUcSNxBUIyoXXnLi7sZLtF42kZNoO404rmnH0HGsi7tdXcDmhWsqz1x4yUUX NpL33+zkZYaWDQvGX6pcmjuUCQNAjjYqP5UhVKf+HWjVty6XasLtMJleKmK+AnU+J3byeAWNkUh 5Z2Pq8RpNjjmBifqytwbRp++wb2wlDpYDdEvhzvWmEOTQaIhH+6L4z6snkVzPVo5sUSRyJVUZBL U1YKLUNTYJKxBiXmeGTgMB5f0Vy9v4oOL63buQh5aplEho7JyZUdGj0XUDG2BYkIm/kbwiSWK0p 8B0Pu6kplkMWHhG5afP1x9Lp3HKUdCoQLz46LHElcBT6+MCnaRN0dhOfmZEg9HG9+7sty8mSPSI nAO9I3WHclWHOcmUVRuB77h5rpaR7zrbUoa15NzLun0RCRETgYV9u3pXuuAEpVrU4aOF+54fBev ta5tJUDEtBNrCGnNrjtgJ5Qfs449iSCxbm/eLP7zZ5q5r4+VLl3mHh2Q/kMKmU+HyUkli1m/zQH iDssGyfdIK3uMIpfTQPQZBsS46V6ua2FKRt/iI5K+B/FtsvTQ4DLSjtC+6kD0/WmoF80H/B0ftc SKAuBcBorwsNVek2eDeT8S2R+yRMV9u4/O/U0lziDao9tiIe4MEhoNQeuUNJEVUC1qRQ== X-Developer-Key: i=dlan@gentoo.org; a=openpgp; fpr=50B03A1A5CBCD33576EF8CD7920C0DBCAABEFD55 SpacemiT K1 SoC's pinctrl controller requires two clocks in order to work properly, also has one reset line from hardware perspective. Signed-off-by: Yixun Lan Reviewed-by: Rob Herring (Arm) --- .../bindings/pinctrl/spacemit,k1-pinctrl.yaml | 18 ++++++++++++++= ++++ 1 file changed, 18 insertions(+) diff --git a/Documentation/devicetree/bindings/pinctrl/spacemit,k1-pinctrl.= yaml b/Documentation/devicetree/bindings/pinctrl/spacemit,k1-pinctrl.yaml index b01ecd83b71b5e9f47256adde23bc8b183bef05e..d80e88aa07b45f4a3d90e8217ca= f93d32655927d 100644 --- a/Documentation/devicetree/bindings/pinctrl/spacemit,k1-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/spacemit,k1-pinctrl.yaml @@ -17,6 +17,19 @@ properties: items: - description: pinctrl io memory base =20 + clocks: + items: + - description: Functional Clock + - description: Bus Clock + + clock-names: + items: + - const: func + - const: bus + + resets: + maxItems: 1 + patternProperties: '-cfg$': type: object @@ -94,6 +107,8 @@ patternProperties: required: - compatible - reg + - clocks + - clock-names =20 additionalProperties: false =20 @@ -108,6 +123,9 @@ examples: pinctrl@d401e000 { compatible =3D "spacemit,k1-pinctrl"; reg =3D <0x0 0xd401e000 0x0 0x400>; + clocks =3D <&syscon_apbc 42>, + <&syscon_apbc 94>; + clock-names =3D "func", "bus"; =20 uart0_2_cfg: uart0-2-cfg { uart0-2-pins { --=20 2.49.0 From nobody Fri Dec 19 20:56:36 2025 Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (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 548E5158538; Wed, 16 Apr 2025 00:16:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744762566; cv=none; b=HRjJ3lTTZBRKBk4Zqh4JvZuvdzWCFCVB45EYPA9BsGce3nUkqQgQac6SRE6Awykl6WhjRi4atjAwr7HQDp5sWNo6figJxxmcRFXcjjrr51B4aWP0Vpu6J0uqKU19vkxoyHMBWojJhyoNBdj1eU9O8ciY71AIhD1QP5TCcWYsWSU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744762566; c=relaxed/simple; bh=hgCxsX2xeB7ssokjMjVuQzAe/R10W2qnEsmZP030Ffw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A4VMm+yoUmfPmgMMa1bL2GLAhPzlYlnC4NGbeEs4tTWDq1RENMVRkeXrS+lIJqWXq2g2I8gp7TkWky0cPeojypvdz4QKCurCW0dGvkC4k3b77W369oz7xvxWDS+6Q6wXKuTawLhOu/HuPp6Dsgw4N8V8tYx61JlR2B0z3OL49QU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org; spf=pass smtp.mailfrom=gentoo.org; arc=none smtp.client-ip=140.211.166.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gentoo.org Received: from [127.0.0.1] (unknown [116.232.27.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dlan) by smtp.gentoo.org (Postfix) with ESMTPSA id 6FD22343030; Wed, 16 Apr 2025 00:15:59 +0000 (UTC) From: Yixun Lan Date: Wed, 16 Apr 2025 08:15:28 +0800 Subject: [PATCH v2 2/2] pinctrl: spacemit: add clock support for K1 SoC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250416-02-k1-pinctrl-clk-v2-2-2b5fcbd4183c@gentoo.org> References: <20250416-02-k1-pinctrl-clk-v2-0-2b5fcbd4183c@gentoo.org> In-Reply-To: <20250416-02-k1-pinctrl-clk-v2-0-2b5fcbd4183c@gentoo.org> To: Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, Yixun Lan X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=1635; i=dlan@gentoo.org; h=from:subject:message-id; bh=hgCxsX2xeB7ssokjMjVuQzAe/R10W2qnEsmZP030Ffw=; b=owEBzQIy/ZANAwAKATGq6kdZTbvtAcsmYgBn/vazO0PhBV3WPP1OZXqUueTvxrOgsBekglOzs 2flGSx0VBeJApMEAAEKAH0WIQS1urjJwxtxFWcCI9wxqupHWU277QUCZ/72s18UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0QjVCQUI4QzlDMzF CNzExNTY3MDIyM0RDMzFBQUVBNDc1OTREQkJFRAAKCRAxqupHWU277SahD/0e1oRz5hGAZTG1Et g8bInVmC8CEMmr0kzBRpOP1Js4grVnpkKsd9sGQodGaOD6sln3Qwh0O6+DggxzF1SgpQmNqui+j HIUSEHKA2AHR4S/vZDJQ+LD2pa/ZFQgRrI4iN+GWZAc2rt2S5jNZ9wuvmwxbP/LCnEMIR1dTxy3 AX04edMdmRjQE3FkWQCPREeL+Ed1mRBV2LXgeRZW4khOAlWbOe38+AV5jEn+BKGFYRWlO2VJH9+ 0thGgvE4DgAgy7btKVf7v/Dm9/gpqdlj3ZVl6rRn7VzsnmhmqL42bAmALeZu1jY9YrEHm3nt4zM Xu8dR1HbExOZy80xmppsFUVQ/GCCJlBGHn34+NWCgjWPbsYfb1CORhVhB1EpMXF0HpxRGJlP6Gt Vjy0AjEliOgdvk3Pf+yhyUlPEfw21h5R/MF3HwvhqfZkf+prNS4VpzIHEQQoEOPb1g8UGa4MTio efLoCflAZXFBWfXsv260MRkWSBLJtWTtBV+bejJzpKHtekwn7T3uhRjD2tx0JqoEVhfA4Ue2HK1 IxmvMj7Ql4JJxRSOSg+BUqmdyyv8Pg2QnWOrMbYLvzcXGpp3tnxzui1aaiaY5lDrhBbnfE8XC4D 6c98W1KXB04fYZIOmISajq6/UCoTSUz1T8zEN7OkCf5LC7mgzGAw9bTjlbQ7aBz5yADg== X-Developer-Key: i=dlan@gentoo.org; a=openpgp; fpr=50B03A1A5CBCD33576EF8CD7920C0DBCAABEFD55 For SpacemiT K1 SoC's pinctrl, explicitly acquiring clocks in the driver instead of relying on bootloader or default hardware settings to enable it. Signed-off-by: Yixun Lan Reviewed-by: Alex Elder --- drivers/pinctrl/spacemit/pinctrl-k1.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacem= it/pinctrl-k1.c index 67e867b04a02ea1887d93aedfdea5bda037f88b1..9996b1c4a07e72f2a3832b759fe= ddcd4e07f2159 100644 --- a/drivers/pinctrl/spacemit/pinctrl-k1.c +++ b/drivers/pinctrl/spacemit/pinctrl-k1.c @@ -2,6 +2,7 @@ /* Copyright (c) 2024 Yixun Lan */ =20 #include +#include #include #include #include @@ -721,6 +722,7 @@ static int spacemit_pinctrl_probe(struct platform_devic= e *pdev) { struct device *dev =3D &pdev->dev; struct spacemit_pinctrl *pctrl; + struct clk *func_clk, *bus_clk; const struct spacemit_pinctrl_data *pctrl_data; int ret; =20 @@ -739,6 +741,14 @@ static int spacemit_pinctrl_probe(struct platform_devi= ce *pdev) if (IS_ERR(pctrl->regs)) return PTR_ERR(pctrl->regs); =20 + func_clk =3D devm_clk_get_enabled(dev, "func"); + if (IS_ERR(func_clk)) + return dev_err_probe(dev, PTR_ERR(func_clk), "failed to get func clock\n= "); + + bus_clk =3D devm_clk_get_enabled(dev, "bus"); + if (IS_ERR(bus_clk)) + return dev_err_probe(dev, PTR_ERR(bus_clk), "failed to get bus clock\n"); + pctrl->pdesc.name =3D dev_name(dev); pctrl->pdesc.pins =3D pctrl_data->pins; pctrl->pdesc.npins =3D pctrl_data->npins; --=20 2.49.0