From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kever Yang Subject: Re: [PATCH v2 09/10] rockchip: Setup dwc3_device (for non-dm gadgets) Date: Sat, 23 Nov 2019 23:37:18 +0800 Message-ID: <62d009ed-8ef4-4fc6-67ff-ca28af94f501@rock-chips.com> References: <20191119082623.6165-1-jagan@amarulasolutions.com> <20191119082623.6165-10-jagan@amarulasolutions.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191119082623.6165-10-jagan@amarulasolutions.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" To: Jagan Teki , Simon Glass , Philipp Tomsich Cc: Marek Vasut , u-boot@lists.denx.de, linux-amarula@amarulasolutions.com, linux-rockchip@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org SmFnYW4sCgpPbiAyMDE5LzExLzE5IOS4i+WNiDQ6MjYsIEphZ2FuIFRla2kgd3JvdGU6Cj4gU2V0 dXAgZHdjM19kZXZpY2Ugc3RydWN0dXJlIGZvciBub24tZG0gZ2FkZ2V0cywgd2hpY2ggaXMgdXNl ZAo+IGluIHJrMzM5OSBwbGF0Zm9ybXMuCj4KPiBkd2MzX2RldmljZSB3b3VsZCBoYXZlIGJhc2lj IHJlZ2Jhc2UsIGRyX21vZGUsIGhpZ2ggc3BlZWQKPiBhbmQgMTYtYml0IFVUTUkrIGV0Yy4KPgo+ IENjOiBNYXJlayBWYXN1dCA8bWFyZXhAZGVueC5kZT4KPiBUZXN0ZWQtYnk6IExldmluIER1IDxk andAdC1jaGlwLmNvbS5jbj4KPiBTaWduZWQtb2ZmLWJ5OiBKYWdhbiBUZWtpIDxqYWdhbkBhbWFy dWxhc29sdXRpb25zLmNvbT4KPiAtLS0KPiAgIGFyY2gvYXJtL21hY2gtcm9ja2NoaXAvYm9hcmQu YyB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gICAxIGZpbGUgY2hhbmdl ZCwgMzAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9hcmNo L2FybS9tYWNoLXJvY2tjaGlwL2JvYXJkLmMgYi9hcmNoL2FybS9tYWNoLXJvY2tjaGlwL2JvYXJk LmMKPiBpbmRleCBjOTBlYjk3NmQwLi41NDI4MjNiOGNkIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJt L21hY2gtcm9ja2NoaXAvYm9hcmQuYwo+ICsrKyBiL2FyY2gvYXJtL21hY2gtcm9ja2NoaXAvYm9h cmQuYwo+IEBAIC00OSw4ICs0OSwxMCBAQCB2b2lkIGVuYWJsZV9jYWNoZXModm9pZCkKPiAgIH0K PiAgICNlbmRpZgo+ICAgCj4gLSNpZiBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUKSAmJiBkZWZp bmVkKENPTkZJR19VU0JfR0FER0VUX0RXQzJfT1RHKQo+ICsjaWYgZGVmaW5lZChDT05GSUdfVVNC X0dBREdFVCkKPiAgICNpbmNsdWRlIDx1c2IuaD4KPiArCj4gKyNpZiBkZWZpbmVkKENPTkZJR19V U0JfR0FER0VUX0RXQzJfT1RHKQo+ICAgI2luY2x1ZGUgPHVzYi9kd2MyX3VkYy5oPgo+ICAgCj4g ICBzdGF0aWMgc3RydWN0IGR3YzJfcGxhdF9vdGdfZGF0YSBvdGdfZGF0YSA9IHsKPiBAQCAtMTE3 LDcgKzExOSwzMyBAQCBpbnQgYm9hcmRfdXNiX2NsZWFudXAoaW50IGluZGV4LCBlbnVtIHVzYl9p bml0X3R5cGUgaW5pdCkKPiAgIHsKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAtI2VuZGlmCj4gKyNl bmRpZiAvKiBDT05GSUdfVVNCX0dBREdFVF9EV0MyX09URyAqLwo+ICsKPiArI2lmIGRlZmluZWQo Q09ORklHX1VTQl9EV0MzKSAmJiAhZGVmaW5lZChDT05GSUdfRE1fVVNCX0dBREdFVCkKCkkgYmVs aWV2ZSB3ZSBzaG91bGQgdXNlIENPTkZJR19VU0JfRFdDM19HQURHRVQgaW5zdGVhZCBvZiBDT05G SUdfVVNCX0RXQzMuCgpUaGlzIHBhdGNoIGNhdXNlIGJlbG93IGVycm9yOgoKIMKgwqAgYWFyY2g2 NDrCoCArwqDCoCByb2NrNjQtcmszMzI4CithcmNoL2FybS9tYWNoLXJvY2tjaGlwL2JvYXJkLmM6 MTQyOjU6IGVycm9yOiByZWRlZmluaXRpb24gb2YgCuKAmGJvYXJkX3VzYl9pbml04oCZCisgaW50 IGJvYXJkX3VzYl9pbml0KGludCBpbmRleCwgZW51bSB1c2JfaW5pdF90eXBlIGluaXQpCivCoMKg wqDCoCBefn5+fn5+fn5+fn5+fgorYXJjaC9hcm0vbWFjaC1yb2NrY2hpcC9ib2FyZC5jOjY0OjU6 IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gb2YgCuKAmGJvYXJkX3VzYl9pbml04oCZIHdhcyBo ZXJlCittYWtlWzJdOiAqKiogW2FyY2gvYXJtL21hY2gtcm9ja2NoaXAvYm9hcmQub10gRXJyb3Ig MQoKVGhhbmtzLAoKLSBLZXZlcgoKPiArI2luY2x1ZGUgPGR3YzMtdWJvb3QuaD4KPiArCj4gK3N0 YXRpYyBzdHJ1Y3QgZHdjM19kZXZpY2UgZHdjM19kZXZpY2VfZGF0YSA9IHsKPiArCS5tYXhpbXVt X3NwZWVkID0gVVNCX1NQRUVEX0hJR0gsCj4gKwkuYmFzZSA9IDB4ZmU4MDAwMDAsCj4gKwkuZHJf bW9kZSA9IFVTQl9EUl9NT0RFX1BFUklQSEVSQUwsCj4gKwkuaW5kZXggPSAwLAo+ICsJLmRpc191 Ml9zdXNwaHlfcXVpcmsgPSAxLAo+ICsJLmhzcGh5X21vZGUgPSBVU0JQSFlfSU5URVJGQUNFX01P REVfVVRNSVcsCj4gK307Cj4gKwo+ICtpbnQgdXNiX2dhZGdldF9oYW5kbGVfaW50ZXJydXB0cyh2 b2lkKQo+ICt7Cj4gKwlkd2MzX3Vib290X2hhbmRsZV9pbnRlcnJ1cHQoMCk7Cj4gKwlyZXR1cm4g MDsKPiArfQo+ICsKPiAraW50IGJvYXJkX3VzYl9pbml0KGludCBpbmRleCwgZW51bSB1c2JfaW5p dF90eXBlIGluaXQpCj4gK3sKPiArCXJldHVybiBkd2MzX3Vib290X2luaXQoJmR3YzNfZGV2aWNl X2RhdGEpOwo+ICt9Cj4gKyNlbmRpZiAvKiBDT05GSUdfVVNCX0RXQzMgKi8KPiArCj4gKyNlbmRp ZiAvKiBDT05GSUdfVVNCX0dBREdFVCAqLwo+ICAgCj4gICAjaWYgQ09ORklHX0lTX0VOQUJMRUQo RkFTVEJPT1QpCj4gICBpbnQgZmFzdGJvb3Rfc2V0X3JlYm9vdF9mbGFnKHZvaWQpCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVS1Cb290IG1haWxpbmcg bGlzdApVLUJvb3RAbGlzdHMuZGVueC5kZQpodHRwczovL2xpc3RzLmRlbnguZGUvbGlzdGluZm8v dS1ib290Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kever Yang Date: Sat, 23 Nov 2019 23:37:18 +0800 Subject: [U-Boot] [PATCH v2 09/10] rockchip: Setup dwc3_device (for non-dm gadgets) In-Reply-To: <20191119082623.6165-10-jagan@amarulasolutions.com> References: <20191119082623.6165-1-jagan@amarulasolutions.com> <20191119082623.6165-10-jagan@amarulasolutions.com> Message-ID: <62d009ed-8ef4-4fc6-67ff-ca28af94f501@rock-chips.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Jagan, On 2019/11/19 下午4:26, Jagan Teki wrote: > Setup dwc3_device structure for non-dm gadgets, which is used > in rk3399 platforms. > > dwc3_device would have basic regbase, dr_mode, high speed > and 16-bit UTMI+ etc. > > Cc: Marek Vasut > Tested-by: Levin Du > Signed-off-by: Jagan Teki > --- > arch/arm/mach-rockchip/board.c | 32 ++++++++++++++++++++++++++++++-- > 1 file changed, 30 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c > index c90eb976d0..542823b8cd 100644 > --- a/arch/arm/mach-rockchip/board.c > +++ b/arch/arm/mach-rockchip/board.c > @@ -49,8 +49,10 @@ void enable_caches(void) > } > #endif > > -#if defined(CONFIG_USB_GADGET) && defined(CONFIG_USB_GADGET_DWC2_OTG) > +#if defined(CONFIG_USB_GADGET) > #include > + > +#if defined(CONFIG_USB_GADGET_DWC2_OTG) > #include > > static struct dwc2_plat_otg_data otg_data = { > @@ -117,7 +119,33 @@ int board_usb_cleanup(int index, enum usb_init_type init) > { > return 0; > } > -#endif > +#endif /* CONFIG_USB_GADGET_DWC2_OTG */ > + > +#if defined(CONFIG_USB_DWC3) && !defined(CONFIG_DM_USB_GADGET) I believe we should use CONFIG_USB_DWC3_GADGET instead of CONFIG_USB_DWC3. This patch cause below error:    aarch64:  +   rock64-rk3328 +arch/arm/mach-rockchip/board.c:142:5: error: redefinition of ‘board_usb_init’ + int board_usb_init(int index, enum usb_init_type init) +     ^~~~~~~~~~~~~~ +arch/arm/mach-rockchip/board.c:64:5: note: previous definition of ‘board_usb_init’ was here +make[2]: *** [arch/arm/mach-rockchip/board.o] Error 1 Thanks, - Kever > +#include > + > +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, > + .hsphy_mode = USBPHY_INTERFACE_MODE_UTMIW, > +}; > + > +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 /* CONFIG_USB_DWC3 */ > + > +#endif /* CONFIG_USB_GADGET */ > > #if CONFIG_IS_ENABLED(FASTBOOT) > int fastboot_set_reboot_flag(void)