Hi,
I have a question about the DAC of DM8168.
Can DM8168 outputs analog RGB with separate H/V sync (not SOG) ?
any advice are welcome.
thanks
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
PG1.1+ silicon can, yes.
On PG1.0 silicon you can use the DVO outputs and lock-step the DVO and DAC VENCs.
BR,
Steve
Do you need this for PG1.0 or for newer silicon?
From a hardware perspective have a look at the attached as an example.
0550.THS8200 Graphics RD RevB.pdf
Software depends on which IO pins you want the signals to be present on, but you for PG1.1+ silicon you can use the following as a reference for setting the mux controls and IO function selections.
http://ap-fpdsp-swapps.dal.design.ti.com/index.php/Netra_DS_PG1.1_to_PG2.0
For PG1.0 silicon there is a procedure to lock-step 2 VENCs together so they are synchronized.
BR,
Steve
Hi Steve,
we are doing a feasibility study now, so we will use newer silicon.
I cannot access URL http://ap-fpdsp-swapps.dal.design.ti.com/index.php/Netra_DS_PG1.1_to_PG2.0,
could you please check it again.
Thanks a lot.
KS Lin
OK, sorry. This page is currently an internal page. I thought it was external.
Here is the relevant information though...
SPARE_CTRL0 Register (Base Address + 0x0724)
NOTE: When changing this register, read original value and write back same value in Reserved fields.
Bits | Field | Value | Description |
---|---|---|---|
31:3 | Reserved | 0 | Reserved |
2 | SPR_CTL0_2 | 0 |
To Select DAC or VOUT[0] Source Signals Selects VOUT[0]_AVID/FLD |
1 | SPR_CTL0_1 | 0 |
To Select DAC or VOUT[1] Source Signals Selects VOUT[1]_HSYNC/VSYNC |
0 | Reserved | 0 | Reserved |
Eg. Steps required to use AR8 and AR9 as DAC_HSYNC/VSYNC signals:
What is the procedure for producing separate sync using the PG1.1 silicon? Does it require the same workaround as is described for the PG1.0?
Regards,
Ben
Ben,
PG1.0 does not have discrete DAC sync outputs so it is necessary to 'borrow' syncs from one of the DVO ports then synchronize the DAC VENC with the DVO VENC.
For PG1.1 and later there are discrete syncs available directly.
BR,
Steve
So then this procedure is valid for PG1.1?
HDVPSS: Horizontal and Vertical Sync Outputs for HD-DACs
SPARE_CTRL0 Register (Base Address + 0x0724)
NOTE: When changing this register, read original value and write back same value in Reserved fields.
Bits |
Field |
Value |
Description |
31:3 |
Reserved |
0 |
Reserved |
2 |
SPR_CTL0_2 |
0 |
To Select DAC or VOUT[0] Source Signals Selects VOUT[0]_AVID/FLD |
1 |
SPR_CTL0_1 |
0 |
To Select DAC or VOUT[1] Source Signals Selects VOUT[1]_HSYNC/VSYNC |
0 |
Reserved |
0 |
Reserved |
Eg. Steps required to use AR8 and AR9 as DAC_HSYNC/VSYNC signals:
Ben,
I have just checked with the device owner and it appears that this was a PG2.0 change so the original posting last year is in fact not quite right.
The above is only valid for PG2.0 and later.
If you have a PG1.x device then you must use the DVO methodology to get discrete syncs.
The saving grace is that the PG1.x solution will also work on PG2.0 and later devices if you want to maintain a unified software.
Sorry for the confusion.
BR,
Steve
I'm still a little bit unsure of the function of the two bits - Is the following correct?
bit SPR_CTL0_2 affects pins AR8/AL9 only (depending on PINCTRL38/39 registers)
bit SPR_CTL0_1 affects pins AR5/AT9/AL5/AP9 only (depending on PINCTRL21/23/28/29)
Correct, SPR_CTL0_2 basically says 'replace VOUT[0]_AVID/FLD with DAC_HSYNC/VSYNC" wherever it might appear.
BR,
Steve
Is there a sync polarity control in software for the DAC_HSYNC/DAC_VSYNC bits? I don't see anything in the display3 sysfs files.
Hi,
You could change the sync polarity using output sysfs attribute.
echo component/vga,rgb888/yuv422spuv,(0/1)/(0/1)/(0/1)/(0/1) > /sys/devices/platform/vpss/display3/output
Regards,
Brijesh Jadav
Thanks for the reply. Some of those options don't appear on the wiki where I was looking:
http://processors.wiki.ti.com/index.php/DM816X_AM389X_VPSS_Video_Driver_User_Guide#VPSS_Driver
For display 3, output it says:
Set the right VENC output
echo component/svideo/composite, rgb888/yuv444p/yuv422spuv > /sys/devices/platform/vpss/display3/output
the first part is the output mode, the second part is output data format.
Hi Andrew,
I checked in the code and it looks like you could set the polarity even for the DAC output. change the polarity, it should work.
We will change the documentation.
Regards,
Brijesh Jadav
I just tested this and it's doesn't seem to be working. The sysfs arguments are accepted by the driver, but no change in polarity is observed on the outputs - they are always active high. What I did was
echo "0" > /sys/devices/platform/vpss/display3/enabled
echo "component,rgb888,0/0/0/0" > /sys/devices/platform/vpss/display3/output
echo "1" > /sys/devices/platform/vpss/display3/enabled
./fbdemo
DAC_HSYNC and DAC_SYNC are active high. I then repeated it 4 times and set each of the 4 polarity arguments to one in turn and probed the DAC_HSYNC and DAC_SYNC outputs with an oscilloscope. In all cases the syncs kept to active high polarity and no change was observed on the monitor I had attached.
Hi Andrew,
Could you please try below?
echo "0" > /sys/devices/platform/vpss/display3/enabled
echo "vga,rgb888,0/0/0/0" > /sys/devices/platform/vpss/display3/output
echo "1" > /sys/devices/platform/vpss/display3/enabled
./fbdemo
Regards,
Brijesh Jadav
This fails on line 2:
# echo "vga,rgb888,0/0/0/0" > /sys/devices/platform/vpss/display3/output
VPSS_DCTRL: invalid output value vga
sh: write error: Invalid argument
Hi Andrew,
Which silicon revision you are using? This is supported only on ES2.0, it is not supported on ES1.1 or ES1.0. Could you please check your silicon revision/
Also could you please check if vga is part of afmt_name in linux/drivers/video/ti81xx/vpss/sysfs.h? If it is not present, it is old release that you are using. Could you please update to new release?
If none of this work, could you please set the output component, rgb888, 1/1/1/1 and dump value of the offset 0x48108000 and share it with us?
Thanks,
Brijesh Jadav
Device is a DM8168BCYGA2 (aka ES2.0)
The release we are using is PSP 4.4.0.1 (vo vga entry for afmt_name), I am getting another engineer to build PSP 4.4.0.2 and update our filesystem and will report back to you.
With a kernel based on PSP 04.04.00.02 the vgas output mode works on display3 and DAC HSYNC and VSYNC perform as expected. Thanks!