| 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 |