class VideoInputWriteControl

Defined at line 740 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

VDIN0_WR_CTRL, VDIN1_WR_CTRL.

A311D Datasheet, Section 10.2.3.42 VDIN, Pages 1093, 1115-1116.

S905D2 Datasheet, Section 7.2.3.41 VDIN, Pages 784-785, 808-809.

S905D3 Datasheet, Section 8.2.3.42 VDIN, Pages 720-721, 743.

Private correspondence with Amlogic (Re: display loopback mode), June 27,

2019.

Public Members

 field_chroma_horizontal_subsampling_mode_822
 field_memory_interface_clock_gate_disabled_827
 field_memory_interface_response_counter_cleared_831
 field_line_end_indicator_selection_834
 field_frame_reset_on_vsync_837
 field_line_fifo_reset_on_vsync_840
 field_direct_write_done_cleared_844
 field_noise_reduced_write_done_cleared_848
 field_consecutive_64bit_pairs_reordered_852
 field_chroma_channel_layout_857
 field_chroma_vertical_subsampling_mode_860
 field_yuv_sampling_storage_format_863
 field_luma_canvas_address_double_buffered_867
 field_write_request_unpaused_875
 field_write_request_urgent_878
 field_write_request_enabled_881
 field_luma_canvas_address_884

Public Methods

hwreg::RegisterAddr<VideoInputWriteControl> Get (VideoInputModuleId video_input)

Defined at line 810 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
ChromaHorizontalSubsamplingMode chroma_horizontal_subsampling_mode ()

Effective iff `yuv_sampling_storage_format` is `kYuv422Packed` or

`kSemiPlanar`.

Defined at line 822 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_chroma_horizontal_subsampling_mode (ChromaHorizontalSubsamplingMode val)

Effective iff `yuv_sampling_storage_format` is `kYuv422Packed` or

`kSemiPlanar`.

Defined at line 822 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType memory_interface_clock_gate_disabled ()

True iff the clock gate for the memory interface is disabled, which means

that the memory interface uses a free running clock (i.e. a clock that is

not interrupted nor gated).

Defined at line 827 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_memory_interface_clock_gate_disabled (typename SelfType::ValueType val)

True iff the clock gate for the memory interface is disabled, which means

that the memory interface uses a free running clock (i.e. a clock that is

not interrupted nor gated).

Defined at line 827 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType memory_interface_response_counter_cleared ()

If true, the counter field for memory interface responses is cleared.

The register it clears is unknown from the datasheets.

Defined at line 831 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_memory_interface_response_counter_cleared (typename SelfType::ValueType val)

If true, the counter field for memory interface responses is cleared.

The register it clears is unknown from the datasheets.

Defined at line 831 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
LineEndIndicator line_end_indicator_selection ()

Selects the line end indicator in the memory write interface.

Defined at line 834 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_line_end_indicator_selection (LineEndIndicator val)

Selects the line end indicator in the memory write interface.

Defined at line 834 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType frame_reset_on_vsync ()

True iff the frame is reset on each Vsync.

Defined at line 837 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_frame_reset_on_vsync (typename SelfType::ValueType val)

True iff the frame is reset on each Vsync.

Defined at line 837 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType line_fifo_reset_on_vsync ()

True iff a software reset is performed on the line FIFO on each Vsync.

Defined at line 840 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_line_fifo_reset_on_vsync (typename SelfType::ValueType val)

True iff a software reset is performed on the line FIFO on each Vsync.

Defined at line 840 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType direct_write_done_cleared ()

If true, the `direct_write_done` bit of the `VideoInputCommandStatus0`

register is cleared.

Defined at line 844 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_direct_write_done_cleared (typename SelfType::ValueType val)

If true, the `direct_write_done` bit of the `VideoInputCommandStatus0`

register is cleared.

Defined at line 844 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType noise_reduced_write_done_cleared ()

If true, the `noise_reduced_write_done` bit of the

`VideoInputCommandStatus0` register is cleared.

Defined at line 848 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_noise_reduced_write_done_cleared (typename SelfType::ValueType val)

If true, the `noise_reduced_write_done` bit of the

`VideoInputCommandStatus0` register is cleared.

