These are two single 32 bit register but only one bit is used [bit 2] of 0xff20306C and [bit 0] of 0xFF203070. The other bits are unused. When bit 2 of 0xFF20306C is set the video from the video in source is stored into the pixel buffer 0x08000000 . If you want to capture a still you would set bit 2 in the 0xFF20306C followed by writing a 0 into the same location.
To enable Edge Detection set Bit 0 of the Edge Detection register 0xFF302070.
Device | Video In buffer | |||||||||
Configuration | 32-bit registers | |||||||||
Input/Output | Output only | |||||||||
Address Base | Video In Buffer: 0xFF20306C Edge Detection: 0XFF302070 base+4 | |||||||||
Address Map |
|
|||||||||
Hardware Setup | Connect video source to composite video connector |
.equ ADDR_Front_buffer, 0xFF203020 .equ ADDR_Video_in_controller, 0xFF20306C movia r2,ADDR_Video_in_controller movi r3,0x4 stwio r3,0(r2) # Enable video in streaming movia r2,ADDR_Front_buffer movi r3,0x1 stwio r3,0(r2) # Enable double buffer (swap pixel data from back buffer to front buffer)
.equ ADDR_Edge_detection, 0xFF203070 movia r2,ADDR_Edge_detection movi r3,0x1 stwio r3,0(r2) # Enable edge detection