imx7s.dtsi doesn't have mipi_dsi node

cancel
Showing results for 
Search instead for 
Did you mean: 

imx7s.dtsi doesn't have mipi_dsi node

318 Views
bmx666
Contributor II

I started to port BSP for custom board based on i.MX7D on i.MX7S and figure out MIPI DSI is missing in all kernel in device trees for imx7s. Is this issue or i.MX7S doesn't support MIPI DSI properly?

I also found imx7s-warp support MIPI DSI but they use imx7d.dtsi instead in some kernels.

Labels (2)
Tags (1)
0 Kudos
4 Replies

218 Views
b45499
NXP TechSupport
NXP TechSupport

Which BSP are you using?

0 Kudos

218 Views
bmx666
Contributor II

The latest Yocto BSP - Linux 5.4.3_1.0.0

0 Kudos

218 Views
b45499
NXP TechSupport
NXP TechSupport

The i.MX7S is Pin-to-pin and software Compatible to i.MX7D, so you can modify on the i.MX7D

About MIPI DIS drivers in LINUX BSP for i.MX7D

---device tree: imx7d.dtsi --> imx7d-sdb.dts--->imx7d-sdb-mipi.dts

---drivers

A. drivers/video/fbdev/mxc/mipi_dsi_samsung.c ---- mipi dsi driver of i.MX7D

B. drivers/video/fbdev/mxc/mxcfb_hx8363_wvga.c----lcd driver with MIPI DSI interface

0 Kudos

218 Views
bmx666
Contributor II

Rita sorry, but I asked about something different.

Using i.MX7D device tree cause hangs, resets and panics in U-boot and Kernel, because i.MX7S doesn't have full compatible software, which runs on i.MX7D

I fixed every DTS for custom boards on i.MX7S by add those changes in device tree which already present and works on both i.MX7D and i.MX7S processors

#include "imx7s.dtsi"

/* add missing nodes for i.MX7S */

/ {
 soc {
  ocrams_ddr: sram@900000 {
   compatible = "fsl,ddr-lpm-sram";
   reg = <0x900000 0x1000>;
   clocks = <&clks IMX7D_OCRAM_CLK>;
  };

  ocram: sram@901000 {
   compatible = "mmio-sram";
   reg = <0x901000 0x1f000>;
   clocks = <&clks IMX7D_OCRAM_CLK>;
  };

  ocrams: sram@180000 {
   compatible = "fsl,lpm-sram";
   reg = <0x180000 0x8000>;
   clocks = <&clks IMX7D_OCRAM_S_CLK>;
   status = "disabled";
  };

  ocram_optee {
   compatible = "fsl,optee-lpm-sram";
   reg = <0x180000 0x8000>;
   overw_reg = <&ocrams_ddr 0x904000 0x1000>,
     <&ocram 0x905000 0x1b000>,
     <&ocrams 0x900000 0x4000>;
   overw_clock = <&ocrams &clks IMX7D_OCRAM_CLK>;
  };

  ocrams_mf: sram-mf@900000 {
   compatible = "fsl,mega-fast-sram";
   reg = <0x900000 0x20000>;
   clocks = <&clks IMX7D_OCRAM_CLK>;
  };
 };
};

&aips2 {
 mipi_dsi: mipi-dsi@30760000 {
  compatible = "fsl,imx7d-mipi-dsi";
  reg = <0x30760000 0x10000>;
  interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
  clocks = <&clks IMX7D_MIPI_DSI_ROOT_CLK>,
   <&clks IMX7D_MIPI_DPHY_ROOT_CLK>;
  clock-names = "mipi_cfg_clk", "mipi_pllref_clk";
  power-domains = <&pgc_mipi_phy>;
  status = "okay";
 };
};

&aips3 {
 qspi1: qspi@30bb0000 {
  #address-cells = <1>;
  #size-cells = <0>;
  compatible = "fsl,imx7d-qspi";
  reg = <0x30bb0000 0x10000>, <0x60000000 0x10000000>;
  reg-names = "QuadSPI", "QuadSPI-memory";
  interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
  clocks = <&clks IMX7D_QSPI_ROOT_CLK>,
   <&clks IMX7D_QSPI_ROOT_CLK>;
  clock-names = "qspi_en", "qspi";
  status = "disabled";
 };
};

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