The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/usb/nvidia,tegra-xudc.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: "http://devicetree.org/schemas/usb/nvidia,tegra-xudc.yaml#"
    5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
    6 
    7 title: Device tree binding for NVIDIA Tegra XUSB device mode controller (XUDC)
    8 
    9 description:
   10   The Tegra XUDC controller supports both USB 2.0 HighSpeed/FullSpeed and
   11   USB 3.0 SuperSpeed protocols.
   12 
   13 maintainers:
   14   - Nagarjuna Kristam <nkristam@nvidia.com>
   15   - JC Kuo <jckuo@nvidia.com>
   16   - Thierry Reding <treding@nvidia.com>
   17 
   18 properties:
   19   compatible:
   20     items:
   21       - enum:
   22           - nvidia,tegra210-xudc # For Tegra210
   23           - nvidia,tegra186-xudc # For Tegra186
   24           - nvidia,tegra194-xudc # For Tegra194
   25 
   26   reg:
   27     minItems: 2
   28     items:
   29       - description: XUSB device controller registers
   30       - description: XUSB device PCI Config registers
   31       - description: XUSB device registers.
   32 
   33   reg-names:
   34     minItems: 2
   35     items:
   36       - const: base
   37       - const: fpci
   38       - const: ipfs
   39 
   40   interrupts:
   41     maxItems: 1
   42     description: Must contain the XUSB device interrupt.
   43 
   44   clocks:
   45     minItems: 4
   46     items:
   47       - description: Clock to enable core XUSB dev clock.
   48       - description: Clock to enable XUSB super speed clock.
   49       - description: Clock to enable XUSB super speed dev clock.
   50       - description: Clock to enable XUSB high speed dev clock.
   51       - description: Clock to enable XUSB full speed dev clock.
   52 
   53   clock-names:
   54     minItems: 4
   55     items:
   56       - const: dev
   57       - const: ss
   58       - const: ss_src
   59       - const: fs_src
   60       - const: hs_src
   61 
   62   interconnects:
   63     items:
   64       - description: memory read client
   65       - description: memory write client
   66 
   67   interconnect-names:
   68     items:
   69       - const: dma-mem # read
   70       - const: write
   71 
   72   iommus:
   73     maxItems: 1
   74 
   75   power-domains:
   76     items:
   77       - description: XUSBB(device) power-domain
   78       - description: XUSBA(superspeed) power-domain
   79 
   80   power-domain-names:
   81     items:
   82       - const: dev
   83       - const: ss
   84 
   85   nvidia,xusb-padctl:
   86     $ref: /schemas/types.yaml#/definitions/phandle
   87     description:
   88       phandle to the XUSB pad controller that is used to configure the USB pads
   89       used by the XUDC controller.
   90 
   91   phys:
   92     minItems: 1
   93     description:
   94       Must contain an entry for each entry in phy-names.
   95       See ../phy/phy-bindings.txt for details.
   96 
   97   phy-names:
   98     minItems: 1
   99     items:
  100       - const: usb2-0
  101       - const: usb2-1
  102       - const: usb2-2
  103       - const: usb2-3
  104       - const: usb3-0
  105       - const: usb3-1
  106       - const: usb3-2
  107       - const: usb3-3
  108 
  109   avddio-usb-supply:
  110     description: PCIe/USB3 analog logic power supply. Must supply 1.05 V.
  111 
  112   hvdd-usb-supply:
  113     description: USB controller power supply. Must supply 3.3 V.
  114 
  115 required:
  116   - compatible
  117   - reg
  118   - reg-names
  119   - interrupts
  120   - clocks
  121   - clock-names
  122   - power-domains
  123   - power-domain-names
  124   - nvidia,xusb-padctl
  125   - phys
  126   - phy-names
  127 
  128 allOf:
  129   - if:
  130       properties:
  131         compatible:
  132           contains:
  133             enum:
  134               - nvidia,tegra210-xudc
  135     then:
  136       properties:
  137         reg:
  138           minItems: 3
  139         reg-names:
  140           minItems: 3
  141         clocks:
  142           minItems: 5
  143         clock-names:
  144           minItems: 5
  145       required:
  146         - avddio-usb-supply
  147         - hvdd-usb-supply
  148 
  149   - if:
  150       properties:
  151         compatible:
  152           contains:
  153             enum:
  154               - nvidia,tegra186-xudc
  155               - nvidia,tegra194-xudc
  156     then:
  157       properties:
  158         reg:
  159           maxItems: 2
  160         reg-names:
  161           maxItems: 2
  162         clocks:
  163           maxItems: 4
  164         clock-names:
  165           maxItems: 4
  166 
  167 additionalProperties: false
  168 
  169 examples:
  170   - |
  171     #include <dt-bindings/clock/tegra210-car.h>
  172     #include <dt-bindings/gpio/tegra-gpio.h>
  173     #include <dt-bindings/interrupt-controller/arm-gic.h>
  174 
  175     usb@700d0000 {
  176         compatible = "nvidia,tegra210-xudc";
  177         reg = <0x700d0000 0x8000>,
  178               <0x700d8000 0x1000>,
  179               <0x700d9000 0x1000>;
  180         reg-names = "base", "fpci", "ipfs";
  181 
  182         interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  183 
  184         clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>,
  185                  <&tegra_car TEGRA210_CLK_XUSB_SS>,
  186                  <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>,
  187                  <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
  188                  <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>;
  189         clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src";
  190 
  191         power-domains = <&pd_xusbdev>, <&pd_xusbss>;
  192         power-domain-names = "dev", "ss";
  193 
  194         nvidia,xusb-padctl = <&padctl>;
  195 
  196         phys = <&micro_b>;
  197         phy-names = "usb2-0";
  198 
  199         avddio-usb-supply = <&vdd_pex_1v05>;
  200         hvdd-usb-supply = <&vdd_3v3_sys>;
  201     };

Cache object: 82b814692df1098c8cafc1d3f5752c3d


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.