From patchwork Mon Nov 27 11:22:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frieder Schrempf X-Patchwork-Id: 170097 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3020978vqx; Mon, 27 Nov 2023 03:24:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IEfS0JGzv+fxajp+XHr5XZtPwgIH08QogIyGiFAZ5jQI0xwMN6NGi6x+w3bLmYbOvvhmugQ X-Received: by 2002:a05:6a21:3989:b0:187:a581:cc4e with SMTP id ad9-20020a056a21398900b00187a581cc4emr12627337pzc.29.1701084261322; Mon, 27 Nov 2023 03:24:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701084261; cv=none; d=google.com; s=arc-20160816; b=HmRkM6xQEdvp/aTDMfP9LVZPpVkOBleRqcijzzMcc/jsn/1ksAF+pQFeThT4vRa1h1 FD0wgmSbZ0cRtwNNjMqm3bc6jfWZLCdRsAPipS2CHbD1tgY0daKdl+6V8f3USj1OELVT tkQJREl6iDpYpFuk8t8/xo5sH55U/BCylXguwBZ+9ndQmR9QaXM+eFz0dC8D08vPEgZL Y4yKjuO4Xm0vUu+uOcZRdboBQFFXwKmXEJGRTRTc2rrbq6xjSa7uKCjCYncZATLayRmU qtiRhn49ieIF+IiJ+VSTZIc89b7tBruXiQqOQvFcOsZ2BLY3OtbwNOSXGZaAqG/zxq7k tvcA== 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; bh=lIwxznIaQ/Q1UMhEJA7Uobh5avUf1uO3muzdBhAnjx8=; fh=6xybqo/qINGZ9KaXl6oKe3bJXDcN/FE23vLcQKtUoIw=; b=CITsKPYjEQacXXhNGTAh6FJXzWfcOhZ6klNQqHzwME6k7Z4UslBtGPUmfPiJeoW+l9 i2iXkxRPVthmZgyK3xGxzhKnUDKVo+GTzIjaA2OHacW0b+FUrGer7VTs5kZlrKPLj0NU CHhpKFEdxLMWlrGKF/MvxoJF9EyOlBV4dtSfx4VD8tBCRCE9pQckoQX02ShbyqMj9ULs 3gafJQhLK3xiIX+knoCtFMYToe4Lsvrwq/lXCq2aR2HwJ5C+luFCoRKrSRorUfo/6RO5 5frjI3JI09QgNiO6Es93gd5H74qRPv/YwP8hloqlv+NKms6KAsueaJKGA2KmSywqFR5m hwBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=a6FFS39b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=fris.de Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id c32-20020a631c60000000b005c216b7d4easi7919452pgm.473.2023.11.27.03.24.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 03:24:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=a6FFS39b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=fris.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 178EC806380C; Mon, 27 Nov 2023 03:24:18 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233139AbjK0LYJ (ORCPT + 99 others); Mon, 27 Nov 2023 06:24:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57946 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233145AbjK0LYG (ORCPT ); Mon, 27 Nov 2023 06:24:06 -0500 Received: from mail.fris.de (mail.fris.de [116.203.77.234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17B921BCA; Mon, 27 Nov 2023 03:24:00 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 5231DC00A1; Mon, 27 Nov 2023 12:23:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fris.de; s=dkim; t=1701084238; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding; bh=lIwxznIaQ/Q1UMhEJA7Uobh5avUf1uO3muzdBhAnjx8=; b=a6FFS39b2rc9P5CPQxqSCTBAyumOVqCsBGy6MNAnHSUWQaEwM/20G7JbBgBweeT5hPpnRt ZD957/9piH9yq1LbI9D9r1k99RH1c/3NUQnL7xEQg9SABvJ3tp+ZwF5F0kTFEEaNUJ1N+B CNXKOFHmZGDWMh4qs4gxzhYnVao8CDgysH80xhu1hNban7PZ179WdlmjU/QIPhhq36KifO ZQhNKkDId7ty3Muy14/c94b9Xl20DGzJ5iUzyNfCSvaRRc3Z/1Ys3zVBc7QfFaXW/FAZyd xcq4inQ7VcclNwxYODoofi/qe3iWi/YWhnH0uRTPd1QE5GQGQozyJkTc5cRjMQ== From: Frieder Schrempf To: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Matthias Kaehlcke Cc: Frieder Schrempf , Anand Moon , Benjamin Bara , Rob Herring , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= Subject: [RESEND PATCH v2 1/3] usb: misc: onboard_usb_hub: Print symbolic error names Date: Mon, 27 Nov 2023 12:22:24 +0100 Message-ID: <20231127112234.109073-1-frieder@fris.de> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 27 Nov 2023 03:24:18 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783715540349310098 X-GMAIL-MSGID: 1783716130414841132 From: Frieder Schrempf Instead of printing the decimal error codes, let's use the more human-readable symbolic error names provided by the %pe printk format specifier. Signed-off-by: Frieder Schrempf Acked-by: Matthias Kaehlcke --- Changes in v2: * new patch --- drivers/usb/misc/onboard_usb_hub.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c index a341b2fbb7b44..077824beffa01 100644 --- a/drivers/usb/misc/onboard_usb_hub.c +++ b/drivers/usb/misc/onboard_usb_hub.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -68,7 +69,7 @@ static int onboard_hub_power_on(struct onboard_hub *hub) err = regulator_bulk_enable(hub->pdata->num_supplies, hub->supplies); if (err) { - dev_err(hub->dev, "failed to enable supplies: %d\n", err); + dev_err(hub->dev, "failed to enable supplies: %pe\n", ERR_PTR(err)); return err; } @@ -88,7 +89,7 @@ static int onboard_hub_power_off(struct onboard_hub *hub) err = regulator_bulk_disable(hub->pdata->num_supplies, hub->supplies); if (err) { - dev_err(hub->dev, "failed to disable supplies: %d\n", err); + dev_err(hub->dev, "failed to disable supplies: %pe\n", ERR_PTR(err)); return err; } @@ -235,7 +236,7 @@ static void onboard_hub_attach_usb_driver(struct work_struct *work) err = driver_attach(&onboard_hub_usbdev_driver.drvwrap.driver); if (err) - pr_err("Failed to attach USB driver: %d\n", err); + pr_err("Failed to attach USB driver: %pe\n", ERR_PTR(err)); } static int onboard_hub_probe(struct platform_device *pdev) @@ -262,7 +263,7 @@ static int onboard_hub_probe(struct platform_device *pdev) err = devm_regulator_bulk_get(dev, hub->pdata->num_supplies, hub->supplies); if (err) { - dev_err(dev, "Failed to get regulator supplies: %d\n", err); + dev_err(dev, "Failed to get regulator supplies: %pe\n", ERR_PTR(err)); return err; } From patchwork Mon Nov 27 11:22:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frieder Schrempf X-Patchwork-Id: 170738 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3863679vqx; Tue, 28 Nov 2023 04:05:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IF1aWxn3OZbaE5zuJM16xywF66PfdhNoorwe5mzmZkpxQqs0tT5ofkk88lzaKM4OeYR/Wj2 X-Received: by 2002:a17:90b:4f48:b0:285:bb77:1f79 with SMTP id pj8-20020a17090b4f4800b00285bb771f79mr7395264pjb.30.1701173146109; Tue, 28 Nov 2023 04:05:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701173146; cv=none; d=google.com; s=arc-20160816; b=1DPPKfeo/oOGQsAZBN8Suum2lUwhRketjyeEut/fT/h0bzIOkpZjkpxv70BBPOso1V BU83UJTEIIPT3XsJ909Vd3/ViiDWoYaSF0s2NKkdEdSH92OOCxQO1yNN0VtmDki+Zsaa H87jiPEvxrc0C17cMzSeJAKKBW56vbZEp9w31s2DnVOi+2Qiy3BFHQoE8MB/En8D+W+1 DEC3JisxJ223U9II6t3RLOQSvsusy3AKHVNOg3tYXSM95FO9UdRP5slZ6LmN/HzJsJO9 klbxa2kr1kwMC/h22tQJF3Q0lyhj519C3+wzmrMOZLTFPT+BWnAVBSivMc6tLwsgWuaB x81A== 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; bh=TtObVw8YUfhzjUng8rafUVONqr/7XfXzj8lQVXj7nE0=; fh=6xybqo/qINGZ9KaXl6oKe3bJXDcN/FE23vLcQKtUoIw=; b=eXatfVN9svfnxjGg68Bg3/Kk05Lr3amWPtJZsu+S936JuDiXjP/qdkCI7t0r73CkiS C8nrwrJIdz4PhJp6VsdqNIgfcOKMORyshSfUuo7IhXywOcPCMSeGRRRjTXtToWvDEIqQ Wl+S3fIXdnErSLdI33ckeh+LDKr0JI2STVEO55taa863yrntZCG4CuNPg8xk59uVJcb7 wKs7mJ96e90CKZolGHmx66BRqhb3VTa/LN67aAOLrxAHcLLK9Tkc21EuCGYE2tHg6gxZ mpZC0dhsJmwNYWNhznGy6ANhr6rYus3gjRLmiSSoXAAkowcZUmz7U5imODPzJER7W5bc v/Ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=YzAC6mU7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=fris.de Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id pi7-20020a17090b1e4700b00285b3a7912csi6989616pjb.100.2023.11.28.04.05.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Nov 2023 04:05:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=YzAC6mU7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=fris.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id C670E8069930; Mon, 27 Nov 2023 03:24:26 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233187AbjK0LYR (ORCPT + 99 others); Mon, 27 Nov 2023 06:24:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233151AbjK0LYM (ORCPT ); Mon, 27 Nov 2023 06:24:12 -0500 Received: from mail.fris.de (unknown [IPv6:2a01:4f8:c2c:390b::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF95E1BE2; Mon, 27 Nov 2023 03:24:02 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 3EF12C00F5; Mon, 27 Nov 2023 12:24:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fris.de; s=dkim; t=1701084240; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=TtObVw8YUfhzjUng8rafUVONqr/7XfXzj8lQVXj7nE0=; b=YzAC6mU7eSXCWNV/s6NbfpkGalIernf22FZMLR/7LYe2CApjm1wXlI1Yl95mOIpgrLtr8p FVrM8cVM1a8ecMDCML33ZKk9QsnHeaBE3WlBA5hTSmJS2To6XEO9l0J93QWbmFxmIznhpf w4NR0Kyh8T1vUZHCroZgjxKGYoJQe8Q3PXZQMLsWG/eYoBiruPKyFAGfpeD7W9y2kNzxDi mUacNXuUE3tjZ2+P9xMLyBAhqxiSK3aVAZF+qgTYCFlp4DwhgXau2lGOd0eR81TXaUt/dF N/8rNrDsPqotxPllIyl8Fj671fpDXn+M7MtR5a4UFqoZZbTjfca6sLtDQWKu8g== From: Frieder Schrempf To: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Matthias Kaehlcke Cc: Frieder Schrempf , Anand Moon , Benjamin Bara , Rob Herring , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= Subject: [RESEND PATCH v2 2/3] usb: misc: onboard_usb_hub: Add support for clock input Date: Mon, 27 Nov 2023 12:22:25 +0100 Message-ID: <20231127112234.109073-2-frieder@fris.de> In-Reply-To: <20231127112234.109073-1-frieder@fris.de> References: <20231127112234.109073-1-frieder@fris.de> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 27 Nov 2023 03:24:27 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783809332674163612 X-GMAIL-MSGID: 1783809332674163612 From: Frieder Schrempf Most onboard USB hubs have a dedicated crystal oscillator but on some boards the clock signal for the hub is provided by the SoC. In order to support this, we add the possibility of specifying a clock in the devicetree that gets enabled/disabled when the hub is powered up/down. Signed-off-by: Frieder Schrempf Acked-by: Matthias Kaehlcke --- Changes in v2: * use %pe to print symbolic error name --- drivers/usb/misc/onboard_usb_hub.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c index 077824beffa01..0d84b16deab50 100644 --- a/drivers/usb/misc/onboard_usb_hub.c +++ b/drivers/usb/misc/onboard_usb_hub.c @@ -5,6 +5,7 @@ * Copyright (c) 2022, Google LLC */ +#include #include #include #include @@ -61,12 +62,19 @@ struct onboard_hub { bool going_away; struct list_head udev_list; struct mutex lock; + struct clk *clk; }; static int onboard_hub_power_on(struct onboard_hub *hub) { int err; + err = clk_prepare_enable(hub->clk); + if (err) { + dev_err(hub->dev, "failed to enable clock: %pe\n", ERR_PTR(err)); + return err; + } + err = regulator_bulk_enable(hub->pdata->num_supplies, hub->supplies); if (err) { dev_err(hub->dev, "failed to enable supplies: %pe\n", ERR_PTR(err)); @@ -93,6 +101,8 @@ static int onboard_hub_power_off(struct onboard_hub *hub) return err; } + clk_disable_unprepare(hub->clk); + hub->is_powered_on = false; return 0; @@ -267,6 +277,10 @@ static int onboard_hub_probe(struct platform_device *pdev) return err; } + hub->clk = devm_clk_get_optional(dev, NULL); + if (IS_ERR(hub->clk)) + return dev_err_probe(dev, PTR_ERR(hub->clk), "failed to get clock\n"); + hub->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(hub->reset_gpio)) From patchwork Mon Nov 27 11:22:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frieder Schrempf X-Patchwork-Id: 170737 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3859013vqx; Tue, 28 Nov 2023 04:00:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IF4rLLD82N6f6vOlabCSyxA6CxiDfMv3ToYJXymHMQxr84sUTK1u84u8z6RqLSmtO23IO7/ X-Received: by 2002:a4a:6508:0:b0:58d:c53:ec10 with SMTP id y8-20020a4a6508000000b0058d0c53ec10mr13417527ooc.7.1701172819808; Tue, 28 Nov 2023 04:00:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701172819; cv=none; d=google.com; s=arc-20160816; b=03nkkKpgkOgT2Wx1pXEZ+I2OLcCQAY1MwDcLqAGm/hLTlsZtXVfc0f98Au0KKgWwle 5RuSTj+q8NyKkZKZ5x4uAx1r17ghn3EV9RdA/K5s3xDauz7/ZgCM4VimrFGN1nw9+7Sm ow45RfmJspU6F0yXlzzNTRPh0gxiGHBBR23DFJAvfkrOcgzCHSSML99Yr72vv5dQB6Gl OamL6iXO9zjsxbg0Xn8fJpIIcWU2IcwftEG7caAF6RbBVRsGpzqk4JyauteDlMsI1ySX 67qUedhguJQNDtFnABGPz34TBFHnAhJRUOeAXK24rk1EjMkIerpj+0o/gzNyKcUCjbQq C6Hw== 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; bh=n4MWxKLJ2mEngVhhcucO0tz7IR393NcgZWJ1yY5pvlM=; fh=IKNQz29LW3451l+C0ecsziux+gJJPCG7IR7iNf2+b4k=; b=ADd4BZm9/tqEikm7YRS0LlDfvg0gaMsaEhWxBt9sYTtL1xRGGnlGMU+NzwSTwXYIMa pxDOg1m8oruSlyIU8h812JiyE6ER7SgwBr7fm/JIR1Tki1ouTZf3M8qnw8eMpINrbbYH NEAN02c3vjKrqFhcRj7DylheZblPVBfUs/oKYLdmxxisITymD039Yp0BIde4EOTuOd7D EKp2aUbg4HPyeG+KyYJx0+AqB5LIEWg4VKvq3XXUJ94JhowHdiTkLLY3VbO/04jNtY18 O+aUj71dp+TSn3RRyJ6eQy9R6+JnQ+lvnunXinvVkOQZXlhJi6aME1XKU1uyB2JUtZ1N mfhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=ViqeLKiV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=fris.de Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id bn17-20020a056a02031100b005c28267ace7si13187347pgb.703.2023.11.28.04.00.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Nov 2023 04:00:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=ViqeLKiV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=fris.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 3107C80D0CC6; Mon, 27 Nov 2023 03:24:43 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233151AbjK0LYe (ORCPT + 99 others); Mon, 27 Nov 2023 06:24:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233118AbjK0LYc (ORCPT ); Mon, 27 Nov 2023 06:24:32 -0500 Received: from mail.fris.de (mail.fris.de [116.203.77.234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D651D1FC8; Mon, 27 Nov 2023 03:24:06 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id D6F82C0159; Mon, 27 Nov 2023 12:24:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fris.de; s=dkim; t=1701084244; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=n4MWxKLJ2mEngVhhcucO0tz7IR393NcgZWJ1yY5pvlM=; b=ViqeLKiVxM44tFzNHhpFOKGDdOwjEuYgCpRUR6BBRf6vb7UrwZDIOnfJJ7/tOSTYAQQk+L aiAIPCE1vpycaeAXizSS2ecd1y0lZfX9r9YNrfT2MiH5uPo5Y/PIKtYZW9GPAKKXoxiYaf tRGkxPb8hPiusbdtM55l6JMpD8BJlBCPZ/0SU8itJzpneKtCaZr/9qtr6A67xZvvpKdRJ/ rjcNNxXtInDMlVqQkq7a7tPJmiQrECB1LnXiXZM+V3DLBOt+hgtU3ZjqokduWqCjgrbvLA Erd+6sEUADQmPGofYUcYt3Pi2GlrqzppsqakbSnRqUdneiNap+Hy9Ef4xkRmgQ== From: Frieder Schrempf To: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Matthias Kaehlcke Cc: Frieder Schrempf , Alexander Stein , Anand Moon , Benjamin Bara , Icenowy Zheng , Jerome Brunet , Marco Felsch , Rob Herring , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= Subject: [RESEND PATCH v2 3/3] usb: misc: onboard_usb_hub: Add support for Cypress CY7C6563x Date: Mon, 27 Nov 2023 12:22:26 +0100 Message-ID: <20231127112234.109073-3-frieder@fris.de> In-Reply-To: <20231127112234.109073-1-frieder@fris.de> References: <20231127112234.109073-1-frieder@fris.de> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Mon, 27 Nov 2023 03:24:43 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783808990810472899 X-GMAIL-MSGID: 1783808990810472899 From: Frieder Schrempf The Cypress CY7C6563x is a 2/4-port USB 2.0 hub. Add support for this hub in the driver in order to bring up reset, supply or clock dependencies. There is no reset pulse width given in the datasheet so we expect a minimal value of 1us to be enough. This hasn't been tested though due to lack of hardware which has the reset connected to a GPIO. Signed-off-by: Frieder Schrempf Acked-by: Matthias Kaehlcke --- Changes in v2: * none --- drivers/usb/misc/onboard_usb_hub.c | 1 + drivers/usb/misc/onboard_usb_hub.h | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c index 0d84b16deab50..0c0b698f008b9 100644 --- a/drivers/usb/misc/onboard_usb_hub.c +++ b/drivers/usb/misc/onboard_usb_hub.c @@ -441,6 +441,7 @@ static void onboard_hub_usbdev_disconnect(struct usb_device *udev) static const struct usb_device_id onboard_hub_id_table[] = { { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6504) }, /* CYUSB33{0,1,2}x/CYUSB230x 3.0 */ { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6506) }, /* CYUSB33{0,1,2}x/CYUSB230x 2.0 */ + { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6570) }, /* CY7C6563x 2.0 */ { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */ { USB_DEVICE(VENDOR_ID_GENESYS, 0x0610) }, /* Genesys Logic GL852G USB 2.0 */ { USB_DEVICE(VENDOR_ID_GENESYS, 0x0620) }, /* Genesys Logic GL3523 USB 3.1 */ diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h index c4e24a7b92904..67b2cc1e15e67 100644 --- a/drivers/usb/misc/onboard_usb_hub.h +++ b/drivers/usb/misc/onboard_usb_hub.h @@ -31,6 +31,11 @@ static const struct onboard_hub_pdata cypress_hx3_data = { .num_supplies = 2, }; +static const struct onboard_hub_pdata cypress_hx2vl_data = { + .reset_us = 1, + .num_supplies = 1, +}; + static const struct onboard_hub_pdata genesys_gl850g_data = { .reset_us = 3, .num_supplies = 1, @@ -54,6 +59,7 @@ static const struct of_device_id onboard_hub_match[] = { { .compatible = "usb451,8142", .data = &ti_tusb8041_data, }, { .compatible = "usb4b4,6504", .data = &cypress_hx3_data, }, { .compatible = "usb4b4,6506", .data = &cypress_hx3_data, }, + { .compatible = "usb4b4,6570", .data = &cypress_hx2vl_data, }, { .compatible = "usb5e3,608", .data = &genesys_gl850g_data, }, { .compatible = "usb5e3,610", .data = &genesys_gl852g_data, }, { .compatible = "usb5e3,620", .data = &genesys_gl852g_data, },