]> git.karo-electronics.de Git - karo-tx-linux.git/commit
USB: bcma: support old USB 2.0 controller on Northstar devices
authorRafał Miłecki <rafal@milecki.pl>
Wed, 10 Aug 2016 09:56:46 +0000 (11:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Aug 2016 14:25:59 +0000 (16:25 +0200)
commitd6b76c4ddb124dd22c6e910ca9332e472e7b3273
treeeb743699e2273c7277b796d15a293c8d0b203aeb
parent6e958051cb0742dd54bb61528c130bd6eaecae0d
USB: bcma: support old USB 2.0 controller on Northstar devices

Currently bcma-hcd driver handles 3 different bcma cores:
1) BCMA_CORE_USB20_HOST (0x819)
2) BCMA_CORE_NS_USB20 (0x504)
3) BCMA_CORE_NS_USB30 (0x505)

The first one was introduced years ago and so far was used on MIPS
devices only. All Northstar (ARM) devices were using other two cores
which allowed easy implementation of separated initialization paths.

It seems however Broadcom decided to reuse this old USB 2.0 controller
on some recently introduced cheaper Northstar BCM53573 SoCs. I noticed
this on Tenda AC9 (based on BCM47189B0 belonging to BCM53573 family).

There is no difference in this old controller core identification
between MIPS and ARM devices: they share the same id and revision. We
need different controller initialization procedure however.
To handle this add a check for architecture and implement required
initialization for ARM case.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/bcma-hcd.c
include/linux/bcma/bcma_regs.h