ARM: mmp: add a pxa-usb-phy device
authorLubomir Rintel <lkundrak@v3.sk>
Wed, 28 Nov 2018 17:53:21 +0000 (18:53 +0100)
committerOlof Johansson <olof@lixom.net>
Fri, 30 Nov 2018 23:40:22 +0000 (15:40 -0800)
This is to replace the USB PHY initialization code (pxa_usb_phy_init(),
pxa_usb_phy_deinit()) with a proper PHY driver.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-mmp/devices.c
arch/arm/mach-mmp/pxa910.h

index 0fca63c80e1a72f83f055334edb2430ca13666d1..822b8be042b9ce5a8ff3d7aedb9c6a8318e9c95a 100644 (file)
@@ -240,6 +240,27 @@ void pxa_usb_phy_deinit(void __iomem *phy_reg)
 #if IS_ENABLED(CONFIG_USB_SUPPORT)
 static u64 __maybe_unused usb_dma_mask = ~(u32)0;
 
+#if IS_ENABLED(CONFIG_PHY_PXA_USB)
+struct resource pxa168_usb_phy_resources[] = {
+       [0] = {
+               .start  = PXA168_U2O_PHYBASE,
+               .end    = PXA168_U2O_PHYBASE + USB_PHY_RANGE,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+struct platform_device pxa168_device_usb_phy = {
+       .name           = "pxa-usb-phy",
+       .id             = -1,
+       .resource       = pxa168_usb_phy_resources,
+       .num_resources  = ARRAY_SIZE(pxa168_usb_phy_resources),
+       .dev            =  {
+               .dma_mask       = &usb_dma_mask,
+               .coherent_dma_mask = 0xffffffff,
+       }
+};
+#endif /* CONFIG_PHY_PXA_USB */
+
 #if IS_ENABLED(CONFIG_USB_MV_UDC)
 struct resource pxa168_u2o_resources[] = {
        /* regbase */
index 42009c349eae8733a88b24b1bb0935e790dc3b77..2dfe38e4acc13ab5afd2647fac52ccbdf96e9cb6 100644 (file)
@@ -22,6 +22,7 @@ extern struct pxa_device_desc pxa910_device_pwm2;
 extern struct pxa_device_desc pxa910_device_pwm3;
 extern struct pxa_device_desc pxa910_device_pwm4;
 extern struct pxa_device_desc pxa910_device_nand;
+extern struct platform_device pxa168_device_usb_phy;
 extern struct platform_device pxa168_device_u2o;
 extern struct platform_device pxa168_device_u2ootg;
 extern struct platform_device pxa168_device_u2oehci;