From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kever Yang Date: Thu, 01 Sep 2016 10:21:28 +0800 Subject: [U-Boot] [PATCH v3 2/4] board: evb-rk3399: add api to support dwc3 gadget In-Reply-To: <3bae92de-7c1c-e1c0-4ec0-2eea0bc99b7f@denx.de> References: <1472632802-28601-1-git-send-email-kever.yang@rock-chips.com> <1472632802-28601-3-git-send-email-kever.yang@rock-chips.com> <3bae92de-7c1c-e1c0-4ec0-2eea0bc99b7f@denx.de> Message-ID: <57C790A8.9070706@rock-chips.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >> --- >> >> 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 >> #include >> #include >> +#include >> +#include >> >> 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. Thanks, - Kever >> +int usb_gadget_handle_interrupts(void) >> +{ >> + dwc3_uboot_handle_interrupt(0); >> + return 0; >> +} >> + >> +int board_usb_init(int index, enum usb_init_type init) >> +{ >> + return dwc3_uboot_init(&dwc3_device_data); >> +} >> +#endif >> >