From nobody Mon Oct 6 15:15:53 2025 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 4FFC8286D76; Sat, 19 Jul 2025 12:56:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929794; cv=none; b=NdZPJ07v2cAgeNkKTRHkYd1I/uCPgdVJFCUKYNhsngMh9DA8R2GAToRcSG7aLe203MKAYnQNyFKV261/VXuC7RtPuWTUsnbt3Bij4KKbfew6dryS4Wai7BoQvEBkjeuHoPaS+HHLVa9/bUjT76Yvydr9TaGn/TnV6EMQ1YmUqLo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929794; c=relaxed/simple; bh=m5Tye1okCu95gDaX9otALibtu1rA5BK/+GhVYodIZCg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bvHjImcWfrK8M8Zkyt2bTrTDKTrj9BVTsN4DKlI1Vz/OBdjPXwss8YQYMedVRWdlpGhfFJP5jsY6sX5dEt/bpyX+7kH5t2RdkjD9IuWzRgzpLu7k5oprCdfh/41o84hdyjqb5uxpKkLgfa9iplwxx8N8voIjsHq1VME3cJvNJFA= 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=KL37mwbE; arc=none smtp.client-ip=209.85.128.45 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="KL37mwbE" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-455ecacfc32so13387145e9.3; Sat, 19 Jul 2025 05:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752929790; x=1753534590; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J2w7YNdeV3UKe4gbJgUahKR4SR/Wo2xZsY+ZJfiRzrE=; b=KL37mwbEq5N7Mo679u/YDENwT0Nvbtg9PeAr+VLuTE/wTRDy3sJtzJcB3bhz8+kMsP o8S7tojxvsTQ2HI0EakJaRm3pduRpRlXsMZJjNwv6z6fPLwFegw+5i6aqGNXEOujk76k 1uXOsvK0SdBA49YTU0GudyRkfufzYSvu5YXqJGIjzce4PaPxR8kKwdun7mVEQhFR6Trd ZTPcTvfBmicg8SrBKIh5dOboLW2qyiSm2tjhkQZ8HnizkjxxmrFNhLikSXfiNrhHl3lI +vWttVbjJl9f7QcUuqBvEyxqALOJgyjj2opSVxe31Gnc/NZnk83GhTu18Uo+pTSSeUlj c14Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752929790; x=1753534590; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J2w7YNdeV3UKe4gbJgUahKR4SR/Wo2xZsY+ZJfiRzrE=; b=CwqymW3/sgkFT4NzH09K09/zkmoc9D9i8nrpFPs31hcQf8ldkME6Bv3zbzd033gn7o VxLv5D5NamBr0tuhHFohkREPxqU2kxKIbDZaQnXeEHUmSqmgloQBH8m+joO0UIrEIKQb Wq/KNC68JE4dqTGXU8buiQTXMwhtkOpA4RjhCWyoBwVFuiX9gZfSfaJ0mp3wNszfx8RM 7tKtrGlsEyU+gPcwkaFN+WZSrY8wecuE87NG43G0RTqn4vyOyPD6lLEeKI34jSx+KrQN VX1kXkzbiDaz6ktg0qBUqkozXnPz6HzJqq3GM4Bd+wSEwPZbedee1lf/VhZ44ttKPD4w o7Hw== X-Forwarded-Encrypted: i=1; AJvYcCUPck6xfls+LSNCMM6eXCY5nO/htWZ1QSwjx79/i0eYIsAEPs9DXX1yjNlap8frK2Y4elkfZSrBvKQo4S/5@vger.kernel.org, AJvYcCVqIsVoAWHYIplCEiW5DLeIYU25evBinmpayrYxcc/PKE9nMF8RK0+MEv3p42cq8JHV/TJkQdqhTDyC@vger.kernel.org, AJvYcCWiie8ASD1yUOgrCjbdH3dOSy0GA2rgg+4gBdmJfM7E8F8GQ7jqPvowRqeIky/kFj6swrGF6om9F4oJ@vger.kernel.org X-Gm-Message-State: AOJu0Yx1YMXssFrD8HMYpoSP/fOXy5rfGROhMpivEoehM7mNmQsMngvH S+71iDT5Tt70e7RuqTY2cb9ciIwI0zbj+CpB2BJSxxu6bWZo7uF3I7ng X-Gm-Gg: ASbGncuBMdOhDFBbnvjv5tLlA12uipb9mEryyXg+qcWvFn80MvSLczrZoCP2OCLswwq fkNoDo2gzqGvXBgLkrPjG15vhN9CAssnablA+QfViCea23BbT0n76O4ebOCILoiLNExGGb2vOvv 9XAsjbc5ZAJcVUTk00kUfytb8M6VId4Y/GdAP7Z8NyV5Rd2ZYCnwgPT0FletSVQ4vI8xiozIB8/ vzaduILbooGlaPeDhyOPZwUzl8NCqbA2tcwK9/Z+BWyruAgYfqOBSiYiaFwpPZv/Kg9pIbbFL72 BYd3GIUebgbxBqm4CIrshPMYPiTFvD2YALXG4n8A3C+DGuC5xia1dKcCrjOZvAJ1NvzKuJ6rehY JS0QUT3891CvvCDMYQKMoAEN6rD0SMpLfciSjb7LkMmKcMX8HwdJNUqXGtxp5A1baio+TorT+GX Vx X-Google-Smtp-Source: AGHT+IEO9YWESJShcqk3FC7Utf1NPhIrZbrIwKsGuQ+IRsKWJH3ytffL3q840LYxpCzfHn8RWeT7sA== X-Received: by 2002:a05:600c:4e8a:b0:456:1824:4808 with SMTP id 5b1f17b1804b1-4562e2a5c56mr119864705e9.32.1752929790243; Sat, 19 Jul 2025 05:56:30 -0700 (PDT) Received: from Ansuel-XPS24 (host-212-171-170-230.retail.telecomitalia.it. [212.171.170.230]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4562e81ccb4sm106688005e9.17.2025.07.19.05.56.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 05:56:29 -0700 (PDT) From: Christian Marangi To: Stefan Roese , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Cc: Christian Marangi Subject: [PATCH 1/5] i2c: mt7621: rework cmd/wait OPs to support atomic afer variant Date: Sat, 19 Jul 2025 14:56:11 +0200 Message-ID: <20250719125617.8886-2-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250719125617.8886-1-ansuelsmth@gmail.com> References: <20250719125617.8886-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" It was reported the need for atomic operation on some Airoha SoC that makes use of I2C bus. Rework the cmd/wait OPs to suppor the xfer_atomic variant. To support this it's mainlin needed to do the readl poll in atomic context. Signed-off-by: Christian Marangi --- drivers/i2c/busses/i2c-mt7621.c | 59 ++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/drivers/i2c/busses/i2c-mt7621.c b/drivers/i2c/busses/i2c-mt762= 1.c index 2103f21f9ddd..c0e13f9af3e5 100644 --- a/drivers/i2c/busses/i2c-mt7621.c +++ b/drivers/i2c/busses/i2c-mt7621.c @@ -67,14 +67,19 @@ struct mtk_i2c { struct clk *clk; }; =20 -static int mtk_i2c_wait_idle(struct mtk_i2c *i2c) +static int mtk_i2c_wait_idle(struct mtk_i2c *i2c, bool atomic) { int ret; u32 val; =20 - ret =3D readl_relaxed_poll_timeout(i2c->base + REG_SM0CTL1_REG, - val, !(val & SM0CTL1_TRI), - 10, TIMEOUT_MS * 1000); + if (atomic) + ret =3D readl_relaxed_poll_timeout_atomic(i2c->base + REG_SM0CTL1_REG, + val, !(val & SM0CTL1_TRI), + 10, TIMEOUT_MS * 1000); + else + ret =3D readl_relaxed_poll_timeout(i2c->base + REG_SM0CTL1_REG, + val, !(val & SM0CTL1_TRI), + 10, TIMEOUT_MS * 1000); if (ret) dev_dbg(i2c->dev, "idle err(%d)\n", ret); =20 @@ -117,27 +122,28 @@ static int mtk_i2c_check_ack(struct mtk_i2c *i2c, u32= expected) return ((ack & ack_expected) =3D=3D ack_expected) ? 0 : -ENXIO; } =20 -static int mtk_i2c_start(struct mtk_i2c *i2c) +static int mtk_i2c_start(struct mtk_i2c *i2c, bool atomic) { iowrite32(SM0CTL1_START | SM0CTL1_TRI, i2c->base + REG_SM0CTL1_REG); - return mtk_i2c_wait_idle(i2c); + return mtk_i2c_wait_idle(i2c, atomic); } =20 -static int mtk_i2c_stop(struct mtk_i2c *i2c) +static int mtk_i2c_stop(struct mtk_i2c *i2c, bool atomic) { iowrite32(SM0CTL1_STOP | SM0CTL1_TRI, i2c->base + REG_SM0CTL1_REG); - return mtk_i2c_wait_idle(i2c); + return mtk_i2c_wait_idle(i2c, atomic); } =20 -static int mtk_i2c_cmd(struct mtk_i2c *i2c, u32 cmd, int page_len) +static int mtk_i2c_cmd(struct mtk_i2c *i2c, u32 cmd, int page_len, + bool atomic) { iowrite32(cmd | SM0CTL1_TRI | SM0CTL1_PGLEN(page_len), i2c->base + REG_SM0CTL1_REG); - return mtk_i2c_wait_idle(i2c); + return mtk_i2c_wait_idle(i2c, atomic); } =20 -static int mtk_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, - int num) +static int mtk_i2c_xfer_common(struct i2c_adapter *adap, struct i2c_msg *m= sgs, + int num, bool atomic) { struct mtk_i2c *i2c; struct i2c_msg *pmsg; @@ -152,12 +158,12 @@ static int mtk_i2c_xfer(struct i2c_adapter *adap, str= uct i2c_msg *msgs, pmsg =3D &msgs[i]; =20 /* wait hardware idle */ - ret =3D mtk_i2c_wait_idle(i2c); + ret =3D mtk_i2c_wait_idle(i2c, atomic); if (ret) goto err_timeout; =20 /* start sequence */ - ret =3D mtk_i2c_start(i2c); + ret =3D mtk_i2c_start(i2c, atomic); if (ret) goto err_timeout; =20 @@ -169,14 +175,16 @@ static int mtk_i2c_xfer(struct i2c_adapter *adap, str= uct i2c_msg *msgs, if (pmsg->flags & I2C_M_RD) addr |=3D 1; iowrite32(addr, i2c->base + REG_SM0D0_REG); - ret =3D mtk_i2c_cmd(i2c, SM0CTL1_WRITE, 2); + ret =3D mtk_i2c_cmd(i2c, SM0CTL1_WRITE, 2, + atomic); if (ret) goto err_timeout; } else { /* 7 bits address */ addr =3D i2c_8bit_addr_from_msg(pmsg); iowrite32(addr, i2c->base + REG_SM0D0_REG); - ret =3D mtk_i2c_cmd(i2c, SM0CTL1_WRITE, 1); + ret =3D mtk_i2c_cmd(i2c, SM0CTL1_WRITE, 1, + atomic); if (ret) goto err_timeout; } @@ -202,7 +210,7 @@ static int mtk_i2c_xfer(struct i2c_adapter *adap, struc= t i2c_msg *msgs, cmd =3D SM0CTL1_WRITE; } =20 - ret =3D mtk_i2c_cmd(i2c, cmd, page_len); + ret =3D mtk_i2c_cmd(i2c, cmd, page_len, atomic); if (ret) goto err_timeout; =20 @@ -222,7 +230,7 @@ static int mtk_i2c_xfer(struct i2c_adapter *adap, struc= t i2c_msg *msgs, } } =20 - ret =3D mtk_i2c_stop(i2c); + ret =3D mtk_i2c_stop(i2c, atomic); if (ret) goto err_timeout; =20 @@ -230,7 +238,7 @@ static int mtk_i2c_xfer(struct i2c_adapter *adap, struc= t i2c_msg *msgs, return i; =20 err_ack: - ret =3D mtk_i2c_stop(i2c); + ret =3D mtk_i2c_stop(i2c, atomic); if (ret) goto err_timeout; return -ENXIO; @@ -241,6 +249,18 @@ static int mtk_i2c_xfer(struct i2c_adapter *adap, stru= ct i2c_msg *msgs, return ret; } =20 +static int mtk_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, + int num) +{ + return mtk_i2c_xfer_common(adap, msgs, num, false); +} + +static int mtk_i2c_xfer_atomic(struct i2c_adapter *adap, + struct i2c_msg *msgs, int num) +{ + return mtk_i2c_xfer_common(adap, msgs, num, true); +} + static u32 mtk_i2c_func(struct i2c_adapter *a) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL | I2C_FUNC_PROTOCOL_MANGLING; @@ -248,6 +268,7 @@ static u32 mtk_i2c_func(struct i2c_adapter *a) =20 static const struct i2c_algorithm mtk_i2c_algo =3D { .xfer =3D mtk_i2c_xfer, + .xfer_atomic =3D mtk_i2c_xfer_atomic, .functionality =3D mtk_i2c_func, }; =20 --=20 2.50.0 From nobody Mon Oct 6 15:15:53 2025 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 62547287504; Sat, 19 Jul 2025 12:56:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929796; cv=none; b=Zr0ZGwyl1jJTZEWYO2hduHsBff0SHpV8WsQ5CEMKdl4JIiwGTi8vqrqgpiHs98TAgioeoJTqh+uOq9f5gYrUPsVZdDlVTwRE3MB6IbDVnqcMV6/B9lG47ds2MnXefynh6zglHLdM12QmYnIKN6CHS+/I+8/jBELjTyrYrUiVx24= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929796; c=relaxed/simple; bh=gCTLtnVEWTLUGy/YqhtrwDKE2ztfQikmDUvErDItnQ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rkncgLAc2/aIPzylZS5c8zL71iZcBtWzoJv5f7Lv+TYH2k691Jmrat0ZgvNFzHJDW/WJmxFawDT8JiHokpPZ4nOI5QoQSa8M8WFLaUl10yUwL11jr7h/Uewm9lS/MKlDFK9MzDw6eVblp+Xy+JRB4Q+rPajzaeFRZAg+px/6I8o= 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=aDB6CnFE; arc=none smtp.client-ip=209.85.221.51 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="aDB6CnFE" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3a54690d369so2411630f8f.3; Sat, 19 Jul 2025 05:56:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752929793; x=1753534593; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=G45LkEjjfWLu5Gg4t0c9h2G9tyU2GytQmU3UOMJ0qRU=; b=aDB6CnFEBHoMsV/hA9ac3UyjBv5BSxpftZAvTPYwtc4kS1HNbIWFxm9ng8sjZlD8Ve j9ueqkLKGh5abso+Xetrt4wcHw/DHcZeTVII0HGoUHOvMIucK2g8EvPNXEA8PemZLkSm BDP+K3V29tT01hHf+dPS6tQZeYnqwxCGFu5euP/LE6Y/j6VCQJIdUE4jBn2pvfwN8+Fw ZXOuuIinjEpeGdtpYocG64WvnfuDOhp95GfZw067sLB7mY1RzBPorUsAbfXbdFaqYuSl c3zla/t3l7YpybCeF2+ARKcd91gLNlVBetwc8TOUyjBkwKWT/AP4EQKw2k+4tu8i0KMm zk2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752929793; x=1753534593; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G45LkEjjfWLu5Gg4t0c9h2G9tyU2GytQmU3UOMJ0qRU=; b=ZMBKuhNJD5Mpafws/NKLXInMpwtO8YWC7WIg5nylnVhPL14E4v8jzTD2MuuMzxAvao 8jLAR3CwhYrf4tG8hz0tpkOcJKRxvSGyPWIHSYd2m8TC/qPwhVs3/N4O3PDGf1/cVhLG NG5PQLsstsDRMifwmE6d4D1NAnr2pr5GVoUpX92j9SIuYcZuc1AIW99593673dPlsFSp Rw8Xax7IzXIVe5xeZitXX0VN2uH2Ih6EwiIer82OVGGEd0lCiNJ/4NgXN2c++57TS1jA zGN/oH7aJ424BPk25MH/bCKsI7ZrKcV6/zLmgbG4cFLFTiQNVYSGV1vBSjgAp0jUd6ex bZ1w== X-Forwarded-Encrypted: i=1; AJvYcCVVt3/bJxgkDJyfhl5qd0axoe51VyWlRzCVyzS5lRm/AfTYQ4fgrwP+EmWbi61hvMUSlpgT1Rcc92Lr13A/@vger.kernel.org, AJvYcCWm9ByEz+rnDsuGLdM1m4Fm3hG3qiedjzQV1pWspsDQ2L9D86l2U00X851mffs/B2PpXjVHPpmY3n5T@vger.kernel.org, AJvYcCXOJHDVDaR65UZpKxj7zUN5P49vu1WdgWo2aUaFFUwp6i4RGZZEmnm8YJ5tl0094fB1+3LKQIPpowfy@vger.kernel.org X-Gm-Message-State: AOJu0YwjUBQqJr/+veaEK8oTbvXZyn+zqnx/uMofztEWN7VfTBhrSXQR KrtPAP+TbcBtN5sY0yokd1eyeZpTg/GCAKTM2b1MO86R8FylbO8KJ2HI X-Gm-Gg: ASbGnctTogoMmKsGrbEGspqGmQ218woDnC5lxuF5bbBzM7eL0i0vuQlV5QmGKGiFsI7 5chvKeDysWmODbz2OHi84xcTAgvdflgIJ+axZJw9U/R8/vt0+fCabXCaqhwK/y3GxF1LARvKqCw QTrkbCPIL8dxu6iFWXgPiq9olwssfwV83LgJ4y5fyEEeRF1RUawxfnvesljyu5TMHO3I8nC370S v44JaCyqJN4Q/5M4um4Z8jQqUEPXw7w+1/OBM540CKIYZmrLIsMwnxZ5CeqoOt0z+Kp7t7t1Tvv YBAcCEizMbCLVfqnVUGjOB+zcUFGETWeXHGEVBiSufzaqNpE0jn8NGtXvi0aXQ4o+w2l5+Ipj9y xCvTgRYS4zBodzs8mH26h+8UjNn/6TjieRKXBEoFNxgvH1mHUiusGKtQHxftGvFxjVM45y0569Z BJ X-Google-Smtp-Source: AGHT+IEJqOmnIsKpuH3a4tDdiJtXnRHjaCXYYkD0bKPWYqXyqBE5DeAv6RMzSTFPplWMswJA772euQ== X-Received: by 2002:a05:6000:1a8b:b0:3b3:c4b1:a212 with SMTP id ffacd0b85a97d-3b60e4b8576mr10995429f8f.7.1752929792353; Sat, 19 Jul 2025 05:56:32 -0700 (PDT) Received: from Ansuel-XPS24 (host-212-171-170-230.retail.telecomitalia.it. [212.171.170.230]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4562e81ccb4sm106688005e9.17.2025.07.19.05.56.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 05:56:32 -0700 (PDT) From: Christian Marangi To: Stefan Roese , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Cc: Christian Marangi Subject: [PATCH 2/5] i2c: mt7621: clear pending interrupt on i2c reset Date: Sat, 19 Jul 2025 14:56:12 +0200 Message-ID: <20250719125617.8886-3-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250719125617.8886-1-ansuelsmth@gmail.com> References: <20250719125617.8886-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On resetting the i2c bus, clear any pending interrupt to have a more consistent state on the next operation. Signed-off-by: Christian Marangi --- drivers/i2c/busses/i2c-mt7621.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/i2c/busses/i2c-mt7621.c b/drivers/i2c/busses/i2c-mt762= 1.c index c0e13f9af3e5..58c3da92cea3 100644 --- a/drivers/i2c/busses/i2c-mt7621.c +++ b/drivers/i2c/busses/i2c-mt7621.c @@ -101,6 +101,8 @@ static void mtk_i2c_reset(struct mtk_i2c *i2c) iowrite32(((i2c->clk_div << 16) & SM0CTL0_CLK_DIV_MASK) | SM0CTL0_EN | SM0CTL0_SCL_STRETCH, i2c->base + REG_SM0CTL0_REG); iowrite32(0, i2c->base + REG_SM0CFG2_REG); + /* Clear any pending interrupt */ + iowrite32(1, i2c->base + REG_PINTEN_REG); } =20 static void mtk_i2c_dump_reg(struct mtk_i2c *i2c) --=20 2.50.0 From nobody Mon Oct 6 15:15:53 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 2C9802877CD; Sat, 19 Jul 2025 12:56:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929797; cv=none; b=lp398t9agPWUI77jtWxISSNE7gCr0phPKDNJ+WNRK3BipFzMUSJ5GSfRLb2Esh6nebbLClBrifAekfyzN9/vOoHU9x9xc5HA3KNsfoI3LUE5jiGwOvVk0R/c1utPn0KZe4FzOCk/QEhssRjBiTxwc7318xx16G+IVvJW4BkA41M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929797; c=relaxed/simple; bh=dkV+IUmKiqaEhbhd2NYNtijiIlnYC+Jc7DPZEhWfRW8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oXd7ShLwlM401oWP+bWYqonkvY7lJjMWrGcg3FP9011SxnxdiyjdekK6Hp27v/NdIWnV/LwN3w7Wdb0wJGrdX+pn1g4DzmWFe2vFcb7nSYuREib9Jd246afySmwukATri4r2UoGMR4BTUOWjj464Fv3RzTK8YCZ2ZDEseZHIKT8= 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=irmb/a12; arc=none smtp.client-ip=209.85.128.50 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="irmb/a12" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4561607166aso22579085e9.2; Sat, 19 Jul 2025 05:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752929794; x=1753534594; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZxF16l3zt8tY8sRNrzE5FLjqAdbnZlfk++/RmClHsQk=; b=irmb/a12Lvv7kqsCqiO5ym75O6Yb/b5JK1igWwSPbc9haEdxUKw7Hw0c4gEFih43tL 26vpJ+CMzKePONJIv/XXNmfi2JaP1k2RsUmhtXpcFzKxcoT7xJxxAdI65SxFqOTCBi4i sh39jv62lbXo0mr7z2HQM8w6jwJF7PvLc6un2ydyq3giGk9sVLF3FnV4nCkpXlJezL6o Jx83hVt7yJKmvcTgBSIqbzO2AB/ixSu8nQqz7lyuwrHP1i9RxNZcHBUaDdiXteGi/N/x r75uCMuX3HxUD2SVDCqN+PzIPohqRJErFJjioZreSzeoGPNxpikpT+39vTkZ4loNfZZS Uy6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752929794; x=1753534594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZxF16l3zt8tY8sRNrzE5FLjqAdbnZlfk++/RmClHsQk=; b=BodJe5oBroC7bjiz5iziu4WuiWMB7eUSs1i5HkVc+Bcg3i+CCOpiFzd2H5AmBsWdQC JXqm96dYS2EkfCJJW67qFylkuHJbW6ztbzwhFbsA0ETLYE2OhU1mUDelF50c9Dqe0Orp WavpfGTX08v/nN5K9f8lbTguM0mr/3zU7qI7SIItzDZk8JzEYqJVsmFB9zLlHgw3cowe 0tDNfKeu6U8VbCX2mbDZj6T+TR6OMa8fuPdwk38XW8ofzwfu4OYTCwB6BE4DvOBbBsJo B919H5pGNskGreZeNLkqwFx5P+Q7qK15OYNJCLLdVnlrWRegXuAgopPyVAk12/PrLygY 33FA== X-Forwarded-Encrypted: i=1; AJvYcCUa3KwLpuVV0iSwZwNibKHWAl3krfO9uIA2AL+DbLGe/AKPb2f69S/7CZkQY1hy3mVWZYmp+xoWCy6w@vger.kernel.org, AJvYcCVStbYYZiDumhbHZ6uexAK+akBfNC68/YgS9yR9uux6dWFIYBGqlAsYLoR+f0npu8lbSUNp8B06Qb66OA/F@vger.kernel.org, AJvYcCWHD8ELeWXav3WfC/3T9ybZCGxd4wV0WZDWBSqj36ZlGvfJBRML3ZuX9p9wLADjrAAtVLcAT7aV0dGG@vger.kernel.org X-Gm-Message-State: AOJu0YzHxvR+UQpgxlVd+MSJLYOYQsOZrJGWwYsr9XT4MD08gcvD8g6v sa7WsLnyPgLx/NGukc1MGUcPPp5G5SeYTHu/P6ME7elk1dG8gAgS2gHk X-Gm-Gg: ASbGncs4Xm77pVI4GQ109pe6kF6znPtnAtz+TvXppLPpqASx5UJ5wMYmEMgEZfnGXUs QsfMptGhls9tE719+fXx3mS0kXz8yTDOdeZTNX6wtBW6jIxZXGwuCbON1kOtBECANZoW5xkR67x yvnghuJ66kJS0qVuHdhptf/hsJA34+g7LhTonCK/TPqDaiwWzNtCrkS4f+XKSiGXUs36VcmbujI +A0yWPOp3//cJlSJM2HXkhRH2icInI0lBGxEWWEC6Mv/pieQdeu9g56dgD50fjjGv4SL/V16aXU fAEMBT42yk6Rp7tBu9Sj3ecumdhDEz0AgIB7WcEElgpFRHsoZ9ORqwSjRBX18adiytOerR1AwbO Juj3wswpTf8yoPNguzxlGNFtQpZ3rd4lXnLamyUt9ShfyJuR47wkif5Is70BGjWDUc4PbUJKxWU 6V X-Google-Smtp-Source: AGHT+IErHyd8wFBnJDF+WNgRh9G5CvxgmcOoZYRsh1TvapWmYxtxbpcLIUSOUNS+UJ/rCtM4NIuATw== X-Received: by 2002:a05:600c:310d:b0:456:13b6:4b18 with SMTP id 5b1f17b1804b1-4562e2a59a6mr156638375e9.31.1752929794405; Sat, 19 Jul 2025 05:56:34 -0700 (PDT) Received: from Ansuel-XPS24 (host-212-171-170-230.retail.telecomitalia.it. [212.171.170.230]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4562e81ccb4sm106688005e9.17.2025.07.19.05.56.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 05:56:34 -0700 (PDT) From: Christian Marangi To: Stefan Roese , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Cc: Christian Marangi Subject: [PATCH 3/5] dt-bindings: i2c: mt7621: Document an7581 compatible Date: Sat, 19 Jul 2025 14:56:13 +0200 Message-ID: <20250719125617.8886-4-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250719125617.8886-1-ansuelsmth@gmail.com> References: <20250719125617.8886-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Airoha SoC implement the same Mediatek logic for I2C bus with the only difference of not having a dedicated reset line to reset it. Add a dedicated compatible for the Airoha AN7581 SoC and reject the unsupported property. Signed-off-by: Christian Marangi --- .../bindings/i2c/mediatek,mt7621-i2c.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml= b/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml index 118ec00fc190..38118007b601 100644 --- a/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml @@ -14,7 +14,9 @@ allOf: =20 properties: compatible: - const: mediatek,mt7621-i2c + enum: + - mediatek,mt7621-i2c + - airoha,an7581-i2c =20 reg: maxItems: 1 @@ -38,6 +40,16 @@ required: - "#address-cells" - "#size-cells" =20 +if: + properties: + compatible: + contains: + const: airoha,an7581-i2c +then: + properties: + resets: false + reset-names: false + unevaluatedProperties: false =20 examples: --=20 2.50.0 From nobody Mon Oct 6 15:15:53 2025 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 09B692882B0; Sat, 19 Jul 2025 12:56:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929799; cv=none; b=f8f5t4G1CO81mWBmrCTOWJrFuLMXjZiz81m+TmWRmLHZmaHOXoaaUItWuIL49x41CTjQ1vRz2PRCvrZ5D8VtaoG3wzQv+Pfe+oJ1C1AoJ12lFZj31eTeGzJxM1A9qwp3Q7apbaztPFYfcfGbYAP9DqiZahDJf7/2jRFfZeNGkR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929799; c=relaxed/simple; bh=Vs+D1OyyPsCiKsDufhO8BO5KJnYHW8HEaou5C1Rmdyk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dyWd1vTNIur5bJqDkKVJLonwaJl57J0F2lbNtM4ZPkuHbAiKvhLZn68UuZ1VwakZRLdk35fANbjCfUc4v1Dff7GCIVgGjqbrjLb091JqkTuXbHKzT8DyNceTtf4Ixk5MrlRBFCApBh8ugiAI++YVcvZAlaGhuZ8aGhpH/PMQ+b4= 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=fqWjKtZx; arc=none smtp.client-ip=209.85.128.54 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="fqWjKtZx" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4561a4a8bf2so31716965e9.1; Sat, 19 Jul 2025 05:56:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752929796; x=1753534596; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mKfLEG6+ipDQ095wwf+Yj6O/rN6WeuJI3tKiO7F5vfc=; b=fqWjKtZxwFIeARdiMOPFM+eundO26TmItw1vXgevgLDhdgJYI35++TDIRoh29QNKuc PnYnT/HiQCmVNdLNnmaFxAuYrwPLzGPyjVlaEFFHHJG9JXlvYUqaymI4KhyUF/f9UCcs 7YuplYSp0mK+0qWxVc1tTc/H8/rOECE7MlJzxxDrO2MgH0Ixn7Kr8NBJ2Pt4EFe2Qd40 5jssZ0zpUpJkeozBI0kun15jLL2pXM4BbYq7zPzrvBZnRy/l5kp0UCdHD7pzp/UtkwQI SV98KMELSLChi3De2IlB/m3Rcw6I+68avPr4EYWglKmvOLKNFkYA/qkYSfr2xRRano73 UpIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752929796; x=1753534596; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mKfLEG6+ipDQ095wwf+Yj6O/rN6WeuJI3tKiO7F5vfc=; b=fn8frRKiNDE8WW1znUspwzGZwdufLQ4e+cdDDbBYRH4QJVR+NHHz5WavianLMgG0UZ fJvFRK4q+dpFwpklSUfXx2coJNVbgiNVbTFmtdbGt8wCa6YvutIwjM3t6fA6GaX/SkrO xo3hM4wrzGmRMvGFFmJu6fcVtt4uloHbopEHCQ83se2UJAUc3oeCZQgXn5elkJs1sZlD JcfLqwI4LmxTdhAXjbzA/8pQtKugdu7YacObLnJlu7bYdka7A3qOckH6925ulUMXVXQI tXMrWK50F2rdNNpRaP9fe67Tqg/3/CPmVZuivfMawKxO2VtGTirgoFEUi1B0ZmWEjmU9 ALJA== X-Forwarded-Encrypted: i=1; AJvYcCVtbfIgY3IOwFy1wN18tHV0pYrhFeuAVREK+YFbI+t7zAkB/fp9LlhUV3htfqF7fFbRnapyfkbtedEm@vger.kernel.org, AJvYcCXg4A46c+4wrLO2xGz4Yv13LnlPCVdo3whma+GL8McfNTILl7VOfLJe1FQSzn1kis2Db5MNxrqA576e@vger.kernel.org, AJvYcCXyXM+Y3fH4cs6jpHs8EFmp4pZRnYQLWuujmJh6MfppHdnjg3kpmRAsJUeT/ohGBdkvdVf9CzGPOWSn0xIX@vger.kernel.org X-Gm-Message-State: AOJu0YzmhGXvT5jzWp4CP/wGh6X90SHlBuefJEXE1QY9eItLNUKu9sup b4677tV9MInS54XXOu/J6jx9bPf2zhVLijd54jzzaGQOOVKWa6m7TR/D X-Gm-Gg: ASbGnctllnHdf4exlo2rcXOQT54NBE+sC974Q7yavgyx1rkA4jdWFPjATxw2NlVkNDA ZzKfS2CSFMtBnrgOzpV3Z2drEe1XR/jNFe/i1XDTNO8+I5fYfXFypZlbr2z+sLjjJtsEiZ4tL04 R++8H/40X4opgVMFcTZHSWh4LcvPXxHsEbgczn3daJ7Si5mqZ8IaNpJjnW5phm2JKpHWz2nprL3 yjB6GXMs9V0ja5y2ctciPrCOG5aeTIdqTATVCgTafwjw2VF1rwqYJSOOKnzc/yb4EDvRySBNTD0 G9nlPywi8CS09G4mdpcNkUvxtexC2RJOLa5N4q+VhhdUR0i3enc5sjpEaZ7763N0LsgLthrAYGE 6GHSykBJmsI5xfkcKvcdqtBsiu+zYf9H7+O3YHH0qS7pXy1aSu1Ct8EPqUFxpGQgjLRyerNgNJl gl X-Google-Smtp-Source: AGHT+IHuF11ip4L2zFfEUMigRC8dkjkuBq7ULx5s8kWGHzrhWElZjxldUDaslThQi3g96GCZtgJjdg== X-Received: by 2002:a05:600c:4f85:b0:456:43d:1198 with SMTP id 5b1f17b1804b1-4562e3801ddmr128008475e9.32.1752929796210; Sat, 19 Jul 2025 05:56:36 -0700 (PDT) Received: from Ansuel-XPS24 (host-212-171-170-230.retail.telecomitalia.it. [212.171.170.230]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4562e81ccb4sm106688005e9.17.2025.07.19.05.56.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 05:56:35 -0700 (PDT) From: Christian Marangi To: Stefan Roese , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Cc: Christian Marangi Subject: [PATCH 4/5] i2c: mt7621: limit SCL_STRETCH only to Mediatek SoC Date: Sat, 19 Jul 2025 14:56:14 +0200 Message-ID: <20250719125617.8886-5-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250719125617.8886-1-ansuelsmth@gmail.com> References: <20250719125617.8886-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The same I2C driver is also used for Airoha SoC with the only difference that the i2c_reset should not enable SCL_STRETCH for Airoha SoC. Introduce a new compatible for Airoha and limit the SCL_STRETCH only to mediatek SoC. Signed-off-by: Christian Marangi --- drivers/i2c/busses/i2c-mt7621.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-mt7621.c b/drivers/i2c/busses/i2c-mt762= 1.c index 58c3da92cea3..b4dc1fb269a6 100644 --- a/drivers/i2c/busses/i2c-mt7621.c +++ b/drivers/i2c/busses/i2c-mt7621.c @@ -88,6 +88,7 @@ static int mtk_i2c_wait_idle(struct mtk_i2c *i2c, bool at= omic) =20 static void mtk_i2c_reset(struct mtk_i2c *i2c) { + u32 reg; int ret; =20 ret =3D device_reset(i2c->adap.dev.parent); @@ -98,8 +99,12 @@ static void mtk_i2c_reset(struct mtk_i2c *i2c) * Don't set SM0CTL0_ODRAIN as its bit meaning is inverted. To * configure open-drain mode, this bit needs to be cleared. */ - iowrite32(((i2c->clk_div << 16) & SM0CTL0_CLK_DIV_MASK) | SM0CTL0_EN | - SM0CTL0_SCL_STRETCH, i2c->base + REG_SM0CTL0_REG); + reg =3D ((i2c->clk_div << 16) & SM0CTL0_CLK_DIV_MASK) | SM0CTL0_EN; + /* Set SCL_STRETCH only for Mediatek SoC */ + if (device_is_compatible(i2c->dev, "mediatek,mt7621-i2c")) + reg |=3D SM0CTL0_SCL_STRETCH; + + iowrite32(reg, i2c->base + REG_SM0CTL0_REG); iowrite32(0, i2c->base + REG_SM0CFG2_REG); /* Clear any pending interrupt */ iowrite32(1, i2c->base + REG_PINTEN_REG); @@ -276,6 +281,7 @@ static const struct i2c_algorithm mtk_i2c_algo =3D { =20 static const struct of_device_id i2c_mtk_dt_ids[] =3D { { .compatible =3D "mediatek,mt7621-i2c" }, + { .compatible =3D "airoha,an7581-i2c" }, { /* sentinel */ } }; =20 --=20 2.50.0 From nobody Mon Oct 6 15:15:53 2025 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 12B9728851F; Sat, 19 Jul 2025 12:56:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929801; cv=none; b=JrjltL+izIk8t8jHPAZRIlrzygw4oO6VFfojxDv1wXGQOzx5i6PrqKcfKJyKwrQcNtUTnVFBYNUV0SBpZGyg4+yr0KLb5wA512WoSWEeGk6BHdvHI76ArOCzhv1GEZYU9aN5oH14Ffo4wcpLK1XsWhU2truDbC8niy6DMoc+aTg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752929801; c=relaxed/simple; bh=XuqdLOxXDPO9JQSHjDKhnVmvk5hC7cXCT51JI5Zeh+0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TDHGBxWk4xA03lbbQOl4vkammyBIvy06BUGo03xNd7fX7Lflw3vpyQUkr8qQuiRPXZkRupGPK0+DsT3KaB3YhngcbEhu95YZTCrdAe8VM1gf7OKp6WnF4OOHYjqgCOP+in0pCDWZP+FlJtv5lfhwzamKKAJMn9ztcyN7USxAAbo= 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=TgTJYi2g; arc=none smtp.client-ip=209.85.221.53 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="TgTJYi2g" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3b5e6bfb427so1677016f8f.2; Sat, 19 Jul 2025 05:56:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752929798; x=1753534598; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Flp2kuB43upoDmZKHtPKy1TYQrSu+LhhKaLm1sYr4pw=; b=TgTJYi2gJyB8KUmuifll2B7ydocFdzWKLtSaYeDAxcQfI4kyIeg+obhbdJvWs+E05m YDUf09xhGFmq6pmct7gpn5GqFdawMPuAEr5Vz90T8Q2p6M3PWNLNrEry6cK6Ahbr4VdK 0MRBZjcDEkaJUmvDzLlhs7m/oOmcf7LkTKDfFz2fyczENt9hkw9yy+gPMFXS/S11Wrop Zw2Me3Wd+1Z5KQz69ycWemGFjxKOFZ4TGaa2HoEG28kBlXvA8tOlKdzJ9N23Id2sMCOP Jyc9VfotgQ8JYj9oJNtVBpcFu7uiJNTZ2Iz2Dut2s0DBTTws6V8PtfFD0JKMLk5zvHlG T7BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752929798; x=1753534598; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Flp2kuB43upoDmZKHtPKy1TYQrSu+LhhKaLm1sYr4pw=; b=iCV31DxBI6/uhgKU2slfye3HOMWojy5L/9Z8wTtGniVK+69e6SOZZszKLQ2ScjxHN2 3kBiyWbetvNfEeB3tseTJ3cLqS/vdLe2M3wcqIb3JrkDQAKeY4pA3mIgn/5CY16H1uQg iEMlf2fTZ964cY8JhTapwdmtYL4piiNxOrakZGduC35eYyqVQhybwhJZ3fe/B+yxkfES mq2P/Qs7dmUZM34coGaSFbumUOx6f4KKbdGwhWF/OqLwz3CEY7ZJtyCzBL2OvF6lt8cB kz2RyAab0+FAB4hRNCD5EfK/7/LXPWVM1QchFQYw3mNWwQbkyRu/7egKOWxRdtPsFiBL pkjw== X-Forwarded-Encrypted: i=1; AJvYcCVSvzYOnK2KQqViVBFNu77pDGzut6yz4WhjbGWLmzE4307rwE7wZaOIsUeUGcoSHmPL0TJ1P/KfFm6f@vger.kernel.org, AJvYcCWbqWQNNlQc+4rXWtbtSfTsrrT8VMZB629W9IMynsUbWnwrY606Ty2beh7YaZWu13qBcyVa2SgZn/w6@vger.kernel.org, AJvYcCXsDra0m3Gvzk+ZqyOqZqlv7hSi4BlFJ1pLvLWHOsuUZxZJ+ywQzXT/UvfltUkuYtTodBg2vkB7GMsNnZug@vger.kernel.org X-Gm-Message-State: AOJu0YyAmA91l3iMsCdRbXrBLrVzT0sGM8PENCef6rtOYlRH7hEt1QGA eTCOfZ4CA3QmySh20a7MTRu/S1UNp/WmvoM2a2PfvC2gBYn5/oJGtoDb X-Gm-Gg: ASbGncv8dCJar1qvDzgQp+epRmnQKk5BsifDz08PtM3krZhktRFWjzvSmjNiVY0vGHb n1G1JwtWk8EeBXpDq7jDcAIxYVQkch5M9GlA9fCjxjR7gbDSfEBnPye43bFqWeuQML9VOv3smHW k6lYPNxK2P1ufVL3aeEPsb26tdXhfOnyWmAODuZWn8ygHkbqUG2LNE3N0RZC14CrvcowqwTqe82 w0nRa7RO0ZZfP7OfRCsjzn1mC4pnTe8u3CFuySo+uXCpsfOiW+8H4a/h7sA9KeZGuW0OqtoQLRv ZPCRGwFGv1UAFGvDDVBLiCcb5L7TwrQYWPLneHCcekXeSOAHE3y8eXvBkGm5fkUKEUf6en/Dhb/ o70qZFu1HlEf6eMmAMajC3stgABxodmso06BhZsPIK/2wNxOaw215Js5ARbZLUc/ysHs5+w7Kca t/ X-Google-Smtp-Source: AGHT+IE4JOLUnKqTG+RRT3va8EmyFFWbs2GSaAaRZYzN4jRFgloh4aLC71f8N6Pli1m8JiHLL5dIBg== X-Received: by 2002:a5d:64cd:0:b0:3a4:f7e6:284b with SMTP id ffacd0b85a97d-3b61b0ec05bmr5500785f8f.10.1752929798033; Sat, 19 Jul 2025 05:56:38 -0700 (PDT) Received: from Ansuel-XPS24 (host-212-171-170-230.retail.telecomitalia.it. [212.171.170.230]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4562e81ccb4sm106688005e9.17.2025.07.19.05.56.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 05:56:37 -0700 (PDT) From: Christian Marangi To: Stefan Roese , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Cc: Christian Marangi Subject: [PATCH 5/5] i2c: mt7621: make device reset optional Date: Sat, 19 Jul 2025 14:56:15 +0200 Message-ID: <20250719125617.8886-6-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250719125617.8886-1-ansuelsmth@gmail.com> References: <20250719125617.8886-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Airoha SoC that makes use of the same Mediatek I2C driver/logic doesn't have reset line for I2C so use optional device_reset variant. Signed-off-by: Christian Marangi --- drivers/i2c/busses/i2c-mt7621.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-mt7621.c b/drivers/i2c/busses/i2c-mt762= 1.c index b4dc1fb269a6..6e3848f163f0 100644 --- a/drivers/i2c/busses/i2c-mt7621.c +++ b/drivers/i2c/busses/i2c-mt7621.c @@ -91,7 +91,7 @@ static void mtk_i2c_reset(struct mtk_i2c *i2c) u32 reg; int ret; =20 - ret =3D device_reset(i2c->adap.dev.parent); + ret =3D device_reset_optional(i2c->adap.dev.parent); if (ret) dev_err(i2c->dev, "I2C reset failed!\n"); =20 --=20 2.50.0