From nobody Thu Oct 2 15:35:36 2025 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 211FA301004 for ; Mon, 15 Sep 2025 11:29:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757935768; cv=none; b=DCQZAwxFAPPTnI4aKApNusZGbfB4F5y/eUhakDGWyitFf+o/fT0kZQtUx94vdzD3IVuERHSXsW3vsDG+9aKXLALVukxA7PiPo1JfvC943wwaTlOomOgIJcPtEctQrXR9RkNmBkMX9jad1F/9xuYRZjj5Th4UGsSPJZVEbhAU3R0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757935768; c=relaxed/simple; bh=4l2eg06c1tAahiaz283LVZpyYDzwxcmSgY8t1gDaAVY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=j6TkytidcSENr2vbtM6feMiTJ78ICKy09maOCBGjqOIYFuyRbzUuvUZVt3l3nXjxuqM+6MnzRWycCBoPxCwhd/0ascsr7+FAfZnHd8FWw+wn4lmSbODfm+8z6HWMaGk7sNKme/KLteIVJdiKsmBU8dJwxartqVS7wf5a7lvWRFA= 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=OPvzk38q; arc=none smtp.client-ip=209.85.221.50 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="OPvzk38q" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3eb0a50a4c3so510798f8f.1 for ; Mon, 15 Sep 2025 04:29:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammernet-be.20230601.gappssmtp.com; s=20230601; t=1757935763; x=1758540563; 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=soW0jnL8WPot+9xDRD3R6Vi9tfo4BYG43zuH0Mb5i5w=; b=OPvzk38qh1P1o8Vr8/kcBPkCr4B91n9jcJB0uBUGtZmZosGbaRWhyJU/t+wz+mlhZu xslczcyLN/91wO5zB+3plnb/9jHB8vb+OIVHB2CSqLhv+1rEvfU4mNiVKIIGNuM67dEY 90ftSFBhE448Glq44FM4CslvyotKRJsimxnYDa4w3Aq7aacJ2kvOI4eer5/o8COHOLqL jQUkdiqHN82YEmN1AfBjS0RQ4wysO5rUkv6nWa1Sf5RrOkOjEJjJEg+K2/FpHopIG/mU EfrjRU03p9uN6RLyPCPxmXzq/DH7Mm1zpp6AlC6MuzBGrtz2Y8kI+vRi5eYeZyga7RUn QKLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757935763; x=1758540563; 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=soW0jnL8WPot+9xDRD3R6Vi9tfo4BYG43zuH0Mb5i5w=; b=okOIfQLi+JAQWbCUUbQXiL+lSCrrE8i8/gexCXoBQmnrY79vGQX0RaJIN0cS4RYdwl fDa6MSmYwDviTP/lkgA6sXqRMWQAFOgl5BpSxXF4/tCTKkQfrmUqQNDock7eEQsw6AMo 0Oc0zP94V0kugJPh36v+oSjXcSBI96IH+O9kQh7eEBiYaaJKI3VaHP1k1e2xjQmHzzan Ib2pcIGwt01E2SJwDAa7acxju8srYv0r65s7UxaEFFhG5uNLHUSlI2uDZJonimYz82EU 3HI7geKlHDpLYZqBM6pUgFTLiZd3F1MRKSxb5BQ7GSC+lFcZFErH5HGsy8eLpsA4VZ4r 6PNA== X-Forwarded-Encrypted: i=1; AJvYcCVeKkiKdrNRsYKmxT9OaP5zfQmYovA9zfXWC3n7sJAoZNc1g9HzPbFcGVg39aJQyruUzzYPb52KYwgb8PI=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1S+gJ7w59Q2ab12qgK2xlKmGopjTk3qM3I634cXflVrkrT/RQ eOUoubkcgXQj86pB+WPqjh/G2+ZICGRRX5YjrW8yxbdzY+CQTtKMWT/tvippWmoJb1c= X-Gm-Gg: ASbGncvq4iintpujFinlRqWnniVhoynFibgiTT3Boma/LKXzJZsiBp/9CeQSHgwcaVt zgrqf6wXOLq2BIW4aKVLHb/Rpp3djAoFiwJ5MY/mR5E7HNDRFe1/t39YizAsIK2Xzdr59ltnDK9 LMdk6VLROvZoWcxItROEQu89F762Oa8+8HhQTbjOy+bq6/5yqdjhymh4h7NvucHLFPgl+5hHpjP NryUGjp+3TLN/d49YPEia1SxnuM/9wr5YMJXb0r9drFkc8zihd76ePQvTtKfe2KG2bg65meXYca AWLcOWRrj8ypVSNVDBtl2GEhsrFRRKANJXwv3RfXgQt9bCiP9Mgc/OXrlp3x211xLLL+hW31JyQ 2h7TkhrqXecRv8Kzj8ldgWx4gv+MPdWPPyzZeS9kJcC2psewI7w== X-Google-Smtp-Source: AGHT+IF5Raa4GGsmgRPEVW/a/w+92KHvjP8UOvE2mb8YOib/5XzFtVE36lbSCNtod9NBJ/bMJKOmyw== X-Received: by 2002:adf:a1ce:0:b0:3e9:4fe4:2632 with SMTP id ffacd0b85a97d-3e94fe45e49mr3994188f8f.46.1757935763050; Mon, 15 Sep 2025 04:29:23 -0700 (PDT) Received: from pop-os.telenet.be ([2a02:1807:2a00:3400:8a33:a6aa:d0e:30e9]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7cde81491sm11874635f8f.42.2025.09.15.04.29.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Sep 2025 04:29:22 -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 v2] riscv: dts: spacemit: add UART pinctrl combinations Date: Mon, 15 Sep 2025 13:28:45 +0200 Message-ID: <20250915112845.58134-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 --- 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 | 389 ++++++++++++++++++- 1 file changed, 386 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..8f87f8baaf77 100644 --- a/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi +++ b/arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi @@ -11,12 +11,395 @@ #define K1_GPIO(x) (x / 32) (x % 32) =20 &pinctrl { + 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>; + }; + }; + + 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>; + }; + }; + 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>; + uart2_0_cfg: uart2-0-cfg { + uart2-0-pins { + pinmux =3D , /* uart2_txd */ + ; /* uart2_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart3_0_cfg: uart3-0-cfg { + uart3-0-pins { + pinmux =3D , /* uart3_txd */ + ; /* uart3_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart3_1_cfg: uart3-1-cfg { + uart3-1-pins { + pinmux =3D , /* uart3_txd */ + ; /* uart3_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart3_2_cfg: uart3-2-cfg { + uart3-2-pins { + pinmux =3D , /* uart3_txd */ + ; /* uart3_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + 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>; + }; + }; + + uart4_1_cfg: uart4-1-cfg { + uart4-1-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart4_2_cfg: uart4-2-cfg { + uart4-2-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + uart4_3_cfg: uart4-3-cfg { + uart4-3-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart4_4_cfg: uart4-4-cfg { + uart4-4-pins { + pinmux =3D , /* uart4_txd */ + ; /* uart4_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + 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>; + }; + }; + + uart5_1_cfg: uart5-1-cfg { + uart5-1-pins { + pinmux =3D , /* uart5_txd */ + ; /* uart5_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart5_2_cfg: uart5-2-cfg { + uart5-2-pins { + pinmux =3D , /* uart5_txd */ + ; /* uart5_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart5_3_cfg: uart5-3-cfg { + uart5-3-pins { + pinmux =3D , /* uart5_txd */ + ; /* uart5_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart6_0_cfg: uart6-0-cfg { + uart6-0-pins { + pinmux =3D , /* uart6_txd */ + ; /* uart6_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart6_1_cfg: uart6-1-cfg { + uart6-1-pins { + pinmux =3D , /* uart6_txd */ + ; /* uart6_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart6_2_cfg: uart6-2-cfg { + uart6-2-pins { + pinmux =3D , /* uart6_txd */ + ; /* uart6_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + uart7_0_cfg: uart7-0-cfg { + uart7-0-pins { + pinmux =3D , /* uart7_txd */ + ; /* uart7_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + uart7_1_cfg: uart7-1-cfg { + uart7-1-pins { + pinmux =3D , /* uart7_txd */ + ; /* uart7_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + uart8_0_cfg: uart8-0-cfg { + uart8-0-pins { + pinmux =3D , /* uart8_txd */ + ; /* uart8_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + uart8_1_cfg: uart8-1-cfg { + uart8-1-pins { + pinmux =3D , /* uart8_txd */ + ; /* uart8_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + 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>; + }; + }; + + 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>; + }; + }; + + uart9_0_cfg: uart9-0-cfg { + uart9-0-pins { + pinmux =3D , /* uart9_txd */ + ; /* uart9_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + uart9_1_cfg: uart9-1-cfg { + uart9-1-pins { + pinmux =3D , /* uart9_txd */ + ; /* uart9_rxd */ + bias-pull-up; + drive-strength =3D <32>; + }; + }; + + 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>; + }; + }; + + 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