Image Sensor Interface Peripheral

HISI (AT91S_ISI) 0xFFFC0000 (AT91C_BASE_HISI)
Periph ID AICSymbolDescription
22 (AT91C_ID_HISI)Image Sensor Interface

SignalSymbolPIO controllerDescription
ISI_D5(AT91C_PB25_ISI_D5 )PIOB Periph: B Bit: 25Image Sensor Data 5
ISI_D6(AT91C_PB26_ISI_D6 )PIOB Periph: B Bit: 26Image Sensor Data 6
ISI_MCK(AT91C_PB31_ISI_MCK )PIOB Periph: B Bit: 31Image Sensor Reference Clock
ISI_D7(AT91C_PB27_ISI_D7 )PIOB Periph: B Bit: 27Image Sensor Data 7
ISI_D8(AT91C_PB10_ISI_D8 )PIOB Periph: B Bit: 10Image Sensor Data 8
ISI_D9(AT91C_PB11_ISI_D9 )PIOB Periph: B Bit: 11Image Sensor Data 9
ISI_D10(AT91C_PB12_ISI_D10 )PIOB Periph: B Bit: 12Image Sensor Data 10
ISI_D11(AT91C_PB13_ISI_D11 )PIOB Periph: B Bit: 13Image Sensor Data 11
ISI_PCK(AT91C_PB28_ISI_PCK )PIOB Periph: B Bit: 28Image Sensor Data Clock
ISI_HSYNC(AT91C_PB30_ISI_HSYNC)PIOB Periph: B Bit: 30Image Sensor Horizontal Synchro
ISI_D0(AT91C_PB20_ISI_D0 )PIOB Periph: B Bit: 20Image Sensor Data 0
ISI_D1(AT91C_PB21_ISI_D1 )PIOB Periph: B Bit: 21Image Sensor Data 1
ISI_VSYNC(AT91C_PB29_ISI_VSYNC)PIOB Periph: B Bit: 29Image Sensor Vertical Synchro
ISI_D2(AT91C_PB22_ISI_D2 )PIOB Periph: B Bit: 22Image Sensor Data 2
ISI_D3(AT91C_PB23_ISI_D3 )PIOB Periph: B Bit: 23Image Sensor Data 3
ISI_D4(AT91C_PB24_ISI_D4 )PIOB Periph: B Bit: 24Image Sensor Data 4

FunctionDescription
AT91F_HISI_CfgPMCEnable Peripheral clock in PMC for HISI
AT91F_HISI_CfgPIOConfigure PIO controllers to drive HISI signals


ISI Software API (AT91S_ISI)

OffsetFieldDescription
0x0ISI_CR1Control Register 1
0x4ISI_CR2Control Register 2
0x8ISI_SRStatus Register
0xCISI_IERInterrupt Enable Register
0x10ISI_IDRInterrupt Disable Register
0x14ISI_IMRInterrupt Mask Register
0x20ISI_PSIZEPreview Size Register
0x24ISI_PDECFPreview Decimation Factor Register
0x28ISI_PFBD (ISI_PPFBD)Preview Frame Buffer Address Register
0x2CISI_CDBACodec Dma Address Register
0x30ISI_Y2RSET0 (ISI_Y2R_SET0)Color Space Conversion Register
0x34ISI_Y2RSET1 (ISI_Y2R_SET1)Color Space Conversion Register
0x38ISI_R2YSET0 (ISI_R2Y_SET0)Color Space Conversion Register
0x3CISI_R2YSET1 (ISI_R2Y_SET1)Color Space Conversion Register
0x40ISI_R2YSET2 (ISI_R2Y_SET2)Color Space Conversion Register

ISI Register Description

ISI: AT91_REG ISI_CR1 Control Register 1

