From nobody Mon Feb 9 04:29:11 2026 Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) (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 15D042C027F for ; Thu, 2 Oct 2025 14:42:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759416140; cv=none; b=KLP+AzKr6tqw5wH1Rgx/PHkXA0ReC31oQLbq4XQWYSJ/NcYGproJHVS20msjQkYuYTWmVHsqa2xoBvfGL2UFp/b9rnY8YkQmIGJoHwm18VL1lMfRc7ElAyQTupIfq7oJ98la9GcCd8sETbDyuLAx7ZD3WZXU/ND+wrACQ7OFSl4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759416140; c=relaxed/simple; bh=SEKtq8WlaDinzaqN6sbmXex+0jo1iDkPy6Zh0RvgHvU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uBtZaCqi8dzeus1pfir98DhwfG65bvRbUG1cvMir6s6akVcnO3gSf45Xge6h2FO2KUrijZSnTKM46AmJqeQcO3fXhH3TPNJURnsyaBmGC6/5hqR9a4YIMNhxap8Qbih+eea+BNueCUX3BRccaUCiZ3Q2cqpUFCiq100WPHLQ28k= 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=hZUhqEe0; arc=none smtp.client-ip=209.85.167.48 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="hZUhqEe0" Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-5797c8612b4so1424119e87.2 for ; Thu, 02 Oct 2025 07:42:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759416137; x=1760020937; 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=y5g+HyoylNTGFqMAbK4m0O1tDUAH9kttNvpRkli2e+0=; b=hZUhqEe0aJZ9Rog3vGBNtGx90JMcOJD4di64yzwKak9hIE1677rVUmULe0112kueFP /7EHAluQb8WLH1wXOvLgBGeIKA9DKrI04n9PYSkrDxFRqrZ3XFrUb6vWCRpaFcaaJM5q C5CdtxviOyEsxcuzhYLASNsMpQSoLLHDmpmlLkrCOKVJ1HrwPcV73UfXEZcPpi73P6ie mc30C3M4P3J9ZYWN2c4hRYxLlhvJMVu5b2oUv0JJpfwBQwhsB4xFw5s7Gl6zFgvX+XhT vFEN1H22DE4fx8rvmqEJXBdU9HGP5ILAoQA4UjffhEioIZoY9/2ljrOMeAdkc8Ip/RW0 m9LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759416137; x=1760020937; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=y5g+HyoylNTGFqMAbK4m0O1tDUAH9kttNvpRkli2e+0=; b=qHG5kXVjBodMNZqqwsE6KFJhykh31ddtTysb1VZb+08HHTYK6Ni4+ch6tVuzcOV7EA 6OVy2tzUQhexkuOSr21Y/VaH/LykZTnJtRyx9OfaRp8yQojIi1YqjG4VHx47CR+WW1BW jRTnZaIu6xl09bKfB7d/8xj9IJ2+/qfkCagqMDh1U+uY/QPkVIaxF84pWhOUHqEerjA/ q/5jUpK7DcbpR3pNJzkxFFZzOk6hYXcYeffMKjLQqmnRu+lAR2TAL1xlvRBHljpT2T7E Ee1zY4HEr4JLgzvMa+jajGPVI+qeFv93+xGIvcAGE5GJ/tl4CTM9nrfgBLEGoeeJDOgj OL9Q== X-Forwarded-Encrypted: i=1; AJvYcCXfi2grWDQ+qhJy1nNXgFeAIGZf/oZLOsUx7+A8YohfafQao2sT8WT1IRWbaTWnho9lTC8PQkZ5TfnRM2s=@vger.kernel.org X-Gm-Message-State: AOJu0YzOlu/KeHJ7TVMaPJsRlFHuxEY0bmboPv4U8/yUfPy3DvN+lP5B 6rmbnM7NOWJJtR7cXJQQIN874VlTDdbLD91HvUUW+Id+EfLCPgclabGY X-Gm-Gg: ASbGncvP8seSBvuL31Sw6KYWoMQJC/ZpIyfkGuY4HGMIvhkHG66tOUxsYWjZTaIxHg1 6ULXmBRe6++lIRCHJsDNenEcmK63UOxgvF+AvxlD4eHDAZ5mg2VSHM/E4WynKUncC+QqkT8XGKC i4PtL1De4oSeQpB8VsLr+MGGNaf6svFE/FIHX5guoHHN1HGfQxbHnkL2EHeZOnGwBaJY/h1E3km Tu6IZyEkqlLB7CSstAe9CQhqijBG3pp2zCH3q1EeW7Htp8mWD9+/iEeUdv7ksq13SdoFPtvcE1M jTKPgAtrIKdj85HsBehU8l/4wZ9nH+RBGelvOX/Z8mXUXyEm7OFO00cOXkwh88e1vCUOBMn8osj Qrhg29b67T4BLfVXHbaVaAIkQf/Ef04HYgqDnCbGh47iNQlS+CVnz9i1/DA/Hv4FsnUAosnwXt6 UHGSBNClVcypF+v2A= X-Google-Smtp-Source: AGHT+IFlC3v1YYZBYn9JkfJx0Nz5xBDWw6BPu2hVfH1sXIWLY5CnUNsKrvc4HAl7fKytpVF8f6F0Pg== X-Received: by 2002:a05:6512:6c9:b0:57d:1082:e103 with SMTP id 2adb3069b0e04-58af9f1fb89mr2486707e87.16.1759416136880; Thu, 02 Oct 2025 07:42:16 -0700 (PDT) Received: from [192.168.1.166] (83-233-6-197.cust.bredband2.com. [83.233.6.197]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58b0119e60fsm884712e87.94.2025.10.02.07.42.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Oct 2025 07:42:16 -0700 (PDT) From: Marcus Folkesson Date: Thu, 02 Oct 2025 16:41:35 +0200 Subject: [PATCH v2 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: <20251002-i2c-mux-v2-4-b698564cd956@gmail.com> References: <20251002-i2c-mux-v2-0-b698564cd956@gmail.com> In-Reply-To: <20251002-i2c-mux-v2-0-b698564cd956@gmail.com> To: Wolfram Sang , Peter Rosin , Michael Hennerich , Bartosz Golaszewski , Andi Shyti 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.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1680; i=marcus.folkesson@gmail.com; h=from:subject:message-id; bh=SEKtq8WlaDinzaqN6sbmXex+0jo1iDkPy6Zh0RvgHvU=; b=owEBbQKS/ZANAwAKAYiATm9ZXVIyAcsmYgBo3o84HWKLdePi9d7Tc2PXy/ubOIvh9PDmJUI93 qBA7BYJFC6JAjMEAAEKAB0WIQQFUaLotmy1TWTBLGWIgE5vWV1SMgUCaN6POAAKCRCIgE5vWV1S Msb+EADCHGLcNzYBswSFO9dObGRTq+GinFNvJi1Xknuw5pbEsMWNSeUHZO/frQMkN2WBh/bZXPn avl/25KjZ2kLk31+G3MYQoQLfJ+rF/Zo9h1JtYZqtbVlE5PKYtbWIaUaw1kl/d0q5HKMt7YHL8r Da29RmFGTWQ8uJKcUynIvk/VRZPTHehK5lRo/D33kuSZPtQ4lzHJ6Pl9aEGzegukAi0QlizBJyI xhl5Yoq1gsRdJjxLZvL15jX0Ohw9xc3mvkL8pSRd92zB5M06TZX5B5Q4w/+WydkgWrpBjzSocqX bh+Lzq30gHjtmDitCM1WL5BSE85Tize4E8StL6gO8A5RxkmcZX0RUxYorO1vIgqIh0d1+Pn0rQ4 k0kPZ7ymJ9bt/Yet8S/qfkpIZmEkIGHAwGPphM3wXnYr6yF6oYXg4PaT3c5swKe4y6jeNtc/Qsx 57kT2Q77aPPsW6pjPVrKcNaKsrJa3Ub0raMYm07sWvUnJxAry9np3ViFl/jGMZ2VOsf95NLcpLQ 3CGiwzg7UmikygJC6xwPKFtsUKqsiiMZMRUslJHwx1dcnxXtXvWHapivkPIENm1VVhLb3u7+UMP 6i+F87YEJilujFQm+zW0rBIjuOFvd9To6gLjrveIMlp5TojCJkfAYq3wnAkNfHEjLAL6nfxIS2N uWqLK377NiLQPow== 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 82f295619c4d0ef108c57d13c10004aa25014cbf..fdde573eb59d11a7c6a87141863= df1b9b58f64fd 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. @@ -810,6 +831,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.50.1