Skip to content

Instantly share code, notes, and snippets.

@maditnerd
Last active March 25, 2022 13:40
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save maditnerd/01195c64a80ff2087ff9541682f1727b to your computer and use it in GitHub Desktop.
Save maditnerd/01195c64a80ff2087ff9541682f1727b to your computer and use it in GitHub Desktop.
Compile raspberry pi 3 kernel to add drivers (tc358743)
###########################
# bcm2835_unicam drivers #
###########################
# DESCRIPTION: Install bcm2835_unicam/tc358743 drivers from 6by9 Linux fork
# This should also work for adv7282m ov5647 (https://github.com/6by9/linux/commit/28ac7b3a2651d4b35204938e6c9ec2e4ba54c34e)
#
# CAUTION
# * Do not start this script! Copy/Paste each command.
# * Compilation will take over 1h30.
# * Any errors can potentially break the entire system
# * This is for Raspberry Pi 3 (check https://www.raspberrypi.org/documentation/linux/kernel/building.md)
# * This driver is on a branch that could be rebased without notice.
# * Before doing anything check the discussion on the raspberrypi.org forum for further information.
# Discussion : https://www.raspberrypi.org/forums/viewtopic.php?t=120702&start=300#p1231396
# Source : https://github.com/6by9/linux/tree/unicam_v4_4.14
# Documentation (device-tree) : https://github.com/6by9/linux/blob/unicam_v4_4.14/Documentation/devicetree/bindings/media/bcm2835-unicam.txt
# Documentation (driver) : https://github.com/6by9/linux/blob/unicam_v4_4.14/drivers/media/platform/bcm2835/bcm2835-unicam.c
################
# Dependencies #
################
apt-get install bc
apt-get install libncurses5-dev
###################
# Download kernel #
###################
# Based on https://www.raspberrypi.org/documentation/linux/kernel/building.md
git clone --depth 1 -b unicam_v4_4.14 https://github.com/6by9/linux/
###################
# Settings kernel #
###################
cd Linux
make bcm2709_defconfig #Preconfigure kernel compilation
#make menuconfig (if you want to changes which drivers are installed)
###################
# Compile kernel #
###################
# Don't forget the -j4 so it uses all core on the processor.
make -j4 zImage modules dtbs
make modules_install
# This should take about 1h30 on Raspberry pi 3
#################
# Update kernel #
#################
cp arch/arm/boot/dts/*.dtb /boot/
cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm/boot/dts/overlays/README /boot/overlays/
cp arch/arm/boot/zImage /boot/kernel7.img
#####################################
# Activate tc358743 drivers overlay #
#####################################
#Edit /boot/config.txt
#dtparam=i2c_vc
#dtoverlay=tc358743-fast
#echo "dtparam=i2c_vc" >> /boot/config.txt
#echo "dtoverlay=tc358743-fast" >> /boot/config.txt
#######################
# Allocate CMA memory #
#######################
# Add cma=128M before rootwait in /boot/cmdline.txt
#########
# Check #
#########
# Reboot so kernel changes take effects
# WARNING: IF SOMETHING WRONG WAS DONE YOU WILL NOT HAVE ACCESS TO YOUR RASPBERRY PI AGAIN
# If led are blinking... you are screwed, you broke the kernel.
reboot
lsmod
: <<'lsmod_output'
Module Size Used by
rpcsec_gss_krb5 28672 0
cmac 16384 1
bnep 20480 2
hci_uart 24576 1
bluetooth 368640 23 hci_uart,bnep
ecdh_generic 28672 1 bluetooth
tc358743 36864 1
brcmfmac 233472 0
brcmutil 16384 1 brcmfmac
cfg80211 569344 1 brcmfmac
rfkill 28672 6 bluetooth,cfg80211
bcm2835_unicam 36864 0
videobuf2_dma_contig 20480 1 bcm2835_unicam
videobuf2_memops 16384 1 videobuf2_dma_contig
i2c_mux_pinctrl 16384 0
videobuf2_v4l2 24576 1 bcm2835_unicam
i2c_mux 16384 1 i2c_mux_pinctrl
videobuf2_core 45056 2 bcm2835_unicam,videobuf2_v4l2
v4l2_dv_timings 32768 2 bcm2835_unicam,tc358743
v4l2_fwnode 16384 2 bcm2835_unicam,tc358743
v4l2_common 16384 2 bcm2835_unicam,tc358743
videodev 188416 5 bcm2835_unicam,v4l2_common,videobuf2_core,videobuf2_v4l2,tc358743
media 32768 2 videodev,tc358743
i2c_bcm2835 16384 0
fixed 16384 0
uio_pdrv_genirq 16384 0
uio 20480 1 uio_pdrv_genirq
i2c_dev 16384 0
ip_tables 24576 0
x_tables 28672 1 ip_tables
ipv6 430080 40
lsmod_output
####################
# Configure v4l2 #
####################
# "You need an EDID file to program into the chip"
# Support for 1080p50 (>1080P30 only works in UYVY mode from the TC358743, not RGB888).
# Encoding to >1080P30 requires overclocking the GPU
wget https://raw.githubusercontent.com/6by9/RPiTest/master/1080P50EDID.txt
v4l2-ctl --set-edid=file=1080P50EDID.txt --fix-edid-checksums
: <<'v4l2-ctl_output'
Driver Info (not using libv4l2):
Driver name : unicam
Card type : unicam
Bus info : platform:unicam 3f801000.csi1
Driver version: 4.14.0
Capabilities : 0x85200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x05200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 0: ok)
DV timings:
Active width: 640
Active height: 480
Total width: 800
Total height: 525
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 25175000 Hz (59.94 frames per second)
Horizontal frontporch: 16
Horizontal sync: 96
Horizontal backporch: 48
Vertical frontporch: 10
Vertical sync: 2
Vertical backporch: 33
Standards: CEA-861, DMT
Flags:
DV timings capabilities:
Minimum Width: 1
Maximum Width: 10000
Minimum Height: 1
Maximum Height: 10000
Minimum PClock: 0
Maximum PClock: 165000000
Standards: CEA-861, DMT, CVT, GTF
Capabilities: Progressive, Reduced Blanking, Custom Formats
Format Video Capture:
Width/Height : 16/16
Pixel Format : 'RGB3'
Field : None
Bytes per Line : 48
Size Image : 768
Colorspace : SMPTE 170M
Transfer Function : Default
YCbCr/HSV Encoding: Default
Quantization : Default
Flags :
User Controls
audio_sampling_rate (int) : min=0 max=768000 step=1 default=0 value=48000 flags=read-only
audio_present (bool) : default=0 value=1 flags=read-only
Digital Video Controls
power_present (bitmask): max=0x00000001 default=0x00000000 value=0x00000001 flags=read-only
v4l2-ctl_output
# dv-timing is not correctly set!
v4l2-ctl --list-dv-timing
# Get a list of dv-timing
v4l2-ctl --set-dv-bt-timing=index=8
ffmpeg -y -f v4l2 -loglevel verbose -i /dev/video0 -vcodec copy -f mp4 -t 00:10:00 /home/pi/test/test.mp4
dmesg |grep "cma"
# [ 0.000000] cma: Reserved 128 MiB at 0x17c00000
# [ 148.202368] cma: cma_alloc: alloc failed, req-size: 1020 pages, ret: -12
ioctl: VIDIOC_ENUM_DV_TIMINGS
Index: 0
Active width: 640
Active height: 480
Total width: 800
Total height: 525
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 25175000 Hz (59.94 frames per second)
Horizontal frontporch: 16
Horizontal sync: 96
Horizontal backporch: 48
Vertical frontporch: 10
Vertical sync: 2
Vertical backporch: 33
Standards: CEA-861, DMT
Flags:
Index: 1
Active width: 720
Active height: 480
Total width: 858
Total height: 525
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 27000000 Hz (59.94 frames per second)
Horizontal frontporch: 16
Horizontal sync: 62
Horizontal backporch: 60
Vertical frontporch: 9
Vertical sync: 6
Vertical backporch: 30
Standards: CEA-861
Flags: CE-video
Index: 2
Active width: 720
Active height: 576
Total width: 864
Total height: 625
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 27000000 Hz (50.00 frames per second)
Horizontal frontporch: 12
Horizontal sync: 64
Horizontal backporch: 68
Vertical frontporch: 5
Vertical sync: 5
Vertical backporch: 39
Standards: CEA-861
Flags: CE-video
Index: 3
Active width: 1280
Active height: 720
Total width: 3300
Total height: 750
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 59400000 Hz (24.00 frames per second)
Horizontal frontporch: 1760
Horizontal sync: 40
Horizontal backporch: 220
Vertical frontporch: 5
Vertical sync: 5
Vertical backporch: 20
Standards: CEA-861, DMT
Flags: framerate can be reduced by 1/1.001
Index: 4
Active width: 1280
Active height: 720
Total width: 3960
Total height: 750
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 74250000 Hz (25.00 frames per second)
Horizontal frontporch: 2420
Horizontal sync: 40
Horizontal backporch: 220
Vertical frontporch: 5
Vertical sync: 5
Vertical backporch: 20
Standards: CEA-861
Flags: CE-video
Index: 5
Active width: 1280
Active height: 720
Total width: 3300
Total height: 750
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 74250000 Hz (30.00 frames per second)
Horizontal frontporch: 1760
Horizontal sync: 40
Horizontal backporch: 220
Vertical frontporch: 5
Vertical sync: 5
Vertical backporch: 20
Standards: CEA-861
Flags: framerate can be reduced by 1/1.001, CE-video
Index: 6
Active width: 1280
Active height: 720
Total width: 1980
Total height: 750
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 74250000 Hz (50.00 frames per second)
Horizontal frontporch: 440
Horizontal sync: 40
Horizontal backporch: 220
Vertical frontporch: 5
Vertical sync: 5
Vertical backporch: 20
Standards: CEA-861
Flags: CE-video
Index: 7
Active width: 1280
Active height: 720
Total width: 1650
Total height: 750
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 74250000 Hz (60.00 frames per second)
Horizontal frontporch: 110
Horizontal sync: 40
Horizontal backporch: 220
Vertical frontporch: 5
Vertical sync: 5
Vertical backporch: 20
Standards: CEA-861
Flags: framerate can be reduced by 1/1.001, CE-video
Index: 8
Active width: 1920
Active height: 1080
Total width: 2750
Total height: 1125
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 74250000 Hz (24.00 frames per second)
Horizontal frontporch: 638
Horizontal sync: 44
Horizontal backporch: 148
Vertical frontporch: 4
Vertical sync: 5
Vertical backporch: 36
Standards: CEA-861
Flags: framerate can be reduced by 1/1.001, CE-video
Index: 9
Active width: 1920
Active height: 1080
Total width: 2640
Total height: 1125
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 74250000 Hz (25.00 frames per second)
Horizontal frontporch: 528
Horizontal sync: 44
Horizontal backporch: 148
Vertical frontporch: 4
Vertical sync: 5
Vertical backporch: 36
Standards: CEA-861
Flags: CE-video
Index: 10
Active width: 1920
Active height: 1080
Total width: 2200
Total height: 1125
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 74250000 Hz (30.00 frames per second)
Horizontal frontporch: 88
Horizontal sync: 44
Horizontal backporch: 148
Vertical frontporch: 4
Vertical sync: 5
Vertical backporch: 36
Standards: CEA-861
Flags: framerate can be reduced by 1/1.001, CE-video
Index: 11
Active width: 1920
Active height: 1080
Total width: 2640
Total height: 1125
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 148500000 Hz (50.00 frames per second)
Horizontal frontporch: 528
Horizontal sync: 44
Horizontal backporch: 148
Vertical frontporch: 4
Vertical sync: 5
Vertical backporch: 36
Standards: CEA-861
Flags: CE-video
Index: 12
Active width: 1920
Active height: 1080
Total width: 2200
Total height: 1125
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 148500000 Hz (60.00 frames per second)
Horizontal frontporch: 88
Horizontal sync: 44
Horizontal backporch: 148
Vertical frontporch: 4
Vertical sync: 5
Vertical backporch: 36
Standards: CEA-861, DMT
Flags: framerate can be reduced by 1/1.001, CE-video
Index: 13
Active width: 640
Active height: 350
Total width: 832
Total height: 445
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 31500000 Hz (85.08 frames per second)
Horizontal frontporch: 32
Horizontal sync: 64
Horizontal backporch: 96
Vertical frontporch: 32
Vertical sync: 3
Vertical backporch: 60
Standards: DMT
Flags:
Index: 14
Active width: 640
Active height: 400
Total width: 832
Total height: 445
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 31500000 Hz (85.08 frames per second)
Horizontal frontporch: 32
Horizontal sync: 64
Horizontal backporch: 96
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 41
Standards: DMT
Flags:
Index: 15
Active width: 720
Active height: 400
Total width: 936
Total height: 446
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 35500000 Hz (85.04 frames per second)
Horizontal frontporch: 36
Horizontal sync: 72
Horizontal backporch: 108
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 42
Standards: DMT
Flags:
Index: 16
Active width: 640
Active height: 480
Total width: 832
Total height: 520
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 31500000 Hz (72.81 frames per second)
Horizontal frontporch: 24
Horizontal sync: 40
Horizontal backporch: 128
Vertical frontporch: 9
Vertical sync: 3
Vertical backporch: 28
Standards: DMT
Flags:
Index: 17
Active width: 640
Active height: 480
Total width: 840
Total height: 500
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 31500000 Hz (75.00 frames per second)
Horizontal frontporch: 16
Horizontal sync: 64
Horizontal backporch: 120
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 16
Standards: DMT
Flags:
Index: 18
Active width: 640
Active height: 480
Total width: 832
Total height: 509
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 36000000 Hz (85.01 frames per second)
Horizontal frontporch: 56
Horizontal sync: 56
Horizontal backporch: 80
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 25
Standards: DMT
Flags:
Index: 19
Active width: 800
Active height: 600
Total width: 1024
Total height: 625
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 36000000 Hz (56.25 frames per second)
Horizontal frontporch: 24
Horizontal sync: 72
Horizontal backporch: 128
Vertical frontporch: 1
Vertical sync: 2
Vertical backporch: 22
Standards: DMT
Flags:
Index: 20
Active width: 800
Active height: 600
Total width: 1056
Total height: 628
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 40000000 Hz (60.32 frames per second)
Horizontal frontporch: 40
Horizontal sync: 128
Horizontal backporch: 88
Vertical frontporch: 1
Vertical sync: 4
Vertical backporch: 23
Standards: DMT
Flags:
Index: 21
Active width: 800
Active height: 600
Total width: 1040
Total height: 666
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 50000000 Hz (72.19 frames per second)
Horizontal frontporch: 56
Horizontal sync: 120
Horizontal backporch: 64
Vertical frontporch: 37
Vertical sync: 6
Vertical backporch: 23
Standards: DMT
Flags:
Index: 22
Active width: 800
Active height: 600
Total width: 1056
Total height: 625
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 49500000 Hz (75.00 frames per second)
Horizontal frontporch: 16
Horizontal sync: 80
Horizontal backporch: 160
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 21
Standards: DMT
Flags:
Index: 23
Active width: 800
Active height: 600
Total width: 1048
Total height: 631
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 56250000 Hz (85.06 frames per second)
Horizontal frontporch: 32
Horizontal sync: 64
Horizontal backporch: 152
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 27
Standards: DMT
Flags:
Index: 24
Active width: 800
Active height: 600
Total width: 960
Total height: 636
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 73250000 Hz (119.97 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 4
Vertical backporch: 29
Standards: DMT, CVT
Flags: reduced blanking
Index: 25
Active width: 848
Active height: 480
Total width: 1088
Total height: 517
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 33750000 Hz (60.00 frames per second)
Horizontal frontporch: 16
Horizontal sync: 112
Horizontal backporch: 112
Vertical frontporch: 6
Vertical sync: 8
Vertical backporch: 23
Standards: DMT
Flags:
Index: 26
Active width: 1024
Active height: 768
Total width: 1344
Total height: 806
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 65000000 Hz (60.00 frames per second)
Horizontal frontporch: 24
Horizontal sync: 136
Horizontal backporch: 160
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 29
Standards: DMT
Flags:
Index: 27
Active width: 1024
Active height: 768
Total width: 1328
Total height: 806
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 75000000 Hz (70.07 frames per second)
Horizontal frontporch: 24
Horizontal sync: 136
Horizontal backporch: 144
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 29
Standards: DMT
Flags:
Index: 28
Active width: 1024
Active height: 768
Total width: 1312
Total height: 800
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 78750000 Hz (75.03 frames per second)
Horizontal frontporch: 16
Horizontal sync: 96
Horizontal backporch: 176
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 28
Standards: DMT
Flags:
Index: 29
Active width: 1024
Active height: 768
Total width: 1376
Total height: 808
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 94500000 Hz (85.00 frames per second)
Horizontal frontporch: 48
Horizontal sync: 96
Horizontal backporch: 208
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 36
Standards: DMT
Flags:
Index: 30
Active width: 1024
Active height: 768
Total width: 1184
Total height: 813
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 115500000 Hz (119.99 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 4
Vertical backporch: 38
Standards: DMT, CVT
Flags: reduced blanking
Index: 31
Active width: 1152
Active height: 864
Total width: 1600
Total height: 900
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 108000000 Hz (75.00 frames per second)
Horizontal frontporch: 64
Horizontal sync: 128
Horizontal backporch: 256
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 32
Standards: DMT
Flags:
Index: 32
Active width: 1280
Active height: 768
Total width: 1440
Total height: 790
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 68250000 Hz (59.99 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 7
Vertical backporch: 12
Standards: DMT, CVT
Flags: reduced blanking
Index: 33
Active width: 1280
Active height: 768
Total width: 1664
Total height: 798
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 79500000 Hz (59.87 frames per second)
Horizontal frontporch: 64
Horizontal sync: 128
Horizontal backporch: 192
Vertical frontporch: 3
Vertical sync: 7
Vertical backporch: 20
Standards: DMT, CVT
Flags:
Index: 34
Active width: 1280
Active height: 768
Total width: 1696
Total height: 805
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 102250000 Hz (74.89 frames per second)
Horizontal frontporch: 80
Horizontal sync: 128
Horizontal backporch: 208
Vertical frontporch: 3
Vertical sync: 7
Vertical backporch: 27
Standards: DMT, CVT
Flags:
Index: 35
Active width: 1280
Active height: 768
Total width: 1712
Total height: 809
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 117500000 Hz (84.84 frames per second)
Horizontal frontporch: 80
Horizontal sync: 136
Horizontal backporch: 216
Vertical frontporch: 3
Vertical sync: 7
Vertical backporch: 31
Standards: DMT, CVT
Flags:
Index: 36
Active width: 1280
Active height: 768
Total width: 1440
Total height: 813
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 140250000 Hz (119.80 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 7
Vertical backporch: 35
Standards: DMT, CVT
Flags: reduced blanking
Index: 37
Active width: 1280
Active height: 800
Total width: 1440
Total height: 823
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 71000000 Hz (59.91 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 14
Standards: DMT, CVT
Flags: reduced blanking
Index: 38
Active width: 1280
Active height: 800
Total width: 1680
Total height: 831
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 83500000 Hz (59.81 frames per second)
Horizontal frontporch: 72
Horizontal sync: 128
Horizontal backporch: 200
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 22
Standards: DMT, CVT
Flags:
Index: 39
Active width: 1280
Active height: 800
Total width: 1696
Total height: 838
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 106500000 Hz (74.93 frames per second)
Horizontal frontporch: 80
Horizontal sync: 128
Horizontal backporch: 208
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 29
Standards: DMT, CVT
Flags:
Index: 40
Active width: 1280
Active height: 800
Total width: 1712
Total height: 843
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 122500000 Hz (84.88 frames per second)
Horizontal frontporch: 80
Horizontal sync: 136
Horizontal backporch: 216
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 34
Standards: DMT, CVT
Flags:
Index: 41
Active width: 1280
Active height: 800
Total width: 1440
Total height: 847
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 146250000 Hz (119.91 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 38
Standards: DMT, CVT
Flags: reduced blanking
Index: 42
Active width: 1280
Active height: 960
Total width: 1800
Total height: 1000
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 108000000 Hz (60.00 frames per second)
Horizontal frontporch: 96
Horizontal sync: 112
Horizontal backporch: 312
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 36
Standards: DMT
Flags:
Index: 43
Active width: 1280
Active height: 960
Total width: 1728
Total height: 1011
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 148500000 Hz (85.00 frames per second)
Horizontal frontporch: 64
Horizontal sync: 160
Horizontal backporch: 224
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 47
Standards: DMT
Flags:
Index: 44
Active width: 1280
Active height: 1024
Total width: 1688
Total height: 1066
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 108000000 Hz (60.02 frames per second)
Horizontal frontporch: 48
Horizontal sync: 112
Horizontal backporch: 248
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 38
Standards: DMT
Flags:
Index: 45
Active width: 1280
Active height: 1024
Total width: 1688
Total height: 1066
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 135000000 Hz (75.02 frames per second)
Horizontal frontporch: 16
Horizontal sync: 144
Horizontal backporch: 248
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 38
Standards: DMT
Flags:
Index: 46
Active width: 1280
Active height: 1024
Total width: 1728
Total height: 1072
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 157500000 Hz (85.02 frames per second)
Horizontal frontporch: 64
Horizontal sync: 160
Horizontal backporch: 224
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 44
Standards: DMT
Flags:
Index: 47
Active width: 1360
Active height: 768
Total width: 1792
Total height: 795
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 85500000 Hz (60.02 frames per second)
Horizontal frontporch: 64
Horizontal sync: 112
Horizontal backporch: 256
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 18
Standards: DMT
Flags:
Index: 48
Active width: 1360
Active height: 768
Total width: 1520
Total height: 813
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 148250000 Hz (119.97 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 5
Vertical backporch: 37
Standards: DMT, CVT
Flags: reduced blanking
Index: 49
Active width: 1366
Active height: 768
Total width: 1792
Total height: 798
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 85500000 Hz (59.79 frames per second)
Horizontal frontporch: 70
Horizontal sync: 143
Horizontal backporch: 213
Vertical frontporch: 3
Vertical sync: 3
Vertical backporch: 24
Standards: DMT
Flags:
Index: 50
Active width: 1366
Active height: 768
Total width: 1500
Total height: 800
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 72000000 Hz (60.00 frames per second)
Horizontal frontporch: 14
Horizontal sync: 56
Horizontal backporch: 64
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 28
Standards: DMT
Flags: reduced blanking
Index: 51
Active width: 1400
Active height: 1050
Total width: 1560
Total height: 1080
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 101000000 Hz (59.95 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 4
Vertical backporch: 23
Standards: DMT, CVT
Flags: reduced blanking
Index: 52
Active width: 1400
Active height: 1050
Total width: 1864
Total height: 1089
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 121750000 Hz (59.98 frames per second)
Horizontal frontporch: 88
Horizontal sync: 144
Horizontal backporch: 232
Vertical frontporch: 3
Vertical sync: 4
Vertical backporch: 32
Standards: DMT, CVT
Flags:
Index: 53
Active width: 1400
Active height: 1050
Total width: 1896
Total height: 1099
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 156000000 Hz (74.87 frames per second)
Horizontal frontporch: 104
Horizontal sync: 144
Horizontal backporch: 248
Vertical frontporch: 3
Vertical sync: 4
Vertical backporch: 42
Standards: DMT, CVT
Flags:
Index: 54
Active width: 1440
Active height: 900
Total width: 1600
Total height: 926
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 88750000 Hz (59.90 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 17
Standards: DMT, CVT
Flags: reduced blanking
Index: 55
Active width: 1440
Active height: 900
Total width: 1904
Total height: 934
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 106500000 Hz (59.89 frames per second)
Horizontal frontporch: 80
Horizontal sync: 152
Horizontal backporch: 232
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 25
Standards: DMT, CVT
Flags:
Index: 56
Active width: 1440
Active height: 900
Total width: 1936
Total height: 942
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 136750000 Hz (74.98 frames per second)
Horizontal frontporch: 96
Horizontal sync: 152
Horizontal backporch: 248
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 33
Standards: DMT, CVT
Flags:
Index: 57
Active width: 1440
Active height: 900
Total width: 1952
Total height: 948
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 157000000 Hz (84.84 frames per second)
Horizontal frontporch: 104
Horizontal sync: 152
Horizontal backporch: 256
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 39
Standards: DMT, CVT
Flags:
Index: 58
Active width: 1600
Active height: 900
Total width: 1800
Total height: 1000
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 108000000 Hz (60.00 frames per second)
Horizontal frontporch: 24
Horizontal sync: 80
Horizontal backporch: 96
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 96
Standards: DMT
Flags: reduced blanking
Index: 59
Active width: 1600
Active height: 1200
Total width: 2160
Total height: 1250
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 162000000 Hz (60.00 frames per second)
Horizontal frontporch: 64
Horizontal sync: 192
Horizontal backporch: 304
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 46
Standards: DMT
Flags:
Index: 60
Active width: 1680
Active height: 1050
Total width: 1840
Total height: 1080
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 119000000 Hz (59.88 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 21
Standards: DMT, CVT
Flags: reduced blanking
Index: 61
Active width: 1680
Active height: 1050
Total width: 2240
Total height: 1089
Frame format: progressive
Polarities: +vsync -hsync
Pixelclock: 146250000 Hz (59.95 frames per second)
Horizontal frontporch: 104
Horizontal sync: 176
Horizontal backporch: 280
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 30
Standards: DMT, CVT
Flags:
Index: 62
Active width: 1920
Active height: 1200
Total width: 2080
Total height: 1235
Frame format: progressive
Polarities: -vsync +hsync
Pixelclock: 154000000 Hz (59.95 frames per second)
Horizontal frontporch: 48
Horizontal sync: 32
Horizontal backporch: 80
Vertical frontporch: 3
Vertical sync: 6
Vertical backporch: 26
Standards: DMT, CVT
Flags: reduced blanking
Index: 63
Active width: 2048
Active height: 1152
Total width: 2250
Total height: 1200
Frame format: progressive
Polarities: +vsync +hsync
Pixelclock: 162000000 Hz (60.00 frames per second)
Horizontal frontporch: 26
Horizontal sync: 80
Horizontal backporch: 96
Vertical frontporch: 1
Vertical sync: 3
Vertical backporch: 44
Standards: DMT
Flags: reduced blanking
--list-dv-timings list supp. standard dv timings [VIDIOC_ENUM_DV_TIMINGS]
--set-dv-bt-timings
query: use the output of VIDIOC_QUERY_DV_TIMINGS
index=<index>: use the index as provided by --list-dv-timings
or specify timings using cvt/gtf options as follows:
cvt/gtf,width=<width>,height=<height>,fps=<frames per sec>
interlaced=<0/1>,reduced-blanking=<0/1/2>,reduced-fps=<0/1>
The value of reduced-blanking, if greater than 0, indicates
that reduced blanking is to be used and the value indicate the
version. For gtf, there is no version 2 for reduced blanking, and
the value 1 or 2 will give same results.
reduced-fps = 1, slows down pixel clock by factor of 1000 / 1001, allowing
to support NTSC frame rates like 29.97 or 59.94.
Reduced fps flag takes effect only with reduced blanking version 2 and,
when refresh rate is an integer multiple of 6, say, fps = 24,30,60 etc.
or update all or part of the current timings fields:
width=<width>,height=<height>,interlaced=<0/1>,
polarities=<polarities mask>,pixelclock=<pixelclock Hz>,
hfp=<horizontal front porch>,hs=<horizontal sync>,
hbp=<horizontal back porch>,vfp=<vertical front porch>,
vs=<vertical sync>,vbp=<vertical back porch>,
il_vfp=<vertical front porch for bottom field>,
il_vs=<vertical sync for bottom field>,
il_vbp=<vertical back porch for bottom field>.
clear: start with zeroed timings instead of the current timings.
set the digital video timings according to the BT 656/1120
standard [VIDIOC_S_DV_TIMINGS]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment