Re: [PATCH v1 01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs

From: Felipe Balbi
Date: Thu Dec 20 2018 - 01:46:41 EST



Hi,

Rob Herring <robh@xxxxxxxxxx> writes:
>> >>>> +Example:
>> >>>> +ÂÂÂ usb3: hisi_dwc3 {
>> >>>> +ÂÂÂÂÂÂÂ compatible = "hisilicon,hi3660-dwc3";
>> >>>> +ÂÂÂÂÂÂÂ #address-cells = <2>;
>> >>>> +ÂÂÂÂÂÂÂ #size-cells = <2>;
>> >>>> +ÂÂÂÂÂÂÂ ranges;
>> >>>> +
>> >>>> +ÂÂÂÂÂÂÂ clocks = <&crg_ctrl HI3660_CLK_ABB_USB>,
>> >>>> +ÂÂÂÂÂÂÂÂÂÂÂÂ <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
>> >>>> +ÂÂÂÂÂÂÂ clock-names = "clk_usb3phy_ref", "aclk_usb3otg";
>> >>>> +ÂÂÂÂÂÂÂ assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
>> >>>> +ÂÂÂÂÂÂÂ assigned-clock-rates = <229000000>;
>> >>>> +ÂÂÂÂÂÂÂ resets = <&crg_rst 0x90 8>,
>> >>>> +ÂÂÂÂÂÂÂÂÂÂÂÂ <&crg_rst 0x90 7>,
>> >>>> +ÂÂÂÂÂÂÂÂÂÂÂÂ <&crg_rst 0x90 6>,
>> >>>> +ÂÂÂÂÂÂÂÂÂÂÂÂ <&crg_rst 0x90 5>;
>> >>>> +
>> >>>> +ÂÂÂÂÂÂÂ dwc3: dwc3@ff100000 {
>
> Please combine these into a single node. Unless you have a wrapper with
> registers, you don't need these 2 nodes. Clocks and reset can go in the
> dwc3 node.
>
>> >>>
>> >>> ÂÂÂÂ According to the DT spec, the node names should be generic, not chip specific, i.e. usb@ff100000 in this case.
>> >>>
>> >>
>> >> Do you mean it should be usb@ff100000: dwc3@ff100000 ?
>> >
>> > ÂÂÂÂdwc3: usb@ff100000
>> >
>> > ÂÂ "dwc3:" is a label, not name.
>>
>> I use the node name "dwc3@ff100000" according to Documentation/devicetree/bindings/usb/dwc3.txt
>> and documentations of vendor drivers, i.e. qcom,dwc3.txt, rockchip,dwc3.txt.
>>
>> In these documentations, the dwc3 sub-node name uses "dwc3@xxxxxxxx".
>>
>> I think it is better to be same as the other vendor's dwc3 drivers.
>
> It's not. The other bindings are wrong. Follow the DT Spec.

what's wrong about them? They clearly describe the HW:

1) a company-specific glue/adaptation/integration IP
2) a generic licensed IP inside it

dwc3.ko is compatible with Synopsys' documentation and there's only one
incarnation of dwc3. Everything that can be detected in runtime, we do
so. Everything that can't, we use quirk flags. Keep in mind dwc3.ko is
also used as is by non-DT systems where we can't simply change a
compatible flag.

--
balbi

Attachment: signature.asc
Description: PGP signature