Re: [RFC PATCH 1/2] usb: doc: Add bindings for ULPI platform driver

From: punnaiah choudary kalluri
Date: Sun Oct 11 2015 - 07:15:24 EST


On Wed, Sep 30, 2015 at 9:48 PM, Felipe Balbi <balbi@xxxxxx> 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@xxxxxxxxxx> wrote:
>> > Hi Peter,
>> >
>> >> -----Original Message-----
>> >> From: Peter Chen [mailto:peter.chen@xxxxxxxxxxxxx]
>> >> Sent: Thursday, September 24, 2015 2:41 PM
>> >> To: Subbaraya Sundeep Bhatta
>> >> Cc: balbi@xxxxxx; devicetree@xxxxxxxxxxxxxxx; kishon@xxxxxx;
>> >> gregkh@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-
>> >> kernel@xxxxxxxxxxxxxxx; Punnaiah Choudary Kalluri; Subbaraya Sundeep Bhatta;
>> >> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>> >> 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@xxxxxxxxxx>
>> >> > ---
>> >> > .../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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/