[U-Boot] [PATCH V7 4/4] rockchip: rk3288: enable rockusb support on rk3288 based device

Eddie Cai
2017-06-29T00:44:47Z

2017-06-28 15:55 GMT+08:00 Lukasz Majewski <lukma@denx.de>:
> Hi Eddie,
>
>> Hi Lukasz
>>
>> 2017-06-21 15:44 GMT+08:00 Lukasz Majewski <lukma@denx.de>:
>> > Hi Eddie,
>> >
>> >> Hi Eddie,
>> >>
>> >> > 2017-05-31 15:12 GMT+08:00 Lukasz Majewski <lukma@denx.de>:
>> >> > > On Wed, 31 May 2017 10:27:23 +0800
>> >> > > Eddie Cai <eddie.cai.linux@gmail.com> wrote:
>> >> > >
>> >> > >> Hi Lukasz
>> >> > >>
>> >> > >> 2017-05-29 15:51 GMT+08:00 Lukasz Majewski <lukma@denx.de>:
>> >> > >> > Good morning Eddie,
>> >> > >> >
>> >> > >> >> this patch enable rockusb support on rk3288 based device.
>> >> > >> >>
>> >> > >> >> Signed-off-by: Eddie Cai <eddie.cai.linux@gmail.com>
>> >> > >> >> Reviewed-by: Simon Glass <sjg@chromium.org>
>> >> > >> >>
>> >> > >> >
>> >> > >> > I've give this patch set a try on travisCI:
>> >> > >> >
>> >> > >> > https://travis-ci.org/lmajewski/u-boot-dfu/jobs/237068149
>> >> > >> >
>> >> > >> > Unfortunately, there are some problem with following boards:
>> >> > >> >
>> >> > >> > chromebook_jerry, chromebook_minnie ...
>> >> > >> I did it by myself last week. i got the same error. then i fix
>> >> > >> those chromebook error
>> >> > >> and test again. I still got some 3036 board error. But it
>> >> > >> build successfully when i
>> >> > >> build it on my computer. here is the travis-ci.org error log
>> >> > >> https://travis-ci.org/eddiecailinux/u-boot/jobs/236232837
>> >> > >> I have no idea what can i do to fix it.
>> >> > >
>> >> > > Can you share the SHA1 of commit on top of which you applied
>> >> > > your patches?
>> >> > >
>> >> > > I take u-boot-usb (the USB u-boot tree from Marek Vasut) as a
>> >> > > base and then apply commits on top of it.
>> >> > here is my branch
>> >> > https://github.com/eddiecailinux/u-boot/tree/rockusb-v8 I apply
>> >> > my patch on top of below commit commit
>> >> > a63d800196ebee59b0f8ff924f67843cd597a8c1 Author: Tom Rini
>> >> > <trini@konsulko.com> Date: Mon May 1 19:54:41 2017 -0400
>> >> >
>> >> > Prepare v2017.05-rc3
>> >> >
>> >> > Signed-off-by: Tom Rini <trini@konsulko.com>
>> >>
>> >> I've looked thoroughly at your patches:
>> >>
>> >> Your patches has been applied on top of the above commit:
>> >> SHA1: a63d800196ebee59b0f8ff924f67843cd597a8c1
>> >>
>> >> Before applying your patches:
>> >> https://travis-ci.org/lmajewski/u-boot-dfu/builds/239069544
>> >>
>> >> After applying them:
>> >> https://travis-ci.org/lmajewski/u-boot-dfu/builds/239074799
>> >>
>> >> To be more precise:
>> >> https://travis-ci.org/lmajewski/u-boot-dfu/jobs/239074800
>> >>
>> >>
>> >> For example:
>> >>
>> >> arm: + rock2
>> >> +cmd/built-in.o: In function `do_fastboot':
>> >> +cmd/fastboot.c:28: undefined reference to `board_usb_init'
>> >> +cmd/fastboot.c:34: undefined reference to `g_dnl_clear_detach'
>> >> +cmd/fastboot.c:35: undefined reference to `g_dnl_register'
>> >> +cmd/fastboot.c:39: undefined reference to
>> >> `g_dnl_board_usb_cable_connected' +cmd/fastboot.c:57:
>> >> undefined reference to `g_dnl_unregister' +cmd/fastboot.c:58:
>> >> undefined reference to `g_dnl_clear_detach' +cmd/fastboot.c:59:
>> >> undefined reference to `board_usb_cleanup' +cmd/fastboot.c:47:
>> >> undefined reference to `g_dnl_detach' +cmd/fastboot.c:51: undefined
>> >> reference to `usb_gadget_handle_interrupts' +cmd/built-in.o:
>> >> In function `do_usb_mass_storage':
>> >>
>> >>
>> >>
>> >> For me it seems like you have enabled fastboot support on too many
>> >> rochchip's boards.
>> >>
>> >> Can you look on it?
>> >
>> > If I might ask - have you managed to investigate this issue?
>> I can fix the chromebook error.
>
> Ok.
>
>> But i didn't enable rockusb support on
>> rk3036 based board. I built these board on my desktop. It work fine.
>
> The issue is not with this one particular board.
>
> I'm concerned, since your patch set causes build errors for other
> boards.
>
> Can you build test (with travis-CI) your patches and check if you can
> reproduce those errors?
I can reproduce this error with travis-CI. but i can't not reproduce
this rk3036 board error on my desktop.
can you try to local build rk3036 board and see if can reproduce this error?
>
> Best regards,
> Łukasz
>
>> >
>> >>
>> >> I've also updated my .travis.ml file to be in sync with mainline,
>> >> so we will use recommended arm toolchain.
>> >>
>> >> Please find this file attached.
>> >>
>> >> If there are any other patches required before applying this patch
>> >> series, please let me know (or better post them to ML).
>> >>
>> >>
>> >> Best regards,
>> >> Łukasz Majewski
>> >>
>> >> > >
>> >> > >> >
>> >> > >> > caused by "undefined references to ...."
>> >> > >> >
>> >> > >> > I've tried your patches on top of:
>> >> > >> > u-boot-usb/HEAD
>> >> > >> > SHA1: 3426b2038cfb831d74ac0407fc7a04e990b44540
>> >> > >> >
>> >> > >> > Maybe you have built tested it on other branch/commit?
>> >> > >> >
>> >> > >> > Best regards,
>> >> > >> > Łukasz Majewski
>> >> > >> >
>> >> > >> > p.s. My travis CI .travis.yml attached.
>> >> > >> >
>> >> > >> >> Changes in v7:
>> >> > >> >> -use imply in the Kconfig to enable rockusb
>> >> > >> >>
>> >> > >> >> Changes in v6:
>> >> > >> >> -enable rockusb in defconfig
>> >> > >> >>
>> >> > >> >> Changes in v5:
>> >> > >> >> -none
>> >> > >> >>
>> >> > >> >> Changes in v4:
>> >> > >> >> -move to rk3288_common.h
>> >> > >> >>
>> >> > >> >> Changes in v3:
>> >> > >> >> -move to defconfig
>> >> > >> >>
>> >> > >> >> ---
>> >> > >> >> arch/arm/mach-rockchip/Kconfig | 2 ++
>> >> > >> >> configs/evb-rk3288_defconfig | 9 +++++++++
>> >> > >> >> configs/fennec-rk3288_defconfig | 6 ++++++
>> >> > >> >> configs/firefly-rk3288_defconfig | 6 ++++++
>> >> > >> >> configs/miqi-rk3288_defconfig | 6 ++++++
>> >> > >> >> configs/popmetal-rk3288_defconfig | 6 ++++++
>> >> > >> >> configs/tinker-rk3288_defconfig | 6 ++++++
>> >> > >> >> include/configs/rk3288_common.h | 7 -------
>> >> > >> >> 8 files changed, 41 insertions(+), 7 deletions(-)
>> >> > >> >>
>> >> > >> >> diff --git a/arch/arm/mach-rockchip/Kconfig
>> >> > >> >> b/arch/arm/mach-rockchip/Kconfig index 2b752ad..8a87812
>> >> > >> >> 100644 --- a/arch/arm/mach-rockchip/Kconfig
>> >> > >> >> +++ b/arch/arm/mach-rockchip/Kconfig
>> >> > >> >> @@ -32,6 +32,8 @@ config ROCKCHIP_RK3288
>> >> > >> >> select CPU_V7
>> >> > >> >> select SUPPORT_SPL
>> >> > >> >> select SPL
>> >> > >> >> + imply USB_FUNCTION_ROCKUSB
>> >> > >> >> + imply CMD_ROCKUSB
>> >> > >> >> help
>> >> > >> >> The Rockchip RK3288 is a ARM-based SoC with a
>> >> > >> >> quad-core Cortex-A17 including NEON and GPU, 1MB L2 cache,
>> >> > >> >> Mali-T7 graphics, two diff --git
>> >> > >> >> a/configs/evb-rk3288_defconfig
>> >> > >> >> b/configs/evb-rk3288_defconfig index 227150d..cf66e09
>> >> > >> >> 100644 --- a/configs/evb-rk3288_defconfig +++
>> >> > >> >> b/configs/evb-rk3288_defconfig @@ -17,6 +17,7 @@
>> >> > >> >> CONFIG_CMD_MMC=y CONFIG_CMD_SF=y
>> >> > >> >> CONFIG_CMD_SPI=y
>> >> > >> >> CONFIG_CMD_I2C=y
>> >> > >> >> +CONFIG_CMD_USB=y
>> >> > >> >> CONFIG_CMD_GPIO=y
>> >> > >> >> # CONFIG_CMD_SETEXPR is not set
>> >> > >> >> CONFIG_CMD_CACHE=y
>> >> > >> >> @@ -61,6 +62,14 @@ CONFIG_DEBUG_UART_CLOCK=24000000
>> >> > >> >> CONFIG_DEBUG_UART_SHIFT=2
>> >> > >> >> CONFIG_SYS_NS16550=y
>> >> > >> >> CONFIG_SYSRESET=y
>> >> > >> >> +CONFIG_USB=y
>> >> > >> >> +CONFIG_USB_STORAGE=y
>> >> > >> >> CONFIG_USE_TINY_PRINTF=y
>> >> > >> >> CONFIG_CMD_DHRYSTONE=y
>> >> > >> >> CONFIG_ERRNO_STR=y
>> >> > >> >> +CONFIG_USB_GADGET=y
>> >> > >> >> +CONFIG_USB_GADGET_DOWNLOAD=y
>> >> > >> >> +CONFIG_USB_GADGET_VBUS_DRAW=0
>> >> > >> >> +CONFIG_G_DNL_MANUFACTURER="Rockchip"
>> >> > >> >> +CONFIG_G_DNL_VENDOR_NUM=0x2207
>> >> > >> >> +CONFIG_G_DNL_PRODUCT_NUM=0x320a
>> >> > >> >> diff --git a/configs/fennec-rk3288_defconfig
>> >> > >> >> b/configs/fennec-rk3288_defconfig index befba18..eb33d00
>> >> > >> >> 100644 --- a/configs/fennec-rk3288_defconfig
>> >> > >> >> +++ b/configs/fennec-rk3288_defconfig
>> >> > >> >> @@ -66,3 +66,9 @@ CONFIG_USB_STORAGE=y
>> >> > >> >> CONFIG_USE_TINY_PRINTF=y
>> >> > >> >> CONFIG_CMD_DHRYSTONE=y
>> >> > >> >> CONFIG_ERRNO_STR=y
>> >> > >> >> +CONFIG_USB_GADGET=y
>> >> > >> >> +CONFIG_USB_GADGET_DOWNLOAD=y
>> >> > >> >> +CONFIG_USB_GADGET_VBUS_DRAW=0
>> >> > >> >> +CONFIG_G_DNL_MANUFACTURER="Rockchip"
>> >> > >> >> +CONFIG_G_DNL_VENDOR_NUM=0x2207
>> >> > >> >> +CONFIG_G_DNL_PRODUCT_NUM=0x320a
>> >> > >> >> diff --git a/configs/firefly-rk3288_defconfig
>> >> > >> >> b/configs/firefly-rk3288_defconfig index f2872a6..1f4ca32
>> >> > >> >> 100644 --- a/configs/firefly-rk3288_defconfig
>> >> > >> >> +++ b/configs/firefly-rk3288_defconfig
>> >> > >> >> @@ -73,3 +73,9 @@ CONFIG_CONSOLE_SCROLL_LINES=10
>> >> > >> >> CONFIG_USE_TINY_PRINTF=y
>> >> > >> >> CONFIG_CMD_DHRYSTONE=y
>> >> > >> >> CONFIG_ERRNO_STR=y
>> >> > >> >> +CONFIG_USB_GADGET=y
>> >> > >> >> +CONFIG_USB_GADGET_DOWNLOAD=y
>> >> > >> >> +CONFIG_USB_GADGET_VBUS_DRAW=0
>> >> > >> >> +CONFIG_G_DNL_MANUFACTURER="Rockchip"
>> >> > >> >> +CONFIG_G_DNL_VENDOR_NUM=0x2207
>> >> > >> >> +CONFIG_G_DNL_PRODUCT_NUM=0x320a
>> >> > >> >> diff --git a/configs/miqi-rk3288_defconfig
>> >> > >> >> b/configs/miqi-rk3288_defconfig index d93bd97..b8b6fd5
>> >> > >> >> 100644 --- a/configs/miqi-rk3288_defconfig
>> >> > >> >> +++ b/configs/miqi-rk3288_defconfig
>> >> > >> >> @@ -70,3 +70,9 @@ CONFIG_CONSOLE_SCROLL_LINES=10
>> >> > >> >> CONFIG_USE_TINY_PRINTF=y
>> >> > >> >> CONFIG_CMD_DHRYSTONE=y
>> >> > >> >> CONFIG_ERRNO_STR=y
>> >> > >> >> +CONFIG_USB_GADGET=y
>> >> > >> >> +CONFIG_USB_GADGET_DOWNLOAD=y
>> >> > >> >> +CONFIG_USB_GADGET_VBUS_DRAW=0
>> >> > >> >> +CONFIG_G_DNL_MANUFACTURER="Rockchip"
>> >> > >> >> +CONFIG_G_DNL_VENDOR_NUM=0x2207
>> >> > >> >> +CONFIG_G_DNL_PRODUCT_NUM=0x320a
>> >> > >> >> diff --git a/configs/popmetal-rk3288_defconfig
>> >> > >> >> b/configs/popmetal-rk3288_defconfig index 748cda4..1181a20
>> >> > >> >> 100644 --- a/configs/popmetal-rk3288_defconfig
>> >> > >> >> +++ b/configs/popmetal-rk3288_defconfig
>> >> > >> >> @@ -66,3 +66,9 @@ CONFIG_USB_STORAGE=y
>> >> > >> >> CONFIG_USE_TINY_PRINTF=y
>> >> > >> >> CONFIG_CMD_DHRYSTONE=y
>> >> > >> >> CONFIG_ERRNO_STR=y
>> >> > >> >> +CONFIG_USB_GADGET=y
>> >> > >> >> +CONFIG_USB_GADGET_DOWNLOAD=y
>> >> > >> >> +CONFIG_USB_GADGET_VBUS_DRAW=0
>> >> > >> >> +CONFIG_G_DNL_MANUFACTURER="Rockchip"
>> >> > >> >> +CONFIG_G_DNL_VENDOR_NUM=0x2207
>> >> > >> >> +CONFIG_G_DNL_PRODUCT_NUM=0x320a
>> >> > >> >> diff --git a/configs/tinker-rk3288_defconfig
>> >> > >> >> b/configs/tinker-rk3288_defconfig index ada5950..f863df8
>> >> > >> >> 100644 --- a/configs/tinker-rk3288_defconfig
>> >> > >> >> +++ b/configs/tinker-rk3288_defconfig
>> >> > >> >> @@ -66,3 +66,9 @@ CONFIG_USB_STORAGE=y
>> >> > >> >> CONFIG_USE_TINY_PRINTF=y
>> >> > >> >> CONFIG_CMD_DHRYSTONE=y
>> >> > >> >> CONFIG_ERRNO_STR=y
>> >> > >> >> +CONFIG_USB_GADGET=y
>> >> > >> >> +CONFIG_USB_GADGET_DOWNLOAD=y
>> >> > >> >> +CONFIG_USB_GADGET_VBUS_DRAW=0
>> >> > >> >> +CONFIG_G_DNL_MANUFACTURER="Rockchip"
>> >> > >> >> +CONFIG_G_DNL_VENDOR_NUM=0x2207
>> >> > >> >> +CONFIG_G_DNL_PRODUCT_NUM=0x320a
>> >> > >> >> diff --git a/include/configs/rk3288_common.h
>> >> > >> >> b/include/configs/rk3288_common.h index e7a8f72..421ba60
>> >> > >> >> 100644 --- a/include/configs/rk3288_common.h
>> >> > >> >> +++ b/include/configs/rk3288_common.h
>> >> > >> >> @@ -58,11 +58,9 @@
>> >> > >> >>
>> >> > >> >> #ifndef CONFIG_SPL_BUILD
>> >> > >> >> /* usb otg */
>> >> > >> >> -#define CONFIG_USB_GADGET
>> >> > >> >> #define CONFIG_USB_GADGET_DUALSPEED
>> >> > >> >> #define CONFIG_USB_GADGET_DWC2_OTG
>> >> > >> >> #define CONFIG_ROCKCHIP_USB2_PHY
>> >> > >> >> -#define CONFIG_USB_GADGET_VBUS_DRAW 0
>> >> > >> >>
>> >> > >> >> /* fastboot */
>> >> > >> >> #define CONFIG_CMD_FASTBOOT
>> >> > >> >> @@ -76,11 +74,6 @@
>> >> > >> >> #define CONFIG_USB_FUNCTION_MASS_STORAGE
>> >> > >> >> #define CONFIG_CMD_USB_MASS_STORAGE
>> >> > >> >>
>> >> > >> >> -#define CONFIG_USB_GADGET_DOWNLOAD
>> >> > >> >> -#define CONFIG_G_DNL_MANUFACTURER "Rockchip"
>> >> > >> >> -#define CONFIG_G_DNL_VENDOR_NUM 0x2207
>> >> > >> >> -#define CONFIG_G_DNL_PRODUCT_NUM 0x320a
>> >> > >> >> -
>> >> > >> >> /* usb host support */
>> >> > >> >> #ifdef CONFIG_CMD_USB
>> >> > >> >> #define CONFIG_USB_DWC2
>> >> > >> >
>> >> > >> >
>> >> > >> >
>> >> > >> >
>> >> > >> > Best regards,
>> >> > >> >
>> >> > >> > Lukasz Majewski
>> >> > >> >
>> >> > >> > --
>> >> > >> >
>> >> > >> > DENX Software Engineering GmbH, Managing Director:
>> >> > >> > Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5,
>> >> > >> > D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax:
>> >> > >> > (+49)-8142-66989-80 Email: wd at denx.de
>> >> > >
>> >> > >
>> >> > >
>> >> > >
>> >> > > Best regards,
>> >> > >
>> >> > > Lukasz Majewski
>> >> > >
>> >> > > --
>> >> > >
>> >> > > DENX Software Engineering GmbH, Managing Director:
>> >> > > Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194
>> >> > > Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax:
>> >> > > (+49)-8142-66989-80 Email: wd at denx.de
>> >>
>> >>
>> >>
>> >>
>> >> Best regards,
>> >>
>> >> Lukasz Majewski
>> >>
>> >> --
>> >>
>> >> DENX Software Engineering GmbH, Managing Director: Wolfgang
>> >> Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
>> >> Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email:
>> >> wd at denx.de
>> >
>> >
>> >
>> >
>> > Best regards,
>> >
>> > Lukasz Majewski
>> >
>> > --
>> >
>> > DENX Software Engineering GmbH, Managing Director: Wolfgang
>> > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
>> > Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email:
>> > wd at denx.de
>
>
>
>
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de