mbox series

[U-Boot,PULL] u-boot-usb/master

Message ID e730cbdc-ba63-8cbf-30e9-da4828c63e31@denx.de
State Changes Requested
Delegated to: Tom Rini
Headers show
Series [U-Boot,PULL] u-boot-usb/master | expand

Pull-request

git://git.denx.de/u-boot-usb.git master

Message

Marek Vasut Oct. 20, 2019, 3:08 p.m. UTC
The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:

  Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
21:00:10 -0400)

are available in the Git repository at:

  git://git.denx.de/u-boot-usb.git master

for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:

  dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)

----------------------------------------------------------------
Heinrich Schuchardt (5):
      usb: kbd: simplify coding for arrow keys
      usb: kbd: implement special keys
      usb: kbd: fix typo
      usb: kbd: move USB_KBD_BOOT_REPORT_SIZE to usb.h
      dm: test: usb: rework keyboard test

Igor Opaniuk (1):
      usb: ehci-mx6: Fix bus enumeration for iMX7 SoCs

Jean-Jacques Hiblot (15):
      usb: host: remove the xhci-zynqmp driver
      usb: dwc3: switch to peripheral mode when exiting
      usb: xhci: move xhci.h to include usb
      usb: dwc3: always use the inlined version of
dwc3_host_init/dwc3_host_exit
      usb: dwc3-generic: use platdata
      usb: dwc3-generic: factorize code
      usb: dwc3-generic: add a new host driver that uses the dwc3 core
      usb: dwc3-generic: if no max speed is specified in DT, assume
super speed
      usb: dwc3: Add dwc3_of_parse() to get quirks information from DT
      usb: dwc3: Kconfig: get rid of obsolete mode selection
      ARM: keystone: increase PSC timeout
      ARM: keystone: Do not enable the USB power domains at the board level
      phy: keystone-usb: handle the transition of the USB power domain
      configs: k2g_evm_defconfig: disable XHCI_DWC3 and enable
KEYSTONE_USB_PHY
      ARM: DTS: keystone: complete the description of the USB PHY devices

 MAINTAINERS                                      |   1 +
 arch/arm/dts/keystone-k2e-evm-u-boot.dtsi        |  32 ++++++++++
 arch/arm/dts/keystone-k2g-evm-u-boot.dtsi        |  28 +++++++++
 arch/arm/dts/keystone-k2hk-evm-u-boot.dtsi       |  14 +++++
 arch/arm/dts/keystone-k2l-evm-u-boot.dtsi        |  18 ++++++
 arch/arm/mach-keystone/include/mach/psc_defs.h   |   2 +-
 board/ti/ks2_evm/board.c                         |  13 ----
 common/usb_kbd.c                                 |  89
+++++++++++++++++++--------
 configs/avnet_ultra96_rev1_defconfig             |   1 -
 configs/evb-rk3328_defconfig                     |   1 +
 configs/k2g_evm_defconfig                        |   3 +-
 configs/odroid-n2_defconfig                      |   1 +
 configs/rock64-rk3328_defconfig                  |   1 +
 configs/sei510_defconfig                         |   1 +
 configs/u200_defconfig                           |   1 +
 configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig |   1 -
 configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig |   1 -
 configs/xilinx_zynqmp_zc1751_xm017_dc3_defconfig |   1 -
 configs/xilinx_zynqmp_zcu100_revC_defconfig      |   1 -
 configs/xilinx_zynqmp_zcu102_rev1_0_defconfig    |   1 -
 configs/xilinx_zynqmp_zcu102_revA_defconfig      |   1 -
 configs/xilinx_zynqmp_zcu102_revB_defconfig      |   1 -
 configs/xilinx_zynqmp_zcu104_revA_defconfig      |   1 -
 configs/xilinx_zynqmp_zcu104_revC_defconfig      |   1 -
 configs/xilinx_zynqmp_zcu106_revA_defconfig      |   1 -
 configs/xilinx_zynqmp_zcu111_revA_defconfig      |   1 -
 drivers/phy/keystone-usb-phy.c                   |  22 +++++++
 drivers/usb/dwc3/Kconfig                         |  18 +-----
 drivers/usb/dwc3/core.c                          |  84
++++++++++++++++++++++++-
 drivers/usb/dwc3/core.h                          |   6 +-
 drivers/usb/dwc3/dwc3-generic.c                  | 146
