[PATCH 1/2] dt-bindings: phy: nuvoton: Add MA35D1 USB2 OTG PHY binding
Joey Lu
a0987203069 at gmail.com
Tue Jun 9 02:15:03 PDT 2026
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
>>
More information about the linux-arm-kernel
mailing list