ARM: imx: Remove mxc specific ulpi access ops
Subsystems (3)
PATCH v2 1/1 ARM: imx: Remove mxc specific ulpi access ops
There are ulpi access ops implemented in drivers/usb/phy/phy-ulpi.c. mxc access ops implement the same access operations within mach-imx. This patch removes the mxc ulpi file and uses phy-ulpi instead for imx_otg_ulpi_create.
phy-ulpi successfully tested with i.MX27 Phytec phyCARD-S (pca100).
---
Sascha: Please let me know if your Ack does not include the v2 changes.
Thanks,
Markus
Notes:
Changes in v2:
- Remove empty config symbol MXC_ULPI and replace all occurences with USB_ULPI_VIEWPORT
- Change header ifdef to be dependent on USB_ULPI_VIEWPORT
arch/arm/mach-imx/Kconfig | 29 +++++----- arch/arm/mach-imx/Makefile | 1 - arch/arm/mach-imx/mach-pca100.c | 4 +- arch/arm/mach-imx/ulpi.c | 118 ---------------------------------------- arch/arm/mach-imx/ulpi.h | 11 ++-- 5 files changed, 22 insertions(+), 141 deletions(-) delete mode 100644 arch/arm/mach-imx/ulpi.c
arch/arm/mach-imx/Kconfig +13 -16
@@ -56,9 +56,6 @@ config MXC_USE_EPIT uses the same clocks as the GPT. Anyway, on some systems the GPT may be in use for other purposes. -config MXC_ULPI - bool - config ARCH_HAS_RNGA bool
@@ -233,7 +230,7 @@ config MACH_EUKREA_CPUIMX25SD select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX25 choice
@@ -284,7 +281,7 @@ config MACH_PCM038 select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 select IMX_HAVE_PLATFORM_SPI_IMX - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for phyCORE-i.MX27 (aka pcm038) platform. This
@@ -314,7 +311,7 @@ config MACH_CPUIMX27 select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for Eukrea CPUIMX27 platform. This includes
@@ -369,7 +366,7 @@ config MACH_MX27_3DS select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_SPI_IMX select MXC_DEBUG_BOARD - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for MX27PDK platform. This includes specific
@@ -414,7 +411,7 @@ config MACH_PCA100 select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 select IMX_HAVE_PLATFORM_SPI_IMX - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for phyCARD-s (aka pca100) platform. This
@@ -481,7 +478,7 @@ config MACH_MX31LILLY select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_SPI_IMX - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for mx31 based LILLY1131 modules. This includes
@@ -497,7 +494,7 @@ config MACH_MX31LITE select IMX_HAVE_PLATFORM_MXC_RTC select IMX_HAVE_PLATFORM_SPI_IMX select LEDS_GPIO_REGISTER - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for MX31 LITEKIT platform. This includes specific
@@ -514,7 +511,7 @@ config MACH_PCM037 select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for Phytec pcm037 platform. This includes
@@ -544,7 +541,7 @@ config MACH_MX31_3DS select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SPI_IMX select MXC_DEBUG_BOARD - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for MX31PDK (3DS) platform. This includes specific
@@ -571,7 +568,7 @@ config MACH_MX31MOBOARD select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_SPI_IMX select LEDS_GPIO_REGISTER - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for mx31moboard platform. This includes specific
@@ -595,7 +592,7 @@ config MACH_ARMADILLO5X0 select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for Atmark Armadillo-500 platform. This includes
@@ -639,7 +636,7 @@ config MACH_PCM043 select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX35 help Include support for Phytec pcm043 platform. This includes
@@ -673,7 +670,7 @@ config MACH_EUKREA_CPUIMX35SD select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX - select MXC_ULPI if USB_ULPI + select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX35 help Include support for Eukrea CPUIMX35 platform. This includes
arch/arm/mach-imx/Makefile +0 -1
@@ -23,7 +23,6 @@ obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o obj-$(CONFIG_MXC_TZIC) += tzic.o obj-$(CONFIG_MXC_AVIC) += avic.o -obj-$(CONFIG_MXC_ULPI) += ulpi.o obj-$(CONFIG_MXC_USE_EPIT) += epit.o obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
arch/arm/mach-imx/mach-pca100.c +2 -2
@@ -398,8 +398,8 @@ static void __init pca100_init(void)imx27_add_fsl_usb2_udc (&otg_device_pdata); } - usbh2_pdata.otg =otg_ulpi_create (&mxc_ulpi_access_ops, -ULPI_OTG_DRVVBUS |ULPI_OTG_DRVVBUS_EXT ); + usbh2_pdata.otg =imx_otg_ulpi_create ( +ULPI_OTG_DRVVBUS |ULPI_OTG_DRVVBUS_EXT );if (usbh2_pdata.otg)imx27_add_mxc_ehci_hs (2 , &usbh2_pdata);
arch/arm/mach-imx/ulpi.c deleted +0 -118
118 lines not on this page · raw message
arch/arm/mach-imx/ulpi.h +7 -4
@@ -1,8 +1,13 @@ #ifndef __MACH_ULPI_H #define __MACH_ULPI_H -#ifdef CONFIG_USB_ULPI -struct usb_phy *imx_otg_ulpi_create(unsigned int flags); +#include <linux/usb/ulpi.h> + +#ifdef CONFIG_USB_ULPI_VIEWPORT +static inline struct usb_phy *imx_otg_ulpi_create(unsigned int flags) +{ + return otg_ulpi_create(&ulpi_viewport_access_ops, flags); +} #else static inline struct usb_phy *imx_otg_ulpi_create(unsigned int flags) {
@@ -10,7 +15,5 @@ static inline struct usb_phy *imx_otg_ulpi_create(unsigned int flags) }#endif -extern struct usb_phy_io_ops mxc_ulpi_access_ops; -#endif /* __MACH_ULPI_H */
Signature · 1 line
1.8.2.1
Fabio Estevam
reviewerPATCH v2 1/1 ARM: imx: Remove mxc specific ulpi access ops
Hi Markus,
Quoted 9 lines · Markus Pargmann
There are ulpi access ops implemented in
drivers/usb/phy/phy-ulpi.c. mxc access ops implement the same access operations within mach-imx. This patch removes the mxc ulpi file and uses phy-ulpi instead forimx_otg_ulpi_create.phy-ulpi successfully tested with i.MX27 Phytec phyCARD-S (pca100).
Signed-off-by Markus Pargmann <[email protected]>Acked-by Sascha Hauer <[email protected]>
Unrelated to this patch, but just out of curiosity: have you also try to use the chipidea driver with mx27?
Regards,
Fabio Estevam
PATCH v2 1/1 ARM: imx: Remove mxc specific ulpi access ops
Hi Fabio,
Quoted 8 lines · Fabio Estevam
Hi Markus,
Quoted 5 lines · Markus Pargmann
There are ulpi access ops implemented in
drivers/usb/phy/phy-ulpi.c. mxc access ops implement the same access operations within mach-imx. This patch removes the mxc ulpi file and uses phy-ulpi instead forimx_otg_ulpi_create.
Quoted 7 lines
Quoted 4 lines
phy-ulpi successfully tested with i.MX27 Phytec phyCARD-S (pca100).
Signed-off-by Markus Pargmann <[email protected]>Acked-by Sascha Hauer <[email protected]>Unrelated to this patch, but just out of curiosity: have you also try to use the chipidea driver with mx27?
Yes, I tried the chipidea driver with mx27 and created some patches for it. I didn't send the patches yet.
Regards,
Markus
Signature · 4 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Shawn Guo
AppliedPATCH v2 1/1 ARM: imx: Remove mxc specific ulpi access ops
In reply to Markus PargmannQuoted 9 lines · Markus Pargmann
There are ulpi access ops implemented in
drivers/usb/phy/phy-ulpi.c. mxc access ops implement the same access operations within mach-imx. This patch removes the mxc ulpi file and uses phy-ulpi instead forimx_otg_ulpi_create.phy-ulpi successfully tested with i.MX27 Phytec phyCARD-S (pca100).
Signed-off-by Markus Pargmann <[email protected]>Acked-by Sascha Hauer <[email protected]>
Applied, thanks.
Shawn