+++++++++++++++++++++++++++++++++----------
 drivers/usb/emul/sandbox_keyb.c                  |  27 +++++---
 drivers/usb/host/Kconfig                         |   7 ---
 drivers/usb/host/Makefile                        |   1 -
 drivers/usb/host/ehci-mx6.c                      |  15 ++---
 drivers/usb/host/xhci-dwc3.c                     |   2 +-
 drivers/usb/host/xhci-exynos5.c                  |   2 +-
 drivers/usb/host/xhci-fsl.c                      |   2 +-
 drivers/usb/host/xhci-mem.c                      |   2 +-
 drivers/usb/host/xhci-mvebu.c                    |   2 +-
 drivers/usb/host/xhci-omap.c                     |   2 +-
 drivers/usb/host/xhci-pci.c                      |   2 +-
 drivers/usb/host/xhci-rcar.c                     |   2 +-
 drivers/usb/host/xhci-ring.c                     |   2 +-
 drivers/usb/host/xhci-rockchip.c                 |   2 +-
 drivers/usb/host/xhci-zynqmp.c                   | 146
-------------------------------------------
 drivers/usb/host/xhci.c                          |   2 +-
 drivers/usb/phy/omap_usb_phy.c                   |   2 +-
 include/usb.h                                    |   6 ++
 {drivers/usb/host => include/usb}/xhci.h         |   0
 test/dm/usb.c                                    | 283
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 51 files changed, 699 insertions(+), 303 deletions(-)
 create mode 100644 arch/arm/dts/keystone-k2l-evm-u-boot.dtsi
 delete mode 100644 drivers/usb/host/xhci-zynqmp.c
 rename {drivers/usb/host => include/usb}/xhci.h (100%)

Comments

Tom Rini Oct. 23, 2019, 7:26 p.m. UTC | #1
On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:

> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
> 
>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
> 21:00:10 -0400)
> 
> are available in the Git repository at:
> 
>   git://git.denx.de/u-boot-usb.git master
> 
> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
> 
>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
> 

Two problems.  First (and I was going to fix this myself, it's not too
hard) is that the DWC3 series is once again out of date with new
platforms added since posting, this time khadas-vim3 and sei610.

But the second and bigger problem is that (I assume) the mx6 patch makes
tbs2910 now exceed the binary size limit and fail to link.
Marek Vasut Oct. 23, 2019, 7:35 p.m. UTC | #2
On 10/23/19 9:26 PM, Tom Rini wrote:
> On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:
> 
>> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
>>
>>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
>> 21:00:10 -0400)
>>
>> are available in the Git repository at:
>>
>>   git://git.denx.de/u-boot-usb.git master
>>
>> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
>>
>>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
>>
> 
> Two problems.  First (and I was going to fix this myself, it's not too
> hard) is that the DWC3 series is once again out of date with new
> platforms added since posting, this time khadas-vim3 and sei610.

Lovely, CCing Jean again ...

> But the second and bigger problem is that (I assume) the mx6 patch makes
> tbs2910 now exceed the binary size limit and fail to link.

And Igor ...
Igor Opaniuk Oct. 24, 2019, 9:22 a.m. UTC | #3
Hi Tom,

On Wed, Oct 23, 2019 at 10:36 PM Marek Vasut <marex@denx.de> wrote:
>
> On 10/23/19 9:26 PM, Tom Rini wrote:
> > On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:
> >
> >> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
> >>
> >>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
> >> 21:00:10 -0400)
> >>
> >> are available in the Git repository at:
> >>
> >>   git://git.denx.de/u-boot-usb.git master
> >>
> >> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
> >>
> >>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
> >>
> >
> > Two problems.  First (and I was going to fix this myself, it's not too
> > hard) is that the DWC3 series is once again out of date with new
> > platforms added since posting, this time khadas-vim3 and sei610.
>
> Lovely, CCing Jean again ...
>
> > But the second and bigger problem is that (I assume) the mx6 patch makes
> > tbs2910 now exceed the binary size limit and fail to link.

Could you please provide steps to reproduce (or just point to CI build log).
I've tried building both u-boot-usb tree and u-boot with all changes
from this PR
applied on top. In all cases everything is OK:

$ make tbs2910_defconfig
$ make
#
# configuration written to .config
#
....
  OBJCOPY u-boot-nodtb.bin
  COPY    u-boot.bin
  MKIMAGE u-boot.imx
  OBJCOPY u-boot.srec
  SYM     u-boot.sym
