Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 100d4597 authored by Tony Prisk's avatar Tony Prisk Committed by Greg Kroah-Hartman
Browse files

ARM: vt8500: Add support for UHCI companion controller



Add support for a generic non-pci UHCI companion controller.
Existing board files for arch-vt8500 updated to include UHCI
support.

Signed-off-by: default avatarTony Prisk <linux@prisktech.co.nz>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8ad551d1
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
Generic Platform UHCI controllers.

Required properties:
 - compatible: Should be "platform-uhci".
 - reg: Address range of the uhci registers
 - interrupts: Should contain the uhci interrupt.

usb: uhci@D8007301 {
	compatible = "platform-uhci", "usb-uhci";
	reg = <0xD8007301 0x200>;
	interrupts = <0>;
};
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ static struct platform_device *devices[] __initdata = {
	&vt8500_device_uart0,
	&vt8500_device_lcdc,
	&vt8500_device_ehci,
	&vt8500_device_uhci,
	&vt8500_device_ge_rops,
	&vt8500_device_pwm,
	&vt8500_device_pwmbl,
+5 −0
Original line number Diff line number Diff line
@@ -48,6 +48,11 @@ void __init vt8500_set_resources(void)
	tmp[1] = wmt_irq_res(IRQ_EHCI);
	wmt_res_add(&vt8500_device_ehci, tmp, 2);

	/* vt8500 uses a single IRQ for both EHCI and UHCI controllers */
	tmp[0] = wmt_mmio_res(VT8500_UHCI_BASE, SZ_512);
	tmp[1] = wmt_irq_res(IRQ_EHCI);
	wmt_res_add(&vt8500_device_uhci, tmp, 2);

	tmp[0] = wmt_mmio_res(VT8500_GEGEA_BASE, SZ_256);
	wmt_res_add(&vt8500_device_ge_rops, tmp, 1);

+4 −0
Original line number Diff line number Diff line
@@ -55,6 +55,10 @@ void __init wm8505_set_resources(void)
	tmp[1] = wmt_irq_res(IRQ_EHCI);
	wmt_res_add(&vt8500_device_ehci, tmp, 2);

	tmp[0] = wmt_mmio_res(WM8505_UHCI_BASE, SZ_512);
	tmp[1] = wmt_irq_res(IRQ_UHCI);
	wmt_res_add(&vt8500_device_uhci, tmp, 2);

	tmp[0] = wmt_mmio_res(WM8505_GEGEA_BASE, SZ_256);
	wmt_res_add(&vt8500_device_ge_rops, tmp, 1);

+11 −0
Original line number Diff line number Diff line
@@ -204,6 +204,17 @@ struct platform_device vt8500_device_ehci = {
	},
};

static u64 uhci_dma_mask = DMA_BIT_MASK(32);

struct platform_device vt8500_device_uhci = {
	.name		= "platform-uhci",
	.id		= 0,
	.dev		= {
		.dma_mask	= &uhci_dma_mask,
		.coherent_dma_mask = DMA_BIT_MASK(32),
	},
};

struct platform_device vt8500_device_ge_rops = {
	.name		= "wmt_ge_rops",
	.id		= -1,
Loading