diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-01-17 14:30:44 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-01-20 11:15:00 +0100 |
commit | fdc5a0cbfcb32dc8978ae5a2470618b6bff20c55 (patch) | |
tree | de7ee94601119470110fff8363113c6ecf1742b2 /arch | |
parent | 75e71639e09d04ec00ef678eed5776f89ea22986 (diff) | |
download | barebox-fdc5a0cbfcb32dc8978ae5a2470618b6bff20c55.tar.gz barebox-fdc5a0cbfcb32dc8978ae5a2470618b6bff20c55.tar.xz |
ARM i.MX6: Add Chipidea support
This allows to register the USB ports for the chipidea driver. For
now the otg/h1 register functions also register the corresponding
USB phys.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-imx/imx6.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/include/mach/devices-imx6.h | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx6.c b/arch/arm/mach-imx/imx6.c index 37ee5d8487..b62f4128cc 100644 --- a/arch/arm/mach-imx/imx6.c +++ b/arch/arm/mach-imx/imx6.c @@ -68,6 +68,7 @@ static int imx6_init(void) add_generic_device("imx31-gpio", 5, NULL, MX6_GPIO6_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); add_generic_device("imx31-gpio", 6, NULL, MX6_GPIO7_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); add_generic_device("imx21-wdt", 0, NULL, MX6_WDOG1_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL); + add_generic_device("imx6-usb-misc", 0, NULL, MX6_USBOH3_USB_BASE_ADDR + 0x800, 0x100, IORESOURCE_MEM, NULL); return 0; } diff --git a/arch/arm/mach-imx/include/mach/devices-imx6.h b/arch/arm/mach-imx/include/mach/devices-imx6.h index 0f17016530..a9c7e8dfeb 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx6.h +++ b/arch/arm/mach-imx/include/mach/devices-imx6.h @@ -69,3 +69,29 @@ static inline struct device_d *imx6_add_sata(void) { return add_generic_device("imx6-sata", 0, NULL, MX6_SATA_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL); } + +static inline struct device_d *imx6_add_usbotg(void *pdata) +{ + add_generic_device("imx-usb-phy", 0, NULL, MX6_USBPHY1_BASE_ADDR, 0x1000, + IORESOURCE_MEM, NULL); + + return imx_add_usb((void *)MX6_USBOH3_USB_BASE_ADDR, 0, pdata); +} + +static inline struct device_d *imx6_add_usbh1(void *pdata) +{ + add_generic_device("imx-usb-phy", 1, NULL, MX6_USBPHY2_BASE_ADDR, 0x1000, + IORESOURCE_MEM, NULL); + + return imx_add_usb((void *)MX6_USBOH3_USB_BASE_ADDR + 0x200, 1, pdata); +} + +static inline struct device_d *imx6_add_usbh2(void *pdata) +{ + return imx_add_usb((void *)MX6_USBOH3_USB_BASE_ADDR + 0x400, 2, pdata); +} + +static inline struct device_d *imx6_add_usbh3(void *pdata) +{ + return imx_add_usb((void *)MX6_USBOH3_USB_BASE_ADDR + 0x600, 2, pdata); +} |