===================== WARNING ======================
This board does not use CONFIG_DM_VIDEO Please update
the board to use CONFIG_DM_VIDEO before the v2019.07 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/MIGRATION.txt for more info.
====================================================
===================== WARNING ======================
CONFIG_OF_EMBED is enabled. This option should only
be used for debugging purposes. Please use
CONFIG_OF_SEPARATE for boards in mainline.
See doc/README.fdt-control for more info.
====================================================
  CFGCHK  u-boot.cfg

>
> And Igor ...
>
> --
> Best regards,
> Marek Vasut
Tom Rini Oct. 24, 2019, 11:24 a.m. UTC | #4
On Thu, Oct 24, 2019 at 12:22:25PM +0300, Igor Opaniuk wrote:
> Hi Tom,
> 
> On Wed, Oct 23, 2019 at 10:36 PM Marek Vasut <marex@denx.de> wrote:
> >
> > On 10/23/19 9:26 PM, Tom Rini wrote:
> > > On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:
> > >
> > >> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
> > >>
> > >>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
> > >> 21:00:10 -0400)
> > >>
> > >> are available in the Git repository at:
> > >>
> > >>   git://git.denx.de/u-boot-usb.git master
> > >>
> > >> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
> > >>
> > >>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
> > >>
> > >
> > > Two problems.  First (and I was going to fix this myself, it's not too
> > > hard) is that the DWC3 series is once again out of date with new
> > > platforms added since posting, this time khadas-vim3 and sei610.
> >
> > Lovely, CCing Jean again ...
> >
> > > But the second and bigger problem is that (I assume) the mx6 patch makes
> > > tbs2910 now exceed the binary size limit and fail to link.
> 
> Could you please provide steps to reproduce (or just point to CI build log).
> I've tried building both u-boot-usb tree and u-boot with all changes
> from this PR
> applied on top. In all cases everything is OK:
> 
> $ make tbs2910_defconfig
> $ make
> #
> # configuration written to .config
> #
> ....
>   OBJCOPY u-boot-nodtb.bin
>   COPY    u-boot.bin
>   MKIMAGE u-boot.imx
>   OBJCOPY u-boot.srec
>   SYM     u-boot.sym
> ===================== WARNING ======================
> This board does not use CONFIG_DM_VIDEO Please update
> the board to use CONFIG_DM_VIDEO before the v2019.07 release.
> Failure to update by the deadline may result in board removal.
> See doc/driver-model/MIGRATION.txt for more info.
> ====================================================
> ===================== WARNING ======================
> CONFIG_OF_EMBED is enabled. This option should only
> be used for debugging purposes. Please use
> CONFIG_OF_SEPARATE for boards in mainline.
> See doc/README.fdt-control for more info.
> ====================================================
>   CFGCHK  u-boot.cfg

What toolchain are you using?  Thanks!
Igor Opaniuk Oct. 24, 2019, 11:33 a.m. UTC | #5
Hi Tom,

On Thu, Oct 24, 2019 at 2:24 PM Tom Rini <trini@konsulko.com> wrote:
>
> On Thu, Oct 24, 2019 at 12:22:25PM +0300, Igor Opaniuk wrote:
> > Hi Tom,
> >
> > On Wed, Oct 23, 2019 at 10:36 PM Marek Vasut <marex@denx.de> wrote:
> > >
> > > On 10/23/19 9:26 PM, Tom Rini wrote:
> > > > On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:
> > > >
> > > >> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
> > > >>
> > > >>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
> > > >> 21:00:10 -0400)
> > > >>
> > > >> are available in the Git repository at:
> > > >>
> > > >>   git://git.denx.de/u-boot-usb.git master
> > > >>
> > > >> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
> > > >>
> > > >>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
> > > >>
> > > >
> > > > Two problems.  First (and I was going to fix this myself, it's not too
> > > > hard) is that the DWC3 series is once again out of date with new
> > > > platforms added since posting, this time khadas-vim3 and sei610.
> > >
> > > Lovely, CCing Jean again ...
> > >
> > > > But the second and bigger problem is that (I assume) the mx6 patch makes
> > > > tbs2910 now exceed the binary size limit and fail to link.
> >
> > Could you please provide steps to reproduce (or just point to CI build log).
> > I've tried building both u-boot-usb tree and u-boot with all changes
> > from this PR
> > applied on top. In all cases everything is OK:
> >
> > $ make tbs2910_defconfig
> > $ make
> > #
> > # configuration written to .config
> > #
> > ....
> >   OBJCOPY u-boot-nodtb.bin
> >   COPY    u-boot.bin
> >   MKIMAGE u-boot.imx
> >   OBJCOPY u-boot.srec
> >   SYM     u-boot.sym
> > ===================== WARNING ======================
> > This board does not use CONFIG_DM_VIDEO Please update
> > the board to use CONFIG_DM_VIDEO before the v2019.07 release.
> > Failure to update by the deadline may result in board removal.
> > See doc/driver-model/MIGRATION.txt for more info.
> > ====================================================
> > ===================== WARNING ======================
> > CONFIG_OF_EMBED is enabled. This option should only
> > be used for debugging purposes. Please use
> > CONFIG_OF_SEPARATE for boards in mainline.
> > See doc/README.fdt-control for more info.
> > ====================================================
> >   CFGCHK  u-boot.cfg
>
> What toolchain are you using?  Thanks!
It's gcc-arm-8.2-2019.01

