imx8mq lvds

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8mq lvds

Jump to solution
2,323 Views
hankwang
Contributor IV

Hi, This is my first porting LVDS function on the imx8mq.  i have added the lvds bridge sn65dsi84 parameters(ti,dsi-lanes, ti-lvds-format ...) and display-timing parmeters  (clock frequenct,hactive ...) in the device tree. Now, i have no idea where can modify the PWM setting. My PWM function pin is GPIO01_01. Could someone provide the sample code for me reference ?  

Labels (1)
0 Kudos
1 Solution
2,007 Views
igorpadykov
NXP Employee
NXP Employee

one can check boundary devices blog and build image for its board

Boundary Devices 

Best regards
igor

View solution in original post

0 Kudos
5 Replies
2,007 Views
hankwang
Contributor IV

Hi, Thanks for your reply. Now i can see backlight  turn on , but no image.

I need to check what some items? 

Below is my DTS configuration for LVDS:

&i2c1 {
dsi_lvds_bridge: sn65dsi84@2c {
compatible = "ti,sn65dsi83";
reg = <0x2d>;
ti,dsi-lanes = <4>;
ti,lvds-format = <2>;
ti,lvds-bpp = <24>;
ti,width-mm = <236>;
ti,height-mm = <176>;
/* MIPI_DSI_MODE_VIDEO | MIPI_DSI_CLOCK_NON_CONTINUOUS */
ti,dsi-mode-flags = <0x401>;
enable-gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>;
status = "okay";

display-timings {
lvds {
/* IVO g084sn05 */
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <240>;
hfront-porch = <48>;
vback-porch = <23>;
vfront-porch = <3>;
hsync-len = <32>;
vsync-len = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
};
};

port {
sn65dsi84_in: endpoint {
remote-endpoint = <&mipi_dsi_bridge_out>;
};
};
};
};

&mipi_dsi_phy {
status = "okay";
};

&dcss {
status = "okay";
disp-dev = "mipi_disp";

clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>,
<&clk IMX8MQ_CLK_DISP_AXI_ROOT>,
<&clk IMX8MQ_CLK_DISP_RTRM_ROOT>,
<&clk IMX8MQ_CLK_DC_PIXEL>,
<&clk IMX8MQ_CLK_DUMMY>,
<&clk IMX8MQ_CLK_DISP_DTRC>;
clock-names = "apb", "axi", "rtrm", "pix_div", "pix_out", "dtrc";

assigned-clocks = <&clk IMX8MQ_CLK_DC_PIXEL>,
<&clk IMX8MQ_CLK_DISP_AXI>,
<&clk IMX8MQ_CLK_DISP_RTRM>,
<&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
<&clk IMX8MQ_VIDEO_PLL1>;
assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>,
<&clk IMX8MQ_SYS1_PLL_800M>,
<&clk IMX8MQ_SYS1_PLL_800M>,
<&clk IMX8MQ_CLK_25M>;
assigned-clock-rates = <600000000>,
<800000000>,
<0>,
<400000000>,
<599999999>;

dcss_disp0: port@0 {
reg = <0>;

dcss_disp0_mipi_dsi: mipi_dsi {
remote-endpoint = <&mipi_dsi_in>;
};
};
};

&mipi_dsi {
status = "okay";
assigned-clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>,
<&clk IMX8MQ_CLK_DSI_CORE>,
<&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
<&clk IMX8MQ_VIDEO_PLL1>;
assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>,
<&clk IMX8MQ_SYS1_PLL_266M>,
<&clk IMX8MQ_CLK_25M>;
assigned-clock-rates = <24000000>,
<266000000>,
<0>,
<599999999>;

port@1 {
mipi_dsi_in: endpoint {
remote-endpoint = <&dcss_disp0_mipi_dsi>;
};
};
};

&mipi_dsi_bridge {
status = "okay";

port@2 {
mipi_dsi_bridge_out: endpoint {
remote-endpoint = <&sn65dsi84_in>;
};
};
};

  1.jpg

0 Kudos
2,007 Views
igorpadykov
NXP Employee
NXP Employee

for image issue suggest to create new thread.

Best regards
igor

0 Kudos
2,007 Views
hankwang
Contributor IV

Hi , I followed the boundary devices and added below setting. But PWM didn't output signal.

pinctrl_pwm1: pwm1grp {
fsl,pins = <
MX8MQ_IOMUXC_GPIO1_IO01_PWM1_OUT 0x16
>;
};

&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
status = "okay";
};

backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 5000000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <7>;
status = "okay";
};

0 Kudos
2,008 Views
igorpadykov
NXP Employee
NXP Employee

one can check boundary devices blog and build image for its board

Boundary Devices 

Best regards
igor

0 Kudos
2,007 Views
igorpadykov
NXP Employee
NXP Employee

Hi hank

for i.MX8MQ pwm example one can look at boundary devices nitrogen board

linux-imx6/imx8mq-nitrogen8m.dts at boundary-imx_4.14.x_2.0.0_ga · boundarydevices/linux-imx6 · GitH... 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos