From nobody Fri Feb 13 00:07:38 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 2EBBC61FE9 for ; Wed, 5 Jun 2024 07:04:34 +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=1717571078; cv=none; b=a6uJt49OERso9ZmoKM1LOMiL1pwaokmGwgGAotfgrlVrqG7Wksw6rjHDB5/Giq8qgnoxpLwYnuWVTZSV5UZDqADv1nUJKuHmOD57mxj7tnw0Fy4PddHwDimdMeyFDNh2wUeqsKctein6eiCrG/xEw/Ho0iL3ioxxFJclPwfqv3Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717571078; c=relaxed/simple; bh=tFDdPnJpJFb5KEqvjcByjDv09O6pfXBrWj4CYx3HQ2o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=AhFW2l1QDOKS19aNyQ2LlPkwYINelXGvYD1S5TMRtPpl4WexCJ1fRxD/neXgt4I22jxPdQabqo4Uf3vPY9907GzXkHfmIgdt6wnwLiY5EFCOCj55cMkwxfve9l6HJ330NWGKLTMBXlAxLJL/lZ3pw775FXGHmnhc9b7CgAC/6Qc= 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=Emvc/b5z; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=SdesVebd 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="Emvc/b5z"; 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="SdesVebd" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1717571075; x=1749107075; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=mdJ0HsavbtI5RLxUlcwKb2h8lymAfGCEIXL8a653/I0=; b=Emvc/b5z/pmyWsbnEGQRwtO+g+b2fFqbGn9jqKjLpRH9TqbIuQ28CuD3 fsSwuYLLWlNJ5JAydR4XPw05hstLkRJwzSXYsVXds6ydgLc3xs3sQn6f2 QlMXuIR0HQN2a/I9/Zkq3FjIa4GFZf75CGKz0zh7xy74ckIsbC69nZu2l JIbxb+pI8gINP1JwcFyraJZKrrmwLuPCYcVAIoyHpv93kRU2DnskjqFTP yObJlDNuV0BjwaMzjPtdTauO2cax/psC8Ddpa/IYWnvLTBHUE6urysXrK wzJuAnmR2E0OrJxWZrOqP22Hw0XuXuZtlTHu1qCMED021gFnyI/EVwmvC w==; X-CSE-ConnectionGUID: UivV6x3jTw6ywZVbCYF/fA== X-CSE-MsgGUID: 45wU4j2HRUC5MA5GymKbxA== X-IronPort-AV: E=Sophos;i="6.08,215,1712613600"; d="scan'208";a="37226795" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 05 Jun 2024 09:04:33 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E8E9F1731BF; Wed, 5 Jun 2024 09:04:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1717571069; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=mdJ0HsavbtI5RLxUlcwKb2h8lymAfGCEIXL8a653/I0=; b=SdesVebdJC8hqphodtcjeJa0xX5uHwxvIi9DZNmS6SUCsm1YkQCh62Vl1Bwv5kKYOXwqxA Ngo4OZ8Q2kdrIDAbTiICWVjJIHhBzKqwN7yzulaTYdYi45DbwMCcVlXaEvoizWvGOBk+qT ZG+lN0qtyrBvQ7165h6zFgyYUAJoC38HdXFnYxq/9wR6mWjFdEQoM8oMWOO75JmEvpdN3R FL3yotiQmyCgh4f9tNw6VffueIyr4lvmQ0C0I7DejjQASgRlYBjNIueRsDQSwDbwy9AJv5 4C99AF3aURHMOtPSSqhoP0MYcXQFAV9eJ4s84xqBZKNITcp81+zxtuR7ViEcfA== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 1/4] mfd: tqmx86: add board definitions for TQMx120UC, TQMx130UC and TQMxE41S Date: Wed, 5 Jun 2024 09:04:00 +0200 Message-ID: X-Mailer: git-send-email 2.45.1 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 --- 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 Fri Feb 13 00:07:38 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 D332E18C320 for ; Wed, 5 Jun 2024 07:04:37 +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=1717571080; cv=none; b=sz4EcUs5rsHJZ33Y0TpWn5bztIV7mflaJCQYqcz6Z7QuxBqLOwAnMB5Dw4f2S4IgM0SUvF0VnADlhyUTHlhOFDcPXYgust7OgU9uHNYJ5EC+83WFr0li5QSwEw2o1P6xp8ZkUpvTGWuvplqTTqowY8UcyaAXPKHdkC96mNqyAao= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717571080; c=relaxed/simple; bh=MSYbOF+Kb4SwnQBv7PGPK+r/ASIbMqS8+0z+eTOLlcM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kTGOhBjlM3fiiH624W0mpH4kO2g+vA8tmsOclLXM8RdZxuMJb2vElfN81L048aNrGg4KE0Gcy7AN5QqLoInmfgO7FCrxpU/CaFm0YZQy5wPMSVunXmx2NT5+9YlyedkShJH7mXw6j+XbwjV0GLyWVc13oJr2cEaWbKloUwJaWWg= 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=lOgiiA5s; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=ivHTQ/oa 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="lOgiiA5s"; 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="ivHTQ/oa" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1717571078; x=1749107078; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4N4IDJ4Wvs5Fx3WM40i/FR7jIIsQ+8SGLATcwB8Pa1Q=; b=lOgiiA5s0QS0+AyEQwBW5h4WQf5EImOTk9Lzz6nisqZHblGysFpXvswX ib1rW385rm22Ur0ZQy+QuAxVJgNdwPF+Wn0wS42lzD7jjQDQFsOgkJtaV zuIB5szHHI/NVe7fZ/1hzXDWyAFoWNEQFwnfVg4erNQ3z9Em0JoIVN/sd w1EznihvdMCSqWqX+weSCLu39CHLEX9XCuSB7I2gyPYK8UUUGLlpVNURC xIE73iHzGMLTu5rrq07kZjigbDBQqyBi0ekoSGqNiOLRZHnhfOCxS86BN zfN264Vu258CmDorsKUirDhFRS9zqRfqFzRwURWB2Y7hqY4lGGbR6PaY1 g==; X-CSE-ConnectionGUID: BnsGwRZvR0qxfw2OiSRwbQ== X-CSE-MsgGUID: 8Ckq79dVTOiz9wJPUYZNaQ== X-IronPort-AV: E=Sophos;i="6.08,215,1712613600"; d="scan'208";a="37226796" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 05 Jun 2024 09:04:37 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 40B371731CE; Wed, 5 Jun 2024 09:04:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1717571073; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=4N4IDJ4Wvs5Fx3WM40i/FR7jIIsQ+8SGLATcwB8Pa1Q=; b=ivHTQ/oa06X3Ftoxbug7xmF231Q20RsgXCLgkjsm78oKoJVetY7FPLIYWvb8bbSvqFgnfT qHbHPsM4nefie6BZYPWlAFqqx+DhLWhk5vYk3n4Ybe2YjFroBJTs4fuZbLCayb10iATlKs ovoQugH2e+pnhCb/DHbzYxJwPVtpiYIlpnIyDSUwBoPBW1abTfotwxGWcsPQfSQmwbVBI5 +2xyx5KUqTkeDKUJ1djmxV/mNciPsjJVuwW4ZihHONBiuiF/inuSC8FaVcSosJTTOOMO6+ qvhJTDLxWSIswlvoDSqUZpM0ZzeWFPa1cqYMsx9KBKiOxBfJGbLQRwTNjwZiEA== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 2/4] mfd: tqmx86: refactor GPIO IRQ setup Date: Wed, 5 Jun 2024 09:04:01 +0200 Message-ID: X-Mailer: git-send-email 2.45.1 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 --- 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 e15b9be98c2db..2a4ce114d5905 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 Fri Feb 13 00:07:38 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 B1A0E18F2D9 for ; Wed, 5 Jun 2024 07:04:43 +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=1717571086; cv=none; b=KWPqbG6eB2gUSYTdtJQQqtSoDQ1VS1W0JR+IADdGM4BOPBYm+wrQAxHZb+RDse5fk+Cqn4n6YA0FhHJbhW890HQXRHkPQve0XyWsA9lMokGNB4G/tt5vrx4givsU1IpTTAnWFkbb3xQ52d4iMnMWTrt93MQor/FrdW2eLVfhdss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717571086; c=relaxed/simple; bh=aA3gzgfxZL7ODPzMLLZcULXmBm86Hfo91sSHuzsGWZY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mVHfTiM44zajmPQdKUqShJHAZz6CZCHPEGYhVI0Q4DLuccoJ2jp2GySuDDBUanOsOUpcJzTI1HvPmcOEOXPl6xnQWaY2xUTr17sbvXl+7cnYj5JW3SIz+r0H3W+bBDsx5JPX1z2fK+I2XuSn0V3w+HKeMaDWBReRRWMkjli+zxg= 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=jOk6yNC0; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=Ydim+jt7 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="jOk6yNC0"; 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="Ydim+jt7" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1717571083; x=1749107083; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tny4urOKP1hG4GyostbdQ0tj+3C5fvmupwv+Tji7RE8=; b=jOk6yNC00M3Zq2uWC6G1wGTI3hrQvUDuRQUeNXVefx83mbDqpMYGzNS1 Wly+sBEYYZsvt1KFpct+gx/AAOt7kNdJRO1wKJh3BXr32xJ9Chuqp6+mr 530QryV5f394oaRCIzmT+KZgQg4sDr5FsJ/WPXyAxdlDwcXz2UNLlig/f +mQvewLl5XU/skCprG0n0XwS0SagBWW9nIN0rGsctRikXpKmluLluPVNa 8SCwrVc4FW+g5d/HWxdgn/FN7AbhPanp7fhttCAycpenja9ExJZ/zxvLN /sbU0GyUAXSmcjvl5K/BkYpm3vOovsi2aq609In7NtlMOaWDBqfiqwl/b Q==; X-CSE-ConnectionGUID: oMdMGqVETyKaZS/Z5gcyIw== X-CSE-MsgGUID: MxYZKWRsR4OICf8qWKnHyw== X-IronPort-AV: E=Sophos;i="6.08,215,1712613600"; d="scan'208";a="37226798" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 05 Jun 2024 09:04:41 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 7A26B16F8D6; Wed, 5 Jun 2024 09:04:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1717571077; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=tny4urOKP1hG4GyostbdQ0tj+3C5fvmupwv+Tji7RE8=; b=Ydim+jt77lc2GCS79Gq83lvss+v0OFlzt7CZfFYQ9d1RgPBZkYtfHNaTSECeo+y+H3yw06 FELqAZ1b7MkKQOW6xq7T7Jqq/SJFpw8L06oNoVXJrOg3RdP505v5N23e+8zJrsngUP3H2/ qIl1F+9BWkyXl39dlUyHZrI4zFfwfh9bJh1Th5SwRQsvj1HPPTe9ZGxd5TcoccAuA/i9BZ 9fr+LPMPirw2vbauw/jEDxZZKXPHvTET48J9SGlUOYZJu/7vj/E2EevbAR7j6rNfCV9rM9 /ADa/rqrD/UVFIN3xWaazCx6cs9o3RvsH+zXFyvEOM/bdp1XdbMcsZZc5fxBcg== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 3/4] mfd: tqmx86: make IRQ setup errors non-fatal Date: Wed, 5 Jun 2024 09:04:02 +0200 Message-ID: X-Mailer: git-send-email 2.45.1 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 --- 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 2a4ce114d5905..cf27497245322 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 Fri Feb 13 00:07:38 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 AD34618C321 for ; Wed, 5 Jun 2024 07:04:46 +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=1717571088; cv=none; b=qzEK5cZJ4AOGnIyecg7cnuzuhndoaR2HaCLYiFyLuU4MFfA8zFw/wYHumXksTGYsI/IqGcvG7Z3e+n6gt7mcL8cAEjFdpWs9PRauLTN6DSfXq81HfzEF5DOMgw6uQvSbDrBSU5vPsgwtBb1NNa1lWeR0+tNpbKQThAGHts0bHas= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717571088; c=relaxed/simple; bh=bX23BzlAIyUwv5XaT5UEHsPZU+heRgXBUj97RkhaTBg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CeXWuwrJvOAieIR+GNa/0oslhwf3UjMVEFBxrsfeGXgdNRbjWajLQqsz2iPCu950s7I4Sr4/njI0Nn6p9DXLtE0vzyeeVQlb/XvN2IObsfy0UjvFi9xB68gEbOSMx47kDNVm43fmTBRdiDp5eEoFrziH2a+X6xCghhAtL6uuVqY= 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=FlYJqt0h; dkim=fail (0-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=gl7th0py 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="FlYJqt0h"; 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="gl7th0py" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1717571086; x=1749107086; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=32MmV7Af8SI9o2LQZGI6LZQGXaTSQyqVttjyukn0kuI=; b=FlYJqt0hpNYQwcFwbVVsJbdU3bRpXPXMshHCSwGOwzzqZ2lmVhKXfQEp rEyjBWFj2YKsXp2tlGf1wegKaNEJ/+c8eYVtgFsu75JOMBFMO28j7F5Kh dvQGqxYqQcXE4UmEpxy2D/bXr+qjaolShD6pVdgp8T/r2dqPYytghXkHL 0GAfQCrI1Jr98S4k8WgvSZfT7NwsEktrDgK5u9UI5b+Sb66lzrpm8aGLN oilTb41KlHP5UJ8JRNVZG3biBabCQnlAPVTRGFykAm1olozK/Y1c8eKWS ofmhGHCVtFfE7LYTxrUZmrwP2h9hQ39Ia6YRmkHWlbgn+oE6PYDjpKSa3 Q==; X-CSE-ConnectionGUID: fTPc0MBpTO250mz0zFOcdg== X-CSE-MsgGUID: abk4GJFOQEO0Pr3fAdHI7w== X-IronPort-AV: E=Sophos;i="6.08,215,1712613600"; d="scan'208";a="37226802" Received: from vmailcow01.tq-net.de ([10.150.86.48]) by mx1.tq-group.com with ESMTP; 05 Jun 2024 09:04:46 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E8B9E172D69; Wed, 5 Jun 2024 09:04:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ew.tq-group.com; s=dkim; t=1717571082; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=32MmV7Af8SI9o2LQZGI6LZQGXaTSQyqVttjyukn0kuI=; b=gl7th0pyr0W5M59+mV6znVnu6ka6fBBLQj94UPN0fYNMTIe51ySs93dVmG1IQUeJJNsJRZ /dIgPEVrar1Z83H+org4dvyuXtmTRN1eGw5kT082WcTZddAvnopvH3Bvz785HT2xaqp24S Q7VESn8B68NgG/8QKNQB8/3vt8wJECdinWXSL1n7HDtJ/EJihWPm2tkP0RcWcsz2jE1aeq ZLC8o7KrEONfL/lYQBEnSOXIo8xKOiFlm/hstPmwN4kxwYl+XIMLkCpInNQIxmn8LSM+Tv MNvy4xLWIXDu8QtACltalkFQWW1bgafnMf3CPRcS/k8cx2D8zyC7fdD8D4cw7w== From: Matthias Schiffer To: Lee Jones Cc: linux-kernel@vger.kernel.org, Gregor Herburger , linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 4/4] mfd: tqmx86: add I2C IRQ support Date: Wed, 5 Jun 2024 09:04:03 +0200 Message-ID: <18d0348f2f7b70329e44f7759bad7e6fe231dba0.1717499766.git.matthias.schiffer@ew.tq-group.com> X-Mailer: git-send-email 2.45.1 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 --- 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 cf27497245322..b96af7091b6bc 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 (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 (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/