>
> --
> Tom

After discussion with Marek in IRC, found out that
this issue is definitely toolchain dependent .

I've managed to reproduce this with buildman (and gcc-7.3.0, which is
fetched by default)

$ ./tools/buildman/buildman --board=tbs2910
boards.cfg is up to date. Nothing to do.
Building current source for 1 boards (1 thread, 8 jobs per thread)
       arm:  +   tbs2910
+u-boot.imx exceeds file size limit:
+/bin/sh: 1: printf: bytes: expected numeric value
+  limit:  00x5fc00 bytes
+  actual: 0x60c00 bytes
+  excess: 0x1000 bytes
+make[1]: *** [u-boot.imx] Error 1
+make[1]: *** Deleting file 'u-boot.imx'
+make: *** [sub-make] Error 2
    0    0    1 /1      tbs2910

Thanks
Igor Opaniuk Oct. 24, 2019, 12:46 p.m. UTC | #6
+ Heinrich,

Hi Tom, Marek, Heinrich,

On Thu, Oct 24, 2019 at 2:54 PM Tom Rini <trini@konsulko.com> wrote:
>
> It will fail with the 7.3 one buildman fetches
>
> On Thu, Oct 24, 2019, 7:34 AM Igor Opaniuk <igor.opaniuk@gmail.com> wrote:
>>
>> Hi Tom,
>>
>> On Thu, Oct 24, 2019 at 2:24 PM Tom Rini <trini@konsulko.com> wrote:
>> >
>> > On Thu, Oct 24, 2019 at 12:22:25PM +0300, Igor Opaniuk wrote:
>> > > Hi Tom,
>> > >
>> > > On Wed, Oct 23, 2019 at 10:36 PM Marek Vasut <marex@denx.de> wrote:
>> > > >
>> > > > On 10/23/19 9:26 PM, Tom Rini wrote:
>> > > > > On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:
>> > > > >
>> > > > >> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
>> > > > >>
>> > > > >>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
>> > > > >> 21:00:10 -0400)
>> > > > >>
>> > > > >> are available in the Git repository at:
>> > > > >>
>> > > > >>   git://git.denx.de/u-boot-usb.git master
>> > > > >>
>> > > > >> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
>> > > > >>
>> > > > >>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
>> > > > >>
>> > > > >
>> > > > > Two problems.  First (and I was going to fix this myself, it's not too
>> > > > > hard) is that the DWC3 series is once again out of date with new
>> > > > > platforms added since posting, this time khadas-vim3 and sei610.
>> > > >
>> > > > Lovely, CCing Jean again ...
>> > > >
>> > > > > But the second and bigger problem is that (I assume) the mx6 patch makes
>> > > > > tbs2910 now exceed the binary size limit and fail to link.
>> > >
>> > > Could you please provide steps to reproduce (or just point to CI build log).
>> > > I've tried building both u-boot-usb tree and u-boot with all changes
>> > > from this PR
>> > > applied on top. In all cases everything is OK:
>> > >
>> > > $ make tbs2910_defconfig
>> > > $ make
>> > > #
>> > > # configuration written to .config
>> > > #
>> > > ....
>> > >   OBJCOPY u-boot-nodtb.bin
>> > >   COPY    u-boot.bin
>> > >   MKIMAGE u-boot.imx
>> > >   OBJCOPY u-boot.srec
>> > >   SYM     u-boot.sym
>> > > ===================== WARNING ======================
>> > > This board does not use CONFIG_DM_VIDEO Please update
>> > > the board to use CONFIG_DM_VIDEO before the v2019.07 release.
>> > > Failure to update by the deadline may result in board removal.
>> > > See doc/driver-model/MIGRATION.txt for more info.
>> > > ====================================================
>> > > ===================== WARNING ======================
>> > > CONFIG_OF_EMBED is enabled. This option should only
>> > > be used for debugging purposes. Please use
>> > > CONFIG_OF_SEPARATE for boards in mainline.
>> > > See doc/README.fdt-control for more info.
>> > > ====================================================
>> > >   CFGCHK  u-boot.cfg
>> >
>> > What toolchain are you using?  Thanks!
>> It's gcc-arm-8.2-2019.01
>>
>> >
>> > --
>> > Tom
>>
>> After discussion with Marek in IRC, found out that
>> this issue is definitely toolchain dependent .
>>
>> I've managed to reproduce this with buildman (and gcc-7.3.0, which is
>> fetched by default)
>>
>> $ ./tools/buildman/buildman --board=tbs2910
>> boards.cfg is up to date. Nothing to do.
>> Building current source for 1 boards (1 thread, 8 jobs per thread)
>>        arm:  +   tbs2910
>> +u-boot.imx exceeds file size limit:
>> +/bin/sh: 1: printf: bytes: expected numeric value
>> +  limit:  00x5fc00 bytes
>> +  actual: 0x60c00 bytes
>> +  excess: 0x1000 bytes
>> +make[1]: *** [u-boot.imx] Error 1
>> +make[1]: *** Deleting file 'u-boot.imx'
>> +make: *** [sub-make] Error 2
>>     0    0    1 /1      tbs2910
>>
>> Thanks
>>
>> --
>> Best regards - Freundliche Grüsse - Meilleures salutations
>>
>> Igor Opaniuk
>>
>> mailto: igor.opaniuk@gmail.com
>> skype: igor.opanyuk
>> +380 (93) 836 40 67
>> http://ua.linkedin.com/in/iopaniuk

