brintos

brintos / linux-shallow public Read only

0
0
Text · 7.2 KiB · 8f6136f Raw
288 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: NXP USB2 ChipIdea USB controller8 9maintainers:10  - Xu Yang <xu.yang_2@nxp.com>11 12properties:13  compatible:14    oneOf:15      - enum:16          - fsl,imx27-usb17      - items:18          - enum:19              - fsl,imx23-usb20              - fsl,imx25-usb21              - fsl,imx28-usb22              - fsl,imx35-usb23              - fsl,imx50-usb24              - fsl,imx51-usb25              - fsl,imx53-usb26              - fsl,imx6q-usb27              - fsl,imx6sl-usb28              - fsl,imx6sx-usb29              - fsl,imx6ul-usb30              - fsl,imx7d-usb31              - fsl,vf610-usb32          - const: fsl,imx27-usb33      - items:34          - enum:35              - fsl,imx8dxl-usb36              - fsl,imx8ulp-usb37          - const: fsl,imx7ulp-usb38          - const: fsl,imx6ul-usb39      - items:40          - enum:41              - fsl,imx8mm-usb42              - fsl,imx8mn-usb43              - fsl,imx93-usb44          - const: fsl,imx7d-usb45          - const: fsl,imx27-usb46      - items:47          - enum:48              - fsl,imx6sll-usb49              - fsl,imx7ulp-usb50          - const: fsl,imx6ul-usb51          - const: fsl,imx27-usb52 53  reg:54    maxItems: 155 56  interrupts:57    maxItems: 158 59  clocks:60    minItems: 161    maxItems: 362 63  clock-names:64    minItems: 165    maxItems: 366 67  fsl,usbmisc:68    description:69      Phandler of non-core register device, with one argument that70      indicate usb controller index71    $ref: /schemas/types.yaml#/definitions/phandle-array72    items:73      - items:74          - description: phandle to usbmisc node75          - description: index of usb controller76 77  disable-over-current:78    type: boolean79    description: disable over current detect80 81  over-current-active-low:82    type: boolean83    description: over current signal polarity is active low84 85  over-current-active-high:86    type: boolean87    description:88      Over current signal polarity is active high. It's recommended to89      specify the over current polarity.90 91  power-active-high:92    type: boolean93    description: power signal polarity is active high94 95  external-vbus-divider:96    type: boolean97    description: enables off-chip resistor divider for Vbus98 99  samsung,picophy-pre-emp-curr-control:100    description:101      HS Transmitter Pre-Emphasis Current Control. This signal controls102      the amount of current sourced to the USB_OTG*_DP and USB_OTG*_DN103      pins after a J-to-K or K-to-J transition. The range is from 0x0 to104      0x3, the default value is 0x1. Details can refer to TXPREEMPAMPTUNE0105      bits of USBNC_n_PHY_CFG1.106    $ref: /schemas/types.yaml#/definitions/uint32107    minimum: 0x0108    maximum: 0x3109 110  samsung,picophy-dc-vol-level-adjust:111    description:112      HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC113      level voltage. The range is from 0x0 to 0xf, the default value is114      0x3. Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.115    $ref: /schemas/types.yaml#/definitions/uint32116    minimum: 0x0117    maximum: 0xf118 119  fsl,picophy-rise-fall-time-adjust:120    description:121      HS Transmitter Rise/Fall Time Adjustment. Adjust the rise/fall times122      of the high-speed transmitter waveform. It has no unit. The rise/fall123      time will be increased or decreased by a certain percentage relative124      to design default time. (0:-10%; 1:design default; 2:+15%; 3:+20%)125      Details can refer to TXRISETUNE0 bit of USBNC_n_PHY_CFG1.126    $ref: /schemas/types.yaml#/definitions/uint32127    minimum: 0128    maximum: 3129    default: 1130 131  fsl,usbphy:132    description: phandle of usb phy that connects to the port. Use "phys" instead.133    $ref: /schemas/types.yaml#/definitions/phandle134    deprecated: true135 136required:137  - compatible138 139allOf:140  - $ref: chipidea,usb2-common.yaml#141  - if:142      properties:143        phy_type:144          const: hsic145      required:146        - phy_type147    then:148      properties:149        pinctrl-names:150          items:151            - const: idle152            - const: active153 154  # imx27 Soc needs three clocks155  - if:156      properties:157        compatible:158          const: fsl,imx27-usb159    then:160      properties:161        clocks:162          minItems: 3163        clock-names:164          items:165            - const: ipg166            - const: ahb167            - const: per168 169  # imx25 and imx35 Soc need three clocks170  - if:171      properties:172        compatible:173          contains:174            enum:175              - fsl,imx25-usb176              - fsl,imx35-usb177    then:178      properties:179        clocks:180          minItems: 3181        clock-names:182          items:183            - const: ipg184            - const: ahb185            - const: per186 187  # imx93 Soc needs two clocks188  - if:189      properties:190        compatible:191          contains:192            enum:193              - fsl,imx93-usb194    then:195      properties:196        clocks:197          minItems: 2198          maxItems: 2199        clock-names:200          items:201            - const: usb_ctrl_root202            - const: usb_wakeup203 204  # imx7d Soc need one clock205  - if:206      properties:207        compatible:208          items:209            - const: fsl,imx7d-usb210            - const: fsl,imx27-usb211    then:212      properties:213        clocks:214          maxItems: 1215        clock-names: false216 217  # other Soc need one clock218  - if:219      properties:220        compatible:221          contains:222            enum:223              - fsl,imx23-usb224              - fsl,imx28-usb225              - fsl,imx50-usb226              - fsl,imx51-usb227              - fsl,imx53-usb228              - fsl,imx6q-usb229              - fsl,imx6sl-usb230              - fsl,imx6sx-usb231              - fsl,imx6ul-usb232              - fsl,imx8mm-usb233              - fsl,imx8mn-usb234              - fsl,vf610-usb235    then:236      properties:237        clocks:238          maxItems: 1239        clock-names: false240 241unevaluatedProperties: false242 243examples:244  - |245    #include <dt-bindings/interrupt-controller/arm-gic.h>246    #include <dt-bindings/clock/imx7d-clock.h>247 248    usb@30b10000 {249        compatible = "fsl,imx7d-usb", "fsl,imx27-usb";250        reg = <0x30b10000 0x200>;251        interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;252        clocks = <&clks IMX7D_USB_CTRL_CLK>;253        fsl,usbphy = <&usbphynop1>;254        fsl,usbmisc = <&usbmisc1 0>;255        phy-clkgate-delay-us = <400>;256    };257 258  # Example for HSIC:259  - |260    #include <dt-bindings/interrupt-controller/arm-gic.h>261    #include <dt-bindings/clock/imx6qdl-clock.h>262 263    usb@2184400 {264        compatible = "fsl,imx6q-usb", "fsl,imx27-usb";265        reg = <0x02184400 0x200>;266        interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;267        clocks = <&clks IMX6QDL_CLK_USBOH3>;268        fsl,usbphy = <&usbphynop1>;269        fsl,usbmisc = <&usbmisc 2>;270        phy_type = "hsic";271        dr_mode = "host";272        ahb-burst-config = <0x0>;273        tx-burst-size-dword = <0x10>;274        rx-burst-size-dword = <0x10>;275        pinctrl-names = "idle", "active";276        pinctrl-0 = <&pinctrl_usbh2_idle>;277        pinctrl-1 = <&pinctrl_usbh2_active>;278        #address-cells = <1>;279        #size-cells = <0>;280 281        ethernet@1 {282            compatible = "usb424,9730";283            reg = <1>;284        };285    };286 287...288