• 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 Frees...
    cc604ddd
ehci-fsl.c 11.8 KB