OffsetNameDescription
0ISI_RST
AT91C_ISI_RST
Image sensor interface reset
resets the image sensor interface.
1ISI_DISABLE
AT91C_ISI_DISABLE
image sensor disable.
0: Enable the Image Sensor interface, 1: Finish to capture the current frame and then shut down the module.
2ISI_HSYNC_POL
AT91C_ISI_HSYNC_POL
Horizontal synchronisation polarity
0: HSYNC active high, 1: HSYNC active low
3ISI_HSYNC_POL
AT91C_ISI_HSYNC_POL
Vertical synchronisation polarity
0: VSYNC active high, 1: VSYNC active low
4ISI_PIXCLK_POL
AT91C_ISI_PIXCLK_POL
Pixel Clock Polarity
0: Data is sampled on rising edge of pixel clock, 1: Data is sampled on falling edge of pixel clock
6ISI_EMB_SYNC
AT91C_ISI_EMB_SYNC
Embedded synchronisation
0: Synchronisation by HSYNC, VSYNC, 1: Synchronisation by Embedded Synchronisation Sequence SAV/EAV
7ISI_CRC_SYNC
AT91C_ISI_CRC_SYNC
CRC correction
0: No CRC correction performed on embedded synchronisation, 1: CRC correction is performed.
10..8ISI_CRC_SYNC
AT91C_ISI_CRC_SYNC
Frame rate capture
0: All the frame are captured else one frame every FRATE+1 is captured.
12ISI_FULL
AT91C_ISI_FULL
Full mode is allowed
0:Full mode disabled, 1 : both codec and preview datapath are working simultaneoulsy
14..13ISI_THMASK
AT91C_ISI_THMASK
DMA Burst Mask
Burst Mode
ValueLabelDescription
0ISI_THMASK_4_8_16_BURST
AT91C_ISI_THMASK_4_8_16_BURST

4,8 and 16 AHB burst are allowed
1ISI_THMASK_8_16_BURST
AT91C_ISI_THMASK_8_16_BURST

8 and 16 AHB burst are allowed
2ISI_THMASK_16_BURST
AT91C_ISI_THMASK_16_BURST

Only 16 AHB burst are allowed
15ISI_CODEC_ON
AT91C_ISI_CODEC_ON
Enable the codec path
0: No CRC correction performed on embedded synchronisation, 1:CRC correction is performed.
23..16ISI_SLD
AT91C_ISI_SLD
Start of Line Delay
SLD pixel clock periods to wait before the beginning of a line.
31..24ISI_SFD
AT91C_ISI_SFD
Start of frame Delay
SFD lines are skipped at the beginning of the frame.

ISI: AT91_REG ISI_CR2 Control Register 2

OffsetNameDescription
10..0ISI_IM_VSIZE
AT91C_ISI_IM_VSIZE
Vertical size of the Image sensor [0..2047]
Vertical size = IM_VSIZE + 1
11ISI_GS_MODE
AT91C_ISI_GS_MODE
Grayscale Memory Mode
0 : 2 pixels per word, 1:1 pixel per word
13..12ISI_RGB_MODE
AT91C_ISI_RGB_MODE
RGB mode
RGB mode
ValueLabelDescription
0ISI_RGB_MODE_RGB_888
AT91C_ISI_RGB_MODE_RGB_888

RGB 8:8:8 24 bits
1ISI_RGB_MODE_RGB_565
AT91C_ISI_RGB_MODE_RGB_565

RGB 5:6:5 16 bits
2ISI_RGB_MODE_RGB_555
AT91C_ISI_RGB_MODE_RGB_555

RGB 5:5:5 16 bits
13ISI_GRAYSCALE
AT91C_ISI_GRAYSCALE
Grayscale Mode
0: Grayscale mode is disabled, 1: Input image is assumed to be grayscale coded
14ISI_RGB_SWAP
AT91C_ISI_RGB_SWAP
RGB Swap
0: D7 ->R7, 1: D0->R7
15ISI_COL_SPACE
AT91C_ISI_COL_SPACE
Color space for the image data
Color space for the image data 0: YCbCr 1: RGB
26..16ISI_IM_HSIZE
AT91C_ISI_IM_HSIZE
Horizontal size of the Image sensor [0..2047]
Horizontal size = IM_HSIZE + 1
29..28ISI_RGB_MODE
AT91C_ISI_RGB_MODE
Ycc swap
defines the YCC image data
ValueLabelDescription
0ISI_RGB_MODE_YCC_DEF
AT91C_ISI_RGB_MODE_YCC_DEF

Cb(i) Y(i) Cr(i) Y(i+1)
1ISI_RGB_MODE_YCC_MOD1
AT91C_ISI_RGB_MODE_YCC_MOD1

Cr(i) Y(i) Cb(i) Y(i+1)
2ISI_RGB_MODE_YCC_MOD2
AT91C_ISI_RGB_MODE_YCC_MOD2

Y(i) Cb(i) Y(i+1) Cr(i)
3ISI_RGB_MODE_YCC_MOD3
AT91C_ISI_RGB_MODE_YCC_MOD3

