forked from luck/tmp_suning_uos_patched
MIPS: JZ4740: Probe OHCI platform device via DT
The DT fragment will select the ohci-platform driver, since that can handle the JZ4740 OHCI just fine. While I don't have a JZ4740-based board with anything connected to the USB host controller, I did test the generic OHCI driver successfully on a JZ4770-based board. The device is disabled by default; boards that want to use it can override the "status" property. The mass-production Qi LB60 boards don't use the USB host controller. Signed-off-by: Maarten ter Huurne <maarten@treewalker.org> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Paul Cercueil <paul@crapouillou.net> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/13104/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
46d6ccdbf3
commit
9d1e7875fa
|
@ -65,4 +65,18 @@ uart1: serial@10031000 {
|
||||||
clocks = <&ext>, <&cgu JZ4740_CLK_UART1>;
|
clocks = <&ext>, <&cgu JZ4740_CLK_UART1>;
|
||||||
clock-names = "baud", "module";
|
clock-names = "baud", "module";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uhc: uhc@13030000 {
|
||||||
|
compatible = "ingenic,jz4740-ohci", "generic-ohci";
|
||||||
|
reg = <0x13030000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&cgu JZ4740_CLK_UHC>;
|
||||||
|
assigned-clocks = <&cgu JZ4740_CLK_UHC>;
|
||||||
|
assigned-clock-rates = <48000000>;
|
||||||
|
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
interrupts = <3>;
|
||||||
|
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
extern struct platform_device jz4740_usb_ohci_device;
|
|
||||||
extern struct platform_device jz4740_udc_device;
|
extern struct platform_device jz4740_udc_device;
|
||||||
extern struct platform_device jz4740_udc_xceiv_device;
|
extern struct platform_device jz4740_udc_xceiv_device;
|
||||||
extern struct platform_device jz4740_mmc_device;
|
extern struct platform_device jz4740_mmc_device;
|
||||||
|
|
|
@ -32,31 +32,6 @@
|
||||||
|
|
||||||
#include "clock.h"
|
#include "clock.h"
|
||||||
|
|
||||||
/* OHCI controller */
|
|
||||||
static struct resource jz4740_usb_ohci_resources[] = {
|
|
||||||
{
|
|
||||||
.start = JZ4740_UHC_BASE_ADDR,
|
|
||||||
.end = JZ4740_UHC_BASE_ADDR + 0x1000 - 1,
|
|
||||||
.flags = IORESOURCE_MEM,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.start = JZ4740_IRQ_UHC,
|
|
||||||
.end = JZ4740_IRQ_UHC,
|
|
||||||
.flags = IORESOURCE_IRQ,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
struct platform_device jz4740_usb_ohci_device = {
|
|
||||||
.name = "jz4740-ohci",
|
|
||||||
.id = -1,
|
|
||||||
.dev = {
|
|
||||||
.dma_mask = &jz4740_usb_ohci_device.dev.coherent_dma_mask,
|
|
||||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
|
||||||
},
|
|
||||||
.num_resources = ARRAY_SIZE(jz4740_usb_ohci_resources),
|
|
||||||
.resource = jz4740_usb_ohci_resources,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* USB Device Controller */
|
/* USB Device Controller */
|
||||||
struct platform_device jz4740_udc_xceiv_device = {
|
struct platform_device jz4740_udc_xceiv_device = {
|
||||||
.name = "usb_phy_generic",
|
.name = "usb_phy_generic",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user