| | 449 | |
| | 450 | |
| | 451 | |
| | 452 | [=#edid] |
| | 453 | == EDID |
| | 454 | HDMI sources require an EDID from the HDMI sink (ie monitor/capture device) to know what formats are allowed. This is done on v4l2 capture devices such as the tda1997x by using the 'v4l2-ctl --set-edid' on the subdev for the capture device. The capture device will then provide this to the HDMI source (it wiggles its HPD line which is the equivalent of a hotplug) and then the HDMI source will provide the sink (capture device) with something compatible which you can then query. You can provide either a raw EDID binary file or a type which will cause the kernel to auto-generate a compatible EDID from. |
| | 455 | |
| | 456 | Examples: |
| | 457 | - show options for setting edid: |
| | 458 | {{{#!bash |
| | 459 | v4l2-ctl --help-edid |
| | 460 | }}} |
| | 461 | - provide an EDID to the tda1997x by description: |
| | 462 | {{{#!bash |
| | 463 | v4l2-ctl -d $(media-ctl -e "tda19971 2-0048") --set-edid=type=hdmi |
| | 464 | }}} |
| | 465 | - provide an EDID by binary file |
| | 466 | {{{#!bash |
| | 467 | v4l2-ctl -d $(media-ctl -e "tda19971 2-0048") --set-edid=file=edid.hex # hex |
| | 468 | v4l2-ctl -d $(media-ctl -e "tda19971 2-0048") --set-edid=file=edid.bin,format=raw # binary |
| | 469 | }}} |
| | 470 | - clear the EDID: |
| | 471 | {{{#!bash |
| | 472 | v4l2-ctl -d $(media-ctl -e "tda19971 2-0048") --clear-edid |
| | 473 | }}} |
| | 474 | - get edid |
| | 475 | {{{#!bash |
| | 476 | # show it in hex format |
| | 477 | v4l2-ctl -d $(media-ctl -e "tda19971 2-0048") --get-edid=format=hex |
| | 478 | # save it to a file |
| | 479 | v4l2-ctl -d $(media-ctl -e "tda19971 2-0048") --get-edid pad=0,file=edid.hex,format=hex # hex |
| | 480 | v4l2-ctl -d $(media-ctl -e "tda19971 2-0048") --get-edid file=edid.bin,format=raw # binary |
| | 481 | }}} |
| | 482 | |
| | 483 | Notes: |
| | 484 | - the above commands do not provide the optional 'pad' argument as it defaults to pad 0 which is the only pad of the tda1997x |