[U-Boot] [PATCH] A20-OLinuXino-Lime2: Enable USB gadget support

Based on A13-OLinuXino, enable DFU and UMS support.
Signed-off-by: Tom Rini trini@konsulko.com --- With this change I've added DFU to my tests on this board, and assuming a follow up test with the SD image that kicks the board into FEL works, I'll then enable the UMS tests on this board (and add DFU to SD, not just DFU to RAM).
configs/A20-OLinuXino-Lime2_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 23db07380624..54343de7f351 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -12,9 +12,17 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set +CONFIG_CMD_DFU=y +CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_FPGA is not set CONFIG_RTL8211X_PHY_FORCE_MASTER=y CONFIG_ETH_DESIGNWARE=y CONFIG_AXP_ALDO3_VOLT=2800 CONFIG_AXP_ALDO4_VOLT=2800 CONFIG_USB_EHCI_HCD=y +CONFIG_USB_MUSB_GADGET=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_G_DNL_MANUFACTURER="Allwinner Technology" +CONFIG_G_DNL_VENDOR_NUM=0x1f3a +CONFIG_G_DNL_PRODUCT_NUM=0x1010

Hi,
On 19-09-16 16:03, Tom Rini wrote:
Based on A13-OLinuXino, enable DFU and UMS support.
Signed-off-by: Tom Rini trini@konsulko.com
With this change I've added DFU to my tests on this board, and assuming a follow up test with the SD image that kicks the board into FEL works, I'll then enable the UMS tests on this board (and add DFU to SD, not just DFU to RAM).
configs/A20-OLinuXino-Lime2_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 23db07380624..54343de7f351 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -12,9 +12,17 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set +CONFIG_CMD_DFU=y +CONFIG_CMD_USB_MASS_STORAGE=y
Do you need CMD_USB_MASS_STORAGE for your tests ? Enabling CMD_USB_MASS_STORAGE really seems orthogonal to enabling GADGET mode to me, esp. since it is only useful in host mode AFAICT.
Chen-Yu did something similar in a patch enabling host mode for a different sunxi board and here is what I replied:
" If we want to enable CONFIG_CMD_USB_MASS_STORAGE on sunxi, we really should do so on all boards (feel free to submit a patch for this).
e.g. add something like this to board/sunxi/Kconfig:
config CMD_USB_MASS_STORAGE default y
So that we can still disable it in case there are space constraints, but normally we enable it on all sunxi boards offering a consistent set of available commands. "
The same goes for this patch, otherwise this patch is:
Reviewed-by: Hans de Goede hdegoede@redhat.com
Ig you want to feel free to apply this directly (given that I've send out a sunxi pull-req recently).
Regards,
Hans
# CONFIG_CMD_FPGA is not set CONFIG_RTL8211X_PHY_FORCE_MASTER=y CONFIG_ETH_DESIGNWARE=y CONFIG_AXP_ALDO3_VOLT=2800 CONFIG_AXP_ALDO4_VOLT=2800 CONFIG_USB_EHCI_HCD=y +CONFIG_USB_MUSB_GADGET=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_G_DNL_MANUFACTURER="Allwinner Technology" +CONFIG_G_DNL_VENDOR_NUM=0x1f3a +CONFIG_G_DNL_PRODUCT_NUM=0x1010

On Mon, Sep 19, 2016 at 04:53:04PM +0200, Hans de Goede wrote:
Hi,
On 19-09-16 16:03, Tom Rini wrote:
Based on A13-OLinuXino, enable DFU and UMS support.
Signed-off-by: Tom Rini trini@konsulko.com
With this change I've added DFU to my tests on this board, and assuming a follow up test with the SD image that kicks the board into FEL works, I'll then enable the UMS tests on this board (and add DFU to SD, not just DFU to RAM).
configs/A20-OLinuXino-Lime2_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 23db07380624..54343de7f351 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -12,9 +12,17 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set +CONFIG_CMD_DFU=y +CONFIG_CMD_USB_MASS_STORAGE=y
Do you need CMD_USB_MASS_STORAGE for your tests ? Enabling CMD_USB_MASS_STORAGE really seems orthogonal to enabling GADGET mode to me, esp. since it is only useful in host mode AFAICT.
Ah, no, things have bad names perhaps. CMD_USB_MASS_STORAGE enables "ums" as a command which is what in turn will export MMC (or something else) as a USB mass storage gadget over to the host.
Chen-Yu did something similar in a patch enabling host mode for a different sunxi board and here is what I replied:
" If we want to enable CONFIG_CMD_USB_MASS_STORAGE on sunxi, we really should do so on all boards (feel free to submit a patch for this).
e.g. add something like this to board/sunxi/Kconfig:
config CMD_USB_MASS_STORAGE default y
So that we can still disable it in case there are space constraints, but normally we enable it on all sunxi boards offering a consistent set of available commands. "
I think it's a useful command that should be more widely exposed, yes. IIRC, it's how the Tegra platforms support flashing their dev boards with official images, and can be a handy "rescue" type option too.
The same goes for this patch, otherwise this patch is:
Reviewed-by: Hans de Goede hdegoede@redhat.com
Ig you want to feel free to apply this directly (given that I've send out a sunxi pull-req recently).
OK, thanks. I just might since I really want to move on to grabbing some fs patches and before I do that I really want to have as much testing of them as possible.

Hi,
On 19-09-16 17:00, Tom Rini wrote:
On Mon, Sep 19, 2016 at 04:53:04PM +0200, Hans de Goede wrote:
Hi,
On 19-09-16 16:03, Tom Rini wrote:
Based on A13-OLinuXino, enable DFU and UMS support.
Signed-off-by: Tom Rini trini@konsulko.com
With this change I've added DFU to my tests on this board, and assuming a follow up test with the SD image that kicks the board into FEL works, I'll then enable the UMS tests on this board (and add DFU to SD, not just DFU to RAM).
configs/A20-OLinuXino-Lime2_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 23db07380624..54343de7f351 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -12,9 +12,17 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set +CONFIG_CMD_DFU=y +CONFIG_CMD_USB_MASS_STORAGE=y
Do you need CMD_USB_MASS_STORAGE for your tests ? Enabling CMD_USB_MASS_STORAGE really seems orthogonal to enabling GADGET mode to me, esp. since it is only useful in host mode AFAICT.
Ah, no, things have bad names perhaps. CMD_USB_MASS_STORAGE enables "ums" as a command which is what in turn will export MMC (or something else) as a USB mass storage gadget over to the host.
Ah, I thought this enabled the (destructive) low level usb mass storage block read/write test commands, but I guess I'm wrong.
I wonder why Chen-Yu put it in the usb host enabling patch for an A33 board then...
Chen-Yu did something similar in a patch enabling host mode for a different sunxi board and here is what I replied:
" If we want to enable CONFIG_CMD_USB_MASS_STORAGE on sunxi, we really should do so on all boards (feel free to submit a patch for this).
e.g. add something like this to board/sunxi/Kconfig:
config CMD_USB_MASS_STORAGE default y
Given the above, that should probably be:
config CMD_USB_MASS_STORAGE default y if USB_GADGET
Hmm, I guess we may want to have a bunch of those, so that simply adding:
CONFIG_USB_MUSB_GADGET=y
To a defconfig enables the relevant related options...
Regards,
Hans
So that we can still disable it in case there are space constraints, but normally we enable it on all sunxi boards offering a consistent set of available commands. "
I think it's a useful command that should be more widely exposed, yes. IIRC, it's how the Tegra platforms support flashing their dev boards with official images, and can be a handy "rescue" type option too.
The same goes for this patch, otherwise this patch is:
Reviewed-by: Hans de Goede hdegoede@redhat.com
Ig you want to feel free to apply this directly (given that I've send out a sunxi pull-req recently).
OK, thanks. I just might since I really want to move on to grabbing some fs patches and before I do that I really want to have as much testing of them as possible.

On Mon, Sep 19, 2016 at 05:44:09PM +0200, Hans de Goede wrote:
Hi,
On 19-09-16 17:00, Tom Rini wrote:
On Mon, Sep 19, 2016 at 04:53:04PM +0200, Hans de Goede wrote:
Hi,
On 19-09-16 16:03, Tom Rini wrote:
Based on A13-OLinuXino, enable DFU and UMS support.
Signed-off-by: Tom Rini trini@konsulko.com
With this change I've added DFU to my tests on this board, and assuming a follow up test with the SD image that kicks the board into FEL works, I'll then enable the UMS tests on this board (and add DFU to SD, not just DFU to RAM).
configs/A20-OLinuXino-Lime2_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 23db07380624..54343de7f351 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -12,9 +12,17 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set +CONFIG_CMD_DFU=y +CONFIG_CMD_USB_MASS_STORAGE=y
Do you need CMD_USB_MASS_STORAGE for your tests ? Enabling CMD_USB_MASS_STORAGE really seems orthogonal to enabling GADGET mode to me, esp. since it is only useful in host mode AFAICT.
Ah, no, things have bad names perhaps. CMD_USB_MASS_STORAGE enables "ums" as a command which is what in turn will export MMC (or something else) as a USB mass storage gadget over to the host.
Ah, I thought this enabled the (destructive) low level usb mass storage block read/write test commands, but I guess I'm wrong.
I wonder why Chen-Yu put it in the usb host enabling patch for an A33 board then...
Chen-Yu did something similar in a patch enabling host mode for a different sunxi board and here is what I replied:
" If we want to enable CONFIG_CMD_USB_MASS_STORAGE on sunxi, we really should do so on all boards (feel free to submit a patch for this).
e.g. add something like this to board/sunxi/Kconfig:
config CMD_USB_MASS_STORAGE default y
Given the above, that should probably be:
config CMD_USB_MASS_STORAGE default y if USB_GADGET
Hmm, I guess we may want to have a bunch of those, so that simply adding:
CONFIG_USB_MUSB_GADGET=y
To a defconfig enables the relevant related options...
Yes. I think that something that should be done, and sooner rather than later, is changing more options from 'default n' (the default when not spelled out) to 'default y' as with the change from board.h to Kconfig there is much less pain in turning off default values. Things like 'ums' are really handy and unlike DFU/fastboot don't require additional configuration. So, I should go and fire off a patch for this one quickly at least.

On Mon, Sep 19, 2016 at 11:44 PM, Hans de Goede hdegoede@redhat.com wrote:
Hi,
On 19-09-16 17:00, Tom Rini wrote:
On Mon, Sep 19, 2016 at 04:53:04PM +0200, Hans de Goede wrote:
Hi,
On 19-09-16 16:03, Tom Rini wrote:
Based on A13-OLinuXino, enable DFU and UMS support.
Signed-off-by: Tom Rini trini@konsulko.com
With this change I've added DFU to my tests on this board, and assuming a follow up test with the SD image that kicks the board into FEL works, I'll then enable the UMS tests on this board (and add DFU to SD, not just DFU to RAM).
configs/A20-OLinuXino-Lime2_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/A20-OLinuXino-Lime2_defconfig b/configs/A20-OLinuXino-Lime2_defconfig index 23db07380624..54343de7f351 100644 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig @@ -12,9 +12,17 @@ CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set +CONFIG_CMD_DFU=y +CONFIG_CMD_USB_MASS_STORAGE=y
Do you need CMD_USB_MASS_STORAGE for your tests ? Enabling CMD_USB_MASS_STORAGE really seems orthogonal to enabling GADGET mode to me, esp. since it is only useful in host mode AFAICT.
Ah, no, things have bad names perhaps. CMD_USB_MASS_STORAGE enables "ums" as a command which is what in turn will export MMC (or something else) as a USB mass storage gadget over to the host.
Ah, I thought this enabled the (destructive) low level usb mass storage block read/write test commands, but I guess I'm wrong.
I wonder why Chen-Yu put it in the usb host enabling patch for an A33 board then...
It was copy pasted from some other defconfig. Like you, I thought it was for host mode supporting USB sticks...
ChenYu
Chen-Yu did something similar in a patch enabling host mode for a different sunxi board and here is what I replied:
" If we want to enable CONFIG_CMD_USB_MASS_STORAGE on sunxi, we really should do so on all boards (feel free to submit a patch for this).
e.g. add something like this to board/sunxi/Kconfig:
config CMD_USB_MASS_STORAGE default y
Given the above, that should probably be:
config CMD_USB_MASS_STORAGE default y if USB_GADGET
Hmm, I guess we may want to have a bunch of those, so that simply adding:
CONFIG_USB_MUSB_GADGET=y
To a defconfig enables the relevant related options...
Regards,
Hans
So that we can still disable it in case there are space constraints, but normally we enable it on all sunxi boards offering a consistent set of available commands. "
I think it's a useful command that should be more widely exposed, yes. IIRC, it's how the Tegra platforms support flashing their dev boards with official images, and can be a handy "rescue" type option too.
The same goes for this patch, otherwise this patch is:
Reviewed-by: Hans de Goede hdegoede@redhat.com
Ig you want to feel free to apply this directly (given that I've send out a sunxi pull-req recently).
OK, thanks. I just might since I really want to move on to grabbing some fs patches and before I do that I really want to have as much testing of them as possible.
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Mon, Sep 19, 2016 at 10:03:32AM -0400, Tom Rini wrote:
Based on A13-OLinuXino, enable DFU and UMS support.
Signed-off-by: Tom Rini trini@konsulko.com Reviewed-by: Hans de Goede hdegoede@redhat.com
Applied to u-boot/master, thanks!
participants (3)
-
Chen-Yu Tsai
-
Hans de Goede
-
Tom Rini