Y(i) Cr(i) Y(i+1) Cb(i)
31..30ISI_RGB_CFG
AT91C_ISI_RGB_CFG
RGB configuration
defines RGB pattern when RGB_MODE is set to 1
ValueLabelDescription
0ISI_RGB_CFG_RGB_DEF
AT91C_ISI_RGB_CFG_RGB_DEF

R/G(MSB) G(LSB)/B R/G(MSB) G(LSB)/B
1ISI_RGB_CFG_RGB_MOD1
AT91C_ISI_RGB_CFG_RGB_MOD1

B/G(MSB) G(LSB)/R B/G(MSB) G(LSB)/R
2ISI_RGB_CFG_RGB_MOD2
AT91C_ISI_RGB_CFG_RGB_MOD2

G(LSB)/R B/G(MSB) G(LSB)/R B/G(MSB)
3ISI_RGB_CFG_RGB_MOD3
AT91C_ISI_RGB_CFG_RGB_MOD3

G(LSB)/B R/G(MSB) G(LSB)/B R/G(MSB)

ISI: AT91_REG ISI_SR Status Register

OffsetNameDescription
0ISI_SOF
AT91C_ISI_SOF
Start of Frame
When set a start of frame has been detected.
1ISI_DIS
AT91C_ISI_DIS
Image Sensor Interface disable
0 = The Image Sensor Interface is enabled; 1:The Image sensor interface is disabled and stops capturing data.
2ISI_SOFTRST
AT91C_ISI_SOFTRST
Software Reset
0 : Software reset not asserted or not completed, 1 : Software reset has completed successfully
4ISI_CRC_ERR
AT91C_ISI_CRC_ERR
CRC synchronisation error
1: CRC_SYNC is enabled in the control register and an error has been detected and not corrected. The frame is discarded and the ISI waits for a new one.
5ISI_FO_C_OVF
AT91C_ISI_FO_C_OVF
Fifo Codec Overflow
1: An overrun condition has occurred in input FIFO on the codec path.
6ISI_FO_P_OVF
AT91C_ISI_FO_P_OVF
Fifo Preview Overflow
1: An overrun condition has occurred in input FIFO on the preview path.
7ISI_FO_P_EMP
AT91C_ISI_FO_P_EMP
Fifo Preview Empty
1: 1:The DMA has finished transferring all the contents of the preview FIFO.
8ISI_FO_C_EMP
AT91C_ISI_FO_C_EMP
Fifo Codec Empty
1: 1:The DMA has finished transferring all the contents of the Codec FIFO.
9ISI_FR_OVR
AT91C_ISI_FR_OVR
Frame rate overun
0: No Frame overrun, 1: Frame overrun, the current frame is being skipped because a vsync signal has been detected while flushing FIFOs.

ISI: AT91_REG ISI_IER Interrupt Enable Register

OffsetNameDescription
0ISI_SOF
AT91C_ISI_SOF
Start of Frame
When set a start of frame has been detected.
1ISI_DIS
AT91C_ISI_DIS
Image Sensor Interface disable
0 = The Image Sensor Interface is enabled; 1:The Image sensor interface is disabled and stops capturing data.
2ISI_SOFTRST
AT91C_ISI_SOFTRST
Software Reset
0 : Software reset not asserted or not completed, 1 : Software reset has completed successfully
4ISI_CRC_ERR
AT91C_ISI_CRC_ERR
CRC synchronisation error
1: CRC_SYNC is enabled in the control register and an error has been detected and not corrected. The frame is discarded and the ISI waits for a new one.
5ISI_FO_C_OVF
AT91C_ISI_FO_C_OVF
Fifo Codec Overflow
1: An overrun condition has occurred in input FIFO on the codec path.
6ISI_FO_P_OVF
AT91C_ISI_FO_P_OVF
Fifo Preview Overflow
1: An overrun condition has occurred in input FIFO on the preview path.
7ISI_FO_P_EMP
AT91C_ISI_FO_P_EMP
Fifo Preview Empty
1: 1:The DMA has finished transferring all the contents of the preview FIFO.
8ISI_FO_C_EMP
AT91C_ISI_FO_C_EMP
Fifo Codec Empty
1: 1:The DMA has finished transferring all the contents of the Codec FIFO.
9ISI_FR_OVR
AT91C_ISI_FR_OVR
Frame rate overun
0: No Frame overrun, 1: Frame overrun, the current frame is being skipped because a vsync signal has been detected while flushing FIFOs.

ISI: AT91_REG ISI_IDR Interrupt Disable Register

