From nobody Sat Feb 7 08:23:28 2026 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.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 A776834DB56 for ; Wed, 28 Jan 2026 09:55:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769594114; cv=none; b=VTMqEBsP/HxlQpTlqgdtP8fy0rv+X+jGZ+tyR27siQKgOYsWZG6FyFfTylzXtM9F7QulxGChjbgEt8qNmR9lcJHtX9g454seKqbLxLiyxobnlI790eqdCddQBvAyVRoxiiDWQ1Hup5ezRkWDmm1PINlS3D58i99BrIfrDsgsDGU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769594114; c=relaxed/simple; bh=32tpqgfedy/sxp2AZTtYj6G+OqEGB6zW9YyBBWylfYU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mEUv1Vo1jV3AY7F0sI+ih/XXLC7xc+CSihu9AJLNVdI1PoREKLGafxh6ESzo4pzLpdDwCsikoPbUWzm0zaP0TpuiLzn6J2dKNTev3NTfmnFm3Y9o6yY4D29+YvqUatv4reL1rivlBV9YKCPiDLAuOPN53wXfMIwLpvq4NOJOjSk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HGv6jPOG; arc=none smtp.client-ip=209.85.167.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HGv6jPOG" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-59dd263bf42so7393785e87.0 for ; Wed, 28 Jan 2026 01:55:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769594111; x=1770198911; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=QJdrgI0gtiqZZNbRhdCivzcmuLMzMB0vNSWzU58rH+A=; b=HGv6jPOGa+tQ42+MOjgcQHjyB2vNlNy+TBkyjn+Z+zPLd46Qb6rQC9+yWBt7fpNKWn X8j8eBGy2Qx06cUtmqJUMdoHRl0RbpE8JjQXz9/u2ixFsQcsWFHVwZwCcBWE5mzA8M76 QvIrUKaPjHHF04pzI8gFcqXyd4VVAO/kN8827dJQmsV41Xi5JN8yXvBFmu9E5+amIFie vhWua8FOyW1sJL/OsCmaOdZiznDX5XtO6E7PdO+daOIhKKCIBnRvhYM50hrePzvfKQbM f5bqIgBzysufOTIdDQGEv9F/UxmefNXMb3EStONFAYuVGZ6UQ+Cb4gywibr1jKK/Fg58 vcVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769594111; x=1770198911; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=QJdrgI0gtiqZZNbRhdCivzcmuLMzMB0vNSWzU58rH+A=; b=csZlHIbNMPwaBWOM0DDS4iLs0OYruGhhfuUpa38FAWROk4AQHUsdy78awW7liBKUmJ Fei78aAH5bSKyS03pfoABd2g4j+tUe5fFLpacJOy3bBHpMjiXeVl+pA1ztiD4XtYR6i1 jc/obXTzpw8144ZF92AnD71Gboh9FM2ZgHUdnr2PD/76Od6cczasMXUEwAJSoGQOi8O/ swkwxmnfOorQka/xeq/qPmQjCz8YCqaFQtSO63EsIxUtxfYero6cmH60HJWQTvkizzl1 /W5Zl9glURmoxo99DMsyki5wSoRoqREZwQM8+gwLcahAqg5IUe+XMyKL/opEVQ7NSvHo qP5w== X-Forwarded-Encrypted: i=1; AJvYcCXF0rcuh8C7vxuE4B5F2qs9e+P2fg/nvyr39Qi3JmmsepAxEwtACxCdPEY25DAZlMOF2q0yNLK2o/ma99g=@vger.kernel.org X-Gm-Message-State: AOJu0YwEPBOJyV+mSVe3egOOM2HEDcHJfqyLCjCkHDN0kkMt5fOKt+NS Jj+xgtxfWEX6kXRul8UlTpmTUIV7CzS1nm3gI9+7U+t95HrnTa6646oh X-Gm-Gg: AZuq6aLxLSZkAIJeR70cJmFwJLJxHpPvky0ifk6t15T9/YtvmvOoueet+kptWErFl6u onGRueOxA/L5M1WXt7vgCS6aWjZN5P1Wd3eXeBuwLsJUB7i5O6hRBt3W2EKz6FCtD7Ioy6yIETh YJGKzNIXIFkOf6TVHzHwAJ9t/xW1L8qvuDcakzwL3vjEj7gPbQzx1yYj7pAIm2DfebZmUO5sPIj MVFlwG857ultw2/Pwt1v+Rj3kzlIonSmK7hfl+A9Z2XVb2EDA5lRc9vEe2ugsg95T8zwyH2Ne0A 3RFPdv94hdzmTxlwYxcPRcgSyIm2XXxKzoVwbmr+rMc+m2WJcdfuVtq6ilrRK9GtbF2aIKfRmNt buGfgcUmX/aEyuTmwL0d2pfTeJ4uttn0Q5csO2g5WT+/TpWUQuGjal5+MPJQOPI3yR/SD/+CHuo dNiPpDRd5m8xUlabBKtuen5lrL8F3YMR+pXMLqL9z20CNVRVm2GiCjLCB6 X-Received: by 2002:a05:6512:3e27:b0:59d:e954:1908 with SMTP id 2adb3069b0e04-59e0412db34mr2132085e87.51.1769594110691; Wed, 28 Jan 2026 01:55:10 -0800 (PST) Received: from [192.168.1.135] (83-233-6-197.cust.bredband2.com. [83.233.6.197]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59e074bfe83sm459483e87.97.2026.01.28.01.55.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jan 2026 01:55:09 -0800 (PST) From: Marcus Folkesson Date: Wed, 28 Jan 2026 10:54:30 +0100 Subject: [PATCH v4 4/5] i2c: davinci: add support for setting bus frequency 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: <20260128-i2c-mux-v4-4-dee49ce276c0@gmail.com> References: <20260128-i2c-mux-v4-0-dee49ce276c0@gmail.com> In-Reply-To: <20260128-i2c-mux-v4-0-dee49ce276c0@gmail.com> To: Wolfram Sang , Peter Rosin , Michael Hennerich , Bartosz Golaszewski , Andi Shyti , Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marcus Folkesson , Bartosz Golaszewski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1624; i=marcus.folkesson@gmail.com; h=from:subject:message-id; bh=32tpqgfedy/sxp2AZTtYj6G+OqEGB6zW9YyBBWylfYU=; b=owEBbQKS/ZANAwAKAYiATm9ZXVIyAcsmYgBpedzyZidWVC8WFnAehdPL8hDSbJvc6l5n5RsrY Rwu5wFkpYKJAjMEAAEKAB0WIQQFUaLotmy1TWTBLGWIgE5vWV1SMgUCaXnc8gAKCRCIgE5vWV1S MsF2D/4ycjuzoTTAKCcdpurYUQEmolVE3xElDDxTgrp+COyg6IN/nX3Q8eUfdj5RwRTURcRiq86 wamt1pt2hRiUr8Z4vNSS6zdl3jom1GKW+TPuCfhftdjgi/ykEBMhk+Ajm3pL1H3LzRyIm0Hihqr CddCtl4w0H06j8pcgYUgwylUoLqoCrLor9TEbCj2JNgDFpKxqSStyCmGZfpRF4dTPItUqh9oVzA 2/K2F9FU4C3ncSfX10f/mYBbow0rsgwlh6G/OIagu94uA06BokctdIO++00nF8AWJZE11FJf30c spDPhucw+AMRfwR1QOoVUbdIIbrNdIXkftfdkOo/tnh7vEkxEMO3OuzHdzNFp0K+krA/gL39RaO DbJ8mQ/mjEdDOSg2anqVJTZhMKTA4kYU22SjDSRTTgFu+2+lz1DWKOfKtoDlnPt+ruyC9WALG2Y iRhWZ/yyhYhWnVEjuNBV6MGc8KP3ILYBF8/qMI9oyJCHSSeFzs97iHJFlLd60hnWgSMfus6joGU ZLDSRDEjW0iY1BxJmEZBolSMLSjOSR7WqCKFUqwRbzbMCw3oNeo1Dtn77W2MdjxDh6Mg4LTYCJ1 oC4PuIK6y5NE+CJnHMkmbMSYLavl7MhBTr4NePIgB4Qy5ZgIG58yYm1EgIH/DjxxPEA9UwjzqIY nCYCJi9nUXPteXA== X-Developer-Key: i=marcus.folkesson@gmail.com; a=openpgp; fpr=AB91D46C7E0F6E6FB2AB640EC0FE25D598F6C127 Populate adapter with clock_hz and set_clk_freq to enable support for dynamic bus frequency. Acked-by: Bartosz Golaszewski Signed-off-by: Marcus Folkesson --- drivers/i2c/busses/i2c-davinci.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davi= nci.c index 761de5a814df..3daa823dcb9e 100644 --- a/drivers/i2c/busses/i2c-davinci.c +++ b/drivers/i2c/busses/i2c-davinci.c @@ -279,6 +279,27 @@ static int i2c_davinci_init(struct davinci_i2c_dev *de= v) return 0; } =20 +static int davinci_i2c_set_clk(struct i2c_adapter *adap, u32 clock_hz) +{ + struct davinci_i2c_dev *dev =3D i2c_get_adapdata(adap); + + if (dev->bus_freq_hz =3D=3D clock_hz) + return 0; + + dev->bus_freq_hz =3D clock_hz; + + /* put I2C into reset */ + davinci_i2c_reset_ctrl(dev, 0); + + /* compute clock dividers */ + i2c_davinci_calc_clk_dividers(dev); + + /* Take the I2C module out of reset: */ + davinci_i2c_reset_ctrl(dev, 1); + + return 0; +} + /* * This routine does i2c bus recovery by using i2c_generic_scl_recovery * which is provided by I2C Bus recovery infrastructure. @@ -809,6 +830,8 @@ static int davinci_i2c_probe(struct platform_device *pd= ev) adap->dev.parent =3D &pdev->dev; adap->timeout =3D DAVINCI_I2C_TIMEOUT; adap->dev.of_node =3D dev_of_node(&pdev->dev); + adap->clock_hz =3D dev->bus_freq_hz; + adap->set_clk_freq =3D davinci_i2c_set_clk; =20 if (dev->has_pfunc) adap->bus_recovery_info =3D &davinci_i2c_scl_recovery_info; --=20 2.52.0