diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi index 1de3ad60c6aa..17caf3703fb1 100644 --- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi @@ -858,6 +858,72 @@ spdif: spdif@2dab0000 { dma-names = "rx", "tx"; status = "disabled"; }; + + isi: isi@2dac0000 { + compatible = "fsl,imx8ulp-isi"; + reg = <0x2dac0000 0x10000>; + interrupts = ; + clocks = <&pcc5 IMX8ULP_CLK_ISI>, + <&cgc2 IMX8ULP_CLK_LPAV_AXI_DIV>; + clock-names = "axi", "apb"; + power-domains = <&scmi_devpd IMX8ULP_PD_ISI>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + isi_in: endpoint { + remote-endpoint = <&mipi_csi_out>; + }; + }; + }; + }; + + mipi_csi: csi@2daf0000 { + compatible = "fsl,imx8ulp-mipi-csi2"; + reg = <0x2daf0000 0x10000>, + <0x2dad0000 0x10000>; + clocks = <&pcc5 IMX8ULP_CLK_CSI>, + <&pcc5 IMX8ULP_CLK_CSI_CLK_ESC>, + <&pcc5 IMX8ULP_CLK_CSI_CLK_UI>, + <&pcc5 IMX8ULP_CLK_CSI_REGS>; + clock-names = "core", "esc", "ui", "pclk"; + assigned-clocks = <&pcc5 IMX8ULP_CLK_CSI>, + <&pcc5 IMX8ULP_CLK_CSI_CLK_ESC>, + <&pcc5 IMX8ULP_CLK_CSI_CLK_UI>, + <&pcc5 IMX8ULP_CLK_CSI_REGS>; + assigned-clock-parents = <&cgc2 IMX8ULP_CLK_PLL4_PFD1_DIV1>, + <&cgc2 IMX8ULP_CLK_PLL4_PFD1_DIV2>, + <&cgc2 IMX8ULP_CLK_PLL4_PFD0_DIV1>; + assigned-clock-rates = <200000000>, + <80000000>, + <100000000>, + <79200000>; + power-domains = <&scmi_devpd IMX8ULP_PD_MIPI_CSI>; + resets = <&pcc5 5>, /* PCC5_CSI_REGS_SWRST */ + <&pcc5 6>; /* PCC5_CSI_SWRST> */ + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + + mipi_csi_out: endpoint { + remote-endpoint = <&isi_in>; + }; + }; + }; + }; }; gpiod: gpio@2e200000 {