xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8-ss-cm41.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright 2024 NXP
4*0e8011faSEmmanuel Vadot *	Dong Aisheng <aisheng.dong@nxp.com>
5*0e8011faSEmmanuel Vadot */
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadot#include <dt-bindings/firmware/imx/rsrc.h>
8*0e8011faSEmmanuel Vadot#include <dt-bindings/clock/imx8-lpcg.h>
9*0e8011faSEmmanuel Vadot
10*0e8011faSEmmanuel Vadotcm41_ipg_clk: clock-cm41-ipg {
11*0e8011faSEmmanuel Vadot	compatible = "fixed-clock";
12*0e8011faSEmmanuel Vadot	#clock-cells = <0>;
13*0e8011faSEmmanuel Vadot	clock-frequency = <132000000>;
14*0e8011faSEmmanuel Vadot	clock-output-names = "cm41_ipg_clk";
15*0e8011faSEmmanuel Vadot};
16*0e8011faSEmmanuel Vadot
17*0e8011faSEmmanuel Vadotcm41_subsys: bus@38000000 {
18*0e8011faSEmmanuel Vadot	compatible = "simple-bus";
19*0e8011faSEmmanuel Vadot	#address-cells = <1>;
20*0e8011faSEmmanuel Vadot	#size-cells = <1>;
21*0e8011faSEmmanuel Vadot	ranges = <0x38000000 0x0 0x38000000 0x4000000>;
22*0e8011faSEmmanuel Vadot	interrupt-parent = <&cm41_intmux>;
23*0e8011faSEmmanuel Vadot
24*0e8011faSEmmanuel Vadot	cm41_i2c: i2c@3b230000 {
25*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
26*0e8011faSEmmanuel Vadot		reg = <0x3b230000 0x1000>;
27*0e8011faSEmmanuel Vadot		interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
28*0e8011faSEmmanuel Vadot		clocks = <&cm41_i2c_lpcg IMX_LPCG_CLK_0>,
29*0e8011faSEmmanuel Vadot			 <&cm41_i2c_lpcg IMX_LPCG_CLK_4>;
30*0e8011faSEmmanuel Vadot		clock-names = "per", "ipg";
31*0e8011faSEmmanuel Vadot		assigned-clocks = <&clk IMX_SC_R_M4_1_I2C IMX_SC_PM_CLK_PER>;
32*0e8011faSEmmanuel Vadot		assigned-clock-rates = <24000000>;
33*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_M4_1_I2C>;
34*0e8011faSEmmanuel Vadot		status = "disabled";
35*0e8011faSEmmanuel Vadot	};
36*0e8011faSEmmanuel Vadot
37*0e8011faSEmmanuel Vadot	cm41_intmux: intmux@3b400000 {
38*0e8011faSEmmanuel Vadot		compatible = "fsl,imx-intmux";
39*0e8011faSEmmanuel Vadot		reg = <0x3b400000 0x1000>;
40*0e8011faSEmmanuel Vadot		interrupt-parent = <&gic>;
41*0e8011faSEmmanuel Vadot		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
42*0e8011faSEmmanuel Vadot			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
43*0e8011faSEmmanuel Vadot			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
44*0e8011faSEmmanuel Vadot			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
45*0e8011faSEmmanuel Vadot			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
46*0e8011faSEmmanuel Vadot			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
47*0e8011faSEmmanuel Vadot			     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
48*0e8011faSEmmanuel Vadot			     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
49*0e8011faSEmmanuel Vadot		interrupt-controller;
50*0e8011faSEmmanuel Vadot		#interrupt-cells = <2>;
51*0e8011faSEmmanuel Vadot		clocks = <&cm41_ipg_clk>;
52*0e8011faSEmmanuel Vadot		clock-names = "ipg";
53*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_M4_1_INTMUX>;
54*0e8011faSEmmanuel Vadot		status = "disabled";
55*0e8011faSEmmanuel Vadot	};
56*0e8011faSEmmanuel Vadot
57*0e8011faSEmmanuel Vadot	cm41_i2c_lpcg: clock-controller@3b630000 {
58*0e8011faSEmmanuel Vadot		compatible = "fsl,imx8qxp-lpcg";
59*0e8011faSEmmanuel Vadot		reg = <0x3b630000 0x1000>;
60*0e8011faSEmmanuel Vadot		#clock-cells = <1>;
61*0e8011faSEmmanuel Vadot		clocks = <&clk IMX_SC_R_M4_1_I2C IMX_SC_PM_CLK_PER>,
62*0e8011faSEmmanuel Vadot			 <&cm41_ipg_clk>;
63*0e8011faSEmmanuel Vadot		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_4>;
64*0e8011faSEmmanuel Vadot		clock-output-names = "cm41_lpcg_i2c_clk",
65*0e8011faSEmmanuel Vadot				     "cm41_lpcg_i2c_ipg_clk";
66*0e8011faSEmmanuel Vadot		power-domains = <&pd IMX_SC_R_M4_1_I2C>;
67*0e8011faSEmmanuel Vadot	};
68*0e8011faSEmmanuel Vadot};
69