Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * GSPCA Endpoints (formerly known as AOX) se401 USB Camera sub Driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * Copyright (C) 2011 Hans de Goede <hdegoede@redhat.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * Based on the v4l1 se401 driver which is:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  * Copyright (c) 2000 Jeroen B. Vreeken (pe1rxq@amsat.org)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define SE401_REQ_GET_CAMERA_DESCRIPTOR		0x06
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define SE401_REQ_START_CONTINUOUS_CAPTURE	0x41
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define SE401_REQ_STOP_CONTINUOUS_CAPTURE	0x42
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define SE401_REQ_CAPTURE_FRAME			0x43
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define SE401_REQ_GET_BRT			0x44
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define SE401_REQ_SET_BRT			0x45
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define SE401_REQ_GET_WIDTH			0x4c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define SE401_REQ_SET_WIDTH			0x4d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define SE401_REQ_GET_HEIGHT			0x4e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define SE401_REQ_SET_HEIGHT			0x4f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define SE401_REQ_GET_OUTPUT_MODE		0x50
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define SE401_REQ_SET_OUTPUT_MODE		0x51
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define SE401_REQ_GET_EXT_FEATURE		0x52
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define SE401_REQ_SET_EXT_FEATURE		0x53
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define SE401_REQ_CAMERA_POWER			0x56
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define SE401_REQ_LED_CONTROL			0x57
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define SE401_REQ_BIOS				0xff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define SE401_BIOS_READ				0x07
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define SE401_FORMAT_BAYER	0x40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) /* Hyundai hv7131b registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)    7121 and 7141 should be the same (haven't really checked...) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) /* Mode registers: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define HV7131_REG_MODE_A		0x00
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define HV7131_REG_MODE_B		0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) #define HV7131_REG_MODE_C		0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) /* Frame registers: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #define HV7131_REG_FRSU		0x10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define HV7131_REG_FRSL		0x11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #define HV7131_REG_FCSU		0x12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #define HV7131_REG_FCSL		0x13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #define HV7131_REG_FWHU		0x14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define HV7131_REG_FWHL		0x15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #define HV7131_REG_FWWU		0x16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #define HV7131_REG_FWWL		0x17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) /* Timing registers: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define HV7131_REG_THBU		0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #define HV7131_REG_THBL		0x21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #define HV7131_REG_TVBU		0x22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #define HV7131_REG_TVBL		0x23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #define HV7131_REG_TITU		0x25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #define HV7131_REG_TITM		0x26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define HV7131_REG_TITL		0x27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) #define HV7131_REG_TMCD		0x28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) /* Adjust Registers: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #define HV7131_REG_ARLV		0x30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) #define HV7131_REG_ARCG		0x31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #define HV7131_REG_AGCG		0x32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #define HV7131_REG_ABCG		0x33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) #define HV7131_REG_APBV		0x34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) #define HV7131_REG_ASLP		0x54
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) /* Offset Registers: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #define HV7131_REG_OFSR		0x50
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) #define HV7131_REG_OFSG		0x51
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) #define HV7131_REG_OFSB		0x52
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) /* REset level statistics registers: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) #define HV7131_REG_LOREFNOH	0x57
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) #define HV7131_REG_LOREFNOL	0x58
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) #define HV7131_REG_HIREFNOH	0x59
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) #define HV7131_REG_HIREFNOL	0x5a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) /* se401 registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #define SE401_OPERATINGMODE	0x2000