[U-Boot] [PATCH v3 2/4] board: evb-rk3399: add api to support dwc3 gadget

Kever Yang kever.yang at rock-chips.com
Fri Sep 2 11:50:15 CEST 2016


Hi Marek,

On 09/01/2016 04:58 PM, Marek Vasut wrote:
> On 09/01/2016 04:21 AM, Kever Yang wrote:
>> Hi Marek,
>>
>> On 08/31/2016 08:30 PM, Marek Vasut wrote:
>>> On 08/31/2016 10:40 AM, Kever Yang wrote:
>>>> This patch add board_usb_init() and interrupt callback
>>>> for dwc3 gadget.
>>>>
>>>> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
>>>> ---
>>>>
>>>> Changes in v3:
>>>> - remove utmi width DT parse from borad init
>>> OK
>>>
>>>> Changes in v2:
>>>> - parse dt for utmi width
>>>>
>>>>    board/rockchip/evb_rk3399/evb-rk3399.c | 23 +++++++++++++++++++++++
>>>>    1 file changed, 23 insertions(+)
>>>>
>>>> diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c
>>>> b/board/rockchip/evb_rk3399/evb-rk3399.c
>>>> index d394276..0d39902 100644
>>>> --- a/board/rockchip/evb_rk3399/evb-rk3399.c
>>>> +++ b/board/rockchip/evb_rk3399/evb-rk3399.c
>>>> @@ -7,6 +7,8 @@
>>>>    #include <dm.h>
>>>>    #include <dm/pinctrl.h>
>>>>    #include <asm/arch/periph.h>
>>>> +#include <usb.h>
>>>> +#include <dwc3-uboot.h>
>>>>      DECLARE_GLOBAL_DATA_PTR;
>>>>    @@ -54,3 +56,24 @@ void dram_init_banksize(void)
>>>>        gd->bd->bi_dram[0].start = 0x200000;
>>>>        gd->bd->bi_dram[0].size = 0x80000000;
>>>>    }
>>>> +
>>>> +#ifdef CONFIG_USB_DWC3
>>>> +static struct dwc3_device dwc3_device_data = {
>>>> +    .maximum_speed = USB_SPEED_HIGH,
>>>> +    .base = 0xfe800000,
>>>> +    .dr_mode = USB_DR_MODE_PERIPHERAL,
>>>> +    .index = 0,
>>>> +    .dis_u2_susphy_quirk = 1,
>>>> +};
>>> Uh, didn't I complain last time that this should come from DT
>>> and not platdata ?
>> Since I'm not able to remove the platdata, I thought maybe I can init those
>> features here, I will parse DT for maximum_speed, base, and
>> dis_u2_susphy_quirk
>> in next version.
> Why aren't you able to remove the platdata ?
Because this platdata is not only used by Rockchip SoC, but also used 
for many different SoC like
exynos5, zynqmp, and ti SoCs, and the dts node for dwc3 gadget in these 
SoCs are totally different.

Maybe maintainer like you are the one able to enable the DM for usb/dwc3 
gadget, get the all
the information from DT and update for all the platforms?

I'm happy to test on rk3399-evb, but I don't have boards for other SoC.

Thanks,
- Kever



More information about the U-Boot mailing list