From: libing Date: Wed, 30 Apr 2014 09:28:18 +0000 (+0800) Subject: rk3288 mipi dsi: add rockchip_mipidsi_lcd.txt and rockchip_mipidsi.txt,in Documentati... X-Git-Tag: firefly_0821_release~5395 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9e41b24fe68026d2b14fa03e6e742665dd6792ff;p=firefly-linux-kernel-4.4.55.git rk3288 mipi dsi: add rockchip_mipidsi_lcd.txt and rockchip_mipidsi.txt,in Documentation/devicetree/bindings/video/ --- diff --git a/Documentation/devicetree/bindings/video/rockchip_mipidsi.txt b/Documentation/devicetree/bindings/video/rockchip_mipidsi.txt new file mode 100755 index 000000000000..bf571279392e --- /dev/null +++ b/Documentation/devicetree/bindings/video/rockchip_mipidsi.txt @@ -0,0 +1,39 @@ +Device-Tree bindings for rockchip mipi dsi driver + +Required properties: +- compatible: value should be "rockchip,rk32-dsi". +- rockchip,prop: dsi number. +- reg: physical base address of the hdmi and length of memory mapped + region. +- interrupts: interrupt number to the cpu. + +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. +- clocks-names: list of clock names sorted in the same order as the clocks + property. Must contain "pclk_hdmi" and "hdcp_clk_hdmi". +- status: the dsi host status; + : open the dsi host; + :close the dsi host; + +Example: + + dsihost0: mipi@ff960000{ + compatible = "rockchip,rk32-dsi"; + rockchip,prop = <0>; + reg = <0xff960000 0x4000>; + interrupts = ; + clocks = <&clk_gates5 15>, <&clk_gates16 4> , <&pd_mipidsi>; + clock-names = "clk_mipi_24m", "pclk_mipi_dsi", "pd_mipi_dsi"; + status = "okay"; + }; + + dsihost1: mipi@ff964000{ + compatible = "rockchip,rk32-dsi"; + rockchip,prop = <1>; + reg = <0xff964000 0x4000>; + interrupts = ; + clocks = <&clk_gates5 15>, <&clk_gates16 5>, <&pd_mipidsi>; + clock-names = "clk_mipi_24m", "pclk_mipi_dsi", "pd_mipi_dsi"; + status = "okay"; + }; + diff --git a/Documentation/devicetree/bindings/video/rockchip_mipidsi_lcd.txt b/Documentation/devicetree/bindings/video/rockchip_mipidsi_lcd.txt new file mode 100755 index 000000000000..837a3bd76b7f --- /dev/null +++ b/Documentation/devicetree/bindings/video/rockchip_mipidsi_lcd.txt @@ -0,0 +1,173 @@ +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>; + }; + }; +}; +