Message ID | 1443012841-13673-1-git-send-email-sbhatta@xilinx.com |
---|---|
State | Under Review, archived |
Headers | show |
On Wed, Sep 23, 2015 at 06:24:01PM +0530, Subbaraya Sundeep Bhatta wrote: > This patch adds binding doc info for generic ULPI PHYs > platform driver. > > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> > --- > .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 ++++++++++++++++++++ > 1 files changed, 34 insertions(+), 0 deletions(-) > create mode 100644 Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > > diff --git a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > new file mode 100644 > index 0000000..7b8cbb4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > @@ -0,0 +1,34 @@ > +Platform driver for generic ULPI PHYs > + > +Required properties: > +- compatible : Should be "ulpi-phy" > +- reg : Physical base address and size of the USB > + controller registers map to which this PHY > + is connected. > +- view-port : Should contain viewport register offset of the > + USB controller to which this PHY is connected > +Optional properties: > +- drv-vbus : required if turning VBUS on/off has to be driven > + by writing to PHY. This feature depends on board > + design. > + > +Example: > +Below example shows the PHY binding for Chipidea USB controller which has > +ulpi viewport register at 0x0170 > + > + usb_phy0: phy0 { > + compatible = "ulpi-phy"; > + reg = <0xe0002000 0x1000>; > + view-port = <0x0170>; > + drv-vbus; > + }; > + > + usb0: usb@e0002000 { > + compatible = "chipidea,usb2"; > + interrupt-parent = <&intc>; > + interrupts = <0 21 4>; > + reg = <0xe0002000 0x1000>; Although just call devm_ioremap twice for the same register region does not cause any errors, I am not sure if it will has other potential problems. Cc: arm list. > + phy_type = "ulpi"; > + dr_mode = "host"; > + usb-phy = <&usb_phy0>; > + }; > -- > 1.7.1 >
Hi Peter, > -----Original Message----- > From: Peter Chen [mailto:peter.chen@freescale.com] > Sent: Thursday, September 24, 2015 2:41 PM > To: Subbaraya Sundeep Bhatta > Cc: balbi@ti.com; devicetree@vger.kernel.org; kishon@ti.com; > gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux- > kernel@vger.kernel.org; Punnaiah Choudary Kalluri; Subbaraya Sundeep Bhatta; > linux-arm-kernel@lists.infradead.org > Subject: Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI platform driver > > On Wed, Sep 23, 2015 at 06:24:01PM +0530, Subbaraya Sundeep Bhatta > wrote: > > This patch adds binding doc info for generic ULPI PHYs platform > > driver. > > > > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> > > --- > > .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 > ++++++++++++++++++++ > > 1 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 > > Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > > > > diff --git > > a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > > b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > > new file mode 100644 > > index 0000000..7b8cbb4 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > > @@ -0,0 +1,34 @@ > > +Platform driver for generic ULPI PHYs > > + > > +Required properties: > > +- compatible : Should be "ulpi-phy" > > +- reg : Physical base address and size of the USB > > + controller registers map to which this PHY > > + is connected. > > +- view-port : Should contain viewport register offset of the > > + USB controller to which this PHY is connected Optional > > +properties: > > +- drv-vbus : required if turning VBUS on/off has to be driven > > + by writing to PHY. This feature depends on board > > + design. > > + > > +Example: > > +Below example shows the PHY binding for Chipidea USB controller which > > +has ulpi viewport register at 0x0170 > > + > > + usb_phy0: phy0 { > > + compatible = "ulpi-phy"; > > + reg = <0xe0002000 0x1000>; > > + view-port = <0x0170>; > > + drv-vbus; > > + }; > > + > > + usb0: usb@e0002000 { > > + compatible = "chipidea,usb2"; > > + interrupt-parent = <&intc>; > > + interrupts = <0 21 4>; > > + reg = <0xe0002000 0x1000>; > > Although just call devm_ioremap twice for the same register region does not > cause any errors, I am not sure if it will has other potential problems. Cc: arm > list. Yes Peter I was also in doubt to call devm_ioremap twice for same register region. devm_ioremap_resource complained hence modified to devm_ioremap. Thanks for adding arm-list. Sundeep > > > + phy_type = "ulpi"; > > + dr_mode = "host"; > > + usb-phy = <&usb_phy0>; > > + }; > > -- > > 1.7.1 > > > > -- > > Best Regards, > Peter Chen -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Sep 23, 2015 at 7:54 AM, Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xilinx.com> wrote: > This patch adds binding doc info for generic ULPI PHYs > platform driver. > > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> > --- > .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 ++++++++++++++++++++ > 1 files changed, 34 insertions(+), 0 deletions(-) > create mode 100644 Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > > diff --git a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > new file mode 100644 > index 0000000..7b8cbb4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > @@ -0,0 +1,34 @@ > +Platform driver for generic ULPI PHYs Platform driver has nothing to do with DT bindings. > + > +Required properties: > +- compatible : Should be "ulpi-phy" This needs a more specific compatible in addition. > +- reg : Physical base address and size of the USB > + controller registers map to which this PHY > + is connected. > +- view-port : Should contain viewport register offset of the > + USB controller to which this PHY is connected This is a property of the controller, not the phy. > +Optional properties: > +- drv-vbus : required if turning VBUS on/off has to be driven > + by writing to PHY. This feature depends on board > + design. > + > +Example: > +Below example shows the PHY binding for Chipidea USB controller which has > +ulpi viewport register at 0x0170 > + > + usb_phy0: phy0 { > + compatible = "ulpi-phy"; > + reg = <0xe0002000 0x1000>; > + view-port = <0x0170>; > + drv-vbus; > + }; > + > + usb0: usb@e0002000 { > + compatible = "chipidea,usb2"; > + interrupt-parent = <&intc>; > + interrupts = <0 21 4>; > + reg = <0xe0002000 0x1000>; > + phy_type = "ulpi"; > + dr_mode = "host"; > + usb-phy = <&usb_phy0>; usb-phy is deprecated. Use phys and the generic phy binding instead. > + }; > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Sep 24, 2015 at 4:26 AM, Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xilinx.com> wrote: > Hi Peter, > >> -----Original Message----- >> From: Peter Chen [mailto:peter.chen@freescale.com] >> Sent: Thursday, September 24, 2015 2:41 PM >> To: Subbaraya Sundeep Bhatta >> Cc: balbi@ti.com; devicetree@vger.kernel.org; kishon@ti.com; >> gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux- >> kernel@vger.kernel.org; Punnaiah Choudary Kalluri; Subbaraya Sundeep Bhatta; >> linux-arm-kernel@lists.infradead.org >> Subject: Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI platform driver >> >> On Wed, Sep 23, 2015 at 06:24:01PM +0530, Subbaraya Sundeep Bhatta >> wrote: >> > This patch adds binding doc info for generic ULPI PHYs platform >> > driver. >> > >> > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> >> > --- >> > .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 >> ++++++++++++++++++++ >> > 1 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 >> > Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> > >> > diff --git >> > a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> > b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> > new file mode 100644 >> > index 0000000..7b8cbb4 >> > --- /dev/null >> > +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> > @@ -0,0 +1,34 @@ >> > +Platform driver for generic ULPI PHYs >> > + >> > +Required properties: >> > +- compatible : Should be "ulpi-phy" >> > +- reg : Physical base address and size of the USB >> > + controller registers map to which this PHY >> > + is connected. >> > +- view-port : Should contain viewport register offset of the >> > + USB controller to which this PHY is connected Optional >> > +properties: >> > +- drv-vbus : required if turning VBUS on/off has to be driven >> > + by writing to PHY. This feature depends on board >> > + design. >> > + >> > +Example: >> > +Below example shows the PHY binding for Chipidea USB controller which >> > +has ulpi viewport register at 0x0170 >> > + >> > + usb_phy0: phy0 { >> > + compatible = "ulpi-phy"; >> > + reg = <0xe0002000 0x1000>; >> > + view-port = <0x0170>; >> > + drv-vbus; >> > + }; >> > + >> > + usb0: usb@e0002000 { >> > + compatible = "chipidea,usb2"; >> > + interrupt-parent = <&intc>; >> > + interrupts = <0 21 4>; >> > + reg = <0xe0002000 0x1000>; >> >> Although just call devm_ioremap twice for the same register region does not >> cause any errors, I am not sure if it will has other potential problems. Cc: arm >> list. > > Yes Peter I was also in doubt to call devm_ioremap twice for same register region. > devm_ioremap_resource complained hence modified to devm_ioremap. Thanks for > adding arm-list. Don't put overlapping resources in the DT. Having 2 drivers accessing the same registers is not a clean or safe design. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Sep 24, 2015 at 11:18:01AM -0500, Rob Herring wrote: > On Thu, Sep 24, 2015 at 4:26 AM, Subbaraya Sundeep Bhatta > <subbaraya.sundeep.bhatta@xilinx.com> wrote: > > Hi Peter, > > > >> -----Original Message----- > >> From: Peter Chen [mailto:peter.chen@freescale.com] > >> Sent: Thursday, September 24, 2015 2:41 PM > >> To: Subbaraya Sundeep Bhatta > >> Cc: balbi@ti.com; devicetree@vger.kernel.org; kishon@ti.com; > >> gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux- > >> kernel@vger.kernel.org; Punnaiah Choudary Kalluri; Subbaraya Sundeep Bhatta; > >> linux-arm-kernel@lists.infradead.org > >> Subject: Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI platform driver > >> > >> On Wed, Sep 23, 2015 at 06:24:01PM +0530, Subbaraya Sundeep Bhatta > >> wrote: > >> > This patch adds binding doc info for generic ULPI PHYs platform > >> > driver. > >> > > >> > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> > >> > --- > >> > .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 > >> ++++++++++++++++++++ > >> > 1 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 > >> > Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >> > > >> > diff --git > >> > a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >> > b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >> > new file mode 100644 > >> > index 0000000..7b8cbb4 > >> > --- /dev/null > >> > +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >> > @@ -0,0 +1,34 @@ > >> > +Platform driver for generic ULPI PHYs > >> > + > >> > +Required properties: > >> > +- compatible : Should be "ulpi-phy" > >> > +- reg : Physical base address and size of the USB > >> > + controller registers map to which this PHY > >> > + is connected. > >> > +- view-port : Should contain viewport register offset of the > >> > + USB controller to which this PHY is connected Optional > >> > +properties: > >> > +- drv-vbus : required if turning VBUS on/off has to be driven > >> > + by writing to PHY. This feature depends on board > >> > + design. > >> > + > >> > +Example: > >> > +Below example shows the PHY binding for Chipidea USB controller which > >> > +has ulpi viewport register at 0x0170 > >> > + > >> > + usb_phy0: phy0 { > >> > + compatible = "ulpi-phy"; > >> > + reg = <0xe0002000 0x1000>; > >> > + view-port = <0x0170>; > >> > + drv-vbus; > >> > + }; > >> > + > >> > + usb0: usb@e0002000 { > >> > + compatible = "chipidea,usb2"; > >> > + interrupt-parent = <&intc>; > >> > + interrupts = <0 21 4>; > >> > + reg = <0xe0002000 0x1000>; > >> > >> Although just call devm_ioremap twice for the same register region does not > >> cause any errors, I am not sure if it will has other potential problems. Cc: arm > >> list. > > > > Yes Peter I was also in doubt to call devm_ioremap twice for same register region. > > devm_ioremap_resource complained hence modified to devm_ioremap. Thanks for > > adding arm-list. > > Don't put overlapping resources in the DT. Having 2 drivers accessing > the same registers is not a clean or safe design. thanks, saves me the trouble of saying the same thing. Bottom line, if devm_ioremap_resource() fails, you're wrong. Just fix your driver and move on.
On Wed, Sep 30, 2015 at 9:48 PM, Felipe Balbi <balbi@ti.com> wrote: > On Thu, Sep 24, 2015 at 11:18:01AM -0500, Rob Herring wrote: >> On Thu, Sep 24, 2015 at 4:26 AM, Subbaraya Sundeep Bhatta >> <subbaraya.sundeep.bhatta@xilinx.com> wrote: >> > Hi Peter, >> > >> >> -----Original Message----- >> >> From: Peter Chen [mailto:peter.chen@freescale.com] >> >> Sent: Thursday, September 24, 2015 2:41 PM >> >> To: Subbaraya Sundeep Bhatta >> >> Cc: balbi@ti.com; devicetree@vger.kernel.org; kishon@ti.com; >> >> gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux- >> >> kernel@vger.kernel.org; Punnaiah Choudary Kalluri; Subbaraya Sundeep Bhatta; >> >> linux-arm-kernel@lists.infradead.org >> >> Subject: Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI platform driver >> >> >> >> On Wed, Sep 23, 2015 at 06:24:01PM +0530, Subbaraya Sundeep Bhatta >> >> wrote: >> >> > This patch adds binding doc info for generic ULPI PHYs platform >> >> > driver. >> >> > >> >> > Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> >> >> > --- >> >> > .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 >> >> ++++++++++++++++++++ >> >> > 1 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 >> >> > Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> >> > >> >> > diff --git >> >> > a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> >> > b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> >> > new file mode 100644 >> >> > index 0000000..7b8cbb4 >> >> > --- /dev/null >> >> > +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >> >> > @@ -0,0 +1,34 @@ >> >> > +Platform driver for generic ULPI PHYs >> >> > + >> >> > +Required properties: >> >> > +- compatible : Should be "ulpi-phy" >> >> > +- reg : Physical base address and size of the USB >> >> > + controller registers map to which this PHY >> >> > + is connected. >> >> > +- view-port : Should contain viewport register offset of the >> >> > + USB controller to which this PHY is connected Optional >> >> > +properties: >> >> > +- drv-vbus : required if turning VBUS on/off has to be driven >> >> > + by writing to PHY. This feature depends on board >> >> > + design. >> >> > + >> >> > +Example: >> >> > +Below example shows the PHY binding for Chipidea USB controller which >> >> > +has ulpi viewport register at 0x0170 >> >> > + >> >> > + usb_phy0: phy0 { >> >> > + compatible = "ulpi-phy"; >> >> > + reg = <0xe0002000 0x1000>; >> >> > + view-port = <0x0170>; >> >> > + drv-vbus; >> >> > + }; >> >> > + >> >> > + usb0: usb@e0002000 { >> >> > + compatible = "chipidea,usb2"; >> >> > + interrupt-parent = <&intc>; >> >> > + interrupts = <0 21 4>; >> >> > + reg = <0xe0002000 0x1000>; >> >> >> >> Although just call devm_ioremap twice for the same register region does not >> >> cause any errors, I am not sure if it will has other potential problems. Cc: arm >> >> list. >> > >> > Yes Peter I was also in doubt to call devm_ioremap twice for same register region. >> > devm_ioremap_resource complained hence modified to devm_ioremap. Thanks for >> > adding arm-list. >> >> Don't put overlapping resources in the DT. Having 2 drivers accessing >> the same registers is not a clean or safe design. > > thanks, saves me the trouble of saying the same thing. > > Bottom line, if devm_ioremap_resource() fails, you're wrong. Just fix > your driver and move on. Any suggestions on how to move further? Chipidea controller provides ulpi view port register for accessing the usb phy registers. Now we want to add new driver for ulpi phy configuration and that obviously it need of ulpi view port register access. So, sharing the register space between these two drivers is necessary here. Regards, Punnaiah > > -- > balbi -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On Sunday 11 October 2015 04:45 PM, punnaiah choudary kalluri wrote: > On Wed, Sep 30, 2015 at 9:48 PM, Felipe Balbi <balbi@ti.com> wrote: >> On Thu, Sep 24, 2015 at 11:18:01AM -0500, Rob Herring wrote: >>> On Thu, Sep 24, 2015 at 4:26 AM, Subbaraya Sundeep Bhatta >>> <subbaraya.sundeep.bhatta@xilinx.com> wrote: >>>> Hi Peter, >>>> >>>>> -----Original Message----- >>>>> From: Peter Chen [mailto:peter.chen@freescale.com] >>>>> Sent: Thursday, September 24, 2015 2:41 PM >>>>> To: Subbaraya Sundeep Bhatta >>>>> Cc: balbi@ti.com; devicetree@vger.kernel.org; kishon@ti.com; >>>>> gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux- >>>>> kernel@vger.kernel.org; Punnaiah Choudary Kalluri; Subbaraya Sundeep Bhatta; >>>>> linux-arm-kernel@lists.infradead.org >>>>> Subject: Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI platform driver >>>>> >>>>> On Wed, Sep 23, 2015 at 06:24:01PM +0530, Subbaraya Sundeep Bhatta >>>>> wrote: >>>>>> This patch adds binding doc info for generic ULPI PHYs platform >>>>>> driver. >>>>>> >>>>>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> >>>>>> --- >>>>>> .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 >>>>> ++++++++++++++++++++ >>>>>> 1 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 >>>>>> Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >>>>>> >>>>>> diff --git >>>>>> a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >>>>>> b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >>>>>> new file mode 100644 >>>>>> index 0000000..7b8cbb4 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt >>>>>> @@ -0,0 +1,34 @@ >>>>>> +Platform driver for generic ULPI PHYs >>>>>> + >>>>>> +Required properties: >>>>>> +- compatible : Should be "ulpi-phy" >>>>>> +- reg : Physical base address and size of the USB >>>>>> + controller registers map to which this PHY >>>>>> + is connected. >>>>>> +- view-port : Should contain viewport register offset of the >>>>>> + USB controller to which this PHY is connected Optional >>>>>> +properties: >>>>>> +- drv-vbus : required if turning VBUS on/off has to be driven >>>>>> + by writing to PHY. This feature depends on board >>>>>> + design. >>>>>> + >>>>>> +Example: >>>>>> +Below example shows the PHY binding for Chipidea USB controller which >>>>>> +has ulpi viewport register at 0x0170 >>>>>> + >>>>>> + usb_phy0: phy0 { >>>>>> + compatible = "ulpi-phy"; >>>>>> + reg = <0xe0002000 0x1000>; >>>>>> + view-port = <0x0170>; >>>>>> + drv-vbus; >>>>>> + }; >>>>>> + >>>>>> + usb0: usb@e0002000 { >>>>>> + compatible = "chipidea,usb2"; >>>>>> + interrupt-parent = <&intc>; >>>>>> + interrupts = <0 21 4>; >>>>>> + reg = <0xe0002000 0x1000>; >>>>> >>>>> Although just call devm_ioremap twice for the same register region does not >>>>> cause any errors, I am not sure if it will has other potential problems. Cc: arm >>>>> list. >>>> >>>> Yes Peter I was also in doubt to call devm_ioremap twice for same register region. >>>> devm_ioremap_resource complained hence modified to devm_ioremap. Thanks for >>>> adding arm-list. >>> >>> Don't put overlapping resources in the DT. Having 2 drivers accessing >>> the same registers is not a clean or safe design. >> >> thanks, saves me the trouble of saying the same thing. >> >> Bottom line, if devm_ioremap_resource() fails, you're wrong. Just fix >> your driver and move on. > > Any suggestions on how to move further? > Chipidea controller provides ulpi view port register for accessing the > usb phy registers. Now we want to add new driver for ulpi phy configuration > and that obviously it need of ulpi view port register access. So, sharing the > register space between these two drivers is necessary here. Why not program ULPI the same way as DWC3 does? Thanks Kishon -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Kishon, > -----Original Message----- > From: Kishon Vijay Abraham I [mailto:kishon@ti.com] > Sent: Sunday, October 11, 2015 8:11 PM > To: Punnaiah Choudary Kalluri; balbi@ti.com > Cc: Rob Herring; Subbaraya Sundeep Bhatta; Peter Chen; > devicetree@vger.kernel.org; gregkh@linuxfoundation.org; linux- > usb@vger.kernel.org; linux-kernel@vger.kernel.org; linux-arm- > kernel@lists.infradead.org > Subject: Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI platform driver > > Hi, > > On Sunday 11 October 2015 04:45 PM, punnaiah choudary kalluri wrote: > > On Wed, Sep 30, 2015 at 9:48 PM, Felipe Balbi <balbi@ti.com> wrote: > >> On Thu, Sep 24, 2015 at 11:18:01AM -0500, Rob Herring wrote: > >>> On Thu, Sep 24, 2015 at 4:26 AM, Subbaraya Sundeep Bhatta > >>> <subbaraya.sundeep.bhatta@xilinx.com> wrote: > >>>> Hi Peter, > >>>> > >>>>> -----Original Message----- > >>>>> From: Peter Chen [mailto:peter.chen@freescale.com] > >>>>> Sent: Thursday, September 24, 2015 2:41 PM > >>>>> To: Subbaraya Sundeep Bhatta > >>>>> Cc: balbi@ti.com; devicetree@vger.kernel.org; kishon@ti.com; > >>>>> gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux- > >>>>> kernel@vger.kernel.org; Punnaiah Choudary Kalluri; Subbaraya > >>>>> Sundeep Bhatta; linux-arm-kernel@lists.infradead.org > >>>>> Subject: Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI > >>>>> platform driver > >>>>> > >>>>> On Wed, Sep 23, 2015 at 06:24:01PM +0530, Subbaraya Sundeep > Bhatta > >>>>> wrote: > >>>>>> This patch adds binding doc info for generic ULPI PHYs platform > >>>>>> driver. > >>>>>> > >>>>>> Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> > >>>>>> --- > >>>>>> .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 > >>>>> ++++++++++++++++++++ > >>>>>> 1 files changed, 34 insertions(+), 0 deletions(-) create mode > >>>>>> 100644 > >>>>>> Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >>>>>> > >>>>>> diff --git > >>>>>> a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >>>>>> b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >>>>>> new file mode 100644 > >>>>>> index 0000000..7b8cbb4 > >>>>>> --- /dev/null > >>>>>> +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt > >>>>>> @@ -0,0 +1,34 @@ > >>>>>> +Platform driver for generic ULPI PHYs > >>>>>> + > >>>>>> +Required properties: > >>>>>> +- compatible : Should be "ulpi-phy" > >>>>>> +- reg : Physical base address and size of the USB > >>>>>> + controller registers map to which this PHY > >>>>>> + is connected. > >>>>>> +- view-port : Should contain viewport register offset of the > >>>>>> + USB controller to which this PHY is > >>>>>> +connected Optional > >>>>>> +properties: > >>>>>> +- drv-vbus : required if turning VBUS on/off has to be driven > >>>>>> + by writing to PHY. This feature depends on board > >>>>>> + design. > >>>>>> + > >>>>>> +Example: > >>>>>> +Below example shows the PHY binding for Chipidea USB controller > >>>>>> +which has ulpi viewport register at 0x0170 > >>>>>> + > >>>>>> + usb_phy0: phy0 { > >>>>>> + compatible = "ulpi-phy"; > >>>>>> + reg = <0xe0002000 0x1000>; > >>>>>> + view-port = <0x0170>; > >>>>>> + drv-vbus; > >>>>>> + }; > >>>>>> + > >>>>>> + usb0: usb@e0002000 { > >>>>>> + compatible = "chipidea,usb2"; > >>>>>> + interrupt-parent = <&intc>; > >>>>>> + interrupts = <0 21 4>; > >>>>>> + reg = <0xe0002000 0x1000>; > >>>>> > >>>>> Although just call devm_ioremap twice for the same register region > >>>>> does not cause any errors, I am not sure if it will has other > >>>>> potential problems. Cc: arm list. > >>>> > >>>> Yes Peter I was also in doubt to call devm_ioremap twice for same register > region. > >>>> devm_ioremap_resource complained hence modified to devm_ioremap. > >>>> Thanks for adding arm-list. > >>> > >>> Don't put overlapping resources in the DT. Having 2 drivers > >>> accessing the same registers is not a clean or safe design. > >> > >> thanks, saves me the trouble of saying the same thing. > >> > >> Bottom line, if devm_ioremap_resource() fails, you're wrong. Just fix > >> your driver and move on. > > > > Any suggestions on how to move further? > > Chipidea controller provides ulpi view port register for accessing the > > usb phy registers. Now we want to add new driver for ulpi phy > > configuration and that obviously it need of ulpi view port register > > access. So, sharing the register space between these two drivers is necessary > here. > > Why not program ULPI the same way as DWC3 does? Sorry for delay in response, back from long vacation. Can we call generic PHY phy->power_on and power_off functions to do similar function as usb2_phy->set_vbus? I assume it is to power on whole PHY chip but not to enable 5V on VBUS line. Thanks, Sundeep > > Thanks > Kishon
diff --git a/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt new file mode 100644 index 0000000..7b8cbb4 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt @@ -0,0 +1,34 @@ +Platform driver for generic ULPI PHYs + +Required properties: +- compatible : Should be "ulpi-phy" +- reg : Physical base address and size of the USB + controller registers map to which this PHY + is connected. +- view-port : Should contain viewport register offset of the + USB controller to which this PHY is connected +Optional properties: +- drv-vbus : required if turning VBUS on/off has to be driven + by writing to PHY. This feature depends on board + design. + +Example: +Below example shows the PHY binding for Chipidea USB controller which has +ulpi viewport register at 0x0170 + + usb_phy0: phy0 { + compatible = "ulpi-phy"; + reg = <0xe0002000 0x1000>; + view-port = <0x0170>; + drv-vbus; + }; + + usb0: usb@e0002000 { + compatible = "chipidea,usb2"; + interrupt-parent = <&intc>; + interrupts = <0 21 4>; + reg = <0xe0002000 0x1000>; + phy_type = "ulpi"; + dr_mode = "host"; + usb-phy = <&usb_phy0>; + };
This patch adds binding doc info for generic ULPI PHYs platform driver. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com> --- .../devicetree/bindings/usb/ulpi-platform-phy.txt | 34 ++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/ulpi-platform-phy.txt