Defined at line 848 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType consecutive_64bit_pairs_reordered ()

True iff the data is reordered by swapping consecutive pairs of 64-bit

chunks.

Defined at line 852 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_consecutive_64bit_pairs_reordered (typename SelfType::ValueType val)

True iff the data is reordered by swapping consecutive pairs of 64-bit

chunks.

Defined at line 852 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
ChromaChannelLayout chroma_channel_layout ()

The layout of channels in each macropixel of the chroma subplane.

Effective iff `yuv_sampling_storage_format` is `kSemiPlanar`.

Defined at line 857 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_chroma_channel_layout (ChromaChannelLayout val)

The layout of channels in each macropixel of the chroma subplane.

Effective iff `yuv_sampling_storage_format` is `kSemiPlanar`.

Defined at line 857 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
ChromaVerticalSubsamplingMode chroma_vertical_subsampling_mode ()

Effective iff `yuv_sampling_storage_format` is `kSemiPlanar`.

Defined at line 860 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_chroma_vertical_subsampling_mode (ChromaVerticalSubsamplingMode val)

Effective iff `yuv_sampling_storage_format` is `kSemiPlanar`.

Defined at line 860 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_yuv_sampling_storage_format (YuvSamplingStorageFormat val)

YUV sampling and storage format of the image to write.

Defined at line 863 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
YuvSamplingStorageFormat yuv_sampling_storage_format ()

YUV sampling and storage format of the image to write.

Defined at line 863 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType luma_canvas_address_double_buffered ()

True iff the value of `luma_canvas_address` is double-buffered. In that

case, the new value written to the register field is applied on each Vsync.

Defined at line 867 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_luma_canvas_address_double_buffered (typename SelfType::ValueType val)

True iff the value of `luma_canvas_address` is double-buffered. In that

case, the new value written to the register field is applied on each Vsync.

Defined at line 867 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_write_request_unpaused (typename SelfType::ValueType val)

If true, unpauses the write request.

This bit is not in any datasheet but was mentioned in private

correspondence with Amlogic. Experiments on Khadas VIM3 (A311D),

Astro (S905D2) and Nelson (S905D3) all show that this bit is available

and functions as described above.

Defined at line 875 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType write_request_unpaused ()

If true, unpauses the write request.

This bit is not in any datasheet but was mentioned in private

correspondence with Amlogic. Experiments on Khadas VIM3 (A311D),

Astro (S905D2) and Nelson (S905D3) all show that this bit is available

and functions as described above.

Defined at line 875 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_write_request_urgent (typename SelfType::ValueType val)

True iff the next memory write request is of higher priority.

Defined at line 878 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType write_request_urgent ()

True iff the next memory write request is of higher priority.

Defined at line 878 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_write_request_enabled (typename SelfType::ValueType val)

True iff the memory write interface allows memory write requests.

Defined at line 881 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType write_request_enabled ()

True iff the memory write interface allows memory write requests.

Defined at line 881 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
typename SelfType::ValueType luma_canvas_address ()

The address to the Luma canvas for the memory interface to write to.

Defined at line 884 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

template <, >
SelfType & set_luma_canvas_address (typename SelfType::ValueType val)

The address to the Luma canvas for the memory interface to write to.

Defined at line 884 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

Enumerations

enum ChromaHorizontalSubsamplingMode
Name Value
kEvenPixelsOnly 0
kOddPixelsOnly 1
kAveragedPixels 2
kAllPixels 3

Defined at line 742 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

enum LineEndIndicator
Name Value
kEol 0
kWidth 1

Defined at line 760 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

enum ChromaChannelLayout
Name Value
kCbCr 0
kCrCb 1

Defined at line 769 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

enum ChromaVerticalSubsamplingMode
Name Value
kEvenRowsOnly 0
kOddRowsOnly 1
kReserved 2
kAllRows 3

Defined at line 776 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

enum YuvSamplingStorageFormat
Name Value
kYuv422Packed 0
kYuv444Packed 1
kSemiPlanar 2
kYuv422FullyPackedMode 3

Defined at line 789 of file ../../src/graphics/display/drivers/amlogic-display/video-input-regs.h

Records