Hi,
is there a way to turn off/on the HDMI output from the Jetson TX2 (i.e. controlling the LCD_VDD_EN pin)?
Thanks.
Hi,
is there a way to turn off/on the HDMI output from the Jetson TX2 (i.e. controlling the LCD_VDD_EN pin)?
Thanks.
igal.kroyter,
Yes, if you need to control it after system boot up, you could use that pin.
Please try
sudo -s
echo disabled > /sys/class/regulator/regulator.18/state
Hi,
thanks for the reply.
I’m getting Permission Denied (even with sudo).
Another question, is this regulator is on the Jetson module or on the evaluation board?
Thanks.
Are you using devkit or your own custom carrier board?
Hi, WayneWWW.
We use our own carrier board.
Other questions have been raised as per NVIDIA Tegra Linux Driver Package - Development Guide 28.2 Release - Display Configuration and Bringup:
Regards.
Hi
Yes, DSI can work alone without other display interface.
Do you mean hotplug HDMI cable? Yes, it may affect the DSI display. It may blank DSI panel for a second.
Hi,
from Display Configuration and Bringup I cannot see a way to configure the DSI as a stand alone but as a mirror or extension.
Following is portion of the tegra186-quill-p3489-1000-a00-00-base.dts file which configures the DSI support
host1x {
sor {
status = "disabled";
dp-display {
status = "disabled";
};
hdmi-display {
status = "disabled";
};
panel-s-edp-uhdtv-15-6 {
smartdimmer {
status = "disabled";
};
};
};
dpaux@155c0000 {
status = "disabled";
};
sor1 {
status = "okay";
hdmi-display {
status = "okay";
};
dp-display {
status = "disabled";
};
};
// Adding MIPI-DSI support 17.10.2018
nvdisplay@15200000 {
status = "okay";
nvidia,dc-or-node = "/host1x/dsi";
};
nvdisplay@15220000 {
status = "disabled";
};
// Adding MIPI-DSI support 17.10.2018
dsi{
status = "okay";
compatible = "nvidia,tegra186-dsi";
nvidia,dsi-controller-vs = <DSI_VS_1>;
nvidia,enable-hs-clk-in-lp-mode;
panel-dsi-720p {
status = "okay";
compatible = "dsi,720p";
nvidia,dsi-instance = <DSI_INSTANCE_0>;
nvidia,dsi-n-data-lanes = <2>;
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_CONTINUOUS>;
nvidia,dsi-video-burst-mode = <TEGRA_DSI_VIDEO_NONE_BURST_MODE_WITH_SYNC_END>;
nvidia,dsi-virtual-channel = <TEGRA_DSI_VIRTUAL_CHANNEL_0>;
nvidia,dsi-panel-reset = <TEGRA_DSI_DISABLE>;
nvidia,dsi-power-saving-suspend = <TEGRA_DSI_DISABLE>;
nvidia,dsi-ulpm-not-support = <TEGRA_DSI_ENABLE>;
nvidia,dsi-init-cmd = <TEGRA_DSI_DELAY_MS 160>,
<0x0 DSI_DCS_WRITE_0_PARAM DSI_DCS_EXIT_SLEEP_MODE 0x0 0x0>,
<TEGRA_DSI_SEND_FRAME 5>,
<TEGRA_DSI_DELAY_MS 20>,
<0x0 DSI_DCS_WRITE_0_PARAM DSI_DCS_SET_DISPLAY_ON 0x0 0x0>,
<TEGRA_DSI_DELAY_MS 20>;
nvidia,dsi-n-init-cmd = <6>;
nvidia,dsi-suspend-cmd = <0x0 DSI_DCS_WRITE_0_PARAM DSI_DCS_SET_DISPLAY_OFF 0x0 0x0>,
<0x0 DSI_DCS_WRITE_0_PARAM DSI_DCS_ENTER_SLEEP_MODE 0x0 0x0>,
<TEGRA_DSI_DELAY_MS 60>;
nvidia,dsi-n-suspend-cmd = <3>;
disp-default-out {
nvidia,out-type = <TEGRA_DC_OUT_DSI>;
nvidia,out-width = <130>;
nvidia,out-height = <74>;
nvidia,out-flags = <TEGRA_DC_OUT_CONTINUOUS_MODE TEGRA_DC_OUT_INITIALIZED_MODE>;
nvidia,out-parent-clk = "pll_d";
nvidia,out-xres = <1280>;
nvidia,out-yres = <720>;
};
display-timings {
1280x720-32 {
clock-frequency = <74250000>;//<69946560>;
hactive = <1280>;
vactive = <720>;
hfront-porch = <150>;//<112>;
hback-porch = <150>;//<30>;
hsync-len = <70>;//<32>;
vfront-porch = <10>;//<11>;
vback-porch = <10>;//<11>;
vsync-len = <10>;//<2>;
nvidia,h-ref-to-sync = <1>;
nvidia,v-ref-to-sync = <1>;
};
};
smartdimmer {
status = "disabled";
nvidia,use-auto-pwm = <0>;
nvidia,hw-update-delay = <0>;
nvidia,bin-width = <0xffffffff>;
nvidia,aggressiveness = <1>;
nvidia,use-vid-luma = <0>;
nvidia,phase-in-settings = <0>;
nvidia,phase-in-adjustments = <0>;
nvidia,k-limit-enable = <1>;
nvidia,k-limit = <180>;
nvidia,sd-window-enable = <0>;
nvidia,soft-clipping-enable= <1>;
nvidia,soft-clipping-threshold = <128>;
nvidia,smooth-k-enable = <1>;
nvidia,smooth-k-incr = <16>;
nvidia,coeff = <5 9 2>;
nvidia,fc = <0 0>;
nvidia,blp = <1024 255>;
nvidia,bltf = <57 65 73 82
92 103 114 125
138 150 164 178
193 208 224 241>;
nvidia,lut = <255 255 255
199 199 199
153 153 153
116 116 116
85 85 85
59 59 59
36 36 36
17 17 17
0 0 0>;
nvidia,bl-device-name = "pwm-backlight";
};
cmu {
nvidia,cmu-csc = < 0x100 0x0 0x0
0x0 0x100 0x0
0x0 0x0 0x100 >;
nvidia,cmu-lut2 = < 0 0 1 2 3 3 4 5
6 6 7 8 8 9 10 10
11 12 12 13 13 14 14 15
16 16 17 17 18 18 19 19
19 20 20 21 21 22 22 22
23 23 24 24 24 25 25 25
26 26 27 27 27 28 28 28
28 29 29 29 30 30 30 31
31 31 31 32 32 32 33 33
33 33 34 34 34 35 35 35
35 36 36 36 36 37 37 37
38 38 38 38 39 39 39 39
40 40 40 40 40 41 41 41
41 42 42 42 42 43 43 43
43 43 44 44 44 44 45 45
45 45 45 46 46 46 46 46
47 47 47 47 47 48 48 48
48 48 49 49 49 49 49 49
50 50 50 50 50 50 51 51
51 51 51 51 52 52 52 52
52 52 53 53 53 53 53 53
54 54 54 54 54 54 54 55
55 55 55 55 55 55 55 56
56 56 56 56 56 56 57 57
57 57 57 57 57 57 58 58
58 58 58 58 58 58 58 59
59 59 59 59 59 59 59 59
60 60 60 60 60 60 60 60
60 61 61 61 61 61 61 61
61 61 61 62 62 62 62 62
62 62 62 62 62 63 63 63
63 63 63 63 63 63 63 63
64 64 64 64 64 64 64 64
64 64 64 65 65 65 65 65
65 65 65 65 65 65 66 66
66 66 66 66 66 66 66 66
66 66 67 67 67 67 67 67
67 67 67 67 67 67 68 68
68 68 68 68 68 68 68 68
68 68 69 69 69 69 69 69
69 69 69 69 69 69 70 70
70 70 70 70 70 70 70 70
70 70 70 71 71 71 71 71
71 71 71 71 71 71 71 71
72 72 72 72 72 72 72 72
72 72 72 72 72 73 73 73
73 73 73 73 73 73 73 73
73 73 73 74 74 74 74 74
74 74 74 74 74 74 74 74
75 75 75 75 75 75 75 75
75 75 75 75 75 75 76 76
76 76 76 76 76 76 76 76
76 76 76 76 77 77 77 77
77 77 77 77 77 77 77 77
77 77 78 78 78 78 78 78
78 78 78 78 78 78 78 78
79 79 79 79 79 79 79 79
79 79 79 79 79 79 80 80
80 80 80 80 80 80 80 80
80 80 80 80 81 81 81 81
81 81 81 81 81 81 81 81
81 81 82 82 82 82 82 82
82 82 82 82 82 82 82 82
83 83 83 83 83 83 83 83
84 84 85 85 86 86 87 88
88 89 89 90 90 91 92 92
93 93 94 94 95 95 96 96
97 97 98 98 99 99 100 100
101 101 102 102 103 103 104 104
105 105 106 106 107 107 107 108
108 109 109 110 110 111 111 111
112 112 113 113 114 114 114 115
115 116 116 117 117 117 118 118
119 119 119 120 120 121 121 121
122 122 123 123 123 124 124 125
125 126 126 126 127 127 128 128
128 129 129 129 130 130 131 131
131 132 132 133 133 133 134 134
135 135 135 136 136 137 137 137
138 138 138 139 139 140 140 140
141 141 142 142 142 143 143 143
144 144 145 145 145 146 146 146
147 147 147 148 148 149 149 149
150 150 150 151 151 151 152 152
153 153 153 154 154 154 155 155
156 156 156 157 157 157 158 158
159 159 159 160 160 160 161 161
162 162 162 163 163 164 164 164
165 165 166 166 166 167 167 168
168 168 169 169 170 170 170 171
171 172 172 172 173 173 173 174
174 175 175 175 176 176 176 177
177 177 178 178 178 179 179 179
180 180 180 180 181 181 181 182
182 182 182 183 183 183 184 184
184 184 185 185 185 185 186 186
186 186 187 187 187 187 188 188
188 188 189 189 189 190 190 190
190 191 191 191 191 192 192 192
193 193 193 193 194 194 194 195
195 195 195 196 196 196 197 197
197 198 198 198 198 199 199 199
200 200 200 201 201 201 202 202
202 203 203 204 204 204 205 205
205 206 206 206 207 207 208 208
208 209 209 209 210 210 211 211
211 212 212 213 213 213 214 214
215 215 215 216 216 217 217 217
218 218 218 219 219 220 220 220
221 221 221 222 222 222 223 223
223 224 224 224 225 225 225 225
226 226 226 226 227 227 227 227
228 228 228 228 229 229 229 229
229 230 230 230 230 231 231 231
231 232 232 232 233 233 233 233
234 234 234 235 235 235 236 236
236 237 237 238 238 239 239 239
240 240 241 241 242 242 243 244
244 245 245 246 247 247 248 249
250 250 251 252 253 254 254 255 >;
};
};
};
};
Regards.
Is there any one that can support me on this?
Regards.
Though we don’t have dts for standalone dsi, you could refer to some dts in our kernel source. For example, “tegra186-quill-p3310-1000-c03-00-dsi-dp.dts” is a sample that enables dsi + dp. You could just disable all dp related nodes.
Also, I think you need to understand how these terms in dts work.
SOR is for hdmi or dp display hardware. It is not related to dsi usecase, so you could just disable them.
DSI, as its name, is for dsi interface.
nvdisplay indicates tegra display controller. Each nvdisplay needs to have corresponding sor or dsi. Thus, you can see "nvidia,dc-or-node = “/host1x/dsi” is under “nvdisplay@15200000”, which means this nvdisplay is to output DSI panel.
There are up to 3 nvdisplay on tx2, so we can support up to 3 display panel simultaneously.
Forgot to mention… although we support 3 nvdisplay, there are only 2 dsi controllers on tx2, so it is not possible to output 3 dsi panel at once.
Moreover, we don’t enable the second dsi controller in the released driver, so I cannot guide you how to use dual dsi.
Fortunately, some forum users had such experience before, but I cannot find the thread now. Will update to you once I get it…
hi WayneWWW,
thank you for the info.
How should I debug the reason for no data output from the DSI (on nvdisplay@15200000)?
I see a clock but no data, maybe I don’t activate it?
I ses no errors on the terminal where DSI is involved.
Regards.
igal.kroyter,
You may need to dig into “tegradc_probe” as a start. tegradc_probe would eventually call your dsi panel drvier. DSI driver should have the power sequence of your panel and you should write this part yourself.
WayneWWW, hi.
Is your advise is also relevant for the fact that we have no panel but an FPGA which does not have back-light, power, reset and all other goodies that panels have?
igal.kroyter,
No, my advice is only for panel based on DSI interface.
WayneWWW,
OK.
How should I debug the reason for no data output from the DSI (on nvdisplay@15200000)?
I see a clock but no data, maybe I don’t activate it?
I ses no errors on the terminal where DSI is involved.
Regards.
I have already replied you in previous comment. You should be able to have some knowledge about linux kernel and device tree before starting this work.
Please start with dc.c first and see why it does not probe your panel driver. You neither shared what you’ve done nor any kernel log to me. I cannot help anything here.
I have modified the device tree file per message #7.
I have modified the file \kernel\display\drivers\video\tegra\dc\panel\board-panel.c to support “dsi,720p”.
I have modified the \kernel\t18x\drivers\video\tegra\dc\nvdisp\nvdisp_stub.c file to support the panel-dsi-720p “panel”.
and I see no errors in the terminal. Do you need me to upload some other files for you to observe?
I have also seen in the forum that the xorg.conf file has to be modified. Should I do it to support 720p?
Regards.
You could check /proc/device-tree on tegra after boot up. That is the real run-time dts that is loaded.
Please make sure your change is really on it. Plugin-manage may overwrite your setting.
That is, the file in this file may overwrite your DT during runtime.
./common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-display-plugin-manager.dtsi
You can find which fragment overwrites dt by using “dmesg |grep plugin-manager”.
WayneWWW,
I have verified the device tree and it is identical to the one per message #7 herein, thus the plugin-manager did not overwritten the data.
Please look in the following terminal output. In both cases where I try to activate the DSI no data is output while the clock does.
export DISPLAY=:0
xrandr
Screen 0: minimum 8 x 8, current 1280 x 720, maximum 32767 x 32767
<b>DSI-0</b> connected (normal left inverted right x axis y axis)
1280x720 60.00 +
<b>HDMI-0</b> connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 1150mm x 650mm
1920x1080 60.00 + 59.95 50.00 30.00 29.97 25.00 24.00 23.98
1920x1200 59.89
1680x1050 59.96
1600x1200 60.01
1440x900 59.89
1400x1050 59.98
1280x1024 60.00
1280x960 60.00
1280x800 59.81
1280x720 60.00* 59.94 50.00
1024x768 60.01
800x600 60.32
720x576 50.00
720x480 59.94
640x480 59.94
xrandr --output --primary DSI-0 --mode 1280x720 --rate 60.00
[b]xrandr: unrecognized option 'DSI-0'
Try 'xrandr --help' for more information.
[/b]
xrandr --output HDMI-0 --mode 1280x720 --rate 60.00 --same-as DSI-0
Please let me what do you think.
To be honest, it would be better if you could share your dmesg.
This xrandr result only proves that this panel is detected by tegra display driver. However,there may be timing issue for DSI.