rk3026_86v: add defconfig add board file

This commit is contained in:
hjc
2013-08-12 17:32:22 +08:00
parent 011db6a138
commit 7c26fffcef
6 changed files with 2759 additions and 0 deletions

View File

@@ -0,0 +1,440 @@
CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_KERNEL_LZO=y
CONFIG_LOG_BUF_SHIFT=19
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_PANIC_TIMEOUT=1
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_ELF_CORE is not set
CONFIG_ASHMEM=y
# CONFIG_AIO is not set
CONFIG_EMBEDDED=y
# CONFIG_SLUB_DEBUG is not set
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_ARCH_RK3026=y
CONFIG_DDR_FREQ=y
# CONFIG_DDR_TEST is not set
CONFIG_RK_USB_UART=y
CONFIG_MACH_RK3026_86V=y
CONFIG_ARM_ERRATA_761320=y
CONFIG_ARM_ERRATA_775420=y
CONFIG_FIQ_DEBUGGER=y
CONFIG_FIQ_DEBUGGER_NO_SLEEP=y
CONFIG_FIQ_DEBUGGER_CONSOLE=y
CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_SMP=y
# CONFIG_SMP_ON_UP is not set
CONFIG_NR_CPUS=2
CONFIG_PREEMPT=y
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
CONFIG_HIGHMEM=y
CONFIG_COMPACTION=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="console=ttyFIQ0 androidboot.console=ttyFIQ0 init=/init"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_IDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_WAKELOCK=y
CONFIG_PM_RUNTIME=y
CONFIG_PM_DEBUG=y
CONFIG_SUSPEND_TIME=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_INET_ESP=y
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_LRO is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_NETFILTER=y
# CONFIG_BRIDGE_NETFILTER is not set
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NETFILTER_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_REJECT_SKERR=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_TARGET_LOG=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_BRIDGE=y
# CONFIG_BRIDGE_IGMP_SNOOPING is not set
CONFIG_PHONET=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_HIDP=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIBCM4325=y
CONFIG_BT_AUTOSLEEP=y
CONFIG_CFG80211=y
CONFIG_MAC80211=y
CONFIG_RFKILL=y
CONFIG_RFKILL_RK=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_RKNAND=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_MISC_DEVICES=y
CONFIG_UID_STAT=y
CONFIG_APANIC=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
CONFIG_DM_UEVENT=y
CONFIG_NETDEVICES=y
CONFIG_PHYLIB=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
CONFIG_WLAN_80211=y
CONFIG_RTL8188EU=y
CONFIG_USB_USBNET=y
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_MPPE=y
CONFIG_PPPOLAC=y
CONFIG_PPPOPNS=y
# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_KEYRESET=y
# CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_GTCO=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_WACOM=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_GSLX680_RK3028=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_KEYCHORD=y
CONFIG_INPUT_UINPUT=y
CONFIG_GS_MMA7660=y
CONFIG_GS_MMA8452=y
CONFIG_GS_LIS3DH=y
CONFIG_SENSOR_DEVICE=y
CONFIG_GSENSOR_DEVICE=y
CONFIG_GS_KXTIK=y
CONFIG_GS_MXC6225=y
CONFIG_GS_LSM303D=y
# CONFIG_SERIO is not set
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_RK29=y
CONFIG_UART0_RK29=y
CONFIG_UART0_CTS_RTS_RK29=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
CONFIG_I2C0_CONTROLLER_RK30=y
CONFIG_I2C1_CONTROLLER_RK30=y
CONFIG_I2C2_CONTROLLER_RK30=y
CONFIG_I2C3_CONTROLLER_RK30=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_WM831X=y
CONFIG_EXPANDED_GPIO_NUM=0
CONFIG_EXPANDED_GPIO_IRQ_NUM=0
CONFIG_SPI_FPGA_GPIO_NUM=0
CONFIG_SPI_FPGA_GPIO_IRQ_NUM=0
CONFIG_POWER_SUPPLY=y
CONFIG_TEST_POWER=y
# CONFIG_HWMON is not set
CONFIG_MFD_TPS65910=y
CONFIG_MFD_WM831X_I2C=y
CONFIG_MFD_TPS65090=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_TPS65910=y
CONFIG_REGULATOR_WM831X=y
CONFIG_REGULATOR_ACT8846=y
CONFIG_RK30_PWM_REGULATOR=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_DEV=y
CONFIG_SOC_CAMERA=y
# CONFIG_SOC_CAMERA_OV3640 is not set
# CONFIG_SOC_CAMERA_OV5642 is not set
# CONFIG_SOC_CAMERA_OV5640 is not set
CONFIG_SOC_CAMERA_GC0308=y
CONFIG_SOC_CAMERA_GC2035=y
CONFIG_VIDEO_RK29=y
CONFIG_VIDEO_RK29_CAMMEM_ION=y
CONFIG_ION=y
CONFIG_ION_ROCKCHIP=y
CONFIG_FB=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_DISPLAY_SUPPORT=y
CONFIG_FB_ROCKCHIP=y
CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL=y
CONFIG_LCDC_RK3188=y
CONFIG_LCDC0_RK3188=y
CONFIG_LCD_RK3028_86V=y
CONFIG_RK_TRSM=y
CONFIG_RGA_RK30=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_DRIVERS is not set
# CONFIG_SND_ARM is not set
CONFIG_SND_SOC=y
CONFIG_SND_RK29_SOC=y
CONFIG_SND_I2SO_USE_DOUBLE_CHANNELS=y
CONFIG_SND_I2S_DMA_EVENT_STATIC=y
CONFIG_SND_RK_SOC_RK3026=y
CONFIG_SND_RK29_CODEC_SOC_SLAVE=y
CONFIG_UHID=y
CONFIG_HID_A4TECH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
CONFIG_HID_ELECOM=y
CONFIG_HID_EZKEY=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
CONFIG_HID_GYRATION=y
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LOGITECH=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWII_FF=y
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
CONFIG_HID_NTRIG=y
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_QUANTA=y
CONFIG_HID_ROCCAT_ARVO=y
CONFIG_HID_ROCCAT_KONE=y
CONFIG_HID_ROCCAT_KONEPLUS=y
CONFIG_HID_ROCCAT_KOVAPLUS=y
CONFIG_HID_ROCCAT_PYRA=y
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TOPSEED=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_WACOM=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_STORAGE=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_GADGET=y
CONFIG_USB20_HOST=y
CONFIG_USB20_OTG=y
CONFIG_DWC_OTG_BOTH_HOST_SLAVE=y
CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
CONFIG_MMC_EMBEDDED_SDIO=y
CONFIG_MMC_PARANOID_SD_INIT=y
CONFIG_MMC_BLOCK_MINORS=12
CONFIG_SDMMC_RK29=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_SWITCH=y
CONFIG_SWITCH_GPIO=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_WM831X=y
CONFIG_TPS65910_RTC=y
CONFIG_STAGING=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_LOGGER=y
CONFIG_ANDROID_TIMED_GPIO=y
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
# CONFIG_CMMB is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_FS_XATTR is not set
# CONFIG_DNOTIFY is not set
CONFIG_FUSE_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_EFI_PARTITION=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_PRINTK_TIME=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_SCHEDSTATS=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
CONFIG_ENABLE_DEFAULT_TRACERS=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_TWOFISH=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set

