tegrakernel/hardware/nvidia/platform/tegra/common/kernel-dts/panels/panel-o-720p-6-0-01.dtsi

113 lines
4.6 KiB
Plaintext

/*
* arch/arm/boot/dts/panel-o-720p-6-0-01.dsti
*
* Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <dt-bindings/display/tegra-dc.h>
#include <dt-bindings/display/tegra-panel.h>
/ {
host1x {
dsi {
panel_o_720p_6_0_01: panel-o-720p-6-0-01 {
status = "disabled";
compatible = "o,720-1280-6-0-01";
nvidia,dsi-instance = <DSI_INSTANCE_0>;
nvidia,dsi-n-data-lanes = <4>;
nvidia,dsi-lp-cmd-mode-freq = <100000>;
nvidia,dsi-lp-read-cmd-mode-freq = <100000>;
nvidia,dsi-no-pkt-seq-eot;
nvidia,dsi-pixel-format = <TEGRA_DSI_PIXEL_FORMAT_24BIT_P>;
nvidia,dsi-refresh-rate = <60>;
nvidia,dsi-video-data-type = <TEGRA_DSI_VIDEO_TYPE_VIDEO_MODE>;
nvidia,dsi-video-clock-mode = <TEGRA_DSI_VIDEO_CLOCK_TX_ONLY>;
nvidia,dsi-video-burst-mode = <TEGRA_DSI_VIDEO_NONE_BURST_MODE>;
nvidia,dsi-virtual-channel = <TEGRA_DSI_VIRTUAL_CHANNEL_0>;
nvidia,dsi-panel-reset = <TEGRA_DSI_ENABLE>;
nvidia,dsi-power-saving-suspend = <TEGRA_DSI_ENABLE>;
nvidia,dsi-ulpm-not-support = <TEGRA_DSI_ENABLE>;
nvidia,dsi-phy-tlpx = <100>;
nvidia,dsi-init-cmd = <TEGRA_DSI_PACKET_CMD DSI_DCS_LONG_WRITE 0x4 0x0 0x0 0xb9 0xff 0x83 0x94 0x0 0x0>,
<0x0 DSI_DCS_WRITE_1_PARAM 0xBD 0x00 0x0>,
<TEGRA_DSI_PACKET_CMD DSI_DCS_LONG_WRITE 0x19 0x0 0x0 0xD8 0xAA 0xAA 0xAA 0xEB 0xAA 0xAA 0xAA 0xAA 0xAA
0xEB 0xAA 0xAA 0xAA 0xAA 0xAA 0xEB 0xAA 0xAA 0xAA
0xAA 0xAA 0xEB 0xAA 0xAA 0x0 0x0>,
<0x0 DSI_DCS_WRITE_1_PARAM 0xBD 0x01 0x0>,
<TEGRA_DSI_PACKET_CMD DSI_DCS_LONG_WRITE 0x27 0x0 0x0 0xD8 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x0 0x0>,
<0x0 DSI_DCS_WRITE_1_PARAM 0xBD 0x02 0x0>,
<TEGRA_DSI_PACKET_CMD DSI_DCS_LONG_WRITE 0xf 0x0 0x0 0xD8 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0x0 0x0>,
<0x0 DSI_DCS_WRITE_1_PARAM 0xBD 0x0 0x0>,
<TEGRA_DSI_PACKET_CMD DSI_DCS_LONG_WRITE 0x4 0x0 0x0 0xB9 0x0 0x0 0x0 0x0 0x0>,
<0x0 DSI_DCS_WRITE_0_PARAM 0x11 0x0 0x0>,
<TEGRA_DSI_DELAY_MS 200>, //180ms + 20ms
/* TODO, Do we need to find a way to set set_display_on after "operate DSI_A in video mode"? */
<0x0 DSI_DCS_WRITE_0_PARAM DSI_DCS_SET_DISPLAY_ON 0x0 0x0>;
nvidia,dsi-n-init-cmd = <12>;
nvidia,dsi-suspend-cmd = <0x0 DSI_DCS_WRITE_0_PARAM DSI_DCS_SET_DISPLAY_OFF 0x0 0x0>,
<TEGRA_DSI_DELAY_MS 50>,
<0x0 DSI_DCS_WRITE_0_PARAM DSI_DCS_ENTER_SLEEP_MODE 0x0 0x0>,
<TEGRA_DSI_DELAY_MS 10>;
nvidia,dsi-n-suspend-cmd = <4>;
disp-default-out {
nvidia,out-type = <TEGRA_DC_OUT_DSI>;
/* TODO check real physical width and height in mm unit */
nvidia,out-width = <80>;
nvidia,out-height = <142>;
nvidia,out-flags = <TEGRA_DC_OUT_CONTINUOUS_MODE>;
nvidia,out-xres = <720>;
nvidia,out-yres = <1280>;
};
display-timings {
720x1280-24 {
clock-frequency = <77903880>; /* (720+134+144) x (1280+11+10) x 60 */
hactive = <720>;
vactive = <1280>;
hfront-porch = <136>;
/* TODO, doc mentioned HS+HBP to 108 Byte clk (144)
* Once hsync_width and HBP are clear, need to set these again */
hback-porch = <72>;
hsync-len = <72>;
vfront-porch = <10>;
/* TODO, doc mentioned VBP only to 9.
* Once vsync_width is clear, need to set VBP and vsync_width again */
vback-porch = <9>;
vsync-len = <1>;
nvidia,h-ref-to-sync = <1>;
nvidia,v-ref-to-sync = <1>;
};
};
smartdimmer {
status = "disabled";
};
};
};
};
backlight {
panel_o_720p_6_0_01_bl: panel-o-720p-6-0-01-bl {
status = "disabled";
compatible = "o,720-1280-6-0-01-bl";
pwms = <&tegra_pwm 1 50000>;
max-brightness = <255>;
default-brightness = <224>;
};
};
};