Skip to contentSkip to conversation

da8xx USB PHY platform devices and clocks (was "da8xx UBS clocks")

PATCH Superseded David Lechner 5 participants 21 messages May 9, 2016 – Aug 19, 2016

Subsystems (4)

v5 of 8 Superseded Latest is v8 →

lore
Share & tools
lore
#0 lore raw

v5 cover da8xx USB PHY platform devices and clocks (was "da8xx UBS clocks")

v5 changes: renamed "usbphy" to "usb_phy" or "usb-phy" as appropriate

David Lechner (5):
ARM: davinci: da8xx: add usb phy clocks
ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.
ARM: davinci: da8xx: Add USB PHY platform declaration
ARM: DTS: da850: Add cfgchip syscon node
ARM: DTS: da850: Add usb phy node

 arch/arm/boot/dts/da850.dtsi                |   9 ++
 arch/arm/mach-davinci/board-da830-evm.c     |  52 +++----
 arch/arm/mach-davinci/board-da850-evm.c     |   4 +
 arch/arm/mach-davinci/board-mityomapl138.c  |   4 +
 arch/arm/mach-davinci/board-omapl138-hawk.c |  23 ++-
 arch/arm/mach-davinci/devices-da8xx.c       |  28 ++++
 arch/arm/mach-davinci/include/mach/da8xx.h  |   6 +
 arch/arm/mach-davinci/usb-da8xx.c           | 230 +++++++++++++++++++++++++++-
 8 files changed, 314 insertions(+), 42 deletions(-)
Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#1 lore raw

PATCH v5 1/5 ARM: davinci: da8xx: add usb phy clocks

Up to this point, the USB phy clock configuration was handled manually in the board files and in the usb drivers. This adds proper clocks so that the usb drivers can use clk_get and clk_enable and not have to worry about the details. Also, the related code is removed from the board files and replaced with the new clock registration functions.

---
 arch/arm/mach-davinci/board-da830-evm.c     |  22 ++-
 arch/arm/mach-davinci/board-omapl138-hawk.c |  16 +-
 arch/arm/mach-davinci/include/mach/da8xx.h  |   3 +
 arch/arm/mach-davinci/usb-da8xx.c           | 219 +++++++++++++++++++++++++++-
 4 files changed, 239 insertions(+), 21 deletions(-)
