• Peter Tyser's avatar
    USB: ehci-fsl: Fix 'have_sysif_regs' detection · cc604ddd
    Peter Tyser authored
    Previously a check was done on an ID register at the base of a CPU's
    internal USB registers to determine if system interface regsiters were
    present.  The check looked for an ID register that had the format
    ID[0:5] == ~ID[8:13] as described in the MPC5121 User's Manual to
    determine if a MPC5121 or MPC83xx/85xx was being used.
    
    There are two issues with this method:
    - The ID register is not defined on the MPC83xx/85xx CPUs, so its
      unclear what is being checked on them.
    - Newer CPUs such as the P4080 also don't document the ID register, but
      do share the same format as the MPC5121.  Thus the previous code did
      not set 'have_sysif_regs' properly which results in the P4080 not
      properly initializing its USB ports.
    
    Using the device tree 'compatible' node is a cleaner way to determine if
    'have_sysif_regs' should be set and resolves the USB initialization issue
    seen on the P4080.
    
    Tested on a P4080-based system and compile tested on mpc512x_defconfig
    with Freescale EHCI driver enabled.
    
    Cc: Anatolij Gustschin <agust@denx.de>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Cc: Kumar Gala <galak@kernel.crashing.org>
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    cc604ddd
ehci-fsl.c 11.8 KB