Skip to content
Snippets Groups Projects
  1. Apr 04, 2025
  2. Mar 07, 2025
  3. Mar 06, 2025
  4. Feb 14, 2025
  5. Feb 11, 2025
  6. Feb 04, 2025
  7. Jan 31, 2025
  8. Jan 28, 2025
  9. Jan 13, 2025
  10. Jan 10, 2025
    • Ariel D'Alessandro's avatar
      u-boot: usb: gadget: ether: Set USB connect timeout to 20s · dba02958
      Ariel D'Alessandro authored
      
      Genio 350 EVK board often timeouts on a tftp boot sequence reporting:
      
      ```
      The remote end did not respond in time.
      ```
      
      Set the default timeout value to 20s, which is enough for these cases.
      
      Signed-off-by: Ariel D'Alessandro's avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
      dba02958
    • Ariel D'Alessandro's avatar
      u-boot: GENIO: Fix USB Ethernet Gadget driver bind · d7c74558
      Ariel D'Alessandro authored
      This commit picks upstream patch series refactoring the USB ethernet
      driver to allow manually binding the gadget driver.
      
      As mentioned in commit ed62305b ("u-boot: GENIO: configs: 510/700/1200
      EVK: Disable USB Ethernet Gadget") USB Ethernet Gadget is causing
      enumaration errors on the host side.
      
      To workaround this issue, upstream [0] approach is followed, i.e.:
      
      * drop usb_ether_init() from board files, as it is deprecated and
        causing the enumeration errors.
      * use bind command to enable usb ethernet when required.
      
      However, while binding the driver, a NULL deref bug was hit. See the
      following error log testing on Genio 700 EVK:
      
      ```
      => bind /soc/usb@11200000/ssusb@11200000 usb_ether
      => dhcp
      ethernet@11021000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
      phy_startup() failed: -110FAILED: -110using mtu3-gadget, OUT ep1out IN ep1in STATUS ep2in
      MAC de:ad:be:ef:00:01
      HOST MAC de:ad:be:ef:00:00
      RNDIS ready
      dev_get_priv: null device
      "Synchronous Abort" handler, esr 0x96000004
      elr: 000000004c060200 lr : 000000004c05f9a0 (reloc)
      elr: 00000000fff50200 lr : 00000000fff4f9a0
      x0 : eafffffeeafffffe x1 : 0000000000000000
      x2 : 00000000ff9eedb0 x3 : 000000000000007b
      x4 : 00000000ff9eee70 x5 : 00000000ff9f34a0
      x6 : 000000000000007b x7 : 00000000ff9e9240
      x8 : 0000000000000010 x9 : 0000000000000008
      x10: fffffffffffffff0 x11: 0000000000000000
      x12: 0000000000000002 x13: 00000000ff9f96c0
      x14: 0000000000000000 x15: 0000000000000200
      x16: 00000000fff35bac x17: 0000000000000000
      x18: 00000000ff9eedb0 x19: 0000000000000000
      x20: 0000000000000bb8 x21: 000000000002773b
      x22: 0000000100001000 x23: 000000010000b000
      x24: 000000010000b000 x25: 00000000ff9fdf50
      x26: 0000000000000000 x27: 0000000000000000
      x28: 0000000000000000 x29: 00000000ff9e9230
      
      Code: a90153f3 aa0103f3 f90013f5 f9400820 (b9500000)
      ```
      
      [0] https://patchwork.ozlabs.org/project/uboot/patch/20240726083102.380719-1-admin@hifiphile.com/
      
      
      
      Signed-off-by: Ariel D'Alessandro's avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
      d7c74558
  11. Jan 09, 2025
    • Ariel D'Alessandro's avatar
      u-boot: GENIO: configs: 510/700/1200 EVK: Disable USB Ethernet Gadget · ed62305b
      Ariel D'Alessandro authored
      Disable USB Ethernet Gadget on GENIO 510/700/1200 EVK boards as this is
      messing up the USB host side. This boards uses ethernet to boot, so the
      USB gadget is not required.
      
      Due to backported upstream commit 718f1d414eb ("usb: gadget: ether:
      Handle gadget driver registration in probe and remove"), the USB
      ethernet gadget is initialized early, causing enumaration errors on the
      host side.
      
      This has been reported upstream in [0]:
      
      ```
      From the host's point of view, a device is ready to be enumerated.
      However, since dm_usb_gadget_handle_interrupts() is only called when
      ethernet function is started, at this stage USB events are not managed,
      host's enumeration attempts will fail and resulting error like:
          usb 1-1: new high-speed USB device number 50 using xhci_hcd
          usb 1-1: device descriptor read/64, error -110
          usb 1-1: device descriptor read/64, error -110
          usb usb1-port1: attempt power cycle
      ```
      
      However, patch fix wasn't accepted as upstream u-boot handles USB
      ethernet gadget in a different way now, requiring manual binding the
      gadget driver. From [0] thread:
      
      ```
      [...] usb_ether_init() should not be used anymore.
      
      Instead, to enable usb ethernet, we should manually bind the UDC driver
      to the usb_ether gadget.
      ```
      
      [0] https://patchwork.ozlabs.org/project/uboot/patch/20240726083102.380719-1-admin@hifiphile.com/
      
      
      
      Signed-off-by: Ariel D'Alessandro's avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
      ed62305b
  12. Dec 20, 2024
  13. Dec 18, 2024
  14. Dec 17, 2024
    • Ariel D'Alessandro's avatar
      u-boot: genio-350-evk: Enable LEGACY_IMAGE_FORMAT · 2722f252
      Ariel D'Alessandro authored
      
      Currently, `booti` command doesn't seem to accept the u-boot header for
      ramdisks, and LAVA can't currently tftp ramdisks without it.
      
      Enable CONFIG_LEGACY_IMAGE_FORMAT for RAMDISK support.
      
      Signed-off-by: Ariel D'Alessandro's avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
      2722f252
    • Ariel D'Alessandro's avatar
      u-boot: Fix Synchronous Abort on dhcp command · 1f5366d2
      Ariel D'Alessandro authored
      
      The Genio 350 EVK board reports the `dhcp` command constantly causing a
      Synchronous Abort, like the following:
      
      ```
      => dhcp
      using mtu3-gadget, OUT ep1out IN ep1in STATUS ep2in
      MAC de:ad:be:ef:00:01
      HOST MAC de:ad:be:ef:00:00
      RNDIS ready
      high speed config #2: 2 mA, Ethernet Gadget, using RNDIS
      USB RNDIS network up!
      BOOTP broadcast 1
      DHCP client bound to address 192.168.202.106 (3 ms)
      "Synchronous Abort" handler, esr 0x96000061
      elr: 000000004c023958 lr : 000000004c01a200 (reloc)
      elr: 00000000fff12958 lr : 00000000fff09200
      x0 : 00000000ff9f68b0 x1 : 0000000000000020
      x2 : 00000000fffb3540 x3 : 0000000000000001
      x4 : 0000000000000030 x5 : 00000000ff9e9594
      x6 : 0000000000000002 x7 : 00000000ff9e9540
      x8 : 00000000fffffff0 x9 : 0000000000000008
      x10: 000000000000000a x11: 0000000000000006
      x12: 000000000001869f x13: 00000000ff9e8eb0
      x14: 000000000000002e x15: 0000000000000000
      x16: 00000000fff813e4 x17: 0000000000000000
      x18: 00000000ff9eddc0 x19: 0000000000000020
      x20: 00000000fffb3500 x21: 00000000fffa3705
      x22: 0000000000000003 x23: 0000000000000200
      x24: 000000000000000e x25: 00000000ff9fa110
      x26: 0000000000000000 x27: 0000000000000000
      x28: 0000000000000000 x29: 00000000ff9e9430
      
      Code: 540001c0 a9408c01 f9400c02 927ef421 (f9000c62)
      Resetting CPU ...
      ```
      
      From a quick research, the abort happens in `drivers/usb/gadget/ether.c`
      rx_submit() tries to dereference a freed dev struct pointer.
      
      This backports upstream commit 718f1d414e ("usb: gadget: ether: Handle
      gadget driver registration in probe and remove"), which apparently fixes
      the sequence of des/registration.
      
      Signed-off-by: Ariel D'Alessandro's avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
      1f5366d2
    • Ariel D'Alessandro's avatar
      .gitlab-ci.yml: Use empty needs on first stage jobs · c9269b1e
      Ariel D'Alessandro authored
      
      These jobs don't have any dependencies, let's run them as soon as
      possible independently.
      
      Signed-off-by: Ariel D'Alessandro's avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
      c9269b1e
    • Ariel D'Alessandro's avatar
      .gitlab-ci.yml: Use lightweight runners · d7786234
      Ariel D'Alessandro authored
      
      Lightweight runners are kept on standby while for all other runners the
      VMs are provisioned on demand. So lightweight runners can start faster,
      more suitable for these short-running jobs.
      
      Signed-off-by: Ariel D'Alessandro's avatarAriel D'Alessandro <ariel.dalessandro@collabora.com>
      d7786234
  15. Dec 16, 2024
  16. Dec 10, 2024
  17. Dec 06, 2024
  18. Dec 04, 2024
  19. Dec 03, 2024
  20. Dec 02, 2024
  21. Nov 28, 2024
Loading