1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b97ee269SEmmanuel Vadot%YAML 1.2 3b97ee269SEmmanuel Vadot--- 4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/fsl,imx8qxp-csr.yaml# 5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7*8bab661aSEmmanuel Vadottitle: Freescale i.MX8qm/qxp Control and Status Registers Module 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Liu Ying <victor.liu@nxp.com> 11b97ee269SEmmanuel Vadot 12b97ee269SEmmanuel Vadotdescription: | 13b97ee269SEmmanuel Vadot As a system controller, the Freescale i.MX8qm/qxp Control and Status 14b97ee269SEmmanuel Vadot Registers(CSR) module represents a set of miscellaneous registers of a 15b97ee269SEmmanuel Vadot specific subsystem. It may provide control and/or status report interfaces 16b97ee269SEmmanuel Vadot to a mix of standalone hardware devices within that subsystem. One typical 17b97ee269SEmmanuel Vadot use-case is for some other nodes to acquire a reference to the syscon node 18b97ee269SEmmanuel Vadot by phandle, and the other typical use-case is that the operating system 19b97ee269SEmmanuel Vadot should consider all subnodes of the CSR module as separate child devices. 20b97ee269SEmmanuel Vadot 21b97ee269SEmmanuel Vadotproperties: 22b97ee269SEmmanuel Vadot $nodename: 23b97ee269SEmmanuel Vadot pattern: "^syscon@[0-9a-f]+$" 24b97ee269SEmmanuel Vadot 25b97ee269SEmmanuel Vadot compatible: 26b97ee269SEmmanuel Vadot items: 27b97ee269SEmmanuel Vadot - enum: 28b97ee269SEmmanuel Vadot - fsl,imx8qxp-mipi-lvds-csr 29b97ee269SEmmanuel Vadot - fsl,imx8qm-lvds-csr 30b97ee269SEmmanuel Vadot - const: syscon 31b97ee269SEmmanuel Vadot - const: simple-mfd 32b97ee269SEmmanuel Vadot 33b97ee269SEmmanuel Vadot reg: 34b97ee269SEmmanuel Vadot maxItems: 1 35b97ee269SEmmanuel Vadot 36b97ee269SEmmanuel Vadot clocks: 37b97ee269SEmmanuel Vadot maxItems: 1 38b97ee269SEmmanuel Vadot 39b97ee269SEmmanuel Vadot clock-names: 40b97ee269SEmmanuel Vadot const: ipg 41b97ee269SEmmanuel Vadot 42b97ee269SEmmanuel VadotpatternProperties: 43b97ee269SEmmanuel Vadot "^(ldb|phy|pxl2dpi)$": 44b97ee269SEmmanuel Vadot type: object 45b97ee269SEmmanuel Vadot description: The possible child devices of the CSR module. 46b97ee269SEmmanuel Vadot 47b97ee269SEmmanuel Vadotrequired: 48b97ee269SEmmanuel Vadot - compatible 49b97ee269SEmmanuel Vadot - reg 50b97ee269SEmmanuel Vadot - clocks 51b97ee269SEmmanuel Vadot - clock-names 52b97ee269SEmmanuel Vadot 53b97ee269SEmmanuel VadotallOf: 54b97ee269SEmmanuel Vadot - if: 55b97ee269SEmmanuel Vadot properties: 56b97ee269SEmmanuel Vadot compatible: 57b97ee269SEmmanuel Vadot contains: 58b97ee269SEmmanuel Vadot const: fsl,imx8qxp-mipi-lvds-csr 59b97ee269SEmmanuel Vadot then: 60b97ee269SEmmanuel Vadot required: 61b97ee269SEmmanuel Vadot - pxl2dpi 62b97ee269SEmmanuel Vadot - ldb 63b97ee269SEmmanuel Vadot 64b97ee269SEmmanuel Vadot - if: 65b97ee269SEmmanuel Vadot properties: 66b97ee269SEmmanuel Vadot compatible: 67b97ee269SEmmanuel Vadot contains: 68b97ee269SEmmanuel Vadot const: fsl,imx8qm-lvds-csr 69b97ee269SEmmanuel Vadot then: 70b97ee269SEmmanuel Vadot required: 71b97ee269SEmmanuel Vadot - phy 72b97ee269SEmmanuel Vadot - ldb 73b97ee269SEmmanuel Vadot 74b97ee269SEmmanuel VadotadditionalProperties: false 75b97ee269SEmmanuel Vadot 76b97ee269SEmmanuel Vadotexamples: 77b97ee269SEmmanuel Vadot - | 78b97ee269SEmmanuel Vadot #include <dt-bindings/clock/imx8-lpcg.h> 79b97ee269SEmmanuel Vadot #include <dt-bindings/firmware/imx/rsrc.h> 80b97ee269SEmmanuel Vadot mipi_lvds_0_csr: syscon@56221000 { 81b97ee269SEmmanuel Vadot compatible = "fsl,imx8qxp-mipi-lvds-csr", "syscon", "simple-mfd"; 82b97ee269SEmmanuel Vadot reg = <0x56221000 0x1000>; 83b97ee269SEmmanuel Vadot clocks = <&mipi_lvds_0_di_mipi_lvds_regs_lpcg IMX_LPCG_CLK_4>; 84b97ee269SEmmanuel Vadot clock-names = "ipg"; 85b97ee269SEmmanuel Vadot 86b97ee269SEmmanuel Vadot mipi_lvds_0_pxl2dpi: pxl2dpi { 87b97ee269SEmmanuel Vadot compatible = "fsl,imx8qxp-pxl2dpi"; 88b97ee269SEmmanuel Vadot fsl,sc-resource = <IMX_SC_R_MIPI_0>; 89b97ee269SEmmanuel Vadot power-domains = <&pd IMX_SC_R_MIPI_0>; 90b97ee269SEmmanuel Vadot 91b97ee269SEmmanuel Vadot ports { 92b97ee269SEmmanuel Vadot #address-cells = <1>; 93b97ee269SEmmanuel Vadot #size-cells = <0>; 94b97ee269SEmmanuel Vadot 95b97ee269SEmmanuel Vadot port@0 { 96b97ee269SEmmanuel Vadot #address-cells = <1>; 97b97ee269SEmmanuel Vadot #size-cells = <0>; 98b97ee269SEmmanuel Vadot reg = <0>; 99b97ee269SEmmanuel Vadot 100b97ee269SEmmanuel Vadot mipi_lvds_0_pxl2dpi_dc0_pixel_link0: endpoint@0 { 101b97ee269SEmmanuel Vadot reg = <0>; 102b97ee269SEmmanuel Vadot remote-endpoint = <&dc0_pixel_link0_mipi_lvds_0_pxl2dpi>; 103b97ee269SEmmanuel Vadot }; 104b97ee269SEmmanuel Vadot 105b97ee269SEmmanuel Vadot mipi_lvds_0_pxl2dpi_dc0_pixel_link1: endpoint@1 { 106b97ee269SEmmanuel Vadot reg = <1>; 107b97ee269SEmmanuel Vadot remote-endpoint = <&dc0_pixel_link1_mipi_lvds_0_pxl2dpi>; 108b97ee269SEmmanuel Vadot }; 109b97ee269SEmmanuel Vadot }; 110b97ee269SEmmanuel Vadot 111b97ee269SEmmanuel Vadot port@1 { 112b97ee269SEmmanuel Vadot #address-cells = <1>; 113b97ee269SEmmanuel Vadot #size-cells = <0>; 114b97ee269SEmmanuel Vadot reg = <1>; 115b97ee269SEmmanuel Vadot 116b97ee269SEmmanuel Vadot mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch0: endpoint@0 { 117b97ee269SEmmanuel Vadot reg = <0>; 118b97ee269SEmmanuel Vadot remote-endpoint = <&mipi_lvds_0_ldb_ch0_mipi_lvds_0_pxl2dpi>; 119b97ee269SEmmanuel Vadot }; 120b97ee269SEmmanuel Vadot 121b97ee269SEmmanuel Vadot mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch1: endpoint@1 { 122b97ee269SEmmanuel Vadot reg = <1>; 123b97ee269SEmmanuel Vadot remote-endpoint = <&mipi_lvds_0_ldb_ch1_mipi_lvds_0_pxl2dpi>; 124b97ee269SEmmanuel Vadot }; 125b97ee269SEmmanuel Vadot }; 126b97ee269SEmmanuel Vadot }; 127b97ee269SEmmanuel Vadot }; 128b97ee269SEmmanuel Vadot 129b97ee269SEmmanuel Vadot mipi_lvds_0_ldb: ldb { 130b97ee269SEmmanuel Vadot #address-cells = <1>; 131b97ee269SEmmanuel Vadot #size-cells = <0>; 132b97ee269SEmmanuel Vadot compatible = "fsl,imx8qxp-ldb"; 133b97ee269SEmmanuel Vadot clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_MISC2>, 134b97ee269SEmmanuel Vadot <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_BYPASS>; 135b97ee269SEmmanuel Vadot clock-names = "pixel", "bypass"; 136b97ee269SEmmanuel Vadot power-domains = <&pd IMX_SC_R_LVDS_0>; 137b97ee269SEmmanuel Vadot 138b97ee269SEmmanuel Vadot channel@0 { 139b97ee269SEmmanuel Vadot #address-cells = <1>; 140b97ee269SEmmanuel Vadot #size-cells = <0>; 141b97ee269SEmmanuel Vadot reg = <0>; 142b97ee269SEmmanuel Vadot phys = <&mipi_lvds_0_phy>; 143b97ee269SEmmanuel Vadot phy-names = "lvds_phy"; 144b97ee269SEmmanuel Vadot 145b97ee269SEmmanuel Vadot port@0 { 146b97ee269SEmmanuel Vadot reg = <0>; 147b97ee269SEmmanuel Vadot 148b97ee269SEmmanuel Vadot mipi_lvds_0_ldb_ch0_mipi_lvds_0_pxl2dpi: endpoint { 149b97ee269SEmmanuel Vadot remote-endpoint = <&mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch0>; 150b97ee269SEmmanuel Vadot }; 151b97ee269SEmmanuel Vadot }; 152b97ee269SEmmanuel Vadot 153b97ee269SEmmanuel Vadot port@1 { 154b97ee269SEmmanuel Vadot reg = <1>; 155b97ee269SEmmanuel Vadot 156b97ee269SEmmanuel Vadot /* ... */ 157b97ee269SEmmanuel Vadot }; 158b97ee269SEmmanuel Vadot }; 159b97ee269SEmmanuel Vadot 160b97ee269SEmmanuel Vadot channel@1 { 161b97ee269SEmmanuel Vadot #address-cells = <1>; 162b97ee269SEmmanuel Vadot #size-cells = <0>; 163b97ee269SEmmanuel Vadot reg = <1>; 164b97ee269SEmmanuel Vadot phys = <&mipi_lvds_0_phy>; 165b97ee269SEmmanuel Vadot phy-names = "lvds_phy"; 166b97ee269SEmmanuel Vadot 167b97ee269SEmmanuel Vadot port@0 { 168b97ee269SEmmanuel Vadot reg = <0>; 169b97ee269SEmmanuel Vadot 170b97ee269SEmmanuel Vadot mipi_lvds_0_ldb_ch1_mipi_lvds_0_pxl2dpi: endpoint { 171b97ee269SEmmanuel Vadot remote-endpoint = <&mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch1>; 172b97ee269SEmmanuel Vadot }; 173b97ee269SEmmanuel Vadot }; 174b97ee269SEmmanuel Vadot 175b97ee269SEmmanuel Vadot port@1 { 176b97ee269SEmmanuel Vadot reg = <1>; 177b97ee269SEmmanuel Vadot 178b97ee269SEmmanuel Vadot /* ... */ 179b97ee269SEmmanuel Vadot }; 180b97ee269SEmmanuel Vadot }; 181b97ee269SEmmanuel Vadot }; 182b97ee269SEmmanuel Vadot }; 183b97ee269SEmmanuel Vadot 184b97ee269SEmmanuel Vadot mipi_lvds_0_phy: phy@56228300 { 185b97ee269SEmmanuel Vadot compatible = "fsl,imx8qxp-mipi-dphy"; 186b97ee269SEmmanuel Vadot reg = <0x56228300 0x100>; 187b97ee269SEmmanuel Vadot clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_PHY>; 188b97ee269SEmmanuel Vadot clock-names = "phy_ref"; 189b97ee269SEmmanuel Vadot #phy-cells = <0>; 190b97ee269SEmmanuel Vadot fsl,syscon = <&mipi_lvds_0_csr>; 191b97ee269SEmmanuel Vadot power-domains = <&pd IMX_SC_R_MIPI_0>; 192b97ee269SEmmanuel Vadot }; 193