On Wed, 12 Oct 2022 13:55:54 +0800 Icenowy Zheng <uwu@xxxxxxxxxx> wrote: > Allwinner F1C100s has the most simple USB PHY among all Allwinner SoCs, > because it has only one OTG USB controller, no host-only OHCI/EHCI > controllers. > > Add a binding document for it. Following the current situation of one > YAML file per SoC, this one is based on > allwinner,sun8i-v3s-usb-phy.yaml, but with OHCI/EHCI-related bits > removed. (The same driver in Linux, phy-sun4i-usb, covers all these > binding files now.) > > Signed-off-by: Icenowy Zheng <uwu@xxxxxxxxxx> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > --- > Changes in v2: > - Clarify the relation with other phy-sun4i-usb bindings. > - Added Rob's ACK. > > .../phy/allwinner,suniv-f1c100s-usb-phy.yaml | 83 +++++++++++++++++++ > 1 file changed, 83 insertions(+) > create mode 100644 Documentation/devicetree/bindings/phy/allwinner,suniv-f1c100s-usb-phy.yaml > > diff --git a/Documentation/devicetree/bindings/phy/allwinner,suniv-f1c100s-usb-phy.yaml b/Documentation/devicetree/bindings/phy/allwinner,suniv-f1c100s-usb-phy.yaml > new file mode 100644 > index 000000000000..22ff8e0f2331 > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/allwinner,suniv-f1c100s-usb-phy.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/phy/allwinner,suniv-f1c100s-usb-phy.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Allwinner F1C100s USB PHY Device Tree Bindings I see that commit dd3cb467ebb56 [1] discourages the redundant "Device Tree Bindings" suffix in the title name, so I think you should remove that. The rest looks alright to me, compared against the manual and what the driver expects, so with that fixed: Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Cheers, Andre [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dd3cb467ebb56 > + > +maintainers: > + - Chen-Yu Tsai <wens@xxxxxxxx> > + - Maxime Ripard <mripard@xxxxxxxxxx> > + > +properties: > + "#phy-cells": > + const: 1 > + > + compatible: > + const: allwinner,suniv-f1c100s-usb-phy > + > + reg: > + maxItems: 1 > + description: PHY Control registers > + > + reg-names: > + const: phy_ctrl > + > + clocks: > + maxItems: 1 > + description: USB OTG PHY bus clock > + > + clock-names: > + const: usb0_phy > + > + resets: > + maxItems: 1 > + description: USB OTG reset > + > + reset-names: > + const: usb0_reset > + > + usb0_id_det-gpios: > + maxItems: 1 > + description: GPIO to the USB OTG ID pin > + > + usb0_vbus_det-gpios: > + maxItems: 1 > + description: GPIO to the USB OTG VBUS detect pin > + > + usb0_vbus_power-supply: > + description: Power supply to detect the USB OTG VBUS > + > + usb0_vbus-supply: > + description: Regulator controlling USB OTG VBUS > + > +required: > + - "#phy-cells" > + - compatible > + - clocks > + - clock-names > + - reg > + - reg-names > + - resets > + - reset-names > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/clock/suniv-ccu-f1c100s.h> > + #include <dt-bindings/reset/suniv-ccu-f1c100s.h> > + > + phy@1c13400 { > + compatible = "allwinner,suniv-f1c100s-usb-phy"; > + reg = <0x01c13400 0x10>; > + reg-names = "phy_ctrl"; > + clocks = <&ccu CLK_USB_PHY0>; > + clock-names = "usb0_phy"; > + resets = <&ccu RST_USB_PHY0>; > + reset-names = "usb0_reset"; > + #phy-cells = <1>; > + usb0_id_det-gpios = <&pio 4 2 GPIO_ACTIVE_HIGH>; > + };