From nobody Mon Oct 6 11:53:56 2025 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.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 9D9432E041F; Mon, 21 Jul 2025 18:07:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121251; cv=none; b=Y/Aw6ZOndNDsF3E/zgi81amOvpOhWIALxPy9DtLorJgAAprr2jCwnHOzF9PSeKGYxdr/4JkiqqYRx8D85l+8wckWs0S5E9jV+KqYrnt3hqXyHJ3wKHp3/pcs8nM3XNwqZg0iNZiXJTu7GA5RkI98ke7xfPqcvY7ZC/09LSKy88c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121251; c=relaxed/simple; bh=m5Tye1okCu95gDaX9otALibtu1rA5BK/+GhVYodIZCg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LpxCzcS6w8WE6509SN7r9sP+JZJJJ0hvafeml9+R+RsGPIVOcSC/P0+QI+Y2ejg08kX1UWAqMQfUFfVS2DiSoqzrALSAxLoAMQHsNl0lVSPpx5f1gseRrHx57HxrhuK7S19PN8hYWWKBSTUYy2K7taj0Vk4CCXCnvIlGgfOx1R8= 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=OsiS3+hE; arc=none smtp.client-ip=209.85.221.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="OsiS3+hE" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3b5e6bfb427so2600355f8f.2; Mon, 21 Jul 2025 11:07:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753121248; x=1753726048; 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=OsiS3+hE8LZTOsAVWE1r7FbJPm0jwoMJ9qP3mBdUANh9b/8QfRv0+b9ByANH0qoiSR Eg0qxscvCzI21sWJI2OLcCJewlSofF/5IajflP6nT8b8lqG/qyxl1TahjkgXEeYaVFw9 TRBnBEucisZni1ofmb1K/ZFWaHCiFH+90W9vmDyV844+1UHar8c8xZR6NLCPqLpzmSLE SQ3wimp5nWVLft0A8pcSic2ECJGoA8FdyOYMEpGzjVsYdM+oeG0qlDmetyakM3jHMIOB 5/BRMrTZzQfEF4V0ppHz1IkHDlZOy1eh+srBchADaDuRvpRBXZ28lLFTBOa9ulO2B3Dh Fu2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753121248; x=1753726048; 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=K9U+dmEVJA2nlXJsPtBeVyTY+o8kesMWx4zGOMI0XrfRv0oOZuGlW3HqKlyrThxiFL IcXuhMjxgm7g7lUL8AsDZgdUxcTH/mnk46g6gcxuoMqBpWZPkxnPJ/E+Eatg8mRtu8qs 3/owfjpjkrPKa8DIq/Gj9T6BADl/Xaj9BBJx7GvsHRX5BVeZgjftZ0QtOYrID/8zXU0+ kD+pM5QMn2aaFQg3H575evOEKuJVZw0sjNjDjBOvk0BVAXHxxtuzUrxssMVCGTwzJIYC HPREx3m/IX8fWdSh0V4B7zXXU1uS1/X1i2U3ac1D1hiEVwR7nAv/joBCT+Krz9LGqtHy RbqQ== X-Forwarded-Encrypted: i=1; AJvYcCV6SIh66n6LKtWzMNXvyi4XjGskQXxUPjdl5VxX1SB4LK6HX8Wf8ATPUMzXFg8YVrbj17KclAO7iKVv@vger.kernel.org, AJvYcCXK/iGAbF/WCHMFN3xQk8wmbKXJfezprHHoOP3IgH9FmGyGbNR80t2UWYO/VsZoVWwo19gNuFZGzx/UOHQR@vger.kernel.org, AJvYcCXz6SDQODZ3UxwX03/Ug1CWSEK2nDLoTAwDFKMV8PKpm0eV+Y3ZP3kiUDemymW8YXDeJyiEXvs+ttTU@vger.kernel.org X-Gm-Message-State: AOJu0YyacRTT1tQ9fm0Mp86E7D6QlYscPtgQK1FrpbZd6zroF8aUAI0K M58J+1hQxMTevgzpdGFhFBQEub+2UsxeHtMr49ghJMBgfkVbWV8TuNnS X-Gm-Gg: ASbGncsKRfUOePlsVB9eVkYbRI0HFaw67gWlBkISTZPkpNi4psbzo3xMn3Jx7oNhVl9 IDM+bS9eKJQUgsaNR3fvriHvia8r2eCst3BQZW0Gb/ElneBogfO7RFGIk7VOPcWQG8JIujJlXfD H1w6X0n50+J/DlLg+Bv7U4Q+3tLkpRKG7ACFSCiDqBi5N8uNLWSOylffsCXbi/uuFvY4er5i0lc KxdJFIzA8ilSeJXznU9iTyQE5wfOeu2gQFZE/vidHdZyfpM4MEjcV/x4DHHvHsVLtKWzHqlqUWM 57fPmUmaPxRllxN2Bef0e5MeXZfLuu6Wq6N4AyF4QczsvnI9+HTezGk5cn+rlII3XbgjOi9ZHP1 LWa8BgiEALGKs95LKrNbP5iM= X-Google-Smtp-Source: AGHT+IGYHvoIqXYmG9yQPodcuC8yICZXTkPFoNGcxMbPnfnBTzexQFmzBmrG3T3lmTwxSiAjYQZz+g== X-Received: by 2002:a5d:5c02:0:b0:3a4:dc32:6cbc with SMTP id ffacd0b85a97d-3b61b0f2f8dmr10615647f8f.20.1753121247732; Mon, 21 Jul 2025 11:07:27 -0700 (PDT) Received: from Ansuel-XPS24 ([109.52.136.49]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3b61ca25443sm11183370f8f.9.2025.07.21.11.07.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 11:07:27 -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 v2 1/5] i2c: mt7621: rework cmd/wait OPs to support atomic afer variant Date: Mon, 21 Jul 2025 20:05:52 +0200 Message-ID: <20250721180710.2116-2-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250721180710.2116-1-ansuelsmth@gmail.com> References: <20250721180710.2116-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 11:53:56 2025 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 9CC1B2E265D; Mon, 21 Jul 2025 18:07:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121253; cv=none; b=mVy16JuNViY3iErtUoR8wy/qk93oOv1VMLBUwONewPrzVgkMHQOJ/QGFeLNFLPdqLu4mbJi/ce/ODTzCt8o/V46X+k+u3SVQcCDLr/DKZi/ZMclfaaWdlsu7kRdlhOXrYXQX0EMOlg3x3YwDWDmtjrj6QsSqtAmAZzrrg1In5Lw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121253; c=relaxed/simple; bh=gCTLtnVEWTLUGy/YqhtrwDKE2ztfQikmDUvErDItnQ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jnlM4Ar7O2MVS3K6VK1Gafgno/RSk7Y83mxN5GKzXATHwUf1TVNbiC6O0jZvXPwhuAksw9llIHSGVmxAAmbG9N8meBK/ZjUBmmIpAZmBL47xOc+mSKow0as+NmfBketNwLD9Pu7S2FMRyYjNehsAA4zIa0dH3lNDGWhJ0IL+oBc= 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=MggNcTuD; arc=none smtp.client-ip=209.85.128.42 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="MggNcTuD" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4537edf2c3cso48923795e9.3; Mon, 21 Jul 2025 11:07:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753121250; x=1753726050; 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=MggNcTuDF+Z0Xvhx6L7cGGZhuBvnNJXGT9GYx4FDzqnkQ2ORmM0D0EGged46tXM4zW vtakvWSUN2FyfjLmxDi9SLmCjsCsM8FNF75WUnv7hU4x3PS6EENQsL5QmuISMpGgb+Io qlvhBv8dJwM4RN+0POwQwZO7RfRia4CBhOymecYA0xlN42N2KyfPwlhD8ACTzOqowbii 0BLjBgOakxGeZLeiR8d3fycMghvxiLV3mC+EzXrYEH2PQNwFnVv+v6RMdFeEXF1xyzZ8 TJ5cx9UUgwlCip1ELhxZG5IXv7UUdeKhCRHeG4qxSuZkvfgdidFQEMRI0KcYpsZDeu2f Z+Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753121250; x=1753726050; 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=UQ+wiAtuaYVfGngGxCqgEPXd50RXIXDD99ULy0QiZ3YGKihQDfig1wjc9FoooR/w6D hijkyqtugpAsTBR6vSnNSYXnB07em6HsJLAP8D6u4V8DzYXQiGZRE9y6MGm8fs9/4wlW u1xvL2Qtp/TirLfISJurDAyToKt2HtJPbWvcwtJl+jg5swj2u2Gn8bHPKPMn9m+L/P3g xJjKYw/IbT2cmtUR2Eb0KjLT9vt9jmAtiJ/iqhmXPOqhqA3geTv/hI/gv94JTtMVLWtu rvadtZWT87MLD+2RP4N/It52Jg7hWvpl32976lqrUiGUsWg60MW52/H44kHNHDVi6RX/ fvvg== X-Forwarded-Encrypted: i=1; AJvYcCU6ZdyapKLx6Km2iDGXnwepLxkvsasuIOIEdKfjdL/KkfBr+GAKkg7bPnn4OnEhHRTdu3QCs2fff/QH@vger.kernel.org, AJvYcCU8l6oT0slRApA/fWT53SEJu1BVGcETmr/5y0PxrvWrqTaNc6PV0vpjmlcAy9M9R2TWGgr/MuNpjJ60@vger.kernel.org, AJvYcCUTj+TF4dcu7tlLR0d0a6lovVf7zPlEV8F/k95Fw9gBNH/sykTzRGCi4bNp1Csw/vTd1lLAZfwUDWrAWhuc@vger.kernel.org X-Gm-Message-State: AOJu0YyhQ+iM0zUdopjxHoNB2s1unZHJkznnEJzNsNxJxYLMsIfZDeme hcz9Gnp65kYv1Nj/c7uyLYn98X0+G+C6d9vDh3Ar5DyPkrCJDyrEbeLK X-Gm-Gg: ASbGncukDIROuCm1h/gnZmWZau+a/KJcHi/8nzr6JtZOAtmVtags+VmUf+iORVgHDvw wqUti1d01SBUslm1qNFp2hhdfaT6stJfyfsJvCJJgHGp4I0pgUkP0MG+7AIA6bwhU1IjeWB7F86 ItQLjBYgpfobdlEuqo5olTvXW8ncsGKlNHptJYc2CNbQASOfAvbBI6VJpFQuRfeDS8DIdIvkRqI 52gyXqRyVtl2yxKidRQPLYqooPYlFuAtA38+4YKE4KdWu2GVjeP1awUE4JYMYuYTa2G0Xsih6jG 3WbAoRvp6lIaXstFSkW47b5+lK6LxxRyKvRI6bY/SyuToJ1Bu2ZYdky34510U87luCYYs6rnFqB BluHb8/o+FWwYjS8iY6rnqto= X-Google-Smtp-Source: AGHT+IEaJ9IKclVWpAiI/LNl2Pqjf/7hnj98qH2PFtCovmBuGGl9+iOZcDYxw7D2OIArZ9QiG9oQOg== X-Received: by 2002:a05:600c:a00d:b0:43d:4686:5cfb with SMTP id 5b1f17b1804b1-4563ab1fe93mr127073725e9.27.1753121249509; Mon, 21 Jul 2025 11:07:29 -0700 (PDT) Received: from Ansuel-XPS24 ([109.52.136.49]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3b61ca25443sm11183370f8f.9.2025.07.21.11.07.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 11:07: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 v2 2/5] i2c: mt7621: clear pending interrupt on i2c reset Date: Mon, 21 Jul 2025 20:05:53 +0200 Message-ID: <20250721180710.2116-3-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250721180710.2116-1-ansuelsmth@gmail.com> References: <20250721180710.2116-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 11:53:56 2025 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.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 41B082E2EE8; Mon, 21 Jul 2025 18:07:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121254; cv=none; b=a9oxrZvR/V20rX2frfAy9AEWUXaJaOUKr46kXQCrxX/epA5FejJbn9wRFSHZsIoFPuJvlIIzwZmgWNqd6ZAy4VyogIMIyyvVP2VELdGrRtaBPCTZJhCnk7aNLlUTMy7GZ3AGZH5pglIBj/TJdAZCkkxt2yOfV0YqxZ9yYNHNEfI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121254; c=relaxed/simple; bh=BSuIwfO/sLgzwibvy1RfgHreC06I7Shn1XmjuLDFRyA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FaFSWk5FVYKrPUXQQyBh+wvfu/GjZnA1z8vdoG4X2yh+kMcjQEJv7w2SffAcpUJUPcrh1dn8Sz+6iVbnRymTxwQpU7WnojwAjCxk/n6S9HHflJAeNRyY69PZCO6rcgQHaTQusyijabjNn3fliapywVpKGnmc3Y9YyxeER0azEGk= 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=i2W4kIKC; arc=none smtp.client-ip=209.85.221.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="i2W4kIKC" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3a6e2d85705so2350591f8f.0; Mon, 21 Jul 2025 11:07:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753121251; x=1753726051; 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=Ic0V3M7sRH2Zp1RRAt0YlGJ6GUFWs58JzWsEOf9cIOU=; b=i2W4kIKCqK6MatCRfI/g9Wevmrb1kbsQE7wDbbnB+9eXnHBy7iB3SoyS5A1ZttCWVn wYGQdJhtUV4K6MS6PX7k3YCIykfxC+2erBZmw0GfH2Z58iBwdj/0VlA34EQzBbODHq+r BZfeuMur7k4pzsDZYxpZeIyaqv5RZykSon5gZt+3I8yw58AVFMt9wy1avuPv6LIKfQf4 TKCp6x+khq5En6stK040mOzzUEwoaUdmtTp4LyyKp0K07bcoB1SogdLDghp0Vl4RD91B E8HBROAkvL3zSzzQt70cEOhIoYxTleZ/cfBYg0tf17Xuwz+30+tJkuzG8zxtNG/TLU4R ZNVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753121251; x=1753726051; 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=Ic0V3M7sRH2Zp1RRAt0YlGJ6GUFWs58JzWsEOf9cIOU=; b=VqQL0ZO6mJhAVKAwZIyK+59bo1dVRl39MoY/oOJPro+8eWvDvfzOGSHkWgcWS45BCR BzNhgu2VPQmPdDETOrPYXsniGEoP//zrPch0YCB8G9kZJHJo+SOSojW+XcMazD2cfrRw 4Ex8QSUNb1Z0bIj2m+oOO/N7Kunc2pB3MociSLxbXNgeujv5ZjwEwzZH9JRxZB1LSFz3 ZWWw27V+0czuOfQKVkSQ4zzUsJiAFULuxFHQCltZzO7oCE8KdQe6YsC6lBPHluV58Giq PkON9d9l43OdqteMxp1WTqEFTcXb9/+R2ZYLQbLwhv46TB2lb5zuCzwQmH7sTMhPHos+ NPnw== X-Forwarded-Encrypted: i=1; AJvYcCU9LJFGfeSBn5iWNlyghMnbY83oWfvLC5U3aA/8hwPjZ418SMKR6n6n7nRLInebZgqEwKDwEgNNEqog@vger.kernel.org, AJvYcCX8s67eiYtoMm7gQQNhFtOjOVOVPzLB3wgdPhStA4EzjQ9Clt+SDBZFQCjzPLCr6F95pla73aQnu+PX@vger.kernel.org, AJvYcCXpfqoDqKhABw8c6OYJxQdHrOx7eW6eiAyVfx2DM5ZNWA8KDIzYrrYhq6CE97s2MzmWD2F8fxOQWsPiIB4v@vger.kernel.org X-Gm-Message-State: AOJu0YxqGTJ9kmHHNfKWsm51YYgsWlySS7I1OWVgGwVWtiJM0eYEfLNH pBkKgdJJXT+oW/O3Vg/u7HSKfFfbfGbhlkvTMwUfjQgzfwRt9Hp3gSwQ X-Gm-Gg: ASbGncvaBz4/M+sblyLx1ZKnlyCQu7riaBcwSMp6lmJrxK7Dpx/Xh10GhsXvVSGwuoI wb7ntNL6rg8n0sIRLoXfxpfSALCMMv7uWAEo8fcTy6gdS5REBlxBO9a+SC+FQQfmMwpSDMucKrX H7TDBrxoeFuoVvOs0M2qkdKBZWl53foSgCH70OTsfkqmZcEBh4ObB7zioI8kLpWwsc+cevswq9+ VXtSMdD2vWMmweXHLiovGXV8h//iJuI4+qGek+DfwhsqvTNlLtZD17fWwI1eMryUsORc4InXcLH fS5SrrhJbW8N+TpWatnIza/4e6is/TJkzXRJYIUanus3xH3Nwy4MFbBPxLDRT60ewmQjeKKKNpQ WF2SJrGXUlxA5926MzisJ7BY= X-Google-Smtp-Source: AGHT+IEztSiq1VvfDAe7vlwj5FXCH2q3wnt65o36wdrhDBUN+Og6tmvcBZ2eJisaFxgmoXC6DUiqQg== X-Received: by 2002:a05:6000:2310:b0:3b5:e7f4:74ee with SMTP id ffacd0b85a97d-3b60dd6a8f8mr18711660f8f.16.1753121251425; Mon, 21 Jul 2025 11:07:31 -0700 (PDT) Received: from Ansuel-XPS24 ([109.52.136.49]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3b61ca25443sm11183370f8f.9.2025.07.21.11.07.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 11:07:31 -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 v2 3/5] dt-bindings: i2c: mt7621: Document an7581 compatible Date: Mon, 21 Jul 2025 20:05:54 +0200 Message-ID: <20250721180710.2116-4-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250721180710.2116-1-ansuelsmth@gmail.com> References: <20250721180710.2116-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 Reviewed-by: Rob Herring (Arm) --- .../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..8223fbc74f14 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: + - airoha,an7581-i2c + - mediatek,mt7621-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 11:53:56 2025 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.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 1455D2E3385; Mon, 21 Jul 2025 18:07:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121256; cv=none; b=tve/RttCuy6RGQUCmJs5U1qOauVNOT6lrrBjvHnzpqyUDX7dvA0071pGZ2WBxnSf31BHUF3dsB4YrqzTrS/gzlshzlCK4+Kul62CYFEcNHYK62FUdj97kB8XVBqB17tSXqIMtnJ2bzWwgK1T2AEbc8eABtx+HvoOOuX9RU7swXM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121256; c=relaxed/simple; bh=Vs+D1OyyPsCiKsDufhO8BO5KJnYHW8HEaou5C1Rmdyk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Lznw2LXrl52t6wbB9duI8Rs0pEQkWYwzDGPSjNPLMUcwaah4rQKih0K9gOD5Pnij7+gUOnNVQmlcD4WkvBQ6HMQM87yC12V+PZ6e4n993k4thrN4Qhr2S4o8Wn20bln9U4AC7iLWrsVGxzVeX8ItwCYeAwRj3YrRr4XEG7+2l5o= 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=ZP6hkT4I; arc=none smtp.client-ip=209.85.221.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="ZP6hkT4I" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a536ecbf6fso2725979f8f.2; Mon, 21 Jul 2025 11:07:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753121253; x=1753726053; 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=ZP6hkT4I00sM6T21XhzQ15rNItXsS9mTWpY/s+ohIBHyGC3Cupgph3NZHgkX6urMbL PHgNo4yacg5gRNoxwapVb8hiahMLb/hYU5q+8VSStPTHPXcY9jpWe2zF5Brn11nVO8O9 LTqs9dB//AKRwlNV7UBimLhyg1ESStIJrfZ2xJShOzYWFD/V65bOMhed01ZYQMsv94gl Xb7oKIrhrr5LbXt3ETME21IbLtULNAfvbmM++LROO57ljQ9UKpMQrca+pFvL3msgGoRX 7g7DHIdVcGKNXn2Q+yVQh+It2w91Lb9AABwKjKR9gU1TxRkaVY+AaxrnEvOLxsqKpYNN JJRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753121253; x=1753726053; 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=hdVIp9z9C0JlfI2c3zpXJNaYwtm2p+QOqt1XqOgz5icaHxkl69jSPFRr5MqZDQxcfA EsqGOW40nHZbtkzNq0eoqtoEdQ8qs8SFtbGDC0k5TPwmjfRQbfgUyfR/ljveFKoOm7qb 6hR9pVyCrKEjH4yXJ5dAKLhdBb0acvpQ+NygbKwmIWRIB+hathW3ff4YJBVPoLh80fbh xbrUTOyVLFbu4bTqTdg4LpcClWGqnAWWGwo3a2IDeF/9QBfcIKAKbQ6fPFxmr0wNeIO2 gVPovTQQMwqrp0pgEWGiehzvXeQjnp6I4oqSQR2gzJHIS4CsZnczMhzsD4NURFhXZ+yT FI/A== X-Forwarded-Encrypted: i=1; AJvYcCVAFsug4f9vBZNHqvAp48mquiua2iCMntUtqkdsRx+GSwRtsEwx2N7QSTy18Uu+K2wxFhxl+MnYI4dJ@vger.kernel.org, AJvYcCVtqcwqyE0A1+1GyN/tJV9hcy6ttJDonoSHgUkEftACCdSTucmC+IKlLF4mqm9E6hsSIaHYda8/7pou8UJh@vger.kernel.org, AJvYcCWIJwhXOhANxNx+vMhPuH28jl5G0Qbd9oeqF1Fld9bVdGMsKuh3gnPJyW7Mm6ZFP3wsc10/UylbHaAw@vger.kernel.org X-Gm-Message-State: AOJu0Yy/bp6mt91iudPW6kpvbN4d//5BYpeu5mzEklh+QSsGnliDgOjh 3oH15MfJsGLAc8Y48+/eZHCzztqMx2KmSqtcykgF3Tv3vrXG1hF0jopX X-Gm-Gg: ASbGncsg66XHmH21+8ZEMcHzkz0iMOSwtk5AHEHQ7tUpC22elAWfySM1JV4z+2KNylv dT95Qb0tjrTS8RILgFK5YUkp6xQhmpBc9JJ9ngBWU949Ck4bkjnuH9wOGiP4GXao/ejNzPutt+k 3aobMHSTibcuEsLsGlKE+ywvVZky0KuOWv4V+y7SFcIMhiq49kgGlq2AcmGZmh5urvceC/04s1l ap8KZOT6zab3OyhBo4KmkXCpI5G8ftwm3G+vL5Ru0A/ygZtekqYlUBjymzYZ3/QXyv27wFHJTrK qPU3gEoyGLA50zPvKZwEB3BjPpDixmxb+kElEA/m3seA/E3YJYFqMaUQiHCSTfc8hVMzN6ISLFt A0R8R6Eyd0Fc/LzQJTLli2kI= X-Google-Smtp-Source: AGHT+IHmyUfextSJYKW/B0dJOold2dMrY42j43HF9l7jc9Jyi1JVLeAGi+6sfKg2IAK8W5YemEeGfQ== X-Received: by 2002:a05:6000:2a0a:b0:3b6:18be:3fbc with SMTP id ffacd0b85a97d-3b618be3fe5mr7634132f8f.2.1753121253150; Mon, 21 Jul 2025 11:07:33 -0700 (PDT) Received: from Ansuel-XPS24 ([109.52.136.49]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3b61ca25443sm11183370f8f.9.2025.07.21.11.07.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 11:07: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 v2 4/5] i2c: mt7621: limit SCL_STRETCH only to Mediatek SoC Date: Mon, 21 Jul 2025 20:05:55 +0200 Message-ID: <20250721180710.2116-5-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250721180710.2116-1-ansuelsmth@gmail.com> References: <20250721180710.2116-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 11:53:56 2025 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.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 D15F92E3B1A; Mon, 21 Jul 2025 18:07:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121259; cv=none; b=d3T5Qu6J3UgsQ1y1yWjv1a6PcK5M6WgU6QmiBeDlSuEwOESStlMNQyt0FQRxnooDyPMRPUx+0BbByju664DCNtIj6hmS+ouB8YYnDqw5wk1LVTK6BMqe+7wHYDEOGLpuYPrjY+F/6fuOsTTgHHhJBEoTMKWeVpPp1dzRBIGS2L8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753121259; c=relaxed/simple; bh=XuqdLOxXDPO9JQSHjDKhnVmvk5hC7cXCT51JI5Zeh+0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oyqjrCx5t17Ai/moUXsPJwzaTss5zX8YQBw88+GnKfJuT9Q7o3VBiXl8Rsiwwsozn+MZRYgDJw5QOSJe5im/ayDLyS2rvWXRz9RaA9qZqjKgSGmB5j7IgH6rH5lNhh5q57GiIbkzM9AseDkFMdCetU844a6/lbXP1dFvLTux8y0= 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=FkJT29d2; arc=none smtp.client-ip=209.85.128.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="FkJT29d2" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4555f89b236so46517715e9.1; Mon, 21 Jul 2025 11:07:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753121255; x=1753726055; 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=FkJT29d2trZDS7EIdy0grU0vj5MaaImtN29CovUEUqf5dkx9Hp21R3ouFdwK0bO4pi chjQJqR9zUeGzfM/hyGB6Gwot4DkcdITxRwFiS8O0OpEVkrjydYp0hE2NyKtRHqBr/y3 gXMEU0SFhZs2JOICrRgA5p3rBSkf1hqwaSalAFM4EwNaO7JG/iU4LjUGVSOQ0ClRIHIz 9KoVjucbDHymX+8epU3h0W9Q3sUdWMljD6QgNd0qUcPgTD8B102xhSDsuxPpLI1x1iPb 8cia5AbOxtktlEayQ6P5y7fgjhzz+1Fhlrnyy/ekAnM1GB8tDmLBqjEvUphln7fBQRMo QpJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753121255; x=1753726055; 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=C2mRKvvbdLaAc6hzplx7QbtX3aGN+bH8gylej3LvN36KdXcXNK33luN4M3G2isb5jJ W6hrUPC31XBNILVz05NIyKTsdhYGvKf0TnnFyhGjAIeZliVrnig9O3Wl0t2o8BZoW77I h+EWTz33nr8A1qO7og0SK4yqIoRVhsTrxWqL2W66icdYYQjCgpnOs7fzK8n/D93l49k2 av1h+W2KOCgIJSrca+cJZ4+gvpdHaCIA738LD5qKphqxFp/L4JjMYsDZI2kfy8zq6u3O tBDKWPTlMY4zjYtqUc71VXffcwlF/R09Z29A73ybKCXH11R9LMvzQLARxWa4ChXIo5IB UKfw== X-Forwarded-Encrypted: i=1; AJvYcCURoXzCxxxiXW9pJU/q5FZt6WOXMcQ8yR3fOKMdBnFbDTZNX9rQyB98RA1P9JAeaeCqeGhu7Rd9lNUzLKY2@vger.kernel.org, AJvYcCUvJwDMGd2zARoQ3rI2ZI6FY0wk8lAsAkwxrI9B5qT6hnJPwMfqnKHYjjvdvAFHSqNTM25g3tN+Boje@vger.kernel.org, AJvYcCXiavR4dgiKoas1JwRg8Gb2O7DXggSwT0hiPAcAlbV1uYxs+fyI+POTruYjjv6qLybhCfHVzCmkahKK@vger.kernel.org X-Gm-Message-State: AOJu0Yxp0LXgaQcankJ/YZ5IaTP13cT/hX/AqVbgRj2esix1CXLF2J2f wGKdWsKWgrwEMqFsEceq9jGOifbXO7+KVbY9LMjw2N1wH8TKQIGImSlu X-Gm-Gg: ASbGnctLx2lVB+upWbVagXPNtWacY0QMcWXZwxvzWNvQHDLc6GPS+tfxWATZgNu4IzY 9278ijZFq9ugxoVwG0fWdcIDjLVNlXiQY8ZUeSYYZLeMhVF+YbIK2pHUKRrMnjQD/nv98xHFCBQ LVBcWmixk8G0nCY+zShqrogjOtMRcitqaHexi3D8SNNBsg8rcwSaIWLSYw5EUndgmLyTip2Qrlj W5LqJ7pBktX6clrjpfs4rtft0BA4YRUBBO3w6t3bMKBltJxT7hetMoRBmO5IuPazLArIGj95QUk WPLtuuc1uhXseKDPngvkMzvwh4MYlkZCwz+1br/ov+HfsWuI8V557MXIgt5R2MPT3HK5Es5/B/T wcUyq+aC0AgjLdefFOheF45g= X-Google-Smtp-Source: AGHT+IHMDl1HdTYdt7dKUNczFNSMkURtUfgoOq1Dch3s+qbqN05Wekq5XqXHAV+JIJaRsdTcIptzmA== X-Received: by 2002:a05:6000:26c9:b0:3b4:9dbd:eee9 with SMTP id ffacd0b85a97d-3b60e510026mr17022246f8f.36.1753121254931; Mon, 21 Jul 2025 11:07:34 -0700 (PDT) Received: from Ansuel-XPS24 ([109.52.136.49]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3b61ca25443sm11183370f8f.9.2025.07.21.11.07.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 11:07: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 v2 5/5] i2c: mt7621: make device reset optional Date: Mon, 21 Jul 2025 20:05:56 +0200 Message-ID: <20250721180710.2116-6-ansuelsmth@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250721180710.2116-1-ansuelsmth@gmail.com> References: <20250721180710.2116-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