Files
wangjianyu3 fadfa85296 drivers/video: add GC0308 VGA CMOS image sensor driver
Add support for the GalaxyCore GC0308 VGA CMOS image sensor.
The driver implements the NuttX imgsensor interface and supports
VGA (640x480), QVGA (320x240), and QQVGA (160x120) resolutions
via Kconfig selection. Output format is RGB565X (big-endian).

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-03-16 17:26:27 -03:00

492 lines
10 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config FB_CMAP
bool
default n
---help---
Set by driver-specific configuration to indicate support for color
mapping. Not directly user selectable.
config FB_TRANSPARENCY
bool
default n
---help---
Set by driver-specific configuration to indicate support for color
transparency. Not directly user selectable.
config FB_UPDATE
bool
default n
config FB_SYNC
bool "Hardware signals vertical sync"
default n
config FB_OVERLAY
bool "Framebuffer overlay support"
default n
config FB_MODULEINFO
bool "Framebuffer module information support"
default n
config FB_OVERLAY_BLIT
bool "Framebuffer overlay blit support"
depends on FB_OVERLAY
default n
menuconfig DRIVERS_VIDEO
bool "Video Device Support"
default n
---help---
Enable support for video device drivers.
if DRIVERS_VIDEO
config VIDEO_FB
bool "Framebuffer character driver"
default n
select ARCH_VMA_MAPPING if BUILD_KERNEL
config VIDEO_FB_NPOLLWAITERS
int "Video fb poll count of each open structure"
depends on VIDEO_FB
default 2
config VIDEO_FB_SPLASHSCREEN
bool "Enable Splashscreen when Framebuffer Driver is registered"
depends on VIDEO_FB
default n
---help---
This feature allows a splashscreen image to be displayed during the
Framebuffer device driver register function. It provides the following
functionality:
- Choice of 80x80, 160x160 or 320x320 default "NX" logos
- Alternative "out-of-tree" image as splashscreen
- Configurable background colour (default black)
- Bit-per-pixel choice (32/24/16/8/Greyscale/Mono) to suit the LCD used
- Splashscreen can be set to remain displayed for 'n' seconds ('n' can be 0)
- Splashscreen can be cleared (to black) once framebuffer device register is
complete
- Python "splashscreen_converter.py" tool (in NuttX tools directory) can be used
to create custom splashscreens - note the tool restricts the number of colours
to 256.
if VIDEO_FB_SPLASHSCREEN
menu "Splashscreen Image Selection and Configuration"
choice
prompt "Select Splashscreen Image Source"
default VIDEO_FB_SPLASHSCREEN_NXLOGO
config VIDEO_FB_SPLASHSCREEN_NXLOGO
bool "Use default NuttX NX Logo"
config VIDEO_FB_SPLASHSCREEN_CUSTOM
bool "Use Custom file as splashscreen"
---help---
This must be a compiled C source file, such as fb_splash.o, created
as a c src file using the splashscreen_converter.py Python script,
available in the nuttx/tools directory, and compiled as part of the
build.
Typically this would be a source file of an out-of-tree custom board.
endchoice # Select Splashscreen Image Source
choice
prompt "Select NXlogo bitmap size to use"
default VIDEO_FB_SPLASHSCREEN_NXLOGO_160
depends on VIDEO_FB_SPLASHSCREEN_NXLOGO
config VIDEO_FB_SPLASHSCREEN_NXLOGO_320
bool "320x320 pixels"
config VIDEO_FB_SPLASHSCREEN_NXLOGO_160
bool "160x160 pixels"
config VIDEO_FB_SPLASHSCREEN_NXLOGO_80
bool "80x80 pixels"
endchoice # Select NXlogo bitmap size to use
choice
prompt "Select Splashscreen Bits-per-pixel (BPP)"
default VIDEO_FB_SPLASHSCREEN_BPP32
config VIDEO_FB_SPLASHSCREEN_BPP32
bool "32BPP (ARGB)"
config VIDEO_FB_SPLASHSCREEN_BPP24
bool "24BPP (RGB)"
config VIDEO_FB_SPLASHSCREEN_BPP16
bool "16BPP (RGB565)"
config VIDEO_FB_SPLASHSCREEN_MONO
bool "Monochrome"
config VIDEO_FB_SPLASHSCREEN_GREY
bool "Greyscale (8BPP)"
endchoice # Select Splashscreen Bits-per-pixel (BPP)
config VIDEO_FB_SPLASHSCREEN_BG_COLOUR
hex "Hex (A)RGB background colour for splashscreen"
default 0
---help---
default is black
config VIDEO_FB_SPLASHSCREEN_DISP_TIME
int "Time to sleep once Splashscreen displayed"
default 1
config VIDEO_FB_SPLASHSCREEN_CLR_ON_EXIT
bool "Clear Framebuffer memory when driver registration is complete"
default y
endmenu # Splashscreen Image Selection and Configuration
endif # VIDEO_FB_SPLASHSCREEN
config VIDEO_STREAM
bool "Video Stream Support"
default n
---help---
Enable video Stream support
config GOLDFISH_FB
bool "Goldfish Framebuffer character driver"
depends on VIDEO_FB
default n
config GOLDFISH_GPU_FB
bool "Goldfish GPU Framebuffer character driver"
depends on VIDEO_FB
default n
choice
prompt "Select Goldfish GPU Framebuffer format"
default GOLDFISH_GPU_FB_RGB565
depends on GOLDFISH_GPU_FB
config GOLDFISH_GPU_FB_RGB565
bool "RGB565"
config GOLDFISH_GPU_FB_BGRA8888
bool "BGRA8888"
endchoice # Select Goldfish GPU Framebuffer format
config GOLDFISH_GPU_FB_PRIORITY
int "Goldfish GPU Framebuffer vsync task priority"
depends on GOLDFISH_GPU_FB
default 100
config GOLDFISH_FB_VIDEO_MODE
bool "Goldfish Framebuffer display mode"
depends on GOLDFISH_FB
default n
---help---
GOLDFISH_FB_VIDEO_MODE = y enable video mode
GOLDFISH_FB_VIDEO_MODE = n enable command mode
config GOLDFISH_FB_FRAME_NBUFFER
int "Goldfish fb vsync size"
depends on GOLDFISH_FB
default 2
if VIDEO_STREAM
config VIDEO_REQBUFS_COUNT_MAX
int "Maximum Video reqbuf buffers count"
default 3
config VIDEO_SCENE_BACKLIGHT
bool "Enable backlight scene"
default y
---help---
Enable backlight scene
config VIDEO_SCENE_BEACHSNOW
bool "Enable beach snow scene"
default y
---help---
Enable beach snow scene
config VIDEO_SCENE_CANDLELIGHT
bool "Enable candle light scene"
default y
---help---
Enable candle light scene
config VIDEO_SCENE_DAWNDUSK
bool "Enable dawn dusk scene"
default y
---help---
Enable dawn dusk scene
config VIDEO_SCENE_FALLCOLORS
bool "Enable fall colors scene"
default y
---help---
Enable fall colors scene
config VIDEO_SCENE_FIREWORKS
bool "Enable fireworks scene"
default y
---help---
Enable fireworks scene
config VIDEO_SCENE_LANDSCAPE
bool "Enable landscape scene"
default y
---help---
Enable landscape scene
config VIDEO_SCENE_NIGHT
bool "Enable night scene"
default y
---help---
Enable night scene
config VIDEO_SCENE_PARTYINDOOR
bool "Enable party and indoor scene"
default y
---help---
Enable party and indoor scene
config VIDEO_SCENE_PORTRAIT
bool "Enable portrait scene"
default y
---help---
Enable portrait scene
config VIDEO_SCENE_SPORTS
bool "Enable sports scene"
default y
---help---
Enable sports scene
config VIDEO_SCENE_SUNSET
bool "Enable sunset scene"
default y
---help---
Enable sunset scene
config VIDEO_SCENE_TEXT
bool "Enable text scene"
default y
---help---
Enable text scene
endif # VIDEO_STREAM
config VIDEO_MAX7456
bool "Maxim 7456 Monochrome OSD"
default n
select SPI
---help---
Support for the Maxim 7456 monochrome on-screen display
multiplexer.
config VIDEO_ISX012
bool "ISX012 Image sensor"
default n
select I2C
if VIDEO_ISX012
config VIDEO_ISX012_REGDEBUG
bool "Enable to read registers of ISX012 for test"
default n
---help---
Enable to read registers of ISX012 for test.
endif # VIDEO_ISX012
config VIDEO_ISX019
bool "ISX019 Image sensor"
default n
select I2C
if VIDEO_ISX019
choice
prompt "HDR mode selection"
default VIDEO_ISX019_DOL3
---help---
ISX019 has the DOL-HDR feature, which combines images with different exposure so that
both bright and dark data of high-contrast subject can be viewed at the same time.
Select DOLX(X = 2 or 3), in which X represents the number of combined images.
config VIDEO_ISX019_DOL3
bool "DOL3"
---help---
DOL3 is the mode that combines 3 images with different exposure.
config VIDEO_ISX019_DOL2
bool "DOL2"
---help---
DOL2 is the mode that combines 2 images with different exposure.
endchoice # HDR mode selection
config VIDEO_ISX019_INITIAL_JPEG_QUALITY
int "Initial JPEG quality"
default 70
range 1 100
---help---
The initial JPEG quality.
config VIDEO_ISX019_NAME_WITH_VERSION
bool "ISX019 Image sensor name with version number"
default n
---help---
ISX019 Camera board has FPGA for encoding JPEG image.
This FPGA has a version number for the circuit.
This option enables to report FPGA version with driver name.
config VIDEO_ISX019_REGDEBUG
bool "Enable to read registers of ISX019 for test"
default n
---help---
Enable to read registers of ISX019 for test.
endif # VIDEO_ISX019
config VIDEO_OV2640
bool "OV2640 camera chip"
default n
depends on ALLOW_GPL_COMPONENTS
select I2C
if VIDEO_OV2640
config OV2640_I2CADDR
hex "I2C address (7-bit)"
default 0x21
---help---
OV2640 I2C address in 7-bit format
config OV2640_FREQUENCY
int "I2C frequency"
default 400000
---help---
OV2640 I2C frequency
choice
prompt "Color format"
default OV2640_RGB565_COLORFMT
config OV2640_RGB565_COLORFMT
bool "RGB565"
config OV2640_YUV422_COLORFMT
bool "YUV422"
endchoice # Color format
config OV2640_JPEG
bool "JPEG output format"
default n
---help---
Select JPEG output format
choice
prompt "JPEG resolution"
default OV2640_JPEG_SVGA_RESOLUTION
depends on OV2640_JPEG
config OV2640_JPEG_QCIF_RESOLUTION
bool "QCIF (176x144)"
config OV2640_JPEG_QVGA_RESOLUTION
bool "QVGA (320x240)"
config OV2640_JPEG_CIF_RESOLUTION
bool "CIF (352x288)"
config OV2640_JPEG_VGA_RESOLUTION
bool "VGA (640x480)"
config OV2640_JPEG_SVGA_RESOLUTION
bool "SVGA (800x600)"
config OV2640_JPEG_XVGA_RESOLUTION
bool "XVGA (1024x768)"
config OV2640_JPEG_SXVGA_RESOLUTION
bool "SXVGA (1280x1024)"
config OV2640_JPEG_UXGA_RESOLUTION
bool "UXVGA (1600x1200)"
endchoice # JPEG resolution
choice
prompt "Output resolution"
default OV2640_SVGA_RESOLUTION
depends on !OV2640_JPEG
config OV2640_QCIF_RESOLUTION
bool "QCIF (176x144)"
config OV2640_QVGA_RESOLUTION
bool "QVGA (320x240)"
config OV2640_CIF_RESOLUTION
bool "CIF (352x288)"
config OV2640_VGA_RESOLUTION
bool "VGA (640x480)"
config OV2640_SVGA_RESOLUTION
bool "SVGA (800x600)"
config OV2640_XVGA_RESOLUTION
bool "XVGA (1024x768)"
config OV2640_SXGA_RESOLUTION
bool "SXVGA (1280x1024)"
config OV2640_UXGA_RESOLUTION
bool "UXVGA (1600x1200)"
endchoice # Output resolution
config OV2640_REGDEBUG
bool "Register level debug output"
default n
depends on DEBUG_FEATURES
---help---
Enable details, register level debug output.
endif # VIDEO_OV2640
config VIDEO_GC0308
bool "GC0308 camera chip"
default n
select I2C
---help---
GC0308 VGA CMOS image sensor with DVP interface.
config GOLDFISH_CAMERA
bool "Goldfish camera support"
depends on VIDEO
default n
if GOLDFISH_CAMERA
config GOLDFISH_CAMERA_PIPE_PATH
string "Goldfish camera pipe path"
default "/dev/goldfish_pipe"
endif # GOLDFISH_CAMERA
source "drivers/video/vnc/Kconfig"
source "drivers/video/mipidsi/Kconfig"
endif # DRIVERS_VIDEO