Re: [PATCH 1/2] dt-bindings: phy: nuvoton: Add MA35D1 USB2 OTG PHY binding

From: Joey Lu

Date: Tue Jun 09 2026 - 05:20:34 EST



On 6/8/2026 6:45 PM, Krzysztof Kozlowski wrote:
On Thu, Jun 04, 2026 at 06:12:19PM +0800, Joey Lu wrote:

A nit, subject: drop second/last, redundant "binding". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
Understood. The trailing "binding" will be dropped from the patch subject line in the next submission.
+properties:
+ compatible:
+ const: nuvoton,ma35d1-usb2-phy-otg
+
Where is reg? MMIO is expressed with reg, not via custom phandle.
Understood. The PHY node will be restructured as a child of the syscon node, with a `reg = <0x60 0x14>` property covering the writable PHY control registers (USBPMISCR, MISCFCR0) within the parent's address space. The `nuvoton,sys` custom phandle will be removed; the driver will obtain the parent's regmap via `syscon_node_to_regmap(dev->parent->of_node)`, which looks up the global syscon list by `of_node`. PHY instance selection will be expressed via `#phy-cells = <1>`, with 0 for the OTG port (USB0) and 1 for the host-only port (USB1).

+ clocks:
+ maxItems: 1
+
+ nuvoton,sys:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: phandle to the system management syscon.
+ - description: PHY instance index.
+ enum:
+ - 0 # USB0, OTG port (shared with DWC2 gadget controller)
+ - 1 # USB1, host-only port
+ description:
+ A phandle to the syscon node covering the SYS register block, with
+ one argument selecting the PHY instance. Index 0 selects the OTG
+ port PHY (USB0) and index 1 selects the host-only PHY (USB1).
+
+ "#phy-cells":
+ const: 0
+
+ nuvoton,rcalcode:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 0
+ maximum: 15
+ description:
+ Resistor calibration trim code written to the RCALCODE field in
+ USBPMISCR. The 4-bit value adjusts the PHY's internal termination
+ resistance. When absent the hardware reset default is used.
+
+ nuvoton,oc-active-high:
+ type: boolean
+ description:
+ When present, the over-current detect input from the VBUS power
+ switch is treated as active-high. The default (property absent) is
+ active-low. This setting is shared by both USB host ports.
+
+required:
+ - compatible
+ - clocks
+ - nuvoton,sys
+ - "#phy-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/nuvoton,ma35d1-clk.h>
+
+ usb_hphy0: usb-host-phy {
usb-phy

And drop unused label.

Understood. The node name will be changed to `usb-phy` and the unused label `usb_hphy0:` will be removed.

Thanks for the review!

+ compatible = "nuvoton,ma35d1-usb2-phy-otg";
+ clocks = <&clk HUSBH0_GATE>;
+ nuvoton,sys = <&sys 0>;
+ #phy-cells = <0>;
+ };
--
2.43.0