OffsetNameDescription
0ISI_SOF
AT91C_ISI_SOF
Start of Frame
When set a start of frame has been detected.
1ISI_DIS
AT91C_ISI_DIS
Image Sensor Interface disable
0 = The Image Sensor Interface is enabled; 1:The Image sensor interface is disabled and stops capturing data.
2ISI_SOFTRST
AT91C_ISI_SOFTRST
Software Reset
0 : Software reset not asserted or not completed, 1 : Software reset has completed successfully
4ISI_CRC_ERR
AT91C_ISI_CRC_ERR
CRC synchronisation error
1: CRC_SYNC is enabled in the control register and an error has been detected and not corrected. The frame is discarded and the ISI waits for a new one.
5ISI_FO_C_OVF
AT91C_ISI_FO_C_OVF
Fifo Codec Overflow
1: An overrun condition has occurred in input FIFO on the codec path.
6ISI_FO_P_OVF
AT91C_ISI_FO_P_OVF
Fifo Preview Overflow
1: An overrun condition has occurred in input FIFO on the preview path.
7ISI_FO_P_EMP
AT91C_ISI_FO_P_EMP
Fifo Preview Empty
1: 1:The DMA has finished transferring all the contents of the preview FIFO.
8ISI_FO_C_EMP
AT91C_ISI_FO_C_EMP
Fifo Codec Empty
1: 1:The DMA has finished transferring all the contents of the Codec FIFO.
9ISI_FR_OVR
AT91C_ISI_FR_OVR
Frame rate overun
0: No Frame overrun, 1: Frame overrun, the current frame is being skipped because a vsync signal has been detected while flushing FIFOs.

ISI: AT91_REG ISI_IMR Interrupt Mask Register

OffsetNameDescription
0ISI_SOF
AT91C_ISI_SOF
Start of Frame
When set a start of frame has been detected.
1ISI_DIS
AT91C_ISI_DIS
Image Sensor Interface disable
0 = The Image Sensor Interface is enabled; 1:The Image sensor interface is disabled and stops capturing data.
2ISI_SOFTRST
AT91C_ISI_SOFTRST
Software Reset
0 : Software reset not asserted or not completed, 1 : Software reset has completed successfully
4ISI_CRC_ERR
AT91C_ISI_CRC_ERR
CRC synchronisation error
1: CRC_SYNC is enabled in the control register and an error has been detected and not corrected. The frame is discarded and the ISI waits for a new one.
5ISI_FO_C_OVF
AT91C_ISI_FO_C_OVF
Fifo Codec Overflow
1: An overrun condition has occurred in input FIFO on the codec path.
6ISI_FO_P_OVF
AT91C_ISI_FO_P_OVF
Fifo Preview Overflow
1: An overrun condition has occurred in input FIFO on the preview path.
7ISI_FO_P_EMP
AT91C_ISI_FO_P_EMP
Fifo Preview Empty
1: 1:The DMA has finished transferring all the contents of the preview FIFO.
8ISI_FO_C_EMP
AT91C_ISI_FO_C_EMP
Fifo Codec Empty
1: 1:The DMA has finished transferring all the contents of the Codec FIFO.
9ISI_FR_OVR
AT91C_ISI_FR_OVR
Frame rate overun
0: No Frame overrun, 1: Frame overrun, the current frame is being skipped because a vsync signal has been detected while flushing FIFOs.

ISI: AT91_REG ISI_PSIZE Preview Size Register

OffsetNameDescription
9..0ISI_PREV_VSIZE
AT91C_ISI_PREV_VSIZE
Vertical size for the preview path
Vertical Preview size = PREV_VSIZE + 1 (480 max)
25..16ISI_PREV_HSIZE
AT91C_ISI_PREV_HSIZE
Horizontal size for the preview path
Horizontal Preview size = PREV_HSIZE + 1 (640 max)

ISI: AT91_REG ISI_PDECF Preview Decimation Factor Register


DEC_FACTOR is 8-bit width, range is from 16 to 255. Values from 0 to 16 do not perform any decimation.

ISI: AT91_REG ISI_PFBD Preview Frame Buffer Address Register


Written with the address of the start of the preview frame buffer queue, reads as a pointer to the current buffer being used.

ISI: AT91_REG ISI_CDBA Codec Dma Address Register


This register contains codec datapath start address of buffer location.

ISI: AT91_REG ISI_Y2RSET0 Color Space Conversion Register


