Skip to content
  • Havard Skinnemoen's avatar
    e23e7b12
    hw/arm/npcm7xx: Add EHCI and OHCI controllers · e23e7b12
    Havard Skinnemoen authored
    
    
    The NPCM730 and NPCM750 chips have a single USB host port shared between
    a USB 2.0 EHCI host controller and a USB 1.1 OHCI host controller. This
    adds support for both of them.
    
    Testing notes:
      * With -device usb-kbd, qemu will automatically insert a full-speed
        hub, and the keyboard becomes controlled by the OHCI controller.
      * With -device usb-kbd,bus=usb-bus.0,port=1, the keyboard is directly
        attached to the port without any hubs, and the device becomes
        controlled by the EHCI controller since it's high speed capable.
      * With -device usb-kbd,bus=usb-bus.0,port=1,usb_version=1, the
        keyboard is directly attached to the port, but it only advertises
        itself as full-speed capable, so it becomes controlled by the OHCI
        controller.
    
    In all cases, the keyboard device enumerates correctly.
    
    Reviewed-by: default avatarTyrone Ting <kfting@nuvoton.com>
    Reviewed-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: default avatarHavard Skinnemoen <hskinnemoen@google.com>
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    e23e7b12
    hw/arm/npcm7xx: Add EHCI and OHCI controllers
    Havard Skinnemoen authored
    
    
    The NPCM730 and NPCM750 chips have a single USB host port shared between
    a USB 2.0 EHCI host controller and a USB 1.1 OHCI host controller. This
    adds support for both of them.
    
    Testing notes:
      * With -device usb-kbd, qemu will automatically insert a full-speed
        hub, and the keyboard becomes controlled by the OHCI controller.
      * With -device usb-kbd,bus=usb-bus.0,port=1, the keyboard is directly
        attached to the port without any hubs, and the device becomes
        controlled by the EHCI controller since it's high speed capable.
      * With -device usb-kbd,bus=usb-bus.0,port=1,usb_version=1, the
        keyboard is directly attached to the port, but it only advertises
        itself as full-speed capable, so it becomes controlled by the OHCI
        controller.
    
    In all cases, the keyboard device enumerates correctly.
    
    Reviewed-by: default avatarTyrone Ting <kfting@nuvoton.com>
    Reviewed-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: default avatarHavard Skinnemoen <hskinnemoen@google.com>
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Loading