Re: [PATCH 6/7] dt-bindings: usb: ti,am33xx-usb: Convert to DT schema

[email protected]
Newsgroups org.kernel.vger.dmaengine,org.infradead.lists.linux-phy,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The schema explicitly marks `ti,hwmods` as deprecated but simultaneously mandates it in the `required` array, creating an inescapable validation conflict.
- [Medium] Unresolved phandle references (`&ctrl_mod` and `&usb0_phy`) in the binding example will cause a fatal dtc compilation error.
--

--- Patch [6]: [PATCH 6/7] dt-bindings: usb: ti,am33xx-usb: Convert to DT schema ---
commit e8e58c2d48bc9c752ca62d3c7e0ea6fd5cff0b12
Author: Bhargav Joshi <[email protected]>

dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
    
Convert the TI AM33xx USB Wrapper text binding to DT schema.
Changes during conversion:
- Drop the USB control module from child nodes, as it physically resides
  within the System Control Module address space, not the USB wrapper.
- Allow standard phy@[0-9a-f]+$ child node names alongside the legacy
  usb-phy@[0-9a-f]+$.
- Mark the legacy ti,hwmods property as deprecated.
- Document required #address-cells, #size-cells, and ranges property
  missing from text binding.

> diff --git a/Documentation/devicetree/bindings/usb/ti,am33xx-usb.yaml b/Documentation/devicetree/bindings/usb/ti,am33xx-usb.yaml
> new file mode 100644
> index 0000000000000..889190431c9a0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/ti,am33xx-usb.yaml
> @@ -0,0 +1,104 @@

[ ... ]

> +  ti,hwmods:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: Name of the hwmod associated with the USB module.
> +    const: usb_otg_hs
> +    deprecated: true

[ ... ]

> +required:
> +  - compatible
> +  - reg
> +  - ranges
> +  - "#address-cells"
> +  - "#size-cells"
> +  - ti,hwmods

[Severity: Medium]
Will this cause a validation conflict? The schema explicitly marks ti,hwmods
as deprecated but simultaneously mandates it in the required array.

Any device tree validating against this schema will emit warnings or errors:
omitting the property violates the required list, while including it triggers
the deprecated warning. This prevents the creation of cleanly validating
device trees.

[ ... ]

> +examples:
> +  - |
> +    usb@47400000 {
> +        compatible = "ti,am33xx-usb";

[ ... ]

> +        usb-phy@47401300 {
> +            compatible = "ti,am335x-usb-phy";
> +            reg = <0x47401300 0x100>;
> +            reg-names = "phy";
> +            ti,ctrl_mod = <&ctrl_mod>;

[Severity: Medium]
Does this reference an undefined label? The ctrl_mod label was dropped during
the conversion. Referencing it here will cause dtc to fail with a Reference
to non-existent node or label error during make dt_binding_check.

> +            #phy-cells = <0>;
> +        };
> +
> +        usb@47401000 {
> +            compatible = "ti,musb-am33xx";
> +            reg = <0x47401400 0x400>,
> +                  <0x47401000 0x200>;
> +            reg-names = "mc", "control";
> +            interrupts = <18>;
> +            interrupt-names = "mc";
> +            dr_mode = "otg";
> +            mentor,multipoint = <1>;
> +            mentor,num-eps = <16>;
> +            mentor,ram-bits = <12>;
> +            mentor,power = <500>;
> +            phys = <&usb0_phy>;

[Severity: Medium]
Similarly, does this reference the undefined label usb0_phy? The label was
removed from the example, which will also result in a dtc compilation error
when building the example.

> +        };

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=6
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.