lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BYAPR02MB58960AA4C87C76223C04D71BC1260@BYAPR02MB5896.namprd02.prod.outlook.com>
Date:   Wed, 9 Sep 2020 09:14:05 +0000
From:   Manish Narani <MNARANI@...inx.com>
To:     Felipe Balbi <balbi@...nel.org>,
        "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
        "robh+dt@...nel.org" <robh+dt@...nel.org>,
        Michal Simek <michals@...inx.com>,
        "p.zabel@...gutronix.de" <p.zabel@...gutronix.de>
CC:     "linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
        "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
        "linux-arm-kernel@...ts.infradead.org" 
        <linux-arm-kernel@...ts.infradead.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        git <git@...inx.com>
Subject: RE: [PATCH 2/2] usb: dwc3: Add driver for Xilinx platforms

Hi Felipe,

Thanks for the response.

> -----Original Message-----
> From: Felipe Balbi <balbi@...nel.org>
> Sent: Tuesday, September 1, 2020 5:45 PM
> 
> >> > +		goto err;
> >> > +	}
> >> > +
> >> > +	ret = dwc3_xlnx_rst_assert(priv_data->apbrst);
> >> > +	if (ret < 0) {
> >> > +		dev_err(dev, "%s: %d: Failed to assert reset\n",
> >> > +			__func__, __LINE__);
> >>
> >> 		dev_err(dev, "Failed to assert APB reset\n");
> >>
> >> > +		goto err;
> >> > +	}
> >> > +
> >> > +	ret = phy_init(priv_data->usb3_phy);
> >>
> >> dwc3 core should be handling this already
> >
> > The USB controller used in Xilinx ZynqMP platform uses xilinx GT phy
> > which has 4 GT lanes and can used by 4 peripherals at a time.
> 
> At the same time or are they mutually exclusive?

The lanes are mutually exclusive.

 [...]
> >> > +	if (ret < 0) {
> >> > +		dev_err(dev, "%s: %d: Failed to release reset\n",
> >> > +			__func__, __LINE__);
> >> > +		goto err;
> >> > +	}
> >> > +
> >> > +	/* Set PIPE power present signal */
> >> > +	writel(PIPE_POWER_ON, priv_data->regs + PIPE_POWER_OFFSET);
> >> > +
> >> > +	/* Clear PIPE CLK signal */
> >> > +	writel(PIPE_CLK_OFF, priv_data->regs + PIPE_CLK_OFFSET);
> >>
> >> shouldn't this be hidden under clk_enable()?
> >
> > Though its naming suggests something related to clock framework, it is
> > a register in the Xilinx USB controller space which configures the
> > PIPE clock coming from Serdes.
> 
> PIPE clock is a clock. It just so happens that the source is the PHY
> itself.

This bit is used to choose between PIPE clock coming from SerDes
and the Suspend Clock. When the controller is out of reset, this bit
needs to be reset in order to make the USB controller work. This
register is added in Xilinx USB controller register space. I will
add more description about the same in v2.

Thanks,
Manish

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