From nobody Thu Feb 12 03:37:45 2026 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3C9719581C for ; Mon, 17 Jun 2024 12:24:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=93.104.207.81 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627051; cv=none; b=W4dUywbqI9f7601qYF2lBIev+JSN4fNKf9991bPxhcaw2KwzJof93niXIel48t/rgYRUcW+ik7agXBWLPWCN4JxfyLmK0w6qsDL/VIpd0+ZgV+FfK/WehAQ4hFCnX6rsdGKXe5F28qaYrYCuKFq+SURwXLGX0H+8QXK4QG+lb64= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627051; c=relaxed/simple; bh=bGyfMBRWHIMuYpLEVA4rP7LUnv0E80+EIAhqX2dEOS0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tpX//b3fQTykb7GJLIEVZCSm2H/mKMeggwFhfZsM2jFOszIEcShtPNpe2MWvEQL0ApHu4v6bgJtcnj2dmLFl3DopDpIZrsN1TCz2LZolfF0VqGXc+QxrMKA7fV93hXPvYLuF0SBfbK8+Y/hjdk0+Hbga4+RCP6ZmwJSSqTLPjkM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com; spf=pass smtp.mailfrom=ew.tq-group.com; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b=g3HvrRNd; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=hOvUdusV reason="key not found in DNS"; arc=none smtp.client-ip=93.104.207.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b="g3HvrRNd"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b="hOvUdusV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1718627049; x=1750163049; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NeMmzD8p32EauX3z8zpfDQahrWuR3SyZ6Ku1PrYCcxo=; b=g3HvrRNdqAwx+3m2M5cAVjJqRcXYM9APzccoszg3u+kVFhD8XU37SQe2 UpXNc2az4YxWk9zsdvRfv9waLmupIjHaoup7DeBNCJIYLFLf07cp4g4ZD jB0TrVktqH9Bz99oj6BkH1IhhbS6WZubAQeqIGGC3ST4GZRwoSXGo0OWI um0a8nDe7uIQiMvpe+6Na1aI6WeWeHZL+/h88UJWPp4e6RL8J6uTChp5T ZxlJ+LpTS5El0Q6jtoxvKoKlUjCQs7OxAENzF8tBstQZMpMOrIN+nf+kJ D1hKNjOfqy37CTMkQUSt+WMt4sV/GTBtgkg3vpMTygoyRBiQLBwAYv8Pl A==; X-CSE-ConnectionGUID: WgmGXJWQQX2Rfr7LMo4qLg== X-CSE-MsgGUID: LORBgubMSYWtfRMUo4kj1w== X-IronPort-AV: E=Sophos;i="6.08,244,1712613600"; d="scan'208";a="37427049" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 17 Jun 2024 14:24:06 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id DD24616595E; Mon, 17 Jun 2024 14:24:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1718627042; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=NeMmzD8p32EauX3z8zpfDQahrWuR3SyZ6Ku1PrYCcxo=; b=hOvUdusVLKevXAkT5xHibBT1QGHDyzpE2Re84r5lv84rY62+rdUilcGsw3qIKKKq9TmSYs PkfcfPUf12BoAwGj2Y9AGaLj4NT0er/oUBgcF3R4NhKoUtF9NvkRvUB23IrGWORBX9iosZ daYLQyco+zAGnwAIjghrSb45oyQX5q8p3yAUqK7JwZnlM77/F9GnaEZIp8nvZhzmIESqrT xcpXaSVpCW+c83r6xFN4Btmobkvdiavj5J6dT6QE20C3rNamWTYL1+mM4CsX/w7HkBrvu3 bYpJe9valnAbJT82zDUGeRo5aNi98u4X14IqC0gisOf+aTPtbvh0eCMLFZFr1A== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH v2 1/5] mfd: tqmx86: add board definitions for TQMx120UC, TQMx130UC and TQMxE41S Date: Mon, 17 Jun 2024 14:22:58 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: References: 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 X-Last-TLS-Session-Version: TLSv1.3 This adds support for 3 new TQMx86 COMs: - TQMx120UC/TQMx130UC: COM Express Compact Type 6 modules with 12th and 13th Generation Intel Core CPUs ([1, 2]) - TQMxE41S: SMARC 2.1 module with Intel Atom x7000E and compatible CPUs [3] [1] https://www.tq-group.com/en/products/tq-embedded/x86-architecture/tqmx1= 20uc/ [2] https://www.tq-group.com/en/products/tq-embedded/x86-architecture/tqmx1= 30uc/ [3] https://www.tq-group.com/en/products/tq-embedded/x86-architecture/tqmxe= 41s/ Signed-off-by: Matthias Schiffer --- v2: no changes drivers/mfd/tqmx86.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index fac02875fe7d9..e15b9be98c2db 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -35,11 +35,14 @@ #define TQMX86_REG_BOARD_ID_E39C2 7 #define TQMX86_REG_BOARD_ID_70EB 8 #define TQMX86_REG_BOARD_ID_80UC 9 +#define TQMX86_REG_BOARD_ID_120UC 10 #define TQMX86_REG_BOARD_ID_110EB 11 #define TQMX86_REG_BOARD_ID_E40M 12 #define TQMX86_REG_BOARD_ID_E40S 13 #define TQMX86_REG_BOARD_ID_E40C1 14 #define TQMX86_REG_BOARD_ID_E40C2 15 +#define TQMX86_REG_BOARD_ID_130UC 16 +#define TQMX86_REG_BOARD_ID_E41S 19 #define TQMX86_REG_BOARD_REV 0x01 #define TQMX86_REG_IO_EXT_INT 0x06 #define TQMX86_REG_IO_EXT_INT_NONE 0 @@ -132,6 +135,8 @@ static const char *tqmx86_board_id_to_name(u8 board_id,= u8 sauc) return "TQMx70EB"; case TQMX86_REG_BOARD_ID_80UC: return "TQMx80UC"; + case TQMX86_REG_BOARD_ID_120UC: + return "TQMx120UC"; case TQMX86_REG_BOARD_ID_110EB: return "TQMx110EB"; case TQMX86_REG_BOARD_ID_E40M: @@ -142,6 +147,10 @@ static const char *tqmx86_board_id_to_name(u8 board_id= , u8 sauc) return "TQMxE40C1"; case TQMX86_REG_BOARD_ID_E40C2: return "TQMxE40C2"; + case TQMX86_REG_BOARD_ID_130UC: + return "TQMx130UC"; + case TQMX86_REG_BOARD_ID_E41S: + return "TQMxE41S"; default: return "Unknown"; } @@ -154,11 +163,14 @@ static int tqmx86_board_id_to_clk_rate(struct device = *dev, u8 board_id) case TQMX86_REG_BOARD_ID_60EB: case TQMX86_REG_BOARD_ID_70EB: case TQMX86_REG_BOARD_ID_80UC: + case TQMX86_REG_BOARD_ID_120UC: case TQMX86_REG_BOARD_ID_110EB: case TQMX86_REG_BOARD_ID_E40M: case TQMX86_REG_BOARD_ID_E40S: case TQMX86_REG_BOARD_ID_E40C1: case TQMX86_REG_BOARD_ID_E40C2: + case TQMX86_REG_BOARD_ID_130UC: + case TQMX86_REG_BOARD_ID_E41S: return 24000; case TQMX86_REG_BOARD_ID_E39MS: case TQMX86_REG_BOARD_ID_E39C1: --=20 TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, Germ= any Amtsgericht M=C3=BCnchen, HRB 105018 Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan Sch= neider https://www.tq-group.com/ From nobody Thu Feb 12 03:37:45 2026 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0C2B195982 for ; Mon, 17 Jun 2024 12:24:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=93.104.207.81 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627053; cv=none; b=tQwKKKhlwKCLJMXAV4VhIJdzz2+TVuD7nTFJoRLEw0XmJiXrrTeAZBIayM84Gc7iWvSKvyf1mz8XUbCzGMPF6+m9FMbrjrAUKaB+53QyFL3WMTbtx9QJ/NrRXaJEI75yncxa1d+RBeIjmtlNZ5myu7oOOOuX1LUEpepoRJqJ3E8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627053; c=relaxed/simple; bh=8P2BKaGl+m4sT9X/h4rmdKw6LSX0mVFUTmAwV7RHOpg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=eNClghjA/mFstP5xbHEPuIfraDuqJG/E6P0tH6HYp1ZpXMzEvzS9/ah7ZJ+Jj8b4hrB200QUrr8zuwgkVQytDYrjxFbi09lv6kGbJRy7wI4ewXRPdIJ63U4akI7Lbs/8D4BwxZpu+4tpmQF6bqcuiWe+QBUHZATGAo+jofTDCHc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com; spf=pass smtp.mailfrom=ew.tq-group.com; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b=p7bvCDrQ; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=ihXaP1Jr reason="key not found in DNS"; arc=none smtp.client-ip=93.104.207.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b="p7bvCDrQ"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b="ihXaP1Jr" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1718627051; x=1750163051; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T6IG7WCN2l3Q0oOWQL7/4fYhZ8YqTKFpFsW1TiYtC1g=; b=p7bvCDrQH1AuKBmF1g6Xwlrk3VXScVd/PCG6wyz8LBN1vnnI6544R/6l h9d7McU7aJisXuGcEc9TTp9Fop+jbdL9lAWyyZLEf2TYYt/y6DrysXRvS ju8Q+9LfE7qERB8tkHxwUGfiRlsrGGQF57T9uhODKv78U0X+7sOcqi0L5 NjLCNH1B76+XTLnoM7phiy9dm9xtCv2QLuiKc53wvzUlY94GqxPx9ZwRm EyyxFBjw/zUBKa3tXT2e0fQxAdmaZWQDtMgKO1eS7N8ceDZpik2/pOhHL q05WgUnf4wu4yjHsA7bQn3ML49KQOI4lDPd7w1sBi8GfA6+o96YQ+OQGQ Q==; X-CSE-ConnectionGUID: iALsDXwdRQuoQQam2Qsc0w== X-CSE-MsgGUID: EEdRxe0FQTy9+ucsZF/HcA== X-IronPort-AV: E=Sophos;i="6.08,244,1712613600"; d="scan'208";a="37427050" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 17 Jun 2024 14:24:10 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 3EAC4165A55; Mon, 17 Jun 2024 14:24:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1718627046; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=T6IG7WCN2l3Q0oOWQL7/4fYhZ8YqTKFpFsW1TiYtC1g=; b=ihXaP1JrokY+X4kHKbnuOfOqieSYqfm33xccrDqjMec2/5UNqDFaU2p/NZ672lkaFraIVk PD+b/mMHuRh/LMwTS5t0BPnHCnFBpb7VqJVRG6PdF2x8AXBQjEBDfi3SK6XQPB3V3c9A7b XsV56r2OkWsu1UfX5NmxL9zCU9uLKzBIRZ2+582GxKQAffAIdc+l5OWWye6QD+h6vdZ1ib 8wfnuz+pyG4NMlRVA+NGZ+4rTekGpPLZPjCo/YhABAR8E4XUzvhugCCFArG82bBTS4Y4XX wtQ9UqKwCpMw8srEmxvXqB2KX5iHq9CuaZdhnQxtO8c0F3VsWGr8wvWQWi9gUw== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH v2 2/5] mfd: tqmx86: improve gpio_irq module parameter description Date: Mon, 17 Jun 2024 14:22:59 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: References: 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 X-Last-TLS-Session-Version: TLSv1.3 Clarify that "7, 9, 12" refers to the valid arguments that can be passed as gpio_irq. Signed-off-by: Matthias Schiffer --- v2: new patch drivers/mfd/tqmx86.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index e15b9be98c2db..7b2f9490a9af5 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -58,7 +58,7 @@ =20 static uint gpio_irq; module_param(gpio_irq, uint, 0); -MODULE_PARM_DESC(gpio_irq, "GPIO IRQ number (7, 9, 12)"); +MODULE_PARM_DESC(gpio_irq, "GPIO IRQ number (valid parameters: 7, 9, 12)"); =20 static const struct resource tqmx_i2c_soft_resources[] =3D { DEFINE_RES_IO(TQMX86_IOBASE_I2C, TQMX86_IOSIZE_I2C), --=20 TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, Germ= any Amtsgericht M=C3=BCnchen, HRB 105018 Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan Sch= neider https://www.tq-group.com/ From nobody Thu Feb 12 03:37:45 2026 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D8307195F13 for ; Mon, 17 Jun 2024 12:24:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=93.104.207.81 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627058; cv=none; b=sam+6Z7Jz/z69MAKJuzvJoadyrYQYfQQBdwWvu1JFSaNLeCjYtXk6UeTBQRVCaUHXC3v4l3kKj6+NY9/7qSPMdkJ9QCDpifpmwSPngRvA3DCu0wpEdl+Z2ukuSjEmN7kssPPHnAJrWYwOYBm6nNVBQnrGrvOni75QlIqVCcv4N4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627058; c=relaxed/simple; bh=QTEKVH8V6pUgNYJW1mLsKpSOI9Y59pl4lBPhSf/EQsM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HCsKE0wlNZLguN3yM/LJyLKE06SOfyH5eJNv/Mk0OkqEMCnYrOH6uIEDC7qgf6VWW80OgfFp/r7jY5Zq5ehl7eoql0ghue0PFJlV9C5Z6WFhMMiEcPDpX9TjPG/llVXxtj/udBogGtJqOjMpcv/TXSlN8WbYlAiGp02P+XxnRew= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com; spf=pass smtp.mailfrom=ew.tq-group.com; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b=p8UtMbM4; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=hQjC8wI5 reason="key not found in DNS"; arc=none smtp.client-ip=93.104.207.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b="p8UtMbM4"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b="hQjC8wI5" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1718627057; x=1750163057; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NbCdLsmW8Eg9TMc5xLyqdOHFeANU2e7q5Z0rnhqLNDE=; b=p8UtMbM4mqDl4dWbbWz86mQOqorNpU2OzPjFfATr2OQw5n1gEPe8vbQg GqiP2NXoGqRC5FJljKmW+u55Wv7bPhkfFOvCnhxaueKoC7DGsDhGCeTK+ Hc+waXu0QWYfDhkkzsnIPHfEHG/NG4/5Hkqg+rI6yb6+TPATEJ6hA1VWv OpoP5esSnm13bp4urT+g1sN23wzosIEy4pZL9mC84v4JZXAJwIEcjf98f lr3M4X3LiCIHG8r+U6Ot8NicIaUlOjtB6Wt9orlfklbgvE0VDzOqvsklG i9/x55RRFEAO6Odh/HqKr+7yc3DinTE9liTFkgIQmPVfz0l0wReOR79TJ A==; X-CSE-ConnectionGUID: +EHDVoTKSQ69sANdr/uGjg== X-CSE-MsgGUID: dFpdUzQeTheWAJehqBbXrw== X-IronPort-AV: E=Sophos;i="6.08,244,1712613600"; d="scan'208";a="37427054" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 17 Jun 2024 14:24:14 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 7B9AE165844; Mon, 17 Jun 2024 14:24:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1718627050; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=NbCdLsmW8Eg9TMc5xLyqdOHFeANU2e7q5Z0rnhqLNDE=; b=hQjC8wI5i0gJZjc0KTAJhLUesRsasNyI4Xg9LRbJokAicPipwHVej5UJxh/K6OTAGjGxib hMhaY/M2PtiIXBScK+iu97Bwvcuh+031viISuxWbeX4L8lc0u/yuiSsBYk9YOpjpZJ0DsI hWP6nQnVHm2d06cHMpLDptNMecOqS4wolNepwxQOmJMDmNn7jhQw1yq6kW8EUPB6XRK3wf 29pa8e6zhxe0icqN0FDchJGuSx64EReXuZjflsfEjUZ/GHTgmQ37ow0l8T38E4+k1Aidvh EUFqDdRaDxQkU7Zjr4EdGBtTgEv3OSygrC+7k+DjtXA1VXazD1nzpOvQsN8Fvw== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH v2 3/5] mfd: tqmx86: refactor GPIO IRQ setup Date: Mon, 17 Jun 2024 14:23:00 +0200 Message-ID: <69fbb0980f8c7158bf9ea48d0bd9869a606f126a.1718626665.git.matthias.schiffer@ew.tq-group.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: 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 X-Last-TLS-Session-Version: TLSv1.3 Move IRQ setup into a helper function. The string "GPIO" for error messages is replaced with a label argument to prepare for reusing the function for the I2C IRQ. No functional change intended. Co-developed-by: Gregor Herburger Signed-off-by: Gregor Herburger Signed-off-by: Matthias Schiffer --- v2: no changes (was patch 2/4) drivers/mfd/tqmx86.c | 72 +++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index 7b2f9490a9af5..5aa51ead00a28 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -186,32 +186,54 @@ static int tqmx86_board_id_to_clk_rate(struct device = *dev, u8 board_id) } } =20 -static int tqmx86_probe(struct platform_device *pdev) +static int tqmx86_irq_to_irq_cfg(struct device *dev, const char *label, u8= irq) { - u8 board_id, sauc, rev, i2c_det, io_ext_int_val; - struct device *dev =3D &pdev->dev; - u8 gpio_irq_cfg, readback; - const char *board_name; - void __iomem *io_base; - int err; - - switch (gpio_irq) { + switch (irq) { case 0: - gpio_irq_cfg =3D TQMX86_REG_IO_EXT_INT_NONE; - break; + return TQMX86_REG_IO_EXT_INT_NONE; case 7: - gpio_irq_cfg =3D TQMX86_REG_IO_EXT_INT_7; - break; + return TQMX86_REG_IO_EXT_INT_7; case 9: - gpio_irq_cfg =3D TQMX86_REG_IO_EXT_INT_9; - break; + return TQMX86_REG_IO_EXT_INT_9; case 12: - gpio_irq_cfg =3D TQMX86_REG_IO_EXT_INT_12; - break; + return TQMX86_REG_IO_EXT_INT_12; default: - pr_err("tqmx86: Invalid GPIO IRQ (%d)\n", gpio_irq); + dev_err(dev, "invalid %s IRQ (%d)\n", label, irq); return -EINVAL; } +} + +static int tqmx86_setup_irq(struct device *dev, const char *label, u8 irq, + void __iomem *io_base, u8 reg_shift) +{ + u8 val, readback; + int irq_cfg; + + irq_cfg =3D tqmx86_irq_to_irq_cfg(dev, label, irq); + if (irq_cfg < 0) + return irq_cfg; + + val =3D ioread8(io_base + TQMX86_REG_IO_EXT_INT); + val &=3D ~(TQMX86_REG_IO_EXT_INT_MASK << reg_shift); + val |=3D (irq_cfg & TQMX86_REG_IO_EXT_INT_MASK) << reg_shift; + + iowrite8(val, io_base + TQMX86_REG_IO_EXT_INT); + readback =3D ioread8(io_base + TQMX86_REG_IO_EXT_INT); + if (readback !=3D val) { + dev_warn(dev, "%s interrupts not supported\n", label); + return -EINVAL; + } + + return 0; +} + +static int tqmx86_probe(struct platform_device *pdev) +{ + u8 board_id, sauc, rev, i2c_det; + struct device *dev =3D &pdev->dev; + const char *board_name; + void __iomem *io_base; + int err; =20 io_base =3D devm_ioport_map(dev, TQMX86_IOBASE, TQMX86_IOSIZE); if (!io_base) @@ -233,15 +255,11 @@ static int tqmx86_probe(struct platform_device *pdev) */ i2c_det =3D inb(TQMX86_REG_I2C_DETECT); =20 - if (gpio_irq_cfg) { - io_ext_int_val =3D - gpio_irq_cfg << TQMX86_REG_IO_EXT_INT_GPIO_SHIFT; - iowrite8(io_ext_int_val, io_base + TQMX86_REG_IO_EXT_INT); - readback =3D ioread8(io_base + TQMX86_REG_IO_EXT_INT); - if (readback !=3D io_ext_int_val) { - dev_warn(dev, "GPIO interrupts not supported.\n"); - return -EINVAL; - } + if (gpio_irq) { + err =3D tqmx86_setup_irq(dev, "GPIO", gpio_irq, io_base, + TQMX86_REG_IO_EXT_INT_GPIO_SHIFT); + if (err) + return err; =20 /* Assumes the IRQ resource is first. */ tqmx_gpio_resources[0].start =3D gpio_irq; --=20 TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, Germ= any Amtsgericht M=C3=BCnchen, HRB 105018 Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan Sch= neider https://www.tq-group.com/ From nobody Thu Feb 12 03:37:45 2026 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83708195982 for ; Mon, 17 Jun 2024 12:24:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=93.104.207.81 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627062; cv=none; b=W4JPMvsa7fmQDau+3NYdH7hP1kbvGcRoA84d6GibUouqMx3G/EfQL8NyDVZtPTsjbZp9dmPGM7Vh0wgocDB4aXOhMqto7+FrD9HJP/+2yxZ79v6+33cxvkBFyZsvGi5uXj72+/HwrAeQxkhNnDuWggKybpkaaUga2PrRjW7iT+Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627062; c=relaxed/simple; bh=Q7pgEmORoCr4lAIEZ2vvubnl2xt+O684UNiX6NHUe+M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=o9ceNGCT08CQl+PTLwol/IAThrRHvm0agngmMCjRkploeNaio8I92e1VAqDTp2erAOLYIIIXk/D61lMYHjVjCEI5GNYKtzzRYcCmRUixs4xunWZfK4BKKVHI/+nZ8yqrozrub7TDH0TZUxQdM0I3SLhPkQol2we8jc249iVPn74= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com; spf=pass smtp.mailfrom=ew.tq-group.com; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b=Lo2RxjUH; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=bKNTKMK+ reason="key not found in DNS"; arc=none smtp.client-ip=93.104.207.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b="Lo2RxjUH"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b="bKNTKMK+" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1718627059; x=1750163059; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=H5OJFiuCWTwOE1SLuw5Yy/LFx6aQ4PkzuXRMX1a5ZLg=; b=Lo2RxjUH7arNWDLQkJ8RAL/jEIVSJccGwzeNODrKgMsFyFSrtP7R8sm7 AaLhXjMq13v01Y1LrOZysBWFaQjlsWluafe5YjH29emnVDM+CyoxWAl7k alBK1Qs/VQfyj78Q2if+uwxHHLaLt9rMh0QdPlGwX1EJe23cc7fqWNq3u svSRqfU4GncBI0ZsGVuFM/PIkTGVMUYw0FI+Dx7MSqai7eCfa3/xDvZ/8 NOUAB0O9Ln9bQ4a5Rm81CEjkqHAXJUOu2CoGtsJypdlQqHgQ9grmv1O1d 8iqpWEjZYvbzGdArC0/K6k52xlYA8ttq9Rj/LlrFqcKrdJpWNhJc0W9O8 Q==; X-CSE-ConnectionGUID: SaLoz0vQThaNRufEfcEkdw== X-CSE-MsgGUID: jsFjyQ3PR/eApCPwkPJv2g== X-IronPort-AV: E=Sophos;i="6.08,244,1712613600"; d="scan'208";a="37427061" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 17 Jun 2024 14:24:19 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id C2B69165A5F; Mon, 17 Jun 2024 14:24:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1718627055; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=H5OJFiuCWTwOE1SLuw5Yy/LFx6aQ4PkzuXRMX1a5ZLg=; b=bKNTKMK+mS7lxLoW5JDks21wBhNNHlR8lpGuI6nGe01JL0wclwCLKSMuVmzJpFoYW0nJiJ kJzEInDt6KFn1eStnQM6RDZ0iLIx9Tdg4dVq7s/lseDgZvahA1gknFIQG9yl/APpuUBreH DKjXimK4tx4at5M0yE88+1Tv1In3YJwBTnIeocbm3Eytd+t2fA9CTnusiKK5QGQb8+TCXV kX1n9wV5YApTM4T3spSGCNbvmNreEgiL+FmY2BMtmt9d7p0Ld5NMHDAj/BwPhXT0NxoZOd B8ypkaETx9MyBcRJ3yNqE5LDRfI1YhPXySDFmYZ5i49vyLB27CjfvkyTEZkthQ== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH v2 4/5] mfd: tqmx86: make IRQ setup errors non-fatal Date: Mon, 17 Jun 2024 14:23:01 +0200 Message-ID: <38a69a56697a80486067f7817d4d0ed3bdea4257.1718626665.git.matthias.schiffer@ew.tq-group.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: 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 X-Last-TLS-Session-Version: TLSv1.3 GPIO IRQ setup can fail either because an invalid IRQ was passed as a parameter, or because the GPIO controller does not support interrupts. Neither is severe enough to stop the whole probe; simply disable IRQ support in the GPIO resource when setup fails. Signed-off-by: Matthias Schiffer --- v2: no changes (was patch 3/4) drivers/mfd/tqmx86.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index 5aa51ead00a28..7f9ccd83278dd 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -259,13 +259,14 @@ static int tqmx86_probe(struct platform_device *pdev) err =3D tqmx86_setup_irq(dev, "GPIO", gpio_irq, io_base, TQMX86_REG_IO_EXT_INT_GPIO_SHIFT); if (err) - return err; + gpio_irq =3D 0; + } =20 + if (gpio_irq) /* Assumes the IRQ resource is first. */ tqmx_gpio_resources[0].start =3D gpio_irq; - } else { + else tqmx_gpio_resources[0].flags =3D 0; - } =20 ocores_platform_data.clock_khz =3D tqmx86_board_id_to_clk_rate(dev, board= _id); =20 --=20 TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, Germ= any Amtsgericht M=C3=BCnchen, HRB 105018 Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan Sch= neider https://www.tq-group.com/ From nobody Thu Feb 12 03:37:45 2026 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEA99195FC9 for ; Mon, 17 Jun 2024 12:24:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=93.104.207.81 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627066; cv=none; b=BeQTqEIu0b2jMYmVsvGL9H82ECuyZp7nL4jWn1/+Ft10ZOOBaADt36ApUdNzMuPI/dSnWA3D78DTUr8N3ytmLHTh6zPW8d7BYD72SJufAZjWRZbR/UQNBaAHm/WGsn88yaRn+431YRkX5UpY9+v/tpuS3RXtbQAElFBaIIXBnPM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718627066; c=relaxed/simple; bh=dkMDNulLc5a3KLXLaG9NTS/W6BS8iK9znwy1GGRProY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gox7uTjCiGsWjGvUz6tBvbFUlNieLnQE2jo4TnIIr2G7v34SXAHqldHshuqM7AVXb1uNCc/TO+Kr0sW3tf+Lb/Q+iHdxjCdsnsEhFpynpxsutOdJH+2yru4feVTDYmOX9JUaDUFDViR0xiYA1gSdcQrtE9YKkAjXi3Z3UPkP0n4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com; spf=pass smtp.mailfrom=ew.tq-group.com; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b=fwTHWlDa; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=g4K2zHoA reason="key not found in DNS"; arc=none smtp.client-ip=93.104.207.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tq-group.com header.i=@tq-group.com header.b="fwTHWlDa"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b="g4K2zHoA" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1718627064; x=1750163064; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1DWb/EiOwYhJRYZ8QlGi2CNp9bjqfMiLLHh4hpYPFWY=; b=fwTHWlDai6fhRFNxg5aUL7acCM8uSSOJ8i1L/EQ296j0xm8/DGVZjYWk O6qX9ti+37E1A67eTbL8/vM7/yjzD//jWjxMJrYCuOJQXITtJJITZTEYh YjpNtxMZOuIcoj3V7sHCu7bUVt3Fr++Zhhkkil+vKHePaPP2KVun9CDUt 9T3OYqHEJiDDF1gWQYRj1zJa2PTteI/+ZGgiDuodaYtsdMw/5GNNaCv0X PQIDpRk/WbCtp5bGSvfH9kpuHrBPnRflxAxF6E8DD9nZzyJj19Adq6Xy2 tX3mfbFsC+Cn9A9Xqy6THw11t4LxdKIwdVeUw12xkNWU6Wuf219/jbkTW A==; X-CSE-ConnectionGUID: +LhNIslwQOiSnbUIsBIBGA== X-CSE-MsgGUID: S6MTshiITkikvpWnRSPZhQ== X-IronPort-AV: E=Sophos;i="6.08,244,1712613600"; d="scan'208";a="37427062" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 17 Jun 2024 14:24:23 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 13931165A62; Mon, 17 Jun 2024 14:24:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1718627059; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=1DWb/EiOwYhJRYZ8QlGi2CNp9bjqfMiLLHh4hpYPFWY=; b=g4K2zHoAZe44J/CHAJxXu7T6W4h8Qg/VnXzmT/r8JcqkJeYTderXB1FhvapwGh+fdhjzkK z922+oekovB31wuWsCsirI1ZJLHpfdpOTE3n/xH7gmvtVDsxYxZSILuxDcIZTYHesW0pTe IpS7ixmQIRzSwjaNSDwjRwtd4bz3NPholsCHyz7qcsSswUJ6eAgmJUx0aSUsaVG4lXMxyg OFtGKwF37RvvpSJ8TY/oZxemVIg2KnAiPzMpvd48vltXVQhXeowdnhmQqbYfI+Abl5YL19 x0kSBufWcURXfGL4EbtPJbAnDBHaxag4SROyAZI5OiM93uYi3EJ/VxTtArqzDA== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH v2 5/5] mfd: tqmx86: add I2C IRQ support Date: Mon, 17 Jun 2024 14:23:02 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: References: 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 X-Last-TLS-Session-Version: TLSv1.3 From: Gregor Herburger The i2c-ocores controller can run in interrupt mode on tqmx86 modules. Add module parameter to allow configuring the IRQ number, similar to the handling of the GPIO IRQ. Signed-off-by: Gregor Herburger Signed-off-by: Matthias Schiffer --- v2: improve module parameter description (was patch 4/4) drivers/mfd/tqmx86.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index 7f9ccd83278dd..dcd5fa3e18c50 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -50,6 +50,7 @@ #define TQMX86_REG_IO_EXT_INT_9 2 #define TQMX86_REG_IO_EXT_INT_12 3 #define TQMX86_REG_IO_EXT_INT_MASK 0x3 +#define TQMX86_REG_IO_EXT_INT_I2C_SHIFT 0 #define TQMX86_REG_IO_EXT_INT_GPIO_SHIFT 4 #define TQMX86_REG_SAUC 0x17 =20 @@ -60,7 +61,12 @@ static uint gpio_irq; module_param(gpio_irq, uint, 0); MODULE_PARM_DESC(gpio_irq, "GPIO IRQ number (valid parameters: 7, 9, 12)"); =20 -static const struct resource tqmx_i2c_soft_resources[] =3D { +static uint i2c_irq; +module_param(i2c_irq, uint, 0); +MODULE_PARM_DESC(i2c_irq, "I2C IRQ number (valid parameters: 7, 9, 12)"); + +static struct resource tqmx_i2c_soft_resources[] =3D { + DEFINE_RES_IRQ(0), DEFINE_RES_IO(TQMX86_IOBASE_I2C, TQMX86_IOSIZE_I2C), }; =20 @@ -271,6 +277,18 @@ static int tqmx86_probe(struct platform_device *pdev) ocores_platform_data.clock_khz =3D tqmx86_board_id_to_clk_rate(dev, board= _id); =20 if (i2c_det =3D=3D TQMX86_REG_I2C_DETECT_SOFT) { + if (i2c_irq) { + err =3D tqmx86_setup_irq(dev, "I2C", i2c_irq, io_base, + TQMX86_REG_IO_EXT_INT_I2C_SHIFT); + if (err) + i2c_irq =3D 0; + } + + if (i2c_irq) + tqmx_i2c_soft_resources[0].start =3D i2c_irq; + else + tqmx_i2c_soft_resources[0].flags =3D 0; + err =3D devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, tqmx86_i2c_soft_dev, ARRAY_SIZE(tqmx86_i2c_soft_dev), --=20 TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, Germ= any Amtsgericht M=C3=BCnchen, HRB 105018 Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan Sch= neider https://www.tq-group.com/