Device-Tree bindings for rockchip mipi dsi lcd driver Required properties: - rockchip,screen_init: Whether you need this screen initialization. <0>: Don't need to be initialized. <1>: Do need to be initialized. - rockchip,dsi_lane: mipi lcd data lane number. - rockchip,dsi_hs_clk: mipi lcd high speed clock. - rockchip,mipi_dsi_num: mipi lcd dsi number. - mipi_lcd_rst:mipi_lcd_rst: Should specify pin control groups used for reset this lcd. - mipi_lcd_en:mipi_lcd_en: Should specify pin control groups used for enable this lcd. - rockchip,gpios: gpio pin - rockchip,delay: delay the millisecond. - rockchip,cmd_debug : debug the cammands. <0>: close the debug; <1>: open the debug; - rockchip,on-cmds1: write cammand to mipi lcd. - rockchip,cmd_type: : close the debug; : open the debug; - rockchip,dsi_id: write cammand to mipi lcd(left and right). <0>: left dsi; <1>: right dsi; <2>: left and right dsis; - rockchip,cmd: cammand context. The first parameter was data type; The second parameter was index(register); The third and ... parameter are cammand context; - rockchip,cmd_delay: delay the millisecond. - screen-type: mipi lcd type. : Dual channel mipi lcd. : single channel mipi lcd. - lvds-format:No relationship. - out-face: DPI color coding as follows: :24bit :18bit :16bit - hactive, vactive: display resolution - hfront-porch, hback-porch, hsync-len: horizontal display timing parameters in pixels vfront-porch, vback-porch, vsync-len: vertical display timing parameters in lines - clock-frequency: display clock in Hz - swap-rb :exchange of red and blue. - swap-rg :exchange of red and green. - swap-gb :exchange of green and blue. - hsync-active: hsync pulse is active low/high/ignored - vsync-active: vsync pulse is active low/high/ignored - de-active: data-enable pulse is active low/high/ignored - pixelclk-active: with - active high = drive pixel data on rising edge/ sample data on falling edge - active low = drive pixel data on falling edge/ sample data on rising edge - ignored = ignored - interlaced (bool): boolean to enable interlaced mode - doublescan (bool): boolean to enable doublescan mode All the optional properties that are not bool follow the following logic: <1>: high active <0>: low active omitted: not used on hardware There are different ways of describing the capabilities of a display. The devicetree representation corresponds to the one commonly found in datasheets for displays. If a display supports multiple signal timings, the native-mode can be specified. The parameters are defined as: +----------+-------------------------------------+----------+-------+ | | | | | | | |vback_porch | | | | | | | | +----------#######################################----------+-------+ | # # | | | # | # | | | hback # | # hfront | hsync | | porch # | hactive # porch | len | |<-------->#<-------+--------------------------->#<-------->|<----->| | # | # | | | # |vactive # | | | # | # | | | # # | | +----------#######################################----------+-------+ | | | | | | | |vfront_porch | | | | | | | | +----------+-------------------------------------+----------+-------+ | | | | | | | |vsync_len | | | | | | | | +----------+-------------------------------------+----------+-------+ Example: { /* about mipi */ disp_mipi_init: mipi_dsi_init{ rockchip,screen_init = <1>; rockchip,dsi_lane = <4>; rockchip,dsi_hs_clk = <1020>; rockchip,mipi_dsi_num = <2>; }; disp_mipi_power_ctr: mipi_power_ctr { mipi_lcd_rst:mipi_lcd_rst{ rockchip,gpios = <&gpio7 GPIO_B2 GPIO_ACTIVE_HIGH>; rockchip,delay = <10>; }; /*mipi_lcd_en:mipi_lcd_en { rockchip,gpios = <&gpio6 GPIO_A7 GPIO_ACTIVE_HIGH>; rockchip,delay = <10>; };*/ }; disp_mipi_init_cmds: screen-on-cmds { rockchip,cmd_debug = <0>; rockchip,on-cmds1 { rockchip,cmd_type = ; rockchip,dsi_id = <2>; rockchip,cmd = <0x05 0x01>; //set soft reset rockchip,cmd_delay = <10>; }; }; disp_timings: display-timings { native-mode = <&timing0>; timing0: timing0 { screen-type = ; lvds-format = ; out-face = ; clock-frequency = <285000000>; hactive = <2560>; vactive = <1600>; hsync-len = <38>;//19 hback-porch = <80>;//40 hfront-porch = <246>;//123 vsync-len = <4>; vback-porch = <4>; vfront-porch = <12>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; swap-rb = <0>; swap-rg = <0>; swap-gb = <0>; }; }; };