From nobody Thu Oct 29 16:01:44 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4jFprS4g1pz6xF3c for ; Thu, 29 Oct 2026 16:01:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4jFprS43hKz4jbf for ; Thu, 29 Oct 2026 16:01:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793289704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2qBaFW4zfcO/x5DjuV66CM4TkW+gYyQjcfpGAz5yBik=; b=HA9QkT20ddVRjQlJ3relhjL+PVZGbk1mUW7Mx+jjTfh1sayxxLrr53gKDdJx6cv+FuGtDi 9a5dyAvf3km9efYTstdi6M6AjSmnStyEw1t6T7MrvQWN/B3+mSbkTirHMXXHZy/xZG0wNC KxZfemOiClRN1mHRbJu5MuEkUrkADgpQ5DETcCsORVXr8IzmMbGD/Cp1fG1F0Tsp7dbA95 w7o46yX5BsHD2AFncTjNBBJgoonm3AFrLQtRo1a9JcHHYBousCWGDjiO3b3n3laDksi7fd Nl0aax9eBu3o3HSXai5FwictXzs9Io7rYlPt9GMSDFvjXvoAdnIfyB121Spdrg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793289704; b=k6IPvOCQQK3Ch5vILFXVyOw0L3fWz7v7z6eaP4lknICEdUmdG+tzakszFOltEH7dAkGj92 V+4yN37SS/GV+vn4eshWSSpwZc6GJ41XSOSfGKhV9U7la/nrj7JfazSG27y9nPAIuyiw2k MqZGirhsPY8im0dOyoCZhc+cZ25AjgvJykRPuVMO8OiiuSC2iIY4A3KLvraoClhqPPi5O3 FIufvr2qokXbCDVCMq289Vx87xbl5d/SCClHAMM5AeuDNHCjwXfdPZOy/VYiGTupPrsD0i SUc6zqkPENKxnKewdfWW1g4T9TrLChIN0RP2BuWFQsdXRj6dTYt+PCS8gZy/YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793289704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2qBaFW4zfcO/x5DjuV66CM4TkW+gYyQjcfpGAz5yBik=; b=fzFgkEi5ioso1FWFMiGKSr3XiGnN6U0zBo0OrmU60G7tNVUoCOdjaaeGfOp168aNbTFBRT lRn5+JkKh6GaNPrxztJINibTdrv9/4MguDRtlMUbNVToaJfeZes2DD8ck5sf7eCmTMU1Jx LgKsiAv1wsez1x/F2FtdAIKQ8zb+by4q69ODbEujUdwVd5dKkbnkaLZjA1MTWpC7XVVNSS s8LrQfM+IJJb1rVPXr8wuq77R2bCMM0Z84Q/WnTuE5bXIeLDnzHYZ29pZ4H27G7yeJ9Ack dQwtPO32QtrHqoOlpOupTkT9PUzsGqkQkUco2KU9JOLWnDK7ZLb2cA6M5N3ibw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jFprS3jBHzn4Y for ; Thu, 29 Oct 2026 16:01:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3125d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 16:01:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: e8f8b17c3018 - main - rk_pinctrl: Fix the drive strength of the RK3568 pins List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e8f8b17c30184687e3f6dd02a72345bcad7e92aa Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 16:01:44 +0000 Message-Id: <6ae36de8.3125d.41321e49@gitrepo.freebsd.org> The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=e8f8b17c30184687e3f6dd02a72345bcad7e92aa commit e8f8b17c30184687e3f6dd02a72345bcad7e92aa Author: Emmanuel Vadot AuthorDate: 2026-10-27 14:27:57 +0000 Commit: Emmanuel Vadot CommitDate: 2026-10-29 16:00:38 +0000 rk_pinctrl: Fix the drive strength of the RK3568 pins The drive strength of the RK3568 pins was never programmed. The drive-strength property was tested with OF_getencprop() == 0 but that function returns the size of the property on success, so the branch was dead code and the pins kept whatever the previous stage of the boot left in the registers. The register layout was also wrong: each pin has an 8 bits wide drive field and a register holds two pins, but the value was shifted by pin % 2 bits instead of (pin % 2) * 8 and the mask only covered six bits. An odd pin would have overwritten part of the field of the even pin next to it. Test the size of the property, put the field at (pin % 2) * 8 and write the whole 8 bits, like Linux does. Tested on a Quartz64 Model A and on a NanoPi R5S. Reviewed by: mmel --- sys/arm64/rockchip/rk_pinctrl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/arm64/rockchip/rk_pinctrl.c b/sys/arm64/rockchip/rk_pinctrl.c index cbe7f29937cb..027e6a79266f 100644 --- a/sys/arm64/rockchip/rk_pinctrl.c +++ b/sys/arm64/rockchip/rk_pinctrl.c @@ -1182,15 +1182,16 @@ rk_pinctrl_configure_pin(struct rk_pinctrl_softc *sc, uint32_t *pindata) "rockchip,rk3568-pinctrl")) { uint32_t value; if (OF_getencprop(pin_conf, "drive-strength", &value, - sizeof(value)) == 0) { + sizeof(value)) == sizeof(value)) { if (bank) reg = 0x01c0 + (bank * 0x40) + (pin / 2 * 4); else reg = 0x0070 + (pin / 2 * 4); - drive = ((1 << (value + 1)) - 1) << (pin % 2); - - mask = 0x3f << (pin % 2); + /* Each pin has an 8 bits field, two pins per register */ + bit = (pin % 2) * 8; + drive = ((1 << (value + 1)) - 1) << bit; + mask = 0xff << bit; SYSCON_WRITE_4(syscon, reg, drive | (mask << 16)); }