Re: [PATCH v12 4/6] i2c: tegra: Add HS mode support
From: Jon Hunter
Date: Tue Nov 18 2025 - 07:18:52 EST
On 18/11/2025 11:09, Akhil R wrote:
On Mon, 17 Nov 2025 11:07:07 +0000, Jon Hunter wrote:
On 15/11/2025 04:26, Akhil R wrote:
Add support for HS (High Speed) mode transfers, which is supported by
Tegra194 onwards. Also adjust the bus frequency such that it uses the
fast plus mode when HS mode is not supported.
Signed-off-by: Akhil R <akhilrajeev@xxxxxxxxxx>
Signed-off-by: Kartik Rajput <kkartik@xxxxxxxxxx>
---
v10 -> v12:
* Update bus_freq_hz to max supported freq and updates to
accomodate the changes from Patch 2/6.
v10 -> v11:
* Update the if condition as per the comments received on:
https://lore.kernel.org/linux-tegra/20251110080502.865953-1-kkartik@xxxxxxxxxx/T/#t
v9 -> v10:
* Change switch block to an if-else block.
v5 -> v9:
* In the switch block, handle the case when hs mode is not
supported. Also update it to use Fast mode for master code
byte as per the I2C spec for HS mode.
v3 -> v5:
* Set has_hs_mode_support to false for unsupported SoCs.
v2 -> v3:
* Document tlow_hs_mode and thigh_hs_mode.
v1 -> v2:
* Document has_hs_mode_support.
* Add a check to set the frequency to fastmode+ if the device
does not support HS mode but the requested frequency is more
than fastmode+.
---
drivers/i2c/busses/i2c-tegra.c | 59 ++++++++++++++++++++++++++++++++--
1 file changed, 57 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 8a696c88882e..9ebeb6a2eaf5 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -91,6 +91,7 @@
#define I2C_HEADER_IE_ENABLE BIT(17)
#define I2C_HEADER_REPEAT_START BIT(16)
#define I2C_HEADER_CONTINUE_XFER BIT(15)
+#define I2C_HEADER_HS_MODE BIT(22)
This should be ordered according to the value. So place this above
I2C_HEADER_CONT_ON_NAK.
Agree.
Do we need a new version with this change or would it be possible to
update while applying?
Given we need another minor fix to 3/6 you might as well send a new version.
Jon
--
nvpublic