From patchwork Mon Feb 20 11:25:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 59390 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1255355wrn; Mon, 20 Feb 2023 03:33:42 -0800 (PST) X-Google-Smtp-Source: AK7set84ZEDozh/rwOFVlAgYY6+1mZLWJ+M1IOM5UXjZ7OytU7w7nHOmgJkE8uMJszE3BmRowL6O X-Received: by 2002:a17:902:d50f:b0:19a:a9d8:e480 with SMTP id b15-20020a170902d50f00b0019aa9d8e480mr646606plg.68.1676892821792; Mon, 20 Feb 2023 03:33:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676892821; cv=none; d=google.com; s=arc-20160816; b=pdGPfatS7lPXcFlb/XHIdA3/bOLZdC5Hi+NUJjanLStT/+zwy4w3nLIfvTUC7JaW6S FPTHTePXGuP811y4iaLzUrI2/TZbS/kgy7srnq7Od1sHXGr5QmeXXnRO9hjWWmGZXOap L8ZYlIQM3v5vYXDEgzw0t+a0JiJgGJCXQ9uC8dJ+Boteb3vD7Kxmyuv2PCgYp/lwS5Sn vBM4OFkpdKGOUBF/+zF+fRAg8wAHlgLnbQUw6vQhZ3nUkEgzcQw7gxhaE1pNZ6ZJcqqU MZJoqI901VeYQHfuooVWalQYiQJKwrb0vSTdFsbub45ob+OeOXBv15SLcfotQDKEZ8Hv 1rmQ== 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=J7LmUwU+SS2w5GKPk+OLCBAiJ2JdcxGmTNn38enXxhA=; b=u5N9Ws0eSvJTxr0aOB+7xky3O/9EaSeSZGs9VCsG13loderms1nSMILoHIG/fla12w d+IvqlOSqmT80B05om9l/ianSy/a2JNBwVwpZ1WulYdFtJocI5c59XcAE9N+lf5JX4O9 cFS/QynIKncI/jbxyN870PO034wdPwHUtNVYZOxSMFop4ZKtfkwHFDEBI6x2FAO7wV0o 187GVyJILDuoHzFnQVnjgsnorU4DCj0uwVKDkghBWRotj1UWOirr0xf92GWjhW4aUY2n tDya8gLs7GlPAiQs0xGm/yKWoMzzhTbrlDCc+2jqLAIFtChtflY1M9TS7obgtbFQR5Bo +VMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=ORKUvrwa; dkim=pass header.i=@tq-group.com header.s=key1 header.b=ClklIeCS; 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 f12-20020a170902684c00b0019ac69e7385si8944014pln.123.2023.02.20.03.33.26; Mon, 20 Feb 2023 03:33:41 -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=ORKUvrwa; dkim=pass header.i=@tq-group.com header.s=key1 header.b=ClklIeCS; 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 S231403AbjBTL02 (ORCPT + 99 others); Mon, 20 Feb 2023 06:26:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230215AbjBTL00 (ORCPT ); Mon, 20 Feb 2023 06:26:26 -0500 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 245558A6B for ; Mon, 20 Feb 2023 03:26:22 -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=1676892383; x=1708428383; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=J7LmUwU+SS2w5GKPk+OLCBAiJ2JdcxGmTNn38enXxhA=; b=ORKUvrwaLveNaKSoZOOmdfJLL+s59sz/rrj48w0hPXdEGB+p5ZUwYz9M Lnd1+INz6aljLeOtbRDY3+jVeAojwgslvxIyvHJ58o/t+uyUKaAK82ys9 eXwbkmjU8llqBtTu6ziIq2cgfFdtOIoyhwcWY+FgWQMySnpfraeaEKVzA fDWrO7yDP30jONvoI2Tsql3TPu4T/Yz2fpknUSY1e/KYlR7uYtqvPli5K OuDBtOwE3yNbw1tS1tqIVwslIeQLx78oksk202d3wsvMgOCBdoKMvgdzt VdStxxAXZXqXcJjhgdw88xD34xO3CxRNe7mNS6zVmmEtctUExB4H3pX6l w==; X-IronPort-AV: E=Sophos;i="5.97,312,1669071600"; d="scan'208";a="29187432" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 20 Feb 2023 12:26:21 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Mon, 20 Feb 2023 12:26:21 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Mon, 20 Feb 2023 12:26:21 +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=1676892381; x=1708428381; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=J7LmUwU+SS2w5GKPk+OLCBAiJ2JdcxGmTNn38enXxhA=; b=ClklIeCSKuQbo+bBYc7lqRBKlR8Qz20thTpSXbqOpcC9FLdQqYcPxEwn 9c8sup22lNt3naSWW/+8Uk6poRBDnvIOaIod28TNQCg7SI7GD3mlP2nYz oGdW1FArZhsAvCmFbv0lL/oIRujonYbZyRi/STAgnOvuaZ+eCfS4QyIIW iORYd78clYA6sgvgrhFMT6SLvwOxPoD1QIjXNQJcATrwf/aB9MC7wwp7h KMgJM6LeeLc5qxoK53kQ3pAcVGeIgCx8/58/1jstLkBNjZbF02tRa9fwJ w+YCafk1+lHBk2OC88AUYyNu9jsSDxqeJC3DTqj2L/JtcWbpnM08CgLeh Q==; X-IronPort-AV: E=Sophos;i="5.97,312,1669071600"; d="scan'208";a="29187424" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 20 Feb 2023 12:26:20 +0100 Received: from localhost.localdomain (SCHIFFERM-M2.tq-net.de [10.121.49.14]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id EF709280056; Mon, 20 Feb 2023 12:26:14 +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 v2 1/3] mfd: tqmx86: do not access I2C_DETECT register through io_base Date: Mon, 20 Feb 2023 12:25:44 +0100 Message-Id: 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?1758349567242541303?= X-GMAIL-MSGID: =?utf-8?q?1758349567242541303?= 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 Reviewed-by: Andrew Lunn --- Notes: v2: add comment regarding use of inb() as suggested by Andrew drivers/mfd/tqmx86.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/tqmx86.c b/drivers/mfd/tqmx86.c index 7ae906ff8e353..31d0efb5aacf8 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,12 @@ 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); + /* + * The I2C_DETECT register is in the range assigned to the I2C driver + * later, so we don't extend TQMX86_IOSIZE. Use inb() for this one-off + * access instead of ioport_map + unmap. + */ + i2c_det = inb(TQMX86_REG_I2C_DETECT); if (gpio_irq_cfg) { io_ext_int_val = From patchwork Mon Feb 20 11:25:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 59391 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1255833wrn; Mon, 20 Feb 2023 03:34:54 -0800 (PST) X-Google-Smtp-Source: AK7set9Zrbh5DRCxUER8vjAtiXcHC0VI2Mm1kKXuD47QJpdAby7ccrxlaJc86anhHcpTqpL3JC0T X-Received: by 2002:a17:902:b60a:b0:198:f753:7b23 with SMTP id b10-20020a170902b60a00b00198f7537b23mr177159pls.66.1676892894606; Mon, 20 Feb 2023 03:34:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676892894; cv=none; d=google.com; s=arc-20160816; b=Oxh5sxX0xWpWYLzCPqEfW/JccYQ1ILj1QMdczzWpIoZ4ZDE0IOwJ/H37IIBL/BUq9n W4WufzBRh2uSlYOetQBmgER5nqKpGo4HFU7IF9cT5c/0XVZG+Z+cQWA/r2UXmuhw3kHL 8DycVSjYAmht9dYrkL8zqK4NKeJg7y3G3LONJ+o7LIzt1wuLvtpgK9ScLRmMWvX3XHp3 eeo1wAOINcE0vBNAXW6Jr2F2gqLcNw8N2rQrShHIfRaZlcDHbHlVfrUXl+fGY2sOVvJP rDeyRiHHG5Y7T5Wz4yanEdecrZcIAK+T3+gg/t/ygpJkxIEA0h+lwPzqe24lcprEDp4c ERFA== 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=q5lXumQ8qCSEY6OU+rn431DpvEqvf2R0gCQDL8bf8zo=; b=JD5y/QAVkoOcBd5LUf1vUZo7ZXESZwDgcvyXEg+ro3Wdq6IGR5Zafc6zdx5n2xxLC5 YQSinasEMa4WDtS7+1d+QeEzuPJnHvfuhlRq0XyB+yX+Q9ES4a4ZD3NJywwAlGne59bX 098TAze95cOkXEq2CqAUfdfdXLVF4NTnkclrTqaQQoq7bO56DDBk0ZsqN9qxpBeXS4ZB BrY9vsB5d3lGYWq+fQxfYNifsRQBeKjrNMceZtjzoT/YO3Oib8lm2VZ6JQJegSoly4AK bJ5A4g3fOUA1nbMo41GB8/6bbjYT+qHP/8fv+sP4cuNhnYAhi0MFXARI6DfHfX9BRsw2 cnZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=TWAZaj8p; dkim=pass header.i=@tq-group.com header.s=key1 header.b=jb5RjXBp; 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 g5-20020a6544c5000000b004fbc4585c37si2166872pgs.869.2023.02.20.03.34.42; Mon, 20 Feb 2023 03:34:54 -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=TWAZaj8p; dkim=pass header.i=@tq-group.com header.s=key1 header.b=jb5RjXBp; 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 S231660AbjBTL0a (ORCPT + 99 others); Mon, 20 Feb 2023 06:26:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51162 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230383AbjBTL02 (ORCPT ); Mon, 20 Feb 2023 06:26:28 -0500 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A6DE9023 for ; Mon, 20 Feb 2023 03:26:26 -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=1676892386; x=1708428386; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=q5lXumQ8qCSEY6OU+rn431DpvEqvf2R0gCQDL8bf8zo=; b=TWAZaj8pOy/eaG9GPvYmTLZa7FOtzHjBesfw4GD6ACMpzeHjWcnjPoYL rOxfH0fEu0FYDU+PBl84qohJ6GORIYQrm8/u0p/6pJANvpEC/KFjgQdeX elG4xUsgwRN8SZi+b00Df3M+7JwamQDOzvEE58FR3QSJwggxRPRxIERIV ZqMlOjWxaKmlCVZelKadpuF7vHKCh5ruWqViZN9p524vLckNZ1lsJpTLn 330lO9ZDW0BpDiaHYVcU4d91VrGercmYUQiE/CswaizfTBiI/1AshitY7 DMOtP9NzA4X77eElhdcOR2YjfFIi1P8hSBnVB5KXVmNzm/bluWrREouCQ Q==; X-IronPort-AV: E=Sophos;i="5.97,312,1669071600"; d="scan'208";a="29187430" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 20 Feb 2023 12:26:21 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Mon, 20 Feb 2023 12:26:21 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Mon, 20 Feb 2023 12:26:21 +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=1676892381; x=1708428381; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=q5lXumQ8qCSEY6OU+rn431DpvEqvf2R0gCQDL8bf8zo=; b=jb5RjXBpn8K9sH21Oowkqs/qpb55p2Cj94vKtbYA3fQrmEaGZEqvYE/7 idwYGRL5iCaWcNitraM8NekX1IY/JDo2gYwNi69T3mwW/7gQJ6MgQGlrQ WJbxxEC4DxlWjKz2/FOAcws3FhwrlQdfEBR3QyLSdITTHzs4UzkzhIanf l3ZMPZO9r2jnNjwtu1IPlCTFeY8W1awtyQgFcbjcD8op0uPlpNGWKmvm6 P75TKNvGH/hBQlVH6vXh3DwbTqVcyfLmHwBMOT0YNcoseRzrVHO9BvIiD PJ9RVQEu49qu3ur3alYLJGR+T5ugXvAukufTNwH/bGt6EbsFZ/VUun+wU Q==; X-IronPort-AV: E=Sophos;i="5.97,312,1669071600"; d="scan'208";a="29187425" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 20 Feb 2023 12:26:20 +0100 Received: from localhost.localdomain (SCHIFFERM-M2.tq-net.de [10.121.49.14]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id 15149280072; Mon, 20 Feb 2023 12:26:15 +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 v2 2/3] mfd: tqmx86: specify IO port register range more precisely Date: Mon, 20 Feb 2023 12:25:45 +0100 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: 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?1758349643734216731?= X-GMAIL-MSGID: =?utf-8?q?1758349643734216731?= 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 --- Notes: v2: add Reviewed-by from v1 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 31d0efb5aacf8..958334f14eb00 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 Mon Feb 20 11:25:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 59389 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1255351wrn; Mon, 20 Feb 2023 03:33:41 -0800 (PST) X-Google-Smtp-Source: AK7set+l1tw1UR0daEF77IdegmLeuysCES5dmxZqKWJrzxtFeQXbuJfXoXMUrRCfcf/TudkMvstW X-Received: by 2002:a17:90b:4c8e:b0:233:bc78:b47f with SMTP id my14-20020a17090b4c8e00b00233bc78b47fmr2573253pjb.49.1676892820986; Mon, 20 Feb 2023 03:33:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676892820; cv=none; d=google.com; s=arc-20160816; b=dNYY7GJmo4Y9Rvi806/zxTWOZX4VhtB7hKay6KlBp9q/t6Qg2ZGOYSptpzLaYyLtef Oa3c0wnbKJNvLcZX+dSf9zJwoSMhtYrhSVYYgm9M+CsGUBX7ke8DmXKwbZBqjdKjMhWm yMuMqh31+FCMrj69fhpgUCcXEeqXHZpuCq76EGHOaZnHsxnHlJG/PrOWlpsW7NevoxUQ whAskSJVKRKA7i8oQu3Dinp/HWPrdmDYXB9Dcy4HIcxluNET7/eBsoG+7XqC/weSJW4H i+9910hzYSSBSDVMUegl/Vj/tt3SycSzMidrP7YKYpfCvm0z9nYaq0awjL6ZcGLYjN8z 7R0A== 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=totpBCjpLePkVoam+gcl3kjF9/aIeC84MC/MCZlL6DI=; b=X4sEZiHmE8h+wwuHNG70kltZ/PacL2jfjr7d9mYxg7UXbQTKasNvMPhyS9JXIAKF4r F6IoojJs39WWhJxXvcPPIqqq0B0gnXLkPo+CmWLxyqAETiDDY0NG67x2LKqZsqX9deHw r8EiGETXHTnm8A6575jx9aVvhNNC5D2DT7aOcqFcxYEmHhWkHHHew/NtpG11gJCkKkBq Tc6dt7FroaXqn/M9yyCbiJmKndOP1eftlhwM8u9p1wyAZpEf05bjxn7uvv9Xd1Q9jyMt oxEX7X91wqg29Qx5RHCNrodpr1TJ0QRf3YIUtan2to1L+8btM33RaZ0tmMdXMXKZua7c uRLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=o+7wLThc; dkim=pass header.i=@tq-group.com header.s=key1 header.b=OZZ222vq; 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 gv6-20020a17090b11c600b0022c83e223desi771153pjb.58.2023.02.20.03.33.28; Mon, 20 Feb 2023 03:33:40 -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=o+7wLThc; dkim=pass header.i=@tq-group.com header.s=key1 header.b=OZZ222vq; 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 S231793AbjBTL0e (ORCPT + 99 others); Mon, 20 Feb 2023 06:26:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51202 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231522AbjBTL03 (ORCPT ); Mon, 20 Feb 2023 06:26:29 -0500 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D2BFE7EFC for ; Mon, 20 Feb 2023 03:26:27 -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=1676892388; x=1708428388; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=totpBCjpLePkVoam+gcl3kjF9/aIeC84MC/MCZlL6DI=; b=o+7wLThcnPvEwAJalOIqvreDUQx8kvEpZ8aoYoO/0FE7sJQ4s2TsHd/h owGrQCNRzi0dH08BH6hSWIp5qst8AqXiIan2swWOpajwNkHTHpazBNdTK WehTcD4tU++QvmMr327Mwf2+fBzb+JsA1UiqskSn9bbDCSxIgoPR6lNpX nAiPcoQkyQIR2/SpbCYM8Hu0Z/8wq+BSrSw8fLJELKHceWVNtoAx69Lxs 6FEKHzSg/hFXJtBQUGR8C2gxtz9N7lLIHahRn4WDnRN5XFFYGsilt5UTn iLEvGGOGiWd765LGrktV9ml02DCiyKMXc8jDEN4SWpBhbk0xDX6rt0418 w==; X-IronPort-AV: E=Sophos;i="5.97,312,1669071600"; d="scan'208";a="29187434" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 20 Feb 2023 12:26:21 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Mon, 20 Feb 2023 12:26:21 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Mon, 20 Feb 2023 12:26:21 +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=1676892381; x=1708428381; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=totpBCjpLePkVoam+gcl3kjF9/aIeC84MC/MCZlL6DI=; b=OZZ222vqCH3wVls1aN7tH/ZLeO4gYQgtcXJ5Z18D9yfEBA0MjPZPalgX daxUW8l/mN/Jh6rEPLO/BsmJMDbBVfkQ4DZug/fKIT3kDEVzSUy6+sdA1 nPoTNWuGET5sdba4kWEPp9ntwK3/T2TNCcc+Rj0tjj1txGid2KF1N2uCS K3oxoolYDdTN/Aod2yHLtFjv1QRagwgwJwZCaRvrfVNjFP1aHfDTZrUgi VIottto8varlz6JNppemXeCdf9rKp0/1neCnB7QGZ3uYDQ6uTtXjtdyiw c2ZA2i9FZdY9PHsWBlK9N/Yo64MvAgrAZ7GwLNNCrAompcjZsTB/SEjpt Q==; X-IronPort-AV: E=Sophos;i="5.97,312,1669071600"; d="scan'208";a="29187426" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 20 Feb 2023 12:26:20 +0100 Received: from localhost.localdomain (SCHIFFERM-M2.tq-net.de [10.121.49.14]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id 2E435280073; Mon, 20 Feb 2023 12:26:15 +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 v2 3/3] mfd: tqmx86: correct board names for TQMxE39x Date: Mon, 20 Feb 2023 12:25:46 +0100 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: 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?1758349566271206272?= X-GMAIL-MSGID: =?utf-8?q?1758349566271206272?= 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 --- Notes: v2: add Reviewed-by from v1 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 958334f14eb00..fac02875fe7d9 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,