It's not really mx6-ehci commit which blows up the size
I've bisected to (within u-boot-usb/master):

5662d00290164a7408cfcf09923d3fcd36306b62 is the first bad commit
commit 5662d00290164a7408cfcf09923d3fcd36306b62
Author: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date:   Thu Oct 10 23:36:56 2019 +0200

    usb: kbd: implement special keys

    Provide support for F1-F12, Insert, Delete, Home, End, Page Up, Page Down.

    Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
    Reviewed-by: Simon Glass <sjg@chromium.org>


BTW,  6f37f1ecf2 ("usb: ehci-mx6: Fix bus enumeration for iMX7 SoCs")
doesn't have
any impact at u-boot.imx binary size at all:

5662d00290 usb: kbd: implement special keys - size 60c00
5f1a4d817d usb: kbd: simplify coding for arrow keys  - size 5fc00
6f37f1ecf2 usb: ehci-mx6: Fix bus enumeration for iMX7 SoCs - size 5fc00
73e5ee094c ARM: DTS: keystone: complete the description of the USB PHY
devices - size 5fc00
Simon Glass Oct. 24, 2019, 2:36 p.m. UTC | #7
Hi,

On Thu, 24 Oct 2019 at 06:46, Igor Opaniuk <igor.opaniuk@gmail.com> wrote:
>
> + Heinrich,
>
> Hi Tom, Marek, Heinrich,
>
> On Thu, Oct 24, 2019 at 2:54 PM Tom Rini <trini@konsulko.com> wrote:
> >
> > It will fail with the 7.3 one buildman fetches
> >
> > On Thu, Oct 24, 2019, 7:34 AM Igor Opaniuk <igor.opaniuk@gmail.com> wrote:
> >>
> >> Hi Tom,
> >>
> >> On Thu, Oct 24, 2019 at 2:24 PM Tom Rini <trini@konsulko.com> wrote:
> >> >
> >> > On Thu, Oct 24, 2019 at 12:22:25PM +0300, Igor Opaniuk wrote:
> >> > > Hi Tom,
> >> > >
> >> > > On Wed, Oct 23, 2019 at 10:36 PM Marek Vasut <marex@denx.de> wrote:
> >> > > >
> >> > > > On 10/23/19 9:26 PM, Tom Rini wrote:
> >> > > > > On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:
> >> > > > >
> >> > > > >> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
> >> > > > >>
> >> > > > >>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
> >> > > > >> 21:00:10 -0400)
> >> > > > >>
> >> > > > >> are available in the Git repository at:
> >> > > > >>
> >> > > > >>   git://git.denx.de/u-boot-usb.git master
> >> > > > >>
> >> > > > >> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
> >> > > > >>
> >> > > > >>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
> >> > > > >>
> >> > > > >
> >> > > > > Two problems.  First (and I was going to fix this myself, it's not too
> >> > > > > hard) is that the DWC3 series is once again out of date with new
> >> > > > > platforms added since posting, this time khadas-vim3 and sei610.
> >> > > >
> >> > > > Lovely, CCing Jean again ...
> >> > > >
> >> > > > > But the second and bigger problem is that (I assume) the mx6 patch makes
> >> > > > > tbs2910 now exceed the binary size limit and fail to link.
> >> > >
> >> > > Could you please provide steps to reproduce (or just point to CI build log).
> >> > > I've tried building both u-boot-usb tree and u-boot with all changes
> >> > > from this PR
> >> > > applied on top. In all cases everything is OK:
> >> > >
> >> > > $ make tbs2910_defconfig
> >> > > $ make
> >> > > #
> >> > > # configuration written to .config
> >> > > #
> >> > > ....
> >> > >   OBJCOPY u-boot-nodtb.bin
> >> > >   COPY    u-boot.bin
> >> > >   MKIMAGE u-boot.imx
> >> > >   OBJCOPY u-boot.srec
> >> > >   SYM     u-boot.sym
> >> > > ===================== WARNING ======================
> >> > > This board does not use CONFIG_DM_VIDEO Please update
> >> > > the board to use CONFIG_DM_VIDEO before the v2019.07 release.
> >> > > Failure to update by the deadline may result in board removal.
> >> > > See doc/driver-model/MIGRATION.txt for more info.
> >> > > ====================================================
> >> > > ===================== WARNING ======================
> >> > > CONFIG_OF_EMBED is enabled. This option should only
> >> > > be used for debugging purposes. Please use
> >> > > CONFIG_OF_SEPARATE for boards in mainline.
> >> > > See doc/README.fdt-control for more info.
> >> > > ====================================================
> >> > >   CFGCHK  u-boot.cfg
> >> >
> >> > What toolchain are you using?  Thanks!
> >> It's gcc-arm-8.2-2019.01
> >>
> >> >
> >> > --
> >> > Tom
> >>
> >> After discussion with Marek in IRC, found out that
> >> this issue is definitely toolchain dependent .
> >>
> >> I've managed to reproduce this with buildman (and gcc-7.3.0, which is
> >> fetched by default)
> >>
> >> $ ./tools/buildman/buildman --board=tbs2910
> >> boards.cfg is up to date. Nothing to do.
> >> Building current source for 1 boards (1 thread, 8 jobs per thread)
> >>        arm:  +   tbs2910
> >> +u-boot.imx exceeds file size limit:
> >> +/bin/sh: 1: printf: bytes: expected numeric value
> >> +  limit:  00x5fc00 bytes
> >> +  actual: 0x60c00 bytes
> >> +  excess: 0x1000 bytes
> >> +make[1]: *** [u-boot.imx] Error 1
> >> +make[1]: *** Deleting file 'u-boot.imx'
> >> +make: *** [sub-make] Error 2
> >>     0    0    1 /1      tbs2910
> >>
> >> Thanks
> >>
> >> --
> >> Best regards - Freundliche Grüsse - Meilleures salutations
> >>
> >> Igor Opaniuk
> >>
> >> mailto: igor.opaniuk@gmail.com
> >> skype: igor.opanyuk
> >> +380 (93) 836 40 67
> >> http://ua.linkedin.com/in/iopaniuk
>
> It's not really mx6-ehci commit which blows up the size
> I've bisected to (within u-boot-usb/master):
>
> 5662d00290164a7408cfcf09923d3fcd36306b62 is the first bad commit
> commit 5662d00290164a7408cfcf09923d3fcd36306b62
> Author: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Date:   Thu Oct 10 23:36:56 2019 +0200
>
>     usb: kbd: implement special keys
>
>     Provide support for F1-F12, Insert, Delete, Home, End, Page Up, Page Down.
>
>     Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>     Reviewed-by: Simon Glass <sjg@chromium.org>
>
>
> BTW,  6f37f1ecf2 ("usb: ehci-mx6: Fix bus enumeration for iMX7 SoCs")
> doesn't have
> any impact at u-boot.imx binary size at all:
>
> 5662d00290 usb: kbd: implement special keys - size 60c00
> 5f1a4d817d usb: kbd: simplify coding for arrow keys  - size 5fc00
> 6f37f1ecf2 usb: ehci-mx6: Fix bus enumeration for iMX7 SoCs - size 5fc00
> 73e5ee094c ARM: DTS: keystone: complete the description of the USB PHY
> devices - size 5fc00

