~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mfd/fsl,imx8qxp-csr.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php