1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/allwinner,sun50i-a64-usb-phy.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Allwinner A64 USB PHY 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Chen-Yu Tsai <wens@csie.org> 11c66ec88fSEmmanuel Vadot - Maxime Ripard <mripard@kernel.org> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotproperties: 14c66ec88fSEmmanuel Vadot "#phy-cells": 15c66ec88fSEmmanuel Vadot const: 1 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot compatible: 18c9ccf3a3SEmmanuel Vadot enum: 19c9ccf3a3SEmmanuel Vadot - allwinner,sun20i-d1-usb-phy 20c9ccf3a3SEmmanuel Vadot - allwinner,sun50i-a64-usb-phy 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot reg: 23c66ec88fSEmmanuel Vadot items: 24c66ec88fSEmmanuel Vadot - description: PHY Control registers 25c66ec88fSEmmanuel Vadot - description: PHY PMU0 registers 26c66ec88fSEmmanuel Vadot - description: PHY PMU1 registers 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot reg-names: 29c66ec88fSEmmanuel Vadot items: 30c66ec88fSEmmanuel Vadot - const: phy_ctrl 31c66ec88fSEmmanuel Vadot - const: pmu0 32c66ec88fSEmmanuel Vadot - const: pmu1 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot clocks: 35c66ec88fSEmmanuel Vadot items: 36c66ec88fSEmmanuel Vadot - description: USB OTG PHY bus clock 37c66ec88fSEmmanuel Vadot - description: USB Host 0 PHY bus clock 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot clock-names: 40c66ec88fSEmmanuel Vadot items: 41c66ec88fSEmmanuel Vadot - const: usb0_phy 42c66ec88fSEmmanuel Vadot - const: usb1_phy 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot resets: 45c66ec88fSEmmanuel Vadot items: 46c66ec88fSEmmanuel Vadot - description: USB OTG reset 47c66ec88fSEmmanuel Vadot - description: USB Host 1 Controller reset 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot reset-names: 50c66ec88fSEmmanuel Vadot items: 51c66ec88fSEmmanuel Vadot - const: usb0_reset 52c66ec88fSEmmanuel Vadot - const: usb1_reset 53c66ec88fSEmmanuel Vadot 54c66ec88fSEmmanuel Vadot usb0_id_det-gpios: 555def4c47SEmmanuel Vadot maxItems: 1 56c66ec88fSEmmanuel Vadot description: GPIO to the USB OTG ID pin 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot usb0_vbus_det-gpios: 595def4c47SEmmanuel Vadot maxItems: 1 60c66ec88fSEmmanuel Vadot description: GPIO to the USB OTG VBUS detect pin 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot usb0_vbus_power-supply: 63c66ec88fSEmmanuel Vadot description: Power supply to detect the USB OTG VBUS 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot usb0_vbus-supply: 66c66ec88fSEmmanuel Vadot description: Regulator controlling USB OTG VBUS 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot usb1_vbus-supply: 69c66ec88fSEmmanuel Vadot description: Regulator controlling USB1 Host controller 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadotrequired: 72c66ec88fSEmmanuel Vadot - "#phy-cells" 73c66ec88fSEmmanuel Vadot - compatible 74c66ec88fSEmmanuel Vadot - clocks 75c66ec88fSEmmanuel Vadot - clock-names 76c66ec88fSEmmanuel Vadot - reg 77c66ec88fSEmmanuel Vadot - reg-names 78c66ec88fSEmmanuel Vadot - resets 79c66ec88fSEmmanuel Vadot - reset-names 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel VadotadditionalProperties: false 82c66ec88fSEmmanuel Vadot 83c66ec88fSEmmanuel Vadotexamples: 84c66ec88fSEmmanuel Vadot - | 85c66ec88fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 86c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/sun50i-a64-ccu.h> 87c66ec88fSEmmanuel Vadot #include <dt-bindings/reset/sun50i-a64-ccu.h> 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot phy@1c19400 { 90c66ec88fSEmmanuel Vadot #phy-cells = <1>; 91c66ec88fSEmmanuel Vadot compatible = "allwinner,sun50i-a64-usb-phy"; 92c66ec88fSEmmanuel Vadot reg = <0x01c19400 0x14>, 93c66ec88fSEmmanuel Vadot <0x01c1a800 0x4>, 94c66ec88fSEmmanuel Vadot <0x01c1b800 0x4>; 95c66ec88fSEmmanuel Vadot reg-names = "phy_ctrl", 96c66ec88fSEmmanuel Vadot "pmu0", 97c66ec88fSEmmanuel Vadot "pmu1"; 98c66ec88fSEmmanuel Vadot clocks = <&ccu CLK_USB_PHY0>, 99c66ec88fSEmmanuel Vadot <&ccu CLK_USB_PHY1>; 100c66ec88fSEmmanuel Vadot clock-names = "usb0_phy", 101c66ec88fSEmmanuel Vadot "usb1_phy"; 102c66ec88fSEmmanuel Vadot resets = <&ccu RST_USB_PHY0>, 103c66ec88fSEmmanuel Vadot <&ccu RST_USB_PHY1>; 104c66ec88fSEmmanuel Vadot reset-names = "usb0_reset", 105c66ec88fSEmmanuel Vadot "usb1_reset"; 106c66ec88fSEmmanuel Vadot usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */ 107c66ec88fSEmmanuel Vadot usb0_vbus_power-supply = <&usb_power_supply>; 108c66ec88fSEmmanuel Vadot usb0_vbus-supply = <®_drivevbus>; 109c66ec88fSEmmanuel Vadot usb1_vbus-supply = <®_usb1_vbus>; 110c66ec88fSEmmanuel Vadot }; 111