diff --git a/devices/gk7202v300_lite_w7_8m/br-ext-chip-goke/configs/gk7202v300_lite_w7_8m_defconfig b/devices/gk7202v300_lite_w7_8m/br-ext-chip-goke/configs/gk7202v300_lite_w7_8m_defconfig new file mode 100644 index 000000000..d652116ab --- /dev/null +++ b/devices/gk7202v300_lite_w7_8m/br-ext-chip-goke/configs/gk7202v300_lite_w7_8m_defconfig @@ -0,0 +1,69 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_EABI=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_ARM_INSTRUCTIONS_THUMB2=y + +# Toolchain +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/gk7202v300.generic.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y + +# Filesystem +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_ZLIB=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y + +# OpenIPC +BR2_OPENIPC_SOC_VENDOR="goke" +BR2_OPENIPC_SOC_MODEL="gk7202v300" +BR2_OPENIPC_SOC_FAMILY="gk7205v200" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Packages +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_GOKE_OSDRV_GK7205V200=y +BR2_PACKAGE_HISILICON_OPENSDK=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSONFILTER=y +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set +BR2_PACKAGE_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_SSV635X_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/gk7202v300_lite_w7_8m/general/overlay/etc/sensors/gc2053_i2c_dc_1080p.ini b/devices/gk7202v300_lite_w7_8m/general/overlay/etc/sensors/gc2053_i2c_dc_1080p.ini new file mode 100644 index 000000000..44e87baa5 --- /dev/null +++ b/devices/gk7202v300_lite_w7_8m/general/overlay/etc/sensors/gc2053_i2c_dc_1080p.ini @@ -0,0 +1,97 @@ +[sensor] +Sensor_type=stSnsGc2053ForCarObj +Mode=WDR_MODE_NONE +DllFile=libsns_gc2053_forcar.so + +[mode] +input_mode=INPUT_MODE_CMOS +raw_bitness=10 + +[mipi] +lane_id = 0|2|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable + +[isp_image] +Isp_FrameRate=25 +Isp_Bayer=0 + +[vi_dev] +Input_mod=VI_MODE_DIGITAL_CAMERA +Work_mod =0 ;VI_WORK_MODE_1Multiplex = 0 + ;VI_WORK_MODE_2Multiplex, + ;VI_WORK_MODE_4Multiplex +Combine_mode =0 ;Y/C composite or separation mode + ;VI_COMBINE_COMPOSITE = 0 /*Composite mode */ + ;VI_COMBINE_SEPARATE, /*Separate mode */ +Comp_mode =0 ;Component mode (single-component or dual-component) + ;VI_COMP_MODE_SINGLE = 0, /*single component mode */ + ;VI_COMP_MODE_DOUBLE = 1, /*double component mode */ +Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge) + ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */ + ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */ +Mask_num =2 ;Component mask +Mask_0 =0xFF300000 +Mask_1 =0x0 +Scan_mode = 1;VI_SCAN_INTERLACED = 0 + ;VI_SCAN_PROGRESSIVE, +Data_seq = VI_DATA_SEQ_YUYV ;data sequence (ONLY for YUV format) + ;----2th component U/V sequence in bt1120 + ; VI_INPUT_DATA_VUVU = 0, + ; VI_INPUT_DATA_UVUV, + ;----input sequence for yuv + ; VI_INPUT_DATA_UYVY = 0, + ; VI_INPUT_DATA_VYUY, + ; VI_INPUT_DATA_YUYV, + ; VI_INPUT_DATA_YVYU + +Vsync =0 ; vertical synchronization signal + ;VI_VSYNC_FIELD = 0, + ;VI_VSYNC_PULSE, +VsyncNeg=0 ;Polarity of the vertical synchronization signal + ;VI_VSYNC_NEG_HIGH = 0, + ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E +Hsync =0 ;Attribute of the horizontal synchronization signal + ;VI_HSYNC_VALID_SINGNAL = 0, + ;VI_HSYNC_PULSE, +HsyncNeg =0 ;Polarity of the horizontal synchronization signal + ;VI_HSYNC_NEG_HIGH = 0, + ;VI_HSYNC_NEG_LOW +VsyncValid =1 ;Attribute of the valid vertical synchronization signal + ;VI_VSYNC_NORM_PULSE = 0, + ;VI_VSYNC_VALID_SINGAL, +VsyncValidNeg =0;Polarity of the valid vertical synchronization signal + ;VI_VSYNC_VALID_NEG_HIGH = 0, + ;VI_VSYNC_VALID_NEG_LOW +Timingblank_HsyncHfb =0 ;Horizontal front blanking width +Timingblank_HsyncAct =1920 ;Horizontal effetive width +Timingblank_HsyncHbb =0 ;Horizontal back blanking width +Timingblank_VsyncVfb =0 ;Vertical front blanking height +Timingblank_VsyncVact =1080 ;Vertical effetive width +Timingblank_VsyncVbb=0 ;Vertical back blanking height +Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive) +Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive) +Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive) +InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1, +DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1 +DevRect_x=200 +DevRect_y=20 +DevRect_w=1920 +DevRect_h=1080 + +;[vi_chn] +;CapRect_X =0 +;CapRect_Y =0 +;CapRect_Width=1920 +;CapRect_Height=1080 +;DestSize_Width=1920 +;DestSize_Height=1080 +;CapSel =2 ;Frame/field select. ONLY used in interlaced mode + ;VI_CAPSEL_TOP = 0, /* top field */ + ;VI_CAPSEL_BOTTOM, /* bottom field */ + ;VI_CAPSEL_BOTH, /* top and bottom field */ + +;PixFormat =26;PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 26 ...etc +;CompressMode =0 ;COMPRESS_MODE_NONE = 0 + ;COMPRESS_MODE_SEG =1 ...etc + +SrcFrameRate=30 ;Source frame rate. -1: not controll +FrameRate =30 ;Target frame rate. -1: not controll diff --git a/devices/gk7202v300_lite_w7_8m/general/overlay/etc/wireless/usb b/devices/gk7202v300_lite_w7_8m/general/overlay/etc/wireless/usb new file mode 100755 index 000000000..c70159fd8 --- /dev/null +++ b/devices/gk7202v300_lite_w7_8m/general/overlay/etc/wireless/usb @@ -0,0 +1,13 @@ +#!/bin/sh + +set_gpio() { + [ "$2" -eq 1 ] && gpio set $1 || gpio clear $1 + sleep 1 +} + +if [ "$1" = "ssv6x5x-generic" ]; then + modprobe ssv6x5x + exit 0 +fi + +exit 1 diff --git a/devices/gk7202v300_lite_w7_8m/general/overlay/usr/share/openipc/customizer.sh b/devices/gk7202v300_lite_w7_8m/general/overlay/usr/share/openipc/customizer.sh new file mode 100644 index 000000000..a6010a245 --- /dev/null +++ b/devices/gk7202v300_lite_w7_8m/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Perform basic settings on a known IP camera +# +# GK-W7 (product string ipc533331a-W7-gc2053dvp-f8): GK7202V300, 8MB NOR, +# GC2053 wired in DVP/parallel mode with the SID strap HIGH, and an +# iComm/SSV SSV6006C USB Wi-Fi part (USB ID 8065:6000). +# +# Set custom upgrade url +# +fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/gk7202v300_lite_w7_8m-nor.tgz' +# +# Set wlan device and credentials if need +# +fw_setenv wlandev ssv6x5x-generic +#fw_setenv wlanssid Router +#fw_setenv wlanpass 12345678 +# +# DVP SENSOR BRING-UP. +# +# This board routes the GC2053's parallel data, sync, PCLK and i2c to the +# SoC's DVP pads, not its MIPI lanes. open_sys_config picks the pad routing +# from its insmod arguments, and the generic gk7202v300 arguments select the +# MIPI path — which muxes the i2c controller to pads that are not connected +# to anything here, so every address NACKs and no sensor is ever found. +# +# sensor_dvp tells load_goke to take the DVP branch. It is read as an +# opt-in env var rather than keyed off the SoC name, because MIPI-wired +# gk7202v300 boards exist and must keep the current behaviour. +# +fw_setenv sensor_dvp 1 +fw_setenv sensor gc2053 +# +# The shipped gc2053_i2c_1080p.ini declares MIPI input. Pin the DVP variant +# explicitly rather than relying on ini-glob ordering. +# +cli -s .isp.sensorConfig /etc/sensors/gc2053_i2c_dc_1080p.ini +# +# Set majestic settings +# +cli -s .audio.enabled true +cli -s .audio.outputEnabled true + +exit 0 diff --git a/devices/gk7202v300_lite_w7_8m/general/scripts/excludes/gk7202v300_lite.list b/devices/gk7202v300_lite_w7_8m/general/scripts/excludes/gk7202v300_lite.list new file mode 100644 index 000000000..e8551b456 --- /dev/null +++ b/devices/gk7202v300_lite_w7_8m/general/scripts/excludes/gk7202v300_lite.list @@ -0,0 +1,45 @@ +/etc/sensors/4l_sc223a_i2c_1080p.ini +/etc/sensors/60fps/720p_imx307_i2c_2l.ini +/etc/sensors/WDR/5M_imx335.ini +/etc/sensors/WDR/imx335_i2c_4M.ini +/etc/sensors/5M_imx335.ini +/etc/sensors/bt656_720p.ini +/etc/sensors/gc2053_i2c_1080p.ini +/etc/sensors/gc4653_i2c_4M.ini +/etc/sensors/imx307_i2c_2l_1080p.ini +/etc/sensors/imx335_i2c_4M.ini +/etc/sensors/jxf23_i2c_1080p.ini +/etc/sensors/jxf23_i2c_dc_1080p.ini +/etc/sensors/sc200ai_i2c_1080p.ini +/etc/sensors/sc2232h_i2c_1080p.ini +/etc/sensors/sc2239_i2c_1080p.ini +/etc/sensors/sc2335_i2c_1080p.ini +/etc/sensors/smtsec_imx307_i2c_4l_1080p.ini +/etc/sensors/jxh63_i2c_720p.ini +# +/etc/sensors/iq/f23.ini +/etc/sensors/iq/gc2053.ini +/etc/sensors/iq/imx335.ini +/etc/sensors/iq/sc2232.ini +/etc/sensors/iq/sc2335.ini +# +/usr/lib/sensors/libsns_bt656.so +/usr/lib/sensors/libsns_f23.so +/usr/lib/sensors/libsns_f37.so +/usr/lib/sensors/libsns_gc2053.so +/usr/lib/sensors/libsns_gc4653_2l.so +/usr/lib/sensors/libsns_imx307.so +/usr/lib/sensors/libsns_imx307_2l.so +/usr/lib/sensors/libsns_imx335.so +/usr/lib/sensors/libsns_sc200ai.so +/usr/lib/sensors/libsns_sc223a_4l.so +/usr/lib/sensors/libsns_sc2239.so +/usr/lib/sensors/libsns_sc2335.so +/usr/lib/sensors/libsns_sc2232h.so +/usr/lib/sensors/libsns_sc3235.so +/usr/lib/sensors/libsns_sc3335.so +/usr/lib/sensors/libsns_h63.so +# +/lib/modules/4.9.37/kernel/drivers/i2c/*/*.ko +/lib/modules/4.9.37/kernel/drivers/scsi/*.ko +/lib/modules/4.9.37/kernel/fs/f2fs/*.ko