mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
F304: add board & tp
This commit is contained in:
444
arch/arm/configs/rk3188m_f304_defconfig
Normal file
444
arch/arm/configs/rk3188m_f304_defconfig
Normal file
@@ -0,0 +1,444 @@
|
||||
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_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_RK3188=y
|
||||
# CONFIG_DDR_TEST is not set
|
||||
CONFIG_RK_CLOCK_PROC=y
|
||||
CONFIG_SOC_RK3188M=y
|
||||
CONFIG_MACH_RK3188M_F304=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_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_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_RKWIFI=y
|
||||
CONFIG_RKWIFI_26M=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_CT36XX=y
|
||||
CONFIG_TOUCHSCREEN_CT36X_PLATFORM_ROCKCHIP=y
|
||||
CONFIG_TOUCHSCREEN_CT36X_CHIP_CT365=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_KEYCHORD=y
|
||||
CONFIG_INPUT_RICOH619_PWRKEY=y
|
||||
CONFIG_INPUT_UINPUT=y
|
||||
CONFIG_GS_MMA8452=y
|
||||
CONFIG_SENSOR_DEVICE=y
|
||||
CONFIG_GSENSOR_DEVICE=y
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_CONSOLE_TRANSLATIONS is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_RK29=y
|
||||
CONFIG_UART0_RK29=y
|
||||
CONFIG_UART0_CTS_RTS_RK29=y
|
||||
CONFIG_UART3_RK29=y
|
||||
CONFIG_UART3_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_I2C4_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_BATTERY_RICOH619=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_MFD_TPS65910=y
|
||||
CONFIG_MFD_RICOH619=y
|
||||
CONFIG_MFD_WM831X_I2C=y
|
||||
CONFIG_MFD_TPS65090=y
|
||||
CONFIG_MFD_RK616=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_TPS65910=y
|
||||
CONFIG_REGULATOR_WM831X=y
|
||||
CONFIG_REGULATOR_RICOH619=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_NT99252=y
|
||||
CONFIG_SOC_CAMERA_NT99340=y
|
||||
CONFIG_VIDEO_RK29=y
|
||||
CONFIG_VIDEO_RK29_CAMMEM_ION=y
|
||||
CONFIG_ION=y
|
||||
CONFIG_ION_ROCKCHIP=y
|
||||
CONFIG_FB=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_LCDC1_RK3188=y
|
||||
CONFIG_LCD_LD089WU1_MIPI=y
|
||||
CONFIG_RK_TRSM=y
|
||||
CONFIG_MIPI_DSI=y
|
||||
CONFIG_RK616_MIPI_DSI=y
|
||||
CONFIG_RK_HDMI=y
|
||||
CONFIG_HDMI_RK616=y
|
||||
CONFIG_RK_HDMI_DEBUG=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_I2S_DMA_EVENT_STATIC=y
|
||||
CONFIG_SND_RK_SOC_HDMI_I2S=y
|
||||
CONFIG_SND_RK_SOC_RK616=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_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_RTC_DRV_RC5T619=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
|
||||
@@ -50,5 +50,8 @@ choice
|
||||
|
||||
config MACH_RK3188M_TB
|
||||
bool "RK3188m Top Board"
|
||||
|
||||
config MACH_RK3188M_F304
|
||||
bool "RK3188m F304 Board"
|
||||
|
||||
endchoice
|
||||
|
||||
@@ -30,3 +30,4 @@ board-$(CONFIG_MACH_RK3188_U30GT2) += board-rk3188-u30gt2.o
|
||||
board-$(CONFIG_MACH_RK3188_JETTAB) += board-rk3188-jettaplus.o
|
||||
board-$(CONFIG_MACH_RK3188_RK618) += board-rk3188-jettaplus.o
|
||||
board-$(CONFIG_MACH_RK3188M_TB) += board-rk3188m-tb.o
|
||||
board-$(CONFIG_MACH_RK3188M_F304) += board-rk3188m-f304.o
|
||||
|
||||
308
arch/arm/mach-rk3188/board-rk3188m-f304-camera.c
Normal file
308
arch/arm/mach-rk3188/board-rk3188m-f304-camera.c
Normal file
@@ -0,0 +1,308 @@
|
||||
#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_NT99340,
|
||||
back,
|
||||
RK30_PIN3_PB5,
|
||||
0,
|
||||
0,
|
||||
3,
|
||||
0),
|
||||
new_camera_device(RK29_CAM_SENSOR_NT99252,
|
||||
front,
|
||||
RK30_PIN3_PB4,
|
||||
0,
|
||||
0,
|
||||
3,
|
||||
0),
|
||||
new_camera_device_end
|
||||
};
|
||||
|
||||
#endif //#ifdef CONFIG_VIDEO_RK29
|
||||
/*---------------- Camera Sensor Configuration Macro End------------------------*/
|
||||
#include "../../../drivers/media/video/rk30_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
|
||||
#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 0
|
||||
#define CONFIG_SENSOR_FLASH_IOCTL_USR 0
|
||||
|
||||
static void rk_cif_power(struct rk29camera_gpio_res *res,int on)
|
||||
{
|
||||
struct regulator *ldo_18,*ldo_28;
|
||||
int camera_power = res->gpio_power;
|
||||
int camera_ioflag = res->gpio_flag;
|
||||
int camera_io_init = res->gpio_init;
|
||||
|
||||
ldo_28 = regulator_get(NULL, "ricoh_ldo4"); // vcc28_cif
|
||||
ldo_18 = regulator_get(NULL, "ricoh_ldo5"); // vcc18_cif
|
||||
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){
|
||||
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);
|
||||
if (camera_power != INVALID_GPIO) {
|
||||
if (camera_io_init & RK29_CAM_POWERACTIVE_MASK) {
|
||||
gpio_set_value(camera_power, (((~camera_ioflag)&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));
|
||||
// dprintk("%s..%s..PowerPin=%d ..PinLevel = %x \n",__FUNCTION__,res->dev_name, camera_power, (((~camera_ioflag)&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
regulator_set_voltage(ldo_28, 2800000, 2800000);
|
||||
regulator_enable(ldo_28);
|
||||
printk("%s set 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 vcc18_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_18));
|
||||
regulator_put(ldo_18);
|
||||
if (camera_power != INVALID_GPIO) {
|
||||
if (camera_io_init & RK29_CAM_POWERACTIVE_MASK) {
|
||||
gpio_set_value(camera_power, ((camera_ioflag&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));
|
||||
//dprintk("%s..%s..PowerPin=%d ..PinLevel = %x \n",__FUNCTION__,res->dev_name, camera_power, ((camera_ioflag&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));
|
||||
mdelay(10);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#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!!";
|
||||
rk_cif_power(res,on);
|
||||
return 0;
|
||||
}
|
||||
#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
|
||||
};
|
||||
|
||||
|
||||
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/rk30_camera.c"
|
||||
|
||||
#endif /* CONFIG_VIDEO_RK29 */
|
||||
2660
arch/arm/mach-rk3188/board-rk3188m-f304.c
Normal file
2660
arch/arm/mach-rk3188/board-rk3188m-f304.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -104,5 +104,5 @@ obj-$(CONFIG_TOUCHSCREEN_GSLX680) += rockchip_gslX680.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_GSLX680_RK3168) += rockchip_gslX680_rk3168.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_GSLX680_RK3028) += rockchip_gslX680_rk3028.o
|
||||
# Make VTL TouchScreen Driver
|
||||
obj-$(CONFIG_TOUCHSCREEN_CT36X) += ct36x_ts/
|
||||
obj-$(CONFIG_TOUCHSCREEN_CT36XX) += ct36x_ts/
|
||||
obj-$(CONFIG_TP_760_TS) += tp_760_ts.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,19 +6,19 @@
|
||||
#include "platform.h"
|
||||
#include "ct365.h"
|
||||
|
||||
|
||||
//static
|
||||
unsigned char binary_data[] = {
|
||||
//#include "CT365Five3020D_V42120523A.dat"
|
||||
//#include "CT365_THSD_40X28_V05_120827_I2C0X01.dat"
|
||||
#include "Five_F304_89_1920_1200_CT363_V06_03C2_130403.dat"
|
||||
|
||||
//#include "blr.txt"
|
||||
};
|
||||
|
||||
/*
|
||||
* Private functions
|
||||
*/
|
||||
#define CT36X_CHIP_FLASH_SECTOR_NUM 256
|
||||
#define CT36X_CHIP_FLASH_SECTOR_SIZE 128
|
||||
#define CT36X_CHIP_FLASH_SOURCE_SIZE 8
|
||||
|
||||
static unsigned char binary_data[] = {
|
||||
//#include "CT365Five3020D_V42120523A.dat"
|
||||
//#include "CT365_THSD_40X28_V05_120827_I2C0X01.dat"
|
||||
};
|
||||
|
||||
|
||||
static void ct36x_chip_set_idle(struct i2c_client *client, unsigned char *buf)
|
||||
{
|
||||
if ( CT36X_TS_CHIP_DEBUG )
|
||||
@@ -386,19 +386,19 @@ int ct36x_chip_go_bootloader(struct i2c_client *client, unsigned char *buf)
|
||||
}
|
||||
|
||||
// trim adc
|
||||
ct36x_chip_read_infoblk(client, buf);
|
||||
ct36x_chip_erase_infoblk(client, buf);
|
||||
ct36x_chip_write_infoblk(client, buf);
|
||||
//ct36x_chip_read_infoblk(client, buf);
|
||||
//ct36x_chip_erase_infoblk(client, buf);
|
||||
//ct36x_chip_write_infoblk(client, buf);
|
||||
|
||||
// Erase flash
|
||||
//ret = ct36x_chip_erase_flash(client, buf);
|
||||
//if ( ret ) {
|
||||
// printk("Erase flash failed.\n");
|
||||
// return -1;
|
||||
//}
|
||||
ret = ct36x_chip_erase_flash(client, buf);
|
||||
if ( ret ) {
|
||||
printk("Erase flash failed.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Write source data
|
||||
//ct36x_chip_write_firmware(client, buf);
|
||||
ct36x_chip_write_firmware(client, buf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -6,8 +6,12 @@
|
||||
/* max touch points supported */
|
||||
#define CT36X_TS_POINT_NUM 10
|
||||
|
||||
#define CT36X_TS_ABS_X_MAX 1280
|
||||
#define CT36X_TS_ABS_Y_MAX 800
|
||||
#define CT36X_TS_ABS_X_MAX 1920
|
||||
#define CT36X_TS_ABS_Y_MAX 1200
|
||||
|
||||
#define CT36X_CHIP_FLASH_SECTOR_NUM 256
|
||||
#define CT36X_CHIP_FLASH_SECTOR_SIZE 128
|
||||
#define CT36X_CHIP_FLASH_SOURCE_SIZE 8
|
||||
|
||||
/* data structure of point event */
|
||||
/* Old Touch Points Protocol
|
||||
@@ -82,6 +86,7 @@ struct ct36x_finger_info {
|
||||
unsigned char pressure; // Touch Pressure
|
||||
};
|
||||
|
||||
extern unsigned char binary_data[];
|
||||
|
||||
int ct36x_chip_get_binchksum(unsigned char *buf);
|
||||
int ct36x_chip_get_fwchksum(struct i2c_client *client, unsigned char *buf);
|
||||
|
||||
@@ -27,8 +27,10 @@ struct i2c_driver ct36x_ts_driver = {
|
||||
.id_table = ct36x_ts_id,
|
||||
.probe = ct36x_ts_probe,
|
||||
.shutdown = ct36x_ts_shutdown,
|
||||
.suspend = ct36x_ts_suspend,
|
||||
.resume = ct36x_ts_resume,
|
||||
#ifdef CONFIG_MACH_RK3188M_F304
|
||||
.suspend = ct36x_suspend,
|
||||
.resume = ct36x_resume,
|
||||
#endif
|
||||
.remove = __devexit_p(ct36x_ts_remove),
|
||||
};
|
||||
|
||||
@@ -117,6 +119,7 @@ int ct36x_platform_get_resource(struct ct36x_ts_info *ct36x_ts)
|
||||
}
|
||||
gpio_direction_input(ct36x_ts->ss);
|
||||
|
||||
printk("%s:rst:%d, ss:%d\n", __func__, ct36x_ts->rst, ct36x_ts->ss);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -128,9 +131,7 @@ void ct36x_platform_put_resource(struct ct36x_ts_info *ct36x_ts)
|
||||
|
||||
void ct36x_platform_hw_reset(struct ct36x_ts_info *ct36x_ts)
|
||||
{
|
||||
mdelay(500);
|
||||
gpio_set_value(ct36x_ts->rst, 0);
|
||||
mdelay(50);
|
||||
mdelay(100);
|
||||
gpio_set_value(ct36x_ts->rst, 1);
|
||||
mdelay(500);
|
||||
}
|
||||
|
||||
@@ -8,8 +8,13 @@
|
||||
#define CT36X_TS_I2C_ADDRESS 0x01
|
||||
#define CT36X_TS_I2C_SPEED 400000
|
||||
|
||||
#ifdef CONFIG_MACH_RK3188M_F304
|
||||
#define CT36X_TS_IRQ_PIN RK30_PIN1_PB7
|
||||
#define CT36X_TS_RST_PIN RK30_PIN0_PB6
|
||||
#else
|
||||
#define CT36X_TS_IRQ_PIN RK30_PIN4_PC2
|
||||
#define CT36X_TS_RST_PIN RK30_PIN4_PD0
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/regulator/consumer.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/gpio.h>
|
||||
|
||||
@@ -362,6 +363,7 @@ int ct36x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||
|
||||
/* Hardware reset */
|
||||
ct36x_platform_hw_reset(ts);
|
||||
mdelay(500);
|
||||
|
||||
// Get binary Checksum
|
||||
binchksum = ct36x_chip_get_binchksum(ts->data.buf);
|
||||
@@ -372,7 +374,7 @@ int ct36x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||
fwchksum = ct36x_chip_get_fwchksum(client, ts->data.buf);
|
||||
if ( CT36X_TS_CORE_DEBUG )
|
||||
printk("Fw checksum: 0x%x\n", fwchksum);
|
||||
|
||||
#if 1
|
||||
updcnt = 5;
|
||||
while ( binchksum != fwchksum && updcnt--) {
|
||||
/* Update Firmware */
|
||||
@@ -380,15 +382,15 @@ int ct36x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||
|
||||
/* Hardware reset */
|
||||
ct36x_platform_hw_reset(ts);
|
||||
|
||||
mdelay(500);
|
||||
// Get firmware Checksum
|
||||
fwchksum = ct36x_chip_get_fwchksum(client, ts->data.buf);
|
||||
if ( CT36X_TS_CORE_DEBUG )
|
||||
// if ( CT36X_TS_CORE_DEBUG )
|
||||
printk("Fw checksum: 0x%x\n", fwchksum);
|
||||
}
|
||||
|
||||
printk("Fw update %s. 0x%x, 0x%x\n", binchksum != fwchksum ? "Failed" : "Success", binchksum, fwchksum);
|
||||
|
||||
#endif
|
||||
/* Hardware reset */
|
||||
ct36x_platform_hw_reset(ts);
|
||||
|
||||
@@ -468,6 +470,22 @@ void ct36x_ts_shutdown(struct i2c_client *client)
|
||||
|
||||
ct36x_chip_go_sleep(client, ts->data.buf);
|
||||
}
|
||||
#ifdef CONFIG_MACH_RK3188M_F304
|
||||
int ct36x_suspend(struct i2c_client *client, pm_message_t mesg)
|
||||
{
|
||||
struct regulator *vcc_tp=NULL;
|
||||
vcc_tp = regulator_get(NULL, "ricoh_ldo3");
|
||||
if (vcc_tp == NULL)
|
||||
printk("%s..get vcc_tp error\n",__func__);
|
||||
else
|
||||
{
|
||||
while(regulator_is_enabled(vcc_tp)>0)
|
||||
regulator_disable(vcc_tp);
|
||||
regulator_put(vcc_tp);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int ct36x_ts_suspend(struct i2c_client *client, pm_message_t mesg)
|
||||
{
|
||||
@@ -490,6 +508,23 @@ int ct36x_ts_suspend(struct i2c_client *client, pm_message_t mesg)
|
||||
|
||||
return 0;
|
||||
}
|
||||
#ifdef CONFIG_MACH_RK3188M_F304
|
||||
int ct36x_resume(struct i2c_client *client)
|
||||
{
|
||||
struct regulator *vcc_tp=NULL;
|
||||
|
||||
vcc_tp = regulator_get(NULL, "ricoh_ldo3");
|
||||
if (vcc_tp == NULL)
|
||||
printk("%s..get vcc_tp error\n",__func__);
|
||||
else
|
||||
{
|
||||
regulator_enable(vcc_tp);
|
||||
regulator_put(vcc_tp);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int ct36x_ts_resume(struct i2c_client *client)
|
||||
{
|
||||
|
||||
@@ -69,6 +69,12 @@ struct ct36x_ts_info {
|
||||
int ct36x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id);
|
||||
void ct36x_ts_shutdown(struct i2c_client *client);
|
||||
int ct36x_ts_suspend(struct i2c_client *client, pm_message_t mesg);
|
||||
#ifdef CONFIG_MACH_RK3188M_F304
|
||||
int ct36x_suspend(struct i2c_client *client, pm_message_t mesg);
|
||||
int ct36x_resume(struct i2c_client *client);
|
||||
#endif
|
||||
|
||||
|
||||
int ct36x_ts_resume(struct i2c_client *client);
|
||||
int __devexit ct36x_ts_remove(struct i2c_client *client);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user