arch/arm/mach-davinci/board-da830-evm.c +10 -12
index 3d8cf8c..605d444 100644
@@ -115,18 +115,6 @@ static __init void da830_evm_usb_init(void)
 	 */
 	cfgchip2 = __raw_readl(DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
 
-	/* USB2.0 PHY reference clock is 24 MHz */
-	cfgchip2 &= ~CFGCHIP2_REFFREQ;
-	cfgchip2 |=  CFGCHIP2_REFFREQ_24MHZ;
-
-	/*
-	 * Select internal reference clock for USB 2.0 PHY
-	 * and use it as a clock source for USB 1.1 PHY
-	 * (this is the default setting anyway).
-	 */
-	cfgchip2 &= ~CFGCHIP2_USB1PHYCLKMUX;
-	cfgchip2 |=  CFGCHIP2_USB2PHYCLKMUX;
-
 	/*
 	 * We have to override VBUS/ID signals when MUSB is configured into the
 	 * host-only mode -- ID pin will float if no cable is connected, so the
@@ -143,6 +131,16 @@ static __init void da830_evm_usb_init(void)
 	__raw_writel(cfgchip2, DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
 
 	/* USB_REFCLKIN is not used. */
+	ret = da8xx_register_usb20_phy_clk(false);
+	if (ret)
+		pr_warn("%s: USB 2.0 PHY CLK registration failed: %d\n",
+			__func__, ret);
+
+	ret = da8xx_register_usb11_phy_clk(false);
+	if (ret)
+		pr_warn("%s: USB 1.1 PHY CLK registration failed: %d\n",
+			__func__, ret);
+
 	ret = davinci_cfg_reg(DA830_USB0_DRVVBUS);
 	if (ret)
 		pr_warn("%s: USB 2.0 PinMux setup failed: %d\n", __func__, ret);
arch/arm/mach-davinci/board-omapl138-hawk.c +9 -7
index ee62486..d4930b6 100644
@@ -243,7 +243,6 @@ static irqreturn_t omapl138_hawk_usb_ocic_irq(int irq, void *dev_id)
 static __init void omapl138_hawk_usb_init(void)
 {
 	int ret;
-	u32 cfgchip2;
 
 	ret = davinci_cfg_reg_list(da850_hawk_usb11_pins);
 	if (ret) {
@@ -251,12 +250,15 @@ static __init void omapl138_hawk_usb_init(void)
 		return;
 	}
 
-	/* Setup the Ref. clock frequency for the HAWK at 24 MHz. */
-
-	cfgchip2 = __raw_readl(DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
-	cfgchip2 &= ~CFGCHIP2_REFFREQ;
-	cfgchip2 |=  CFGCHIP2_REFFREQ_24MHZ;
-	__raw_writel(cfgchip2, DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
+	/* USB_REFCLKIN is not used. */
+	ret = da8xx_register_usb20_phy_clk(false);
+	if (ret)
+		pr_warn("%s: USB 2.0 PHY CLK registration failed: %d\n",
+			__func__, ret);
+	ret = da8xx_register_usb11_phy_clk(false);
+	if (ret)
+		pr_warn("%s: USB 1.1 PHY CLK registration failed: %d\n",
+			__func__, ret);
 
 	ret = gpio_request_one(DA850_USB1_VBUS_PIN,
 			GPIOF_DIR_OUT, "USB1 VBUS");
arch/arm/mach-davinci/include/mach/da8xx.h +3 -0
index f9f9713..c367530 100644
@@ -88,6 +88,9 @@ int da850_register_edma(struct edma_rsv_info *rsv[2]);
 int da8xx_register_i2c(int instance, struct davinci_i2c_platform_data *pdata);
 int da8xx_register_spi_bus(int instance, unsigned num_chipselect);
 int da8xx_register_watchdog(void);
+int da8xx_register_usb_refclkin(int rate);
+int da8xx_register_usb20_phy_clk(bool use_usb_refclkin);
+int da8xx_register_usb11_phy_clk(bool use_usb_refclkin);
 int da8xx_register_usb20(unsigned mA, unsigned potpgt);
 int da8xx_register_usb11(struct da8xx_ohci_root_hub *pdata);
 int da8xx_register_emac(void);
arch/arm/mach-davinci/usb-da8xx.c +217 -2

237 lines not on this page · raw message

Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#2 lore raw

PATCH v5 2/5 ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

In reply to David Lechner

The CFGCHIP registers are used by a number of devices, so using a syscon device to share them. The first consumer of this will by the phy-da8xx-usb driver.

---
 arch/arm/mach-davinci/board-da830-evm.c     |  4 ++++
 arch/arm/mach-davinci/board-da850-evm.c     |  4 ++++
 arch/arm/mach-davinci/board-mityomapl138.c  |  4 ++++
 arch/arm/mach-davinci/board-omapl138-hawk.c |  4 ++++
 arch/arm/mach-davinci/devices-da8xx.c       | 28 ++++++++++++++++++++++++++++
 arch/arm/mach-davinci/include/mach/da8xx.h  |  2 ++
 6 files changed, 46 insertions(+)
arch/arm/mach-davinci/board-da830-evm.c +4 -0
index 605d444..3051cb6 100644
@@ -586,6 +586,10 @@ static __init void da830_evm_init(void)
 	struct davinci_soc_info *soc_info = &davinci_soc_info;
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	ret = da830_register_gpio();
 	if (ret)
 		pr_warn("%s: GPIO init failed: %d\n", __func__, ret);
arch/arm/mach-davinci/board-da850-evm.c +4 -0
index 8e4539f..ec5cb10 100644
@@ -1345,6 +1345,10 @@ static __init void da850_evm_init(void)
 {
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	ret = da850_register_gpio();
 	if (ret)
 		pr_warn("%s: GPIO init failed: %d\n", __func__, ret);
arch/arm/mach-davinci/board-mityomapl138.c +4 -0
index bc4e63f..1a6d430 100644
@@ -514,6 +514,10 @@ static void __init mityomapl138_init(void)
 {
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	/* for now, no special EDMA channels are reserved */
 	ret = da850_register_edma(NULL);
 	if (ret)
arch/arm/mach-davinci/board-omapl138-hawk.c +4 -0
index d4930b6..8691a25 100644
@@ -294,6 +294,10 @@ static __init void omapl138_hawk_init(void)
 {
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	ret = da850_register_gpio();
 	if (ret)
 		pr_warn("%s: GPIO init failed: %d\n", __func__, ret);
arch/arm/mach-davinci/devices-da8xx.c +28 -0
index 725e693..69d11a1 100644
@@ -11,6 +11,7 @@
  * (at your option) any later version.
  */
 #include <linux/init.h>
+#include <linux/platform_data/syscon.h>
 #include <linux/platform_device.h>
 #include <linux/dma-contiguous.h>
 #include <linux/serial_8250.h>
@@ -1109,3 +1110,30 @@ int __init da850_register_sata(unsigned long refclkpn)
 	return platform_device_register(&da850_sata_device);
 }
 #endif
+
+static struct syscon_platform_data da8xx_cfgchip_platform_data = {
+	.label	= "cfgchip",
+};
+
+static struct resource da8xx_cfgchip_resources[] = {
+	{
+		.start	= DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP0_REG,
+		.end	= DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP4_REG + 3,
+		.flags	= IORESOURCE_MEM,
+	},
+};
+
+static struct platform_device da8xx_cfgchip_device = {
+	.name	= "syscon",
+	.id	= 0,
+	.dev	= {
+		.platform_data	= &da8xx_cfgchip_platform_data,
+	},
+	.num_resources	= ARRAY_SIZE(da8xx_cfgchip_resources),
+	.resource	= da8xx_cfgchip_resources,
+};
+
+int __init da8xx_register_cfgchip(void)
+{
+	return platform_device_register(&da8xx_cfgchip_device);
+}
arch/arm/mach-davinci/include/mach/da8xx.h +2 -0
index c367530..c32444b 100644
@@ -61,6 +61,7 @@ extern unsigned int da850_max_speed;
 #define DA8XX_CFGCHIP1_REG	0x180
 #define DA8XX_CFGCHIP2_REG	0x184
 #define DA8XX_CFGCHIP3_REG	0x188
+#define DA8XX_CFGCHIP4_REG	0x18c
 
 #define DA8XX_SYSCFG1_BASE	(IO_PHYS + 0x22C000)
 #define DA8XX_SYSCFG1_VIRT(x)	(da8xx_syscfg1_base + (x))
@@ -116,6 +117,7 @@ void da8xx_rproc_reserve_cma(void);
 int da8xx_register_rproc(void);
 int da850_register_gpio(void);
 int da830_register_gpio(void);
+int da8xx_register_cfgchip(void);
 
 extern struct platform_device da8xx_serial_device[];
 extern struct emac_platform_data da8xx_emac_pdata;
Signature · 1 line
2.7.4
#3 lore raw

Re: [PATCH v5 2/5] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

Quoted 5 lines · David Lechner

The CFGCHIP registers are used by a number of devices, so using a syscon device to share them. The first consumer of this will by the phy-da8xx-usb driver.

[...]

Quoted 22 lines
arch/arm/mach-davinci/devices-da8xx.c +7 -0
index 725e693..69d11a1 100644
@@ -11,6 +11,7 @@
  * (at your option) any later version.
  */
 #include <linux/init.h>
+#include <linux/platform_data/syscon.h>
 #include <linux/platform_device.h>
 #include <linux/dma-contiguous.h>
 #include <linux/serial_8250.h>
@@ -1109,3 +1110,30 @@ int __init da850_register_sata(unsigned long refclkpn)
 	return platform_device_register(&da850_sata_device);
 }
 #endif
+
+static struct syscon_platform_data da8xx_cfgchip_platform_data = {
+	.label	= "cfgchip",
+};
+
+static struct resource da8xx_cfgchip_resources[] = {

arch/arm/mach-davinci/devices-da8xx.c int __init da850_register_sata(unsigned long refclkpn) · line 1128

Quoted 10 lines
arch/arm/mach-davinci/devices-da8xx.c +10 -0
+	{
+		.start	= DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP0_REG,
+		.end	= DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP4_REG + 3,
+		.flags	= IORESOURCE_MEM,
+	},
+};
+
+static struct platform_device da8xx_cfgchip_device = {
+	.name	= "syscon",
+	.id	= 0,

Again, -1.

[...]

MBR, Sergei

#4 lore raw

Re: [PATCH v5 2/5] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

Quoted 46 lines · Sergei Shtylyov
Quoted 6 lines · David Lechner

The CFGCHIP registers are used by a number of devices, so using a syscon device to share them. The first consumer of this will by the phy-da8xx-usb
driver.

[...]

Quoted 24 lines
arch/arm/mach-davinci/devices-da8xx.c +7 -0
index 725e693..69d11a1 100644
@@ -11,6 +11,7 @@
  * (at your option) any later version.
  */
 #include <linux/init.h>
+#include <linux/platform_data/syscon.h>
 #include <linux/platform_device.h>
 #include <linux/dma-contiguous.h>
 #include <linux/serial_8250.h>
@@ -1109,3 +1110,30 @@ int __init da850_register_sata(unsigned long
 refclkpn)
     return platform_device_register(&da850_sata_device);
 }
 #endif
+
+static struct syscon_platform_data da8xx_cfgchip_platform_data = {
+    .label    = "cfgchip",
+};
+
+static struct resource da8xx_cfgchip_resources[] = {

arch/arm/mach-davinci/devices-da8xx.c int __init da850_register_sata(unsigned long · line 1128

Quoted 10 lines
arch/arm/mach-davinci/devices-da8xx.c +10 -0
+    {
+        .start    = DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP0_REG,
+        .end    = DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP4_REG + 3,
+        .flags    = IORESOURCE_MEM,
+    },
+};
+
+static struct platform_device da8xx_cfgchip_device = {
+    .name    = "syscon",
+    .id    = 0,
    Again, -1.
Quoted 4 lines

[...]

MBR, Sergei

I wish you would have noticed this when I first submitted it. I remember going back and forth about this. But it has been too long and I can't remember the reason why I chose to go this way.

It seems like changing it broke something with either this one or the phy device and I opted to keep it this way on both to be consistent. For example, the USB devices both use id = 0 as well even though there are only one of each type.

#5 lore raw

Re: [PATCH v5 2/5] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

Quoted 52 lines · David Lechner
Quoted 46 lines · Sergei Shtylyov
Quoted 6 lines · David Lechner

The CFGCHIP registers are used by a number of devices, so using a syscon device to share them. The first consumer of this will by the phy-da8xx-usb
driver.

[...]

Quoted 24 lines
arch/arm/mach-davinci/devices-da8xx.c +7 -0
index 725e693..69d11a1 100644
@@ -11,6 +11,7 @@
  * (at your option) any later version.
  */
 #include <linux/init.h>
+#include <linux/platform_data/syscon.h>
 #include <linux/platform_device.h>
 #include <linux/dma-contiguous.h>
 #include <linux/serial_8250.h>
@@ -1109,3 +1110,30 @@ int __init da850_register_sata(unsigned long
 refclkpn)
     return platform_device_register(&da850_sata_device);
 }
 #endif
+
+static struct syscon_platform_data da8xx_cfgchip_platform_data = {
+    .label    = "cfgchip",
+};
+
+static struct resource da8xx_cfgchip_resources[] = {

arch/arm/mach-davinci/devices-da8xx.c int __init da850_register_sata(unsigned long · line 1128

Quoted 10 lines
arch/arm/mach-davinci/devices-da8xx.c +10 -0
+    {
+        .start    = DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP0_REG,
+        .end    = DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP4_REG + 3,
+        .flags    = IORESOURCE_MEM,
+    },
+};
+
+static struct platform_device da8xx_cfgchip_device = {
+    .name    = "syscon",
+    .id    = 0,
    Again, -1.
Quoted 4 lines

[...]

MBR, Sergei

Quoted 8 lines

I wish you would have noticed this when I first submitted it. I remember going back and forth about this. But it has been too long and I can't remember the reason why I chose to go this way.

It seems like changing it broke something with either this one or the phy device and I opted to keep it this way on both to be consistent. For example, the USB devices both use id = 0 as well even though there are only one of each type.

Agree with Sergei here. Can you confirm what broke exactly? I think the USB needs to be fixed too.

Thanks,
Sekhar

#6 lore raw

Re: [PATCH v5 2/5] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

From b0ae5eeba849b49f82980218a374c6d3f06487b8 Mon Sep 17 00:00:00 2001
From: David Lechner <[email protected]>
Date: Thu, 24 Mar 2016 01:38:54 -0500
Subject: [PATCH] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

The CFGCHIP registers are used by a number of devices, so using a syscon device to share them. The first consumer of this will by the phy-da8xx-usb driver.

---

the id of syscon is changed from 0 to -1.

 arch/arm/mach-davinci/board-da830-evm.c     |  4 ++++
 arch/arm/mach-davinci/board-da850-evm.c     |  4 ++++
 arch/arm/mach-davinci/board-mityomapl138.c  |  4 ++++
 arch/arm/mach-davinci/board-omapl138-hawk.c |  4 ++++
 arch/arm/mach-davinci/devices-da8xx.c       | 28 
++++++++++++++++++++++++++++
 arch/arm/mach-davinci/include/mach/da8xx.h  |  2 ++
 6 files changed, 46 insertions(+)
arch/arm/mach-davinci/board-da830-evm.c +4 -0
index 605d444..3051cb6 100644
@@ -586,6 +586,10 @@ static __init void da830_evm_init(void)
 	struct davinci_soc_info *soc_info = &davinci_soc_info;
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	ret = da830_register_gpio();
 	if (ret)
 		pr_warn("%s: GPIO init failed: %d\n", __func__, ret);
arch/arm/mach-davinci/board-da850-evm.c +4 -0
index 8e4539f..ec5cb10 100644
@@ -1345,6 +1345,10 @@ static __init void da850_evm_init(void)
 {
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	ret = da850_register_gpio();
 	if (ret)
 		pr_warn("%s: GPIO init failed: %d\n", __func__, ret);
arch/arm/mach-davinci/board-mityomapl138.c +4 -0
index bc4e63f..1a6d430 100644
@@ -514,6 +514,10 @@ static void __init mityomapl138_init(void)
 {
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	/* for now, no special EDMA channels are reserved */
 	ret = da850_register_edma(NULL);
 	if (ret)
arch/arm/mach-davinci/board-omapl138-hawk.c +4 -0
index d4930b6..8691a25 100644
@@ -294,6 +294,10 @@ static __init void omapl138_hawk_init(void)
 {
 	int ret;
 
+	ret = da8xx_register_cfgchip();
+	if (ret)
+		pr_warn("%s: CFGCHIP registration failed: %d\n", __func__, ret);
+
 	ret = da850_register_gpio();
 	if (ret)
 		pr_warn("%s: GPIO init failed: %d\n", __func__, ret);
arch/arm/mach-davinci/devices-da8xx.c +28 -0
index 725e693..bf5f145 100644
@@ -11,6 +11,7 @@
  * (at your option) any later version.
  */
 #include <linux/init.h>
+#include <linux/platform_data/syscon.h>
 #include <linux/platform_device.h>
 #include <linux/dma-contiguous.h>
 #include <linux/serial_8250.h>
@@ -1109,3 +1110,30 @@ int __init da850_register_sata(unsigned long refclkpn)
 	return platform_device_register(&da850_sata_device);
 }
 #endif
+
+static struct syscon_platform_data da8xx_cfgchip_platform_data = {
+	.label	= "cfgchip",
+};
+
+static struct resource da8xx_cfgchip_resources[] = {
+	{
+		.start	= DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP0_REG,
+		.end	= DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP4_REG + 3,
+		.flags	= IORESOURCE_MEM,
+	},
+};
+
+static struct platform_device da8xx_cfgchip_device = {
+	.name	= "syscon",
+	.id	= -1,
+	.dev	= {
+		.platform_data	= &da8xx_cfgchip_platform_data,
+	},
+	.num_resources	= ARRAY_SIZE(da8xx_cfgchip_resources),
+	.resource	= da8xx_cfgchip_resources,
+};
+
+int __init da8xx_register_cfgchip(void)
+{
+	return platform_device_register(&da8xx_cfgchip_device);
+}
arch/arm/mach-davinci/include/mach/da8xx.h +2 -0
index c367530..c32444b 100644
@@ -61,6 +61,7 @@ extern unsigned int da850_max_speed;
 #define DA8XX_CFGCHIP1_REG	0x180
 #define DA8XX_CFGCHIP2_REG	0x184
 #define DA8XX_CFGCHIP3_REG	0x188
+#define DA8XX_CFGCHIP4_REG	0x18c
 
 #define DA8XX_SYSCFG1_BASE	(IO_PHYS + 0x22C000)
 #define DA8XX_SYSCFG1_VIRT(x)	(da8xx_syscfg1_base + (x))
@@ -116,6 +117,7 @@ void da8xx_rproc_reserve_cma(void);
 int da8xx_register_rproc(void);
 int da850_register_gpio(void);
 int da830_register_gpio(void);
+int da8xx_register_cfgchip(void);
 
 extern struct platform_device da8xx_serial_device[];
 extern struct emac_platform_data da8xx_emac_pdata;
Signature · 1 line
2.7.4
#7 lore raw

Re: [PATCH v5 2/5] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

In reply to Sekhar Nori
Quoted 62 lines · Sekhar Nori
Quoted 52 lines · David Lechner
Quoted 46 lines · Sergei Shtylyov
Quoted 6 lines · David Lechner

The CFGCHIP registers are used by a number of devices, so using a syscon device to share them. The first consumer of this will by the phy-da8xx-usb
driver.

[...]

Quoted 24 lines
arch/arm/mach-davinci/devices-da8xx.c +7 -0
index 725e693..69d11a1 100644
@@ -11,6 +11,7 @@
   * (at your option) any later version.
   */
  #include <linux/init.h>
+#include <linux/platform_data/syscon.h>
  #include <linux/platform_device.h>
  #include <linux/dma-contiguous.h>
  #include <linux/serial_8250.h>
@@ -1109,3 +1110,30 @@ int __init da850_register_sata(unsigned long
 refclkpn)
      return platform_device_register(&da850_sata_device);
  }
  #endif
+
+static struct syscon_platform_data da8xx_cfgchip_platform_data = {
+    .label    = "cfgchip",
+};
+
+static struct resource da8xx_cfgchip_resources[] = {

arch/arm/mach-davinci/devices-da8xx.c int __init da850_register_sata(unsigned long · line 1128

Quoted 10 lines
arch/arm/mach-davinci/devices-da8xx.c +10 -0
+    {
+        .start    = DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP0_REG,
+        .end    = DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP4_REG + 3,
+        .flags    = IORESOURCE_MEM,
+    },
+};
+
+static struct platform_device da8xx_cfgchip_device = {
+    .name    = "syscon",
+    .id    = 0,
     Again, -1.
Quoted 4 lines

[...]

MBR, Sergei

Quoted 8 lines

I wish you would have noticed this when I first submitted it. I remember going back and forth about this. But it has been too long and I can't remember the reason why I chose to go this way.

It seems like changing it broke something with either this one or the phy device and I opted to keep it this way on both to be consistent. For example, the USB devices both use id = 0 as well even though there are only one of each type.

Quoted 6 lines

Agree with Sergei here. Can you confirm what broke exactly? I think the USB needs to be fixed too.

Thanks,
Sekhar

I have made the changes from id = 0 to id = -1. I'm not sure what broke before, but it is working now.

Re: USB needing fixed, I'm not sure how to do this and I won't have time for at least the next 2 or 3 months to do anything about it. The problem is that the MUSB can't detect the ID pin. As a workaround, it is detecting the VBUS state and using that to determine the ID pin state. So, when you attach a self-powered device, it tells the VBUS to turn off, which in turn triggers the workaround to say that the ID pin has changed state.

If anyone has any ideas on what to do about this, I will be glad to have a look at it. It will just have to wait a bit though.

#8 lore raw

Re: [PATCH v5 2/5] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

Quoted 4 lines · David Lechner
Quoted 3 lines · Sekhar Nori
Quoted 2 lines · David Lechner
Quoted 1 line · Sergei Shtylyov

On 5/10/2016 2:46 AM, David Lechner wrote:

[...]

Quoted 23 lines
Quoted 23 lines
Quoted 11 lines
Quoted 10 lines

arch/arm/mach-davinci/devices-da8xx.c int __init da850_register_sata(unsigned long refclkpn) · line 1128

Quoted 3 lines
arch/arm/mach-davinci/devices-da8xx.c +3 -0
+static struct platform_device da8xx_cfgchip_device = {
+    .name    = "syscon",
+    .id    = 0,
     Again, -1.

[...]

MBR, Sergei

Quoted 8 lines

I wish you would have noticed this when I first submitted it. I remember going back and forth about this. But it has been too long and I can't remember the reason why I chose to go this way.

It seems like changing it broke something with either this one or the phy device and I opted to keep it this way on both to be consistent. For example, the USB devices both use id = 0 as well even though there are only one of each type.

Agree with Sergei here. Can you confirm what broke exactly? I think the USB needs to be fixed too.

Quoted 6 lines
Quoted 3 lines

Thanks,
Sekhar

I have made the changes from id = 0 to id = -1. I'm not sure what broke before, but it is working now.

Thanks!

Quoted 8 lines

Re: USB needing fixed, I'm not sure how to do this and I won't have time for at least the next 2 or 3 months to do anything about it. The problem is that the MUSB can't detect the ID pin. As a workaround, it is detecting the VBUS state and using that to determine the ID pin state. So, when you attach a self-powered device, it tells the VBUS to turn off, which in turn triggers the workaround to say that the ID pin has changed state.

I seem to be missing the original problem report. Can you provide a link to the discussion?

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#9 lore raw

Re: [PATCH v5 2/5] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.

Quoted 9 lines
Quoted 8 lines

Re: USB needing fixed, I'm not sure how to do this and I won't have time for at least the next 2 or 3 months to do anything about it. The problem is that the MUSB can't detect the ID pin. As a workaround, it is detecting the VBUS state and using that to determine the ID pin state. So, when you attach a self-powered device, it tells the VBUS to turn off, which in turn triggers the workaround to say that the ID pin has changed state.

Quoted 6 lines

I seem to be missing the original problem report. Can you provide a link to the discussion?

Thanks,
Sekhar

Here is the thread: https://lkml.org/lkml/2016/5/9/942

#10 lore raw

PATCH v5 3/5 ARM: davinci: da8xx: Add USB PHY platform declaration

In reply to David Lechner

There is now a proper phy driver for the DA8xx SoC USB PHY. This adds the platform device declarations needed to use it.

---
 arch/arm/mach-davinci/board-da830-evm.c     | 28 +++++-----------------------
 arch/arm/mach-davinci/board-omapl138-hawk.c |  5 +++++
 arch/arm/mach-davinci/include/mach/da8xx.h  |  1 +
 arch/arm/mach-davinci/usb-da8xx.c           | 11 +++++++++++
 4 files changed, 22 insertions(+), 23 deletions(-)
arch/arm/mach-davinci/board-da830-evm.c +5 -23
index 3051cb6..c62766e 100644
@@ -26,7 +26,6 @@
 #include <linux/platform_data/mtd-davinci.h>
 #include <linux/platform_data/mtd-davinci-aemif.h>
 #include <linux/platform_data/spi-davinci.h>
-#include <linux/platform_data/usb-davinci.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -106,30 +105,8 @@ static irqreturn_t da830_evm_usb_ocic_irq(int irq, void *dev_id)
 
 static __init void da830_evm_usb_init(void)
 {
-	u32 cfgchip2;
 	int ret;
 
-	/*
-	 * Set up USB clock/mode in the CFGCHIP2 register.
-	 * FYI:  CFGCHIP2 is 0x0000ef00 initially.
-	 */
-	cfgchip2 = __raw_readl(DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
-
-	/*
-	 * We have to override VBUS/ID signals when MUSB is configured into the
-	 * host-only mode -- ID pin will float if no cable is connected, so the
-	 * controller won't be able to drive VBUS thinking that it's a B-device.
-	 * Otherwise, we want to use the OTG mode and enable VBUS comparators.
-	 */
-	cfgchip2 &= ~CFGCHIP2_OTGMODE;
-#ifdef	CONFIG_USB_MUSB_HOST
-	cfgchip2 |=  CFGCHIP2_FORCE_HOST;
-#else
-	cfgchip2 |=  CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN;
-#endif
-
-	__raw_writel(cfgchip2, DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
-
 	/* USB_REFCLKIN is not used. */
 	ret = da8xx_register_usb20_phy_clk(false);
 	if (ret)
@@ -141,6 +118,11 @@ static __init void da830_evm_usb_init(void)
 		pr_warn("%s: USB 1.1 PHY CLK registration failed: %d\n",
 			__func__, ret);
 
+	ret = da8xx_register_usb_phy();
+	if (ret)
+		pr_warn("%s: USB PHY registration failed: %d\n",
+			__func__, ret);
+
 	ret = davinci_cfg_reg(DA830_USB0_DRVVBUS);
 	if (ret)
 		pr_warn("%s: USB 2.0 PinMux setup failed: %d\n", __func__, ret);
arch/arm/mach-davinci/board-omapl138-hawk.c +5 -0
index 8691a25..c5cb8d9 100644
@@ -260,6 +260,11 @@ static __init void omapl138_hawk_usb_init(void)
 		pr_warn("%s: USB 1.1 PHY CLK registration failed: %d\n",
 			__func__, ret);
 
+	ret = da8xx_register_usb_phy();
+	if (ret)
+		pr_warn("%s: USB PHY registration failed: %d\n",
+			__func__, ret);
+
 	ret = gpio_request_one(DA850_USB1_VBUS_PIN,
 			GPIOF_DIR_OUT, "USB1 VBUS");
 	if (ret < 0) {
arch/arm/mach-davinci/include/mach/da8xx.h +1 -0
index c32444b..38d932e 100644
@@ -92,6 +92,7 @@ int da8xx_register_watchdog(void);
 int da8xx_register_usb_refclkin(int rate);
 int da8xx_register_usb20_phy_clk(bool use_usb_refclkin);
 int da8xx_register_usb11_phy_clk(bool use_usb_refclkin);
+int da8xx_register_usb_phy(void);
 int da8xx_register_usb20(unsigned mA, unsigned potpgt);
 int da8xx_register_usb11(struct da8xx_ohci_root_hub *pdata);
 int da8xx_register_emac(void);
arch/arm/mach-davinci/usb-da8xx.c +11 -0
index c524d9e..9e41a7f 100644
@@ -7,6 +7,7 @@
 #include <linux/platform_data/usb-davinci.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/da8xx-cfgchip.h>
+#include <linux/phy/phy.h>
 #include <linux/usb/musb.h>
 
 #include <mach/clock.h>
@@ -230,6 +231,16 @@ int __init da8xx_register_usb11_phy_clk(bool use_usb_refclkin)
 	return ret;
 }
 
+static struct platform_device da8xx_usb_phy = {
+	.name		= "da8xx-usb-phy",
+	.id		= 0,
+};
+
+int __init da8xx_register_usb_phy(void)
+{
+	return platform_device_register(&da8xx_usb_phy);
+}
+
 #if IS_ENABLED(CONFIG_USB_MUSB_HDRC)
 
 static struct musb_hdrc_config musb_config = {
Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#11 lore raw

Re: [PATCH v5 3/5] ARM: davinci: da8xx: Add USB PHY platform declaration

Hello.

Quoted 4 lines · David Lechner

There is now a proper phy driver for the DA8xx SoC USB PHY. This adds the platform device declarations needed to use it.

[...]

Quoted 4 lines
arch/arm/mach-davinci/include/mach/da8xx.h +0 -0
index c32444b..38d932e 100644

[...]

arch/arm/mach-davinci/include/mach/da8xx.h int __init da8xx_register_usb11_phy_clk(bool use_usb_refclkin) · line 236

Quoted 7 lines
arch/arm/mach-davinci/include/mach/da8xx.h +3 -0
@@ -230,6 +231,16 @@ int __init da8xx_register_usb11_phy_clk(bool use_usb_refclkin)
 	return ret;
 }
 
+static struct platform_device da8xx_usb_phy = {
+	.name		= "da8xx-usb-phy",
+	.id		= 0,

I'd have used -1 here, as this PHY device is singular.

[...]

MBR, Sergei

#12 lore raw

Re: [PATCH v5 3/5] ARM: davinci: da8xx: Add USB PHY platform declaration

From 53c9b38e0a7860e51ce7bdfe6d4f1d83cf2394a5 Mon Sep 17 00:00:00 2001
From: David Lechner <[email protected]>
Date: Wed, 16 Mar 2016 14:25:23 -0500
Subject: [PATCH] ARM: davinci: da8xx: Add USB PHY platform declaration

There is now a proper phy driver for the DA8xx SoC USB PHY. This adds the platform device declarations needed to use it.

---

id = 0 is changed to id = -1

 arch/arm/mach-davinci/board-da830-evm.c     | 28 
+++++-----------------------
 arch/arm/mach-davinci/board-omapl138-hawk.c |  5 +++++
 arch/arm/mach-davinci/include/mach/da8xx.h  |  1 +
 arch/arm/mach-davinci/usb-da8xx.c           | 11 +++++++++++
 4 files changed, 22 insertions(+), 23 deletions(-)
arch/arm/mach-davinci/board-da830-evm.c +5 -23
index 3051cb6..c62766e 100644
@@ -26,7 +26,6 @@
 #include <linux/platform_data/mtd-davinci.h>
 #include <linux/platform_data/mtd-davinci-aemif.h>
 #include <linux/platform_data/spi-davinci.h>
-#include <linux/platform_data/usb-davinci.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -106,30 +105,8 @@ static irqreturn_t da830_evm_usb_ocic_irq(int irq, void *dev_id)
 
 static __init void da830_evm_usb_init(void)
 {
-	u32 cfgchip2;
 	int ret;
 
-	/*
-	 * Set up USB clock/mode in the CFGCHIP2 register.
-	 * FYI:  CFGCHIP2 is 0x0000ef00 initially.
-	 */
-	cfgchip2 = __raw_readl(DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
-
-	/*
-	 * We have to override VBUS/ID signals when MUSB is configured into the
-	 * host-only mode -- ID pin will float if no cable is connected, so the
-	 * controller won't be able to drive VBUS thinking that it's a B-device.
-	 * Otherwise, we want to use the OTG mode and enable VBUS comparators.
-	 */
-	cfgchip2 &= ~CFGCHIP2_OTGMODE;
-#ifdef	CONFIG_USB_MUSB_HOST
-	cfgchip2 |=  CFGCHIP2_FORCE_HOST;
-#else
-	cfgchip2 |=  CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN;
-#endif
-
-	__raw_writel(cfgchip2, DA8XX_SYSCFG0_VIRT(DA8XX_CFGCHIP2_REG));
-
 	/* USB_REFCLKIN is not used. */
 	ret = da8xx_register_usb20_phy_clk(false);
 	if (ret)
@@ -141,6 +118,11 @@ static __init void da830_evm_usb_init(void)
 		pr_warn("%s: USB 1.1 PHY CLK registration failed: %d\n",
 			__func__, ret);
 
+	ret = da8xx_register_usb_phy();
+	if (ret)
+		pr_warn("%s: USB PHY registration failed: %d\n",
+			__func__, ret);
+
 	ret = davinci_cfg_reg(DA830_USB0_DRVVBUS);
 	if (ret)
 		pr_warn("%s: USB 2.0 PinMux setup failed: %d\n", __func__, ret);
arch/arm/mach-davinci/board-omapl138-hawk.c +5 -0
index 8691a25..c5cb8d9 100644
@@ -260,6 +260,11 @@ static __init void omapl138_hawk_usb_init(void)
 		pr_warn("%s: USB 1.1 PHY CLK registration failed: %d\n",
 			__func__, ret);
 
+	ret = da8xx_register_usb_phy();
+	if (ret)
+		pr_warn("%s: USB PHY registration failed: %d\n",
+			__func__, ret);
+
 	ret = gpio_request_one(DA850_USB1_VBUS_PIN,
 			GPIOF_DIR_OUT, "USB1 VBUS");
 	if (ret < 0) {
arch/arm/mach-davinci/include/mach/da8xx.h +1 -0
index c32444b..38d932e 100644
@@ -92,6 +92,7 @@ int da8xx_register_watchdog(void);
 int da8xx_register_usb_refclkin(int rate);
 int da8xx_register_usb20_phy_clk(bool use_usb_refclkin);
 int da8xx_register_usb11_phy_clk(bool use_usb_refclkin);
+int da8xx_register_usb_phy(void);
 int da8xx_register_usb20(unsigned mA, unsigned potpgt);
 int da8xx_register_usb11(struct da8xx_ohci_root_hub *pdata);
 int da8xx_register_emac(void);
arch/arm/mach-davinci/usb-da8xx.c +11 -0
index c524d9e..7c3175f 100644
@@ -7,6 +7,7 @@
 #include <linux/platform_data/usb-davinci.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/da8xx-cfgchip.h>
+#include <linux/phy/phy.h>
 #include <linux/usb/musb.h>
 
 #include <mach/clock.h>
@@ -230,6 +231,16 @@ int __init da8xx_register_usb11_phy_clk(bool use_usb_refclkin)
 	return ret;
 }
 
+static struct platform_device da8xx_usb_phy = {
+	.name		= "da8xx-usb-phy",
+	.id		= -1,
+};
+
+int __init da8xx_register_usb_phy(void)
+{
+	return platform_device_register(&da8xx_usb_phy);
+}
+
 #if IS_ENABLED(CONFIG_USB_MUSB_HDRC)
 
 static struct musb_hdrc_config musb_config = {
Signature · 1 line
2.7.4
#13 lore raw

PATCH v5 4/5 ARM: DTS: da850: Add cfgchip syscon node

In reply to David Lechner

Add a syscon node for the SoC CFGCHIPn registers. This is needed for the new usb phy driver.

---
 arch/arm/boot/dts/da850.dtsi | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm/boot/dts/da850.dtsi +4 -0
index cf1aad8..9546ace 100644
@@ -168,6 +168,10 @@
 			};
 
 		};
+		cfgchip: cfgchip@1417c {
+			compatible = "ti,da830-cfgchip", "syscon";
+			reg = <0x1417c 0x14>;
+		};
 		edma0: edma@0 {
 			compatible = "ti,edma3-tpcc";
 			/* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#14 lore raw

PATCH v5 5/5 ARM: DTS: da850: Add usb phy node

In reply to David Lechner

Add a node for the new usb phy driver.

---
 arch/arm/boot/dts/da850.dtsi | 5 +++++
 1 file changed, 5 insertions(+)
arch/arm/boot/dts/da850.dtsi +5 -0
index 9546ace..b2ebbe5 100644
@@ -351,6 +351,11 @@
 					>;
 			status = "disabled";
 		};
+		usb_phy: usb-phy {
+			compatible = "ti,da830-usb-phy";
+			#phy-cells = <1>;
+			status = "disabled";
+		};
 		gpio: gpio@226000 {
 			compatible = "ti,dm6441-gpio";
 			gpio-controller;
Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#15 lore raw
In reply to David Lechner
Quoted 9 lines · David Lechner

v5 changes: renamed "usbphy" to "usb_phy" or "usb-phy" as appropriate

David Lechner (5):
ARM: davinci: da8xx: add usb phy clocks
ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.
ARM: davinci: da8xx: Add USB PHY platform declaration
ARM: DTS: da850: Add cfgchip syscon node
ARM: DTS: da850: Add usb phy node

Quoted 10 lines
  arch/arm/boot/dts/da850.dtsi                |   9 ++
  arch/arm/mach-davinci/board-da830-evm.c     |  52 +++----
  arch/arm/mach-davinci/board-da850-evm.c     |   4 +
  arch/arm/mach-davinci/board-mityomapl138.c  |   4 +
  arch/arm/mach-davinci/board-omapl138-hawk.c |  23 ++-
  arch/arm/mach-davinci/devices-da8xx.c       |  28 ++++
  arch/arm/mach-davinci/include/mach/da8xx.h  |   6 +
  arch/arm/mach-davinci/usb-da8xx.c           | 230 +++++++++++++++++++++++++++-
  8 files changed, 314 insertions(+), 42 deletions(-)

What should I be doing to keep this moving along?

#16 lore raw
Quoted 22 lines · David Lechner
Quoted 9 lines · David Lechner

v5 changes: renamed "usbphy" to "usb_phy" or "usb-phy" as appropriate

David Lechner (5):
ARM: davinci: da8xx: add usb phy clocks
ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration.
ARM: davinci: da8xx: Add USB PHY platform declaration
ARM: DTS: da850: Add cfgchip syscon node
ARM: DTS: da850: Add usb phy node

Quoted 11 lines
  arch/arm/boot/dts/da850.dtsi                |   9 ++
  arch/arm/mach-davinci/board-da830-evm.c     |  52 +++----
  arch/arm/mach-davinci/board-da850-evm.c     |   4 +
  arch/arm/mach-davinci/board-mityomapl138.c  |   4 +
  arch/arm/mach-davinci/board-omapl138-hawk.c |  23 ++-
  arch/arm/mach-davinci/devices-da8xx.c       |  28 ++++
  arch/arm/mach-davinci/include/mach/da8xx.h  |   6 +
  arch/arm/mach-davinci/usb-da8xx.c           | 230
+++++++++++++++++++++++++++-
  8 files changed, 314 insertions(+), 42 deletions(-)
Quoted 1 line

What should I be doing to keep this moving along?

We need the related driver changes to be applied first. I could then use an immutable branch to push the platform changes against.

I did take a look at the patches and they look good to me. Except the one comment from Sergei which I just now indicated that I agree with.

Thanks,
Sekhar

#17 lore raw
Quoted 4 lines · Sekhar Nori
Quoted 3 lines · David Lechner
Quoted 2 lines · David Lechner

v5 changes: renamed "usbphy" to "usb_phy" or "usb-phy" as appropriate

[...]

Quoted 8 lines
Quoted 2 lines

What should I be doing to keep this moving along?

We need the related driver changes to be applied first. I could then use an immutable branch to push the platform changes against.

I did take a look at the patches and they look good to me. Except the one comment from Sergei which I just now indicated that I agree with.

Just checking on the status of this. I'm not seeing the driver changes in mainline yet.

Any update?

Kevin

#18 lore raw

Hi Kevin,

Quoted 14 lines · Kevin Hilman
Quoted 4 lines · Sekhar Nori
Quoted 3 lines · David Lechner
Quoted 2 lines · David Lechner

v5 changes: renamed "usbphy" to "usb_phy" or "usb-phy" as appropriate

[...]

Quoted 6 lines
Quoted 2 lines

What should I be doing to keep this moving along?

We need the related driver changes to be applied first. I could then use an immutable branch to push the platform changes against.

Quoted 7 lines
Quoted 2 lines

I did take a look at the patches and they look good to me. Except the one comment from Sergei which I just now indicated that I agree with.

Just checking on the status of this. I'm not seeing the driver changes in mainline yet.

Any update?

phy driver is already merged which actually introduced a compilation error. The fix for it is currently queued in linux-phy -fixes and it should be merged in this -rc cycle.
I think it would be better if David Lechner re-spins the series re-based on top of latest mainline kernel and then merged by Bin/Alan.

Thanks
Kishon

#19 lore raw

David,

Quoted 24 lines · Kishon Vijay Abraham I

Hi Kevin,

Quoted 20 lines · Kevin Hilman
Quoted 4 lines · Sekhar Nori
Quoted 3 lines · David Lechner
Quoted 2 lines · David Lechner

v5 changes: renamed "usbphy" to "usb_phy" or "usb-phy" as appropriate

[...]

Quoted 8 lines
Quoted 2 lines

What should I be doing to keep this moving along?

We need the related driver changes to be applied first. I could then use an immutable branch to push the platform changes against.

I did take a look at the patches and they look good to me. Except the one comment from Sergei which I just now indicated that I agree with.

Just checking on the status of this. I'm not seeing the driver changes in mainline yet.

Quoted 7 lines
Quoted 1 line

Any update?

phy driver is already merged which actually introduced a compilation error. The fix for it is currently queued in linux-phy -fixes and it should be merged in this -rc cycle.
I think it would be better if David Lechner re-spins the series re-based on top of latest mainline kernel and then merged by Bin/Alan.

Does this work for you?

Kevin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#20 lore raw
Quoted 35 lines · Kevin Hilman

David,

Quoted 24 lines · Kishon Vijay Abraham I

Hi Kevin,

Quoted 20 lines · Kevin Hilman
Quoted 4 lines · Sekhar Nori
Quoted 3 lines · David Lechner
Quoted 2 lines · David Lechner

v5 changes: renamed "usbphy" to "usb_phy" or "usb-phy" as appropriate

[...]

Quoted 8 lines
Quoted 2 lines

What should I be doing to keep this moving along?

We need the related driver changes to be applied first. I could then use an immutable branch to push the platform changes against.

I did take a look at the patches and they look good to me. Except the one comment from Sergei which I just now indicated that I agree with.

Just checking on the status of this. I'm not seeing the driver changes in mainline yet.

Quoted 7 lines
Quoted 1 line

Any update?

phy driver is already merged which actually introduced a compilation error. The fix for it is currently queued in linux-phy -fixes and it should be merged in this -rc cycle.
I think it would be better if David Lechner re-spins the series re-based on top of latest mainline kernel and then merged by Bin/Alan.

Quoted 4 lines

Does this work for you?

Kevin

Yes, I try to get this done in the next few days.