I was going to suggest it at the time, but how about making this extra
functionality a Kconfig?

We are going to have to start doing this more often to avoid continual
growth in code size.

Regards,
Simon
Tom Rini Oct. 24, 2019, 2:41 p.m. UTC | #8
On Thu, Oct 24, 2019 at 08:36:19AM -0600, Simon Glass wrote:
> Hi,
> 
> On Thu, 24 Oct 2019 at 06:46, Igor Opaniuk <igor.opaniuk@gmail.com> wrote:
> >
> > + Heinrich,
> >
> > Hi Tom, Marek, Heinrich,
> >
> > On Thu, Oct 24, 2019 at 2:54 PM Tom Rini <trini@konsulko.com> wrote:
> > >
> > > It will fail with the 7.3 one buildman fetches
> > >
> > > On Thu, Oct 24, 2019, 7:34 AM Igor Opaniuk <igor.opaniuk@gmail.com> wrote:
> > >>
> > >> Hi Tom,
> > >>
> > >> On Thu, Oct 24, 2019 at 2:24 PM Tom Rini <trini@konsulko.com> wrote:
> > >> >
> > >> > On Thu, Oct 24, 2019 at 12:22:25PM +0300, Igor Opaniuk wrote:
> > >> > > Hi Tom,
> > >> > >
> > >> > > On Wed, Oct 23, 2019 at 10:36 PM Marek Vasut <marex@denx.de> wrote:
> > >> > > >
> > >> > > > On 10/23/19 9:26 PM, Tom Rini wrote:
> > >> > > > > On Sun, Oct 20, 2019 at 05:08:37PM +0200, Marek Vasut wrote:
> > >> > > > >
> > >> > > > >> The following changes since commit 6891152a4596d38ac25d2fe1238e3b6a938554b8:
> > >> > > > >>
> > >> > > > >>   Merge branch 'master' of git://git.denx.de/u-boot-socfpga (2019-10-14
> > >> > > > >> 21:00:10 -0400)
> > >> > > > >>
> > >> > > > >> are available in the Git repository at:
> > >> > > > >>
> > >> > > > >>   git://git.denx.de/u-boot-usb.git master
> > >> > > > >>
> > >> > > > >> for you to fetch changes up to 79b03816cb7d17ce717cbeb2d1c69836a0adef1e:
> > >> > > > >>
> > >> > > > >>   dm: test: usb: rework keyboard test (2019-10-15 13:12:09 +0200)
> > >> > > > >>
> > >> > > > >
> > >> > > > > Two problems.  First (and I was going to fix this myself, it's not too
> > >> > > > > hard) is that the DWC3 series is once again out of date with new
> > >> > > > > platforms added since posting, this time khadas-vim3 and sei610.
> > >> > > >
> > >> > > > Lovely, CCing Jean again ...
> > >> > > >
> > >> > > > > But the second and bigger problem is that (I assume) the mx6 patch makes
> > >> > > > > tbs2910 now exceed the binary size limit and fail to link.
> > >> > >
> > >> > > Could you please provide steps to reproduce (or just point to CI build log).
> > >> > > I've tried building both u-boot-usb tree and u-boot with all changes
> > >> > > from this PR
> > >> > > applied on top. In all cases everything is OK:
> > >> > >
> > >> > > $ make tbs2910_defconfig
> > >> > > $ make
> > >> > > #
> > >> > > # configuration written to .config
> > >> > > #
> > >> > > ....
> > >> > >   OBJCOPY u-boot-nodtb.bin
> > >> > >   COPY    u-boot.bin
> > >> > >   MKIMAGE u-boot.imx
> > >> > >   OBJCOPY u-boot.srec
> > >> > >   SYM     u-boot.sym
> > >> > > ===================== WARNING ======================
> > >> > > This board does not use CONFIG_DM_VIDEO Please update
> > >> > > the board to use CONFIG_DM_VIDEO before the v2019.07 release.
> > >> > > Failure to update by the deadline may result in board removal.
> > >> > > See doc/driver-model/MIGRATION.txt for more info.
> > >> > > ====================================================
> > >> > > ===================== WARNING ======================
> > >> > > CONFIG_OF_EMBED is enabled. This option should only
> > >> > > be used for debugging purposes. Please use
> > >> > > CONFIG_OF_SEPARATE for boards in mainline.
> > >> > > See doc/README.fdt-control for more info.
> > >> > > ====================================================
> > >> > >   CFGCHK  u-boot.cfg
> > >> >
> > >> > What toolchain are you using?  Thanks!
> > >> It's gcc-arm-8.2-2019.01
> > >>
> > >> >
> > >> > --
> > >> > Tom
> > >>
> > >> After discussion with Marek in IRC, found out that
> > >> this issue is definitely toolchain dependent .
> > >>
> > >> I've managed to reproduce this with buildman (and gcc-7.3.0, which is
> > >> fetched by default)
> > >>
> > >> $ ./tools/buildman/buildman --board=tbs2910
> > >> boards.cfg is up to date. Nothing to do.
> > >> Building current source for 1 boards (1 thread, 8 jobs per thread)
> > >>        arm:  +   tbs2910
> > >> +u-boot.imx exceeds file size limit:
> > >> +/bin/sh: 1: printf: bytes: expected numeric value
> > >> +  limit:  00x5fc00 bytes
> > >> +  actual: 0x60c00 bytes
> > >> +  excess: 0x1000 bytes
> > >> +make[1]: *** [u-boot.imx] Error 1
> > >> +make[1]: *** Deleting file 'u-boot.imx'
> > >> +make: *** [sub-make] Error 2
> > >>     0    0    1 /1      tbs2910
> > >>
> > >> Thanks
> > >>
> > >> --
> > >> Best regards - Freundliche Grüsse - Meilleures salutations
> > >>
> > >> Igor Opaniuk
> > >>
> > >> mailto: igor.opaniuk@gmail.com
> > >> skype: igor.opanyuk
> > >> +380 (93) 836 40 67
> > >> http://ua.linkedin.com/in/iopaniuk
> >
> > It's not really mx6-ehci commit which blows up the size
> > I've bisected to (within u-boot-usb/master):
> >
> > 5662d00290164a7408cfcf09923d3fcd36306b62 is the first bad commit
> > commit 5662d00290164a7408cfcf09923d3fcd36306b62
> > Author: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > Date:   Thu Oct 10 23:36:56 2019 +0200
> >
> >     usb: kbd: implement special keys
> >
> >     Provide support for F1-F12, Insert, Delete, Home, End, Page Up, Page Down.
> >
> >     Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> >     Reviewed-by: Simon Glass <sjg@chromium.org>
> >
> >
> > BTW,  6f37f1ecf2 ("usb: ehci-mx6: Fix bus enumeration for iMX7 SoCs")
> > doesn't have
> > any impact at u-boot.imx binary size at all:
> >
> > 5662d00290 usb: kbd: implement special keys - size 60c00
> > 5f1a4d817d usb: kbd: simplify coding for arrow keys  - size 5fc00
> > 6f37f1ecf2 usb: ehci-mx6: Fix bus enumeration for iMX7 SoCs - size 5fc00
> > 73e5ee094c ARM: DTS: keystone: complete the description of the USB PHY
> > devices - size 5fc00
> 
> I was going to suggest it at the time, but how about making this extra
> functionality a Kconfig?
> 
> We are going to have to start doing this more often to avoid continual
> growth in code size.

Thanks for digging in more Igor.  Yes, I agree we need to make more of
this optional.  Even in the case of interactive user machines like
tbs2910 (I just re-confirmed my recollection there, this is a machine
where it's expected a user might be using a USB keyboard in U-Boot).