{"id":2202248,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2202248/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/patch/20260227111134.2163701-1-jan-kernel@kantert.net/","project":{"id":35,"url":"http://patchwork.ozlabs.org/api/1.2/projects/35/?format=json","name":"Linux I2C development","link_name":"linux-i2c","list_id":"linux-i2c.vger.kernel.org","list_email":"linux-i2c@vger.kernel.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260227111134.2163701-1-jan-kernel@kantert.net>","list_archive_url":null,"date":"2026-02-27T11:11:34","name":"i2c: rtl9300: add support for 50 kHz and 2.5 MHz bus speeds","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"86472e6a0fdcf78df0b5b8f5333067250f1939b6","submitter":{"id":92730,"url":"http://patchwork.ozlabs.org/api/1.2/people/92730/?format=json","name":"Jan Kantert","email":"jan-kernel@kantert.net"},"delegate":{"id":149066,"url":"http://patchwork.ozlabs.org/api/1.2/users/149066/?format=json","username":"cazzacarna","first_name":"Andi","last_name":"Shyti","email":"andi.shyti@kernel.org"},"mbox":"http://patchwork.ozlabs.org/project/linux-i2c/patch/20260227111134.2163701-1-jan-kernel@kantert.net/mbox/","series":[{"id":493743,"url":"http://patchwork.ozlabs.org/api/1.2/series/493743/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/list/?series=493743","date":"2026-02-27T11:11:34","name":"i2c: rtl9300: add support for 50 kHz and 2.5 MHz bus speeds","version":1,"mbox":"http://patchwork.ozlabs.org/series/493743/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2202248/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2202248/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-i2c+bounces-16244-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-i2c@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=kantert.net header.i=@kantert.net header.a=rsa-sha256\n header.s=202510r header.b=A++q9Tec;\n\tdkim=pass header.d=kantert.net header.i=@kantert.net header.a=ed25519-sha256\n header.s=202510e header.b=/QV2KTeg;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-i2c+bounces-16244-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kantert.net header.i=@kantert.net\n header.b=\"A++q9Tec\";\n\tdkim=permerror (0-bit key) header.d=kantert.net header.i=@kantert.net\n header.b=\"/QV2KTeg\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=5.75.216.175","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=kantert.net","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=kantert.net"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fMm1Z0HfCz1xwy\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Feb 2026 22:14:26 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 60361308F8ED\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Feb 2026 11:14:18 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2F3F03EDABA;\n\tFri, 27 Feb 2026 11:14:14 +0000 (UTC)","from vh06.kantert.net (vh06.kantert.net [5.75.216.175])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id AB18F1F5842\n\tfor <linux-i2c@vger.kernel.org>; Fri, 27 Feb 2026 11:14:10 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1772190853; cv=none;\n b=cLgum05LgHWx/GVDSn6mGevm/MFZ3hVNJgEqCAwY1XrwFsAOFHHMCmw3UGbXotLeSGZbBBoYNAHiqrtJovB8xBrtGrHHNy9mow4bc37Fftd7LPMNridNJg4t4tijCjzetemqs520FMe67EKqMySWlJgr8ROV/UqthLWc6XWEpVI=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1772190853; c=relaxed/simple;\n\tbh=UksT+1ZpJ8dxACJ0CV8uegefYrT7fFGKgQhOPhEIgm8=;\n\th=From:To:Cc:Subject:Date:Message-Id:MIME-Version;\n b=oVdFQ10Seo1d3do50mpZCIp/1wkIf1b5Bom2R8V4c1wbIlk8y+DAoeRWLWgB+g5JX1mq2u8/8UnCtGNTHuUruaiUVy6nlrVUN2mV+R8cTSESl3verzjoo5YKdgBLLSnvR+ACOnGPubAWi3yJUekeRqrS+ABeWpsz5zita4jT/sg=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=kantert.net;\n spf=pass smtp.mailfrom=kantert.net;\n dkim=pass (2048-bit key) header.d=kantert.net header.i=@kantert.net\n header.b=A++q9Tec;\n dkim=permerror (0-bit key) header.d=kantert.net header.i=@kantert.net\n header.b=/QV2KTeg; arc=none smtp.client-ip=5.75.216.175","DKIM-Signature":["v=1; a=rsa-sha256; s=202510r; d=kantert.net;\n c=relaxed/relaxed;\n\th=Message-Id:Date:Subject:To:From; t=1772190709; bh=xohdy1VecBXWSfTiTZDR4iX\n\t0PchP9QrVqX/03igd2tE=; b=A++q9Tecx3ZoevS3EM89c5YImwn79zpRwHgMZ59BHJuqC8No3H\n\tfqICcnB4vuaW2gGO3Axv0tjHKDhF695Rfw9AT1LAugc3oElm+4w/1IFF6r1A6MrJYCPEPvy3Bp9\n\teDcFy49yq6h8gTIiwgiQ9LooDckzBfWzrEXX1sxk83Re8u4x/e1ZNMffTVlNBnsRr2LD5EGALu3\n\taoUMp9nK48bGfCXqHO3O2c+Jwr8/v+D5c4xrhIIz7ZQ4RzwSL2xujN4KoNOPhgnF0EUNl2vXu82\n\tGbqRV59ZjmFe8u5GiOuinUUweb/OBgSOp33pCsBB6UUKzmXLsTKXZUTlmoj81ukTMHQ==;","v=1; a=ed25519-sha256; s=202510e; d=kantert.net;\n c=relaxed/relaxed;\n\th=Message-Id:Date:Subject:To:From; t=1772190709; bh=xohdy1VecBXWSfTiTZDR4iX\n\t0PchP9QrVqX/03igd2tE=; b=/QV2KTegiyIxmW1151AfvCZ4dck56aUpsW0GrMSnj8Houvh+jG\n\tOmr4OnovZdPRyg2fHUGun9aRPqpEsg0hMbCw==;"],"From":"Jan Kantert <jan-kernel@kantert.net>","To":"chris.packham@alliedtelesis.co.nz,\n\tlinux-i2c@vger.kernel.org","Cc":"Jan Kantert <jan-kernel@kantert.net>","Subject":"[PATCH] i2c: rtl9300: add support for 50 kHz and 2.5 MHz bus speeds","Date":"Fri, 27 Feb 2026 12:11:34 +0100","Message-Id":"<20260227111134.2163701-1-jan-kernel@kantert.net>","X-Mailer":"git-send-email 2.34.1","Precedence":"bulk","X-Mailing-List":"linux-i2c@vger.kernel.org","List-Id":"<linux-i2c.vger.kernel.org>","List-Subscribe":"<mailto:linux-i2c+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-i2c+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"Some SFP modules on certain switches (for example the ONTi ONT-S508CL-8S and\nXikeStor SKS8300-8X) exhibit unreliable I2C communication at the currently\nsupported speeds. Add support for 50 kHz and 2.5 MHz I2C bus modes on the\nRTL9300 to improve compatibility with these devices.\n\nSigned-off-by: Jan Kantert <jan-kernel@kantert.net>\n---\n drivers/i2c/busses/i2c-rtl9300.c | 16 ++++++++++++++--\n 1 file changed, 14 insertions(+), 2 deletions(-)","diff":"diff --git a/drivers/i2c/busses/i2c-rtl9300.c b/drivers/i2c/busses/i2c-rtl9300.c\nindex 672cb978066d..67a5c4228fc9 100644\n--- a/drivers/i2c/busses/i2c-rtl9300.c\n+++ b/drivers/i2c/busses/i2c-rtl9300.c\n@@ -11,10 +11,16 @@\n #include <linux/unaligned.h>\n \n enum rtl9300_bus_freq {\n-\tRTL9300_I2C_STD_FREQ,\n-\tRTL9300_I2C_FAST_FREQ,\n+\tRTL9300_I2C_STD_FREQ,\t\t\t// 100kHz\n+\tRTL9300_I2C_FAST_FREQ,\t\t\t// 400kHz\n+\tRTL9300_I2C_SUPER_FAST_FREQ,\t\t// 2.5MHz\n+\tRTL9300_I2C_SLOW_FREQ,\t\t\t// 50kHz\n };\n \n+#define RTL9300_I2C_MAX_SUPER_FAST_FREQ\t\t2500000\n+#define RTL9300_I2C_MAX_SLOW_FREQ\t\t50000\n+\n+\n struct rtl9300_i2c;\n \n struct rtl9300_i2c_chan {\n@@ -433,6 +439,12 @@ static int rtl9300_i2c_probe(struct platform_device *pdev)\n \t\tcase I2C_MAX_FAST_MODE_FREQ:\n \t\t\tchan->bus_freq = RTL9300_I2C_FAST_FREQ;\n \t\t\tbreak;\n+\t\tcase RTL9300_I2C_MAX_SUPER_FAST_FREQ:\n+\t\t\tchan->bus_freq = RTL9300_I2C_SUPER_FAST_FREQ;\n+\t\t\tbreak;\n+\t\tcase RTL9300_I2C_MAX_SLOW_FREQ:\n+\t\t\tchan->bus_freq = RTL9300_I2C_SLOW_FREQ;\n+\t\t\tbreak;\n \t\tdefault:\n \t\t\tdev_warn(i2c->dev, \"SDA%d clock-frequency %d not supported using default\\n\",\n \t\t\t\t sda_num, clock_freq);\n","prefixes":[]}