xref: /freebsd/sys/contrib/device-tree/Bindings/soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
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
7title: NXP i.MX8MP HSIO blk-ctrl
8
9maintainers:
10  - Lucas Stach <l.stach@pengutronix.de>
11
12description:
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
17properties:
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
61required:
62  - compatible
63  - reg
64  - power-domains
65  - power-domain-names
66  - clocks
67  - clock-names
68
69additionalProperties: false
70
71examples:
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    };
89