View File

@@ -8,6 +8,9 @@ config MACH_RK3026_FPGA
config MACH_RK3026_TB
bool "RK3026 Top Board"
config MACH_RK3026_86V
bool "RK3026 86V Board"
config MACH_RK3028A_TB
bool "RK3028A Top Board"

View File

@@ -21,5 +21,6 @@ obj-y += board.o
board-$(CONFIG_MACH_RK3026_FPGA) += board-rk3026-fpga.o
board-$(CONFIG_MACH_RK3026_TB) += board-rk3026-tb.o
board-$(CONFIG_MACH_RK3026_86V) += board-rk3026-86v.o
board-$(CONFIG_MACH_RK3028A_TB) += board-rk3028a-tb.o
board-$(CONFIG_MACH_RK3028A_86V) += board-rk3028a-86v.o

View File

@@ -0,0 +1,627 @@
#ifdef CONFIG_VIDEO_RK29
#include <plat/rk_camera.h>
/* Notes:
Simple camera device registration:
new_camera_device(sensor_name,\ // sensor name, it is equal to CONFIG_SENSOR_X
face,\ // sensor face information, it can be back or front
pwdn_io,\ // power down gpio configuration, it is equal to CONFIG_SENSOR_POWERDN_PIN_XX
flash_attach,\ // sensor is attach flash or not
mir,\ // sensor image mirror and flip control information
i2c_chl,\ // i2c channel which the sensor attached in hardware, it is equal to CONFIG_SENSOR_IIC_ADAPTER_ID_X
cif_chl) \ // cif channel which the sensor attached in hardware, it is equal to CONFIG_SENSOR_CIF_INDEX_X
Comprehensive camera device registration:
new_camera_device_ex(sensor_name,\
face,\
ori,\ // sensor orientation, it is equal to CONFIG_SENSOR_ORIENTATION_X
pwr_io,\ // sensor power gpio configuration, it is equal to CONFIG_SENSOR_POWER_PIN_XX
pwr_active,\ // sensor power active level, is equal to CONFIG_SENSOR_RESETACTIVE_LEVEL_X
rst_io,\ // sensor reset gpio configuration, it is equal to CONFIG_SENSOR_RESET_PIN_XX
rst_active,\ // sensor reset active level, is equal to CONFIG_SENSOR_RESETACTIVE_LEVEL_X
pwdn_io,\
pwdn_active,\ // sensor power down active level, is equal to CONFIG_SENSOR_POWERDNACTIVE_LEVEL_X
flash_attach,\
res,\ // sensor resolution, this is real resolution or resoltuion after interpolate
mir,\
i2c_chl,\
i2c_spd,\ // i2c speed , 100000 = 100KHz
i2c_addr,\ // the i2c slave device address for sensor
cif_chl,\
mclk)\ // sensor input clock rate, 24 or 48
*/
static struct rkcamera_platform_data new_camera[] = {
new_camera_device(RK29_CAM_SENSOR_GC2035,
back,
RK30_PIN3_PB3,
0,
0,
1,
0),
new_camera_device(RK29_CAM_SENSOR_GC0308,
front,
RK30_PIN3_PD7,
0,
0,
1,
0),
new_camera_device_end
};
/*---------------- Camera Sensor Macro Define Begin ------------------------*/
/*---------------- Camera Sensor Configuration Macro Begin ------------------------*/
#define CONFIG_SENSOR_0 RK29_CAM_SENSOR_GC2035 /* back camera sensor */
#define CONFIG_SENSOR_IIC_ADDR_0 0x00
#define CONFIG_SENSOR_IIC_ADAPTER_ID_0 1
#define CONFIG_SENSOR_CIF_INDEX_0 0
#define CONFIG_SENSOR_ORIENTATION_0 90
#define CONFIG_SENSOR_POWER_PIN_0 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_0 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_0 RK30_PIN3_PB3
#define CONFIG_SENSOR_FALSH_PIN_0 INVALID_GPIO
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_0 RK29_CAM_POWERACTIVE_L
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_0 RK29_CAM_RESETACTIVE_L
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_0 RK29_CAM_POWERDNACTIVE_H
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_0 RK29_CAM_FLASHACTIVE_H
#define CONFIG_SENSOR_QCIF_FPS_FIXED_0 15000
#define CONFIG_SENSOR_240X160_FPS_FIXED_0 15000
#define CONFIG_SENSOR_QVGA_FPS_FIXED_0 15000
#define CONFIG_SENSOR_CIF_FPS_FIXED_0 15000
#define CONFIG_SENSOR_VGA_FPS_FIXED_0 15000
#define CONFIG_SENSOR_480P_FPS_FIXED_0 15000
#define CONFIG_SENSOR_SVGA_FPS_FIXED_0 15000
#define CONFIG_SENSOR_720P_FPS_FIXED_0 30000
#define CONFIG_SENSOR_01 RK29_CAM_SENSOR_OV5642 /* back camera sensor 1 */
#define CONFIG_SENSOR_IIC_ADDR_01 0x00
#define CONFIG_SENSOR_CIF_INDEX_01 0
#define CONFIG_SENSOR_IIC_ADAPTER_ID_01 4
#define CONFIG_SENSOR_ORIENTATION_01 90
#define CONFIG_SENSOR_POWER_PIN_01 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_01 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_01 RK2928_PIN3_PB3
#define CONFIG_SENSOR_FALSH_PIN_01 INVALID_GPIO
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_01 RK29_CAM_POWERACTIVE_L
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_01 RK29_CAM_RESETACTIVE_L
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_01 RK29_CAM_POWERDNACTIVE_H
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_01 RK29_CAM_FLASHACTIVE_L
#define CONFIG_SENSOR_QCIF_FPS_FIXED_01 15000
#define CONFIG_SENSOR_240X160_FPS_FIXED_01 15000
#define CONFIG_SENSOR_QVGA_FPS_FIXED_01 15000
#define CONFIG_SENSOR_CIF_FPS_FIXED_01 15000
#define CONFIG_SENSOR_VGA_FPS_FIXED_01 15000
#define CONFIG_SENSOR_480P_FPS_FIXED_01 15000
#define CONFIG_SENSOR_SVGA_FPS_FIXED_01 15000
#define CONFIG_SENSOR_720P_FPS_FIXED_01 30000
#define CONFIG_SENSOR_02 RK29_CAM_SENSOR_OV5640 /* back camera sensor 2 */
#define CONFIG_SENSOR_IIC_ADDR_02 0x00
#define CONFIG_SENSOR_CIF_INDEX_02 0
#define CONFIG_SENSOR_IIC_ADAPTER_ID_02 4
#define CONFIG_SENSOR_ORIENTATION_02 90
#define CONFIG_SENSOR_POWER_PIN_02 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_02 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_02 RK2928_PIN3_PB3
#define CONFIG_SENSOR_FALSH_PIN_02 INVALID_GPIO
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_02 RK29_CAM_POWERACTIVE_L
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_02 RK29_CAM_RESETACTIVE_L
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_02 RK29_CAM_POWERDNACTIVE_H
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_02 RK29_CAM_FLASHACTIVE_L
#define CONFIG_SENSOR_QCIF_FPS_FIXED_02 15000
#define CONFIG_SENSOR_240X160_FPS_FIXED_02 15000
#define CONFIG_SENSOR_QVGA_FPS_FIXED_02 15000
#define CONFIG_SENSOR_CIF_FPS_FIXED_02 15000
#define CONFIG_SENSOR_VGA_FPS_FIXED_02 15000
#define CONFIG_SENSOR_480P_FPS_FIXED_02 15000
#define CONFIG_SENSOR_SVGA_FPS_FIXED_02 15000
#define CONFIG_SENSOR_720P_FPS_FIXED_02 30000
#define CONFIG_SENSOR_1 RK29_CAM_SENSOR_GC0308 /* front camera sensor 0 */
#define CONFIG_SENSOR_IIC_ADDR_1 0x00
#define CONFIG_SENSOR_IIC_ADAPTER_ID_1 1
#define CONFIG_SENSOR_CIF_INDEX_1 0
#define CONFIG_SENSOR_ORIENTATION_1 270
#define CONFIG_SENSOR_POWER_PIN_1 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_1 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_1 RK30_PIN3_PD7
#define CONFIG_SENSOR_FALSH_PIN_1 INVALID_GPIO
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_1 RK29_CAM_POWERACTIVE_L
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_1 RK29_CAM_RESETACTIVE_L
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_1 RK29_CAM_POWERDNACTIVE_H
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_1 RK29_CAM_FLASHACTIVE_L
#define CONFIG_SENSOR_QCIF_FPS_FIXED_1 15000
#define CONFIG_SENSOR_240X160_FPS_FIXED_1 15000
#define CONFIG_SENSOR_QVGA_FPS_FIXED_1 15000
#define CONFIG_SENSOR_CIF_FPS_FIXED_1 15000
#define CONFIG_SENSOR_VGA_FPS_FIXED_1 15000
#define CONFIG_SENSOR_480P_FPS_FIXED_1 15000
#define CONFIG_SENSOR_SVGA_FPS_FIXED_1 15000
#define CONFIG_SENSOR_720P_FPS_FIXED_1 30000
#define CONFIG_SENSOR_11 RK29_CAM_SENSOR_OV2659 /* front camera sensor 1 */
#define CONFIG_SENSOR_IIC_ADDR_11 0x00
#define CONFIG_SENSOR_IIC_ADAPTER_ID_11 3
#define CONFIG_SENSOR_CIF_INDEX_11 0
#define CONFIG_SENSOR_ORIENTATION_11 270
#define CONFIG_SENSOR_POWER_PIN_11 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_11 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_11 INVALID_GPIO
#define CONFIG_SENSOR_FALSH_PIN_11 INVALID_GPIO
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_11 RK29_CAM_POWERACTIVE_L
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_11 RK29_CAM_RESETACTIVE_L
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_11 RK29_CAM_POWERDNACTIVE_H
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_11 RK29_CAM_FLASHACTIVE_L
#define CONFIG_SENSOR_QCIF_FPS_FIXED_11 15000
#define CONFIG_SENSOR_240X160_FPS_FIXED_11 15000
#define CONFIG_SENSOR_QVGA_FPS_FIXED_11 15000
#define CONFIG_SENSOR_CIF_FPS_FIXED_11 15000
#define CONFIG_SENSOR_VGA_FPS_FIXED_11 15000
#define CONFIG_SENSOR_480P_FPS_FIXED_11 15000
#define CONFIG_SENSOR_SVGA_FPS_FIXED_11 15000
#define CONFIG_SENSOR_720P_FPS_FIXED_11 30000
#define CONFIG_SENSOR_12 RK29_CAM_SENSOR_OV2659//RK29_CAM_SENSOR_OV2655 /* front camera sensor 2 */
#define CONFIG_SENSOR_IIC_ADDR_12 0x00
#define CONFIG_SENSOR_IIC_ADAPTER_ID_12 3
#define CONFIG_SENSOR_CIF_INDEX_12 0
#define CONFIG_SENSOR_ORIENTATION_12 270
#define CONFIG_SENSOR_POWER_PIN_12 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_12 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_12 INVALID_GPIO
#define CONFIG_SENSOR_FALSH_PIN_12 INVALID_GPIO
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_12 RK29_CAM_POWERACTIVE_L
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_12 RK29_CAM_RESETACTIVE_L
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_12 RK29_CAM_POWERDNACTIVE_H
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_12 RK29_CAM_FLASHACTIVE_L
#define CONFIG_SENSOR_QCIF_FPS_FIXED_12 15000
#define CONFIG_SENSOR_240X160_FPS_FIXED_12 15000
#define CONFIG_SENSOR_QVGA_FPS_FIXED_12 15000
#define CONFIG_SENSOR_CIF_FPS_FIXED_12 15000
#define CONFIG_SENSOR_VGA_FPS_FIXED_12 15000
#define CONFIG_SENSOR_480P_FPS_FIXED_12 15000
#define CONFIG_SENSOR_SVGA_FPS_FIXED_12 15000
#define CONFIG_SENSOR_720P_FPS_FIXED_12 30000
#endif //#ifdef CONFIG_VIDEO_RK29
/*---------------- Camera Sensor Configuration Macro End------------------------*/
#include "../../../drivers/media/video/rk2928_camera.c"
/*---------------- Camera Sensor Macro Define End ---------*/
#define PMEM_CAM_SIZE PMEM_CAM_NECESSARY
/*****************************************************************************************
* camera devices
* author: ddl@rock-chips.com
*****************************************************************************************/
#ifdef CONFIG_VIDEO_RK29
#if 0
#define CONFIG_SENSOR_POWER_IOCTL_USR 0 //define this refer to your board layout
#define CONFIG_SENSOR_RESET_IOCTL_USR 0
#define CONFIG_SENSOR_POWERDOWN_IOCTL_USR 0
#define CONFIG_SENSOR_FLASH_IOCTL_USR 0
#else
#define CAMERA_NAME "gc0308_front_4"
#define CONFIG_SENSOR_POWER_IOCTL_USR 1 //define this refer to your board layout
#define CONFIG_SENSOR_RESET_IOCTL_USR 0
#define CONFIG_SENSOR_POWERDOWN_IOCTL_USR 1
#define CONFIG_SENSOR_FLASH_IOCTL_USR 0
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_PMU 1
#endif
static void rk_cif_power(int on)
{
struct regulator *ldo_18,*ldo_28;
#if 0
ldo_28 = regulator_get(NULL, "ldo7"); // vcc28_cif
ldo_18 = regulator_get(NULL, "ldo1"); // vcc18_cif
#else
ldo_28 = regulator_get(NULL, "vaux1"); // vcc28_cif
ldo_18 = regulator_get(NULL, "vdig1"); // vcc18_cif
#endif
if (ldo_28 == NULL || IS_ERR(ldo_28) || ldo_18 == NULL || IS_ERR(ldo_18)){
printk("get cif ldo failed!\n");
return;
}
if(on == 0){
regulator_disable(ldo_28);
regulator_put(ldo_28);
regulator_disable(ldo_18);
regulator_put(ldo_18);
mdelay(500);
}
else{
regulator_set_voltage(ldo_28, 2800000, 2800000);
regulator_enable(ldo_28);
// printk("%s set ldo7 vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
regulator_put(ldo_28);
regulator_set_voltage(ldo_18, 1800000, 1800000);
// regulator_set_suspend_voltage(ldo, 1800000);
regulator_enable(ldo_18);
// printk("%s set ldo1 vcc18_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_18));
regulator_put(ldo_18);
}
}
#if CONFIG_SENSOR_POWER_IOCTL_USR
static int sensor_power_usr_cb (struct rk29camera_gpio_res *res,int on)
{
//#error "CONFIG_SENSOR_POWER_IOCTL_USR is 1, sensor_power_usr_cb function must be writed!!";
struct regulator *ldo_18,*ldo_28;
#if 0
ldo_28 = regulator_get(NULL, "ldo7"); // vcc28_cif
ldo_18 = regulator_get(NULL, "ldo1"); // vcc18_cif
#else
ldo_28 = regulator_get(NULL, "vaux1"); // vcc28_cif
ldo_18 = regulator_get(NULL, "vdig1"); // vcc18_cif
#endif
if (ldo_28 == NULL || IS_ERR(ldo_28) || ldo_18 == NULL || IS_ERR(ldo_18)){
printk("get cif ldo failed!\n");
return -1;
}
if(on == 0){
while(regulator_is_enabled(ldo_28)>0)
regulator_disable(ldo_28);
regulator_put(ldo_28);
while(regulator_is_enabled(ldo_18)>0)
regulator_disable(ldo_18);
regulator_put(ldo_18);
mdelay(10);
} else {
regulator_set_voltage(ldo_28, 2800000, 2800000);
regulator_enable(ldo_28);
//printk("%s set ldo7 vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
regulator_put(ldo_28);
regulator_set_voltage(ldo_18, 1800000, 1800000);
//regulator_set_suspend_voltage(ldo, 1800000);
regulator_enable(ldo_18);
//printk("%s set ldo1 vcc18_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_18));
regulator_put(ldo_18);
}
return 0;
}
#endif
#if CONFIG_SENSOR_RESET_IOCTL_USR
static int sensor_reset_usr_cb (struct rk29camera_gpio_res *res,int on)
{
#error "CONFIG_SENSOR_RESET_IOCTL_USR is 1, sensor_reset_usr_cb function must be writed!!";
}
#endif
#if CONFIG_SENSOR_POWERDOWN_IOCTL_USR
static void rk_cif_powerdowen(int on)
{
struct regulator *ldo_28;
ldo_28 = regulator_get(NULL, "vpll"); // vcc28_cif
if (ldo_28 == NULL || IS_ERR(ldo_28) ){
printk("get cif vpll ldo failed!\n");
return;
}
// if((res->gpio_flag & RK29_CAM_POWERDNACTIVE_MASK) == RK29_CAM_POWERDNACTIVE_H) {
if( CONFIG_SENSOR_POWERDNACTIVE_LEVEL_PMU ) {
printk("hjc:%s[%d],on=%d\n",__func__,__LINE__,on);
if(on == 0){//enable camera
regulator_set_voltage(ldo_28, 2500000, 2500000);
regulator_enable(ldo_28);
printk(" %s set vpll vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
regulator_put(ldo_28);
}else{//disable camera
if(regulator_is_enabled(ldo_28)>0){
printk("%s[%d]\n",__func__,__LINE__);
int a = regulator_disable(ldo_28);
}
// return;
regulator_put(ldo_28);
mdelay(500);
}
}else{
printk("hjc:%s[%d],on=%d\n",__func__,__LINE__,on);
if(on == 1){//enable camera
regulator_set_voltage(ldo_28, 2500000, 2500000);
regulator_enable(ldo_28);
printk(" %s set vpll vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
regulator_put(ldo_28);
}else{//disable camera
if(regulator_is_enabled(ldo_28)>0){
regulator_disable(ldo_28);
}
regulator_put(ldo_28);
mdelay(500);
}
}
}
static int sensor_powerdown_usr_cb (struct rk29camera_gpio_res *res,int on)
{
int camera_powerdown = res->gpio_powerdown;
#if 1 //defined(CONFIG_MACH_RK2926_V86)
int ret = 0;
printk("hjc:%s,%s\n\n\n",__func__,res->dev_name);
if(strcmp(res->dev_name,CAMERA_NAME)==0)//"gc0308_front_3") == 0)
{
//<2F><><EFBFBD><EFBFBD>Ϊpmu<6D><75><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ţ<EFBFBD>"ov5642_front_1" <20><><EFBFBD><EFBFBD> sensor<6F><72><EFBFBD><EFBFBD> <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> <20><> sensor<6F><72><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>
//<2F><><EFBFBD><EFBFBD>pmu<6D><75><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲο<C9B2><CEBF>ļ<EFBFBD>ĩβ<C4A9>IJο<C4B2><CEBF><EFBFBD><EFBFBD><EFBFBD>
printk("%s.............pwm power\n",__FUNCTION__);
rk_cif_powerdowen(on);
}else{ //gpio<69><6F><EFBFBD>ƵIJ<C6B5><C4B2><EFBFBD>
// int camera_powerdown = res->gpio_powerdown;
int camera_ioflag = res->gpio_flag;
int camera_io_init = res->gpio_init; // int ret = 0;
if (camera_powerdown != INVALID_GPIO) {
if (camera_io_init & RK29_CAM_POWERDNACTIVE_MASK) {
if (on) {
gpio_set_value(camera_powerdown, ((camera_ioflag&RK29_CAM_POWERDNACTIVE_MASK)>>RK29_CAM_POWERDNACTIVE_BITPOS));
printk("%s..%s..PowerDownPin=%d ..PinLevel = %x \n",__FUNCTION__,res->dev_name,camera_powerdown, ((camera_ioflag&RK29_CAM_POWERDNACTIVE_MASK)>>RK29_CAM_POWERDNACTIVE_BITPOS));
} else {
gpio_set_value(camera_powerdown,(((~camera_ioflag)&RK29_CAM_POWERDNACTIVE_MASK)>>RK29_CAM_POWERDNACTIVE_BITPOS));
printk("%s..%s..PowerDownPin= %d..PinLevel = %x \n",__FUNCTION__,res->dev_name, camera_powerdown, (((~camera_ioflag)&RK29_CAM_POWERDNACTIVE_MASK)>>RK29_CAM_POWERDNACTIVE_BITPOS));
}
} else { ret = RK29_CAM_EIO_REQUESTFAIL;
printk("%s..%s..PowerDownPin=%d request failed!\n",__FUNCTION__,res->dev_name,camera_powerdown); }
} else {
ret = RK29_CAM_EIO_INVALID;
}
}
return ret;
#else
#error "CONFIG_SENSOR_POWERDOWN_IOCTL_USR is 1, sensor_powerdown_usr_cb function must be writed!!";
#endif
}
#endif
#if CONFIG_SENSOR_FLASH_IOCTL_USR
static int sensor_flash_usr_cb (struct rk29camera_gpio_res *res,int on)
{
#error "CONFIG_SENSOR_FLASH_IOCTL_USR is 1, sensor_flash_usr_cb function must be writed!!";
}
#endif
static struct rk29camera_platform_ioctl_cb sensor_ioctl_cb = {
#if CONFIG_SENSOR_POWER_IOCTL_USR
.sensor_power_cb = sensor_power_usr_cb,
#else
.sensor_power_cb = NULL,
#endif
#if CONFIG_SENSOR_RESET_IOCTL_USR
.sensor_reset_cb = sensor_reset_usr_cb,
#else
.sensor_reset_cb = NULL,
#endif
#if CONFIG_SENSOR_POWERDOWN_IOCTL_USR
.sensor_powerdown_cb = sensor_powerdown_usr_cb,
#else
.sensor_powerdown_cb = NULL,
#endif
#if CONFIG_SENSOR_FLASH_IOCTL_USR
.sensor_flash_cb = sensor_flash_usr_cb,
#else
.sensor_flash_cb = NULL,
#endif
};
#if CONFIG_SENSOR_IIC_ADDR_0
static struct reginfo_t rk_init_data_sensor_reg_0[] =
{
{0x0000, 0x00,0,0}
};
static struct reginfo_t rk_init_data_sensor_winseqreg_0[] ={
{0x0000, 0x00,0,0}
};
#endif
#if CONFIG_SENSOR_IIC_ADDR_1
static struct reginfo_t rk_init_data_sensor_reg_1[] =
{
{0x0000, 0x00,0,0}
};
static struct reginfo_t rk_init_data_sensor_winseqreg_1[] =
{
{0x0000, 0x00,0,0}
};
#endif
#if CONFIG_SENSOR_IIC_ADDR_01
static struct reginfo_t rk_init_data_sensor_reg_01[] =
{
{0x0000, 0x00,0,0}
};
static struct reginfo_t rk_init_data_sensor_winseqreg_01[] =
{
{0x0000, 0x00,0,0}
};
#endif
#if CONFIG_SENSOR_IIC_ADDR_02
static struct reginfo_t rk_init_data_sensor_reg_02[] =
{
{0x0000, 0x00,0,0}
};
static struct reginfo_t rk_init_data_sensor_winseqreg_02[] =
{
{0x0000, 0x00,0,0}
};
#endif
#if CONFIG_SENSOR_IIC_ADDR_11
static struct reginfo_t rk_init_data_sensor_reg_11[] =
{
{0x0000, 0x00,0,0}
};
static struct reginfo_t rk_init_data_sensor_winseqreg_11[] =
{
{0x0000, 0x00,0,0}
};
#endif
#if CONFIG_SENSOR_IIC_ADDR_12
static struct reginfo_t rk_init_data_sensor_reg_12[] =
{
{0x0000, 0x00,0,0}
};
static struct reginfo_t rk_init_data_sensor_winseqreg_12[] =
{
{0x0000, 0x00,0,0}
};
#endif
static rk_sensor_user_init_data_s rk_init_data_sensor[RK_CAM_NUM] =
{
#if CONFIG_SENSOR_IIC_ADDR_0
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = rk_init_data_sensor_reg_0,
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_0,
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_0) / sizeof(struct reginfo_t),
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_0) / sizeof(struct reginfo_t),
},
#else
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = NULL,
.rk_sensor_init_winseq = NULL,
.rk_sensor_winseq_size = 0,
.rk_sensor_init_data_size = 0,
},
#endif
#if CONFIG_SENSOR_IIC_ADDR_1
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = rk_init_data_sensor_reg_1,
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_1,
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_1) / sizeof(struct reginfo_t),
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_1) / sizeof(struct reginfo_t),
},
#else
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = NULL,
.rk_sensor_init_winseq = NULL,
.rk_sensor_winseq_size = 0,
.rk_sensor_init_data_size = 0,
},
#endif
#if CONFIG_SENSOR_IIC_ADDR_01
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = rk_init_data_sensor_reg_01,
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_01,
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_01) / sizeof(struct reginfo_t),
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_01) / sizeof(struct reginfo_t),
},
#else
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = NULL,
.rk_sensor_init_winseq = NULL,
.rk_sensor_winseq_size = 0,
.rk_sensor_init_data_size = 0,
},
#endif
#if CONFIG_SENSOR_IIC_ADDR_02
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = rk_init_data_sensor_reg_02,
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_02,
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_02) / sizeof(struct reginfo_t),
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_02) / sizeof(struct reginfo_t),
},
#else
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = NULL,
.rk_sensor_init_winseq = NULL,
.rk_sensor_winseq_size = 0,
.rk_sensor_init_data_size = 0,
},
#endif
#if CONFIG_SENSOR_IIC_ADDR_11
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = rk_init_data_sensor_reg_11,
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_11,
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_11) / sizeof(struct reginfo_t),
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_11) / sizeof(struct reginfo_t),
},
#else
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = NULL,
.rk_sensor_init_winseq = NULL,
.rk_sensor_winseq_size = 0,
.rk_sensor_init_data_size = 0,
},
#endif
#if CONFIG_SENSOR_IIC_ADDR_12
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = rk_init_data_sensor_reg_12,
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_12,
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_12) / sizeof(struct reginfo_t),
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_12) / sizeof(struct reginfo_t),
},
#else
{
.rk_sensor_init_width = INVALID_VALUE,
.rk_sensor_init_height = INVALID_VALUE,
.rk_sensor_init_bus_param = INVALID_VALUE,
.rk_sensor_init_pixelcode = INVALID_VALUE,
.rk_sensor_init_data = NULL,
.rk_sensor_init_winseq = NULL,
.rk_sensor_winseq_size = 0,
.rk_sensor_init_data_size = 0,
},
#endif
};
#include "../../../drivers/media/video/rk2928_camera.c"
#endif /* CONFIG_VIDEO_RK29 */

