From patchwork Thu Feb 16 14:34:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 58108 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2388:b0:96:219d:e725 with SMTP id i8csp566605dyf; Thu, 16 Feb 2023 06:40:50 -0800 (PST) X-Google-Smtp-Source: AK7set9jyZcoG8KCbJzLfDPq65gASS2IzNVYowp/GWbk2qLA57lvxUNEaS6KfwAVnnSTd4xj6P6w X-Received: by 2002:a17:906:4e4d:b0:87e:a34b:9e2b with SMTP id g13-20020a1709064e4d00b0087ea34b9e2bmr6669980ejw.28.1676558450791; Thu, 16 Feb 2023 06:40:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676558450; cv=none; d=google.com; s=arc-20160816; b=nc+/ZZvb5nv0nX6axYdpoPPW0cSTPQiyIPuzoTncF9wcvx2gg/6qla7kZzG8hMDd5v qTsz5q+t+78ORfwzT1WhzDMSMqdqs/U5lJM1WYgCJwZbCJLCQi2czjrP2d9g7YMFW5kv t6uo2/GVog0uQo+Yk6/MPRXoVG+KFFsijvzru52GcBgjaUeiopmLhSNOGD1XKTTSc0yi p6FWp5+bwRfH/i2RVhlHkRUrursGKrYpM1zw3hMQIUVY3iTgDSNrtKreHpRET/zpa1q0 A7XicrpNjLHSezYGC0ljswCShOV9K1SMempcGtjNYpfYeM7TP8yrD6kwgyhqotrGSPaK /IBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-signature; bh=aKKyce9a/yh1UTJ7iZWXMOgAYVhma3+YBZifpiHyfnA=; b=FFztrvNbJJzEmY0jQ4PkvSoJKwexc9mF/sPErUI5ksavFjqH1fjl80GA1O9cb/klNi RpIc47V5vf9XfNQfxXK73vd2+ku6IG4WYdS+JDE0DWslsLI4vT8PF79XmE5Bzkskoepo AI3MojEx9yQfWlF4u4iK1dBChsLs3fETt3a8uU+Rz5fpkUFfJW73MxHbwpD5pu/VSnTZ 5S9VB2UMQ4NmswxoSsNRi/Nrx2MzvatQJxKD7qjco8Ils/bgtCsFPKc3+oWyeQlbfxYi cFxL3Di47/+lHax4e0PNMBWlr9LT1BJME2j1yEkWqRZ9UpMKRBYM1CF4FPSD51EOVopE 8YQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=Rtj95y+D; dkim=pass header.i=@tq-group.com header.s=key1 header.b=Ah6d29FV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mr42-20020a17090782aa00b0087f8b529f1asi1721469ejc.611.2023.02.16.06.40.27; Thu, 16 Feb 2023 06:40:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=Rtj95y+D; dkim=pass header.i=@tq-group.com header.s=key1 header.b=Ah6d29FV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229619AbjBPOfB (ORCPT + 99 others); Thu, 16 Feb 2023 09:35:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44366 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229517AbjBPOe7 (ORCPT ); Thu, 16 Feb 2023 09:34:59 -0500 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3FC2822A2E for ; Thu, 16 Feb 2023 06:34:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1676558098; x=1708094098; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=aKKyce9a/yh1UTJ7iZWXMOgAYVhma3+YBZifpiHyfnA=; b=Rtj95y+D05bLjSPYBkskd0GL1ZB2I2gcKQodDwAUelNKmsfOJrywpsoV oqPO4s3ijW9FT7IhysLEm1lYRUURMM9S1y9BUEHRb8VCutQSHP1iFNPff cMgED1s3UMNLYRcpdrkWegPn+6KxXTsjS3980coR2VYKDPjX6FrjvMGmC SbzY43Soe1N3/ImkXMbHbX94kzJN54G3u8iRjLKTuhJ+vtqM0YyBBhPcZ 3wDqxj9oMwmsd35QKfQxCNKdAfM3Eoo5/ESlIQMT8umUTAZLfznSUpLnt aq6KxrWtKtcZcGh0XNX++iNF6Vp4fSDpYXIEpvniDR6k6i2z32tNmWqqu w==; X-IronPort-AV: E=Sophos;i="5.97,302,1669071600"; d="scan'208";a="29134872" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 16 Feb 2023 15:34:56 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Thu, 16 Feb 2023 15:34:56 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Thu, 16 Feb 2023 15:34:56 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1676558096; x=1708094096; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=aKKyce9a/yh1UTJ7iZWXMOgAYVhma3+YBZifpiHyfnA=; b=Ah6d29FVUDv7jQvKX1pmouv6mB8BN2epmA5NDa5u3ZuMMw+Yvur97XRu cMfMs1k8gW2Thvi35qeQjTFx2hWIKGgYyuOeXRJ/BVjZDorLzNVlqfvt+ TsMIPPY81EikTJUI5gqwwCc5f1Ce2qREmS3qyKT0iUfHECN2GUB11ubMO FK9WaCp4gJe7C2/HfR+E3KaNw+aGWTjAoH3Cg9r0CP3XZEDjvv4/STRQT HZ5Lpee0Xiy7Kf61n57W1wzil1CnLvlzLh3n6K/W8L58CjKG+aifmtZVO 5CbGHTw7LpvnFrleip8nCzyko3goJ0ZGoRAFhU0yqXBEYnr+cHnRSB/1Y Q==; X-IronPort-AV: E=Sophos;i="5.97,302,1669071600"; d="scan'208";a="29134871" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 16 Feb 2023 15:34:56 +0100 Received: from localhost.localdomain (SCHIFFERM-M2.tq-net.de [10.121.49.14]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id 46EBF280056; Thu, 16 Feb 2023 15:34:56 +0100 (CET) From: Matthias Schiffer To: Lee Jones Cc: Andrew Lunn , linux-kernel@vger.kernel.org, linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 1/3] mfd: tqmx86: do not access I2C_DETECT register through io_base Date: Thu, 16 Feb 2023 15:34:22 +0100 Message-Id: <59041b6d888c886edef5a97fc6e3319d235e101a.1676557968.git.matthias.schiffer@ew.tq-group.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757998954154379608?= X-GMAIL-MSGID: =?utf-8?q?1757998954154379608?= The I2C_DETECT register is at IO port 0x1a7, which is outside the range passed to devm_ioport_map() for io_base, and was only working because there aren't actually any bounds checks for IO port accesses. Extending the range does not seem like a good solution here, as it would then conflict with the IO resource assigned to the I2C controller. As this is just a one-off access during probe, use a simple inb() instead. While we're at it, drop the unused define TQMX86_REG_I2C_INT_EN. Fixes: 2f17dd34ffed ("mfd: tqmx86: IO controller with I2C, Wachdog and GPIO") Signed-off-by: Matthias Schiffer --- drivers/mfd/tqmx86.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index 7ae906ff8e353..8dcbdafa88f4f 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -49,9 +49,8 @@ #define TQMX86_REG_IO_EXT_INT_MASK 0x3 #define TQMX86_REG_IO_EXT_INT_GPIO_SHIFT 4 -#define TQMX86_REG_I2C_DETECT 0x47 +#define TQMX86_REG_I2C_DETECT 0x1a7 #define TQMX86_REG_I2C_DETECT_SOFT 0xa5 -#define TQMX86_REG_I2C_INT_EN 0x49 static uint gpio_irq; module_param(gpio_irq, uint, 0); @@ -213,7 +212,7 @@ static int tqmx86_probe(struct platform_device *pdev) "Found %s - Board ID %d, PCB Revision %d, PLD Revision %d\n", board_name, board_id, rev >> 4, rev & 0xf); - i2c_det = ioread8(io_base + TQMX86_REG_I2C_DETECT); + i2c_det = inb(TQMX86_REG_I2C_DETECT); if (gpio_irq_cfg) { io_ext_int_val = From patchwork Thu Feb 16 14:34:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 58110 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2388:b0:96:219d:e725 with SMTP id i8csp566670dyf; Thu, 16 Feb 2023 06:40:57 -0800 (PST) X-Google-Smtp-Source: AK7set+znHZ/oy17dKxVQjP+7dVjgwLsXLPu1wwPuKAee97t/nItbFZiqjqCY3KBC6+FzdDhfDkR X-Received: by 2002:a17:906:7117:b0:877:6713:7e99 with SMTP id x23-20020a170906711700b0087767137e99mr5563503ejj.58.1676558457408; Thu, 16 Feb 2023 06:40:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676558457; cv=none; d=google.com; s=arc-20160816; b=zGVx7ExJArQvHg8iDtRgR8GQKgr5JOva9MzvPhpLPC18fk/HTUzfLo6H4ETdYSntS+ rfFkhU6J3goRA2VGekM4rBqWZsrsy1TDnmv6VaE43L513trrbgRyQddIztOxPBegaOuJ gINvp2yQqNbfr8kkuKZ0suy6ftcRc97JhqoAzF239XkgiM3ymLgKWLc1B1dhZajd0qlf qj4C1Zf/5CvH4FwFyFitaJYE6vBwRWpUWgJxKr7khzL+/7jtWGvGIuNKCXy+cic0vkP/ WN2roI71oq6urlIzBM/kfjhDZQzIDSyM5FyPFkWATBhgksQPFJVOGfpGEniLG6YzSUQT ghLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=KPdQihjWkNxzMPXyFqFbJJTx7NrvoFC4LkIxbhTqvdg=; b=U5WJLekZrqDNQ7LbUDvPhtRjKPROEC1Jbhp9UsC6O3THjRJEj20/O8Jev03vn5VTGm nY1XjMc7FnrfkFrD/Jk+mbwchayuvsd08dwo74ui1B25zg+7toVxQwbjLXCwu2Gpc8Y2 nDIUW84JttCu9RnbEy3UjzPdg2A1erWh1WReY56U1XThxRiVixKehDA7y4s9eIFv4q0J F7MNtDJ6gFfJpsomaEx2oU/pfDX6hllVTahWbf2/OMdmZhW8ztfVTvMWzfQ+Cq78y/pq ZenA+xrUnA7Sy/swjmnkhxE9aJSaD9zz4YxXtvXOxR1HCnNXlMB+JdgxytH1JUDlJ/8J /57A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=T7e88bVF; dkim=pass header.i=@tq-group.com header.s=key1 header.b=GW8Qq5QX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id vf23-20020a170907239700b008b153a6d23dsi2121445ejb.225.2023.02.16.06.40.34; Thu, 16 Feb 2023 06:40:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=T7e88bVF; dkim=pass header.i=@tq-group.com header.s=key1 header.b=GW8Qq5QX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229955AbjBPOfH (ORCPT + 99 others); Thu, 16 Feb 2023 09:35:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44378 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229806AbjBPOfB (ORCPT ); Thu, 16 Feb 2023 09:35:01 -0500 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12D06311C3 for ; Thu, 16 Feb 2023 06:34:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1676558100; x=1708094100; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KPdQihjWkNxzMPXyFqFbJJTx7NrvoFC4LkIxbhTqvdg=; b=T7e88bVF8ycJVBmLMN4Ywta4ZsGKqu0KOiM8h7u3goJV3QwzUscga/2o 25WCyVQ8qiqv2Rr4+uFoZ/EXfdhGWxXiIe73aRquIvx1yYgXM1SdcHKhs CzpFiPuH/L9Qt+4YVxTHwZw1Plw+3NcLI9NF5dizCS72lwPoyNKNUKUHd ZG0LtrCDEwklczBd4VH7hCtdSHZNm7SDCBnTitQHKJJ/zIRXekWNOdBol DdfPr2sANSfHNW4xAEGQ/417IttsohDgdObwVStqEY+Ze+tkeyaAtjiGp NPnzq4odkSijCKbHZ2CjKHEfkxXxF4sZRrDHI8GpBgnS0cDdxTw0OHMe/ w==; X-IronPort-AV: E=Sophos;i="5.97,302,1669071600"; d="scan'208";a="29134874" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 16 Feb 2023 15:34:56 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Thu, 16 Feb 2023 15:34:56 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Thu, 16 Feb 2023 15:34:56 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1676558096; x=1708094096; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KPdQihjWkNxzMPXyFqFbJJTx7NrvoFC4LkIxbhTqvdg=; b=GW8Qq5QXjVf8xfwiIVl1i0Ip1L22JCK2neIk362JOx73yMK54vx8xZGY KIc/YGc0enQdLkDrj4wqzgpH1SnD9K4Nc+EZSRq3NNiO9Ie4OCBCFyu0y KLdpxyztcXQ94pKNeqYYkobw1CgxEG8kpakIMFFZ0+abivowaPouEqc4r PBJ8XD8S7pACQ3uOopfxIUDUvCNndTC43Uyx9ckLtv2cUemcEYeRnLH0G xcNDE7cNhkxrG5QqNyIfj0net8Il7G+qDRS50XqMka9kG7ksBqkoocWFi xLdEuLVmE3IBePZF4rt6V2rjqrmxvxEMtncYdbBBs1HQ7DuryzLQWwJrC g==; X-IronPort-AV: E=Sophos;i="5.97,302,1669071600"; d="scan'208";a="29134873" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 16 Feb 2023 15:34:56 +0100 Received: from localhost.localdomain (SCHIFFERM-M2.tq-net.de [10.121.49.14]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id 749D2280072; Thu, 16 Feb 2023 15:34:56 +0100 (CET) From: Matthias Schiffer To: Lee Jones Cc: Andrew Lunn , linux-kernel@vger.kernel.org, linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 2/3] mfd: tqmx86: specify IO port register range more precisely Date: Thu, 16 Feb 2023 15:34:23 +0100 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: <59041b6d888c886edef5a97fc6e3319d235e101a.1676557968.git.matthias.schiffer@ew.tq-group.com> References: <59041b6d888c886edef5a97fc6e3319d235e101a.1676557968.git.matthias.schiffer@ew.tq-group.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757998961068149444?= X-GMAIL-MSGID: =?utf-8?q?1757998961068149444?= Registers 0x160..0x17f are unassigned. Use 0x180 as base register and update offets accordingly. Also change the size of the range to include 0x19f. While 0x19f is currently reserved for future extensions, so are several of the previous registers up to 0x19e, and it is weird to leave out just the last one. Fixes: 2f17dd34ffed ("mfd: tqmx86: IO controller with I2C, Wachdog and GPIO") Signed-off-by: Matthias Schiffer Reviewed-by: Andrew Lunn --- drivers/mfd/tqmx86.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index 8dcbdafa88f4f..1957db881c3a1 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -16,8 +16,8 @@ #include #include -#define TQMX86_IOBASE 0x160 -#define TQMX86_IOSIZE 0x3f +#define TQMX86_IOBASE 0x180 +#define TQMX86_IOSIZE 0x20 #define TQMX86_IOBASE_I2C 0x1a0 #define TQMX86_IOSIZE_I2C 0xa #define TQMX86_IOBASE_WATCHDOG 0x18b @@ -25,7 +25,7 @@ #define TQMX86_IOBASE_GPIO 0x18d #define TQMX86_IOSIZE_GPIO 0x4 -#define TQMX86_REG_BOARD_ID 0x20 +#define TQMX86_REG_BOARD_ID 0x00 #define TQMX86_REG_BOARD_ID_E38M 1 #define TQMX86_REG_BOARD_ID_50UC 2 #define TQMX86_REG_BOARD_ID_E38C 3 @@ -40,8 +40,8 @@ #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_REV 0x21 -#define TQMX86_REG_IO_EXT_INT 0x26 +#define TQMX86_REG_BOARD_REV 0x01 +#define TQMX86_REG_IO_EXT_INT 0x06 #define TQMX86_REG_IO_EXT_INT_NONE 0 #define TQMX86_REG_IO_EXT_INT_7 1 #define TQMX86_REG_IO_EXT_INT_9 2 From patchwork Thu Feb 16 14:34:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 58109 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2388:b0:96:219d:e725 with SMTP id i8csp566631dyf; Thu, 16 Feb 2023 06:40:53 -0800 (PST) X-Google-Smtp-Source: AK7set8yO3UHrrvVPyVOfv+uyKxyTYzAFqAdHZyGkuB4JQkFD1KwzJasiDPf9LSA5jHhv/G8Qlff X-Received: by 2002:aa7:df06:0:b0:4ac:c1bf:2a26 with SMTP id c6-20020aa7df06000000b004acc1bf2a26mr5792099edy.12.1676558453711; Thu, 16 Feb 2023 06:40:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676558453; cv=none; d=google.com; s=arc-20160816; b=kaZR8xbv89qVRRt+EDvvaF1x6k/7BHv4JxHNhPYnBaWRDFD0pJQbBcBmTx3fh2Kdti RH8QzL9RD47z0OuPLbBi+WHxXbmNa5OmtMAIGUVkejhYYFftsMjuwHUMqOEdMKN6U0+n bfKn1tdGhHtteHVyuQQxl6lzcmSUeAgrhrXv5bE062dUnn6MsG83joHMspTUepenrBaI 2fxDXX8xxBrayoJMnu3jBHMd7cy4Q0RHIgB4OcwdxWbeJ9nZk3E+5gQFTN5I7WqGgwAs VpgqH1Jxd7nZ6RXcCcLY1lX7CL4t9N00y2v7pQRsmzJhvwam44ctADJER+DfbjEk5JJH vZAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=siBGOBrCnKsQgHByWYvfIh8c+pPvjEnmeaipTTpKHZg=; b=uc2p4Okyw+ZvF56SAfk0+7jYlv0itvvprIQZmzAhJ03eJY06Z3flYfqewIsAS1ms5k BIewflfkC8RvHBCh4c+fdCCao6MNt39JoukGlfB8OQubiGZYVHtc8p5YZkKFoNZFJ5w5 3NYD7ZA680lwBJPybFcMoSxGP3dSFKdh8QYTf0F9qxr95n4pV0DdHQ6g5VBsXAsLCxUX bv/cHxQe2JkKeLY065/jbubreazM1UdeNiHlcr0lFPCIDZl+P4k1dzsnehZaIMTzSsZE U+nMt6w2u3gzdGwdjRMEBDcmMYcrRIVwfb5Gy6gXb3yoSGy9kfyxZIbsZJYwP5O+y3to 7vbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=KVjWIAR0; dkim=pass header.i=@tq-group.com header.s=key1 header.b=AUE4OA7V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c18-20020aa7d612000000b004ab2521aed1si2407359edr.293.2023.02.16.06.40.30; Thu, 16 Feb 2023 06:40:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=KVjWIAR0; dkim=pass header.i=@tq-group.com header.s=key1 header.b=AUE4OA7V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229888AbjBPOfF (ORCPT + 99 others); Thu, 16 Feb 2023 09:35:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229517AbjBPOfC (ORCPT ); Thu, 16 Feb 2023 09:35:02 -0500 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55CB622A2E for ; Thu, 16 Feb 2023 06:35:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1676558101; x=1708094101; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=siBGOBrCnKsQgHByWYvfIh8c+pPvjEnmeaipTTpKHZg=; b=KVjWIAR0cdl3SHMFghypAUJxsfzVwUp/aFNo1oUL05/RAbDC0v32Hmz1 RtsfL6qcjYgzvFWT7m5Cie/QRkzzfPQgRXsU55+Y9DOFRY+uBbHOuipq4 ZyzXw5d5iszpcDpcuImQUzVr89tJ3bsEaADVTuWaaulPLDtyKgEBMIVRq kVC1mnBi4ecqIEMopZ34q/9IiV/LzL+7t/HE7mK8wMBhz1GmZ5RryIQSB Y3IZjFdoWBrXKgTlAJPy725rzG6GQCI5NlSXYyVh8eJ48H7//97d/aUFD SozkC8GveU2ZvLp0/sljcC7FbMvmnSbKNqvEH2Kjc6PQ0BNxtE/v9/Lrt g==; X-IronPort-AV: E=Sophos;i="5.97,302,1669071600"; d="scan'208";a="29134876" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 16 Feb 2023 15:34:56 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Thu, 16 Feb 2023 15:34:56 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Thu, 16 Feb 2023 15:34:56 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1676558096; x=1708094096; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=siBGOBrCnKsQgHByWYvfIh8c+pPvjEnmeaipTTpKHZg=; b=AUE4OA7V3+SlJYkfrzHbmR5Nam/XO6OBzJwdfg1ZvYv06CMxmZg9yXJi orJYBQwfd3fUm/FNlqUyviXT/ba0NnYlCWzQcaB6mPmEx+p5mjDtVtYgX v5xcKq1gPqHeZnK6rtOBztTll/fijIgYGwdW3vuFG/LqV4YCieewSjc7H r+6SgnVCqqX6hmNtUCF6sFtuwldxypgvXmv2X+QFWSxc16L5tVQrs3Ne6 PANoy/hc5Yl46Q26udXHWXZTUENpcb80qTA8Az9okByAvOJaIMlf8GKWK a/okiGaUV0r3lWkEs+R78qJsx2NCGkXkNNF6edmrZqbI1Ua6oY+CtZ2Lt A==; X-IronPort-AV: E=Sophos;i="5.97,302,1669071600"; d="scan'208";a="29134875" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 16 Feb 2023 15:34:56 +0100 Received: from localhost.localdomain (SCHIFFERM-M2.tq-net.de [10.121.49.14]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id 925BB280073; Thu, 16 Feb 2023 15:34:56 +0100 (CET) From: Matthias Schiffer To: Lee Jones Cc: Andrew Lunn , linux-kernel@vger.kernel.org, linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 3/3] mfd: tqmx86: correct board names for TQMxE39x Date: Thu, 16 Feb 2023 15:34:24 +0100 Message-Id: <31d3180d870dbfd386d5e21b3cdf2dd166f5d92f.1676557968.git.matthias.schiffer@ew.tq-group.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <59041b6d888c886edef5a97fc6e3319d235e101a.1676557968.git.matthias.schiffer@ew.tq-group.com> References: <59041b6d888c886edef5a97fc6e3319d235e101a.1676557968.git.matthias.schiffer@ew.tq-group.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757998956683043656?= X-GMAIL-MSGID: =?utf-8?q?1757998956683043656?= It seems that this driver was developed based on preliminary documentation. Report the correct names for all TQMxE39x variants, as they are used by the released hardware revisions: - Fix names for TQMxE39C1/C2 board IDs - Distinguish TQMxE39M and TQMxE39S, which use the same board ID The TQMxE39M/S are distinguished using the SAUC (Sanctioned Alternate Uses Configuration) register of the GPIO controller. This also prepares for the correct handling of the differences between the GPIO controllers of our COMe and SMARC modules. Fixes: 2f17dd34ffed ("mfd: tqmx86: IO controller with I2C, Wachdog and GPIO") Signed-off-by: Matthias Schiffer Reviewed-by: Andrew Lunn --- drivers/mfd/tqmx86.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index 1957db881c3a1..e80100dee7019 100644 --- a/drivers/mfd/tqmx86.c +++ b/drivers/mfd/tqmx86.c @@ -30,9 +30,9 @@ #define TQMX86_REG_BOARD_ID_50UC 2 #define TQMX86_REG_BOARD_ID_E38C 3 #define TQMX86_REG_BOARD_ID_60EB 4 -#define TQMX86_REG_BOARD_ID_E39M 5 -#define TQMX86_REG_BOARD_ID_E39C 6 -#define TQMX86_REG_BOARD_ID_E39x 7 +#define TQMX86_REG_BOARD_ID_E39MS 5 +#define TQMX86_REG_BOARD_ID_E39C1 6 +#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_110EB 11 @@ -48,6 +48,7 @@ #define TQMX86_REG_IO_EXT_INT_12 3 #define TQMX86_REG_IO_EXT_INT_MASK 0x3 #define TQMX86_REG_IO_EXT_INT_GPIO_SHIFT 4 +#define TQMX86_REG_SAUC 0x17 #define TQMX86_REG_I2C_DETECT 0x1a7 #define TQMX86_REG_I2C_DETECT_SOFT 0xa5 @@ -110,7 +111,7 @@ static const struct mfd_cell tqmx86_devs[] = { }, }; -static const char *tqmx86_board_id_to_name(u8 board_id) +static const char *tqmx86_board_id_to_name(u8 board_id, u8 sauc) { switch (board_id) { case TQMX86_REG_BOARD_ID_E38M: @@ -121,12 +122,12 @@ static const char *tqmx86_board_id_to_name(u8 board_id) return "TQMxE38C"; case TQMX86_REG_BOARD_ID_60EB: return "TQMx60EB"; - case TQMX86_REG_BOARD_ID_E39M: - return "TQMxE39M"; - case TQMX86_REG_BOARD_ID_E39C: - return "TQMxE39C"; - case TQMX86_REG_BOARD_ID_E39x: - return "TQMxE39x"; + case TQMX86_REG_BOARD_ID_E39MS: + return (sauc == 0xff) ? "TQMxE39M" : "TQMxE39S"; + case TQMX86_REG_BOARD_ID_E39C1: + return "TQMxE39C1"; + case TQMX86_REG_BOARD_ID_E39C2: + return "TQMxE39C2"; case TQMX86_REG_BOARD_ID_70EB: return "TQMx70EB"; case TQMX86_REG_BOARD_ID_80UC: @@ -159,9 +160,9 @@ static int tqmx86_board_id_to_clk_rate(struct device *dev, u8 board_id) case TQMX86_REG_BOARD_ID_E40C1: case TQMX86_REG_BOARD_ID_E40C2: return 24000; - case TQMX86_REG_BOARD_ID_E39M: - case TQMX86_REG_BOARD_ID_E39C: - case TQMX86_REG_BOARD_ID_E39x: + case TQMX86_REG_BOARD_ID_E39MS: + case TQMX86_REG_BOARD_ID_E39C1: + case TQMX86_REG_BOARD_ID_E39C2: return 25000; case TQMX86_REG_BOARD_ID_E38M: case TQMX86_REG_BOARD_ID_E38C: @@ -175,7 +176,7 @@ static int tqmx86_board_id_to_clk_rate(struct device *dev, u8 board_id) static int tqmx86_probe(struct platform_device *pdev) { - u8 board_id, rev, i2c_det, io_ext_int_val; + u8 board_id, sauc, rev, i2c_det, io_ext_int_val; struct device *dev = &pdev->dev; u8 gpio_irq_cfg, readback; const char *board_name; @@ -205,7 +206,8 @@ static int tqmx86_probe(struct platform_device *pdev) return -ENOMEM; board_id = ioread8(io_base + TQMX86_REG_BOARD_ID); - board_name = tqmx86_board_id_to_name(board_id); + sauc = ioread8(io_base + TQMX86_REG_SAUC); + board_name = tqmx86_board_id_to_name(board_id, sauc); rev = ioread8(io_base + TQMX86_REG_BOARD_REV); dev_info(dev,