Color Space Conversion YCrCb to RGB set 0 register
OffsetNameDescription
7..0ISI_Y2R_C0
AT91C_ISI_Y2R_C0
Color Space Conversion Matrix Coefficient C0
C0 element, default step is 1/128, range from 0 to 1.9921875
15..8ISI_Y2R_C1
AT91C_ISI_Y2R_C1
Color Space Conversion Matrix Coefficient C1
C1 element, default step is 1/128, range from 0 to 1.9921875
23..16ISI_Y2R_C2
AT91C_ISI_Y2R_C2
Color Space Conversion Matrix Coefficient C2
C2 element, default step is 1/128, range from 0 to 1.9921875
31..24ISI_Y2R_C3
AT91C_ISI_Y2R_C3
Color Space Conversion Matrix Coefficient C3
C3 element, default step is 1/128, range from 0 to 1.9921875

ISI: AT91_REG ISI_Y2RSET1 Color Space Conversion Register

OffsetNameDescription
8..0ISI_Y2R_C4
AT91C_ISI_Y2R_C4
Color Space Conversion Matrix Coefficient C4
C4 element default step is 1/128, range from 0 to 3.9921875
19..12ISI_Y2R_YOFF
AT91C_ISI_Y2R_YOFF
Color Space Conversion Luninance default offset
Yoff is set to 1 implies 128, Yoff is set to 0 implies 0
20..13ISI_Y2R_CROFF
AT91C_ISI_Y2R_CROFF
Color Space Conversion Red Chrominance default offset
Croff is set to 1 implies 16, Croff is set to 0 implies 0
21..14ISI_Y2R_CBFF
AT91C_ISI_Y2R_CBFF
Color Space Conversion Luninance default offset
Cboff is set to 1 implies 16, Croff is set to 0 implies 0

ISI: AT91_REG ISI_R2YSET0 Color Space Conversion Register

OffsetNameDescription
6..0ISI_R2Y_C0
AT91C_ISI_R2Y_C0
Color Space Conversion RGB to YCrCb Matrix coefficient C0
C0 element default step is 1/256, from 0 to 0.49609375
7..1ISI_R2Y_C1
AT91C_ISI_R2Y_C1
Color Space Conversion RGB to YCrCb Matrix coefficient C1
C1 element default step is 1/128, from 0 to 0.9921875
9..3ISI_R2Y_C2
AT91C_ISI_R2Y_C2
Color Space Conversion RGB to YCrCb Matrix coefficient C2
C2 element default step is 1/512, from 0 to 0.2480468875
4ISI_R2Y_ROFF
AT91C_ISI_R2Y_ROFF
Color Space Conversion Red component offset
Roff is set to 1 implies 16, Roff is set to 0 implies 0

ISI: AT91_REG ISI_R2YSET1 Color Space Conversion Register

OffsetNameDescription
6..0ISI_R2Y_C3
AT91C_ISI_R2Y_C3
Color Space Conversion RGB to YCrCb Matrix coefficient C3
C3 element default step is 1/128, range from 0 to 0.9921875
7..1ISI_R2Y_C4
AT91C_ISI_R2Y_C4
Color Space Conversion RGB to YCrCb Matrix coefficient C4
C1 element default step is 1/256, range from 0 to 0.49609375
9..3ISI_R2Y_C5
AT91C_ISI_R2Y_C5
Color Space Conversion RGB to YCrCb Matrix coefficient C5
C1 element default step is 1/512, range from 0 to 0.2480468875
4ISI_R2Y_GOFF
AT91C_ISI_R2Y_GOFF
Color Space Conversion Green component offset
GOFF is set to 1 implies 128, GOFF is set to 0 implies 0

ISI: AT91_REG ISI_R2YSET2 Color Space Conversion Register

OffsetNameDescription
6..0ISI_R2Y_C6
AT91C_ISI_R2Y_C6
Color Space Conversion RGB to YCrCb Matrix coefficient C6
C6 element default step is 1/512, range from 0 to 0.2480468875
7..1ISI_R2Y_C7
AT91C_ISI_R2Y_C7
Color Space Conversion RGB to YCrCb Matrix coefficient C7
C7 element default step is 1/256, range from 0 to 0.49609375
9..3ISI_R2Y_C8
AT91C_ISI_R2Y_C8
Color Space Conversion RGB to YCrCb Matrix coefficient C8
C8 element default step is 1/128, range from 0 to 0.9921875
4ISI_R2Y_BOFF
AT91C_ISI_R2Y_BOFF
Color Space Conversion Blue component offset
BOFF is set to 1 implies 128, BOFF is set to 0 implies 0