1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/allwinner,sun6i-a31-usb-phy.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Allwinner A31 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: 18c66ec88fSEmmanuel Vadot const: allwinner,sun6i-a31-usb-phy 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadot reg: 21c66ec88fSEmmanuel Vadot items: 22c66ec88fSEmmanuel Vadot - description: PHY Control registers 23c66ec88fSEmmanuel Vadot - description: PHY PMU1 registers 24c66ec88fSEmmanuel Vadot - description: PHY PMU2 registers 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot reg-names: 27c66ec88fSEmmanuel Vadot items: 28c66ec88fSEmmanuel Vadot - const: phy_ctrl 29c66ec88fSEmmanuel Vadot - const: pmu1 30c66ec88fSEmmanuel Vadot - const: pmu2 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel Vadot clocks: 33c66ec88fSEmmanuel Vadot items: 34c66ec88fSEmmanuel Vadot - description: USB OTG PHY bus clock 35c66ec88fSEmmanuel Vadot - description: USB Host 0 PHY bus clock 36c66ec88fSEmmanuel Vadot - description: USB Host 1 PHY bus clock 37c66ec88fSEmmanuel Vadot 38c66ec88fSEmmanuel Vadot clock-names: 39c66ec88fSEmmanuel Vadot items: 40c66ec88fSEmmanuel Vadot - const: usb0_phy 41c66ec88fSEmmanuel Vadot - const: usb1_phy 42c66ec88fSEmmanuel Vadot - const: usb2_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 - description: USB Host 2 Controller reset 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot reset-names: 51c66ec88fSEmmanuel Vadot items: 52c66ec88fSEmmanuel Vadot - const: usb0_reset 53c66ec88fSEmmanuel Vadot - const: usb1_reset 54c66ec88fSEmmanuel Vadot - const: usb2_reset 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot usb0_id_det-gpios: 575def4c47SEmmanuel Vadot maxItems: 1 58c66ec88fSEmmanuel Vadot description: GPIO to the USB OTG ID pin 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot usb0_vbus_det-gpios: 615def4c47SEmmanuel Vadot maxItems: 1 62c66ec88fSEmmanuel Vadot description: GPIO to the USB OTG VBUS detect pin 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot usb0_vbus_power-supply: 65c66ec88fSEmmanuel Vadot description: Power supply to detect the USB OTG VBUS 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot usb0_vbus-supply: 68c66ec88fSEmmanuel Vadot description: Regulator controlling USB OTG VBUS 69c66ec88fSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot usb1_vbus-supply: 71c66ec88fSEmmanuel Vadot description: Regulator controlling USB1 Host controller 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot usb2_vbus-supply: 74c66ec88fSEmmanuel Vadot description: Regulator controlling USB2 Host controller 75c66ec88fSEmmanuel Vadot 76c66ec88fSEmmanuel Vadotrequired: 77c66ec88fSEmmanuel Vadot - "#phy-cells" 78c66ec88fSEmmanuel Vadot - compatible 79c66ec88fSEmmanuel Vadot - clocks 80c66ec88fSEmmanuel Vadot - clock-names 81c66ec88fSEmmanuel Vadot - reg 82c66ec88fSEmmanuel Vadot - reg-names 83c66ec88fSEmmanuel Vadot - resets 84c66ec88fSEmmanuel Vadot - reset-names 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel VadotadditionalProperties: false 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadotexamples: 89c66ec88fSEmmanuel Vadot - | 90c66ec88fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 91c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/sun6i-a31-ccu.h> 92c66ec88fSEmmanuel Vadot #include <dt-bindings/reset/sun6i-a31-ccu.h> 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot phy@1c19400 { 95c66ec88fSEmmanuel Vadot #phy-cells = <1>; 96c66ec88fSEmmanuel Vadot compatible = "allwinner,sun6i-a31-usb-phy"; 97c66ec88fSEmmanuel Vadot reg = <0x01c19400 0x10>, 98c66ec88fSEmmanuel Vadot <0x01c1a800 0x4>, 99c66ec88fSEmmanuel Vadot <0x01c1b800 0x4>; 100c66ec88fSEmmanuel Vadot reg-names = "phy_ctrl", 101c66ec88fSEmmanuel Vadot "pmu1", 102c66ec88fSEmmanuel Vadot "pmu2"; 103c66ec88fSEmmanuel Vadot clocks = <&ccu CLK_USB_PHY0>, 104c66ec88fSEmmanuel Vadot <&ccu CLK_USB_PHY1>, 105c66ec88fSEmmanuel Vadot <&ccu CLK_USB_PHY2>; 106c66ec88fSEmmanuel Vadot clock-names = "usb0_phy", 107c66ec88fSEmmanuel Vadot "usb1_phy", 108c66ec88fSEmmanuel Vadot "usb2_phy"; 109c66ec88fSEmmanuel Vadot resets = <&ccu RST_USB_PHY0>, 110c66ec88fSEmmanuel Vadot <&ccu RST_USB_PHY1>, 111c66ec88fSEmmanuel Vadot <&ccu RST_USB_PHY2>; 112c66ec88fSEmmanuel Vadot reset-names = "usb0_reset", 113c66ec88fSEmmanuel Vadot "usb1_reset", 114c66ec88fSEmmanuel Vadot "usb2_reset"; 115c66ec88fSEmmanuel Vadot usb0_id_det-gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */ 116c66ec88fSEmmanuel Vadot usb0_vbus_det-gpios = <&pio 0 16 GPIO_ACTIVE_HIGH>; /* PA16 */ 117c66ec88fSEmmanuel Vadot usb0_vbus_power-supply = <&usb_power_supply>; 118c66ec88fSEmmanuel Vadot usb0_vbus-supply = <®_drivevbus>; 119c66ec88fSEmmanuel Vadot usb1_vbus-supply = <®_usb1_vbus>; 120c66ec88fSEmmanuel Vadot usb2_vbus-supply = <®_usb2_vbus>; 121c66ec88fSEmmanuel Vadot }; 122