Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: ath79: add USB controller registration code for the QCA955X SoCs

Register platfom devices for the built-in USB
controllers of the SoCs.

Cc: Rodriguez, Luis <rodrigue@qca.qualcomm.com>
Cc: Giori, Kathy <kgiori@qca.qualcomm.com>
Cc: QCA Linux Team <qca-linux-team@qca.qualcomm.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/4952/
Signed-off-by: John Crispin <blogic@openwrt.org>

authored by

Gabor Juhos and committed by
John Crispin
82c46840 0a5f3b1c

+18
+15
arch/mips/ath79/dev-usb.c
··· 208 208 &ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2)); 209 209 } 210 210 211 + static void __init qca955x_usb_setup(void) 212 + { 213 + ath79_usb_register("ehci-platform", 0, 214 + QCA955X_EHCI0_BASE, QCA955X_EHCI_SIZE, 215 + ATH79_IP3_IRQ(0), 216 + &ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2)); 217 + 218 + ath79_usb_register("ehci-platform", 1, 219 + QCA955X_EHCI1_BASE, QCA955X_EHCI_SIZE, 220 + ATH79_IP3_IRQ(1), 221 + &ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2)); 222 + } 223 + 211 224 void __init ath79_register_usb(void) 212 225 { 213 226 if (soc_is_ar71xx()) ··· 235 222 ar933x_usb_setup(); 236 223 else if (soc_is_ar934x()) 237 224 ar934x_usb_setup(); 225 + else if (soc_is_qca955x()) 226 + qca955x_usb_setup(); 238 227 else 239 228 BUG(); 240 229 }
+3
arch/mips/include/asm/mach-ath79/ar71xx_regs.h
··· 109 109 110 110 #define QCA955X_WMAC_BASE (AR71XX_APB_BASE + 0x00100000) 111 111 #define QCA955X_WMAC_SIZE 0x20000 112 + #define QCA955X_EHCI0_BASE 0x1b000000 113 + #define QCA955X_EHCI1_BASE 0x1b400000 114 + #define QCA955X_EHCI_SIZE 0x1000 112 115 113 116 /* 114 117 * DDR_CTRL block