From nobody Thu Oct 2 14:27:57 2025 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 EF63C2848AE for ; Tue, 16 Sep 2025 06:48:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758005288; cv=none; b=qoGRYk1G1cNzAM+wnkKWPF9tnENxBV634NP8IfR04tcVq19NQ2ulHHLIMWF1bHYtl0pxkltEwcG7MHzOFb3hT8jdkr8ekgs4uG1vaXX4VQOZdBASHuzMl2dao69xMnyXWrpXGrnShv9YkIDDUkqyv5VjAr8oYXMvZ7rWrBGQdyU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758005288; c=relaxed/simple; bh=iE5YcaX8uFMpkzGFw9rEaSljPVAWlcaXrgqZJlNRSj0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=oVaQXxqRvy9DjiczGE0r7690zDIiLJCHjesQg/GiRcxY928ZW2O+PL44XBYWfzZIq/zE6tB6/wmSTuY52W6j3AcNLYNhPBid1Jtr2ciKUGkqOpdIwx3BQ3vOYGlAkqqRVwjA44zeWBqYNx1MbQuxAgHZQLYgmgHMkCNenrs/oQI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=hammernet.be; spf=fail smtp.mailfrom=hammernet.be; dkim=pass (2048-bit key) header.d=hammernet-be.20230601.gappssmtp.com header.i=@hammernet-be.20230601.gappssmtp.com header.b=KcAq1g1Q; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=hammernet.be Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=hammernet.be Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=hammernet-be.20230601.gappssmtp.com header.i=@hammernet-be.20230601.gappssmtp.com header.b="KcAq1g1Q" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3ebe8dc13a3so799785f8f.3 for ; Mon, 15 Sep 2025 23:48:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammernet-be.20230601.gappssmtp.com; s=20230601; t=1758005284; x=1758610084; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=X+tAo4VoGXmxIB6DBfAH6v8rnl1xLmXmwDgGYNdFUWo=; b=KcAq1g1QRNgco1b5uSe8yh3jnuWVfOS0ODdi1nYDaNUa/mIRS3kBkNC1dyTGUXyJ+O /Q0tkjojYbBTZ0S9C1ih8CGz9bkkwW6lKZZi7t8f5fhmPaSqlJ4CaJ61GuG2sn6Rd84p DKvs+h6rLRj1nWt577HqhCrOj6RsUXXr5PJmXkdHyuH9jRSDI62cqK2EB3xX2lr/e82B WHBjSIE1nzmR7Ncour8cTKTBCm+cf7iUWDVVdMCz3g7dAoHdl6E2eOgHqvY1CEbG+Qfq FnKeXk6MzeDjaxQzvEXWIY9DFTARmKQXqnppKevDAUQ/J0LYaxFpz0ZAhVPcK0lcleUY b6VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758005284; x=1758610084; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=X+tAo4VoGXmxIB6DBfAH6v8rnl1xLmXmwDgGYNdFUWo=; b=mdZUSot0Ltolsp1XNTOMrqWBDr4ZzpMZeogGA6T47CtOu5qWmyzrVNLnucI4HFnsGc eAXli3yWimgtWAC8Zs71RAb0pQJeRisssRvUUoI+Uj/Qy4pG5Jbw5cafZjL+J4e1Bb0J aM8EH8JBz0F2tf4KqjFsQBOKPtiYaGkIarYPvPY/rFM6bNBfqZDlaXK8gDFZmPzMCU7b 4wABrIGwHO/XhvqLlgzi2QkXiOQUZOT/qUTl6C04CXqQDkrBOOTjpFMyTd0LE3OKoLvQ b6XUaCP5up9XvkdNRsKsWwu6UriRQneMrTAxhV0OqgZ7ZukixqITUDmbXDIPMUocKLw/ 5UyA== X-Forwarded-Encrypted: i=1; AJvYcCXN8M6brRogmtkI1XeaV68YVcHAnKlM2ImnBs/3s9CJenmO/J32orYfsbPhBCTu1q2LOgjTeHBgamLjlDs=@vger.kernel.org X-Gm-Message-State: AOJu0Yyq6l7FlErIO9IteMjsXOJ3bKs1cX0Nw7L6BXrP+kpD2NxcBgXU uJ+Ese4o/MR/DWkGJqvG+N/s17WGVORd33+mnIp2OBQjKVIauSO3icMpl4olf1nyU1c= X-Gm-Gg: ASbGnctCB9ZTCNNtDbw4/mp8a+hS1iUmzhs2A9KAgFbjaLjLOMaDc0jmn87rxDPwwep i95eUc3FtvUK471yx8Osos3EA71i0m54nM77PaMI3AxrOqFXY4Slr5HIQSIzHbxkWsZOSpj9ZBZ pJbY19dVaCkKyTMOaUudsFt87tpiV38Pc4Jadp3H8OmYfBCvaM/QBjPA0srN/Ip5LtVwlFDlaBg ghpJHI8i+00FAmZCDyzh4co5cHS/hEFWtoXQaIDHVEe87Clb3puLIx7x9aivdL2+Iw68ZVNqVMV 4il0yXWzSo23M9k28z6g8wnSZvxHzP0pM7cMDUOQ/1JXQmEJiXVZYEYpAAOmYF7P8+VdLq2DHsI HOHuwE+nhqB/ndzYqGFpFRw5Kx8r405z2RHy8yxEJGvOXmyOBD5I= X-Google-Smtp-Source: AGHT+IGIwZaL6eOxPY8i2tbasRq97/i9+Lhu6vC4tuOQC3RyZlYOA3fBU42M6yAQ/jln3QAv3pl44Q== X-Received: by 2002:a05:6000:3112:b0:3ea:80ec:8552 with SMTP id ffacd0b85a97d-3ea80ec89aamr4981748f8f.57.1758005283614; Mon, 15 Sep 2025 23:48:03 -0700 (PDT) Received: from pop-os.telenet.be ([2a02:1807:2a00:3400:7f27:d8d2:cb4b:f811]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45e037c9d91sm203672575e9.20.2025.09.15.23.48.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Sep 2025 23:48:03 -0700 (PDT) From: Hendrik Hamerlinck To: dlan@gentoo.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr Cc: skhan@linuxfoundation.org, linux-kernel-mentees@lists.linux.dev, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, Hendrik Hamerlinck Subject: [PATCH v3] riscv: dts: spacemit: add UART pinctrl combinations Date: Tue, 16 Sep 2025 08:47:39 +0200 Message-ID: <20250916064739.196695-1-hendrik.hamerlinck@hammernet.be> X-Mailer: git-send-email 2.43.0 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 UART pinctrl configurations based on the SoC datasheet and the downstream Bianbu Linux tree. The drive strength values were taken from the downstream implementation, which uses medium drive strength. CTS/RTS are moved to separate *-cts-rts-cfg states so boards can enable hardware flow control conditionally. Signed-off-by: Hendrik Hamerlinck Reviewed-by: Yixun Lan --- Changes in v3: - Added /omit-if-no-ref/ to pinctrl states to reduce DT size Changes in v2: - Split cts/rts into separate pinctrl configs as suggested - Removed options from board DTS files to keep them cleaner --- arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi | 432 ++++++++++++++++++- 1 file changed, 429 insertions(+), 3 deletions(-) diff --git a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi b/arch/riscv/boot= /dts/spacemit/k1-pinctrl.dtsi index 381055737422..7811fb485bd4 100644 --- a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi @@ -11,12 +11,438 @@ #define K1_GPIO(x) (x / 32) (x % 32) =20 &pinctrl { + /omit-if-no-ref/ + uart0_0_cfg: uart0-0-cfg { + uart0-0-pins { + pinmux =3D , /* uart0_txd */ + ; /* uart0_rxd */ + power-source =3D <3300>; + bias-pull-up; + drive-strength =3D <19>; + }; + }; + + /omit-if-no-ref/ + uart0_1_cfg: uart0-1-cfg { + uart0-1-pins { + pinmux =3D , /* uart0_txd */ + ; /* uart0_rxd */ + power-source =3D <3300>; + bias-pull-up; + drive-strength =3D <19>; + }; + }; + + /omit-if-no-ref/ uart0_2_cfg: uart0-2-cfg { uart0-2-pins { - pinmux =3D , - ; + pinmux =3D , /* uart0_txd */ + ; /* uart0_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; =20 - bias-pull-up =3D <0>; + /omit-if-no-ref/ + uart2_0_cfg: uart2-0-cfg { + uart2-0-pins { + pinmux =3D , /* uart2_txd */ + ; /* uart2_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart2_0_cts_rts_cfg: uart2-0-cts-rts-cfg { + uart2-0-pins { + pinmux =3D , /* uart2_cts */ + ; /* uart2_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart3_0_cfg: uart3-0-cfg { + uart3-0-pins { + pinmux =3D , /* uart3_txd */ + ; /* uart3_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart3_0_cts_rts_cfg: uart3-0-cts-rts-cfg { + uart3-0-pins { + pinmux =3D , /* uart3_cts */ + ; /* uart3_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart3_1_cfg: uart3-1-cfg { + uart3-1-pins { + pinmux =3D , /* uart3_txd */ + ; /* uart3_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart3_1_cts_rts_cfg: uart3-1-cts-rts-cfg { + uart3-1-pins { + pinmux =3D , /* uart3_cts */ + ; /* uart3_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart3_2_cfg: uart3-2-cfg { + uart3-2-pins { + pinmux =3D , /* uart3_txd */ + ; /* uart3_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart3_2_cts_rts_cfg: uart3-2-cts-rts-cfg { + uart3-2-pins { + pinmux =3D , /* uart3_cts */ + ; /* uart3_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart4_0_cfg: uart4-0-cfg { + uart4-0-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + power-source =3D <3300>; + bias-pull-up; + drive-strength =3D <19>; + }; + }; + + /omit-if-no-ref/ + uart4_1_cfg: uart4-1-cfg { + uart4-1-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart4_1_cts_rts_cfg: uart4-1-cts-rts-cfg { + uart4-1-pins { + pinmux =3D , /* uart4_cts */ + ; /* uart4_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart4_2_cfg: uart4-2-cfg { + uart4-2-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart4_3_cfg: uart4-3-cfg { + uart4-3-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart4_3_cts_rts_cfg: uart4-3-cts-rts-cfg { + uart4-3-pins { + pinmux =3D , /* uart4_cts */ + ; /* uart4_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart4_4_cfg: uart4-4-cfg { + uart4-4-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart4_4_cts_rts_cfg: uart4-4-cts-rts-cfg { + uart4-4-pins { + pinmux =3D , /* uart4_cts */ + ; /* uart4_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart5_0_cfg: uart5-0-cfg { + uart5-0-pins { + pinmux =3D , /* uart5_txd */ + ; /* uart5_rxd */ + power-source =3D <3300>; + bias-pull-up; + drive-strength =3D <19>; + }; + }; + + /omit-if-no-ref/ + uart5_1_cfg: uart5-1-cfg { + uart5-1-pins { + pinmux =3D , /* uart5_txd */ + ; /* uart5_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart5_1_cts_rts_cfg: uart5-1-cts-rts-cfg { + uart5-1-pins { + pinmux =3D , /* uart5_cts */ + ; /* uart5_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart5_2_cfg: uart5-2-cfg { + uart5-2-pins { + pinmux =3D , /* uart5_txd */ + ; /* uart5_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart5_2_cts_rts_cfg: uart5-2-cts-rts-cfg { + uart5-2-pins { + pinmux =3D , /* uart5_cts */ + ; /* uart5_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart5_3_cfg: uart5-3-cfg { + uart5-3-pins { + pinmux =3D , /* uart5_txd */ + ; /* uart5_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart5_3_cts_rts_cfg: uart5-3-cts-rts-cfg { + uart5-3-pins { + pinmux =3D , /* uart5_cts */ + ; /* uart5_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart6_0_cfg: uart6-0-cfg { + uart6-0-pins { + pinmux =3D , /* uart6_txd */ + ; /* uart6_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart6_0_cts_rts_cfg: uart6-0-cts-rts-cfg { + uart6-0-pins { + pinmux =3D , /* uart6_cts */ + ; /* uart6_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart6_1_cfg: uart6-1-cfg { + uart6-1-pins { + pinmux =3D , /* uart6_txd */ + ; /* uart6_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart6_1_cts_rts_cfg: uart6-1-cts-rts-cfg { + uart6-1-pins { + pinmux =3D , /* uart6_cts */ + ; /* uart6_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart6_2_cfg: uart6-2-cfg { + uart6-2-pins { + pinmux =3D , /* uart6_txd */ + ; /* uart6_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart7_0_cfg: uart7-0-cfg { + uart7-0-pins { + pinmux =3D , /* uart7_txd */ + ; /* uart7_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart7_1_cfg: uart7-1-cfg { + uart7-1-pins { + pinmux =3D , /* uart7_txd */ + ; /* uart7_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart7_1_cts_rts_cfg: uart7-1-cts-rts-cfg { + uart7-1-pins { + pinmux =3D , /* uart7_cts */ + ; /* uart7_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart8_0_cfg: uart8-0-cfg { + uart8-0-pins { + pinmux =3D , /* uart8_txd */ + ; /* uart8_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart8_1_cfg: uart8-1-cfg { + uart8-1-pins { + pinmux =3D , /* uart8_txd */ + ; /* uart8_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart8_1_cts_rts_cfg: uart8-1-cts-rts-cfg { + uart8-1-pins { + pinmux =3D , /* uart8_cts */ + ; /* uart8_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart8_2_cfg: uart8-2-cfg { + uart8-2-pins { + pinmux =3D , /* uart8_txd */ + ; /* uart8_rxd */ + power-source =3D <3300>; + bias-pull-up; + drive-strength =3D <19>; + }; + }; + + /omit-if-no-ref/ + uart8_2_cts_rts_cfg: uart8-2-cts-rts-cfg { + uart8-2-pins { + pinmux =3D , /* uart8_cts */ + ; /* uart8_rts */ + power-source =3D <3300>; + bias-pull-up; + drive-strength =3D <19>; + }; + }; + + /omit-if-no-ref/ + uart9_0_cfg: uart9-0-cfg { + uart9-0-pins { + pinmux =3D , /* uart9_txd */ + ; /* uart9_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart9_1_cfg: uart9-1-cfg { + uart9-1-pins { + pinmux =3D , /* uart9_txd */ + ; /* uart9_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart9_1_cts_rts_cfg: uart9-1-cts-rts-cfg { + uart9-1-pins { + pinmux =3D , /* uart9_cts */ + ; /* uart9_rts */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + /omit-if-no-ref/ + uart9_2_cfg: uart9-2-cfg { + uart9-2-pins { + pinmux =3D , /* uart9_txd */ + ; /* uart9_rxd */ + bias-pull-up; drive-strength =3D <32>; }; }; --=20 2.43.0