From patchwork Mon Nov 27 11:13:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frieder Schrempf X-Patchwork-Id: 170091 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3015058vqx; Mon, 27 Nov 2023 03:14:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IHvWdYTx4POgJt9bYD0LODVNuiezJz3C+8gK3U2r4P6xWwZ4FrFwTVN50+/92jPfPFlPx+/ X-Received: by 2002:a05:6808:1b25:b0:3b5:75ad:5b73 with SMTP id bx37-20020a0568081b2500b003b575ad5b73mr15484117oib.13.1701083698500; Mon, 27 Nov 2023 03:14:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701083698; cv=none; d=google.com; s=arc-20160816; b=YMl53yNSNSkbAJ4NqRKy1J87sq9pvIM4Vo16O3zCcBS2JlAqFrioWsQdPhv22mtaWz tvwP4YMXZxucTBJ8LPuuad0kL+SFe68/tlSKrOrrsWd6EQ3+Z6cgUzaThhnUzSDNYNTk Zn/sknAbDzt9bf2w6TGH6DVzrrpOz6jTcuNhl9Zr4+7GafG73tFiG6nGrnpcG34ezdDh Fjmc84nbrhAh4tMC6eKFYnrJIHBUxp6OTtoG8a01XIZ35O7Y/WDO3NoqsEPFuq+ymw/A m4wcjyrWguPS4kYb5Cga3c4TksQ53lxXp6xev56w2WCqvO/MV/YKfyrU+LTy4jLDBc11 IeTA== 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=7CO+7Jt96CK2yBTf7tvZWW3DlJ5ejuT4hHCWSoNlm4U=; b=Z52gBZg3gqvTuygbma/vZ5zh6viTyqpe6+idi0+xNR4KmXddCOPNDHL37eyTedx+Rc 3bVX1OenAEK62NpS2Peol+fMc0I/SI/e0nTWon9QMNyCToNxCsOOunsYVfGzCD7L0ZuP FKVoMFvGLziihXvwiXFPmZZOFEZ4QoRa4ugLfDEnhtWnTw+YLqMiku4zytMOtR/yNi8W AIOGAKo7LcDuwztW9ngQHuGBa5dP+4hY/B9EiwnS4YXcUa7JSiTrznBvaCeExIYfVaHz fIuUfBA9UNpYjD2opoTx97jbWAS6ltftbsJ9sRoFwlWL5+STqSdpxesRy61uc2SdRCCL ddFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=qa+lUfhG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id a5-20020a630b45000000b005859aec9406si9700555pgl.16.2023.11.27.03.14.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 03:14:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=qa+lUfhG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (Postfix) with ESMTP id BF4428050FAF; Mon, 27 Nov 2023 03:14:51 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232997AbjK0LOl (ORCPT + 99 others); Mon, 27 Nov 2023 06:14:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52676 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232624AbjK0LOk (ORCPT ); Mon, 27 Nov 2023 06:14:40 -0500 Received: from mail.fris.de (unknown [IPv6:2a01:4f8:c2c:390b::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25C5DB8; Mon, 27 Nov 2023 03:14:45 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 82235BFC75; Mon, 27 Nov 2023 12:14:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fris.de; s=dkim; t=1701083681; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding; bh=lIwxznIaQ/Q1UMhEJA7Uobh5avUf1uO3muzdBhAnjx8=; b=qa+lUfhGMubLGaou1/eMPZmlh3vVzmAHWKAXTggKTkoF0hCuFsSCXibUdO5L7U6zJneAjX hySObMmc3XVsDdC0qKJhfLx60Kq1A7Q5FdrZWHRpbeOEa6b6ZOzN1lWtNP+DXroo/qaSje xIv/YOruSKYOMTaUK4HY4pb0V5AFlN2JF/9NWp+RgtwGqXy90OfkILyQQm4lNqKpH83ypu 6EVj9tchg43WPFkojxiG1Irwc53Tf2u9631wwLoyRWEsCTJJmN2ZaKoDkaj9plWLlY7obS wwyMtEuiQveZOH+Rs+qfebNhJXlUVy848MfL9nv4zedCRPNlu1g8BWIRCyARyQ== 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 , Rob Herring , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= Subject: [PATCH 1/3] usb: misc: onboard_usb_hub: Print symbolic error names Date: Mon, 27 Nov 2023 12:13:22 +0100 Message-ID: <20231127111332.107640-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 howler.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 (howler.vger.email [0.0.0.0]); Mon, 27 Nov 2023 03:14:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783715540349310098 X-GMAIL-MSGID: 1783715540349310098 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 --- 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:13:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frieder Schrempf X-Patchwork-Id: 170090 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3015042vqx; Mon, 27 Nov 2023 03:14:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IHn4634W/Ls4yxfTTtUnMhQM+JvpQ7Z03rzNdj8a3Pm34K1Zw23YANiHV04CfrKMPqo82Hd X-Received: by 2002:a05:6a00:1d88:b0:6cb:d24b:878a with SMTP id z8-20020a056a001d8800b006cbd24b878amr11066491pfw.25.1701083696667; Mon, 27 Nov 2023 03:14:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701083696; cv=none; d=google.com; s=arc-20160816; b=rQiJ/40t09aM1L5ruIo5h7DfJ/NS+k5ERn3QT18eO9HNsTbrA3DpuJIW5r8MXgn2MJ 9c1zN5c0aGgmvTVTHVXVh0SIxI7Odd3FaUo27hQCALH54P1ws4k+5d1cZh6RmyZySXPs cGsIBM6wP0xO54uRplD4d2fg7SSAFExNG037+p05Q/et4LizKMqAPJwAlJnik/HLZT/I Ry2EsESagz6wXL46U/vPVQXkJlkKDmIwNn78MFROZ2CjGS5YNJqWAP20rfwFJ3ouK5Ly pJC1fe9Bd6uP4erzYDtkYzxj7ynahZCPfShQUYcjXXd1IQmsbpc3zxouXXUT7nuOwXjI wn+w== 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=xnW9/g5OnLGMpdk/jzvR9SYtmrDgMKwK6bJa+xpdmYyeBiy78gqVEB7YJv0KUzAiBZ hilcO4aHvqa7AlnJiljGwVikU0K3DLe7wg73tQEG57OXE1UlCvV+yOW3+SF+OL1uja40 o/8CTC9y2WsTzCSnXQMTjlJVt6/2GRwjUpPxsa5wo+XnlriQTb7du+xFDXevx+5qteP6 n12+wxxLn5CsqeOfap5imrrOL3uheqQI1e6snaE/IMBM77hOJ5yRs6udS0D0jfXZ+5r4 U6lIN3kIIaR42eWQ4xEHFGcq8ZcBGckGpDIDh9/X+q8HzmEHG0rtIw+BXxUE2qyG6p+g ZePA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=jxYmtFaH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id u2-20020a056a00158200b0068fcf6fe22csi10103779pfk.304.2023.11.27.03.14.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 03:14:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=jxYmtFaH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id BE65E805F958; Mon, 27 Nov 2023 03:14:55 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233054AbjK0LOn (ORCPT + 99 others); Mon, 27 Nov 2023 06:14:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232680AbjK0LOk (ORCPT ); Mon, 27 Nov 2023 06:14:40 -0500 Received: from mail.fris.de (unknown [IPv6:2a01:4f8:c2c:390b::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BB5F135; Mon, 27 Nov 2023 03:14:45 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 8BE47BFC84; Mon, 27 Nov 2023 12:14:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fris.de; s=dkim; t=1701083683; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=TtObVw8YUfhzjUng8rafUVONqr/7XfXzj8lQVXj7nE0=; b=jxYmtFaHcFe41GJCnvC8Svwbkg37mJSpLm4qO1gWbAUTUnCKPGDd/hmADPdkZVlCPbj9Yz XfaExWSgaDJjsOMoiegizQh/Uq5LR/kbSQJWPviolY4cGf8iOIv2z3CMlFimdib+JcBSae 92Qh/DjGEMidH1hik5T5vXjgzoj0DcYUx5cuyMTXdVgWj1LVoHjenRz+owFiPqQNOGM7Mz tOX1PQwTmbwmuol9ZbavI5zEzgGM0OwTGbGqB4UWs8H1SgODkYkXrnP6W5jIjqVK4qyXJJ mPTbcD45rm6pBKMsycvoCwe9AtFPrH4SbcGfAgkJYmRcsknwltMCMODqMi+s0g== 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: [PATCH 2/3] usb: misc: onboard_usb_hub: Add support for clock input Date: Mon, 27 Nov 2023 12:13:23 +0100 Message-ID: <20231127111332.107640-2-frieder@fris.de> In-Reply-To: <20231127111332.107640-1-frieder@fris.de> References: <20231127111332.107640-1-frieder@fris.de> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NEUTRAL,T_SCC_BODY_TEXT_LINE autolearn=no 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 27 Nov 2023 03:14:55 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783715538517322600 X-GMAIL-MSGID: 1783715538517322600 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 --- 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:13: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: 170092 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3015498vqx; Mon, 27 Nov 2023 03:15:32 -0800 (PST) X-Google-Smtp-Source: AGHT+IGXUEv5kYIdwziRoK5Uum0zoXVGxDaLgf1Td1ZaN/qkObhM7Y99Nv0JoebQygxRZcSALXUG X-Received: by 2002:a17:903:1cf:b0:1cf:a272:801b with SMTP id e15-20020a17090301cf00b001cfa272801bmr15686794plh.4.1701083732130; Mon, 27 Nov 2023 03:15:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701083732; cv=none; d=google.com; s=arc-20160816; b=ZToU65K31Rq45CjC1wclT2zojoqgSMzilM44k+wTKpMLc7NJ7SNUUVCn7iv0mUTvr0 +cl2Ak14f10nsuBvXv7k25IohZn/yPycJ28BmJloO5D4RYRgIn0RITGLE81LhZAirAlF 0M46ocAOEmw0ZdzJJBhper965qSY6LpCRu9Q+F93RCINtmjqFoQ5V/vI596Qk45lQxZv kKvun/IZ3UE9JuqY0awW/tRWb3nUQSHMbbkYPxXeB6MIoIMRbxPuiWeG1CoMaZTMlz+V tIDiNYGOJy7JkZQsfu+kxU4YqIWFhXnEtHv/7k+7L9eSyFYrXCFKqB2qQmq5aPNhHAQU 8ziA== 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=h9wpb56iD145JCiOSUChweoYLAqmk+qCIloglmnkYgI=; b=qEdeaFzJBou163QOq2iI0bW1zpTcNnQNei5plpoPMQ4n4Y1l+4cxmmYrwilk7r3MLW 92rSdeQe4fhhJseCZPPfEcIVGtihSJZvf5O9ImWjuDRgvHX43r6FjEEFexUV0mjRmcOO e7xQIdREtqtru47zNrBluHPyv1lscx5FJ64ngxgkMW9UTWN9O/UJwkcuCSdxcMmHXvcX 3nMdiXPHSkd8JK5dZBZexMtlU1Wz4h7bR5DmhgSMtysrhqfwztG5dodTwod/AacPo8lM BItP4Qdy1TrWAtJuouvIzpQrnInBmusoyR7S3qiJJ5bw/OKNwomLMVNXdSe0omoc6ljo Jelw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=jB5NtgEQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id y7-20020a1709029b8700b001cf89e6cabdsi8884836plp.19.2023.11.27.03.15.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 03:15:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@fris.de header.s=dkim header.b=jB5NtgEQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (Postfix) with ESMTP id 51FBC8093D5A; Mon, 27 Nov 2023 03:15:06 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233092AbjK0LOr (ORCPT + 99 others); Mon, 27 Nov 2023 06:14:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233082AbjK0LOn (ORCPT ); Mon, 27 Nov 2023 06:14:43 -0500 Received: from mail.fris.de (mail.fris.de [116.203.77.234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B428C136; Mon, 27 Nov 2023 03:14:49 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E1D53C00A1; Mon, 27 Nov 2023 12:14:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fris.de; s=dkim; t=1701083687; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=n4MWxKLJ2mEngVhhcucO0tz7IR393NcgZWJ1yY5pvlM=; b=jB5NtgEQ4dRybbSOrm2OELM7oJ9wR7dw9UlbJ74nBPs7qULp0yj5TbyvNl3aoYhzhsMTZn U7M6CjKocJnfHdpM5DYRd3n6AY70/xn9xsyyL6r1bXwh1gMadELCxB0TkYTIrZAi/3HyZw C9z0Y2biKEGz1mEIReY2qyqAByL/oK7FaP0rPw6ItV2R7AY6lPhUR7iDMrXqOY3jr9l8JS 4+sb4Jzra0LdrMaZAy7COXlmwTKVaKQyoJ/tuZF5edYbLAij1lg/XuvaIsf3u9t3MuetVS /0SjAJpcOP3aEqnUdIEn6mSNSeQDRJdBNTKfLSHk0Vd8fTxCzMmqrofEfJ9Q5Q== 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 , Rob Herring , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= Subject: [PATCH 3/3] usb: misc: onboard_usb_hub: Add support for Cypress CY7C6563x Date: Mon, 27 Nov 2023 12:13:24 +0100 Message-ID: <20231127111332.107640-3-frieder@fris.de> In-Reply-To: <20231127111332.107640-1-frieder@fris.de> References: <20231127111332.107640-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 agentk.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 (agentk.vger.email [0.0.0.0]); Mon, 27 Nov 2023 03:15:07 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783715575716315949 X-GMAIL-MSGID: 1783715575716315949 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 --- 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, },