From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C13F6C433DF for ; Mon, 13 Jul 2020 05:52:53 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 83D772073A for ; Mon, 13 Jul 2020 05:52:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="e5uFb0d4"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="bzclSa4F" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 83D772073A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=oZkzSlYTRnI34S11Q5TxgsYHx4GntvWx9exFjQsMBPU=; b=e5uFb0d4OqITmZJvTfLhz3U5o N2/KwoonrJTb8XmJnd6OitWXQqpmd58KkjBOvJ/VCKRJ8UooukEi/d88+hoyG0sl+gjrlwQ3uigpX cIjFkVWnPKdS1RQHt/3l2EewkYHgzQDzwZuXwKyUFQtfkvfKrQtu5R6uve9csnxHPc4jtplCGjhzy vWWq7/qmZmwJ7eyjGzTDfE2RzBAdRdGLMCUnunLeJ9aExzkOPK2MaRi17ZhOe+vCi/1oQNtHbmdSP 24IQA3XD2o22u33FK4rc0vNlmktREfCrTFiaIuTlG27MxtsXBXluxjKvCOQ2AUXdSE/p4sdNOEbLB cwXebdkdg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jurNC-0006Lm-BP; Mon, 13 Jul 2020 05:51:30 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jurN9-0006Kx-Cp for linux-arm-kernel@lists.infradead.org; Mon, 13 Jul 2020 05:51:28 +0000 Received: from localhost (unknown [122.182.251.219]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CF8C720724; Mon, 13 Jul 2020 05:51:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594619486; bh=WqjUMsam9TwPcBeZzSP9ccMJT5xrxITFuIxjeD2l9z4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bzclSa4FVIcYVTzLrOLcMdpqeHRmywH5zXkJj3m51Gm4gcCcmdmamqHjrcXaBk6xv FO+yEJOG1q8pQz/iLG0RiGvnana22+gsx5JVGzWM6YC1DL0cOrJjqxqaT2GHGSloQh z8/XjUQOgqY2hP9u8XwPSw8iGw1WKN7ww8YxOO2Q= Date: Mon, 13 Jul 2020 11:21:22 +0530 From: Vinod Koul To: =?iso-8859-1?Q?=C1lvaro_Fern=E1ndez?= Rojas Subject: Re: [PATCH v5 2/2] phy: bcm63xx-usbh: Add BCM63xx USBH driver Message-ID: <20200713055122.GA34333@vkoul-mobl> References: <20200619100035.4032596-1-noltari@gmail.com> <20200619100035.4032596-3-noltari@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200619100035.4032596-3-noltari@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200713_015127_556573_88938A2D X-CRM114-Status: GOOD ( 19.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, gregkh@linuxfoundation.org, simon@fire.lp0.eu, alcooperx@gmail.com, linux-kernel@vger.kernel.org, krzk@kernel.org, kishon@ti.com, robh+dt@kernel.org, bcm-kernel-feedback-list@broadcom.com, p.zabel@pengutronix.de, jonas.gorski@gmail.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 19-06-20, 12:00, =C1lvaro Fern=E1ndez Rojas wrote: > Add BCM63xx USBH PHY driver for BMIPS. > = > Signed-off-by: =C1lvaro Fern=E1ndez Rojas > --- > v5: use devm_reset_control_get_exclusive. > v4: several improvements: > - Use devm_platform_ioremap_resource. > - Code cleanups. > - Improve device mode config: > - Move USBH_SWAP_CONTROL device mode value to variant variable. > - Set USBH_UTMI_CONTROL1 register value (variant variable). > v3: introduce changes suggested by Florian: > - Add support for device mode. > v2: introduce changes suggested by Florian: > - Drop OF dependency (use device_get_match_data). > - Drop __initconst from variant tables. > - Use devm_clk_get_optional. > = > drivers/phy/broadcom/Kconfig | 9 + > drivers/phy/broadcom/Makefile | 1 + > drivers/phy/broadcom/phy-bcm63xx-usbh.c | 457 ++++++++++++++++++++++++ > 3 files changed, 467 insertions(+) > create mode 100644 drivers/phy/broadcom/phy-bcm63xx-usbh.c > = > diff --git a/drivers/phy/broadcom/Kconfig b/drivers/phy/broadcom/Kconfig > index b29f11c19155..a7889df8c541 100644 > --- a/drivers/phy/broadcom/Kconfig > +++ b/drivers/phy/broadcom/Kconfig > @@ -2,6 +2,15 @@ > # > # Phy drivers for Broadcom platforms > # > +config PHY_BCM63XX_USBH > + tristate "BCM63xx USBH PHY driver" > + depends on BMIPS_GENERIC || COMPILE_TEST > + select GENERIC_PHY > + default BMIPS_GENERIC you depend on BMIPS_GENERIC and also use as default? > +static int __init bcm63xx_usbh_phy_probe(struct platform_device *pdev) > +{ > + struct device *dev =3D &pdev->dev; > + struct bcm63xx_usbh_phy *usbh; > + const struct bcm63xx_usbh_phy_variant *variant; > + struct phy *phy; > + struct phy_provider *phy_provider; > + > + usbh =3D devm_kzalloc(dev, sizeof(*usbh), GFP_KERNEL); > + if (!usbh) > + return -ENOMEM; > + > + variant =3D device_get_match_data(dev); > + if (!variant) > + return -EINVAL; > + usbh->variant =3D variant; > + > + usbh->base =3D devm_platform_ioremap_resource(pdev, 0); > + if (IS_ERR(usbh->base)) > + return PTR_ERR(usbh->base); > + > + usbh->reset =3D devm_reset_control_get_exclusive(dev, NULL); > + if (IS_ERR(usbh->reset)) { > + if (PTR_ERR(usbh->reset) !=3D -EPROBE_DEFER) > + dev_err(dev, "failed to get reset\n"); > + return PTR_ERR(usbh->reset); > + } > + > + usbh->usbh_clk =3D devm_clk_get_optional(dev, "usbh"); > + if (IS_ERR(usbh->usbh_clk)) > + return PTR_ERR(usbh->usbh_clk); > + > + usbh->usb_ref_clk =3D devm_clk_get_optional(dev, "usb_ref"); > + if (IS_ERR(usbh->usb_ref_clk)) > + return PTR_ERR(usbh->usb_ref_clk); > + > + phy =3D devm_phy_create(dev, NULL, &bcm63xx_usbh_phy_ops); > + if (IS_ERR(phy)) { > + dev_err(dev, "failed to create PHY\n"); > + return PTR_ERR(phy); > + } > + > + platform_set_drvdata(pdev, usbh); > + phy_set_drvdata(phy, usbh); > + > + phy_provider =3D devm_of_phy_provider_register(dev, > + bcm63xx_usbh_phy_xlate); > + if (IS_ERR(phy_provider)) { > + dev_err(dev, "failed to register PHY provider\n"); > + return PTR_ERR(phy_provider); > + } > + > + dev_info(dev, "Registered BCM63xx USB PHY driver\n"); debug level? -- = ~Vinod _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel