Modifying Ferrix DCB Blob to Use a Single DP Serializer#
By default, the Ferrix DCB blob uses three DP serializer devices as display devices. It is possible to have a single DP serializer using the dcb_tool by completing the following steps.
Display Devices for Ferrix DCB Blob#
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [0]
Display Devices : [1]
Type : [DP]
CCB : [1]
Heads : 0:[Y] 1:[Y]
Sor : [1 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [1]
Display Devices : [2]
Type : [DP]
CCB : [2]
Heads : 0:[Y] 1:[Y]
Sor : [1 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [2]
To Modifying Ferrix DCB Blob for a Single DP Serializer Device#
Note
In the following examples, lines that start with “#” indicate what to enter on the console when prompted. The lines that don’t start with “#” are the output from the tool itself.
Copy the device-tree (tegra264-p3961-0000+p3834-0000-p3966-0000-serializer-dcb.dtsi) to the dcb_tool directory and run the following command.
#./dcb_tool -m tegra264-p3961-0000+p3834-0000-p3966-0000-serializer-dcb.dtsi -c T26X
This is the result in the DCB TOOL menu
===================================================
| DCB TOOL |
===================================================
| Enter 0 => Show Input DCB |
| Enter 1 => Modify DCB |
| Enter 2 => Show modified DCB |
| Enter 3 => Show TMDS settings |
| Enter 4 => Show DP settings |
| Enter 5 => Modify TMDS settings |
| Enter 6 => Show modified TMDS settings |
| Enter 7 => Modify DP settings |
| Enter 8 => Show modified DP settings |
| Enter 9.. => Exit |
===================================================
To display current Display Devices entries, choose option “0”. Following is example output.
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [0]
Display Devices : [1]
Type : [DP]
CCB : [1]
Heads : 0:[Y] 1:[Y]
Sor : [1 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [1]
Display Devices : [2]
Type : [DP]
CCB : [2]
Heads : 0:[Y] 1:[Y]
Sor : [1 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [2]
########### CCB Entries #############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [10]
AUX Port : [1]
CCB Index : 1
I2C Port : [4]
AUX Port : [2]
CCB Index : 2
I2C Port : [8]
AUX Port : [3]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
To modify Display Device entries to include just one DP serializer display device, modify other display device entries to “SKIP”. Enter option “1” to modify the DCB Blob.
======================================================
| DCB TOOL |
======================================================
| Enter 0 => Show Input DCB |
| Enter 1 => Modify DCB |
| Enter 2 => Show modified DCB |
| Enter 3 => Show TMDS settings |
| Enter 4 => Show DP settings |
| Enter 5 => Modify TMDS settings |
| Enter 6 => Show modified TMDS settings |
| Enter 7 => Modify DP settings |
| Enter 8 => Show modified DP settings |
| Enter 9.. => Exit |
======================================================
#1
Select option “0” to modify Device Entries.
========================================================================
| Select which section to modify |
========================================================================
| Device Entries : 0, CCB entries : 1, Connector entries:2 Exit : 3..
========================================================================
#0
Set
Display Device[1]
andDisplay Device[2]
type to “SKIP” resulting in only one entry -Display Device[0]
. Select option “1” to modifyDisplay Device[1]
.
########## Tegra DCB BLOB ###############
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [0]
Display Devices : [1]
Type : [DP]
CCB : [1]
Heads : 0:[Y] 1:[Y]
Sor : [1 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [1]
Display Devices : [2]
Type : [DP]
CCB : [2]
Heads : 0:[Y] 1:[Y]
Sor : [1 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [2]
Enter the Display Device Entry index that needs modification
#1
Select option “0” to modify Display Type.
================================================================
| Select which entry to modify |
================================================================
| Display Type: 0, CCB: 1, Heads: 2, Sor: 3, DP Lane Count: 4 |
| DP Link Rate: 5, HDMI Capable: 6, Connector: 7 Bus: 8 Exit: 9.. |
================================================================
#0
Set Display type to “SKIP”. Select option “F”.
CRT:0, TV:1, TMDS:2, LVDS: 3, SDVO_BRDG:4, SDI:5, DP:6, DSI:7, WBD: 8, EOL:0xE, SKIP:0xF
Press “y” and repeat steps 5, 6 and 7 to set Display Device [2] to “SKIP”.
Press 'Y/y'to continue modifying Display Device Entry (or) 'N/n' to Exit
#y
After setting Display Device [2] to “SKIP”, verify the changes by choosing the “show modified DCB” option in the main menu. Select option “2”.
======================================================
| DCB TOOL |
======================================================
| Enter 0 => Show Input DCB |
| Enter 1 => Modify DCB |
| Enter 2 => Show modified DCB |
| Enter 3 => Show TMDS settings |
| Enter 4 => Show DP settings |
| Enter 5 => Modify TMDS settings |
| Enter 6 => Show modified TMDS settings |
| Enter 7 => Modify DP settings |
| Enter 8 => Show modified DP settings |
| Enter 9.. => Exit |
======================================================
#2
== Modified DCB ==
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [0]
########### CCB Entries #############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [10]
AUX Port : [1]
CCB Index : 1
I2C Port : [4]
AUX Port : [2]
CCB Index : 2
I2C Port : [8]
AUX Port : [3]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Additionally, you might need to change the Bus and CCB Index linked to the Display Device to match the board design.
To Modify the Ferrix DCB Blob Bus value for Display Device#
Note
This example assumes completion of the previous steps to modify DCB Blob to have a single DP Serializer entry. There is only display device entry for the inputted blob. The following steps change the Bus value “0” to Bus value “1” (assuming this matches the board configuration).
Input DCB Blob:
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [0]
########### CCB Entries #############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [10]
AUX Port : [1]
CCB Index : 1
I2C Port : [4]
AUX Port : [2]
CCB Index : 2
I2C Port : [8]
AUX Port : [3]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Enter option “1” to modify the DCB Blob in the main menu.
======================================================
| DCB TOOL |
======================================================
| Enter 0 => Show Input DCB |
| Enter 1 => Modify DCB |
| Enter 2 => Show modified DCB |
| Enter 3 => Show TMDS settings |
| Enter 4 => Show DP settings |
| Enter 5 => Modify TMDS settings |
| Enter 6 => Show modified TMDS settings |
| Enter 7 => Modify DP settings |
| Enter 8 => Show modified DP settings |
| Enter 9.. => Exit |
======================================================
#1
Select option “0” to modify Device Entries.
========================================================================
| Select which section to modify |
========================================================================
| Device Entries : 0, CCB entries : 1, Connector entries:2 Exit : 3..
========================================================================
#0
Select Display Device [0] by entering option “0”.
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [0]
Enter the Display Device Entry index that needs modification
#0
Select option “8” to modify Bus Value.
================================================================
| Select which entry to modify |
================================================================
| Display Type: 0, CCB: 1, Heads: 2, Sor: 3, DP Lane Count: 4 |
| DP Link Rate: 5, HDMI Capable: 6, Connector: 7 Bus: 8 Exit: 9.. |
================================================================
Enter the value of the bus number that matches the board design (“1” in this example).
Enter Bus number (refer to readme.txt for info on valid bus numbers)
#1
Press “n” to exit.
Press 'Y/y'to continue modifying Display Device Entry (or) 'N/n' to Exit
After setting the Bus Value, verify the changes by choosing the “show modified DCB” option in the main menu. Select option “2”.
======================================================
| DCB TOOL |
======================================================
| Enter 0 => Show Input DCB |
| Enter 1 => Modify DCB |
| Enter 2 => Show modified DCB |
| Enter 3 => Show TMDS settings |
| Enter 4 => Show DP settings |
| Enter 5 => Modify TMDS settings |
| Enter 6 => Show modified TMDS settings |
| Enter 7 => Modify DP settings |
| Enter 8 => Show modified DP settings |
| Enter 9.. => Exit |
======================================================
#2
In the following output, the Bus Value for Display Device [0] changed to “1”.
== Modified DCB ==
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [1]
########### CCB Entries #############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [10]
AUX Port : [1]
CCB Index : 1
I2C Port : [4]
AUX Port : [2]
CCB Index : 2
I2C Port : [8]
AUX Port : [3]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
To Modifying Ferrix DCB Blob CCB Entry for Display Device#
Note
This example assumes completion of the previous steps to modify DCB Blob to have a single DP Serializer entry, and the steps to change the bus value to match the board design configuration.
The following input for DCB Blob shows that Display Device [0] is mapped to CCB index 0.
CCB Index 0 has I2C Port value as “10” and AUX Port value as “1”.
This example demonstrates changing CCB index 0 values of I2C port from “10” to “9” and Aux port from “3” to “2”. These are example values to change so that they match the board design configuration.
Input DCB Blob:
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [1]
########### CCB Entries #############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [10]
AUX Port : [1]
CCB Index : 1
I2C Port : [4]
AUX Port : [2]
CCB Index : 2
I2C Port : [8]
AUX Port : [3]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Enter option “1” to modify the DCB Blob in the main menu.
======================================================
| DCB TOOL |
======================================================
| Enter 0 => Show Input DCB |
| Enter 1 => Modify DCB |
| Enter 2 => Show modified DCB |
| Enter 3 => Show TMDS settings |
| Enter 4 => Show DP settings |
| Enter 5 => Modify TMDS settings |
| Enter 6 => Show modified TMDS settings |
| Enter 7 => Modify DP settings |
| Enter 8 => Show modified DP settings |
| Enter 9.. => Exit |
======================================================
#1
Select option “1” to modify CCB Entries.
========================================================================
| Select which section to modify |
========================================================================
| Device Entries : 0, CCB entries : 1, Connector entries:2 Exit : 3..
========================================================================
#1
Enter “0” for the CCB index to be modified.
Enter CCB index to Modify (max index = 14)
#0
Select option “0” for I2C port.
=============================================================
I2C Port: 0, Aux Port: 1, Exit: 2..
=============================================================
#0
Enter “9” for the I2C Port Number value.
Enter I2C port number
#9
Press “y” to modify Aux port entry.
Press 'Y/y' to continue modifying CCB Entry (or) 'N/n' to Exit
#y
Enter “0” for the CCB index to be modified.
Enter CCB index to Modify (max index = 14)
#0
Select option “1” for Aux Port.
=============================================================
I2C Port: 0, Aux Port: 1, Exit: 2..
=============================================================
#1
Enter DPAux Port Number value as “2”.
Enter DPAux Port number
#2
Press “n” to modify Aux port entry.
Press 'Y/y' to continue modifying CCB Entry (or) 'N/n' to Exit
#n
After updating I2C and DP Aux Port numbers, verify the changes by choosing the “show modified DCB” option in the main menu. Select option “2”.
======================================================
| DCB TOOL |
======================================================
| Enter 0 => Show Input DCB |
| Enter 1 => Modify DCB |
| Enter 2 => Show modified DCB |
| Enter 3 => Show TMDS settings |
| Enter 4 => Show DP settings |
| Enter 5 => Modify TMDS settings |
| Enter 6 => Show modified TMDS settings |
| Enter 7 => Modify DP settings |
| Enter 8 => Show modified DP settings |
| Enter 9.. => Exit |
======================================================
#2
The following blob example indicates that Display Device [0] with bus value “1” is mapped to CCB index 0 whose I2C Port value is 9 and Aux Port value is 2.
== Modified DCB ==
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [DP]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
DP Lane Count : [4]
DP Link Rate : [8.1GHz]
External Link Type : DP Serializer
Connector : [0]
Bus : [1]
########### CCB Entries #############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [9]
AUX Port : [2]
CCB Index : 1
I2C Port : [4]
AUX Port : [2]
CCB Index : 2
I2C Port : [8]
AUX Port : [3]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
Connector Index : 0x0
Type : [DP]
Hotplug : A:[Y]
The modified DCB Blob example has a single DP Serializer device. To modify additional prod/display settings, refer to the readme.txt file of the dcb_tool:
${NV_WORKSPACE}/Linux_for_Tegra/tools/dcb_tool/readme.txt