forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.6 KiB
115 lines
2.6 KiB
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
|
# Copyright (c) 2020 MediaTek |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/usb/mediatek,musb.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: MediaTek MUSB DRD/OTG Controller Device Tree Bindings |
|
|
|
maintainers: |
|
- Min Guo <[email protected]> |
|
|
|
properties: |
|
$nodename: |
|
pattern: '^usb@[0-9a-f]+$' |
|
|
|
compatible: |
|
items: |
|
- enum: |
|
- mediatek,mt8516-musb |
|
- mediatek,mt2701-musb |
|
- mediatek,mt7623-musb |
|
- const: mediatek,mtk-musb |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
interrupts: |
|
maxItems: 1 |
|
|
|
interrupt-names: |
|
items: |
|
- const: mc |
|
|
|
clocks: |
|
items: |
|
- description: The main/core clock |
|
- description: The system bus clock |
|
- description: The 48Mhz clock |
|
|
|
clock-names: |
|
items: |
|
- const: main |
|
- const: mcu |
|
- const: univpll |
|
|
|
phys: |
|
maxItems: 1 |
|
|
|
usb-role-switch: |
|
$ref: /schemas/types.yaml#/definitions/flag |
|
description: Support role switch. See usb/generic.txt |
|
type: boolean |
|
|
|
dr_mode: |
|
enum: |
|
- host |
|
- otg |
|
- peripheral |
|
|
|
power-domains: |
|
description: A phandle to USB power domain node to control USB's MTCMOS |
|
maxItems: 1 |
|
|
|
connector: |
|
$ref: /connector/usb-connector.yaml# |
|
description: Connector for dual role switch |
|
type: object |
|
|
|
dependencies: |
|
usb-role-switch: [ 'connector' ] |
|
connector: [ 'usb-role-switch' ] |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- interrupts |
|
- interrupt-names |
|
- phys |
|
- clocks |
|
- clock-names |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/clock/mt2701-clk.h> |
|
#include <dt-bindings/gpio/gpio.h> |
|
#include <dt-bindings/interrupt-controller/arm-gic.h> |
|
#include <dt-bindings/interrupt-controller/irq.h> |
|
#include <dt-bindings/phy/phy.h> |
|
#include <dt-bindings/power/mt2701-power.h> |
|
|
|
usb@11200000 { |
|
compatible = "mediatek,mt2701-musb", "mediatek,mtk-musb"; |
|
reg = <0x11200000 0x1000>; |
|
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>; |
|
interrupt-names = "mc"; |
|
phys = <&u2port2 PHY_TYPE_USB2>; |
|
dr_mode = "otg"; |
|
clocks = <&pericfg CLK_PERI_USB0>, |
|
<&pericfg CLK_PERI_USB0_MCU>, |
|
<&pericfg CLK_PERI_USB_SLV>; |
|
clock-names = "main","mcu","univpll"; |
|
power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>; |
|
usb-role-switch; |
|
|
|
connector { |
|
compatible = "gpio-usb-b-connector", "usb-b-connector"; |
|
type = "micro"; |
|
id-gpios = <&pio 44 GPIO_ACTIVE_HIGH>; |
|
vbus-supply = <&usb_vbus>; |
|
}; |
|
}; |
|
...
|
|
|