[U-Boot] [PATCH v2 1/7] usb: xhci-rockchip: add rockchip dwc3 controller driver

Kever Yang kever.yang at rock-chips.com
Wed Aug 24 05:06:45 CEST 2016


Hi Marek,

On 08/19/2016 06:52 PM, Marek Vasut wrote:
> On 08/19/2016 09:19 AM, Kever Yang wrote:
>> From: MengDongyang <daniel.meng at rock-chips.com>
>>
>> This patch add support for rockchip dwc3 controller, which corresponding
>> to the two type-C port on rk3399 evb.
>> Only support usb2.0 currently for we have not enable the usb3.0 phy
>> driver and PD(fusb302) driver.
>>
>> Signed-off-by: MengDongyang <daniel.meng at rock-chips.com>
>> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
> Hi,
>
> [...]
>
>> +static void rockchip_dwc3_phy_setup(struct dwc3 *dwc3_reg,
>> +				    struct rockchip_xhci *rockchip)
>> +{
>> +	u32 reg;
>> +	const void *blob = gd->fdt_blob;
>> +	struct udevice *dev = rockchip->dev;
>> +	const struct fdt_property *prop;
>> +	const u32 *data;
>> +
>> +	reg = readl(&dwc3_reg->g_usb3pipectl[0]);
>> +
>> +	/* To do set dwc3 usb3 pipe control */
>> +
>> +	writel(reg, &dwc3_reg->g_usb3pipectl[0]);
> This read - do nothing - write looks suspicious. Is this needed ?

This is for usb3.0 phy, will remove in next version for we not enable 
usb3.0 phy  now.
>
> Also, drop the newline after the comment, it's useless, both above and
> below here.

Will fix in next version.

Thanks,
- Kever
>
>> +	/* Set dwc3 usb2 phy config */
>> +
>> +	reg = readl(&dwc3_reg->g_usb2phycfg[0]);
>> +
>> +	prop = fdt_get_property(blob, dev->of_offset,
>> +				"snps,dis-enblslpm-quirk", NULL);
>> +	if (prop)
>> +		reg &= ~DWC3_GUSB2PHYCFG_ENBLSLPM;
>> +
>> +	prop = fdt_get_property(blob, dev->of_offset,
>> +				"snps,phyif-utmi-bits", NULL);
>> +	data = (u32 *)prop->data;
>> +	if (fdt32_to_cpu(*data) == 16) {
>> +		reg |= DWC3_GUSB2PHYCFG_PHYIF;
>> +		reg &= ~DWC3_GUSB2PHYCFG_USBTRDTIM_MASK;
>> +		reg |= 5 << DWC3_GUSB2PHYCFG_USBTRDTIM_OFFSET;
>> +	} else if (fdt32_to_cpu(*data) == 8) {
>> +		reg &= ~DWC3_GUSB2PHYCFG_PHYIF;
>> +		reg &= ~DWC3_GUSB2PHYCFG_USBTRDTIM_MASK;
>> +		reg |= 9 << DWC3_GUSB2PHYCFG_USBTRDTIM_OFFSET;
>> +	}
>> +
>> +	prop = fdt_get_property(blob, dev->of_offset,
>> +				"snps,dis-u2-freeclk-exists-quirk", NULL);
>> +	if (prop)
>> +		reg &= ~DWC3_GUSB2PHYCFG_U2_FREECLK_EXISTS;
>> +
>> +	prop = fdt_get_property(blob, dev->of_offset,
>> +				"snps,dis-u2-susphy-quirk", NULL);
>> +	if (prop)
>> +		reg &= ~DWC3_GUSB2PHYCFG_SUSPHY;
>> +
>> +	writel(reg, &dwc3_reg->g_usb2phycfg[0]);
>> +}
> [...]
>




More information about the U-Boot mailing list