View File

@@ -0,0 +1,166 @@
/*****************************************************************************************
* arch/arm/mach-rkxx/baord-xxx-sdmmc-config.c
*
* Copyright (C) 2013 ROCKCHIP, Inc.
*
* Description:
* define the gpio for SD-MMC-SDIO-Wifi functions according to your own projects.
*
* Author: Michael Xie
* 15 Jan,2013
* E-mail: xbw@rock-chips.com
*
******************************************************************************************/
/*
** If you select the macro of CONFIG_SDMMC0_RK29_WRITE_PROTECT, You must define the following values.
** Otherwise, there is no need to define the following values<65><73>
*/
//#define SDMMC0_WRITE_PROTECT_PIN RK30_PIN3_PB2 //According to your own project to set the value of write-protect-pin.
//#define SDMMC0_WRITE_PROTECT_ENABLE_VALUE GPIO_HIGH
/*
** If you select the macro of CONFIG_SDMMC1_RK29_WRITE_PROTECT, You must define the following values.
** Otherwise, there is no need to define the following values<65><73>
*/
//#define SDMMC1_WRITE_PROTECT_PIN RK30_PIN3_PB3 //According to your own project to set the value of write-protect-pin.
//#define SDMMC1_WRITE_PROTECT_ENABLE_VALUE GPIO_HIGH
/*
** If you select the macro of CONFIG_RK29_SDIO_IRQ_FROM_GPIO, You must define the following values.
** Otherwise, there is no need to define the following values<65><73>
*/
//#define RK29SDK_WIFI_SDIO_CARD_INT RK30_PIN3_PD2
/*
* define sdcard PowerEn-pin
*/
#define RK29SDK_SD_CARD_PWR_EN RK30_PIN3_PA1
#define RK29SDK_SD_CARD_PWR_EN_LEVEL GPIO_LOW
int rk31sdk_get_sdmmc0_pin_io_voltage(void)
{
int voltage;
#define RK31SDK_SET_SDMMC0_PIN_VOLTAGE
/**************************************************************************************
** Please tell me how much voltage of your SDMMC0-pin in your project.
**
** <20><><EFBFBD><EFBFBD>: <20>е<EFBFBD><D0B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDMMC0<43><30><EFBFBD>ڵ<EFBFBD>RK<52><4B><EFBFBD>ص<EFBFBD>IO<49><EFBFBD><E9A3AC><EFBFBD><EFBFBD>1.8V, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3.3V,
** <20><><EFBFBD>м<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽת<C6BD><D7AA>.<2E><>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>voltageֵΪ 1.8V(<28><>1800mv)
***************************************************************************************/
voltage = 3300; //default the voltage 3300mv.
return voltage;
}
/*
* define the card-detect-pin.
*/
#define RK29SDK_SD_CARD_DETECT_N RK30_PIN3_PB0 //According to your own project to set the value of card-detect-pin.
#define RK29SDK_SD_CARD_INSERT_LEVEL GPIO_LOW // set the voltage of insert-card. Please pay attention to the default setting.
/*
* Define wifi module's power and reset gpio, and gpio sensitive level.
* Please set the value according to your own project.
*
* Well, you just own engineering module to set the value in the corresponding module branch.
* Otherwise, you do not define this macro, eliminate it.
*
*/
#if defined(CONFIG_RTL8192CU) || defined(CONFIG_RTL8188EU) || defined(CONFIG_RTL8723AU) || defined(CONFIG_MT7601)
//#define CONFIG_USB_WIFI_POWER_CONTROLED_BY_GPIO
#define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN0_PD3
#define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_LOW//GPIO_HIGH
#elif defined(CONFIG_BCM4329) || defined(CONFIG_BCM4319) || defined(CONFIG_RKWIFI) || defined(CONFIG_RTL8189ES)
#define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN3_PD3
#define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_HIGH
#define RK30SDK_WIFI_GPIO_RESET_N RK30_PIN0_PC2 // RK30_PIN2_PA7
#define RK30SDK_WIFI_GPIO_RESET_ENABLE_VALUE GPIO_HIGH
#elif defined(CONFIG_MT5931_MT6622) || defined(CONFIG_MT5931)
#ifdef CONFIG_MACH_RK3168_LR097
#define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN3_PD0
#define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_HIGH
//#define RK30SDK_WIFI_GPIO_RESET_N RK30_PIN3_PD1
//#define RK30SDK_WIFI_GPIO_RESET_ENABLE_VALUE GPIO_HIGH
#else
#define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN0_PA5
#define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_HIGH
#define RK30SDK_WIFI_GPIO_RESET_N RK30_PIN3_PD1
#define RK30SDK_WIFI_GPIO_RESET_ENABLE_VALUE GPIO_HIGH
#endif
#elif defined(CONFIG_MT6620)
#define COMBO_MODULE_MT6620_CDT 0 // to control antsel2,antsel3 and gps_lan foot when using AcSip or Cdtech chip.
//- 1--use Cdtech chip; 0--unuse CDT chip
//power, PMU_EN//hjc test
#define RK30SDK_WIFI_GPIO_POWER_N RK30_PIN0_PB5
#define RK30SDK_WIFI_GPIO_POWER_ENABLE_VALUE GPIO_HIGH
//reset, DAIRST,SYSRST_B
#define RK30SDK_WIFI_GPIO_RESET_N RK30_PIN3_PD0
#define RK30SDK_WIFI_GPIO_RESET_ENABLE_VALUE GPIO_HIGH
//VDDIO
//#define RK30SDK_WIFI_GPIO_VCCIO_WL RK30_PIN0_PD2 //You do not get control of the foot, and you do not need to define the macro
//#define RK30SDK_WIFI_GPIO_VCCIO_WL_ENABLE_VALUE GPIO_HIGH
//WIFI_INT_B
#define RK30SDK_WIFI_GPIO_WIFI_INT_B RK30_PIN3_PD2
#define RK30SDK_WIFI_GPIO_WIFI_INT_B_ENABLE_VALUE GPIO_HIGH
//BGF_INT_B
#define RK30SDK_WIFI_GPIO_BGF_INT_B RK30_PIN0_PA5
#define RK30SDK_WIFI_GPIO_BGF_INT_B_ENABLE_VALUE GPIO_HIGH
//GPS_SYNC
#define RK30SDK_WIFI_GPIO_GPS_SYNC RK30_PIN3_PD1
#define RK30SDK_WIFI_GPIO_GPS_SYNC_ENABLE_VALUE GPIO_HIGH
#if COMBO_MODULE_MT6620_CDT
//ANTSEL2
#define RK30SDK_WIFI_GPIO_ANTSEL2 RK30_PIN4_PD4
#define RK30SDK_WIFI_GPIO_ANTSEL2_ENABLE_VALUE GPIO_LOW //use 6620 in CDT chip, LOW--work; High--no work.
//ANTSEL3
#define RK30SDK_WIFI_GPIO_ANTSEL3 RK30_PIN4_PD3
#define RK30SDK_WIFI_GPIO_ANTSEL3_ENABLE_VALUE GPIO_HIGH //use 6620 in CDT chip, High--work; Low--no work..
//GPS_LAN
#define RK30SDK_WIFI_GPIO_GPS_LAN RK30_PIN4_PD6
#define RK30SDK_WIFI_GPIO_GPS_LAN_ENABLE_VALUE GPIO_HIGH //use 6620 in CDT chip, High--work; Low--no work..
#endif // #if COMBO_MODULE_MT6620_CDT--#endif
#endif
#ifndef RK30SDK_WIFI_GPIO_WIFI_INT_B
#define RK30SDK_WIFI_GPIO_WIFI_INT_B INVALID_GPIO
#define RK30SDK_WIFI_GPIO_WIFI_INT_B_ENABLE_VALUE GPIO_HIGH
#endif
int rk31sdk_get_sdio_wifi_voltage(void)
{
int voltage;
/******************************************************************************
** Please tell me how much wifi-module uses voltage in your project.
******************************************************************************/
#if defined(CONFIG_BCM4329) || defined(CONFIG_BCM4319) || defined(CONFIG_RKWIFI)
voltage = 1800 ; //power 1800mV
#elif defined(CONFIG_MT5931_MT6622)||defined(CONFIG_MT5931)
voltage = 1800 ; //power 1800V
#elif defined(CONFIG_MT6620)
voltage = 1800 ; //power 2800V
#elif defined(CONFIG_RDA5990)||defined(CONFIG_RTL8723AS)
voltage = 3300 ; //power 3300V
#else
//default, sdio use 3.0V
voltage = 3000 ; //power 3000V
#endif
return voltage;
}

File diff suppressed because it is too large Load Diff