GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / soc / imx / fsl,imx8mp-hsio-blk-ctrl.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP i.MX8MP HSIO blk-ctrl
8
9 maintainers:
10   - Lucas Stach <l.stach@pengutronix.de>
11
12 description:
13   The i.MX8MP HSIO blk-ctrl is a top-level peripheral providing access to
14   the NoC and ensuring proper power sequencing of the high-speed IO
15   (USB an PCIe) peripherals located in the HSIO domain of the SoC.
16
17 properties:
18   compatible:
19     items:
20       - const: fsl,imx8mp-hsio-blk-ctrl
21       - const: syscon
22
23   reg:
24     maxItems: 1
25
26   '#power-domain-cells':
27     const: 1
28
29   power-domains:
30     minItems: 6
31     maxItems: 6
32
33   power-domain-names:
34     items:
35       - const: bus
36       - const: usb
37       - const: usb-phy1
38       - const: usb-phy2
39       - const: pcie
40       - const: pcie-phy
41
42   clocks:
43     minItems: 2
44     maxItems: 2
45
46   clock-names:
47     items:
48       - const: usb
49       - const: pcie
50
51   interconnects:
52     maxItems: 4
53
54   interconnect-names:
55     items:
56       - const: noc-pcie
57       - const: usb1
58       - const: usb2
59       - const: pcie
60
61 required:
62   - compatible
63   - reg
64   - power-domains
65   - power-domain-names
66   - clocks
67   - clock-names
68
69 additionalProperties: false
70
71 examples:
72   - |
73     #include <dt-bindings/clock/imx8mp-clock.h>
74     #include <dt-bindings/power/imx8mp-power.h>
75
76     hsio_blk_ctrl: blk-ctrl@32f10000 {
77         compatible = "fsl,imx8mp-hsio-blk-ctrl", "syscon";
78         reg = <0x32f10000 0x24>;
79         clocks = <&clk IMX8MP_CLK_USB_ROOT>,
80                  <&clk IMX8MP_CLK_PCIE_ROOT>;
81         clock-names = "usb", "pcie";
82         power-domains = <&pgc_hsiomix>, <&pgc_hsiomix>,
83                         <&pgc_usb1_phy>, <&pgc_usb2_phy>,
84                         <&pgc_hsiomix>, <&pgc_pcie_phy>;
85         power-domain-names = "bus", "usb", "usb-phy1",
86                              "usb-phy2", "pcie", "pcie-phy";
87         #power-domain-cells = <1>;
88     };