From patchwork Wed May 30 14:49:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Yadav X-Patchwork-Id: 10439169 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 5028A60327 for ; Wed, 30 May 2018 14:51:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0AABF290D2 for ; Wed, 30 May 2018 14:51:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0461B2901D; Wed, 30 May 2018 14:51:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D9746290D2 for ; Wed, 30 May 2018 14:50:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753327AbeE3Ou3 (ORCPT ); Wed, 30 May 2018 10:50:29 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:55554 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753311AbeE3OuY (ORCPT ); Wed, 30 May 2018 10:50:24 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 1AFC0606FA; Wed, 30 May 2018 14:50:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1527691824; bh=t6Z56svBazEy4aszpcOSm5cPEKabJObSuAjPwvVqksI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DZirD9X3pNUnjzRtWNlR/es81DJKfyo9fdnRjE1HuaLFw097r8g2c/7EygDeaJPRj qmfByyVVqYtzKm7j54nxeqOC2/SQa6jLv2GsZNinuHyqeiqXL0owza3wZBew6jCzmr uKeZn3F8uy4SozLL5FJgGPt149E7aur91q/lLtkc= Received: from ryadav-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: ryadav@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 0673160251; Wed, 30 May 2018 14:50:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1527691814; bh=t6Z56svBazEy4aszpcOSm5cPEKabJObSuAjPwvVqksI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ogrXGq93wMM0uhYagLLEaV+GZ3GnoHo7g6As1fPm1jLeoaiXkuxPliV4i2J9k8Uaq f4JXACNjpo9R718+IqcjizA6UJDZV6/cVMaL4OsF/0FgGClyv2zlW5qdi1e/2zUpj1 bAX6zppxRzUvBthYFpumAVMe/nBGDZlhN7wok7fQ= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 0673160251 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=ryadav@codeaurora.org From: Rajesh Yadav To: dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org Cc: Rajesh Yadav , robdclark@gmail.com, seanpaul@chromium.org, hoegsberg@chromium.org Subject: [DPU PATCH 01/11] dt-bindings: msm/disp: remove unused dsi & panel bindings Date: Wed, 30 May 2018 20:19:38 +0530 Message-Id: <1527691788-9350-2-git-send-email-ryadav@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1527691788-9350-1-git-send-email-ryadav@codeaurora.org> References: <1527691788-9350-1-git-send-email-ryadav@codeaurora.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP DPU driver switched to existing upstream dsi driver so removing the dsi-staging specific dsi and panel bindings. Signed-off-by: Rajesh Yadav --- .../devicetree/bindings/drm/msm/dpu-dsi.txt | 102 --- .../devicetree/bindings/drm/msm/mdss-dsi-panel.txt | 772 --------------------- .../devicetree/bindings/fb/mdss-dsi-panel.txt | 742 -------------------- Documentation/devicetree/bindings/fb/mdss-pll.txt | 103 --- 4 files changed, 1719 deletions(-) delete mode 100644 Documentation/devicetree/bindings/drm/msm/dpu-dsi.txt delete mode 100644 Documentation/devicetree/bindings/drm/msm/mdss-dsi-panel.txt delete mode 100644 Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt delete mode 100644 Documentation/devicetree/bindings/fb/mdss-pll.txt diff --git a/Documentation/devicetree/bindings/drm/msm/dpu-dsi.txt b/Documentation/devicetree/bindings/drm/msm/dpu-dsi.txt deleted file mode 100644 index 641cc26..0000000 --- a/Documentation/devicetree/bindings/drm/msm/dpu-dsi.txt +++ /dev/null @@ -1,102 +0,0 @@ -Qualcomm Technologies, Inc. - -mdss-dsi is the master DSI device which supports multiple DSI host controllers -that are compatible with MIPI display serial interface specification. - -DSI Controller: -Required properties: -- compatible: Should be "qcom,dsi-ctrl-hw-v". Supported - versions include 1.4, 2.0 and 2.2. - eg: qcom,dsi-ctrl-hw-v1.4, qcom,dsi-ctrl-hw-v2.0, - qcom,dsi-ctrl-hw-v2.2 - And for dsi phy driver: - qcom,dsi-phy-v0.0-hpm, qcom,dsi-phy-v0.0-lpm, - qcom,dsi-phy-v1.0, qcom,dsi-phy-v2.0, - qcom,dsi-phy-v3.0 -- reg: Base address and length of DSI controller's memory - mapped regions. -- reg-names: A list of strings that name the list of regs. - "dsi_ctrl" - DSI controller memory region. - "mmss_misc" - MMSS misc memory region. -- cell-index: Specifies the controller instance. -- clocks: Clocks required for DSI controller operation. -- clock-names: Names of the clocks corresponding to handles. Following - clocks are required: - "mdp_core_clk" - "iface_clk" - "core_mmss_clk" - "bus_clk" - "byte_clk" - "pixel_clk" - "core_clk" - "byte_clk_rcg" - "pixel_clk_rcg" -- gdsc-supply: phandle to gdsc regulator node. -- vdda-supply: phandle to vdda regulator node. -- vcca-supply: phandle to vcca regulator node. -- interrupt-parent phandle to the interrupt parent device node. -- interrupts: The interrupt signal from the DSI block. - -Bus Scaling Data: -- qcom,msm-bus,name: String property describing MDSS client. -- qcom,msm-bus,num-cases: This is the number of bus scaling use cases - defined in the vectors property. This must be - set to <2> for MDSS DSI driver where use-case 0 - is used to remove BW votes from the system. Use - case 1 is used to generate bandwidth requestes - when sending command packets. -- qcom,msm-bus,num-paths: This represents number of paths in each bus - scaling usecase. This value depends on number of - AXI master ports dedicated to MDSS for - particular chipset. -- qcom,msm-bus,vectors-KBps: A series of 4 cell properties, with a format - of (src, dst, ab, ib) which is defined at - Documentation/devicetree/bindings/arm/msm/msm_bus.txt. - DSI driver should always set average bandwidth - (ab) to 0 and always use instantaneous - bandwidth(ib) values. - -Optional properties: -- label: String to describe controller. -- qcom,platform-te-gpio: Specifies the gpio used for TE. -- qcom,dsi-display-active: Current active display -- qcom,dsi-ctrl: handle to dsi controller device -- qcom,dsi-phy: handle to dsi phy device -- qcom,dsi-manager: Specifies dsi manager is present -- qcom,dsi-display: Specifies dsi display is present -- qcom,hdmi-display: Specifies hdmi is present -- qcom,dp-display: Specified dp is present -- qcom,-supply-entries: A node that lists the elements of the supply used by the - a particular "type" of DSI module. The module "types" - can be "core", "ctrl", and "phy". Within the same type, - there can be more than one instance of this binding, - in which case the entry would be appended with the - supply entry index. - e.g. qcom,ctrl-supply-entry@0 - -- qcom,supply-name: name of the supply (vdd/vdda/vddio) - -- qcom,supply-min-voltage: minimum voltage level (uV) - -- qcom,supply-max-voltage: maximum voltage level (uV) - -- qcom,supply-enable-load: load drawn (uA) from enabled supply - -- qcom,supply-disable-load: load drawn (uA) from disabled supply - -- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on - -- qcom,supply-post-on-sleep: time to sleep (ms) after turning on - -- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off - -- qcom,supply-post-off-sleep: time to sleep (ms) after turning off -- qcom,mdss-mdp-transfer-time-us: Specifies the dsi transfer time for command mode - panels in microseconds. Driver uses this number to adjust - the clock rate according to the expected transfer time. - Increasing this value would slow down the mdp processing - and can result in slower performance. - Decreasing this value can speed up the mdp processing, - but this can also impact power consumption. - As a rule this time should not be higher than the time - that would be expected with the processing at the - dsi link rate since anyways this would be the maximum - transfer time that could be achieved. - If ping pong split enabled, this time should not be higher - than two times the dsi link rate time. - If the property is not specified, then the default value is 14000 us. -- qcom,dsi-phy-isolation-enabled: A boolean property enables the phy isolation from dsi - controller. This must be enabled for debugging purpose - only with simulator panel. It should not be enabled for - normal DSI panels. diff --git a/Documentation/devicetree/bindings/drm/msm/mdss-dsi-panel.txt b/Documentation/devicetree/bindings/drm/msm/mdss-dsi-panel.txt deleted file mode 100644 index 66a564d..0000000 --- a/Documentation/devicetree/bindings/drm/msm/mdss-dsi-panel.txt +++ /dev/null @@ -1,772 +0,0 @@ -QTI mdss-dsi-panel - -mdss-dsi-panel is a dsi panel device which supports panels that -are compatible with MIPI display serial interface specification. - -Required properties: -- compatible: This property applies to DSI V2 panels only. - This property should not be added for panels - that work based on version "V6.0" - DSI panels that are of different versions - are initialized by the drivers for dsi controller. - This property specifies the version - for DSI HW that this panel will work with - "qcom,dsi-panel-v2" = DSI V2.0 -- status: This property applies to DSI V2 panels only. - This property should not be added for panels - that work based on version "V6.0" - DSI panels that are of different versions - are initialized by the drivers for dsi controller. - A string that has to be set to "okay/ok" - to enable the panel driver. By default this property - will be set to "disable". Will be set to "ok/okay" - status for specific platforms. -- qcom,mdss-dsi-panel-controller: Specifies the phandle for the DSI controller that - this panel will be mapped to. -- qcom,mdss-dsi-panel-width: Specifies panel width in pixels. -- qcom,mdss-dsi-panel-height: Specifies panel height in pixels. -- qcom,mdss-dsi-bpp: Specifies the panel bits per pixel. - 3 = for rgb111 - 8 = for rgb332 - 12 = for rgb444 - 16 = for rgb565 - 18 = for rgb666 - 24 = for rgb888 -- qcom,mdss-dsi-panel-destination: A string that specifies the destination display for the panel. - "display_1" = DISPLAY_1 - "display_2" = DISPLAY_2 -- qcom,mdss-dsi-panel-timings: An array of length 12 that specifies the PHY - timing settings for the panel. -- qcom,mdss-dsi-panel-timings-8996: An array of length 40 char that specifies the 8996 PHY lane - timing settings for the panel. -- qcom,mdss-dsi-on-command: A byte stream formed by multiple dcs packets base on - qcom dsi controller protocol. - byte 0: dcs data type - byte 1: set to indicate this is an individual packet - (no chain) - byte 2: virtual channel number - byte 3: expect ack from client (dcs read command) - byte 4: wait number of specified ms after dcs command - transmitted - byte 5, 6: 16 bits length in network byte order - byte 7 and beyond: number byte of payload -- qcom,mdss-dsi-off-command: A byte stream formed by multiple dcs packets base on - qcom dsi controller protocol. - byte 0: dcs data type - byte 1: set to indicate this is an individual packet - (no chain) - byte 2: virtual channel number - byte 3: expect ack from client (dcs read command) - byte 4: wait number of specified ms after dcs command - transmitted - byte 5, 6: 16 bits length in network byte order - byte 7 and beyond: number byte of payload -- qcom,mdss-dsi-post-panel-on-command: same as "qcom,mdss-dsi-on-command" except commands are - sent after displaying an image. - -Note, if a short DCS packet(i.e packet with Byte 0:dcs data type as 05) mentioned in -qcom,mdss-dsi-on-command/qcom,mdss-dsi-off-command stream fails to transmit, -then 3 options can be tried. - 1. Send the packet as a long packet instead - Byte 0: dcs data type = 05 (DCS short Packet) - Byte 0: dcs data type = 29 (DCS long Packet) - 2. Send the packet in one burst by prepending with the next packet in packet stream - Byte 1 = 01 (indicates this is an individual packet) - Byte 1 = 00 (indicates this will be appended to the next - individual packet in the packet stream) - 3. Prepend a NULL packet to the short packet and send both in one burst instead of - combining multiple short packets and sending them in one burst. - -Optional properties: -- qcom,mdss-dsi-panel-name: A string used as a descriptive name of the panel -- qcom,mdss-dsi-panel-phy-timings: An array of length 'n' char that specifies the DSI PHY lane - timing settings for the panel. This is specific to DPU DRM driver. - The value of 'n' depends on the DSI PHY h/w revision and parsing this - property properly will be taken care in the DSI PHY DRM driver. -- qcom,cmd-sync-wait-broadcast: Boolean used to broadcast dcs command to panels. -- qcom,mdss-dsi-fbc-enable: Boolean used to enable frame buffer compression mode. -- qcom,mdss-dsi-fbc-slice-height: Slice height(in lines) of compressed block. - Expressed as power of 2. To set as 128 lines, - this should be set to 7. -- qcom,mdss-dsi-fbc-2d-pred-mode: Boolean to enable 2D map prediction. -- qcom,mdss-dsi-fbc-ver2-mode: Boolean to enable FBC 2.0 that supports 1/3 - compression. -- qcom,mdss-dsi-fbc-bpp: Compressed bpp supported by the panel. - Specified color order is used as default value. -- qcom,mdss-dsi-fbc-packing: Component packing. - 0 = default value. -- qcom,mdss-dsi-fbc-quant-error: Boolean used to enable quantization error calculation. -- qcom,mdss-dsi-fbc-bias: Bias for CD. - 0 = default value. -- qcom,mdss-dsi-fbc-pat-mode: Boolean used to enable PAT mode. -- qcom,mdss-dsi-fbc-vlc-mode: Boolean used to enable VLC mode. -- qcom,mdss-dsi-fbc-bflc-mode: Boolean used to enable BFLC mode. -- qcom,mdss-dsi-fbc-h-line-budget: Per line extra budget. - 0 = default value. -- qcom,mdss-dsi-fbc-budget-ctrl: Extra budget level. - 0 = default value. -- qcom,mdss-dsi-fbc-block-budget: Per block budget. - 0 = default value. -- qcom,mdss-dsi-fbc-lossless-threshold: Lossless mode threshold. - 0 = default value. -- qcom,mdss-dsi-fbc-lossy-threshold: Lossy mode threshold. - 0 = default value. -- qcom,mdss-dsi-fbc-rgb-threshold: Lossy RGB threshold. - 0 = default value. -- qcom,mdss-dsi-fbc-lossy-mode-idx: Lossy mode index value. - 0 = default value. -- qcom,mdss-dsi-fbc-max-pred-err: Max quantization prediction error. - 0 = default value -- qcom,mdss-dsi-h-back-porch: Horizontal back porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-h-front-porch: Horizontal front porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-h-pulse-width: Horizontal pulse width. - 2 = default value. -- qcom,mdss-dsi-h-sync-skew: Horizontal sync skew value. - 0 = default value. -- qcom,mdss-dsi-v-back-porch: Vertical back porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-v-front-porch: Vertical front porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-v-pulse-width: Vertical pulse width. - 2 = default value. -- qcom,mdss-dsi-h-left-border: Horizontal left border in pixel. - 0 = default value -- qcom,mdss-dsi-h-right-border: Horizontal right border in pixel. - 0 = default value -- qcom,mdss-dsi-v-top-border: Vertical top border in pixel. - 0 = default value -- qcom,mdss-dsi-v-bottom-border: Vertical bottom border in pixel. - 0 = default value -- qcom,mdss-dsi-underflow-color: Specifies the controller settings for the - panel under flow color. - 0xff = default value. -- qcom,mdss-dsi-border-color: Defines the border color value if border is present. - 0 = default value. -- qcom,mdss-dsi-panel-jitter: Panel jitter value is expressed in terms of numerator - and denominator. It contains two u32 values - numerator - followed by denominator. The jitter configurition causes - the early wakeup if panel needs to adjust before vsync. - Default jitter value is 2.0%. Max allowed value is 10%. -- qcom,mdss-dsi-panel-prefill-lines: An integer value defines the panel prefill lines required to - calculate the backoff time of rsc. - Default value is 16 lines. Max allowed value is vtotal. -- qcom,mdss-dsi-pan-enable-dynamic-fps: Boolean used to enable change in frame rate dynamically. -- qcom,mdss-dsi-pan-fps-update: A string that specifies when to change the frame rate. - "dfps_suspend_resume_mode"= FPS change request is - implemented during suspend/resume. - "dfps_immediate_clk_mode" = FPS change request is - implemented immediately using DSI clocks. - "dfps_immediate_porch_mode_hfp" = FPS change request is - implemented immediately by changing panel horizontal - front porch values. - "dfps_immediate_porch_mode_vfp" = FPS change request is - implemented immediately by changing panel vertical - front porch values. -- qcom,min-refresh-rate: Minimum refresh rate supported by the panel. -- qcom,max-refresh-rate: Maximum refresh rate supported by the panel. If max refresh - rate is not specified, then the frame rate of the panel in - qcom,mdss-dsi-panel-framerate is used. -- qcom,mdss-dsi-bl-pmic-control-type: A string that specifies the implementation of backlight - control for this panel. - "bl_ctrl_pwm" = Backlight controlled by PWM gpio. - "bl_ctrl_wled" = Backlight controlled by WLED. - "bl_ctrl_dcs" = Backlight controlled by DCS commands. - other: Unknown backlight control. (default) -- qcom,mdss-dsi-bl-pwm-pmi: Boolean to indicate that PWM control is through second pmic chip. -- qcom,mdss-dsi-bl-pmic-bank-select: LPG channel for backlight. - Required if backlight pmic control type is PWM -- qcom,mdss-dsi-bl-pmic-pwm-frequency: PWM period in microseconds. - Required if backlight pmic control type is PWM -- qcom,mdss-dsi-pwm-gpio: PMIC gpio binding to backlight. - Required if backlight pmic control type is PWM -- qcom,mdss-dsi-bl-min-level: Specifies the min backlight level supported by the panel. - 0 = default value. -- qcom,mdss-dsi-bl-max-level: Specifies the max backlight level supported by the panel. - 255 = default value. -- qcom,mdss-brightness-max-level: Specifies the max brightness level supported. - 255 = default value. -- qcom,mdss-dsi-interleave-mode: Specifies interleave mode. - 0 = default value. -- qcom,mdss-dsi-panel-type: Specifies the panel operating mode. - "dsi_video_mode" = enable video mode (default). - "dsi_cmd_mode" = enable command mode. -- qcom,5v-boost-gpio: Specifies the panel gpio for display 5v boost. -- qcom,mdss-dsi-te-check-enable: Boolean to enable Tear Check configuration. -- qcom,mdss-dsi-te-using-wd: Boolean entry enables the watchdog timer support to generate the vsync signal - for command mode panel. By default, panel TE will be used to generate the vsync. -- qcom,mdss-dsi-te-using-te-pin: Boolean to specify whether using hardware vsync. -- qcom,mdss-dsi-te-pin-select: Specifies TE operating mode. - 0 = TE through embedded dcs command - 1 = TE through TE gpio pin. (default) -- qcom,mdss-dsi-te-dcs-command: Inserts the dcs command. - 1 = default value. -- qcom,mdss-dsi-wr-mem-start: DCS command for write_memory_start. - 0x2c = default value. -- qcom,mdss-dsi-wr-mem-continue: DCS command for write_memory_continue. - 0x3c = default value. -- qcom,mdss-dsi-h-sync-pulse: Specifies the pulse mode option for the panel. - 0 = Don't send hsa/he following vs/ve packet(default) - 1 = Send hsa/he following vs/ve packet -- qcom,mdss-dsi-hfp-power-mode: Boolean to determine DSI lane state during - horizontal front porch (HFP) blanking period. -- qcom,mdss-dsi-hbp-power-mode: Boolean to determine DSI lane state during - horizontal back porch (HBP) blanking period. -- qcom,mdss-dsi-hsa-power-mode: Boolean to determine DSI lane state during - horizontal sync active (HSA) mode. -- qcom,mdss-dsi-last-line-interleave Boolean to determine if last line - interleave flag needs to be enabled. -- qcom,mdss-dsi-bllp-eof-power-mode: Boolean to determine DSI lane state during - blanking low power period (BLLP) EOF mode. -- qcom,mdss-dsi-bllp-power-mode: Boolean to determine DSI lane state during - blanking low power period (BLLP) mode. -- qcom,mdss-dsi-traffic-mode: Specifies the panel traffic mode. - "non_burst_sync_pulse" = non burst with sync pulses (default). - "non_burst_sync_event" = non burst with sync start event. - "burst_mode" = burst mode. -- qcom,mdss-dsi-pixel-packing: Specifies if pixel packing is used (in case of RGB666). - "tight" = Tight packing (default value). - "loose" = Loose packing. -- qcom,mdss-dsi-virtual-channel-id: Specifies the virtual channel identefier. - 0 = default value. -- qcom,mdss-dsi-color-order: Specifies the R, G and B channel ordering. - "rgb_swap_rgb" = DSI_RGB_SWAP_RGB (default value) - "rgb_swap_rbg" = DSI_RGB_SWAP_RBG - "rgb_swap_brg" = DSI_RGB_SWAP_BRG - "rgb_swap_grb" = DSI_RGB_SWAP_GRB - "rgb_swap_gbr" = DSI_RGB_SWAP_GBR -- qcom,mdss-dsi-lane-0-state: Boolean that specifies whether data lane 0 is enabled. -- qcom,mdss-dsi-lane-1-state: Boolean that specifies whether data lane 1 is enabled. -- qcom,mdss-dsi-lane-2-state: Boolean that specifies whether data lane 2 is enabled. -- qcom,mdss-dsi-lane-3-state: Boolean that specifies whether data lane 3 is enabled. -- qcom,mdss-dsi-t-clk-post: Specifies the byte clock cycles after mode switch. - 0x03 = default value. -- qcom,mdss-dsi-t-clk-pre: Specifies the byte clock cycles before mode switch. - 0x24 = default value. -- qcom,mdss-dsi-stream: Specifies the packet stream to be used. - 0 = stream 0 (default) - 1 = stream 1 -- qcom,mdss-dsi-mdp-trigger: Specifies the trigger mechanism to be used for MDP path. - "none" = no trigger - "trigger_te" = Tear check signal line used for trigger - "trigger_sw" = Triggered by software (default) - "trigger_sw_te" = Software trigger and TE -- qcom,mdss-dsi-dma-trigger: Specifies the trigger mechanism to be used for DMA path. - "none" = no trigger - "trigger_te" = Tear check signal line used for trigger - "trigger_sw" = Triggered by software (default) - "trigger_sw_seof" = Software trigger and start/end of frame trigger. - "trigger_sw_te" = Software trigger and TE -- qcom,mdss-dsi-panel-framerate: Specifies the frame rate for the panel. - 60 = 60 frames per second (default) -- qcom,mdss-dsi-panel-clockrate: A 64 bit value specifies the panel clock speed in Hz. - 0 = default value. -- qcom,mdss-mdp-transfer-time-us: Specifies the dsi transfer time for command mode - panels in microseconds. Driver uses this number to adjust - the clock rate according to the expected transfer time. - Increasing this value would slow down the mdp processing - and can result in slower performance. - Decreasing this value can speed up the mdp processing, - but this can also impact power consumption. - As a rule this time should not be higher than the time - that would be expected with the processing at the - dsi link rate since anyways this would be the maximum - transfer time that could be achieved. - If ping pong split enabled, this time should not be higher - than two times the dsi link rate time. - 14000 = default value. -- qcom,mdss-dsi-on-command-state: String that specifies the ctrl state for sending ON commands. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-off-command-state: String that specifies the ctrl state for sending OFF commands. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-post-mode-switch-on-command-state: String that specifies the ctrl state for sending ON commands post mode switch. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-pan-physical-width-dimension: Specifies panel physical width in mm which corresponds - to the physical width in the framebuffer information. -- qcom,mdss-pan-physical-height-dimension: Specifies panel physical height in mm which corresponds - to the physical height in the framebuffer information. -- qcom,mdss-dsi-mode-sel-gpio-state: String that specifies the lcd mode for panel - (such as single-port/dual-port), if qcom,panel-mode-gpio - binding is defined in dsi controller. - "dual_port" = Set GPIO to LOW - "single_port" = Set GPIO to HIGH - "high" = Set GPIO to HIGH - "low" = Set GPIO to LOW - The default value is "dual_port". -- qcom,mdss-tear-check-disable: Boolean to disable mdp tear check. Tear check is enabled by default to avoid - tearing. Other tear-check properties are ignored if this property is present. - The below tear check configuration properties can be individually tuned if - tear check is enabled. -- qcom,mdss-tear-check-sync-cfg-height: Specifies the vertical total number of lines. - The default value is 0xfff0. -- qcom,mdss-tear-check-sync-init-val: Specifies the init value at which the read pointer gets loaded - at vsync edge. The reader pointer refers to the line number of - panel buffer that is currently being updated. - The default value is panel height. -- qcom,mdss-tear-check-sync-threshold-start: - Allows the first ROI line write to an panel when read pointer is - between the range of ROI start line and ROI start line plus this - setting. - The default value is 4. -- qcom,mdss-tear-check-sync-threshold-continue: - The minimum number of lines the write pointer needs to be - above the read pointer so that it is safe to write to the panel. - (This check is not done for the first ROI line write of an update) - The default value is 4. -- qcom,mdss-tear-check-start-pos: Specify the y position from which the start_threshold value is - added and write is kicked off if the read pointer falls within that - region. - The default value is panel height. -- qcom,mdss-tear-check-rd-ptr-trigger-intr: - Specify the read pointer value at which an interrupt has to be - generated. - The default value is panel height + 1. -- qcom,mdss-tear-check-frame-rate: Specify the value to be a real frame rate(fps) x 100 factor to tune the - timing of TE simulation with more precision. - The default value is 6000 with 60 fps. -- qcom,mdss-dsi-reset-sequence: An array that lists the - sequence of reset gpio values and sleeps - Each command will have the format defined - as below: - --> Reset GPIO value - --> Sleep value (in ms) -- qcom,partial-update-enabled: String used to enable partial - panel update for command mode panels. - "none": partial update is disabled - "single_roi": default enable mode, only single roi is sent to panel - "dual_roi": two rois are merged into one big roi. Panel ddic should be able - to process two roi's along with the DCS command to send two rois. - disabled if property is not specified. -- qcom,mdss-dsi-horizontal-line-idle: List of width ranges (EC - SC) in pixels indicating - additional idle time in dsi clock cycles that is needed - to compensate for smaller line width. -- qcom,partial-update-roi-merge: Boolean indicates roi combination is need - and function has been provided for dcs - 2A/2B command. -- qcom,dcs-cmd-by-left: Boolean to indicate that dcs command are sent - through the left DSI controller only in a dual-dsi configuration -- qcom,mdss-dsi-panel-hdr-enabled: Boolean to indicate HDR support in panel. -- qcom,mdss-dsi-panel-hdr-color-primaries: - Array of 8 unsigned integers denoting chromaticity of panel.These - values are specified in nits units. The value range is 0 through 50000. - To obtain real chromacity, these values should be divided by factor of - 50000. The structure of array is defined in below order - value 1: x value of white chromaticity of display panel - value 2: y value of white chromaticity of display panel - value 3: x value of red chromaticity of display panel - value 4: y value of red chromaticity of display panel - value 5: x value of green chromaticity of display panel - value 6: y value of green chromaticity of display panel - value 7: x value of blue chromaticity of display panel - value 8: y value of blue chromaticity of display panel -- qcom,mdss-dsi-panel-peak-brightness: Maximum brightness supported by panel.In absence of maximum value - typical value becomes peak brightness. Value is specified in nits units. - To obtain real peak brightness, this value should be divided by factor of - 10000. -- qcom,mdss-dsi-panel-blackness-level: Blackness level supported by panel. Blackness level is defined as - ratio of peak brightness to contrast. Value is specified in nits units. - To obtain real blackness level, this value should be divided by factor of - 10000. -- qcom,mdss-dsi-lp11-init: Boolean used to enable the DSI clocks and data lanes (low power 11) - before issuing hardware reset line. -- qcom,mdss-dsi-init-delay-us: Delay in microseconds(us) before performing any DSI activity in lp11 - mode. This master delay (t_init_delay as per DSI spec) should be sum - of DSI internal delay to reach fuctional after power up and minimum - delay required by panel to reach functional. -- qcom,mdss-dsi-rx-eot-ignore: Boolean used to enable ignoring end of transmission packets. -- qcom,mdss-dsi-tx-eot-append: Boolean used to enable appending end of transmission packets. -- qcom,ulps-enabled: Boolean to enable support for Ultra Low Power State (ULPS) mode. -- qcom,suspend-ulps-enabled: Boolean to enable support for ULPS mode for panels during suspend state. -- qcom,panel-roi-alignment: Specifies the panel ROI alignment restrictions on its - left, top, width, height alignments and minimum width and - height values -- qcom,esd-check-enabled: Boolean used to enable ESD recovery feature. -- qcom,mdss-dsi-panel-status-command: A byte stream formed by multiple dcs packets based on - qcom dsi controller protocol, to read the panel status. - This value is used to kick in the ESD recovery. - byte 0: dcs data type - byte 1: set to indicate this is an individual packet - (no chain) - byte 2: virtual channel number - byte 3: expect ack from client (dcs read command) - byte 4: wait number of specified ms after dcs command - transmitted - byte 5, 6: 16 bits length in network byte order - byte 7 and beyond: number byte of payload -- qcom,mdss-dsi-panel-status-command-mode: - String that specifies the ctrl state for reading the panel status. - "dsi_lp_mode" = DSI low power mode - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-lp1-command: An optional byte stream to request low - power mode on a panel -- qcom,mdss-dsi-lp1-command-mode: String that specifies the ctrl state for - setting the panel power mode. - "dsi_lp_mode" = DSI low power mode - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-lp2-command: An optional byte stream to request ultra - low power mode on a panel -- qcom,mdss-dsi-lp2-command-mode: String that specifies the ctrl state for - setting the panel power mode. - "dsi_lp_mode" = DSI low power mode - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-nolp-command: An optional byte stream to disable low - power and ultra low power panel modes -- qcom,mdss-dsi-nolp-command-mode: String that specifies the ctrl state for - setting the panel power mode. - "dsi_lp_mode" = DSI low power mode - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-panel-status-check-mode:Specifies the panel status check method for ESD recovery. - "bta_check" = Uses BTA to check the panel status - "reg_read" = Reads panel status register to check the panel status - "reg_read_nt35596" = Reads panel status register to check the panel - status for NT35596 panel. - "te_signal_check" = Uses TE signal behaviour to check the panel status -- qcom,mdss-dsi-panel-status-read-length: Integer array that specify the expected read-back length of values - for each of panel registers. Each length is corresponding to number of - returned parameters of register introduced in specification. -- qcom,mdss-dsi-panel-status-valid-params: Integer array that specify the valid returned values which need to check - for each of register. - Some panel need only check the first few values returned from panel. - So: if this property is the same to qcom,mdss-dsi-panel-status-read-length, - then just ignore this one. -- qcom,mdss-dsi-panel-status-value: Multiple integer arrays, each specifies the values of the panel status register - which is used to check the panel status. The size of each array is the sum of - length specified in qcom,mdss-dsi-panel-status-read-length, and must be equal. - This can cover that Some panel may return several alternative values. -- qcom,mdss-dsi-panel-max-error-count: Integer value that specifies the maximum number of errors from register - read that can be ignored before treating that the panel has gone bad. -- qcom,dynamic-mode-switch-enabled: Boolean used to mention whether panel supports - dynamic switching from video mode to command mode - and vice versa. -- qcom,dynamic-mode-switch-type: A string specifies how to perform dynamic mode switch. - If qcom,dynamic-mode-switch-enabled is set and no string specified, default value is - dynamic-switch-suspend-resume. - "dynamic-switch-suspend-resume"= Switch using suspend/resume. Panel will - go blank during transition. - "dynamic-switch-immediate"= Switch on next frame update. Panel will - not go blank for this transition. - "dynamic-resolution-switch-immediate"= Switch the panel resolution. Panel will - not go blank for this transition. -- qcom,mdss-dsi-post-mode-switch-on-command: Multiple dcs packets used for turning on DSI panel - after panel has switch modes. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,video-to-cmd-mode-switch-commands: List of commands that need to be sent - to panel in order to switch from video mode to command mode dynamically. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,cmd-to-video-mode-switch-commands: List of commands that need to be sent - to panel in order to switch from command mode to video mode dynamically. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,send-pps-before-switch: Boolean propety to indicate when PPS commands should be sent, - either before or after switch commands during dynamic resolution - switch in DSC panels. If the property is not present, the default - behavior is to send PPS commands after the switch commands. -- qcom,mdss-dsi-panel-orientation: String used to indicate orientation of panel - "180" = panel is flipped in both horizontal and vertical directions - "hflip" = panel is flipped in horizontal direction - "vflip" = panel is flipped in vertical direction -- qcom,panel-ack-disabled: A boolean property to indicate, whether we need to wait for any ACK from the panel - for any commands that we send. -- qcom,mdss-dsi-force-clock-lane-hs: Boolean to force dsi clock lanes to HS mode always. - -- qcom,compression-mode: Select compression mode for panel. - "fbc" - frame buffer compression - "dsc" - display stream compression. - If "dsc" compression is used then config subnodes needs to be defined. -- qcom,panel-supply-entries: A node that lists the elements of the supply used to - power the DSI panel. There can be more than one instance - of this binding, in which case the entry would be appended - with the supply entry index. For a detailed description of - fields in the supply entry, refer to the qcom,ctrl-supply-entries - binding above. -- qcom,mdss-dsc-version: An 8 bit value indicates the DSC version supported by panel. Bits[0.3] - provides information about minor version while Bits[4.7] provides - major version information. It supports only DSC rev 1(Major).1(Minor) - right now. -- qcom,mdss-dsc-scr-version: Each DSC version can have multiple SCR. This 8 bit value indicates - current SCR revision information supported by panel. -- qcom,mdss-dsc-encoders: An integer value indicating how many DSC encoders should be used - to drive data stream to DSI. - Default value is 1 and max value is 2. - 2 encoder should be used only if qcom,mdss-lm-split or - qcom,split-mode with pingpong-split is used. -- qcom,mdss-dsc-slice-height: An integer value indicates the dsc slice height. -- qcom,mdss-dsc-slice-width: An integer value indicates the dsc slice width. - Multiple of slice width should be equal to panel-width. - Maximum 2 slices per DSC encoder can be used so if 2 DSC encoders - are used then minimum slice width is equal to panel-width/4. -- qcom,mdss-dsc-slice-per-pkt: An integer value indicates the slice per dsi packet. -- qcom,mdss-dsc-bit-per-component: An integer value indicates the bits per component before compression. -- qcom,mdss-dsc-bit-per-pixel: An integer value indicates the bits per pixel after compression. -- qcom,mdss-dsc-block-prediction-enable: A boolean value to enable/disable the block prediction at decoder. -- qcom,mdss-dsc-config-by-manufacture-cmd: A boolean to indicates panel use manufacture command to setup pps - instead of standard dcs type 0x0A. -- qcom,display-topology: Array of u32 values which specifies the list of topologies available - for the display. A display topology is defined by a - set of 3 values in the order: - - number of mixers - - number of compression encoders - - number of interfaces - Therefore, the array should always contain a tuple of 3 elements. -- qcom,default-topology-index: An u32 value which indexes the topology set - specified by the node "qcom,display-topology" - to identify the default topology for the - display. The first set is indexed by the - value 0. - -Required properties for sub-nodes: None -Optional properties: -- qcom,dba-panel: Indicates whether the current panel is used as a display bridge - to a non-DSI interface. -- qcom,bridge-name: A string to indicate the name of the bridge chip connected to DSI. qcom,bridge-name - is required if qcom,dba-panel is defined for the panel. -- qcom,adjust-timer-wakeup-ms: An integer value to indicate the timer delay(in ms) to accommodate - s/w delay while configuring the event timer wakeup logic. - -- qcom,mdss-dsi-display-timings: Parent node that lists the different resolutions that the panel supports. - Each child represents timings settings for a specific resolution. -- qcom,mdss-dsi-post-init-delay: Specifies required number of frames to wait so that panel can be functional - to show proper display. - -Additional properties added to the second level nodes that represent timings properties: -- qcom,mdss-dsi-timing-default: Property that specifies the current child as the default - timing configuration that will be used. -- qcom,mdss-dsi-timing-switch-command: List of commands that need to be sent - to panel when the resolution/timing switch happens dynamically. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,mdss-dsi-timing-switch-command-state: String that specifies the ctrl state for sending resolution switch - commands. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode - -Note, if a given optional qcom,* binding is not present, then the driver will configure -the default values specified. - -Example: -&mdss_mdp { - dsi_sim_vid: qcom,mdss_dsi_sim_video { - qcom,mdss-dsi-panel-name = "simulator video mode dsi panel"; - qcom,mdss-dsi-panel-controller = <&mdss_dsi0>; - qcom,mdss-dsi-panel-height = <1280>; - qcom,mdss-dsi-panel-width = <720>; - qcom,mdss-dsi-bpp = <24>; - qcom,mdss-dsi-pixel-packing = <0>; - qcom,mdss-dsi-panel-destination = "display_1"; - qcom,cmd-sync-wait-broadcast; - qcom,mdss-dsi-fbc-enable; - qcom,mdss-dsi-fbc-slice-height = <5>; - qcom,mdss-dsi-fbc-2d-pred-mode; - qcom,mdss-dsi-fbc-ver2-mode; - qcom,mdss-dsi-fbc-bpp = <0>; - qcom,mdss-dsi-fbc-packing = <0>; - qcom,mdss-dsi-fbc-quant-error; - qcom,mdss-dsi-fbc-bias = <0>; - qcom,mdss-dsi-fbc-pat-mode; - qcom,mdss-dsi-fbc-vlc-mode; - qcom,mdss-dsi-fbc-bflc-mode; - qcom,mdss-dsi-fbc-h-line-budget = <0>; - qcom,mdss-dsi-fbc-budget-ctrl = <0>; - qcom,mdss-dsi-fbc-block-budget = <0>; - qcom,mdss-dsi-fbc-lossless-threshold = <0>; - qcom,mdss-dsi-fbc-lossy-threshold = <0>; - qcom,mdss-dsi-fbc-rgb-threshold = <0>; - qcom,mdss-dsi-fbc-lossy-mode-idx = <0>; - qcom,mdss-dsi-fbc-max-pred-err = <2>; - qcom,mdss-dsi-h-front-porch = <140>; - qcom,mdss-dsi-h-back-porch = <164>; - qcom,mdss-dsi-h-pulse-width = <8>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <6>; - qcom,mdss-dsi-v-front-porch = <1>; - qcom,mdss-dsi-v-pulse-width = <1>; - qcom,mdss-dsi-h-left-border = <0>; - qcom,mdss-dsi-h-right-border = <0>; - qcom,mdss-dsi-v-top-border = <0>; - qcom,mdss-dsi-v-bottom-border = <0>; - qcom,mdss-dsi-border-color = <0>; - qcom,mdss-dsi-underflow-color = <0xff>; - qcom,mdss-dsi-bl-min-level = <1>; - qcom,mdss-dsi-bl-max-level = < 15>; - qcom,mdss-brightness-max-level = <255>; - qcom,mdss-dsi-interleave-mode = <0>; - qcom,mdss-dsi-panel-type = "dsi_video_mode"; - qcom,mdss-dsi-te-check-enable; - qcom,mdss-dsi-te-using-wd; - qcom,mdss-dsi-te-using-te-pin; - qcom,mdss-dsi-te-dcs-command = <1>; - qcom,mdss-dsi-wr-mem-continue = <0x3c>; - qcom,mdss-dsi-wr-mem-start = <0x2c>; - qcom,mdss-dsi-te-pin-select = <1>; - qcom,mdss-dsi-h-sync-pulse = <1>; - qcom,mdss-dsi-hfp-power-mode; - qcom,mdss-dsi-hbp-power-mode; - qcom,mdss-dsi-hsa-power-mode; - qcom,mdss-dsi-bllp-eof-power-mode; - qcom,mdss-dsi-bllp-power-mode; - qcom,mdss-dsi-last-line-interleave; - qcom,mdss-dsi-traffic-mode = <0>; - qcom,mdss-dsi-virtual-channel-id = <0>; - qcom,mdss-dsi-color-order = <0>; - qcom,mdss-dsi-lane-0-state; - qcom,mdss-dsi-lane-1-state; - qcom,mdss-dsi-lane-2-state; - qcom,mdss-dsi-lane-3-state; - qcom,mdss-dsi-t-clk-post = <0x20>; - qcom,mdss-dsi-t-clk-pre = <0x2c>; - qcom,mdss-dsi-stream = <0>; - qcom,mdss-dsi-mdp-trigger = <0>; - qcom,mdss-dsi-dma-trigger = <0>; - qcom,mdss-dsi-panel-framerate = <60>; - qcom,mdss-dsi-panel-clockrate = <424000000>; - qcom,mdss-mdp-transfer-time-us = <12500>; - qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33 - 22 27 1e 03 04 00]; - qcom,mdss-dsi-panel-timings-8996 = [23 20 06 09 05 03 04 a0 - 23 20 06 09 05 03 04 a0 - 23 20 06 09 05 03 04 a0 - 23 20 06 09 05 03 04 a0 - 23 2e 06 08 05 03 04 a0]; - qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00 - 29 01 00 00 10 00 02 FF 99]; - qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-off-command = [22 01 00 00 00 00 00]; - qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; - qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; - qcom,mdss-dsi-pan-enable-dynamic-fps; - qcom,mdss-dsi-pan-fps-update = "dfps_suspend_resume_mode"; - qcom,min-refresh-rate = <30>; - qcom,max-refresh-rate = <60>; - qcom,mdss-dsi-bl-pmic-bank-select = <0>; - qcom,mdss-dsi-bl-pmic-pwm-frequency = <0>; - qcom,mdss-dsi-pwm-gpio = <&pm8941_mpps 5 0>; - qcom,5v-boost-gpio = <&pm8994_gpios 14 0>; - qcom,mdss-pan-physical-width-dimension = <60>; - qcom,mdss-pan-physical-height-dimension = <140>; - qcom,mdss-dsi-mode-sel-gpio-state = "dsc_mode"; - qcom,mdss-tear-check-sync-cfg-height = <0xfff0>; - qcom,mdss-tear-check-sync-init-val = <1280>; - qcom,mdss-tear-check-sync-threshold-start = <4>; - qcom,mdss-tear-check-sync-threshold-continue = <4>; - qcom,mdss-tear-check-start-pos = <1280>; - qcom,mdss-tear-check-rd-ptr-trigger-intr = <1281>; - qcom,mdss-tear-check-frame-rate = <6000>; - qcom,mdss-dsi-reset-sequence = <1 2>, <0 10>, <1 10>; - qcom,partial-update-enabled = "single_roi"; - qcom,dcs-cmd-by-left; - qcom,mdss-dsi-lp11-init; - qcom,mdss-dsi-init-delay-us = <100>; - mdss-dsi-rx-eot-ignore; - mdss-dsi-tx-eot-append; - qcom,ulps-enabled; - qcom,suspend-ulps-enabled; - qcom,panel-roi-alignment = <4 4 2 2 20 20>; - qcom,esd-check-enabled; - qcom,mdss-dsi-panel-status-command = [06 01 00 01 05 00 02 0A 08]; - qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-panel-status-check-mode = "reg_read"; - qcom,mdss-dsi-panel-status-read-length = <8>; - qcom,mdss-dsi-panel-max-error-count = <3>; - qcom,mdss-dsi-panel-status-value = <0x1c 0x00 0x05 0x02 0x40 0x84 0x06 0x01>; - qcom,dynamic-mode-switch-enabled; - qcom,dynamic-mode-switch-type = "dynamic-switch-immediate"; - qcom,mdss-dsi-post-mode-switch-on-command = [32 01 00 00 00 00 02 00 00 - 29 01 00 00 10 00 02 B0 03]; - qcom,video-to-cmd-mode-switch-commands = [15 01 00 00 00 00 02 C2 0B - 15 01 00 00 00 00 02 C2 08]; - qcom,cmd-to-video-mode-switch-commands = [15 01 00 00 00 00 02 C2 03]; - qcom,send-pps-before-switch; - qcom,panel-ack-disabled; - qcom,mdss-dsi-horizontal-line-idle = <0 40 256>, - <40 120 128>, - <128 240 64>; - qcom,mdss-dsi-panel-orientation = "180" - qcom,mdss-dsi-panel-jitter = <0x8 0x10>; - qcom,mdss-dsi-panel-prefill-lines = <0x10>; - qcom,mdss-dsi-force-clock-lane-hs; - qcom,compression-mode = "dsc"; - qcom,adjust-timer-wakeup-ms = <1>; - qcom,mdss-dsi-display-timings { - wqhd { - qcom,mdss-dsi-timing-default; - qcom,mdss-dsi-panel-width = <720>; - qcom,mdss-dsi-panel-height = <2560>; - qcom,mdss-dsi-h-front-porch = <20>; - qcom,mdss-dsi-h-back-porch = <8>; - qcom,mdss-dsi-h-pulse-width = <8>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <4>; - qcom,mdss-dsi-v-front-porch = <728>; - qcom,mdss-dsi-v-pulse-width = <4>; - qcom,mdss-dsi-panel-framerate = <60>; - qcom,mdss-dsi-panel-timings = [E6 38 26 00 68 6E 2A 3C 2C 03 04 00]; - qcom,mdss-dsi-t-clk-post = <0x02>; - qcom,mdss-dsi-t-clk-pre = <0x2a>; - qcom,mdss-dsi-on-command = [05 01 00 00 a0 00 02 11 00 - 05 01 00 00 02 00 02 29 00]; - qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-timing-switch-command = [ - 29 00 00 00 00 00 02 B0 04 - 29 00 00 00 00 00 02 F1 00]; - qcom,mdss-dsi-timing-switch-command-state = "dsi_lp_mode"; - - qcom,mdss-dsc-slice-height = <16>; - qcom,mdss-dsc-slice-width = <360>; - qcom,mdss-dsc-slice-per-pkt = <2>; - qcom,mdss-dsc-bit-per-component = <8>; - qcom,mdss-dsc-bit-per-pixel = <8>; - qcom,mdss-dsc-block-prediction-enable; - qcom,mdss-dsc-config-by-manufacture-cmd; - qcom,display-topology = <1 1 1>; - qcom,default-topology-index = <0>; - }; - }; - qcom,panel-supply-entries { - #address-cells = <1>; - #size-cells = <0>; - - qcom,panel-supply-entry@0 { - reg = <0>; - qcom,supply-name = "vdd"; - qcom,supply-min-voltage = <2800000>; - qcom,supply-max-voltage = <2800000>; - qcom,supply-enable-load = <100000>; - qcom,supply-disable-load = <100>; - qcom,supply-pre-on-sleep = <0>; - qcom,supply-post-on-sleep = <0>; - qcom,supply-pre-off-sleep = <0>; - qcom,supply-post-off-sleep = <0>; - }; - - qcom,panel-supply-entry@1 { - reg = <1>; - qcom,supply-name = "vddio"; - qcom,supply-min-voltage = <1800000>; - qcom,supply-max-voltage = <1800000>; - qcom,supply-enable-load = <100000>; - qcom,supply-disable-load = <100>; - qcom,supply-pre-on-sleep = <0>; - qcom,supply-post-on-sleep = <0>; - qcom,supply-pre-off-sleep = <0>; - qcom,supply-post-off-sleep = <0>; - }; - }; - - qcom,dba-panel; - qcom,bridge-name = "adv7533"; - qcom,mdss-dsc-version = <0x11>; - qcom,mdss-dsc-scr-version = <0x1>; - qcom,mdss-dsc-slice-height = <16>; - qcom,mdss-dsc-slice-width = <360>; - qcom,mdss-dsc-slice-per-pkt = <2>; - qcom,mdss-dsc-bit-per-component = <8>; - qcom,mdss-dsc-bit-per-pixel = <8>; - qcom,mdss-dsc-block-prediction-enable; - qcom,mdss-dsc-config-by-manufacture-cmd; - qcom,display-topology = <1 1 1>, - <2 2 1>; - qcom,default-topology-index = <0>; - }; -}; diff --git a/Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt b/Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt deleted file mode 100644 index 608b426..0000000 --- a/Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt +++ /dev/null @@ -1,742 +0,0 @@ -Qualcomm mdss-dsi-panel - -mdss-dsi-panel is a dsi panel device which supports panels that -are compatible with MIPI display serial interface specification. - -Required properties: -- compatible: This property applies to DSI V2 panels only. - This property should not be added for panels - that work based on version "V6.0" - DSI panels that are of different versions - are initialized by the drivers for dsi controller. - This property specifies the version - for DSI HW that this panel will work with - "qcom,dsi-panel-v2" = DSI V2.0 -- status: This property applies to DSI V2 panels only. - This property should not be added for panels - that work based on version "V6.0" - DSI panels that are of different versions - are initialized by the drivers for dsi controller. - A string that has to be set to "okay/ok" - to enable the panel driver. By default this property - will be set to "disable". Will be set to "ok/okay" - status for specific platforms. -- qcom,mdss-dsi-panel-controller: Specifies the phandle for the DSI controller that - this panel will be mapped to. -- qcom,mdss-dsi-panel-width: Specifies panel width in pixels. -- qcom,mdss-dsi-panel-height: Specifies panel height in pixels. -- qcom,mdss-dsi-bpp: Specifies the panel bits per pixel. - 3 = for rgb111 - 8 = for rgb332 - 12 = for rgb444 - 16 = for rgb565 - 18 = for rgb666 - 24 = for rgb888 -- qcom,mdss-dsi-panel-destination: A string that specifies the destination display for the panel. - "display_1" = DISPLAY_1 - "display_2" = DISPLAY_2 -- qcom,mdss-dsi-panel-timings: An array of length 12 that specifies the PHY - timing settings for the panel. -- qcom,mdss-dsi-panel-timings-8996: An array of length 40 char that specifies the 8996 PHY lane - timing settings for the panel. -- qcom,mdss-dsi-on-command: A byte stream formed by multiple dcs packets base on - qcom dsi controller protocol. - byte 0: dcs data type - byte 1: set to indicate this is an individual packet - (no chain) - byte 2: virtual channel number - byte 3: expect ack from client (dcs read command) - byte 4: wait number of specified ms after dcs command - transmitted - byte 5, 6: 16 bits length in network byte order - byte 7 and beyond: number byte of payload -- qcom,mdss-dsi-off-command: A byte stream formed by multiple dcs packets base on - qcom dsi controller protocol. - byte 0: dcs data type - byte 1: set to indicate this is an individual packet - (no chain) - byte 2: virtual channel number - byte 3: expect ack from client (dcs read command) - byte 4: wait number of specified ms after dcs command - transmitted - byte 5, 6: 16 bits length in network byte order - byte 7 and beyond: number byte of payload -- qcom,mdss-dsi-post-panel-on-command: same as "qcom,mdss-dsi-on-command" except commands are - sent after displaying an image. - -Note, if a short DCS packet(i.e packet with Byte 0:dcs data type as 05) mentioned in -qcom,mdss-dsi-on-command/qcom,mdss-dsi-off-command stream fails to transmit, -then 3 options can be tried. - 1. Send the packet as a long packet instead - Byte 0: dcs data type = 05 (DCS short Packet) - Byte 0: dcs data type = 29 (DCS long Packet) - 2. Send the packet in one burst by prepending with the next packet in packet stream - Byte 1 = 01 (indicates this is an individual packet) - Byte 1 = 00 (indicates this will be appended to the next - individual packet in the packet stream) - 3. Prepend a NULL packet to the short packet and send both in one burst instead of - combining multiple short packets and sending them in one burst. - -Optional properties: -- qcom,mdss-dsi-panel-name: A string used as a descriptive name of the panel -- qcom,cmd-sync-wait-broadcast: Boolean used to broadcast dcs command to panels. -- qcom,mdss-dsi-fbc-enable: Boolean used to enable frame buffer compression mode. -- qcom,mdss-dsi-fbc-slice-height: Slice height(in lines) of compressed block. - Expressed as power of 2. To set as 128 lines, - this should be set to 7. -- qcom,mdss-dsi-fbc-2d-pred-mode: Boolean to enable 2D map prediction. -- qcom,mdss-dsi-fbc-ver2-mode: Boolean to enable FBC 2.0 that supports 1/3 - compression. -- qcom,mdss-dsi-fbc-bpp: Compressed bpp supported by the panel. - Specified color order is used as default value. -- qcom,mdss-dsi-fbc-packing: Component packing. - 0 = default value. -- qcom,mdss-dsi-fbc-quant-error: Boolean used to enable quantization error calculation. -- qcom,mdss-dsi-fbc-bias: Bias for CD. - 0 = default value. -- qcom,mdss-dsi-fbc-pat-mode: Boolean used to enable PAT mode. -- qcom,mdss-dsi-fbc-vlc-mode: Boolean used to enable VLC mode. -- qcom,mdss-dsi-fbc-bflc-mode: Boolean used to enable BFLC mode. -- qcom,mdss-dsi-fbc-h-line-budget: Per line extra budget. - 0 = default value. -- qcom,mdss-dsi-fbc-budget-ctrl: Extra budget level. - 0 = default value. -- qcom,mdss-dsi-fbc-block-budget: Per block budget. - 0 = default value. -- qcom,mdss-dsi-fbc-lossless-threshold: Lossless mode threshold. - 0 = default value. -- qcom,mdss-dsi-fbc-lossy-threshold: Lossy mode threshold. - 0 = default value. -- qcom,mdss-dsi-fbc-rgb-threshold: Lossy RGB threshold. - 0 = default value. -- qcom,mdss-dsi-fbc-lossy-mode-idx: Lossy mode index value. - 0 = default value. -- qcom,mdss-dsi-fbc-max-pred-err: Max quantization prediction error. - 0 = default value -- qcom,mdss-dsi-h-back-porch: Horizontal back porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-h-front-porch: Horizontal front porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-h-pulse-width: Horizontal pulse width. - 2 = default value. -- qcom,mdss-dsi-h-sync-skew: Horizontal sync skew value. - 0 = default value. -- qcom,mdss-dsi-v-back-porch: Vertical back porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-v-front-porch: Vertical front porch value in pixel. - 6 = default value. -- qcom,mdss-dsi-v-pulse-width: Vertical pulse width. - 2 = default value. -- qcom,mdss-dsi-h-left-border: Horizontal left border in pixel. - 0 = default value -- qcom,mdss-dsi-h-right-border: Horizontal right border in pixel. - 0 = default value -- qcom,mdss-dsi-v-top-border: Vertical top border in pixel. - 0 = default value -- qcom,mdss-dsi-v-bottom-border: Vertical bottom border in pixel. - 0 = default value -- qcom,mdss-dsi-underflow-color: Specifies the controller settings for the - panel under flow color. - 0xff = default value. -- qcom,mdss-dsi-border-color: Defines the border color value if border is present. - 0 = default value. -- qcom,mdss-dsi-pan-enable-dynamic-fps: Boolean used to enable change in frame rate dynamically. -- qcom,mdss-dsi-pan-fps-update: A string that specifies when to change the frame rate. - "dfps_suspend_resume_mode"= FPS change request is - implemented during suspend/resume. - "dfps_immediate_clk_mode" = FPS change request is - implemented immediately using DSI clocks. - "dfps_immediate_porch_mode_hfp" = FPS change request is - implemented immediately by changing panel horizontal - front porch values. - "dfps_immediate_porch_mode_vfp" = FPS change request is - implemented immediately by changing panel vertical - front porch values. -- qcom,min-refresh-rate: Minimum refresh rate supported by the panel. -- qcom,max-refresh-rate: Maximum refresh rate supported by the panel. If max refresh - rate is not specified, then the frame rate of the panel in - qcom,mdss-dsi-panel-framerate is used. -- qcom,mdss-dsi-bl-pmic-control-type: A string that specifies the implementation of backlight - control for this panel. - "bl_ctrl_pwm" = Backlight controlled by PWM gpio. - "bl_ctrl_wled" = Backlight controlled by WLED. - "bl_ctrl_dcs" = Backlight controlled by DCS commands. - other: Unknown backlight control. (default) -- qcom,mdss-dsi-bl-pwm-pmi: Boolean to indicate that PWM control is through second pmic chip. -- qcom,mdss-dsi-bl-pmic-bank-select: LPG channel for backlight. - Required if blpmiccontroltype is PWM -- qcom,mdss-dsi-bl-pmic-pwm-frequency: PWM period in microseconds. - Required if blpmiccontroltype is PWM -- qcom,mdss-dsi-pwm-gpio: PMIC gpio binding to backlight. - Required if blpmiccontroltype is PWM -- qcom,mdss-dsi-bl-min-level: Specifies the min backlight level supported by the panel. - 0 = default value. -- qcom,mdss-dsi-bl-max-level: Specifies the max backlight level supported by the panel. - 255 = default value. -- qcom,mdss-brightness-max-level: Specifies the max brightness level supported. - 255 = default value. -- qcom,mdss-dsi-interleave-mode: Specifies interleave mode. - 0 = default value. -- qcom,mdss-dsi-panel-type: Specifies the panel operating mode. - "dsi_video_mode" = enable video mode (default). - "dsi_cmd_mode" = enable command mode. -- qcom,5v-boost-gpio: Specifies the panel gpio for display 5v boost. -- qcom,mdss-dsi-te-check-enable: Boolean to enable Tear Check configuration. -- qcom,mdss-dsi-te-using-te-pin: Boolean to specify whether using hardware vsync. -- qcom,mdss-dsi-te-pin-select: Specifies TE operating mode. - 0 = TE through embedded dcs command - 1 = TE through TE gpio pin. (default) -- qcom,mdss-dsi-te-dcs-command: Inserts the dcs command. - 1 = default value. -- qcom,mdss-dsi-wr-mem-start: DCS command for write_memory_start. - 0x2c = default value. -- qcom,mdss-dsi-wr-mem-continue: DCS command for write_memory_continue. - 0x3c = default value. -- qcom,mdss-dsi-h-sync-pulse: Specifies the pulse mode option for the panel. - 0 = Don't send hsa/he following vs/ve packet(default) - 1 = Send hsa/he following vs/ve packet -- qcom,mdss-dsi-hfp-power-mode: Boolean to determine DSI lane state during - horizontal front porch (HFP) blanking period. -- qcom,mdss-dsi-hbp-power-mode: Boolean to determine DSI lane state during - horizontal back porch (HBP) blanking period. -- qcom,mdss-dsi-hsa-power-mode: Boolean to determine DSI lane state during - horizontal sync active (HSA) mode. -- qcom,mdss-dsi-last-line-interleave Boolean to determine if last line - interleave flag needs to be enabled. -- qcom,mdss-dsi-bllp-eof-power-mode: Boolean to determine DSI lane state during - blanking low power period (BLLP) EOF mode. -- qcom,mdss-dsi-bllp-power-mode: Boolean to determine DSI lane state during - blanking low power period (BLLP) mode. -- qcom,mdss-dsi-traffic-mode: Specifies the panel traffic mode. - "non_burst_sync_pulse" = non burst with sync pulses (default). - "non_burst_sync_event" = non burst with sync start event. - "burst_mode" = burst mode. -- qcom,mdss-dsi-pixel-packing: Specifies if pixel packing is used (in case of RGB666). - "tight" = Tight packing (default value). - "loose" = Loose packing. -- qcom,mdss-dsi-virtual-channel-id: Specifies the virtual channel identefier. - 0 = default value. -- qcom,mdss-dsi-color-order: Specifies the R, G and B channel ordering. - "rgb_swap_rgb" = DSI_RGB_SWAP_RGB (default value) - "rgb_swap_rbg" = DSI_RGB_SWAP_RBG - "rgb_swap_brg" = DSI_RGB_SWAP_BRG - "rgb_swap_grb" = DSI_RGB_SWAP_GRB - "rgb_swap_gbr" = DSI_RGB_SWAP_GBR -- qcom,mdss-dsi-lane-0-state: Boolean that specifies whether data lane 0 is enabled. -- qcom,mdss-dsi-lane-1-state: Boolean that specifies whether data lane 1 is enabled. -- qcom,mdss-dsi-lane-2-state: Boolean that specifies whether data lane 2 is enabled. -- qcom,mdss-dsi-lane-3-state: Boolean that specifies whether data lane 3 is enabled. -- qcom,mdss-dsi-t-clk-post: Specifies the byte clock cycles after mode switch. - 0x03 = default value. -- qcom,mdss-dsi-t-clk-pre: Specifies the byte clock cycles before mode switch. - 0x24 = default value. -- qcom,mdss-dsi-stream: Specifies the packet stream to be used. - 0 = stream 0 (default) - 1 = stream 1 -- qcom,mdss-dsi-mdp-trigger: Specifies the trigger mechanism to be used for MDP path. - "none" = no trigger - "trigger_te" = Tear check signal line used for trigger - "trigger_sw" = Triggered by software (default) - "trigger_sw_te" = Software trigger and TE -- qcom,mdss-dsi-dma-trigger: Specifies the trigger mechanism to be used for DMA path. - "none" = no trigger - "trigger_te" = Tear check signal line used for trigger - "trigger_sw" = Triggered by software (default) - "trigger_sw_seof" = Software trigger and start/end of frame trigger. - "trigger_sw_te" = Software trigger and TE -- qcom,mdss-dsi-panel-framerate: Specifies the frame rate for the panel. - 60 = 60 frames per second (default) -- qcom,mdss-dsi-panel-clockrate: A 64 bit value specifies the panel clock speed in Hz. - 0 = default value. -- qcom,mdss-mdp-transfer-time-us: Specifies the dsi transfer time for command mode - panels in microseconds. Driver uses this number to adjust - the clock rate according to the expected transfer time. - Increasing this value would slow down the mdp processing - and can result in slower performance. - Decreasing this value can speed up the mdp processing, - but this can also impact power consumption. - As a rule this time should not be higher than the time - that would be expected with the processing at the - dsi link rate since anyways this would be the maximum - transfer time that could be achieved. - If ping pong split enabled, this time should not be higher - than two times the dsi link rate time. - 14000 = default value. -- qcom,mdss-dsi-on-command-state: String that specifies the ctrl state for sending ON commands. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-off-command-state: String that specifies the ctrl state for sending OFF commands. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-post-mode-switch-on-command-state: String that specifies the ctrl state for sending ON commands post mode switch. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-pan-physical-width-dimension: Specifies panel physical width in mm which corresponds - to the physical width in the framebuffer information. -- qcom,mdss-pan-physical-height-dimension: Specifies panel physical height in mm which corresponds - to the physical height in the framebuffer information. -- qcom,mdss-dsi-mode-sel-gpio-state: String that specifies the lcd mode for panel - (such as single-port/dual-port), if qcom,panel-mode-gpio - binding is defined in dsi controller. - "dual_port" = Set GPIO to LOW - "single_port" = Set GPIO to HIGH - "high" = Set GPIO to HIGH - "low" = Set GPIO to LOW - The default value is "dual_port". -- qcom,mdss-tear-check-disable: Boolean to disable mdp tear check. Tear check is enabled by default to avoid - tearing. Other tear-check properties are ignored if this property is present. - The below tear check configuration properties can be individually tuned if - tear check is enabled. -- qcom,mdss-tear-check-sync-cfg-height: Specifies the vertical total number of lines. - The default value is 0xfff0. -- qcom,mdss-tear-check-sync-init-val: Specifies the init value at which the read pointer gets loaded - at vsync edge. The reader pointer refers to the line number of - panel buffer that is currently being updated. - The default value is panel height. -- qcom,mdss-tear-check-sync-threshold-start: - Allows the first ROI line write to an panel when read pointer is - between the range of ROI start line and ROI start line plus this - setting. - The default value is 4. -- qcom,mdss-tear-check-sync-threshold-continue: - The minimum number of lines the write pointer needs to be - above the read pointer so that it is safe to write to the panel. - (This check is not done for the first ROI line write of an update) - The default value is 4. -- qcom,mdss-tear-check-start-pos: Specify the y position from which the start_threshold value is - added and write is kicked off if the read pointer falls within that - region. - The default value is panel height. -- qcom,mdss-tear-check-rd-ptr-trigger-intr: - Specify the read pointer value at which an interrupt has to be - generated. - The default value is panel height + 1. -- qcom,mdss-tear-check-frame-rate: Specify the value to be a real frame rate(fps) x 100 factor to tune the - timing of TE simulation with more precision. - The default value is 6000 with 60 fps. -- qcom,mdss-dsi-reset-sequence: An array that lists the - sequence of reset gpio values and sleeps - Each command will have the format defined - as below: - --> Reset GPIO value - --> Sleep value (in ms) -- qcom,partial-update-enabled: Boolean used to enable partial - panel update for command mode panels. -- qcom,mdss-dsi-horizontal-line-idle: List of width ranges (EC - SC) in pixels indicating - additional idle time in dsi clock cycles that is needed - to compensate for smaller line width. -- qcom,partial-update-roi-merge: Boolean indicates roi combination is need - and function has been provided for dcs - 2A/2B command. -- qcom,dcs-cmd-by-left: Boolean to indicate that dcs command are sent - through the left DSI controller only in a dual-dsi configuration -- qcom,mdss-dsi-lp11-init: Boolean used to enable the DSI clocks and data lanes (low power 11) - before issuing hardware reset line. -- qcom,mdss-dsi-init-delay-us: Delay in microseconds(us) before performing any DSI activity in lp11 - mode. This master delay (t_init_delay as per DSI spec) should be sum - of DSI internal delay to reach fuctional after power up and minimum - delay required by panel to reach functional. -- qcom,mdss-dsi-rx-eot-ignore: Boolean used to enable ignoring end of transmission packets. -- qcom,mdss-dsi-tx-eot-append: Boolean used to enable appending end of transmission packets. -- qcom,ulps-enabled: Boolean to enable support for Ultra Low Power State (ULPS) mode. -- qcom,suspend-ulps-enabled: Boolean to enable support for ULPS mode for panels during suspend state. -- qcom,panel-roi-alignment: Specifies the panel ROI alignment restrictions on its - left, top, width, height alignments and minimum width and - height values -- qcom,esd-check-enabled: Boolean used to enable ESD recovery feature. -- qcom,mdss-dsi-panel-status-command: A byte stream formed by multiple dcs packets based on - qcom dsi controller protocol, to read the panel status. - This value is used to kick in the ESD recovery. - byte 0: dcs data type - byte 1: set to indicate this is an individual packet - (no chain) - byte 2: virtual channel number - byte 3: expect ack from client (dcs read command) - byte 4: wait number of specified ms after dcs command - transmitted - byte 5, 6: 16 bits length in network byte order - byte 7 and beyond: number byte of payload -- qcom,mdss-dsi-panel-status-command-mode: - String that specifies the ctrl state for reading the panel status. - "dsi_lp_mode" = DSI low power mode - "dsi_hs_mode" = DSI high speed mode -- qcom,mdss-dsi-panel-status-check-mode:Specifies the panel status check method for ESD recovery. - "bta_check" = Uses BTA to check the panel status - "reg_read" = Reads panel status register to check the panel status - "reg_read_nt35596" = Reads panel status register to check the panel - status for NT35596 panel. - "te_signal_check" = Uses TE signal behaviour to check the panel status -- qcom,mdss-dsi-panel-status-read-length: Integer array that specify the expected read-back length of values - for each of panel registers. Each length is corresponding to number of - returned parameters of register introduced in specification. -- qcom,mdss-dsi-panel-status-valid-params: Integer array that specify the valid returned values which need to check - for each of register. - Some panel need only check the first few values returned from panel. - So: if this property is the same to qcom,mdss-dsi-panel-status-read-length, - then just ignore this one. -- qcom,mdss-dsi-panel-status-value: Multiple integer arrays, each specifies the values of the panel status register - which is used to check the panel status. The size of each array is the sum of - length specified in qcom,mdss-dsi-panel-status-read-length, and must be equal. - This can cover that Some panel may return several alternative values. -- qcom,mdss-dsi-panel-max-error-count: Integer value that specifies the maximum number of errors from register - read that can be ignored before treating that the panel has gone bad. -- qcom,dynamic-mode-switch-enabled: Boolean used to mention whether panel supports - dynamic switching from video mode to command mode - and vice versa. -- qcom,dynamic-mode-switch-type: A string specifies how to perform dynamic mode switch. - If qcom,dynamic-mode-switch-enabled is set and no string specified, default value is - dynamic-switch-suspend-resume. - "dynamic-switch-suspend-resume"= Switch using suspend/resume. Panel will - go blank during transition. - "dynamic-switch-immediate"= Switch on next frame update. Panel will - not go blank for this transition. - "dynamic-resolution-switch-immediate"= Switch the panel resolution. Panel will - not go blank for this transition. -- qcom,mdss-dsi-post-mode-switch-on-command: Multiple dcs packets used for turning on DSI panel - after panel has switch modes. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,video-to-cmd-mode-switch-commands: List of commands that need to be sent - to panel in order to switch from video mode to command mode dynamically. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,cmd-to-video-mode-switch-commands: List of commands that need to be sent - to panel in order to switch from command mode to video mode dynamically. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,send-pps-before-switch: Boolean propety to indicate when PPS commands should be sent, - either before or after switch commands during dynamic resolution - switch in DSC panels. If the property is not present, the default - behavior is to send PPS commands after the switch commands. -- qcom,mdss-dsi-panel-orientation: String used to indicate orientation of panel - "180" = panel is flipped in both horizontal and vertical directions - "hflip" = panel is flipped in horizontal direction - "vflip" = panel is flipped in vertical direction -- qcom,panel-ack-disabled: A boolean property to indicate, whether we need to wait for any ACK from the panel - for any commands that we send. -- qcom,mdss-dsi-force-clock-lane-hs: Boolean to force dsi clock lanes to HS mode always. - -- qcom,compression-mode: Select compression mode for panel. - "fbc" - frame buffer compression - "dsc" - display stream compression. - If "dsc" compression is used then config subnodes needs to be defined. -- qcom,panel-supply-entries: A node that lists the elements of the supply used to - power the DSI panel. There can be more than one instance - of this binding, in which case the entry would be appended - with the supply entry index. For a detailed description of - fields in the supply entry, refer to the qcom,ctrl-supply-entries - binding above. -- qcom,config-select: Optional property to select default configuration. - -[[Optional config sub-nodes]] These subnodes provide different configurations for a given same panel. - Default configuration can be chosen by specifying phandle of the - selected subnode in the qcom,config-select. -Required properties for sub-nodes: None -Optional properites: -- qcom,lm-split: An array of two values indicating MDP should use two layer - mixers to reduce power. - Ex: Normally 1080x1920 display uses single DSI and thus one layer - mixer. But if we use two layer mixers then mux the output of - those two mixers into single stream and route it to single DSI - then we can lower the clock requirements of MDP. To use this - configuration we need two fill this array with <540 540>. - Both values doesn't have to be same, but recommended, however sum of - both values has to be equal to the panel-width. - By default two mixer streams are merged using 2D mux, however if - 2 DSC encoders are used then merge is performed within compression - engine. -- qcom,split-mode: String property indicating which split mode MDP should use. Valid - entries are "pingpong-split" and "dualctl-split". - This property is mutually exclusive with qcom,lm-split. -- qcom,mdss-dsc-version: An 8 bit value indicates the DSC version supported by panel. Bits[0.3] - provides information about minor version while Bits[4.7] provides - major version information. It supports only DSC rev 1(Major).1(Minor) - right now. -- qcom,mdss-dsc-scr-version: Each DSC version can have multiple SCR. This 8 bit value indicates - current SCR revision information supported by panel. -- qcom,mdss-dsc-encoders: An integer value indicating how many DSC encoders should be used - to drive data stream to DSI. - Default value is 1 and max value is 2. - 2 encoder should be used only if qcom,mdss-lm-split or - qcom,split-mode with pingpong-split is used. -- qcom,mdss-dsc-slice-height: An integer value indicates the dsc slice height. -- qcom,mdss-dsc-slice-width: An integer value indicates the dsc slice width. - Multiple of slice width should be equal to panel-width. - Maximum 2 slices per DSC encoder can be used so if 2 DSC encoders - are used then minimum slice width is equal to panel-width/4. -- qcom,mdss-dsc-slice-per-pkt: An integer value indicates the slice per dsi packet. -- qcom,mdss-dsc-bit-per-component: An integer value indicates the bits per component before compression. -- qcom,mdss-dsc-bit-per-pixel: An integer value indicates the bits per pixel after compression. -- qcom,mdss-dsc-block-prediction-enable: A boolean value to enable/disable the block prediction at decoder. -- qcom,mdss-dsc-config-by-manufacture-cmd: A boolean to indicates panel use manufacture command to setup pps - instead of standard dcs type 0x0A. -- qcom,dba-panel: Indicates whether the current panel is used as a display bridge - to a non-DSI interface. -- qcom,bridge-name: A string to indicate the name of the bridge chip connected to DSI. qcom,bridge-name - is required if qcom,dba-panel is defined for the panel. -- qcom,adjust-timer-wakeup-ms: An integer value to indicate the timer delay(in ms) to accommodate - s/w delay while configuring the event timer wakeup logic. - -- qcom,mdss-dsi-display-timings: Parent node that lists the different resolutions that the panel supports. - Each child represents timings settings for a specific resolution. -- qcom,mdss-dsi-post-init-delay: Specifies required number of frames to wait so that panel can be functional - to show proper display. - -Additional properties added to the second level nodes that represent timings properties: -- qcom,mdss-dsi-timing-default: Property that specifies the current child as the default - timing configuration that will be used. -- qcom,mdss-dsi-timing-switch-command: List of commands that need to be sent - to panel when the resolution/timing switch happens dynamically. - Refer to "qcom,mdss-dsi-on-command" section for adding commands. -- qcom,mdss-dsi-timing-switch-command-state: String that specifies the ctrl state for sending resolution switch - commands. - "dsi_lp_mode" = DSI low power mode (default) - "dsi_hs_mode" = DSI high speed mode - -Note, if a given optional qcom,* binding is not present, then the driver will configure -the default values specified. - -Example: -&mdss_mdp { - dsi_sim_vid: qcom,mdss_dsi_sim_video { - qcom,mdss-dsi-panel-name = "simulator video mode dsi panel"; - qcom,mdss-dsi-panel-controller = <&mdss_dsi0>; - qcom,mdss-dsi-panel-height = <1280>; - qcom,mdss-dsi-panel-width = <720>; - qcom,mdss-dsi-bpp = <24>; - qcom,mdss-dsi-pixel-packing = <0>; - qcom,mdss-dsi-panel-destination = "display_1"; - qcom,cmd-sync-wait-broadcast; - qcom,mdss-dsi-fbc-enable; - qcom,mdss-dsi-fbc-slice-height = <5>; - qcom,mdss-dsi-fbc-2d-pred-mode; - qcom,mdss-dsi-fbc-ver2-mode; - qcom,mdss-dsi-fbc-bpp = <0>; - qcom,mdss-dsi-fbc-packing = <0>; - qcom,mdss-dsi-fbc-quant-error; - qcom,mdss-dsi-fbc-bias = <0>; - qcom,mdss-dsi-fbc-pat-mode; - qcom,mdss-dsi-fbc-vlc-mode; - qcom,mdss-dsi-fbc-bflc-mode; - qcom,mdss-dsi-fbc-h-line-budget = <0>; - qcom,mdss-dsi-fbc-budget-ctrl = <0>; - qcom,mdss-dsi-fbc-block-budget = <0>; - qcom,mdss-dsi-fbc-lossless-threshold = <0>; - qcom,mdss-dsi-fbc-lossy-threshold = <0>; - qcom,mdss-dsi-fbc-rgb-threshold = <0>; - qcom,mdss-dsi-fbc-lossy-mode-idx = <0>; - qcom,mdss-dsi-fbc-max-pred-err = <2>; - qcom,mdss-dsi-h-front-porch = <140>; - qcom,mdss-dsi-h-back-porch = <164>; - qcom,mdss-dsi-h-pulse-width = <8>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <6>; - qcom,mdss-dsi-v-front-porch = <1>; - qcom,mdss-dsi-v-pulse-width = <1>; - qcom,mdss-dsi-h-left-border = <0>; - qcom,mdss-dsi-h-right-border = <0>; - qcom,mdss-dsi-v-top-border = <0>; - qcom,mdss-dsi-v-bottom-border = <0>; - qcom,mdss-dsi-border-color = <0>; - qcom,mdss-dsi-underflow-color = <0xff>; - qcom,mdss-dsi-bl-min-level = <1>; - qcom,mdss-dsi-bl-max-level = < 15>; - qcom,mdss-brightness-max-level = <255>; - qcom,mdss-dsi-interleave-mode = <0>; - qcom,mdss-dsi-panel-type = "dsi_video_mode"; - qcom,mdss-dsi-te-check-enable; - qcom,mdss-dsi-te-using-te-pin; - qcom,mdss-dsi-te-dcs-command = <1>; - qcom,mdss-dsi-wr-mem-continue = <0x3c>; - qcom,mdss-dsi-wr-mem-start = <0x2c>; - qcom,mdss-dsi-te-pin-select = <1>; - qcom,mdss-dsi-h-sync-pulse = <1>; - qcom,mdss-dsi-hfp-power-mode; - qcom,mdss-dsi-hbp-power-mode; - qcom,mdss-dsi-hsa-power-mode; - qcom,mdss-dsi-bllp-eof-power-mode; - qcom,mdss-dsi-bllp-power-mode; - qcom,mdss-dsi-last-line-interleave; - qcom,mdss-dsi-traffic-mode = <0>; - qcom,mdss-dsi-virtual-channel-id = <0>; - qcom,mdss-dsi-color-order = <0>; - qcom,mdss-dsi-lane-0-state; - qcom,mdss-dsi-lane-1-state; - qcom,mdss-dsi-lane-2-state; - qcom,mdss-dsi-lane-3-state; - qcom,mdss-dsi-t-clk-post = <0x20>; - qcom,mdss-dsi-t-clk-pre = <0x2c>; - qcom,mdss-dsi-stream = <0>; - qcom,mdss-dsi-mdp-trigger = <0>; - qcom,mdss-dsi-dma-trigger = <0>; - qcom,mdss-dsi-panel-framerate = <60>; - qcom,mdss-dsi-panel-clockrate = <424000000>; - qcom,mdss-mdp-transfer-time-us = <12500>; - qcom,mdss-dsi-panel-timings = [7d 25 1d 00 37 33 - 22 27 1e 03 04 00]; - qcom,mdss-dsi-panel-timings-8996 = [23 20 06 09 05 03 04 a0 - 23 20 06 09 05 03 04 a0 - 23 20 06 09 05 03 04 a0 - 23 20 06 09 05 03 04 a0 - 23 2e 06 08 05 03 04 a0]; - qcom,mdss-dsi-on-command = [32 01 00 00 00 00 02 00 00 - 29 01 00 00 10 00 02 FF 99]; - qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-off-command = [22 01 00 00 00 00 00]; - qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; - qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; - qcom,mdss-dsi-pan-enable-dynamic-fps; - qcom,mdss-dsi-pan-fps-update = "dfps_suspend_resume_mode"; - qcom,min-refresh-rate = <30>; - qcom,max-refresh-rate = <60>; - qcom,mdss-dsi-bl-pmic-bank-select = <0>; - qcom,mdss-dsi-bl-pmic-pwm-frequency = <0>; - qcom,mdss-dsi-pwm-gpio = <&pm8941_mpps 5 0>; - qcom,5v-boost-gpio = <&pm8994_gpios 14 0>; - qcom,mdss-pan-physical-width-dimension = <60>; - qcom,mdss-pan-physical-height-dimension = <140>; - qcom,mdss-dsi-mode-sel-gpio-state = "dsc_mode"; - qcom,mdss-tear-check-sync-cfg-height = <0xfff0>; - qcom,mdss-tear-check-sync-init-val = <1280>; - qcom,mdss-tear-check-sync-threshold-start = <4>; - qcom,mdss-tear-check-sync-threshold-continue = <4>; - qcom,mdss-tear-check-start-pos = <1280>; - qcom,mdss-tear-check-rd-ptr-trigger-intr = <1281>; - qcom,mdss-tear-check-frame-rate = <6000>; - qcom,mdss-dsi-reset-sequence = <1 2>, <0 10>, <1 10>; - qcom,partial-update-enabled; - qcom,dcs-cmd-by-left; - qcom,mdss-dsi-lp11-init; - qcom,mdss-dsi-init-delay-us = <100>; - mdss-dsi-rx-eot-ignore; - mdss-dsi-tx-eot-append; - qcom,ulps-enabled; - qcom,suspend-ulps-enabled; - qcom,panel-roi-alignment = <4 4 2 2 20 20>; - qcom,esd-check-enabled; - qcom,mdss-dsi-panel-status-command = [06 01 00 01 05 00 02 0A 08]; - qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-panel-status-check-mode = "reg_read"; - qcom,mdss-dsi-panel-status-read-length = <8>; - qcom,mdss-dsi-panel-max-error-count = <3>; - qcom,mdss-dsi-panel-status-value = <0x1c 0x00 0x05 0x02 0x40 0x84 0x06 0x01>; - qcom,dynamic-mode-switch-enabled; - qcom,dynamic-mode-switch-type = "dynamic-switch-immediate"; - qcom,mdss-dsi-post-mode-switch-on-command = [32 01 00 00 00 00 02 00 00 - 29 01 00 00 10 00 02 B0 03]; - qcom,video-to-cmd-mode-switch-commands = [15 01 00 00 00 00 02 C2 0B - 15 01 00 00 00 00 02 C2 08]; - qcom,cmd-to-video-mode-switch-commands = [15 01 00 00 00 00 02 C2 03]; - qcom,send-pps-before-switch; - qcom,panel-ack-disabled; - qcom,mdss-dsi-horizontal-line-idle = <0 40 256>, - <40 120 128>, - <128 240 64>; - qcom,mdss-dsi-panel-orientation = "180" - qcom,mdss-dsi-force-clock-lane-hs; - qcom,compression-mode = "dsc"; - qcom,adjust-timer-wakeup-ms = <1>; - qcom,mdss-dsi-display-timings { - wqhd { - qcom,mdss-dsi-timing-default; - qcom,mdss-dsi-panel-width = <720>; - qcom,mdss-dsi-panel-height = <2560>; - qcom,mdss-dsi-h-front-porch = <20>; - qcom,mdss-dsi-h-back-porch = <8>; - qcom,mdss-dsi-h-pulse-width = <8>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <4>; - qcom,mdss-dsi-v-front-porch = <728>; - qcom,mdss-dsi-v-pulse-width = <4>; - qcom,mdss-dsi-panel-framerate = <60>; - qcom,mdss-dsi-panel-timings = [E6 38 26 00 68 6E 2A 3C 2C 03 04 00]; - qcom,mdss-dsi-t-clk-post = <0x02>; - qcom,mdss-dsi-t-clk-pre = <0x2a>; - qcom,mdss-dsi-on-command = [05 01 00 00 a0 00 02 11 00 - 05 01 00 00 02 00 02 29 00]; - qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-timing-switch-command = [ - 29 00 00 00 00 00 02 B0 04 - 29 00 00 00 00 00 02 F1 00]; - qcom,mdss-dsi-timing-switch-command-state = "dsi_lp_mode"; - - qcom,config-select = <&dsi_sim_vid_config0>; - dsi_sim_vid_config0: config0 { - qcom,lm-split = <360 360>; - qcom,mdss-dsc-encoders = <2>; - qcom,mdss-dsc-slice-height = <16>; - qcom,mdss-dsc-slice-width = <360>; - qcom,mdss-dsc-slice-per-pkt = <2>; - qcom,mdss-dsc-bit-per-component = <8>; - qcom,mdss-dsc-bit-per-pixel = <8>; - qcom,mdss-dsc-block-prediction-enable; - qcom,mdss-dsc-config-by-manufacture-cmd; - }; - }; - }; - qcom,panel-supply-entries { - #address-cells = <1>; - #size-cells = <0>; - - qcom,panel-supply-entry@0 { - reg = <0>; - qcom,supply-name = "vdd"; - qcom,supply-min-voltage = <2800000>; - qcom,supply-max-voltage = <2800000>; - qcom,supply-enable-load = <100000>; - qcom,supply-disable-load = <100>; - qcom,supply-pre-on-sleep = <0>; - qcom,supply-post-on-sleep = <0>; - qcom,supply-pre-off-sleep = <0>; - qcom,supply-post-off-sleep = <0>; - }; - - qcom,panel-supply-entry@1 { - reg = <1>; - qcom,supply-name = "vddio"; - qcom,supply-min-voltage = <1800000>; - qcom,supply-max-voltage = <1800000>; - qcom,supply-enable-load = <100000>; - qcom,supply-disable-load = <100>; - qcom,supply-pre-on-sleep = <0>; - qcom,supply-post-on-sleep = <0>; - qcom,supply-pre-off-sleep = <0>; - qcom,supply-post-off-sleep = <0>; - }; - }; - - qcom,config-select = <&dsi_sim_vid_config0>; - qcom,dba-panel; - qcom,bridge-name = "adv7533"; - qcom,mdss-dsc-version = <0x11>; - qcom,mdss-dsc-scr-version = <0x1>; - - dsi_sim_vid_config0: config0 { - qcom,lm-split = <360 360>; - qcom,mdss-dsc-encoders = <2>; - qcom,mdss-dsc-slice-height = <16>; - qcom,mdss-dsc-slice-width = <360>; - qcom,mdss-dsc-slice-per-pkt = <2>; - qcom,mdss-dsc-bit-per-component = <8>; - qcom,mdss-dsc-bit-per-pixel = <8>; - qcom,mdss-dsc-block-prediction-enable; - qcom,mdss-dsc-config-by-manufacture-cmd; - }; - - dsi_sim_vid_config1: config1 { - qcom,mdss-dsc-encoders = <1>; - qcom,mdss-dsc-slice-height = <16>; - qcom,mdss-dsc-slice-width = <360>; - qcom,mdss-dsc-slice-per-pkt = <2>; - qcom,mdss-dsc-bit-per-component = <8>; - qcom,mdss-dsc-bit-per-pixel = <8>; - qcom,mdss-dsc-block-prediction-enable; - qcom,mdss-dsc-config-by-manufacture-cmd; - }; - - dsi_sim_vid_config2: config2 { - qcom,split-mode = "dualctl-split"; - }; - - dsi_sim_vid_config3: config3 { - qcom,split-mode = "pingpong-split"; - }; - }; -}; diff --git a/Documentation/devicetree/bindings/fb/mdss-pll.txt b/Documentation/devicetree/bindings/fb/mdss-pll.txt deleted file mode 100644 index 59fa6a0..0000000 --- a/Documentation/devicetree/bindings/fb/mdss-pll.txt +++ /dev/null @@ -1,103 +0,0 @@ -Qualcomm Technologies MDSS pll for DSI/EDP/HDMI - -mdss-pll is a pll controller device which supports pll devices that -are compatible with MIPI display serial interface specification, -HDMI and edp. - -Required properties: -- compatible: Compatible name used in the driver - "qcom,mdss_dsi_pll_8916", "qcom,mdss_dsi_pll_8939", - "qcom,mdss_dsi_pll_8974", "qcom,mdss_dsi_pll_8994", - "qcom,mdss_dsi_pll_8994", "qcom,mdss_dsi_pll_8909", - "qcom,mdss_hdmi_pll", "qcom,mdss_hdmi_pll_8994", - "qcom,mdss_dsi_pll_8992", "qcom,mdss_hdmi_pll_8992", - "qcom,mdss_dsi_pll_8996", "qcom,mdss_hdmi_pll_8996", - "qcom,mdss_hdmi_pll_8996_v2", "qcom,mdss_dsi_pll_8996_v2", - "qcom,mdss_hdmi_pll_8996_v3", "qcom,mdss_hdmi_pll_8996_v3_1p8", - "qcom,mdss_edp_pll_8996_v3", "qcom,mdss_edp_pll_8996_v3_1p8", - "qcom,mdss_dsi_pll_10nm", "qcom,mdss_dp_pll_8998", - "qcom,mdss_hdmi_pll_8998", "qcom,mdss_dp_pll_10nm". -- cell-index: Specifies the controller used -- reg: offset and length of the register set for the device. -- reg-names : names to refer to register sets related to this device -- gdsc-supply: Phandle for gdsc regulator device node. -- vddio-supply: Phandle for vddio regulator device node. -- clocks: List of Phandles for clock device nodes - needed by the device. -- clock-names: List of clock names needed by the device. -- clock-rate: List of clock rates in Hz. - -Optional properties: -- label: A string used to describe the driver used. -- vcca-supply: Phandle for vcca regulator device node. - - -- qcom,dsi-pll-ssc-en: Boolean property to indicate that ssc is enabled. -- qcom,dsi-pll-ssc-mode: Spread-spectrum clocking. It can be either "down-spread" - or "center-spread". Default is "down-spread" if it is not specified. -- qcom,ssc-frequency-hz: Integer property to specify the spread frequency - to be programmed for the SSC. -- qcom,ssc-ppm: Integer property to specify the Parts per Million - value of SSC. - -- qcom,platform-supply-entries: A node that lists the elements of the supply. There - can be more than one instance of this binding, - in which case the entry would be appended with - the supply entry index. - e.g. qcom,platform-supply-entry@0 - - reg: offset and length of the register set for the device. - -- qcom,supply-name: name of the supply (vdd/vdda/vddio) - -- qcom,supply-min-voltage: minimum voltage level (uV) - -- qcom,supply-max-voltage: maximum voltage level (uV) - -- qcom,supply-enable-load: load drawn (uA) from enabled supply - -- qcom,supply-disable-load: load drawn (uA) from disabled supply - -- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on - -- qcom,supply-post-on-sleep: time to sleep (ms) after turning on - -- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off - -- qcom,supply-post-off-sleep: time to sleep (ms) after turning off - -Example: - mdss_dsi0_pll: qcom,mdss_dsi_pll@fd922A00 { - compatible = "qcom,mdss_dsi_pll_8974"; - label = "MDSS DSI 0 PLL"; - cell-index = <0>; - - reg = <0xfd922A00 0xD4>, - <0xfd922900 0x64>, - <0xfd8c2300 0x8>; - reg-names = "pll_base", "dynamic_pll_base", "gdsc_base"; - gdsc-supply = <&gdsc_mdss>; - vddio-supply = <&pm8941_l12>; - vcca-supply = <&pm8941_l28>; - - clocks = <&clock_gcc clk_gcc_mdss_mdp_clk>, - <&clock_gcc clk_gcc_mdss_ahb_clk>, - <&clock_gcc clk_gcc_mdss_axi_clk>; - clock-names = "mdp_core_clk", "iface_clk", "bus_clk"; - clock-rate = <0>, <0>, <0>; - - qcom,dsi-pll-slave; - qcom,dsi-pll-ssc-en; - qcom,dsi-pll-ssc-mode = "down-spread"; - qcom,ssc-frequency-hz = <30000>; - qcom,ssc-ppm = <5000>; - - qcom,platform-supply-entries { - #address-cells = <1>; - #size-cells = <0>; - - qcom,platform-supply-entry@0 { - reg = <0>; - qcom,supply-name = "vddio"; - qcom,supply-min-voltage = <1800000>; - qcom,supply-max-voltage = <1800000>; - qcom,supply-enable-load = <100000>; - qcom,supply-disable-load = <100>; - qcom,supply-pre-on-sleep = <0>; - qcom,supply-post-on-sleep = <20>; - qcom,supply-pre-off-sleep = <0>; - qcom,supply-post-off-sleep = <0>; - }; - }; - }; -