Skip to content

Commit 4a82128

Browse files
CkovMkcarlescufi
authored andcommitted
soc: imx93: enable lpi2c
- Add LPI2C1 ~ LPI2C8 instances to soc dtsi. - Expand clock dt-bindings for LPI2C to instance 7 & 8. - Add LPUART and LPI2C driver in imx9 Kconfig. Signed-off-by: Chekhov Ma <[email protected]>
1 parent 734adf5 commit 4a82128

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed

dts/arm64/nxp/nxp_mimx93_a55.dtsi

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <arm64/armv8-a.dtsi>
1010
#include <zephyr/dt-bindings/clock/imx_ccm_rev2.h>
1111
#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h>
12+
#include <zephyr/dt-bindings/i2c/i2c.h>
1213

1314
/ {
1415
#address-cells = <1>;
@@ -94,4 +95,100 @@
9495
clocks = <&ccm IMX_CCM_LPUART2_CLK 0x6c 24>;
9596
status = "disabled";
9697
};
98+
99+
lpi2c1: i2c@44340000 {
100+
compatible = "nxp,imx-lpi2c";
101+
clock-frequency = <I2C_BITRATE_STANDARD>;
102+
#address-cells = <1>;
103+
#size-cells = <0>;
104+
reg = <0x44340000 0x4000>;
105+
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
106+
interrupt-parent = <&gic>;
107+
clocks = <&ccm IMX_CCM_LPI2C1_CLK 0x70 6>;
108+
status = "disabled";
109+
};
110+
111+
lpi2c2: i2c@44350000 {
112+
compatible = "nxp,imx-lpi2c";
113+
clock-frequency = <I2C_BITRATE_STANDARD>;
114+
#address-cells = <1>;
115+
#size-cells = <0>;
116+
reg = <0x44350000 0x4000>;
117+
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
118+
interrupt-parent = <&gic>;
119+
clocks = <&ccm IMX_CCM_LPI2C2_CLK 0x70 8>;
120+
status = "disabled";
121+
};
122+
123+
lpi2c3: i2c@42530000 {
124+
compatible = "nxp,imx-lpi2c";
125+
clock-frequency = <I2C_BITRATE_STANDARD>;
126+
#address-cells = <1>;
127+
#size-cells = <0>;
128+
reg = <0x42530000 0x4000>;
129+
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
130+
interrupt-parent = <&gic>;
131+
clocks = <&ccm IMX_CCM_LPI2C3_CLK 0x70 10>;
132+
status = "disabled";
133+
};
134+
135+
lpi2c4: i2c@42540000 {
136+
compatible = "nxp,imx-lpi2c";
137+
clock-frequency = <I2C_BITRATE_STANDARD>;
138+
#address-cells = <1>;
139+
#size-cells = <0>;
140+
reg = <0x42540000 0x4000>;
141+
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
142+
interrupt-parent = <&gic>;
143+
clocks = <&ccm IMX_CCM_LPI2C4_CLK 0x80 24>;
144+
status = "disabled";
145+
};
146+
147+
lpi2c5: i2c@426b0000 {
148+
compatible = "nxp,imx-lpi2c";
149+
clock-frequency = <I2C_BITRATE_STANDARD>;
150+
#address-cells = <1>;
151+
#size-cells = <0>;
152+
reg = <0x426b0000 0x4000>;
153+
interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
154+
interrupt-parent = <&gic>;
155+
clocks = <&ccm IMX_CCM_LPI2C5_CLK 0x80 24>;
156+
status = "disabled";
157+
};
158+
159+
lpi2c6: i2c@426c0000 {
160+
compatible = "nxp,imx-lpi2c";
161+
clock-frequency = <I2C_BITRATE_STANDARD>;
162+
#address-cells = <1>;
163+
#size-cells = <0>;
164+
reg = <0x426c0000 0x4000>;
165+
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
166+
interrupt-parent = <&gic>;
167+
clocks = <&ccm IMX_CCM_LPI2C6_CLK 0x80 24>;
168+
status = "disabled";
169+
};
170+
171+
lpi2c7: i2c@426d0000 {
172+
compatible = "nxp,imx-lpi2c";
173+
clock-frequency = <I2C_BITRATE_STANDARD>;
174+
#address-cells = <1>;
175+
#size-cells = <0>;
176+
reg = <0x426d0000 0x4000>;
177+
interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
178+
interrupt-parent = <&gic>;
179+
clocks = <&ccm IMX_CCM_LPI2C7_CLK 0x80 24>;
180+
status = "disabled";
181+
};
182+
183+
lpi2c8: i2c@426e0000 {
184+
compatible = "nxp,imx-lpi2c";
185+
clock-frequency = <I2C_BITRATE_STANDARD>;
186+
#address-cells = <1>;
187+
#size-cells = <0>;
188+
reg = <0x426e0000 0x4000>;
189+
interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
190+
interrupt-parent = <&gic>;
191+
clocks = <&ccm IMX_CCM_LPI2C8_CLK 0x80 24>;
192+
status = "disabled";
193+
};
97194
};

include/zephyr/dt-bindings/clock/imx_ccm_rev2.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
#define IMX_CCM_LPI2C4_CLK 0x403UL
4343
#define IMX_CCM_LPI2C5_CLK 0x404UL
4444
#define IMX_CCM_LPI2C6_CLK 0x405UL
45+
#define IMX_CCM_LPI2C7_CLK 0x406UL
46+
#define IMX_CCM_LPI2C8_CLK 0x407UL
4547

4648
/* LPSPI */
4749
#define IMX_CCM_LPSPI_CLK 0x500UL

0 commit comments

Comments
 (0)